@xcpcio/board-app 0.77.3 → 0.77.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/dist/404.html +1 -1
  2. package/dist/assets/{Balloon.vue_vue_type_script_setup_true_lang-BrIVmGBH.js → Balloon.vue_vue_type_script_setup_true_lang-DwkhVHOo.js} +1 -1
  3. package/dist/assets/{Board-B1SI4YU_.js → Board-jBIQpO-f.js} +1 -1
  4. package/dist/assets/{ContestStateBadge-D40ELGx-.js → ContestStateBadge-ChyGcIV6.js} +1 -1
  5. package/dist/assets/{Countdown-DS8QqWih.js → Countdown-CfsVvtee.js} +1 -1
  6. package/dist/assets/{DataSourceInput.vue_vue_type_script_setup_true_lang-BZVCDEcC.js → DataSourceInput.vue_vue_type_script_setup_true_lang-Ym62EZax.js} +1 -1
  7. package/dist/assets/{NavBar-BrRqoGdf.js → NavBar-3KPCVVQ_.js} +1 -1
  8. package/dist/assets/{Resolver-Ccd3J2Yq.js → Resolver-C9yv-czu.js} +1 -1
  9. package/dist/assets/{RightArrowIcon-BkjKAK0F.js → RightArrowIcon-OXokPEed.js} +1 -1
  10. package/dist/assets/{TheInput.vue_vue_type_script_setup_true_lang-Dyf7zh3B.js → TheInput.vue_vue_type_script_setup_true_lang-DzlQlxOv.js} +1 -1
  11. package/dist/assets/{Tooltip.vue_vue_type_script_setup_true_lang-Bw-mwe7y.js → Tooltip.vue_vue_type_script_setup_true_lang-CTCZbYJQ.js} +1 -1
  12. package/dist/assets/{_...all_-C1D0alvF.js → _...all_-BKlf5hl7.js} +1 -1
  13. package/dist/assets/{_...all_-BHkQCl4y.js → _...all_-BOwf3TNl.js} +1 -1
  14. package/dist/assets/{board-layout-BWANgRyE.js → board-layout-Csmf9ZHp.js} +1 -1
  15. package/dist/assets/{constant-Bc7o3gfP.js → constant-CNabNiQ2.js} +1 -1
  16. package/dist/assets/{dayjs-HlZRMGgl.js → dayjs-C3qcHs_v.js} +1 -1
  17. package/dist/assets/default-C4LZ0hKz.js +1 -0
  18. package/dist/assets/{headless-Bc8-AIhI.js → headless-D_9RvRhu.js} +1 -1
  19. package/dist/assets/{index-D4TbBs0X.js → index-BiAmx8nu.js} +1 -1
  20. package/dist/assets/{index-Cke-KJqB.js → index-C-OQzKep.js} +1 -1
  21. package/dist/assets/{index-zM6rPV7x.js → index-CnbfUhXz.js} +1 -1
  22. package/dist/assets/index-DRNOs1vH.js +1 -0
  23. package/dist/assets/{index-CL2_4Pj6.js → index-DjbFdhzt.js} +2 -2
  24. package/dist/assets/{index-GymJuzPQ.js → index-Du8tLdsd.js} +1 -1
  25. package/dist/assets/index-RYDyyAGS.js +1 -0
  26. package/dist/assets/{index-layout-BZkuQV69.js → index-layout-D6sSD6f0.js} +1 -1
  27. package/dist/assets/{pagination-8Bbdt6Nm.js → pagination-bNZFv_jc.js} +1 -1
  28. package/dist/assets/{person-DjI8PWFh.js → person-9vul6BlT.js} +1 -1
  29. package/dist/assets/{rank-CsIBa0L7.js → rank-CxaV0hYE.js} +1 -1
  30. package/dist/assets/{use-vmodel-D1hmaGXS.js → use-vmodel-DltWLgL4.js} +1 -1
  31. package/dist/index.html +1 -1
  32. package/package.json +3 -3
  33. package/dist/assets/default-Czj-oQ0P.js +0 -1
  34. package/dist/assets/index-CvJM1hrt.js +0 -1
  35. package/dist/assets/index-DZfnMdT3.js +0 -1
@@ -1,3 +1,3 @@
1
- import{e as ho,h as Gn,$ as nu,C as lu,c as At,o as Tt,n as Dt,b as Z,L as Mi,t as Xt,a0 as Ht,S as se,F as Si,E as Ti,d as Ci,I as no,q as lo,v as hu,x as du,m as cu,G as pu,u as yt,a1 as uu}from"./index-CL2_4Pj6.js";const gu={class:"relative bg-white dark:bg-gray-800 sm:p-4","rounded-sm":"","shadow-sm":""},fu={class:"mb-4 border-b rounded-t pb-4 sm:mb-4 dark:border-gray-600",flex:"","items-center":"","justify-between":""},mu={"text-gray-900":"","dark:text-white":"","text-xl":"","font-sans":"","font-semibold":"",italic:""},Uu=ho({__name:"Modal",props:{isHidden:{type:Boolean},title:null,width:null,mt:null},emits:["update:isHidden","onBeforeClose"],setup(O,{emit:A}){const j=O,V=A,$=Gn({get(){return j.isHidden},set(q){V("update:isHidden",q)}});function B(){V("onBeforeClose"),$.value=!0}const{Escape:E}=nu();return lu(E,q=>{q&&B()}),(q,I)=>(Tt(),At("div",{class:Dt(["md:inset-0 w-[100%] h-[100%]",[j.mt??"md:mt-32 sm:mt-16"]]),fixed:"","z-1997":"","of-x-hidden":"",flex:"","justify-center":"","items-start":""},[Z("div",{class:"w-[100%] h-[100%]",fixed:"","left-0":"","top-0":"","z-1998":"",style:{backgroundColor:"rgba(0, 0, 0, 0.5)"},onClick:B}),Z("div",{class:Dt(["relative p-4",[j.width??"w-[78%]"]]),"z-1999":""},[Z("div",gu,[Z("div",fu,[Mi(q.$slots,"header",{},()=>[Z("h3",mu,Xt(j.title),1)]),Z("button",{type:"button",class:"hover:bg-gray-200 hover:text-gray-900 dark:hover:bg-gray-600 dark:hover:text-white","bg-transparent":"","ml-auto":"","p-1.5":"","text-sm":"","text-gray-400":"","items-center":"","inline-flex":"","rounded-lg":"",onClick:B},[...I[0]||(I[0]=[Z("svg",{class:"h-5 w-5",fill:"currentColor",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},[Z("path",{"fill-rule":"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z","clip-rule":"evenodd"})],-1),Z("span",{"sr-only":""}," Close modal ",-1)])])]),Mi(q.$slots,"default")])],2)],2))}}),wt={openOptions(O){O.$refs.input.focus(),O.showMenu=!0,O.mousedownState=!1},blurInput(O){O.mousedownState||(O.searchText="",O.closeOptions()),O.$emit("blur")},closeOptions(O){O.$refs.input.blur(),O.showMenu=!1},prevItem(O){const A=O.pointer-1,j=O.$el.offsetHeight*A;A>=0&&(O.pointer=A),O.$refs.menu.scrollTop=j},nextItem(O){const A=O.pointer+1,j=O.$el.offsetHeight*A;A<=O.filteredOptions.length-1&&(O.pointer=A);const V=O.$refs.menu.offsetHeight,$=Math.ceil((O.$refs.menu.scrollTop+O.$el.offsetHeight)/V),B=Math.ceil(j/V);$!==B&&(O.$refs.menu.scrollTop=(B-1)*O.$refs.menu.offsetHeight)},enterItem(O){const A=O.filteredOptions[O.pointer],j=A.disabled;A&&!j&&O.selectItem(A)},pointerSet(O,A){O.pointer=A},pointerAdjust(O){O.pointer>=O.filteredOptions.length-1&&(O.pointer=O.filteredOptions.length?O.filteredOptions.length-1:0)},mousedownItem(O){O.mousedownState=!0}};function xu(O){return new RegExp(O.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"i")}const Yn={props:{id:{default:null},name:{type:String,default:""},isError:{type:Boolean,default:!1},customAttr:{type:Function,default:()=>""},isDisabled:{type:Boolean,default:!1},placeholder:{type:String,default:""},filterPredicate:{type:Function,default:(O,A)=>O.match(xu(A))}}},jn=(O,A)=>{const j=O.__vccOpts||O;for(const[V,$]of A)j[V]=$;return j},yu={name:"ModelSelect",mixins:[Yn],emits:["blur","searchchange","update:modelValue"],props:{modelValue:{type:[String,Number,Object,Boolean]},customAttr:{type:Function,default:()=>""},options:{type:Array}},data(){return{showMenu:!1,searchText:"",mousedownState:!1,pointer:-1}},watch:{value(O){this.pointer=this.filteredOptions.findIndex(A=>A.value===this.optionValue(O))},filteredOptions(){this.pointerAdjust()},searchText(){this.$emit("searchchange",this.searchText)}},computed:{searchTextCustomAttr(){return this.selectedOption&&this.selectedOption.value?this.customAttr(this.selectedOption):""},inputText(){if(this.searchText)return"";{let O=this.placeholder;return this.selectedOption&&(O=this.selectedOption.text),O}},customAttrs(){try{if(Array.isArray(this.options))return this.options.map(O=>this.customAttr(O))}catch{}return[]},textClass(){return!this.selectedOption&&this.placeholder?"default":""},menuClass(){return{visible:this.showMenu,hidden:!this.showMenu}},menuStyle(){return{display:this.showMenu?"block":"none"}},filteredOptions(){return this.searchText?this.options.filter(O=>{try{return this.filterPredicate(O.text,this.searchText)}catch{return!0}}):this.options},selectedOption(){return this.options.find(O=>O.value===this.optionValue(this.modelValue))}},methods:{deleteTextOrItem(){!this.searchText&&this.modelValue&&(this.selectItem({}),this.openOptions())},openOptions(){wt.openOptions(this)},blurInput(){wt.blurInput(this)},closeOptions(){wt.closeOptions(this)},prevItem(){wt.prevItem(this)},nextItem(){wt.nextItem(this)},enterItem(){wt.enterItem(this)},pointerSet(O){wt.pointerSet(this,O)},pointerAdjust(){wt.pointerAdjust(this)},mousedownItem(){wt.mousedownItem(this)},selectItem(O){this.searchText="",this.closeOptions(),typeof this.modelValue=="object"&&this.modelValue?this.$emit("update:modelValue",O):(this.$emit("update:modelValue",O.value),O.value!==void 0&&O.value===O.text&&(this.searchText=O.value))},optionValue(O){return typeof O=="object"&&O!==null?O.value:O}}},bu=Z("i",{class:"dropdown icon"},null,-1),vu=["disabled","tabindex","id","name","value"],ku=["data-vss-custom-attr"],wu=["data-vss-custom-attr","onClick","onMouseenter"];function Mu(O,A,j,V,$,B){return Tt(),At("div",{class:Dt(["ui fluid search selection dropdown",{"active visible":$.showMenu,error:O.isError,disabled:O.isDisabled}]),onClick:A[11]||(A[11]=(...E)=>B.openOptions&&B.openOptions(...E)),onFocus:A[12]||(A[12]=(...E)=>B.openOptions&&B.openOptions(...E))},[bu,Z("input",{class:"search",autocomplete:"off",disabled:O.isDisabled,tabindex:O.isDisabled?-1:0,id:O.id,name:O.name,value:$.searchText,onInput:A[0]||(A[0]=E=>$.searchText=E.target.value),ref:"input",onFocus:A[1]||(A[1]=se((...E)=>B.openOptions&&B.openOptions(...E),["prevent"])),onKeyup:[A[2]||(A[2]=Ht((...E)=>B.closeOptions&&B.closeOptions(...E),["esc"])),A[7]||(A[7]=Ht(se((...E)=>B.enterItem&&B.enterItem(...E),["prevent"]),["enter"]))],onBlur:A[3]||(A[3]=(...E)=>B.blurInput&&B.blurInput(...E)),onKeydown:[A[4]||(A[4]=Ht((...E)=>B.prevItem&&B.prevItem(...E),["up"])),A[5]||(A[5]=Ht((...E)=>B.nextItem&&B.nextItem(...E),["down"])),A[6]||(A[6]=Ht(se(()=>{},["prevent"]),["enter"])),A[8]||(A[8]=Ht((...E)=>B.deleteTextOrItem&&B.deleteTextOrItem(...E),["delete"]))]},null,40,vu),Z("div",{class:Dt(["text",B.textClass]),"data-vss-custom-attr":B.searchTextCustomAttr},Xt(B.inputText),11,ku),Z("div",{class:Dt(["menu",B.menuClass]),ref:"menu",onMousedown:A[10]||(A[10]=se(()=>{},["prevent"])),style:no(B.menuStyle),tabindex:"-1"},[(Tt(!0),At(Si,null,Ti(B.filteredOptions,(E,q)=>(Tt(),At("div",{key:q,class:Dt(["item",{selected:E.selected||$.pointer===q,disabled:E.disabled}]),"data-vss-custom-attr":B.customAttrs[q]?B.customAttrs[q]:"",onClick:se(I=>B.selectItem(E),["stop"]),onMousedown:A[9]||(A[9]=(...I)=>B.mousedownItem&&B.mousedownItem(...I)),onMouseenter:I=>B.pointerSet(q)},[Mi(O.$slots,"default",{option:E,idx:q},()=>[Ci(Xt(E.text),1)])],42,wu))),128))],38)],34)}const Vu=jn(yu,[["render",Mu]]),Su={name:"MultiSelect",mixins:[Yn],emits:["blur","searchchange","select"],props:{customAttr:{type:Function,default:()=>""},options:{type:Array},selectedOptions:{type:Array},cleanSearch:{type:Boolean,default:!0},hideSelectedOptions:{type:Boolean,default:!1}},data(){return{showMenu:!1,searchText:"",mousedownState:!1,pointer:-1}},watch:{selectedOptions(){this.pointer=-1},filteredOptions(){this.pointerAdjust()},searchText(){this.$emit("searchchange",this.searchText)}},computed:{inputText(){return this.searchText?"":this.placeholder},textClass(){return this.placeholder?"default":""},inputWidth(){return{width:(this.searchText.length+1)*8+20+"px"}},menuClass(){return{visible:this.showMenu,hidden:!this.showMenu}},menuStyle(){return{display:this.showMenu?"block":"none"}},nonSelectOptions(){return this.options.filter(O=>this.selectedOptions.findIndex(A=>A.value===O.value)===-1)},filteredOptions(){return this.searchText?this.nonSelectOptions.filter(O=>{try{return this.cleanSearch?this.filterPredicate(this.accentsTidy(O.text),this.searchText):this.filterPredicate(O.text,this.searchText)}catch{return!0}}):this.nonSelectOptions}},methods:{deleteTextOrLastItem(){!this.searchText&&this.selectedOptions.length>0&&this.deleteItem(this.selectedOptions[this.selectedOptions.length-1])},openOptions(){wt.openOptions(this)},blurInput(){wt.blurInput(this)},closeOptions(){wt.closeOptions(this)},prevItem(){wt.prevItem(this),this.openOptions()},nextItem(){wt.nextItem(this),this.openOptions()},enterItem(){wt.enterItem(this)},pointerSet(O){wt.pointerSet(this,O)},pointerAdjust(){wt.pointerAdjust(this)},mousedownItem(){wt.mousedownItem(this)},selectItem(O){const A=this.selectedOptions.concat(O),j=A.filter((V,$)=>A.indexOf(V)===$);this.closeOptions(),this.searchText="",this.$emit("select",j,O,"insert")},deleteItem(O){const A=this.selectedOptions.filter(j=>j.value!==O.value);this.$emit("select",A,O,"delete")},accentsTidy(O){let A=O.toString().toLowerCase();return A=A.replace(new RegExp("[àáâãäå]","g"),"a"),A=A.replace(new RegExp("æ","g"),"ae"),A=A.replace(new RegExp("ç","g"),"c"),A=A.replace(new RegExp("[èéêë]","g"),"e"),A=A.replace(new RegExp("[ìíîï]","g"),"i"),A=A.replace(new RegExp("ñ","g"),"n"),A=A.replace(new RegExp("[òóôõö]","g"),"o"),A=A.replace(new RegExp("œ","g"),"oe"),A=A.replace(new RegExp("[ùúûü]","g"),"u"),A=A.replace(new RegExp("[ýÿ]","g"),"y"),A}}},Tu=Z("i",{class:"dropdown icon"},null,-1),Cu=["data-vss-custom-attr"],Au=["onClick"],Pu=["disabled","tabindex","id","name"],Ou=["data-vss-custom-attr","onClick","onMouseenter"];function Lu(O,A,j,V,$,B){return Tt(),At("div",{class:Dt(["ui fluid search dropdown selection multiple",{"active visible":$.showMenu,error:O.isError,disabled:O.isDisabled}]),onClick:A[11]||(A[11]=(...E)=>B.openOptions&&B.openOptions(...E)),onFocus:A[12]||(A[12]=(...E)=>B.openOptions&&B.openOptions(...E))},[Tu,j.hideSelectedOptions?lo("",!0):(Tt(!0),At(Si,{key:0},Ti(j.selectedOptions,(E,q)=>(Tt(),At("a",{key:q,class:"ui label transition visible",style:{display:"inline-block !important"},"data-vss-custom-attr":j.customAttr(E)},[Mi(O.$slots,"selected",{option:E,idx:q},()=>[Ci(Xt(E.text),1),Z("i",{class:"delete icon",onClick:I=>B.deleteItem(E)},null,8,Au)])],8,Cu))),128)),hu(Z("input",{class:"search",autocomplete:"off",disabled:O.isDisabled,tabindex:O.isDisabled?-1:0,id:O.id,name:O.name,"onUpdate:modelValue":A[0]||(A[0]=E=>$.searchText=E),ref:"input",style:no(B.inputWidth),onFocus:A[1]||(A[1]=se((...E)=>B.openOptions&&B.openOptions(...E),["prevent"])),onKeyup:[A[2]||(A[2]=Ht((...E)=>B.closeOptions&&B.closeOptions(...E),["esc"])),A[7]||(A[7]=Ht(se((...E)=>B.enterItem&&B.enterItem(...E),["prevent"]),["enter"]))],onBlur:A[3]||(A[3]=(...E)=>B.blurInput&&B.blurInput(...E)),onKeydown:[A[4]||(A[4]=Ht((...E)=>B.prevItem&&B.prevItem(...E),["up"])),A[5]||(A[5]=Ht((...E)=>B.nextItem&&B.nextItem(...E),["down"])),A[6]||(A[6]=Ht(se(()=>{},["prevent"]),["enter"])),A[8]||(A[8]=Ht((...E)=>B.deleteTextOrLastItem&&B.deleteTextOrLastItem(...E),["delete"]))]},null,44,Pu),[[du,$.searchText]]),Z("div",{class:Dt(["text",B.textClass])},Xt(B.inputText),3),Z("div",{class:Dt(["menu",B.menuClass]),ref:"menu",onMousedown:A[10]||(A[10]=se(()=>{},["prevent"])),style:no(B.menuStyle),tabindex:"-1"},[(Tt(!0),At(Si,null,Ti(B.filteredOptions,(E,q)=>(Tt(),At("div",{key:q,class:Dt(["item",{selected:E.selected||$.pointer===q,disabled:E.disabled}]),"data-vss-custom-attr":j.customAttr(E),onClick:se(I=>B.selectItem(E),["stop"]),onMousedown:A[9]||(A[9]=(...I)=>B.mousedownItem&&B.mousedownItem(...I)),onMouseenter:I=>B.pointerSet(q)},[Mi(O.$slots,"default",{option:E,idx:q},()=>[Ci(Xt(E.text),1)])],42,Ou))),128))],38)],34)}const Eu=jn(Su,[["render",Lu]]),qu=ho({__name:"TheMultiSelect",props:{options:null,selectedOptions:null},emits:["select"],setup(O,{emit:A}){const j=A,V=cu(!1);function $(){V.value=!0}function B(){V.value=!1}function E(I){V.value&&I.stopPropagation()}function q(I,tt){j("select",I,tt)}return(I,tt)=>(Tt(),pu(yt(Eu),{class:Dt({"is-composing":yt(V)}),options:O.options,"selected-options":O.selectedOptions,onSelect:q,onCompositionstart:$,onCompositionend:B,onKeydownCapture:Ht(E,["delete"])},null,8,["class","options","selected-options"]))}});var ao={exports:{}},Ps={exports:{}},Iu=Ps.exports,Hn;function Du(){return Hn||(Hn=1,(function(O,A){(function(j,V){j._Highcharts=V(),O.exports=j._Highcharts})("u"<typeof window?Iu:window,()=>(()=>{let j,V,$,B,E,q;var I,tt,Bt,Ai,Pi,be,_e,Oi,De,Ct,_,ct,mt,Be,jt,ne,Os,Ls,Es,Is,Ds,Bs,Ns,zs,Rs,Ws,Xs,Hs,Je={};Je.d=(l,t)=>{for(var e in t)Je.o(t,e)&&!Je.o(l,e)&&Object.defineProperty(l,e,{enumerable:!0,get:t[e]})},Je.o=(l,t)=>Object.prototype.hasOwnProperty.call(l,t);var co={};Je.d(co,{default:()=>au}),(I=_||(_={})).SVG_NS="http://www.w3.org/2000/svg",I.product="Highcharts",I.version="12.5.0",I.win="u">typeof window?window:{},I.doc=I.win.document,I.svg=!!I.doc?.createElementNS?.(I.SVG_NS,"svg")?.createSVGRect,I.pageLang=I.doc?.documentElement?.closest("[lang]")?.lang,I.userAgent=I.win.navigator?.userAgent||"",I.isChrome=I.win.chrome,I.isFirefox=I.userAgent.indexOf("Firefox")!==-1,I.isMS=/(edge|msie|trident)/i.test(I.userAgent)&&!I.win.opera,I.isSafari=!I.isChrome&&I.userAgent.indexOf("Safari")!==-1,I.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(I.userAgent),I.isWebKit=I.userAgent.indexOf("AppleWebKit")!==-1,I.deg2rad=2*Math.PI/360,I.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],I.noop=function(){},I.supportsPassiveEvents=(function(){let l=!1;if(!I.isMS){let t=Object.defineProperty({},"passive",{get:function(){l=!0}});I.win.addEventListener&&I.win.removeEventListener&&(I.win.addEventListener("testPassive",I.noop,t),I.win.removeEventListener("testPassive",I.noop,t))}return l})(),I.charts=[],I.composed=[],I.dateFormats={},I.seriesTypes={},I.symbolSizes={},I.chartCount=0;let L=_,{charts:$n,doc:Li,win:ve}=L;function Qe(l,t,e,i){let s=t?"Highcharts error":"Highcharts warning";l===32&&(l=`${s}: Deprecated member`);let r=Gs(l),o=r?`${s} #${l}: www.highcharts.com/errors/${l}/`:l.toString();if(i!==void 0){let a="";r&&(o+="?"),ke(i,function(n,h){a+=`
1
+ import{e as ho,h as Gn,$ as nu,C as lu,c as At,o as Tt,n as Dt,b as Z,L as Mi,t as Xt,a0 as Ht,S as se,F as Si,E as Ti,d as Ci,I as no,q as lo,v as hu,x as du,m as cu,G as pu,u as yt,a1 as uu}from"./index-DjbFdhzt.js";const gu={class:"relative bg-white dark:bg-gray-800 sm:p-4","rounded-sm":"","shadow-sm":""},fu={class:"mb-4 border-b rounded-t pb-4 sm:mb-4 dark:border-gray-600",flex:"","items-center":"","justify-between":""},mu={"text-gray-900":"","dark:text-white":"","text-xl":"","font-sans":"","font-semibold":"",italic:""},Uu=ho({__name:"Modal",props:{isHidden:{type:Boolean},title:null,width:null,mt:null},emits:["update:isHidden","onBeforeClose"],setup(O,{emit:A}){const j=O,V=A,$=Gn({get(){return j.isHidden},set(q){V("update:isHidden",q)}});function B(){V("onBeforeClose"),$.value=!0}const{Escape:E}=nu();return lu(E,q=>{q&&B()}),(q,I)=>(Tt(),At("div",{class:Dt(["md:inset-0 w-[100%] h-[100%]",[j.mt??"md:mt-32 sm:mt-16"]]),fixed:"","z-1997":"","of-x-hidden":"",flex:"","justify-center":"","items-start":""},[Z("div",{class:"w-[100%] h-[100%]",fixed:"","left-0":"","top-0":"","z-1998":"",style:{backgroundColor:"rgba(0, 0, 0, 0.5)"},onClick:B}),Z("div",{class:Dt(["relative p-4",[j.width??"w-[78%]"]]),"z-1999":""},[Z("div",gu,[Z("div",fu,[Mi(q.$slots,"header",{},()=>[Z("h3",mu,Xt(j.title),1)]),Z("button",{type:"button",class:"hover:bg-gray-200 hover:text-gray-900 dark:hover:bg-gray-600 dark:hover:text-white","bg-transparent":"","ml-auto":"","p-1.5":"","text-sm":"","text-gray-400":"","items-center":"","inline-flex":"","rounded-lg":"",onClick:B},[...I[0]||(I[0]=[Z("svg",{class:"h-5 w-5",fill:"currentColor",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},[Z("path",{"fill-rule":"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z","clip-rule":"evenodd"})],-1),Z("span",{"sr-only":""}," Close modal ",-1)])])]),Mi(q.$slots,"default")])],2)],2))}}),wt={openOptions(O){O.$refs.input.focus(),O.showMenu=!0,O.mousedownState=!1},blurInput(O){O.mousedownState||(O.searchText="",O.closeOptions()),O.$emit("blur")},closeOptions(O){O.$refs.input.blur(),O.showMenu=!1},prevItem(O){const A=O.pointer-1,j=O.$el.offsetHeight*A;A>=0&&(O.pointer=A),O.$refs.menu.scrollTop=j},nextItem(O){const A=O.pointer+1,j=O.$el.offsetHeight*A;A<=O.filteredOptions.length-1&&(O.pointer=A);const V=O.$refs.menu.offsetHeight,$=Math.ceil((O.$refs.menu.scrollTop+O.$el.offsetHeight)/V),B=Math.ceil(j/V);$!==B&&(O.$refs.menu.scrollTop=(B-1)*O.$refs.menu.offsetHeight)},enterItem(O){const A=O.filteredOptions[O.pointer],j=A.disabled;A&&!j&&O.selectItem(A)},pointerSet(O,A){O.pointer=A},pointerAdjust(O){O.pointer>=O.filteredOptions.length-1&&(O.pointer=O.filteredOptions.length?O.filteredOptions.length-1:0)},mousedownItem(O){O.mousedownState=!0}};function xu(O){return new RegExp(O.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"i")}const Yn={props:{id:{default:null},name:{type:String,default:""},isError:{type:Boolean,default:!1},customAttr:{type:Function,default:()=>""},isDisabled:{type:Boolean,default:!1},placeholder:{type:String,default:""},filterPredicate:{type:Function,default:(O,A)=>O.match(xu(A))}}},jn=(O,A)=>{const j=O.__vccOpts||O;for(const[V,$]of A)j[V]=$;return j},yu={name:"ModelSelect",mixins:[Yn],emits:["blur","searchchange","update:modelValue"],props:{modelValue:{type:[String,Number,Object,Boolean]},customAttr:{type:Function,default:()=>""},options:{type:Array}},data(){return{showMenu:!1,searchText:"",mousedownState:!1,pointer:-1}},watch:{value(O){this.pointer=this.filteredOptions.findIndex(A=>A.value===this.optionValue(O))},filteredOptions(){this.pointerAdjust()},searchText(){this.$emit("searchchange",this.searchText)}},computed:{searchTextCustomAttr(){return this.selectedOption&&this.selectedOption.value?this.customAttr(this.selectedOption):""},inputText(){if(this.searchText)return"";{let O=this.placeholder;return this.selectedOption&&(O=this.selectedOption.text),O}},customAttrs(){try{if(Array.isArray(this.options))return this.options.map(O=>this.customAttr(O))}catch{}return[]},textClass(){return!this.selectedOption&&this.placeholder?"default":""},menuClass(){return{visible:this.showMenu,hidden:!this.showMenu}},menuStyle(){return{display:this.showMenu?"block":"none"}},filteredOptions(){return this.searchText?this.options.filter(O=>{try{return this.filterPredicate(O.text,this.searchText)}catch{return!0}}):this.options},selectedOption(){return this.options.find(O=>O.value===this.optionValue(this.modelValue))}},methods:{deleteTextOrItem(){!this.searchText&&this.modelValue&&(this.selectItem({}),this.openOptions())},openOptions(){wt.openOptions(this)},blurInput(){wt.blurInput(this)},closeOptions(){wt.closeOptions(this)},prevItem(){wt.prevItem(this)},nextItem(){wt.nextItem(this)},enterItem(){wt.enterItem(this)},pointerSet(O){wt.pointerSet(this,O)},pointerAdjust(){wt.pointerAdjust(this)},mousedownItem(){wt.mousedownItem(this)},selectItem(O){this.searchText="",this.closeOptions(),typeof this.modelValue=="object"&&this.modelValue?this.$emit("update:modelValue",O):(this.$emit("update:modelValue",O.value),O.value!==void 0&&O.value===O.text&&(this.searchText=O.value))},optionValue(O){return typeof O=="object"&&O!==null?O.value:O}}},bu=Z("i",{class:"dropdown icon"},null,-1),vu=["disabled","tabindex","id","name","value"],ku=["data-vss-custom-attr"],wu=["data-vss-custom-attr","onClick","onMouseenter"];function Mu(O,A,j,V,$,B){return Tt(),At("div",{class:Dt(["ui fluid search selection dropdown",{"active visible":$.showMenu,error:O.isError,disabled:O.isDisabled}]),onClick:A[11]||(A[11]=(...E)=>B.openOptions&&B.openOptions(...E)),onFocus:A[12]||(A[12]=(...E)=>B.openOptions&&B.openOptions(...E))},[bu,Z("input",{class:"search",autocomplete:"off",disabled:O.isDisabled,tabindex:O.isDisabled?-1:0,id:O.id,name:O.name,value:$.searchText,onInput:A[0]||(A[0]=E=>$.searchText=E.target.value),ref:"input",onFocus:A[1]||(A[1]=se((...E)=>B.openOptions&&B.openOptions(...E),["prevent"])),onKeyup:[A[2]||(A[2]=Ht((...E)=>B.closeOptions&&B.closeOptions(...E),["esc"])),A[7]||(A[7]=Ht(se((...E)=>B.enterItem&&B.enterItem(...E),["prevent"]),["enter"]))],onBlur:A[3]||(A[3]=(...E)=>B.blurInput&&B.blurInput(...E)),onKeydown:[A[4]||(A[4]=Ht((...E)=>B.prevItem&&B.prevItem(...E),["up"])),A[5]||(A[5]=Ht((...E)=>B.nextItem&&B.nextItem(...E),["down"])),A[6]||(A[6]=Ht(se(()=>{},["prevent"]),["enter"])),A[8]||(A[8]=Ht((...E)=>B.deleteTextOrItem&&B.deleteTextOrItem(...E),["delete"]))]},null,40,vu),Z("div",{class:Dt(["text",B.textClass]),"data-vss-custom-attr":B.searchTextCustomAttr},Xt(B.inputText),11,ku),Z("div",{class:Dt(["menu",B.menuClass]),ref:"menu",onMousedown:A[10]||(A[10]=se(()=>{},["prevent"])),style:no(B.menuStyle),tabindex:"-1"},[(Tt(!0),At(Si,null,Ti(B.filteredOptions,(E,q)=>(Tt(),At("div",{key:q,class:Dt(["item",{selected:E.selected||$.pointer===q,disabled:E.disabled}]),"data-vss-custom-attr":B.customAttrs[q]?B.customAttrs[q]:"",onClick:se(I=>B.selectItem(E),["stop"]),onMousedown:A[9]||(A[9]=(...I)=>B.mousedownItem&&B.mousedownItem(...I)),onMouseenter:I=>B.pointerSet(q)},[Mi(O.$slots,"default",{option:E,idx:q},()=>[Ci(Xt(E.text),1)])],42,wu))),128))],38)],34)}const Vu=jn(yu,[["render",Mu]]),Su={name:"MultiSelect",mixins:[Yn],emits:["blur","searchchange","select"],props:{customAttr:{type:Function,default:()=>""},options:{type:Array},selectedOptions:{type:Array},cleanSearch:{type:Boolean,default:!0},hideSelectedOptions:{type:Boolean,default:!1}},data(){return{showMenu:!1,searchText:"",mousedownState:!1,pointer:-1}},watch:{selectedOptions(){this.pointer=-1},filteredOptions(){this.pointerAdjust()},searchText(){this.$emit("searchchange",this.searchText)}},computed:{inputText(){return this.searchText?"":this.placeholder},textClass(){return this.placeholder?"default":""},inputWidth(){return{width:(this.searchText.length+1)*8+20+"px"}},menuClass(){return{visible:this.showMenu,hidden:!this.showMenu}},menuStyle(){return{display:this.showMenu?"block":"none"}},nonSelectOptions(){return this.options.filter(O=>this.selectedOptions.findIndex(A=>A.value===O.value)===-1)},filteredOptions(){return this.searchText?this.nonSelectOptions.filter(O=>{try{return this.cleanSearch?this.filterPredicate(this.accentsTidy(O.text),this.searchText):this.filterPredicate(O.text,this.searchText)}catch{return!0}}):this.nonSelectOptions}},methods:{deleteTextOrLastItem(){!this.searchText&&this.selectedOptions.length>0&&this.deleteItem(this.selectedOptions[this.selectedOptions.length-1])},openOptions(){wt.openOptions(this)},blurInput(){wt.blurInput(this)},closeOptions(){wt.closeOptions(this)},prevItem(){wt.prevItem(this),this.openOptions()},nextItem(){wt.nextItem(this),this.openOptions()},enterItem(){wt.enterItem(this)},pointerSet(O){wt.pointerSet(this,O)},pointerAdjust(){wt.pointerAdjust(this)},mousedownItem(){wt.mousedownItem(this)},selectItem(O){const A=this.selectedOptions.concat(O),j=A.filter((V,$)=>A.indexOf(V)===$);this.closeOptions(),this.searchText="",this.$emit("select",j,O,"insert")},deleteItem(O){const A=this.selectedOptions.filter(j=>j.value!==O.value);this.$emit("select",A,O,"delete")},accentsTidy(O){let A=O.toString().toLowerCase();return A=A.replace(new RegExp("[àáâãäå]","g"),"a"),A=A.replace(new RegExp("æ","g"),"ae"),A=A.replace(new RegExp("ç","g"),"c"),A=A.replace(new RegExp("[èéêë]","g"),"e"),A=A.replace(new RegExp("[ìíîï]","g"),"i"),A=A.replace(new RegExp("ñ","g"),"n"),A=A.replace(new RegExp("[òóôõö]","g"),"o"),A=A.replace(new RegExp("œ","g"),"oe"),A=A.replace(new RegExp("[ùúûü]","g"),"u"),A=A.replace(new RegExp("[ýÿ]","g"),"y"),A}}},Tu=Z("i",{class:"dropdown icon"},null,-1),Cu=["data-vss-custom-attr"],Au=["onClick"],Pu=["disabled","tabindex","id","name"],Ou=["data-vss-custom-attr","onClick","onMouseenter"];function Lu(O,A,j,V,$,B){return Tt(),At("div",{class:Dt(["ui fluid search dropdown selection multiple",{"active visible":$.showMenu,error:O.isError,disabled:O.isDisabled}]),onClick:A[11]||(A[11]=(...E)=>B.openOptions&&B.openOptions(...E)),onFocus:A[12]||(A[12]=(...E)=>B.openOptions&&B.openOptions(...E))},[Tu,j.hideSelectedOptions?lo("",!0):(Tt(!0),At(Si,{key:0},Ti(j.selectedOptions,(E,q)=>(Tt(),At("a",{key:q,class:"ui label transition visible",style:{display:"inline-block !important"},"data-vss-custom-attr":j.customAttr(E)},[Mi(O.$slots,"selected",{option:E,idx:q},()=>[Ci(Xt(E.text),1),Z("i",{class:"delete icon",onClick:I=>B.deleteItem(E)},null,8,Au)])],8,Cu))),128)),hu(Z("input",{class:"search",autocomplete:"off",disabled:O.isDisabled,tabindex:O.isDisabled?-1:0,id:O.id,name:O.name,"onUpdate:modelValue":A[0]||(A[0]=E=>$.searchText=E),ref:"input",style:no(B.inputWidth),onFocus:A[1]||(A[1]=se((...E)=>B.openOptions&&B.openOptions(...E),["prevent"])),onKeyup:[A[2]||(A[2]=Ht((...E)=>B.closeOptions&&B.closeOptions(...E),["esc"])),A[7]||(A[7]=Ht(se((...E)=>B.enterItem&&B.enterItem(...E),["prevent"]),["enter"]))],onBlur:A[3]||(A[3]=(...E)=>B.blurInput&&B.blurInput(...E)),onKeydown:[A[4]||(A[4]=Ht((...E)=>B.prevItem&&B.prevItem(...E),["up"])),A[5]||(A[5]=Ht((...E)=>B.nextItem&&B.nextItem(...E),["down"])),A[6]||(A[6]=Ht(se(()=>{},["prevent"]),["enter"])),A[8]||(A[8]=Ht((...E)=>B.deleteTextOrLastItem&&B.deleteTextOrLastItem(...E),["delete"]))]},null,44,Pu),[[du,$.searchText]]),Z("div",{class:Dt(["text",B.textClass])},Xt(B.inputText),3),Z("div",{class:Dt(["menu",B.menuClass]),ref:"menu",onMousedown:A[10]||(A[10]=se(()=>{},["prevent"])),style:no(B.menuStyle),tabindex:"-1"},[(Tt(!0),At(Si,null,Ti(B.filteredOptions,(E,q)=>(Tt(),At("div",{key:q,class:Dt(["item",{selected:E.selected||$.pointer===q,disabled:E.disabled}]),"data-vss-custom-attr":j.customAttr(E),onClick:se(I=>B.selectItem(E),["stop"]),onMousedown:A[9]||(A[9]=(...I)=>B.mousedownItem&&B.mousedownItem(...I)),onMouseenter:I=>B.pointerSet(q)},[Mi(O.$slots,"default",{option:E,idx:q},()=>[Ci(Xt(E.text),1)])],42,Ou))),128))],38)],34)}const Eu=jn(Su,[["render",Lu]]),qu=ho({__name:"TheMultiSelect",props:{options:null,selectedOptions:null},emits:["select"],setup(O,{emit:A}){const j=A,V=cu(!1);function $(){V.value=!0}function B(){V.value=!1}function E(I){V.value&&I.stopPropagation()}function q(I,tt){j("select",I,tt)}return(I,tt)=>(Tt(),pu(yt(Eu),{class:Dt({"is-composing":yt(V)}),options:O.options,"selected-options":O.selectedOptions,onSelect:q,onCompositionstart:$,onCompositionend:B,onKeydownCapture:Ht(E,["delete"])},null,8,["class","options","selected-options"]))}});var ao={exports:{}},Ps={exports:{}},Iu=Ps.exports,Hn;function Du(){return Hn||(Hn=1,(function(O,A){(function(j,V){j._Highcharts=V(),O.exports=j._Highcharts})("u"<typeof window?Iu:window,()=>(()=>{let j,V,$,B,E,q;var I,tt,Bt,Ai,Pi,be,_e,Oi,De,Ct,_,ct,mt,Be,jt,ne,Os,Ls,Es,Is,Ds,Bs,Ns,zs,Rs,Ws,Xs,Hs,Je={};Je.d=(l,t)=>{for(var e in t)Je.o(t,e)&&!Je.o(l,e)&&Object.defineProperty(l,e,{enumerable:!0,get:t[e]})},Je.o=(l,t)=>Object.prototype.hasOwnProperty.call(l,t);var co={};Je.d(co,{default:()=>au}),(I=_||(_={})).SVG_NS="http://www.w3.org/2000/svg",I.product="Highcharts",I.version="12.5.0",I.win="u">typeof window?window:{},I.doc=I.win.document,I.svg=!!I.doc?.createElementNS?.(I.SVG_NS,"svg")?.createSVGRect,I.pageLang=I.doc?.documentElement?.closest("[lang]")?.lang,I.userAgent=I.win.navigator?.userAgent||"",I.isChrome=I.win.chrome,I.isFirefox=I.userAgent.indexOf("Firefox")!==-1,I.isMS=/(edge|msie|trident)/i.test(I.userAgent)&&!I.win.opera,I.isSafari=!I.isChrome&&I.userAgent.indexOf("Safari")!==-1,I.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(I.userAgent),I.isWebKit=I.userAgent.indexOf("AppleWebKit")!==-1,I.deg2rad=2*Math.PI/360,I.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],I.noop=function(){},I.supportsPassiveEvents=(function(){let l=!1;if(!I.isMS){let t=Object.defineProperty({},"passive",{get:function(){l=!0}});I.win.addEventListener&&I.win.removeEventListener&&(I.win.addEventListener("testPassive",I.noop,t),I.win.removeEventListener("testPassive",I.noop,t))}return l})(),I.charts=[],I.composed=[],I.dateFormats={},I.seriesTypes={},I.symbolSizes={},I.chartCount=0;let L=_,{charts:$n,doc:Li,win:ve}=L;function Qe(l,t,e,i){let s=t?"Highcharts error":"Highcharts warning";l===32&&(l=`${s}: Deprecated member`);let r=Gs(l),o=r?`${s} #${l}: www.highcharts.com/errors/${l}/`:l.toString();if(i!==void 0){let a="";r&&(o+="?"),ke(i,function(n,h){a+=`
2
2
  - ${h}: ${n}`,r&&(o+=encodeURI(h)+"="+encodeURI(n))}),o+=a}bo(L,"displayError",{chart:e,code:l,message:o,params:i},function(){if(t)throw Error(o);ve.console&&Qe.messages.indexOf(o)===-1&&console.warn(o)}),Qe.messages.push(o)}function po(l,t){return parseInt(l,t||10)}function ti(l){return typeof l=="string"}function Ei(l){let t=Object.prototype.toString.call(l);return t==="[object Array]"||t==="[object Array Iterator]"}function Ne(l,t){return!!l&&typeof l=="object"&&(!t||!Ei(l))}function Fs(l){return Ne(l)&&typeof l.nodeType=="number"}function uo(l){let t=l?.constructor;return!!(Ne(l,!0)&&!Fs(l)&&t?.name&&t.name!=="Object")}function Gs(l){return typeof l=="number"&&!isNaN(l)&&l<1/0&&l>-1/0}function ze(l){return l!=null}function go(l,t,e){let i,s=ti(t)&&!ze(e),r=(o,a)=>{ze(o)?l.setAttribute(a,o):s?(i=l.getAttribute(a))||a!=="class"||(i=l.getAttribute(a+"Name")):l.removeAttribute(a)};return ti(t)?r(e,t):ke(t,r),i}function fo(l){return Ei(l)?l:[l]}function Re(l,t){let e;for(e in l||(l={}),t)l[e]=t[e];return l}function ei(){let l=arguments,t=l.length;for(let e=0;e<t;e++){let i=l[e];if(i!=null)return i}}function Ys(l,t){Re(l.style,t)}function mo(l){return Math.pow(10,Math.floor(Math.log(l)/Math.LN10))}function xo(l,t){return l>1e14?l:parseFloat(l.toPrecision(t||14))}(Qe||(Qe={})).messages=[],Math.easeInOutSine=function(l){return-.5*(Math.cos(Math.PI*l)-1)};let Un=Array.prototype.find?function(l,t){return l.find(t)}:function(l,t){let e,i=l.length;for(e=0;e<i;e++)if(t(l[e],e))return l[e]};function ke(l,t,e){for(let i in l)Object.hasOwnProperty.call(l,i)&&t.call(e||l[i],l[i],i,l)}function yo(l,t,e){function i(o,a){let n=l.removeEventListener;n&&n.call(l,o,a,!1)}function s(o){let a,n;l.nodeName&&(t?(a={})[t]=!0:a=o,ke(a,function(h,c){if(o[c])for(n=o[c].length;n--;)i(c,o[c][n].fn)}))}let r=typeof l=="function"&&l.prototype||l;if(Object.hasOwnProperty.call(r,"hcEvents")){let o=r.hcEvents;if(t){let a=o[t]||[];e?(o[t]=a.filter(function(n){return e!==n.fn}),i(t,e)):(s(o),o[t]=[])}else s(o),delete r.hcEvents}}function bo(l,t,e,i){if(e=e||{},Li?.createEvent&&(l.dispatchEvent||l.fireEvent&&l!==L)){let s=Li.createEvent("Events");s.initEvent(t,!0,!0),e=Re(s,e),l.dispatchEvent?l.dispatchEvent(e):l.fireEvent(t,e)}else if(l.hcEvents){e.target||Re(e,{preventDefault:function(){e.defaultPrevented=!0},target:l,type:t});let s=[],r=l,o=!1;for(;r.hcEvents;)Object.hasOwnProperty.call(r,"hcEvents")&&r.hcEvents[t]&&(s.length&&(o=!0),s.unshift.apply(s,r.hcEvents[t])),r=Object.getPrototypeOf(r);o&&s.sort((a,n)=>a.order-n.order),s.forEach(a=>{a.fn.call(l,e)===!1&&e.preventDefault()})}i&&!e.defaultPrevented&&i.call(l,e)}let Vn=($=Math.random().toString(36).substring(2,9)+"-",B=0,function(){return"highcharts-"+(j?"":$)+B++});ve.jQuery&&(ve.jQuery.fn.highcharts=function(){let l=[].slice.call(arguments);if(this[0])return l[0]?(new L[ti(l[0])?l.shift():"Chart"](this[0],l[0],l[1]),this):$n[go(this[0],"data-highcharts-chart")]});let F={addEvent:function(l,t,e,i={}){let s=typeof l=="function"&&l.prototype||l;Object.hasOwnProperty.call(s,"hcEvents")||(s.hcEvents={});let r=s.hcEvents;L.Point&&l instanceof L.Point&&l.series&&l.series.chart&&(l.series.chart.runTrackerClick=!0);let o=l.addEventListener;o&&o.call(l,t,e,!!L.supportsPassiveEvents&&{passive:i.passive===void 0?t.indexOf("touch")!==-1:i.passive,capture:!1}),r[t]||(r[t]=[]);let a={fn:e,order:typeof i.order=="number"?i.order:1/0};return r[t].push(a),r[t].sort((n,h)=>n.order-h.order),function(){yo(l,t,e)}},arrayMax:function(l){let t=l.length,e=l[0];for(;t--;)l[t]>e&&(e=l[t]);return e},arrayMin:function(l){let t=l.length,e=l[0];for(;t--;)l[t]<e&&(e=l[t]);return e},attr:go,clamp:function(l,t,e){return l>t?l<e?l:e:t},clearTimeout:function(l){ze(l)&&clearTimeout(l)},correctFloat:xo,createElement:function(l,t,e,i,s){let r=Li.createElement(l);return t&&Re(r,t),s&&Ys(r,{padding:"0",border:"none",margin:"0"}),e&&Ys(r,e),i&&i.appendChild(r),r},crisp:function(l,t=0,e){let i=t%2/2,s=e?-1:1;return(Math.round(l*s-i)+i)*s},css:Ys,defined:ze,destroyObjectProperties:function(l,t,e){ke(l,function(i,s){i!==t&&i?.destroy&&i.destroy(),(i?.destroy||!e)&&delete l[s]})},diffObjects:function(l,t,e,i){let s={};return(function r(o,a,n,h){let c=e?a:o;ke(o,function(d,p){if(!h&&i&&i.indexOf(p)>-1&&a[p]){d=fo(d),n[p]=[];for(let u=0;u<Math.max(d.length,a[p].length);u++)a[p][u]&&(d[u]===void 0?n[p][u]=a[p][u]:(n[p][u]={},r(d[u],a[p][u],n[p][u],h+1)))}else Ne(d,!0)&&!d.nodeType?(n[p]=Ei(d)?[]:{},r(d,a[p]||{},n[p],h+1),Object.keys(n[p]).length===0&&(p!=="colorAxis"||h!==0)&&delete n[p]):(o[p]!==a[p]||p in o&&!(p in a))&&p!=="__proto__"&&p!=="constructor"&&(n[p]=c[p])})})(l,t,s,0),s},discardElement:function(l){l?.parentElement?.removeChild(l)},erase:function(l,t){let e=l.length;for(;e--;)if(l[e]===t){l.splice(e,1);break}},error:Qe,extend:Re,extendClass:function(l,t){let e=function(){};return e.prototype=new l,Re(e.prototype,t),e},find:Un,fireEvent:bo,getAlignFactor:(l="")=>({center:.5,right:1,middle:.5,bottom:1})[l]||0,getClosestDistance:function(l,t){let e,i,s,r=!t;return l.forEach(o=>{if(o.length>1)for(s=o.length-1;s>0;s--)(i=o[s]-o[s-1])<0&&!r?(t?.(),t=void 0):i&&(e===void 0||i<e)&&(e=i)}),e},getMagnitude:mo,getNestedProperty:function(l,t){let e=l.split(".");for(;e.length&&ze(t);){let i=e.shift();if(i===void 0||i==="__proto__")return;if(i==="this"){let r;return Ne(t)&&(r=t["@this"]),r??t}let s=t[i.replace(/[\\'"]/g,"")];if(!ze(s)||typeof s=="function"||typeof s.nodeType=="number"||s===ve)return;t=s}return t},getStyle:function l(t,e,i){let s;if(e==="width"){let o=Math.min(t.offsetWidth,t.scrollWidth),a=t.getBoundingClientRect?.().width;return a<o&&a>=o-1&&(o=Math.floor(a)),Math.max(0,o-(l(t,"padding-left",!0)||0)-(l(t,"padding-right",!0)||0))}if(e==="height")return Math.max(0,Math.min(t.offsetHeight,t.scrollHeight)-(l(t,"padding-top",!0)||0)-(l(t,"padding-bottom",!0)||0));let r=ve.getComputedStyle(t,void 0);return r&&(s=r.getPropertyValue(e),ei(i,e!=="opacity")&&(s=po(s))),s},insertItem:function(l,t){let e,i=l.options.index,s=t.length;for(e=l.options.isInternal?s:0;e<s+1;e++)if(!t[e]||Gs(i)&&i<ei(t[e].options.index,t[e]._i)||t[e].options.isInternal){t.splice(e,0,l);break}return e},isArray:Ei,isClass:uo,isDOMElement:Fs,isFunction:function(l){return typeof l=="function"},isNumber:Gs,isObject:Ne,isString:ti,merge:function(l,...t){let e,i=[l,...t],s={},r=function(a,n){return typeof a!="object"&&(a={}),ke(n,function(h,c){c!=="__proto__"&&c!=="constructor"&&(!Ne(h,!0)||uo(h)||Fs(h)?a[c]=n[c]:a[c]=r(a[c]||{},h))}),a};l===!0&&(s=i[1],i=Array.prototype.slice.call(i,2));let o=i.length;for(e=0;e<o;e++)s=r(s,i[e]);return s},normalizeTickInterval:function(l,t,e,i,s){let r,o=l;e=ei(e,mo(l));let a=l/e;for(!t&&(t=s?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],i===!1&&(e===1?t=t.filter(function(n){return n%1==0}):e<=.1&&(t=[1/e]))),r=0;r<t.length&&(o=t[r],(!s||!(o*e>=l))&&(s||!(a<=(t[r]+(t[r+1]||t[r]))/2)));r++);return xo(o*e,-Math.round(Math.log(.001)/Math.LN10))},objectEach:ke,offset:function(l){let t=Li.documentElement,e=l.parentElement||l.parentNode?l.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:e.top+(ve.pageYOffset||t.scrollTop)-(t.clientTop||0),left:e.left+(ve.pageXOffset||t.scrollLeft)-(t.clientLeft||0),width:e.width,height:e.height}},pad:function(l,t,e){return Array((t||2)+1-String(l).replace("-","").length).join(e||"0")+l},pick:ei,pInt:po,pushUnique:function(l,t){return 0>l.indexOf(t)&&!!l.push(t)},relativeLength:function(l,t,e){return/%$/.test(l)?t*parseFloat(l)/100+(e||0):parseFloat(l)},removeEvent:yo,replaceNested:function(l,...t){let e,i;do for(i of(e=l,t))l=l.replace(i[0],i[1]);while(l!==e);return l},splat:fo,stableSort:function(l,t){let e,i,s=l.length;for(i=0;i<s;i++)l[i].safeI=i;for(l.sort(function(r,o){return(e=t(r,o))===0?r.safeI-o.safeI:e}),i=0;i<s;i++)delete l[i].safeI},syncTimeout:function(l,t,e){return t>0?setTimeout(l,t,e):(l.call(0,e),-1)},timeUnits:{millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},ucfirst:function(l){return ti(l)?l.substring(0,1).toUpperCase()+l.substring(1):String(l)},uniqueKey:Vn,useSerialIds:function(l){return j=ei(l,j)},wrap:function(l,t,e){let i=l[t];l[t]=function(){let s=arguments,r=this;return e.apply(this,[function(){return i.apply(r,arguments.length?arguments:s)}].concat([].slice.call(arguments)))}}},{pageLang:qn,win:Ii}=L,{defined:vo,error:ko,extend:js,isNumber:wo,isObject:$s,isString:ii,merge:Kn,objectEach:Zn,pad:le,splat:_n,timeUnits:Us,ucfirst:Jn}=F,Qn=L.isSafari&&Ii.Intl&&!Ii.Intl.DateTimeFormat.prototype.formatRange,tl=class{constructor(l,t){this.options={timezone:"UTC"},this.variableTimezone=!1,this.Date=Ii.Date,this.update(l),this.lang=t}update(l={}){this.dTLCache={},this.options=l=Kn(!0,this.options,l);let{timezoneOffset:t,useUTC:e,locale:i}=l;this.Date=l.Date||Ii.Date||Date;let s=l.timezone;vo(e)&&(s=e?"UTC":void 0),t&&t%60==0&&(s="Etc/GMT"+(t>0?"+":"")+t/60),this.variableTimezone=s!=="UTC"&&s?.indexOf("Etc/GMT")!==0,this.timezone=s,this.lang&&i&&(this.lang.locale=i),["months","shortMonths","weekdays","shortWeekdays"].forEach(r=>{let o=/months/i.test(r),a=/short/.test(r),n={timeZone:"UTC"};n[o?"month":"weekday"]=a?"short":"long",this[r]=(o?[0,1,2,3,4,5,6,7,8,9,10,11]:[3,4,5,6,7,8,9]).map(h=>this.dateFormat(n,(o?31:1)*24*36e5*h))})}toParts(l){let[t,e,i,s,r,o,a]=this.dateTimeFormat({weekday:"narrow",day:"numeric",month:"numeric",year:"numeric",hour:"numeric",minute:"numeric",second:"numeric"},l,"es").split(/(?:, | |\/|:)/g);return[s,i-1,e,r,o,a,Math.floor(Number(l)||0)%1e3,"DLMXJVS".indexOf(t)].map(Number)}dateTimeFormat(l,t,e=this.options.locale||qn){let i=JSON.stringify(l)+e;ii(l)&&(l=this.str2dtf(l));let s=this.dTLCache[i];if(!s){l.timeZone??(l.timeZone=this.timezone);try{s=new Intl.DateTimeFormat(e,l)}catch(r){/Invalid time zone/i.test(r.message)?(ko(34),l.timeZone="UTC",s=new Intl.DateTimeFormat(e,l)):ko(r.message,!1)}}return this.dTLCache[i]=s,s?.format(t)||""}str2dtf(l,t={}){let e={L:{fractionalSecondDigits:3},S:{second:"2-digit"},M:{minute:"numeric"},H:{hour:"2-digit"},k:{hour:"numeric"},E:{weekday:"narrow"},a:{weekday:"short"},A:{weekday:"long"},d:{day:"2-digit"},e:{day:"numeric"},b:{month:"short"},B:{month:"long"},m:{month:"2-digit"},o:{month:"numeric"},y:{year:"2-digit"},Y:{year:"numeric"}};return Object.keys(e).forEach(i=>{l.indexOf(i)!==-1&&js(t,e[i])}),t}makeTime(l,t,e=1,i=0,s,r,o){let a=this.Date.UTC(l,t,e,i,s||0,r||0,o||0);if(this.timezone!=="UTC"){let n=this.getTimezoneOffset(a);if(a+=n,[2,3,8,9,10,11].indexOf(t)!==-1&&(i<5||i>20)){let h=this.getTimezoneOffset(a);n!==h?a+=h-n:n-36e5!==this.getTimezoneOffset(a-36e5)||Qn||(a-=36e5)}}return a}parse(l){if(!ii(l))return l??void 0;let t=(l=l.replace(/\//g,"-").replace(/(GMT|UTC)/,"")).indexOf("Z")>-1||/([+-][0-9]{2}):?[0-9]{2}$/.test(l),e=/^[0-9]{4}-[0-9]{2}(-[0-9]{2}|)$/.test(l);t||e||(l+="Z");let i=Date.parse(l);if(wo(i))return i+(!t||e?this.getTimezoneOffset(i):0)}getTimezoneOffset(l){if(this.timezone!=="UTC"){let[t,e,i,s,r=0]=this.dateTimeFormat({timeZoneName:"shortOffset"},l,"en").split(/(GMT|:)/).map(Number),o=-(60*(i+r/60)*6e4);if(wo(o))return o}return 0}dateFormat(l,t,e){let i=this.lang;if(!vo(t)||isNaN(t))return i?.invalidDate||"";if(ii(l=l??"%Y-%m-%d %H:%M:%S")){let s,r=/%\[([a-zA-Z]+)\]/g;for(;s=r.exec(l);)l=l.replace(s[0],this.dateTimeFormat(s[1],t,i?.locale))}if(ii(l)&&l.indexOf("%")!==-1){let s=this,[r,o,a,n,h,c,d,p]=this.toParts(t),u=i?.weekdays||this.weekdays,f=i?.shortWeekdays||this.shortWeekdays,x=i?.months||this.months,g=i?.shortMonths||this.shortMonths;Zn(js({a:f?f[p]:u[p].substr(0,3),A:u[p],d:le(a),e:le(a,2," "),w:p,v:i?.weekFrom??"",b:g[o],B:x[o],m:le(o+1),o:o+1,y:r.toString().substr(2,2),Y:r,H:le(n),k:n,I:le(n%12||12),l:n%12||12,M:le(h),p:n<12?"AM":"PM",P:n<12?"am":"pm",S:le(c),L:le(d,3)},L.dateFormats),function(m,y){if(ii(l))for(;l.indexOf("%"+y)!==-1;)l=l.replace("%"+y,typeof m=="function"?m.call(s,t):m)})}else if($s(l)){let s=(this.getTimezoneOffset(t)||0)/36e5,r=this.timezone||"Etc/GMT"+(s>=0?"+":"")+s,{prefix:o="",suffix:a=""}=l;l=o+this.dateTimeFormat(js({timeZone:r},l),t)+a}return e?Jn(l):l}resolveDTLFormat(l){return $s(l,!0)?$s(l,!0)&&l.main===void 0?{main:l}:l:{main:(l=_n(l))[0],from:l[1],to:l[2]}}getDateFormat(l,t,e,i){let s=this.dateFormat("%m-%d %H:%M:%S.%L",t),r="01-01 00:00:00.000",o={millisecond:15,second:12,minute:9,hour:6,day:3},a="millisecond",n=a;for(a in Us){if(l&&l===Us.week&&+this.dateFormat("%w",t)===e&&s.substr(6)===r.substr(6)){a="week";break}if(l&&Us[a]>l){a=n;break}if(o[a]&&s.substr(o[a])!==r.substr(o[a]))break;a!=="week"&&(n=a)}return this.resolveDTLFormat(i[a]).main}},{defined:Mo,extend:el,timeUnits:ft}=F,Vs=class extends tl{getTimeTicks(l,t,e,i){let s=this,r=[],o={},{count:a=1,unitRange:n}=l,[h,c,d,p,u,f]=s.toParts(t),x=(t||0)%1e3,g;if(i??(i=1),Mo(t)){if(x=n>=ft.second?0:a*Math.floor(x/a),n>=ft.second&&(f=n>=ft.minute?0:a*Math.floor(f/a)),n>=ft.minute&&(u=n>=ft.hour?0:a*Math.floor(u/a)),n>=ft.hour&&(p=n>=ft.day?0:a*Math.floor(p/a)),n>=ft.day&&(d=n>=ft.month?1:Math.max(1,a*Math.floor(d/a))),n>=ft.month&&(c=n>=ft.year?0:a*Math.floor(c/a)),n>=ft.year&&(h-=h%a),n===ft.week){a&&(t=s.makeTime(h,c,d,p,u,f,x));let b=this.dateTimeFormat({timeZone:this.timezone,weekday:"narrow"},t,"es"),v="DLMXJVS".indexOf(b);d+=-v+i+(v<i?-7:0)}t=s.makeTime(h,c,d,p,u,f,x),s.variableTimezone&&Mo(e)&&(g=e-t>4*ft.month||s.getTimezoneOffset(t)!==s.getTimezoneOffset(e));let m=t,y=1;for(;m<e;)r.push(m),n===ft.year?m=s.makeTime(h+y*a,0):n===ft.month?m=s.makeTime(h,c+y*a):g&&(n===ft.day||n===ft.week)?m=s.makeTime(h,c,d+y*a*(n===ft.day?1:7)):g&&n===ft.hour&&a>1?m=s.makeTime(h,c,d,p+y*a):m+=n*a,y++;r.push(m),n<=ft.hour&&r.length<1e4&&r.forEach(b=>{b%18e5==0&&s.dateFormat("%H%M%S%L",b)==="000000000"&&(o[b]="day")})}return r.info=el(l,{higherRanks:o,totalRange:n*a}),r}},{isTouchDevice:il}=L,{fireEvent:sl,merge:rl}=F,re={colors:["#2caffe","#544fc5","#00e272","#fe6a35","#6b8abc","#d568fb","#2ee0ca","#fa4b42","#feb56a","#91e8e1"],symbols:["circle","diamond","square","triangle","triangle-down"],lang:{weekFrom:"week from",chartTitle:"Chart title",locale:void 0,loading:"Loading...",months:void 0,seriesName:"Series {add index 1}",shortMonths:void 0,weekdays:void 0,numericSymbols:["k","M","G","T","P","E"],pieSliceName:"Slice",resetZoom:"Reset zoom",yAxisTitle:"Values",resetZoomTitle:"Reset zoom level 1:1"},global:{buttonTheme:{fill:"#f7f7f7",padding:8,r:2,stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},states:{hover:{fill:"#e6e6e6"},select:{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},disabled:{style:{color:"#cccccc"}}}}},time:{Date:void 0,timezone:"UTC",timezoneOffset:0,useUTC:void 0},chart:{alignThresholds:!1,panning:{enabled:!1,type:"x"},styledMode:!1,borderRadius:0,colorCount:10,allowMutatingData:!0,ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{},position:{}},reflow:!0,type:"line",zooming:{singleTouch:!1,resetButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}}},width:null,height:null,borderColor:"#334eff",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"},title:{style:{color:"#333333",fontWeight:"bold"},text:"Chart title",margin:15,minScale:.67},subtitle:{style:{color:"#666666",fontSize:"0.8em"},text:""},caption:{margin:15,style:{color:"#666666",fontSize:"0.8em"},text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",events:{},layout:"horizontal",itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"#0022ff",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#666666",textDecoration:"line-through"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{color:"#333333",fontSize:"0.8em",fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:{duration:300,easing:l=>Math.sqrt(1-Math.pow(l-1,2))},borderRadius:3,dateTimeLabelFormats:{millisecond:"%[AebHMSL]",second:"%[AebHMS]",minute:"%[AebHM]",hour:"%[AebHM]",day:"%[AebY]",week:"%v %[AebY]",month:"%[BY]",year:"%Y"},footerFormat:"",headerShape:"callout",hideDelay:500,padding:8,position:{x:0,y:3},shared:!1,snap:il?25:10,headerFormat:'<span style="font-size: 0.8em">{ucfirst point.key}</span><br/>',pointFormat:'<span style="color:{point.color}">●</span> {series.name}: <b>{point.y}</b><br/>',backgroundColor:"#ffffff",borderWidth:void 0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"0.8em"},useHTML:!1},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"0.6em"},text:"Highcharts.com"}},qs=new Vs(re.time,re.lang),Ft={defaultOptions:re,defaultTime:qs,getOptions:function(){return re},setOptions:function(l){return sl(L,"setOptions",{options:l}),rl(!0,re,l),l.time&&qs.update(re.time),l.lang&&"locale"in l.lang&&qs.update({locale:l.lang.locale}),l.lang?.chartTitle&&(re.title={...re.title,text:l.lang.chartTitle}),re}},{win:ol}=L,{isNumber:si,isString:al,merge:nl,pInt:Pt,defined:So}=F,To=(l,t,e)=>`color-mix(in srgb,${l},${t} ${100*e}%)`,Ks=l=>al(l)&&!!l&&l!=="none";class lt{static parse(t){return t?new lt(t):lt.None}constructor(t){let e,i,s,r;this.rgba=[NaN,NaN,NaN,NaN],this.input=t;const o=L.Color;if(o&&o!==lt)return new o(t);if(typeof t=="object"&&t.stops!==void 0)this.stops=t.stops.map(a=>new lt(a[1]));else if(typeof t=="string")for(this.input=t=lt.names[t.toLowerCase()]||t,s=lt.parsers.length;s--&&!i;)(e=(r=lt.parsers[s]).regex.exec(t))&&(i=r.parse(e));i&&(this.rgba=i)}get(t){let e=this.input,i=this.rgba;if(this.output)return this.output;if(typeof e=="object"&&this.stops!==void 0){let s=nl(e);return s.stops=[].slice.call(s.stops),this.stops.forEach((r,o)=>{s.stops[o]=[s.stops[o][0],r.get(t)]}),s}return i&&si(i[0])?t!=="rgb"&&(t||i[3]!==1)?t==="a"?`${i[3]}`:"rgba("+i.join(",")+")":"rgb("+i[0]+","+i[1]+","+i[2]+")":e}brighten(t){let e=this.rgba;if(this.stops)this.stops.forEach(function(i){i.brighten(t)});else if(si(t)&&t!==0)if(si(e[0]))for(let i=0;i<3;i++)e[i]+=Pt(255*t),e[i]<0&&(e[i]=0),e[i]>255&&(e[i]=255);else lt.useColorMix&&Ks(this.input)&&(this.output=To(this.input,t>0?"white":"black",Math.abs(t)));return this}setOpacity(t){return this.rgba[3]=t,this}tweenTo(t,e){let i=this.rgba,s=t.rgba;if(!si(i[0])||!si(s[0]))return lt.useColorMix&&Ks(this.input)&&Ks(t.input)&&e<.99?To(this.input,t.input,e):t.input||"none";let r=s[3]!==1||i[3]!==1,o=(n,h)=>n+(i[h]-n)*(1-e),a=s.slice(0,3).map(o).map(Math.round);return r&&a.push(o(s[3],3)),(r?"rgba(":"rgb(")+a.join(",")+")"}}lt.names={white:"#ffffff",black:"#000000"},lt.parsers=[{regex:/rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d?(?:\.\d+)?)\s*\)/,parse:function(l){return[Pt(l[1]),Pt(l[2]),Pt(l[3]),parseFloat(l[4],10)]}},{regex:/rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)/,parse:function(l){return[Pt(l[1]),Pt(l[2]),Pt(l[3]),1]}},{regex:/^#([a-f0-9])([a-f0-9])([a-f0-9])([a-f0-9])?$/i,parse:function(l){return[Pt(l[1]+l[1],16),Pt(l[2]+l[2],16),Pt(l[3]+l[3],16),So(l[4])?Pt(l[4]+l[4],16)/255:1]}},{regex:/^#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})?$/i,parse:function(l){return[Pt(l[1],16),Pt(l[2],16),Pt(l[3],16),So(l[4])?Pt(l[4],16)/255:1]}}],lt.useColorMix=ol.CSS?.supports("color","color-mix(in srgb,red,blue 9%)"),lt.None=new lt("");let{parse:Co}=lt,{win:ll}=L,{isNumber:Zs,objectEach:hl}=F;class Ot{constructor(t,e,i){this.pos=NaN,this.options=e,this.elem=t,this.prop=i}dSetter(){let t=this.paths,e=t?.[0],i=t?.[1],s=this.now||0,r=[];if(s!==1&&e&&i)if(e.length===i.length&&s<1)for(let o=0;o<i.length;o++){let a=e[o],n=i[o],h=[];for(let c=0;c<n.length;c++){let d=a[c],p=n[c];Zs(d)&&Zs(p)&&(n[0]!=="A"||c!==4&&c!==5)?h[c]=d+s*(p-d):h[c]=p}r.push(h)}else r=i;else r=this.toD||[];this.elem.attr("d",r,void 0,!0)}update(){let t=this.elem,e=this.prop,i=this.now,s=this.options.step;this[e+"Setter"]?this[e+"Setter"]():t.attr?t.element&&t.attr(e,i,null,!0):t.style[e]=i+this.unit,s&&s.call(t,i,this)}run(t,e,i){let s=this,r=s.options,o=function(h){return!o.stopped&&s.step(h)},a=ll.requestAnimationFrame||function(h){setTimeout(h,13)},n=function(){for(let h=0;h<Ot.timers.length;h++)Ot.timers[h]()||Ot.timers.splice(h--,1);Ot.timers.length&&a(n)};t!==e||this.elem["forceAnimate:"+this.prop]?(this.startTime=+new Date,this.start=t,this.end=e,this.unit=i,this.now=this.start,this.pos=0,o.elem=this.elem,o.prop=this.prop,o()&&Ot.timers.push(o)===1&&a(n)):(delete r.curAnim[this.prop],r.complete&&Object.keys(r.curAnim).length===0&&r.complete.call(this.elem))}step(t){let e,i,s=+new Date,r=this.options,o=this.elem,a=r.complete,n=r.duration,h=r.curAnim;return o.attr&&!o.element?e=!1:t||s>=n+this.startTime?(this.now=this.end,this.pos=1,this.update(),h[this.prop]=!0,i=!0,hl(h,function(c){c!==!0&&(i=!1)}),i&&a&&a.call(o),e=!1):(this.pos=r.easing((s-this.startTime)/n),this.now=this.start+(this.end-this.start)*this.pos,this.update(),e=!0),e}initPath(t,e,i){let s=t.startX,r=t.endX,o=i.slice(),a=t.isArea,n=a?2:1,h=e&&i.length>e.length&&i.hasStackedCliffs,c,d,p,u,f=e?.slice();if(!f||h)return[o,o];function x(m,y){for(;m.length<d;){let b=m[0],v=y[d-m.length];if(v&&b[0]==="M"&&(v[0]==="C"?m[0]=["C",b[1],b[2],b[1],b[2],b[1],b[2]]:m[0]=["L",b[1],b[2]]),m.unshift(b),a){let k=m.pop();m.push(m[m.length-1],k)}}}function g(m){for(;m.length<d;){let y=m[Math.floor(m.length/n)-1].slice();if(y[0]==="C"&&(y[1]=y[5],y[2]=y[6]),a){let b=m[Math.floor(m.length/n)].slice();m.splice(m.length/2,0,y,b)}else m.push(y)}}if(s&&r&&r.length){for(p=0;p<s.length;p++)if(s[p]===r[0]){c=p;break}else if(s[0]===r[r.length-s.length+p]){c=p,u=!0;break}else if(s[s.length-1]===r[r.length-s.length+p]){c=s.length-p;break}c===void 0&&(f=[])}return f.length&&Zs(c)&&(d=o.length+c*n,u?(x(f,o),g(o)):(x(o,f),g(f))),[f,o]}fillSetter(){Ot.prototype.strokeSetter.apply(this,arguments)}strokeSetter(){this.elem.attr(this.prop,Co(this.start).tweenTo(Co(this.end),this.pos),void 0,!0)}}Ot.timers=[];let{defined:dl,getStyle:cl,isArray:pl,isNumber:ul,isObject:_s,merge:Ao,objectEach:gl,pick:fl}=F;function Js(l){return _s(l)?Ao({duration:500,defer:0},l):{duration:500*!!l,defer:0}}function Po(l,t){let e=Ot.timers.length;for(;e--;)Ot.timers[e].elem!==l||t&&t!==Ot.timers[e].prop||(Ot.timers[e].stopped=!0)}let Mt={animate:function(l,t,e){let i,s="",r,o,a;_s(e)||(a=arguments,e={duration:a[2],easing:a[3],complete:a[4]}),ul(e.duration)||(e.duration=400),e.easing=typeof e.easing=="function"?e.easing:Math[e.easing]||Math.easeInOutSine,e.curAnim=Ao(t),gl(t,function(n,h){Po(l,h),o=new Ot(l,e,h),r=void 0,h==="d"&&pl(t.d)?(o.paths=o.initPath(l,l.pathArray,t.d),o.toD=t.d,i=0,r=1):l.attr?i=l.attr(h):(i=parseFloat(cl(l,h))||0,h!=="opacity"&&(s="px")),r||(r=n),typeof r=="string"&&r.match("px")&&(r=r.replace(/px/g,"")),o.run(i,r,s)})},animObject:Js,getDeferredAnimation:function(l,t,e){let i=Js(t),s=e?[e]:l.series,r=0,o=0;return s.forEach(a=>{let n=Js(a.options.animation);r=_s(t)&&dl(t.defer)?i.defer:Math.max(r,n.duration+n.defer),o=Math.min(i.duration,n.duration)}),l.renderer.forExport&&(r=0),{defer:Math.max(0,r-o),duration:Math.min(r,o)}},setAnimation:function(l,t){t.renderer.globalAnimation=fl(l,t.options.chart.animation,!0)},stop:Po},{SVG_NS:Oo,win:ml}=L,{attr:xl,createElement:yl,css:bl,error:Lo,isFunction:vl,isString:Eo,objectEach:Io,splat:kl}=F,{trustedTypes:Qs}=ml,Di=Qs&&vl(Qs.createPolicy)&&Qs.createPolicy("highcharts",{createHTML:l=>l}),wl=Di?Di.createHTML(""):"";class at{static filterUserAttributes(t){return Io(t,(e,i)=>{let s=!0;at.allowedAttributes.indexOf(i)===-1&&(s=!1),["background","dynsrc","href","lowsrc","src"].indexOf(i)!==-1&&(s=Eo(e)&&at.allowedReferences.some(r=>e.indexOf(r)===0)),s||(Lo(33,!1,void 0,{"Invalid attribute in config":`${i}`}),delete t[i]),Eo(e)&&t[i]&&(t[i]=e.replace(/</g,"&lt;"))}),t}static parseStyle(t){return t.split(";").reduce((e,i)=>{let s=i.split(":").map(o=>o.trim()),r=s.shift();return r&&s.length&&(e[r.replace(/-([a-z])/g,o=>o[1].toUpperCase())]=s.join(":")),e},{})}static setElementHTML(t,e){t.innerHTML=at.emptyHTML,e&&new at(e).addToDOM(t)}constructor(t){this.nodes=typeof t=="string"?this.parseMarkup(t):t}addToDOM(t){return(function e(i,s){let r;return kl(i).forEach(function(o){let a,n=o.tagName,h=o.textContent?L.doc.createTextNode(o.textContent):void 0,c=at.bypassHTMLFiltering;if(n)if(n==="#text")a=h;else if(at.allowedTags.indexOf(n)!==-1||c){let d=n==="svg"?Oo:s.namespaceURI||Oo,p=L.doc.createElementNS(d,n),u=o.attributes||{};Io(o,function(f,x){x!=="tagName"&&x!=="attributes"&&x!=="children"&&x!=="style"&&x!=="textContent"&&(u[x]=f)}),xl(p,c?u:at.filterUserAttributes(u)),o.style&&bl(p,o.style),h&&p.appendChild(h),e(o.children||[],p),a=p}else Lo(33,!1,void 0,{"Invalid tagName in config":n});a&&s.appendChild(a),r=a}),r})(this.nodes,t)}parseMarkup(t){let e,i=[];t=t.trim().replace(/ style=(["'])/g," data-style=$1");try{e=new DOMParser().parseFromString(Di?Di.createHTML(t):t,"text/html")}catch{}if(!e){let r=yl("div");r.innerHTML=t,e={body:r}}let s=(r,o)=>{let a=r.nodeName.toLowerCase(),n={tagName:a};a==="#text"&&(n.textContent=r.textContent||"");let h=r.attributes;if(h){let c={};[].forEach.call(h,d=>{d.name==="data-style"?n.style=at.parseStyle(d.value):c[d.name]=d.value}),n.attributes=c}if(r.childNodes.length){let c=[];[].forEach.call(r.childNodes,d=>{s(d,c)}),c.length&&(n.children=c)}o.push(n)};return[].forEach.call(e.body.childNodes,r=>s(r,i)),i}}at.allowedAttributes=["alt","aria-controls","aria-describedby","aria-expanded","aria-haspopup","aria-hidden","aria-label","aria-labelledby","aria-live","aria-pressed","aria-readonly","aria-roledescription","aria-selected","class","clip-path","color","colspan","cx","cy","d","disabled","dx","dy","fill","filterUnits","flood-color","flood-opacity","height","href","id","in","in2","markerHeight","markerWidth","offset","opacity","operator","orient","padding","paddingLeft","paddingRight","patternUnits","r","radius","refX","refY","result","role","rowspan","scope","slope","src","startOffset","stdDeviation","stroke-linecap","stroke-width","stroke","style","summary","tabindex","tableValues","target","text-align","text-anchor","textAnchor","textLength","title","type","valign","width","x","x1","x2","xlink:href","y","y1","y2","zIndex"],at.allowedReferences=["https://","http://","mailto:","/","../","./","#"],at.allowedTags=["#text","a","abbr","b","br","button","caption","circle","clipPath","code","dd","defs","div","dl","dt","em","feComponentTransfer","feComposite","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feMerge","feMergeNode","feMorphology","feOffset","filter","h1","h2","h3","h4","h5","h6","hr","i","img","li","linearGradient","marker","ol","p","path","pattern","pre","rect","small","span","stop","strong","style","sub","sup","svg","table","tbody","td","text","textPath","th","thead","title","tr","tspan","u","ul"],at.emptyHTML=wl,at.bypassHTMLFiltering=!1;let{defaultOptions:Do,defaultTime:Bo}=Ft,{pageLang:Ml}=L,{extend:Sl,getNestedProperty:Tl,isArray:Cl,isNumber:No,isObject:Al,isString:Pl,pick:Ol,ucfirst:Ll}=F,Bi={add:(l,t)=>l+t,divide:(l,t)=>t!==0?l/t:"",eq:(l,t)=>l==t,each:function(l){let t=arguments[arguments.length-1];return!!Cl(l)&&l.map((e,i)=>Ni(t.body,Sl(Al(e)?e:{"@this":e},{"@index":i,"@first":i===0,"@last":i===l.length-1}))).join("")},ge:(l,t)=>l>=t,gt:(l,t)=>l>t,if:l=>!!l,le:(l,t)=>l<=t,lt:(l,t)=>l<t,multiply:(l,t)=>l*t,ne:(l,t)=>l!=t,subtract:(l,t)=>l-t,ucfirst:Ll,unless:l=>!l},zo={};function Ni(l="",t,e){let i=RegExp(`\\{([\\p{L}\\d:\\.,;\\-\\/<>\\[\\]%_@+"'’= #\\(\\)]+)\\}`,"gu"),s=RegExp(`\\(([\\p{L}\\d:\\.,;\\-\\/<>\\[\\]%_@+"'= ]+)\\)`,"gu"),r=[],o=/f$/,a=/\.(\d)/,n=e?.options?.lang||Do.lang,h=e?.time||Bo,c=e?.numberFormatter||Ro.bind(e),d=(g="")=>{let m;return g==="true"||g!=="false"&&((m=Number(g)).toString()===g?m:/^["'].+["']$/.test(g)?g.slice(1,-1):Tl(g,t))},p,u,f=0,x;for(;(p=i.exec(l))!==null;){let g=p,m=s.exec(p[1]);m&&(p=m,x=!0),u?.isBlock||(u={ctx:t,expression:p[1],find:p[0],isBlock:p[1].charAt(0)==="#",start:p.index,startInner:p.index+p[0].length,length:p[0].length});let y=(u.isBlock?g:p)[1].split(" ")[0].replace("#","");Bi[y]&&(u.isBlock&&y===u.fn&&f++,u.fn||(u.fn=y));let b=p[1]==="else";if(u.isBlock&&u.fn&&(p[1]===`/${u.fn}`||b))if(f)!b&&f--;else{let v=u.startInner,k=l.substr(v,p.index-v);u.body===void 0?(u.body=k,u.startInner=p.index+p[0].length):u.elseBody=k,u.find+=k+p[0],b||(r.push(u),u=void 0)}else u.isBlock||r.push(u);if(m&&!u?.isBlock)break}return r.forEach(g=>{let m,y,{body:b,elseBody:v,expression:k,fn:w}=g;if(w){let M=[g],S=[],C=k.length,P=0,T;for(y=0;y<=C;y++){let D=k.charAt(y);T||D!=='"'&&D!=="'"?T===D&&(T=""):T=D,T||D!==" "&&y!==C||(S.push(k.substr(P,y-P)),P=y+1)}for(y=Bi[w].length;y--;)M.unshift(d(S[y+1]));m=Bi[w].apply(t,M),g.isBlock&&typeof m=="boolean"&&(m=Ni(m?b:v,t,e))}else{let M=/^["'].+["']$/.test(k)?[k]:k.split(":");if(m=d(M.shift()||""),M.length&&typeof m=="number"){let S=M.join(":");if(o.test(S)){let C=parseInt((S.match(a)||["","-1"])[1],10);m!==null&&(m=c(m,C,n.decimalPoint,S.indexOf(",")>-1?n.thousandsSep:""))}else m=h.dateFormat(S,m)}s.lastIndex=0,s.test(g.find)&&Pl(m)&&(m=`"${m}"`)}l=l.replace(g.find,Ol(m,""))}),x?Ni(l,t,e):l}function Ro(l,t,e,i){t*=1;let s,r,[o,a]=(l=+l||0).toString().split("e").map(Number),n=this?.options?.lang||Do.lang,h=(l.toString().split(".")[1]||"").split("e")[0].length,c=t,d={};e??(e=n.decimalPoint),i??(i=n.thousandsSep),t===-1?t=Math.min(h,20):No(t)?t&&a<0&&((r=t+a)>=0?(o=+o.toExponential(r).split("e")[0],t=r):(o=Math.floor(o),l=t<20?+(o*Math.pow(10,a)).toFixed(t):0,a=0)):t=2,a&&(t??(t=2),l=o),No(t)&&t>=0&&(d.minimumFractionDigits=t,d.maximumFractionDigits=t),i===""&&(d.useGrouping=!1);let p=i||e,u=p?"en":this?.locale||n.locale||Ml,f=JSON.stringify(d)+u;return s=(zo[f]??(zo[f]=new Intl.NumberFormat(u,d))).format(l),p&&(s=s.replace(/([,\.])/g,"_$1").replace(/_\,/g,i??",").replace("_.",e??".")),(t||+s!=0)&&(!(a<0)||c)||(s="0"),a&&+s!=0&&(s+="e"+(a<0?"":"+")+a),s}let Gt={dateFormat:function(l,t,e){return Bo.dateFormat(l,t,e)},format:Ni,helpers:Bi,numberFormat:Ro};(tt=ct||(ct={})).rendererTypes={},tt.getRendererType=function(l=E){return tt.rendererTypes[l]||tt.rendererTypes[E]},tt.registerRendererType=function(l,t,e){tt.rendererTypes[l]=t,(!E||e)&&(E=l,L.Renderer=t)};let ri=ct,{clamp:El,pick:Il,pushUnique:Dl,stableSort:tr}=F;(mt||(mt={})).distribute=function l(t,e,i){let s=t,r=s.reducedLen||e,o=(b,v)=>b.target-v.target,a=[],n=t.length,h=[],c=a.push,d,p,u,f=!0,x,g,m=0,y;for(d=n;d--;)m+=t[d].size;if(m>r){for(tr(t,(b,v)=>(v.rank||0)-(b.rank||0)),u=(y=t[0].rank===t[t.length-1].rank)?n/2:-1,p=y?u:n-1;u&&m>r;)x=t[d=Math.floor(p)],Dl(h,d)&&(m-=x.size),p+=u,y&&p>=t.length&&(u/=2,p=u);h.sort((b,v)=>v-b).forEach(b=>c.apply(a,t.splice(b,1)))}for(tr(t,o),t=t.map(b=>({size:b.size,targets:[b.target],align:Il(b.align,.5)}));f;){for(d=t.length;d--;)x=t[d],g=(Math.min.apply(0,x.targets)+Math.max.apply(0,x.targets))/2,x.pos=El(g-x.size*x.align,0,e-x.size);for(d=t.length,f=!1;d--;)d>0&&t[d-1].pos+t[d-1].size>t[d].pos&&(t[d-1].size+=t[d].size,t[d-1].targets=t[d-1].targets.concat(t[d].targets),t[d-1].align=.5,t[d-1].pos+t[d-1].size>e&&(t[d-1].pos=e-t[d-1].size),t.splice(d,1),f=!0)}return c.apply(s,a),d=0,t.some(b=>{let v=0;return(b.targets||[]).some(()=>(s[d].pos=b.pos+v,i!==void 0&&Math.abs(s[d].pos-s[d].target)>i?(s.slice(0,d+1).forEach(k=>delete k.pos),s.reducedLen=(s.reducedLen||e)-.1*e,s.reducedLen>.1*e&&l(s,e,i),!0):(v+=s[d].size,d++,!1)))}),tr(s,o),s};let zi=mt,{animate:Bl,animObject:Nl,stop:Wo}=Mt,{deg2rad:Xo,doc:We,svg:zl,SVG_NS:Ri,win:Rl,isFirefox:Wl}=L,{addEvent:Xl,attr:er,createElement:Hl,crisp:Wi,css:Ho,defined:Zt,erase:Fl,extend:oi,fireEvent:ir,getAlignFactor:sr,isArray:Fo,isFunction:Go,isNumber:Gl,isObject:Yl,isString:Yo,merge:rr,objectEach:Xe,pick:we,pInt:Xi,pushUnique:jl,replaceNested:$l,syncTimeout:Ul,uniqueKey:jo}=F;class bt{_defaultGetter(t){let e=we(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),this.textStr!==void 0&&this.element.nodeName==="text"&&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(s,r){return i.indexOf(r)===-1&&s.push(r),s},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=this.renderer,o=r.alignedObjects,a=!!t;t?(this.alignOptions=t,this.alignByTranslate=e,this.alignTo=i):(t=this.alignOptions||{},e=this.alignByTranslate,i=this.alignTo);let n=!i||Yo(i)?i||"renderer":void 0;n&&(a&&jl(o,this),i=void 0);let h=we(i,r[n],r),c=(h.x||0)+(t.x||0)+((h.width||0)-(t.width||0))*sr(t.align),d=(h.y||0)+(t.y||0)+((h.height||0)-(t.height||0))*sr(t.verticalAlign),p={};return t.align&&(p["text-align"]=t.align),p[e?"translateX":"x"]=Math.round(c),p[e?"translateY":"y"]=Math.round(d),s&&(this[this.placed?"animate":"attr"](p),this.placed=!0),this.alignAttr=p,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=Nl(we(e,this.renderer.globalAnimation,!0)),r=s.defer;return We.hidden&&(s.duration=0),s.duration!==0?(i&&(s.complete=i),Ul(()=>{this.element&&Bl(this,t,s)},r)):(this.attr(t,void 0,i||s.complete),Xe(t,function(o,a){s.step&&s.step.call(this,o,{prop:a,pos:1,elem:this})},this)),this}applyTextOutline(t){let e=this.element;t.indexOf("contrast")!==-1&&(t=t.replace(/contrast/g,this.renderer.getContrast(e.style.fill)));let i=t.indexOf(" "),s=t.substring(i+1),r=t.substring(0,i);if(r&&r!=="none"&&L.svg){this.fakeTS=!0,r=r.replace(/(^[\d\.]+)(.*?)$/g,function(c,d,p){return 2*Number(d)+p}),this.removeTextOutline();let o=We.createElementNS(Ri,"tspan");er(o,{class:"highcharts-text-outline",fill:s,stroke:s,"stroke-width":r,"stroke-linejoin":"round"});let a=e.querySelector("textPath")||e;[].forEach.call(a.childNodes,c=>{let d=c.cloneNode(!0);d.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(p=>d.removeAttribute(p)),o.appendChild(d)});let n=0;[].forEach.call(a.querySelectorAll("text tspan"),c=>{n+=Number(c.getAttribute("dy"))});let h=We.createElementNS(Ri,"tspan");h.textContent="​",er(h,{x:Number(e.getAttribute("x")),dy:-n}),o.appendChild(h),a.insertBefore(o,a.firstChild)}}attr(t,e,i,s){let{element:r}=this,o=bt.symbolCustomAttribs,a,n,h=this,c;return typeof t=="string"&&e!==void 0&&(a=t,(t={})[a]=e),typeof t=="string"?h=(this[t+"Getter"]||this._defaultGetter).call(this,t,r):(Xe(t,function(d,p){c=!1,s||Wo(this,p),this.symbolName&&o.indexOf(p)!==-1&&(n||(this.symbolAttr(t),n=!0),c=!0),this.rotation&&(p==="x"||p==="y")&&(this.doTransform=!0),c||(this[p+"Setter"]||this._defaultSetter).call(this,d,p,r)},this),this.afterSetters()),i&&i.call(this),h}clip(t){if(t&&!t.clipPath){let e=jo()+"-",i=this.renderer.createElement("clipPath").attr({id:e}).add(this.renderer.defs);oi(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,a=Wi(i,e),n=Wi(s,e);return oi(t,{x:a,y:n,width:Wi(r,e)-a,height:Wi(o,e)-n}),Zt(t.strokeWidth)&&(t.strokeWidth=e),t}complexColor(t,e,i){let s=this.renderer,r,o,a,n,h,c,d,p,u,f,x=[],g;ir(this.renderer,"complexColor",{args:arguments},function(){if(t.radialGradient?o="radialGradient":t.linearGradient&&(o="linearGradient"),o){if(a=t[o],h=s.gradients,c=t.stops,u=i.radialReference,Fo(a)&&(t[o]=a={x1:a[0],y1:a[1],x2:a[2],y2:a[3],gradientUnits:"userSpaceOnUse"}),o==="radialGradient"&&u&&!Zt(a.gradientUnits)&&(n=a,a=rr(a,s.getRadialAttr(u,n),{gradientUnits:"userSpaceOnUse"})),Xe(a,function(m,y){y!=="id"&&x.push(y,m)}),Xe(c,function(m){x.push(m)}),h[x=x.join(",")])f=h[x].attr("id");else{a.id=f=jo();let m=h[x]=s.createElement(o).attr(a).add(s.defs);m.radAttr=n,m.stops=[],c.forEach(function(y){y[1].indexOf("rgba")===0?(d=(r=lt.parse(y[1])).get("rgb"),p=r.get("a")):(d=y[1],p=1);let b=s.createElement("stop").attr({offset:y[0],"stop-color":d,"stop-opacity":p}).add(m);m.stops.push(b)})}g="url("+s.url+"#"+f+")",i.setAttribute(e,g),i.gradient=x,t.toString=function(){return g}}})}css(t){let e=this.styles,i={},s=this.element,r,o=!e;if(e&&Xe(t,function(a,n){e&&e[n]!==a&&(i[n]=a,o=!0)}),o){e&&(t=oi(e,i)),t.width===null||t.width==="auto"?delete this.textWidth:s.nodeName.toLowerCase()==="text"&&t.width&&(r=this.textWidth=Xi(t.width)),oi(this.styles,t),r&&!zl&&this.renderer.forExport&&delete t.width;let a=Wl&&t.fontSize||null;a&&(Gl(a)||/^\d+$/.test(a))&&(t.fontSize+="px");let n=rr(t);s.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","whiteSpace","width"].forEach(h=>n&&delete n[h]),n.color&&(n.fill=n.color,delete n.color)),Ho(s,n)}return this.added&&(this.element.nodeName==="text"&&this.renderer.buildText(this),t.textOutline&&this.applyTextOutline(t.textOutline)),this}dashstyleSetter(t){let e,i=this["stroke-width"];if(i==="inherit"&&(i=1),t){let s=(t=t.toLowerCase()).replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(e=s.length;e--;)s[e]=""+Xi(s[e])*we(i,NaN);t=s.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",t)}}destroy(){let t=this,{element:e={},renderer:i,stops:s}=t,r=e.ownerSVGElement,o=e.nodeName==="SPAN"&&t.parentGroup||void 0,a;if(e.onclick=e.onmouseout=e.onmouseover=e.onmousemove=e.point=null,Wo(t),t.clipPath&&r){let n=t.clipPath;[].forEach.call(r.querySelectorAll("[clip-path],[CLIP-PATH]"),function(h){h.getAttribute("clip-path").indexOf(n.element.id)>-1&&h.removeAttribute("clip-path")}),t.clipPath=n.destroy()}if(s){for(let n of s)n.destroy();s.length=0}for(t.safeRemoveChild(e);o?.div&&o.div.childNodes.length===0;)a=o.parentGroup,t.safeRemoveChild(o.div),delete o.div,o=a;t.alignOptions&&Fl(i.alignedObjects,t),Xe(t,(n,h)=>{(t[h]?.parentGroup===t||["connector","foreignObject"].indexOf(h)!==-1)&&t[h]?.destroy?.(),delete t[h]})}dSetter(t,e,i){Fo(t)&&(typeof t[0]=="string"&&(t=this.renderer.pathToSegments(t)),this.pathArray=t,t=t.reduce((s,r,o)=>r?.join?(o?s+" ":"")+r.join(" "):(r||"").toString(),"")),/(NaN| {2}|^$)/.test(t)&&(t="M 0 0"),this[e]!==t&&(i.setAttribute(e,t),this[e]=t)}fillSetter(t,e,i){typeof t=="string"?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,{element:o,renderer:a,styles:n,textStr:h}=this,{cache:c,cacheKeys:d}=a,p=o.namespaceURI===this.SVG_NS,u=we(e,this.rotation,0),f=a.styledMode?o&&bt.prototype.getStyle.call(o,"font-size"):n.fontSize,x=this.getBBoxCacheKey([a.rootFontSize,this.textWidth,this.alignValue,n.fontWeight,n.lineClamp,n.textOverflow,f,u]);if(x&&!t&&(i=c[x]),!i||i.polygon){if(p||a.forExport){try{r=this.fakeTS&&function(m){let y=o.querySelector(".highcharts-text-outline");y&&Ho(y,{display:m})},Go(r)&&r("none"),i=o.getBBox?oi({},o.getBBox()):{width:o.offsetWidth,height:o.offsetHeight,x:0,y:0},Go(r)&&r("")}catch{}(!i||i.width<0)&&(i={x:0,y:0,width:0,height:0})}else i=this.htmlGetBBox();s=i.height,p&&(i.height=s={"11px,17":14,"13px,20":16}[`${f||""},${Math.round(s)}`]||s),u&&(i=this.getRotatedBox(i,u));let g={bBox:i};ir(this,"afterGetBBox",g),i=g.bBox}if(x&&(h===""||i.height>0)){for(;d.length>250;)delete c[d.shift()];c[x]||d.push(x),c[x]=i}return i}getBBoxCacheKey(t){if(Zt(this.textStr)){let e=""+this.textStr;return e.indexOf("<")===-1&&(e=e.replace(/\d/g,"0")),[e,...t].join(",")}}getRotatedBox(t,e){let{x:i,y:s,width:r,height:o}=t,{alignValue:a,translateY:n,rotationOriginX:h=0,rotationOriginY:c=0}=this,d=sr(a),p=Number(this.element.getAttribute("y")||0)-(n?0:s),u=e*Xo,f=(e-90)*Xo,x=Math.cos(u),g=Math.sin(u),m=r*x,y=r*g,b=Math.cos(f),v=Math.sin(f),[[k,w],[M,S]]=[h,c].map(G=>[G-G*x,G*g]),C=i+d*(r-m)+k+S+p*b,P=C+m,T=P-o*b,D=T-m,N=s+p-d*y-w+M+p*v,z=N+y,X=z-o*v,W=X-y,R=Math.min(C,P,T,D),ot=Math.min(N,z,X,W),et=Math.max(C,P,T,D)-R,Lt=Math.max(N,z,X,W)-ot;return{x:R,y:ot,width:et,height:Lt,polygon:[[C,N],[P,z],[T,X],[D,W]]}}getStyle(t){return Rl.getComputedStyle(this.element||this,"").getPropertyValue(t)}hasClass(t){return(""+this.attr("class")).split(" ").indexOf(t)!==-1}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=Ri,this.element=e==="span"||e==="body"?Hl(e):We.createElementNS(this.SVG_NS,e),this.renderer=t,this.styles={},ir(this,"afterInit")}on(t,e){let{onEvents:i}=this;return i[t]&&i[t](),i[t]=Xl(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&&this.alignOptions.align!=="left"&&(this.alignOptions.width=this.getBBox().width,this.placed=!1,this.align())}removeClass(t){return this.attr("class",(""+this.attr("class")).replace(Yo(t)?RegExp(`(^| )${t}( |$)`):t," ").replace(/ +/g," ").trim())}removeTextOutline(){let t=this.element.querySelector("tspan.highcharts-text-outline");t&&this.safeRemoveChild(t)}safeRemoveChild(t){let e=t.parentNode;e&&e.removeChild(t)}setRadialReference(t){let e=this.element.gradient&&this.renderer.gradients[this.element.gradient]||void 0;return this.element.radialReference=t,e?.radAttr&&e.animate(this.renderer.getRadialAttr(t,e.radAttr)),this}shadow(t){let{renderer:e}=this,i=rr(this.parentGroup?.rotation===90?{offsetX:-1,offsetY:-1}:{},Yl(t)?t:{}),s=e.shadowDefinition(i);return this.attr({filter:t?`url(${e.url}#${s})`:"none"})}show(t=!0){return this.attr({visibility:t?"inherit":"visible"})}"stroke-widthSetter"(t,e,i){this[e]=t,i.setAttribute(e,t)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let t=this.getStyle("stroke-width"),e=0,i;return/px$/.test(t)?e=Xi(t):t!==""&&(er(i=We.createElementNS(Ri,"rect"),{width:t,"stroke-width":0}),this.element.parentNode.appendChild(i),e=i.getBBox().width,i.parentNode.removeChild(i)),e}symbolAttr(t){let e=this;bt.symbolCustomAttribs.forEach(function(i){e[i]=we(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]||We.createElementNS(this.SVG_NS,"title");e.insertBefore?e.insertBefore(i,e.firstChild):e.appendChild(i),i.textContent=$l(we(t,""),[/<[^>]*>/g,""]).replace(/&lt;/g,"<").replace(/&gt;/g,">")}toFront(){let t=this.element;return t.parentNode.appendChild(t),this}translate(t,e){return this.attr({translateX:t,translateY:e})}updateTransform(t="transform"){let{element:e,foreignObject:i,matrix:s,padding:r,rotation:o=0,rotationOriginX:a,rotationOriginY:n,scaleX:h,scaleY:c,text:d,translateX:p=0,translateY:u=0}=this,f=[`translate(${p},${u})`];Zt(s)&&f.push("matrix("+s.join(",")+")"),o&&(f.push("rotate("+o+" "+(a??e.getAttribute("x")??this.x??0)+" "+(n??e.getAttribute("y")??this.y??0)+")"),d?.element.tagName!=="SPAN"||d?.foreignObject||d.attr({rotation:o,rotationOriginX:(a||0)-r,rotationOriginY:(n||0)-r})),(Zt(h)||Zt(c))&&f.push(`scale(${h??1} ${c??1})`),f.length&&!(d||this).textPath&&(i?.element||e).setAttribute(t,f.join(" "))}visibilitySetter(t,e,i){t==="inherit"?i.removeAttribute(e):this[e]!==t&&i.setAttribute(e,t),this[e]=t}xGetter(t){return this.element.nodeName==="circle"&&(t==="x"?t="cx":t==="y"&&(t="cy")),this._defaultGetter(t)}zIndexSetter(t,e){let i=this.renderer,s=this.parentGroup,r=(s||i).element||i.box,o=this.element,a=r===i.box,n,h,c,d=!1,p,u=this.added,f;if(Zt(t)?(o.setAttribute("data-z-index",t),t*=1,this[e]===t&&(u=!1)):Zt(this[e])&&o.removeAttribute("data-z-index"),this[e]=t,u){for((t=this.zIndex)&&s&&(s.handleZ=!0),f=(n=r.childNodes).length-1;f>=0&&!d;f--)p=!Zt(c=(h=n[f]).getAttribute("data-z-index")),h!==o&&(t<0&&p&&!a&&!f?(r.insertBefore(o,n[f]),d=!0):(Xi(c)<=t||p&&(!Zt(t)||t>=0))&&(r.insertBefore(o,n[f+1]),d=!0));d||(r.insertBefore(o,n[3*!!a]),d=!0)}return d}}bt.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],bt.prototype.strokeSetter=bt.prototype.fillSetter,bt.prototype.yGetter=bt.prototype.xGetter,bt.prototype.matrixSetter=bt.prototype.rotationOriginXSetter=bt.prototype.rotationOriginYSetter=bt.prototype.rotationSetter=bt.prototype.scaleXSetter=bt.prototype.scaleYSetter=bt.prototype.translateXSetter=bt.prototype.translateYSetter=bt.prototype.verticalAlignSetter=function(l,t){this[t]=l,this.doTransform=!0};let _t=bt,{defined:$o,extend:Vl,getAlignFactor:Uo,isNumber:ai,merge:ql,pick:Hi,removeEvent:Vo}=F;class Me extends _t{constructor(t,e,i,s,r,o,a,n,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=a,this.baseline=h,this.className=c,this.addClass(c==="button"?"highcharts-no-tooltip":"highcharts-label"),c&&this.addClass("highcharts-"+c),this.text=t.text(void 0,0,0,n).attr({zIndex:1}),typeof r=="string"&&((d=/^url\((.*?)\)$/.test(r))||this.renderer.symbols[r])&&(this.symbolKey=r),this.bBox=Me.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=t.styledMode||d,this.deferredAttr={},this.alignFactor=0}alignSetter(t){let e=Uo(t);this.textAlign=t,e!==this.alignFactor&&(this.alignFactor=e,this.bBox&&ai(this.xSetting)&&this.attr({x:this.xSetting}),this.updateTextPadding())}anchorXSetter(t,e){this.anchorX=t,this.boxAttr(e,Math.round(t)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(t,e){this.anchorY=t,this.boxAttr(e,t-this.ySetting)}boxAttr(t,e){this.box?this.box.attr(t,e):this.deferredAttr[t]=e}css(t){if(t){let e={};t=ql(t),Me.textProps.forEach(i=>{t[i]!==void 0&&(e[i]=t[i],delete t[i])}),this.text.css(e),"fontSize"in e||"fontWeight"in e||"width"in e?this.updateTextPadding():"textOverflow"in e&&this.updateBoxSize()}return _t.prototype.css.call(this,t)}destroy(){Vo(this.element,"mouseenter"),Vo(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&&this.bBox.width===0&&this.bBox.height===0||this.rotation)&&this.updateBoxSize();let{padding:i,height:s=0,translateX:r=0,translateY:o=0,width:a=0}=this,n=Hi(this.paddingLeft,i),h=e??(this.rotation||0),c={width:a,height:s,x:r+this.bBox.x-n,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:Hi(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&$o(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(t,e){ai(t)?t!==this[e]&&(this[e]=t,this.updateTextPadding()):this[e]=void 0}rSetter(t,e){this.boxAttr(e,t)}strokeSetter(t,e){this.stroke=t,this.boxAttr(e,t)}"stroke-widthSetter"(t,e){t&&(this.needsBox=!0),this["stroke-width"]=t,this.boxAttr(e,t)}"text-alignSetter"(t){this.textAlign=this["text-align"]=t,this.updateTextPadding()}textSetter(t){t!==void 0&&this.text.attr({text:t}),this.updateTextPadding(),this.reAlign()}updateBoxSize(){let t,e=this.text,i={},s=this.padding,r=this.bBox=(!ai(this.widthSetting)||!ai(this.heightSetting)||this.textAlign)&&$o(e.textStr)?e.getBBox(void 0,0):Me.emptyBBox;this.width=this.getPaddedWidth(),this.height=(this.heightSetting||r.height||0)+2*s;let o=this.renderer.fontMetrics(e);if(this.baselineOffset=s+Math.min((this.text.firstLineMetrics||o).b,r.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-o.h)/2),this.needsBox&&!e.textPath){if(!this.box){let a=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();a.addClass((this.className==="button"?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),a.add(this)}i.x=t=this.getCrispAdjust(),i.y=(this.baseline?-this.baselineOffset:0)+t,i.width=Math.round(this.width),i.height=Math.round(this.height),this.box.attr(Vl(i,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let t=this.text,e=t.styles.textAlign||this.textAlign;if(!t.textPath){this.updateBoxSize();let i=this.baseline?0:this.baselineOffset,s=(this.paddingLeft??this.padding)+Uo(e)*(this.widthSetting??this.bBox.width);(s!==t.x||i!==t.y)&&(t.attr({align:e,x:s}),i!==void 0&&t.attr("y",i)),t.x=s,t.y=i}}widthSetter(t){this.widthSetting=ai(t)?t:void 0,this.doUpdate=!0}getPaddedWidth(){let t=this.padding,e=Hi(this.paddingLeft,t),i=Hi(this.paddingRight,t);return(this.widthSetting||this.bBox.width||0)+e+i}xSetter(t){this.x=t,this.alignFactor&&(t-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.anchorX&&(this["forceAnimate:anchorX"]=!0),this.xSetting=Math.round(t),this.attr("translateX",this.xSetting)}ySetter(t){this.anchorY&&(this["forceAnimate:anchorY"]=!0),this.ySetting=this.y=Math.round(t),this.attr("translateY",this.ySetting)}}Me.emptyBBox={width:0,height:0,x:0,y:0},Me.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineClamp","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"];let{defined:qo,isNumber:Kl,pick:ni}=F;function Ko(l,t,e,i,s){let r=[];if(s){let o=s.start||0,a=s.end||0,n=ni(s.r,e),h=ni(s.r,i||e),c=2e-4/(s.borderRadius?1:Math.max(n,1)),d=Math.abs(a-o-2*Math.PI)<c;d&&(o=Math.PI/2,a=2.5*Math.PI-c);let p=s.innerR,u=ni(s.open,d),f=Math.cos(o),x=Math.sin(o),g=Math.cos(a),m=Math.sin(a),y=ni(s.longArc,a-o-Math.PI<c?0:1),b=["A",n,h,0,y,ni(s.clockwise,1),l+n*g,t+h*m];b.params={start:o,end:a,cx:l,cy:t},r.push(["M",l+n*f,t+h*x],b),qo(p)&&((b=["A",p,p,0,y,qo(s.clockwise)?1-s.clockwise:0,l+p*f,t+p*x]).params={start:a,end:o,cx:l,cy:t},r.push(u?["M",l+p*g,t+p*m]:["L",l+p*g,t+p*m],b)),u||r.push(["Z"])}return r}function Zo(l,t,e,i,s){return s?.r?or(l,t,e,i,s):[["M",l,t],["L",l+e,t],["L",l+e,t+i],["L",l,t+i],["Z"]]}function or(l,t,e,i,s){let r=s?.r||0;return[["M",l+r,t],["L",l+e-r,t],["A",r,r,0,0,1,l+e,t+r],["L",l+e,t+i-r],["A",r,r,0,0,1,l+e-r,t+i],["L",l+r,t+i],["A",r,r,0,0,1,l,t+i-r],["L",l,t+r],["A",r,r,0,0,1,l+r,t],["Z"]]}let _o={arc:Ko,callout:function(l,t,e,i,s){let r=Math.min(s?.r||0,e,i),o=r+6,a=s?.anchorX,n=s?.anchorY||0,h=or(l,t,e,i,{r});if(!Kl(a)||a<e&&a>0&&n<i&&n>0)return h;if(l+a>e-o)if(n>t+o&&n<t+i-o)h.splice(3,1,["L",l+e,n-6],["L",l+e+6,n],["L",l+e,n+6],["L",l+e,t+i-r]);else if(a<e){let c=n<t+o,d=c?t:t+i;h.splice(c?2:5,0,["L",a,n],["L",l+e-r,d])}else h.splice(3,1,["L",l+e,i/2],["L",a,n],["L",l+e,i/2],["L",l+e,t+i-r]);else if(l+a<o)if(n>t+o&&n<t+i-o)h.splice(7,1,["L",l,n+6],["L",l-6,n],["L",l,n-6],["L",l,t+r]);else if(a>0){let c=n<t+o,d=c?t:t+i;h.splice(c?1:6,0,["L",a,n],["L",l+r,d])}else h.splice(7,1,["L",l,i/2],["L",a,n],["L",l,i/2],["L",l,t+r]);else n>i&&a<e-o?h.splice(5,1,["L",a+6,t+i],["L",a,t+i+6],["L",a-6,t+i],["L",l+r,t+i]):n<0&&a>o&&h.splice(1,1,["L",a-6,t],["L",a,t-6],["L",a+6,t],["L",e-r,t]);return h},circle:function(l,t,e,i){return Ko(l+e/2,t+i/2,e/2,i/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(l,t,e,i){return[["M",l+e/2,t],["L",l+e,t+i/2],["L",l+e/2,t+i],["L",l,t+i/2],["Z"]]},rect:Zo,roundedRect:or,square:Zo,triangle:function(l,t,e,i){return[["M",l+e/2,t],["L",l+e,t+i],["L",l,t+i],["Z"]]},"triangle-down":function(l,t,e,i){return[["M",l,t],["L",l+e,t],["L",l+e/2,t+i],["Z"]]}},{doc:ar,SVG_NS:Zl,win:Jo}=L,{attr:nr,extend:_l,fireEvent:Jl,isString:Ql,objectEach:th,pick:eh}=F,lr=(l,t)=>l.substring(0,t)+"…",ih=class{constructor(l){const t=l.styles;this.renderer=l.renderer,this.svgElement=l,this.width=l.textWidth,this.textLineHeight=t?.lineHeight,this.textOutline=t?.textOutline,this.ellipsis=t?.textOverflow==="ellipsis",this.lineClamp=t?.lineClamp,this.noWrap=t?.whiteSpace==="nowrap"}buildSVG(){let l=this.svgElement,t=l.element,e=l.renderer,i=eh(l.textStr,"").toString(),s=i.indexOf("<")!==-1,r=t.childNodes,o=!l.added&&e.box,a=[i,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,l.getStyle("font-size"),l.styles.lineClamp,this.width].join(",");if(a!==l.textCache){l.textCache=a,delete l.actualWidth;for(let n=r.length;n--;)t.removeChild(r[n]);if(s||this.ellipsis||this.width||l.textPath||i.indexOf(" ")!==-1&&(!this.noWrap||/<br.*?>/g.test(i))){if(i!==""){o&&o.appendChild(t);let n=new at(i);this.modifyTree(n.nodes),n.addToDOM(t),this.modifyDOM(),this.ellipsis&&(t.textContent||"").indexOf("…")!==-1&&l.attr("title",this.unescapeEntities(l.textStr||"",["&lt;","&gt;"])),o&&o.removeChild(t)}}else t.appendChild(ar.createTextNode(this.unescapeEntities(i)));Ql(this.textOutline)&&l.applyTextOutline&&l.applyTextOutline(this.textOutline)}}modifyDOM(){let l,t=this.svgElement,e=nr(t.element,"x");for(t.firstLineMetrics=void 0;(l=t.element.firstChild)&&/^[\s\u200B]*$/.test(l.textContent||" ");)t.element.removeChild(l);[].forEach.call(t.element.querySelectorAll("tspan.highcharts-br"),(o,a)=>{o.nextSibling&&o.previousSibling&&(a===0&&o.previousSibling.nodeType===1&&(t.firstLineMetrics=t.renderer.fontMetrics(o.previousSibling)),nr(o,{dy:this.getLineHeight(o.nextSibling),x:e}))});let i=this.width||0;if(!i)return;let s=(o,a)=>{let n=o.textContent||"",h=n.replace(/([^\^])-/g,"$1- ").split(" "),c=!this.noWrap&&(h.length>1||t.element.childNodes.length>1),d=this.getLineHeight(a),p=Math.max(0,i-.8*d),u=0,f=t.actualWidth;if(c){let x=[],g=[];for(;a.firstChild&&a.firstChild!==o;)g.push(a.firstChild),a.removeChild(a.firstChild);for(;h.length;)if(h.length&&!this.noWrap&&u>0&&(x.push(o.textContent||""),o.textContent=h.join(" ").replace(/- /g,"-")),this.truncate(o,void 0,h,u===0&&f||0,i,p,(m,y)=>h.slice(0,y).join(" ").replace(/- /g,"-")),f=t.actualWidth,u++,this.lineClamp&&u>=this.lineClamp){h.length&&(this.truncate(o,o.textContent||"",void 0,0,i,p,lr),o.textContent=o.textContent?.replace("…","")+"…");break}g.forEach(m=>{a.insertBefore(m,o)}),x.forEach(m=>{a.insertBefore(ar.createTextNode(m),o);let y=ar.createElementNS(Zl,"tspan");y.textContent="​",nr(y,{dy:d,x:e}),a.insertBefore(y,o)})}else this.ellipsis&&n&&this.truncate(o,n,void 0,0,i,p,lr)},r=o=>{[].slice.call(o.childNodes).forEach(a=>{a.nodeType===Jo.Node.TEXT_NODE?s(a,o):(a.className.baseVal.indexOf("highcharts-br")!==-1&&(t.actualWidth=0),r(a))})};r(t.element)}getLineHeight(l){let t=l.nodeType===Jo.Node.TEXT_NODE?l.parentElement:l;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(t||this.svgElement.element).h}modifyTree(l){let t=(e,i)=>{let{attributes:s={},children:r,style:o={},tagName:a}=e,n=this.renderer.styledMode;if(a==="b"||a==="strong"?n?s.class="highcharts-strong":o.fontWeight="bold":(a==="i"||a==="em")&&(n?s.class="highcharts-emphasized":o.fontStyle="italic"),o?.color&&(o.fill=o.color),a==="br"){s.class="highcharts-br",e.textContent="​";let h=l[i+1];h?.textContent&&(h.textContent=h.textContent.replace(/^ +/gm,""))}else a==="a"&&r&&r.some(h=>h.tagName==="#text")&&(e.children=[{children:r,tagName:"tspan"}]);a!=="#text"&&a!=="a"&&(e.tagName="tspan"),_l(e,{attributes:s,style:o}),r&&r.filter(h=>h.tagName!=="#text").forEach(t)};l.forEach(t),Jl(this.svgElement,"afterModifyTree",{nodes:l})}truncate(l,t,e,i,s,r,o){let a,n,h=this.svgElement,{rotation:c}=h,d=[],p=e&&!i?1:0,u=(t||e||"").length,f=u;e||(s=r);let x=function(g,m){let y=m||g,b=l.parentNode;if(b&&d[y]===void 0&&b.getSubStringLength)try{d[y]=i+b.getSubStringLength(0,e?y+1:y)}catch{}return d[y]};if(h.rotation=0,i+(n=x(l.textContent.length))>s){for(;p<=u;)f=Math.ceil((p+u)/2),e&&(a=o(e,f)),n=x(f,a&&a.length-1),p===u?p=u+1:n>s?u=f-1:p=f;u===0?l.textContent="":t&&u===t.length-1||(l.textContent=a||o(t||e,f)),this.ellipsis&&n>s&&this.truncate(l,l.textContent||"",void 0,0,s,r,lr)}e&&e.splice(0,f),h.actualWidth=n,h.rotation=c}unescapeEntities(l,t){return th(this.renderer.escapes,function(e,i){t&&t.indexOf(e)!==-1||(l=l.toString().replace(RegExp(e,"g"),i))}),l}},{defaultOptions:sh}=Ft,{charts:rh,deg2rad:Qo,doc:He,isFirefox:ta,isMS:ea,isWebKit:oh,noop:ah,SVG_NS:nh,symbolSizes:hr,win:dr}=L,{addEvent:Fi,attr:Gi,createElement:lh,crisp:ia,css:Yi,defined:Se,destroyObjectProperties:hh,extend:Te,isArray:dh,isNumber:Ce,isObject:li,isString:ch,merge:cr,pick:pr,pInt:ph,replaceNested:uh,uniqueKey:gh}=F;class ji{constructor(t,e,i,s,r,o,a){let n,h;this.x=0,this.y=0;const c=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),d=c.element;a||c.css(this.getStyle(s||{})),t.appendChild(d),Gi(t,"dir","ltr"),t.innerHTML.indexOf("xmlns")===-1&&Gi(d,"xmlns",this.SVG_NS),this.box=d,this.boxWrapper=c,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(He.createTextNode("Created with Highcharts 12.5.0")),this.defs=this.createElement("defs").add(),this.allowHTML=o,this.forExport=r,this.styledMode=a,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=c.getStyle("font-size"),this.setSize(e,i,!1),ta&&t.getBoundingClientRect&&((n=function(){Yi(t,{left:0,top:0}),h=t.getBoundingClientRect(),Yi(t,{left:Math.ceil(h.left)-h.left+"px",top:Math.ceil(h.top)-h.top+"px"})})(),this.unSubPixelFix=Fi(dr,"resize",n))}definition(t){return new at([t]).addToDOM(this.defs.element)}getReferenceURL(){if((ta||oh)&&He.getElementsByTagName("base").length){if(!Se(V)){let t=gh(),e=new at([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:t},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${t})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(He.body);Yi(e,{position:"fixed",top:0,left:0,zIndex:9e5}),V=He.elementFromPoint(6,6)?.id==="hitme",He.body.removeChild(e)}if(V)return uh(dr.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"])}return""}getStyle(t){return this.style=Te({fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif',fontSize:"1rem"},t),this.style}setStyle(t){this.boxWrapper.css(this.getStyle(t))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let t=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),hh(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(s=>`${s}-${t[s]}`)].join("-").toLowerCase().replace(/[^a-z\d\-]/g,""),i=cr({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 ih(t).buildSVG()}getContrast(t){if(t==="transparent")return"#000000";let e=lt.parse(t).rgba,i=" clamp(0,calc(9e9*(0.5 - (0.2126*r + 0.7152*g + 0.0722*b))),1)";if(Ce(e[0])||!lt.useColorMix){let s=e.map(o=>{let a=o/255;return a<=.04?a/12.92:Math.pow((a+.055)/1.055,2.4)}),r=.2126*s[0]+.7152*s[1]+.0722*s[2];return 1.05/(r+.05)>(r+.05)/.05?"#FFFFFF":"#000000"}return"color(from "+t+" srgb"+i+i+i+")"}button(t,e,i,s,r={},o,a,n,h,c){let d=this.label(t,e,i,h,void 0,void 0,c,void 0,"button"),p=this.styledMode,u=arguments,f=0;r=cr(sh.global.buttonTheme,r),p&&(delete r.fill,delete r.stroke,delete r["stroke-width"]);let x=r.states||{},g=r.style||{};delete r.states,delete r.style;let m=[at.filterUserAttributes(r)],y=[g];return p||["hover","select","disabled"].forEach((b,v)=>{m.push(cr(m[0],at.filterUserAttributes(u[v+5]||x[b]||{}))),y.push(m[v+1].style),delete m[v+1].style}),Fi(d.element,ea?"mouseover":"mouseenter",function(){f!==3&&d.setState(1)}),Fi(d.element,ea?"mouseout":"mouseleave",function(){f!==3&&d.setState(f)}),d.setState=(b=0)=>{if(b!==1&&(d.state=f=b),d.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][b]),!p){d.attr(m[b]);let v=y[b];li(v)&&d.css(v)}},d.attr(m[0]),!p&&(d.css(Te({cursor:"default"},g)),c&&d.text.css({pointerEvents:"none"})),d.on("touchstart",b=>b.stopPropagation()).on("click",function(b){f!==3&&s?.call(d,b)})}crispLine(t,e){let[i,s]=t;return Se(i[1])&&i[1]===s[1]&&(i[1]=s[1]=ia(i[1],e)),Se(i[2])&&i[2]===s[2]&&(i[2]=s[2]=ia(i[2],e)),t}path(t){let e=this.styledMode?{}:{fill:"none"};return dh(t)?e.d=t:li(t)&&Te(e,t),this.createElement("path").attr(e)}circle(t,e,i){let s=li(t)?t:t===void 0?{}:{x:t,y:e,r:i},r=this.createElement("circle");return r.xSetter=r.ySetter=function(o,a,n){n.setAttribute("c"+a,o)},r.attr(s)}arc(t,e,i,s,r,o){let a;li(t)?(e=(a=t).y,i=a.r,s=a.innerR,r=a.start,o=a.end,t=a.x):a={innerR:s,start:r,end:o};let n=this.symbol("arc",t,e,i,i,a);return n.r=i,n}rect(t,e,i,s,r,o){let a=li(t)?t:t===void 0?{}:{x:t,y:e,r,width:Math.max(i||0,0),height:Math.max(s||0,0)},n=this.createElement("rect");return this.styledMode||(o!==void 0&&(a["stroke-width"]=o,Te(a,n.crisp(a))),a.fill="none"),n.rSetter=function(h,c,d){n.r=h,Gi(d,{rx:h,ry:h})},n.rGetter=function(){return n.r||0},n.attr(a)}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:pr(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 a={preserveAspectRatio:"none"};Ce(e)&&(a.x=e),Ce(i)&&(a.y=i),Ce(s)&&(a.width=s),Ce(r)&&(a.height=r);let n=this.createElement("image").attr(a),h=function(c){n.attr({href:t}),o.call(n,c)};if(o){n.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let c=new dr.Image;Fi(c,"load",h),c.src=t,c.complete&&h({})}else n.attr({href:t});return n}symbol(t,e,i,s,r,o){let a,n,h,c,d=this,p=/^url\((.*?)\)$/,u=p.test(t),f=!u&&(this.symbols[t]?t:"circle"),x=f&&this.symbols[f];if(x)typeof e=="number"&&(n=x.call(this.symbols,e||0,i||0,s||0,r||0,o)),a=this.path(n),d.styledMode||a.attr("fill","none"),Te(a,{symbolName:f||void 0,x:e,y:i,width:s,height:r}),o&&Te(a,o);else if(u){h=t.match(p)[1];let g=a=this.image(h);g.imgwidth=pr(o?.width,hr[h]?.width),g.imgheight=pr(o?.height,hr[h]?.height),c=m=>m.attr({width:m.width,height:m.height}),["width","height"].forEach(m=>{g[`${m}Setter`]=function(y,b){this[b]=y;let{alignByTranslate:v,element:k,width:w,height:M,imgwidth:S,imgheight:C}=this,P=b==="width"?S:C,T=1;o&&o.backgroundSize==="within"&&w&&M&&S&&C?(T=Math.min(w/S,M/C),Gi(k,{width:Math.round(S*T),height:Math.round(C*T)})):k&&P&&k.setAttribute(b,P),!v&&S&&C&&this.translate(((w||0)-S*T)/2,((M||0)-C*T)/2)}}),Se(e)&&g.attr({x:e,y:i}),g.isImg=!0,g.symbolUrl=t,Se(g.imgwidth)&&Se(g.imgheight)?c(g):(g.attr({width:0,height:0}),lh("img",{onload:function(){let m=rh[d.chartIndex];this.width===0&&(Yi(this,{position:"absolute",top:"-999em"}),He.body.appendChild(this)),hr[h]={width:this.width,height:this.height},g.imgwidth=this.width,g.imgheight=this.height,g.element&&c(g),this.parentNode&&this.parentNode.removeChild(this),d.imgCount--,d.imgCount||!m||m.hasLoaded||m.onload()},src:h}),this.imgCount++)}return a}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)),Se(t)&&(r.text=t);let o=this.createElement("text").attr(r);return s&&(!this.forExport||this.allowHTML)||(o.xSetter=function(a,n,h){let c=h.getElementsByTagName("tspan"),d=h.getAttribute(n);for(let p=0,u;p<c.length;p++)(u=c[p]).getAttribute(n)===d&&u.setAttribute(n,a);h.setAttribute(n,a)}),o}fontMetrics(t){let e=Ce(t)?t:ph(_t.prototype.getStyle.call(t,"font-size")||0),i=e<24?e+3:Math.round(1.2*e),s=Math.round(.8*i);return{h:i,b:s,f:e}}rotCorr(t,e,i){let s=t;return e&&i&&(s=Math.max(s*Math.cos(e*Qo),4)),{x:-t/3*Math.sin(e*Qo),y:s}}pathToSegments(t){let e=[],i=[],s={A:8,C:7,H:2,L:3,M:3,Q:5,S:5,T:3,V:2};for(let r=0;r<t.length;r++)ch(i[0])&&Ce(t[r])&&i.length===s[i[0].toUpperCase()]&&t.splice(r,0,i[0].replace("M","L").replace("m","l")),typeof t[r]=="string"&&(i.length&&e.push(i.slice(0)),i.length=0),i.push(t[r]);return e.push(i.slice(0)),e}label(t,e,i,s,r,o,a,n,h){return new Me(this,t,e,i,s,r,o,a,n,h)}alignElements(){this.alignedObjects.forEach(t=>t.align())}}Te(ji.prototype,{Element:_t,SVG_NS:nh,escapes:{"&":"&amp;","<":"&lt;",">":"&gt;","'":"&#39;",'"':"&quot;"},symbols:_o,draw:ah}),ri.registerRendererType("svg",ji,!0);let{composed:fh,isFirefox:mh}=L,{attr:xh,css:he,createElement:yh,defined:sa,extend:bh,getAlignFactor:vh,isNumber:$i,pInt:kh,pushUnique:wh}=F;function ra(l,t,e){let i=this.div?.style;_t.prototype[`${t}Setter`].call(this,l,t,e),i&&(e.style[t]=i[t]=l)}let Mh=(l,t)=>{if(!l.div){let e=xh(l.element,"class"),i=l.css,s=yh("div",e?{className:e}:void 0,{position:"absolute",left:`${l.translateX||0}px`,top:`${l.translateY||0}px`,...l.styles,display:l.display,opacity:l.opacity,visibility:l.visibility},l.parentGroup?.div||t);l.classSetter=(r,o,a)=>{a.setAttribute("class",r),s.className=r},l.translateXSetter=l.translateYSetter=(r,o)=>{l[o]=r,s.style[o==="translateX"?"left":"top"]=`${r}px`,l.doTransform=!0},l.scaleXSetter=l.scaleYSetter=(r,o)=>{l[o]=r,l.doTransform=!0},l.opacitySetter=l.visibilitySetter=ra,l.css=r=>(i.call(l,r),r.cursor&&(s.style.cursor=r.cursor),r.pointerEvents&&(s.style.pointerEvents=r.pointerEvents),l),l.on=function(){return _t.prototype.on.apply({element:s,onEvents:l.onEvents},arguments),l},l.div=s}return l.div};class Fe extends _t{static compose(t){wh(fh,this.compose)&&(t.prototype.html=function(e,i,s){return new Fe(this,"span").attr({text:e,x:Math.round(i),y:Math.round(s)})})}constructor(t,e){super(t,e),Fe.useForeignObject?this.foreignObject=t.createElement("foreignObject").attr({zIndex:2}):this.css({position:"absolute",...t.styledMode?{}:{fontFamily:t.style.fontFamily,fontSize:t.style.fontSize}}),this.element.style.whiteSpace="nowrap"}getSpanCorrection(t,e,i){this.xCorr=-t*i,this.yCorr=-e}css(t){let e,{element:i}=this,s=i.tagName==="SPAN"&&t&&"width"in t,r=s&&t.width;return s&&(delete t.width,this.textWidth=kh(r)||void 0,e=!0),t?.textOverflow==="ellipsis"&&(t.overflow="hidden",t.whiteSpace="nowrap"),t?.lineClamp&&(t.display="-webkit-box",t.WebkitLineClamp=t.lineClamp,t.WebkitBoxOrient="vertical",t.overflow="hidden"),$i(Number(t?.fontSize))&&(t.fontSize+="px"),bh(this.styles,t),he(i,t),e&&this.updateTransform(),this}htmlGetBBox(){let{element:t}=this;return{x:t.offsetLeft,y:t.offsetTop,width:t.offsetWidth,height:t.offsetHeight}}updateTransform(){if(!this.added){this.alignOnAdd=!0;return}let{element:t,foreignObject:e,oldTextWidth:i,renderer:s,rotation:r,rotationOriginX:o,rotationOriginY:a,scaleX:n,scaleY:h,styles:{display:c="inline-block",whiteSpace:d},textAlign:p="left",textWidth:u,translateX:f=0,translateY:x=0,x:g=0,y:m=0}=this,y=()=>this.textPxLength?this.textPxLength:(he(t,{width:"",whiteSpace:d||"nowrap"}),t.offsetWidth);if(e||he(t,{marginLeft:`${f}px`,marginTop:`${x}px`}),t.tagName==="SPAN"){let b,v=[r,p,t.innerHTML,u,this.textAlign].join(","),k=-(this.parentGroup?.padding*1)||0;if(u!==i){let C=y(),P=u||0,T=!s.styledMode&&t.style.textOverflow===""&&t.style.webkitLineClamp;(P>i||C>P||T)&&(/[\-\s\u00AD]/.test(t.textContent||t.innerText)||t.style.textOverflow==="ellipsis")&&(he(t,{width:(r||n||C>P||T)&&$i(u)?u+"px":"auto",display:c,whiteSpace:d||"normal"}),this.oldTextWidth=u)}e&&(he(t,{display:"inline-block",verticalAlign:"top"}),e.attr({width:s.width,height:s.height})),v!==this.cTT&&(b=s.fontMetrics(t).b,sa(r)&&!e&&(r!==(this.oldRotation||0)||p!==this.oldAlign)&&he(t,{transform:`rotate(${r}deg)`,transformOrigin:`${k}% ${k}px`}),this.getSpanCorrection(!sa(r)&&!this.textWidth&&this.textPxLength||t.offsetWidth,b,vh(p)));let{xCorr:w=0,yCorr:M=0}=this,S={left:`${g+w}px`,top:`${m+M}px`,textAlign:p,transformOrigin:`${(o??g)-w-g-k}px ${(a??m)-M-m-k}px`};(n||h)&&(S.transform=`scale(${n??1},${h??1})`),e?(super.updateTransform(),$i(g)&&$i(m)?(e.attr({x:g+w,y:m+M,width:t.offsetWidth+3,height:t.offsetHeight,"transform-origin":t.getAttribute("transform-origin")||"0 0"}),he(t,{display:c,textAlign:p})):mh&&e.attr({width:0,height:0})):he(t,S),this.cTT=v,this.oldRotation=r,this.oldAlign=p}}add(t){let{foreignObject:e,renderer:i}=this,s=i.box.parentNode,r=[];if(e)e.add(t),super.add(i.createElement("body").attr({xmlns:"http://www.w3.org/1999/xhtml"}).css({background:"transparent",margin:"0 3px 0 0"}).add(e));else{let o;if(this.parentGroup=t,t&&!(o=t.div)){let a=t;for(;a;)r.push(a),a=a.parentGroup;for(let n of r.reverse())o=Mh(n,s)}(o||s).appendChild(this.element)}return this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(t){t!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,at.setElementHTML(this.element,t??""),this.textStr=t,this.doTransform=!0)}alignSetter(t){this.alignValue=this.textAlign=t,this.doTransform=!0}xSetter(t,e){this[e]=t,this.doTransform=!0}}let Ae=Fe.prototype;Ae.visibilitySetter=Ae.opacitySetter=ra,Ae.ySetter=Ae.rotationSetter=Ae.rotationOriginXSetter=Ae.rotationOriginYSetter=Ae.xSetter,(Bt=Be||(Be={})).xAxis={alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:"%[HMSL]",range:!1},second:{main:"%[HMS]",range:!1},minute:{main:"%[HM]",range:!1},hour:{main:"%[HM]",range:!1},day:{main:"%[eb]"},week:{main:"%[eb]"},month:{main:"%[bY]"},year:{main:"%Y"}},endOnTick:!1,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotationLimit:80,distance:15,enabled:!0,indentation:10,overflow:"justify",reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:"#333333",cursor:"default",fontSize:"0.8em",textOverflow:"ellipsis"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minorTicksPerMajor:5,minPadding:.01,offset:void 0,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickmarkPlacement:"between",tickPixelInterval:100,tickPosition:"outside",title:{align:"middle",useHTML:!1,x:0,y:0,style:{color:"#666666",fontSize:"0.8em"}},visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#333333",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#333333"},Bt.yAxis={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){let{numberFormatter:l}=this.axis.chart;return l(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0};let Sh=Be,{addEvent:Th,isFunction:Ch,objectEach:Ah,removeEvent:Ph}=F;(jt||(jt={})).registerEventOptions=function(l,t){l.eventOptions=l.eventOptions||{},Ah(t.events,function(e,i){l.eventOptions[i]!==e&&(l.eventOptions[i]&&(Ph(l,i,l.eventOptions[i]),delete l.eventOptions[i]),Ch(e)&&(l.eventOptions[i]=e,Th(l,i,e,{order:0})))})};let Ui=jt,{deg2rad:ur}=L,{clamp:Oh,correctFloat:Vi,defined:gr,destroyObjectProperties:Lh,extend:oa,fireEvent:hi,getAlignFactor:Eh,isNumber:qi,merge:Ih,objectEach:Dh,pick:Jt}=F,Ge=class{constructor(l,t,e,i,s){this.isNew=!0,this.isNewLabel=!0,this.axis=l,this.pos=t,this.type=e||"",this.parameters=s||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,hi(this,"init"),e||i||this.addLabel()}addLabel(){let l=this,t=l.axis,e=t.options,i=t.chart,s=t.categories,r=t.logarithmic,o=t.names,a=l.pos,n=Jt(l.options?.labels,e.labels),h=t.tickPositions,c=a===h[0],d=a===h[h.length-1],p=(!n.step||n.step===1)&&t.tickInterval===1,u=h.info,f=l.label,x,g,m,y=this.parameters.category||(s?Jt(s[a],o[a],a):a);r&&qi(y)&&(y=Vi(r.lin2log(y))),t.dateTime&&(u?x=(g=i.time.resolveDTLFormat(e.dateTimeLabelFormats[!e.grid?.enabled&&u.higherRanks[a]||u.unitName])).main:qi(y)&&(x=t.dateTime.getXDateFormat(y,e.dateTimeLabelFormats||{}))),l.isFirst=c,l.isLast=d;let b={axis:t,chart:i,dateTimeLabelFormat:x,isFirst:c,isLast:d,pos:a,tick:l,tickPositionInfo:u,value:y};hi(this,"labelFormat",b);let v=M=>n.formatter?n.formatter.call(M,M):n.format?(M.text=t.defaultLabelFormatter.call(M),Gt.format(n.format,M,i)):t.defaultLabelFormatter.call(M),k=v.call(b,b),w=g?.list;w?l.shortenLabel=function(){for(m=0;m<w.length;m++)if(oa(b,{dateTimeLabelFormat:w[m]}),f.attr({text:v.call(b,b)}),f.getBBox().width<t.getSlotWidth(l)-2*(n.padding||0))return;f.attr({text:""})}:l.shortenLabel=void 0,p&&t._addedPlotLB&&l.moveLabel(k,n),gr(f)||l.movedLabel?f&&f.textStr!==k&&!p&&(!f.textWidth||n.style.width||f.styles.width||f.css({width:null}),f.attr({text:k}),f.textPxLength=f.getBBox().width):(l.label=f=l.createLabel(k,n),l.rotation=0)}createLabel(l,t,e){let i=this.axis,{renderer:s,styledMode:r}=i.chart,o=t.style.whiteSpace,a=gr(l)&&t.enabled?s.text(l,e?.x,e?.y,t.useHTML).add(i.labelGroup):void 0;return a&&(r||a.css(Ih(t.style)),a.textPxLength=a.getBBox().width,!r&&o&&a.css({whiteSpace:o})),a}destroy(){Lh(this,this.axis)}getPosition(l,t,e,i){let s=this.axis,r=s.chart,o=i&&r.oldChartHeight||r.chartHeight,a={x:l?Vi(s.translate(t+e,void 0,void 0,i)+s.transB):s.left+s.offset+(s.opposite?(i&&r.oldChartWidth||r.chartWidth)-s.right-s.left:0),y:l?o-s.bottom+s.offset-(s.opposite?s.height:0):Vi(o-s.translate(t+e,void 0,void 0,i)-s.transB)};return a.y=Oh(a.y,-1e9,1e9),hi(this,"afterGetPosition",{pos:a}),a}getLabelPosition(l,t,e,i,s,r,o,a){let n,h,c=this.axis,d=c.transA,p=c.isLinked&&c.linkedParent?c.linkedParent.reversed:c.reversed,u=c.staggerLines,f=c.tickRotCorr||{x:0,y:0},x=i||c.reserveSpaceDefault?0:-c.labelOffset*(c.labelAlign==="center"?.5:1),g=s.distance,m={};return n=c.side===0?e.rotation?-g:-e.getBBox().height:c.side===2?f.y+g:Math.cos(e.rotation*ur)*(f.y-e.getBBox(!1,0).height/2),gr(s.y)&&(n=c.side===0&&c.horiz?s.y+n:s.y),l=l+Jt(s.x,[0,1,0,-1][c.side]*g)+x+f.x-(r&&i?r*d*(p?-1:1):0),t=t+n-(r&&!i?r*d*(p?1:-1):0),u&&(h=o/(a||1)%u,c.opposite&&(h=u-h-1),t+=h*(c.labelOffset/u)),m.x=l,m.y=Math.round(t),hi(this,"afterGetLabelPosition",{pos:m,tickmarkOffset:r,index:o}),m}getLabelSize(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0}getMarkPath(l,t,e,i,s=!1,r){return r.crispLine([["M",l,t],["L",l+(s?0:-e),t+(s?e:0)]],i)}handleOverflow(l){let t=this.axis,e=t.options.labels,i=l.x,s=t.chart.chartWidth,r=t.chart.spacing,o=Jt(t.labelLeft,Math.min(t.pos,r[3])),a=Jt(t.labelRight,Math.max(t.isRadial?0:t.pos+t.len,s-r[1])),n=this.label,h=this.rotation,c=Eh(t.labelAlign||n.attr("align")),d=n.getBBox().width,p=t.getSlotWidth(this),u=p,f=1,x;h||e.overflow!=="justify"?h<0&&i-c*d<o?x=Math.round(i/Math.cos(h*ur)-o):h>0&&i+c*d>a&&(x=Math.round((s-i)/Math.cos(h*ur))):(i-c*d<o?u=l.x+u*(1-c)-o:i+(1-c)*d>a&&(u=a-l.x+u*c,f=-1),(u=Math.min(p,u))<p&&t.labelAlign==="center"&&(l.x+=f*(p-u-c*(p-Math.min(d,u)))),(d>u||t.autoRotation&&n?.styles?.width)&&(x=u)),x&&n&&(this.shortenLabel?this.shortenLabel():n.css(oa({},{width:Math.floor(x)+"px",lineClamp:+!t.isRadial})))}moveLabel(l,t){let e=this,i=e.label,s=e.axis,r=!1,o;i&&i.textStr===l?(e.movedLabel=i,r=!0,delete e.label):Dh(s.ticks,function(a){r||a.isNew||a===e||!a.label||a.label.textStr!==l||(e.movedLabel=a.label,r=!0,a.labelPos=e.movedLabel.xy,delete a.label)}),!r&&(e.labelPos||i)&&(o=e.labelPos||i.xy,e.movedLabel=e.createLabel(l,t,o),e.movedLabel&&e.movedLabel.attr({opacity:0}))}render(l,t,e){let i=this.axis,s=i.horiz,r=this.pos,o=Jt(this.tickmarkOffset,i.tickmarkOffset),a=this.getPosition(s,r,o,t),n=a.x,h=a.y,c=i.pos,d=c+i.len,p=s?n:h,u=Jt(e,this.label?.newOpacity,1);!i.chart.polar&&(Vi(p)<c||p>d)&&(e=0),e??(e=1),this.isActive=!0,this.renderGridLine(t,e),this.renderMark(a,e),this.renderLabel(a,t,u,l),this.isNew=!1,hi(this,"afterRender")}renderGridLine(l,t){let e=this.axis,i=e.options,s={},r=this.pos,o=this.type,a=Jt(this.tickmarkOffset,e.tickmarkOffset),n=e.chart.renderer,h=this.gridLine,c,d=i.gridLineWidth,p=i.gridLineColor,u=i.gridLineDashStyle;this.type==="minor"&&(d=i.minorGridLineWidth,p=i.minorGridLineColor,u=i.minorGridLineDashStyle),h||(e.chart.styledMode||(s.stroke=p,s["stroke-width"]=d||0,s.dashstyle=u),o||(s.zIndex=1),l&&(t=0),this.gridLine=h=n.path().attr(s).addClass("highcharts-"+(o?o+"-":"")+"grid-line").add(e.gridGroup)),h&&(c=e.getPlotLinePath({value:r+a,lineWidth:h.strokeWidth(),force:"pass",old:l,acrossPanes:!1}))&&h[l||this.isNew?"attr":"animate"]({d:c,opacity:t})}renderMark(l,t){let e=this.axis,i=e.options,s=e.chart.renderer,r=this.type,o=e.tickSize(r?r+"Tick":"tick"),a=l.x,n=l.y,h=Jt(i[r!=="minor"?"tickWidth":"minorTickWidth"],!r&&e.isXAxis?1:0),c=i[r!=="minor"?"tickColor":"minorTickColor"],d=this.mark,p=!d;o&&(e.opposite&&(o[0]=-o[0]),!d&&(this.mark=d=s.path().addClass("highcharts-"+(r?r+"-":"")+"tick").add(e.axisGroup),e.chart.styledMode||d.attr({stroke:c,"stroke-width":h})),d[p?"attr":"animate"]({d:this.getMarkPath(a,n,o[0],d.strokeWidth(),e.horiz,s),opacity:t}))}renderLabel(l,t,e,i){let s=this.axis,r=s.horiz,o=s.options,a=this.label,n=o.labels,h=n.step,c=Jt(this.tickmarkOffset,s.tickmarkOffset),d=l.x,p=l.y,u=!0;a&&qi(d)&&(a.xy=l=this.getLabelPosition(d,p,a,r,n,c,i,h),(!this.isFirst||this.isLast||o.showFirstLabel)&&(!this.isLast||this.isFirst||o.showLastLabel)?!r||n.step||n.rotation||t||e===0||this.handleOverflow(l):u=!1,h&&i%h&&(u=!1),u&&qi(l.y)?(l.opacity=e,a[this.isNewLabel?"attr":"animate"](l).show(!0),this.isNewLabel=!1):(a.hide(),this.isNewLabel=!0))}replaceMovedLabel(){let l=this.label,t=this.axis;l&&!this.isNew&&(l.animate({opacity:0},void 0,l.destroy),delete this.label),t.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel}},{animObject:Bh}=Mt,{xAxis:aa,yAxis:Nh}=Sh,{defaultOptions:fr}=Ft,{registerEventOptions:zh}=Ui,{deg2rad:Rh}=L,{arrayMax:na,arrayMin:Wh,clamp:Ki,correctFloat:zt,defined:rt,destroyObjectProperties:Xh,erase:la,error:mr,extend:Zi,fireEvent:ht,getClosestDistance:ha,insertItem:Hh,isArray:da,isNumber:H,isString:ca,merge:_i,normalizeTickInterval:Fh,objectEach:Ji,pick:K,relativeLength:Qi,removeEvent:Gh,splat:Yh,syncTimeout:jh}=F,pa=(l,t)=>Fh(t,void 0,void 0,K(l.options.allowDecimals,t<.5||l.tickAmount!==void 0),!!l.tickAmount);Zi(fr,{xAxis:aa,yAxis:_i(aa,Nh)});class Ye{constructor(t,e,i){this.init(t,e,i)}init(t,e,i=this.coll){let s=i==="xAxis",r=this.isZAxis||(t.inverted?!s:s);this.chart=t,this.horiz=r,this.isXAxis=s,this.coll=i,ht(this,"init",{userOptions:e}),this.opposite=K(e.opposite,this.opposite),this.side=K(e.side,this.side,r?2*!this.opposite:this.opposite?1:3),this.setOptions(e);let o=this.options,a=o.labels;this.type??(this.type=o.type||"linear"),this.uniqueNames??(this.uniqueNames=o.uniqueNames??!0),ht(this,"afterSetType"),this.userOptions=e,this.minPixelPadding=0,this.reversed=K(o.reversed,this.reversed),this.visible=o.visible,this.zoomEnabled=o.zoomEnabled,this.hasNames=this.type==="category"||o.categories===!0,this.categories=da(o.categories)&&o.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=rt(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 n=K(o.crosshair,Yh(t.options.tooltip.crosshairs)[+!s]);this.crosshair=n===!0?{}:n,t.axes.indexOf(this)===-1&&(s?t.axes.splice(t.xAxis.length,0,this):t.axes.push(this),Hh(this,t[this.coll])),t.orderItems(this.coll),this.series=this.series||[],t.inverted&&!this.isZAxis&&s&&!rt(this.reversed)&&(this.reversed=!0),this.labelRotation=H(a.rotation)?a.rotation:void 0,zh(this,o),ht(this,"afterInit")}setOptions(t){let e=this.horiz?{labels:{autoRotation:[-45],padding:3},margin:15}:{labels:{padding:1},title:{rotation:90*this.side}};this.options=_i(e,this.coll==="yAxis"?{title:{text:this.chart.options.lang.yAxisTitle}}:{},fr[this.coll],t),ht(this,"afterSetOptions",{userOptions:t})}defaultLabelFormatter(){let t=this.axis,{numberFormatter:e}=this.chart,i=H(this.value)?this.value:NaN,s=t.chart.time,r=t.categories,o=this.dateTimeLabelFormat,a=fr.lang,n=a.numericSymbols,h=a.numericSymbolMagnitude||1e3,c=t.logarithmic?Math.abs(i):t.tickInterval,d=n?.length,p,u;if(r)u=`${this.value}`;else if(o)u=s.dateFormat(o,i,!0);else if(d&&n&&c>=1e3)for(;d--&&u===void 0;)c>=(p=Math.pow(h,d+1))&&10*i%p==0&&n[d]!==null&&i!==0&&(u=e(i/p,-1)+n[d]);return u===void 0&&(u=Math.abs(i)>=1e4?e(i,-1):e(i,-1,void 0,"")),u}getSeriesExtremes(){let t,e=this;ht(this,"getSeriesExtremes",null,function(){e.hasVisibleSeries=!1,e.dataMin=e.dataMax=e.threshold=void 0,e.softThreshold=!e.isXAxis,e.series.forEach(i=>{if(i.reserveSpace()){let s=i.options,r,o=s.threshold,a,n;if(e.hasVisibleSeries=!0,e.positiveValuesOnly&&0>=(o||0)&&(o=void 0),e.isXAxis)(r=i.getColumn("x")).length&&(r=e.logarithmic?r.filter(h=>h>0):r,a=(t=i.getXExtremes(r)).min,n=t.max,H(a)||a instanceof Date||(r=r.filter(H),a=(t=i.getXExtremes(r)).min,n=t.max),r.length&&(e.dataMin=Math.min(K(e.dataMin,a),a),e.dataMax=Math.max(K(e.dataMax,n),n)));else{let h=i.applyExtremes();H(h.dataMin)&&(a=h.dataMin,e.dataMin=Math.min(K(e.dataMin,a),a)),H(h.dataMax)&&(n=h.dataMax,e.dataMax=Math.max(K(e.dataMax,n),n)),rt(o)&&(e.threshold=o),(!s.softThreshold||e.positiveValuesOnly)&&(e.softThreshold=!1)}}})}),ht(this,"afterGetSeriesExtremes")}translate(t,e,i,s,r,o){let a=this.linkedParent||this,n=s&&a.old?a.old.min:a.min;if(!H(n))return NaN;let h=a.minPixelPadding,c=(a.isOrdinal||a.brokenAxis?.hasBreaks||a.logarithmic&&r)&&!!a.lin2val,d=1,p=0,u=s&&a.old?a.old.transA:a.transA,f=0;return u||(u=a.transA),i&&(d*=-1,p=a.len),a.reversed&&(d*=-1,p-=d*(a.sector||a.len)),e?(f=(t=t*d+p-h)/u+n,c&&(f=a.lin2val(f))):(c&&(t=a.val2lin(t)),f=d*(t-n)*u+p+d*h+(H(o)?u*o:0),a.isRadial||(f=zt(f))),f}toPixels(t,e){return this.translate(this.chart?.time.parse(t)??NaN,!1,!this.horiz,void 0,!0)+(e?0:this.pos)}toValue(t,e){return this.translate(t-(e?0:this.pos),!0,!this.horiz,void 0,!0)}getPlotLinePath(t){let e=this,i=e.chart,s=e.left,r=e.top,o=t.old,a=t.value,n=t.lineWidth,h=o&&i.oldChartHeight||i.chartHeight,c=o&&i.oldChartWidth||i.chartWidth,d=e.transB,p=t.translatedValue,u=t.force,f,x,g,m,y;function b(k,w,M){return u!=="pass"&&(k<w||k>M)&&(u?k=Ki(k,w,M):y=!0),k}let v={value:a,lineWidth:n,old:o,force:u,acrossPanes:t.acrossPanes,translatedValue:p};return ht(this,"getPlotLinePath",v,function(k){f=g=(p=Ki(p=K(p,e.translate(a,void 0,void 0,o)),-1e9,1e9))+d,x=m=h-p-d,H(p)?e.horiz?(x=r,m=h-e.bottom+(e.options.isInternal?0:i.scrollablePixelsY||0),f=g=b(f,s,s+e.width)):(f=s,g=c-e.right+(i.scrollablePixelsX||0),x=m=b(x,r,r+e.height)):(y=!0,u=!1),k.path=y&&!u?void 0:i.renderer.crispLine([["M",f,x],["L",g,m]],n||1)}),v.path}getLinearTickPositions(t,e,i){let s,r,o,a=zt(Math.floor(e/t)*t),n=zt(Math.ceil(i/t)*t),h=[];if(zt(a+t)===a&&(o=20),this.single)return[e];for(s=a;s<=n&&(h.push(s),(s=zt(s+t,o))!==r);)r=s;return h}getMinorTickInterval(){let{minorTicks:t,minorTickInterval:e}=this.options;return t===!0?K(e,"auto"):t!==!1?e:void 0}getMinorTickPositions(){let t=this.options,e=this.tickPositions,i=this.minorTickInterval,s=this.pointRangePadding||0,r=(this.min||0)-s,o=(this.max||0)+s,a=this.brokenAxis?.hasBreaks?this.brokenAxis.unitLength:o-r,n=[],h;if(a&&a/i<this.len/3){let c=this.logarithmic;if(c)this.paddedTicks.forEach(function(d,p,u){p&&n.push.apply(n,c.getLogTickPositions(i,u[p-1],u[p],!0))});else if(this.dateTime&&this.getMinorTickInterval()==="auto")n=n.concat(this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(i),r,o,t.startOfWeek));else for(h=r+(e[0]-r)%i;h<=o&&h!==n[0];h+=i)n.push(h)}return n.length!==0&&this.trimTicks(n),n}adjustForMinRange(){let t=this.options,e=this.logarithmic,i=this.chart.time,{max:s,min:r,minRange:o}=this,a,n,h,c;this.isXAxis&&o===void 0&&!e&&(o=rt(t.min)||rt(t.max)||rt(t.floor)||rt(t.ceiling)?null:Math.min(5*(ha(this.series.map(d=>{let p=d.getColumn("x");return d.xIncrement?p.slice(0,2):p}))||0),this.dataMax-this.dataMin)),H(s)&&H(r)&&H(o)&&s-r<o&&(n=this.dataMax-this.dataMin>=o,a=(o-s+r)/2,h=[r-a,i.parse(t.min)??r-a],n&&(h[2]=e?e.log2lin(this.dataMin):this.dataMin),c=[(r=na(h))+o,i.parse(t.max)??r+o],n&&(c[2]=e?e.log2lin(this.dataMax):this.dataMax),(s=Wh(c))-r<o&&(h[0]=s-o,h[1]=i.parse(t.min)??s-o,r=na(h))),this.minRange=o,this.min=r,this.max=s}getClosest(){let t,e;if(this.categories)e=1;else{let i=[];this.series.forEach(function(s){let r=s.closestPointRange,o=s.getColumn("x");o.length===1?i.push(o[0]):s.sorted&&rt(r)&&s.reserveSpace()&&(e=rt(e)?Math.min(e,r):r)}),i.length&&(i.sort((s,r)=>s-r),t=ha([i]))}return t&&e?Math.min(t,e):t||e}nameToX(t){let e=da(this.options.categories),i=e?this.categories:this.names,s=t.options.x,r;return t.series.requireSorting=!1,rt(s)||(s=this.uniqueNames&&i?e?i.indexOf(t.name):K(i.keys[t.name],-1):t.series.autoIncrement()),s===-1?!e&&i&&(r=i.length):H(s)&&(r=s),r!==void 0?(this.names[r]=t.name,this.names.keys[t.name]=r):t.x&&(r=t.x),r}updateNames(){let t=this,e=this.names;e.length>0&&(Object.keys(e.keys).forEach(function(i){delete e.keys[i]}),e.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(i=>{i.xIncrement=null,(!i.points||i.isDirtyData)&&(t.max=Math.max(t.max||0,i.dataTable.rowCount-1),i.processData(),i.generatePoints());let s=i.getColumn("x").slice();i.data.forEach((r,o)=>{let a=s[o];r?.options&&r.name!==void 0&&(a=t.nameToX(r))!==void 0&&a!==r.x&&(s[o]=r.x=a)}),i.dataTable.setColumn("x",s)}))}setAxisTranslation(){let t=this,e=t.max-t.min,i=t.linkedParent,s=!!t.categories,r=t.isXAxis,o=t.axisPointRange||0,a,n=0,h=0,c,d=t.transA;(r||s||o)&&(a=t.getClosest(),i?(n=i.minPointOffset,h=i.pointRangePadding):t.series.forEach(function(p){let u=s?1:r?K(p.options.pointRange,a,0):t.axisPointRange||0,f=p.options.pointPlacement;if(o=Math.max(o,u),!t.single||s){let x=p.is("xrange")?!r:r;n=Math.max(n,x&&ca(f)?0:u/2),h=Math.max(h,x&&f==="on"?0:u)}}),c=t.ordinal?.slope&&a?t.ordinal.slope/a:1,t.minPointOffset=n*=c,t.pointRangePadding=h*=c,t.pointRange=Math.min(o,t.single&&s?1:e),r&&(t.closestPointRange=a)),t.translationSlope=t.transA=d=t.staticScale||t.len/(e+h||1),t.transB=t.horiz?t.left:t.bottom,t.minPixelPadding=d*n,ht(this,"afterSetAxisTranslation")}minFromRange(){let{max:t,min:e}=this;return H(t)&&H(e)&&t-e||void 0}setTickInterval(t){let{categories:e,chart:i,dataMax:s,dataMin:r,dateTime:o,isXAxis:a,logarithmic:n,options:h,softThreshold:c}=this,d=i.time,p=H(this.threshold)?this.threshold:void 0,u=this.minRange||0,{ceiling:f,floor:x,linkedTo:g,softMax:m,softMin:y}=h,b=H(g)&&i[this.coll]?.[g],v=h.tickPixelInterval,k=h.maxPadding,w=h.minPadding,M=0,S,C=H(h.tickInterval)&&h.tickInterval>=0?h.tickInterval:void 0,P,T,D,N;if(o||e||b||this.getTickAmount(),D=K(this.userMin,d.parse(h.min)),N=K(this.userMax,d.parse(h.max)),b?(this.linkedParent=b,S=b.getExtremes(),this.min=K(S.min,S.dataMin),this.max=K(S.max,S.dataMax),this.type!==b.type&&mr(11,!0,i)):(c&&rt(p)&&H(s)&&H(r)&&(r>=p?(P=p,w=0):s<=p&&(T=p,k=0)),this.min=K(D,P,r),this.max=K(N,T,s)),H(this.max)&&H(this.min)&&(n&&(this.positiveValuesOnly&&!t&&0>=Math.min(this.min,K(r,this.min))&&mr(10,!0,i),this.min=zt(n.log2lin(this.min),16),this.max=zt(n.log2lin(this.max),16)),this.range&&H(r)&&(this.userMin=this.min=D=Math.max(r,this.minFromRange()||0),this.userMax=N=this.max,this.range=void 0)),ht(this,"foundExtremes"),this.adjustForMinRange(),H(this.min)&&H(this.max)){if(!H(this.userMin)&&H(y)&&y<this.min&&(this.min=D=y),!H(this.userMax)&&H(m)&&m>this.max&&(this.max=N=m),e||this.axisPointRange||this.stacking?.usePercentage||b||(M=this.max-this.min)&&(!rt(D)&&w&&(this.min-=M*w),!rt(N)&&k&&(this.max+=M*k)),!H(this.userMin)&&H(x)&&(this.min=Math.max(this.min,x)),!H(this.userMax)&&H(f)&&(this.max=Math.min(this.max,f)),c&&H(r)&&H(s)){let X=p||0;!rt(D)&&this.min<X&&r>=X?this.min=h.minRange?Math.min(X,this.max-u):X:!rt(N)&&this.max>X&&s<=X&&(this.max=h.minRange?Math.max(X,this.min+u):X)}!i.polar&&this.min>this.max&&(rt(h.min)?this.max=this.min:rt(h.max)&&(this.min=this.max)),M=this.max-this.min}if(this.min!==this.max&&H(this.min)&&H(this.max)?b&&!C&&v===b.options.tickPixelInterval?this.tickInterval=C=b.tickInterval:this.tickInterval=K(C,this.tickAmount?M/Math.max(this.tickAmount-1,1):void 0,e?1:M*v/Math.max(this.len,v)):this.tickInterval=1,a&&!t){let X=this.min!==this.old?.min||this.max!==this.old?.max;this.series.forEach(function(W){W.forceCrop=W.forceCropping?.(),W.processData(X)}),ht(this,"postProcessData",{hasExtremesChanged:X})}this.setAxisTranslation(),ht(this,"initialAxisTranslation"),this.pointRange&&!C&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));let z=K(h.minTickInterval,o&&!this.series.some(X=>!X.sorted)?this.closestPointRange:0);!C&&z&&this.tickInterval<z&&(this.tickInterval=z),o||n||C||(this.tickInterval=pa(this,this.tickInterval)),this.tickAmount||(this.tickInterval=this.unsquish()),this.setTickPositions()}setTickPositions(){let t=this.options,e=t.tickPositions,i=t.tickPositioner,s=this.getMinorTickInterval(),r=!this.isPanning,o=r&&t.startOnTick,a=r&&t.endOnTick,n=[],h;if(this.tickmarkOffset=this.categories&&t.tickmarkPlacement==="between"&&this.tickInterval===1?.5:0,this.single=this.min===this.max&&rt(this.min)&&!this.tickAmount&&(this.min%1==0||t.allowDecimals!==!1),e)n=e.slice();else if(H(this.min)&&H(this.max)){if(!this.ordinal?.positions&&(this.max-this.min)/this.tickInterval>Math.max(2*this.len,200))n=[this.min,this.max],mr(19,!1,this.chart);else if(this.dateTime)n=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,t.units),this.min,this.max,t.startOfWeek,this.ordinal?.positions,this.closestPointRange,!0);else if(this.logarithmic)n=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let c=this.tickInterval,d=c;for(;d<=2*c&&(n=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&n.length>this.tickAmount);)this.tickInterval=pa(this,d*=1.1)}n.length>this.len&&(n=[n[0],n[n.length-1]])[0]===n[1]&&(n.length=1),i&&(this.tickPositions=n,(h=i.apply(this,[this.min,this.max]))&&(n=h))}this.tickPositions=n,this.minorTickInterval=s==="auto"&&this.tickInterval?this.tickInterval/t.minorTicksPerMajor:s,this.paddedTicks=n.slice(0),this.trimTicks(n,o,a),!this.isLinked&&H(this.min)&&H(this.max)&&(this.single&&n.length<2&&!this.categories&&!this.series.some(c=>c.is("heatmap")&&c.options.pointPlacement==="between")&&(this.min-=.5,this.max+=.5),e||h||this.adjustTickAmount()),ht(this,"afterSetTickPositions")}trimTicks(t,e,i){let s=t[0],r=t[t.length-1],o=!this.isOrdinal&&this.minPointOffset||0;if(ht(this,"trimTicks"),!this.isLinked||!this.grid){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<t[t.length-1];)t.pop();t.length===0&&rt(s)&&!this.options.tickPositions&&t.push((r+s)/2)}}alignToOthers(){let t,e=this,i=e.chart,s=[this],r=e.options,o=i.options.chart,a=this.coll==="yAxis"&&o.alignThresholds,n=[];if(e.thresholdAlignment=void 0,(o.alignTicks!==!1&&r.alignTicks||a)&&r.startOnTick!==!1&&r.endOnTick!==!1&&!e.logarithmic){let h=d=>{let{horiz:p,options:u}=d;return[p?u.left:u.top,u.width,u.height,u.pane].join(",")},c=h(this);i[this.coll].forEach(function(d){let{series:p}=d;p.length&&p.some(u=>u.visible)&&d!==e&&h(d)===c&&(t=!0,s.push(d))})}if(t&&a){s.forEach(c=>{let d=c.getThresholdAlignment(e);H(d)&&n.push(d)});let h=n.length>1?n.reduce((c,d)=>c+=d,0)/n.length:void 0;s.forEach(c=>{c.thresholdAlignment=h})}return t}getThresholdAlignment(t){if((!H(this.dataMin)||this!==t&&this.series.some(e=>e.isDirty||e.isDirtyData||e.xAxis?.isDirty))&&this.getSeriesExtremes(),H(this.threshold)){let e=Ki((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return this.options.reversed&&(e=1-e),e}}getTickAmount(){let t=this.options,e=t.tickPixelInterval,i=t.tickAmount;rt(t.tickInterval)||i||!(this.len<e)||this.isRadial||this.logarithmic||!t.startOnTick||!t.endOnTick||(i=2),!i&&this.alignToOthers()&&(i=Math.ceil(this.len/e)+1),i<4&&(this.finalTickAmt=i,i=5),this.tickAmount=i}adjustTickAmount(){let t=this,{finalTickAmt:e,max:i,min:s,options:r,tickPositions:o,tickAmount:a,thresholdAlignment:n}=t,h=o?.length,c=K(t.threshold,t.softThreshold?0:null),d,p,u=t.tickInterval,f,x=()=>o.push(zt(o[o.length-1]+u)),g=()=>o.unshift(zt(o[0]-u));if(H(n)&&(f=n===0?0:n===1?a-1:Math.round(Ki(n*(a-1),1,a-2)),r.reversed&&(f=a-1-f)),t.hasData()&&H(s)&&H(i)){let m=()=>{t.transA*=(h-1)/(a-1),t.min=r.startOnTick?o[0]:Math.min(s,o[0]),t.max=r.endOnTick?o[o.length-1]:Math.max(i,o[o.length-1])};if(H(f)&&H(t.threshold)){for(;o[f]!==c||o.length!==a||o[0]>s||o[o.length-1]<i;){for(o.length=0,o.push(t.threshold);o.length<a;)o[f]===void 0||o[f]>t.threshold?g():x();if(u>8*t.tickInterval)break;u*=2}m()}else if(h<a){for(;o.length<a;)o.length%2||s===c?x():g();m()}if(rt(e)){for(p=d=o.length;p--;)(e===3&&p%2==1||e<=2&&p>0&&p<d-1)&&o.splice(p,1);t.finalTickAmt=void 0}}}setScale(){let{coll:t,stacking:e}=this,i=!1,s=!1;this.series.forEach(o=>{i=i||o.isDirtyData||o.isDirty,s=s||o.xAxis?.isDirty||!1}),this.setAxisSize();let r=this.len!==this.old?.len;r||i||s||this.isLinked||this.forceRedraw||this.userMin!==this.old?.userMin||this.userMax!==this.old?.userMax||this.alignToOthers()?(e&&t==="yAxis"&&e.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),e&&t==="xAxis"&&e.buildStacks(),this.isDirty||(this.isDirty=r||this.min!==this.old?.min||this.max!==this.old?.max)):e&&e.cleanStacks(),i&&delete this.allExtremes,ht(this,"afterSetScale")}setExtremes(t,e,i=!0,s,r){let o=this.chart;this.series.forEach(a=>{delete a.kdTree}),t=o.time.parse(t),e=o.time.parse(e),ht(this,"setExtremes",r=Zi(r,{min:t,max:e}),a=>{this.userMin=a.min,this.userMax=a.max,this.eventArgs=a,i&&o.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(Qi(K(e.width,t.plotWidth-i[3]+i[1]),t.plotWidth)),o=this.height=Math.round(Qi(K(e.height,t.plotHeight-i[0]+i[2]),t.plotHeight)),a=this.top=Math.round(Qi(K(e.top,t.plotTop+i[0]),t.plotHeight,t.plotTop)),n=this.left=Math.round(Qi(K(e.left,t.plotLeft+i[3]),t.plotWidth,t.plotLeft));this.bottom=t.chartHeight-o-a,this.right=t.chartWidth-r-n,this.len=Math.max(s?r:o,0),this.pos=s?n:a}getExtremes(){let t=this.logarithmic;return{min:t?zt(t.lin2log(this.min)):this.min,max:t?zt(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 t===null||t===-1/0?t=i:t===1/0?t=s:i>t?t=i:s<t&&(t=s),this.translate(t,0,1,0,1)}autoLabelAlign(t){let e=((t-90*this.side)%360+360)%360,i={align:"center"};return ht(this,"autoLabelAlign",i,function(s){e>15&&e<165?s.align="right":e>195&&e<345&&(s.align="left")}),i.align}tickSize(t){let e=this.options,i=K(e[t==="tick"?"tickWidth":"minorTickWidth"],t==="tick"&&this.isXAxis&&!this.categories?1:0),s=e[t==="tick"?"tickLength":"minorTickLength"],r;i&&s&&(e[t+"Position"]==="inside"&&(s=-s),r=[s,i]);let o={tickSize:r};return ht(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=this.options.labels,e=t.padding||0,i=this.horiz,s=this.tickInterval,r=this.len/((+!!this.categories+this.max-this.min)/s),o=t.rotation,a=zt(.8*this.labelMetrics().h),n=Math.max(this.max-this.min,0),h=function(f){let x=(f+2*e)/(r||1);return(x=x>1?Math.ceil(x):1)*s>n&&f!==1/0&&r!==1/0&&n&&(x=Math.ceil(n/s)),zt(x*s)},c=s,d,p=Number.MAX_VALUE,u;if(i){if(!t.staggerLines&&(H(o)?u=[o]:r<t.autoRotationLimit&&(u=t.autoRotation)),u){let f,x;for(let g of u)(g===o||g&&g>=-90&&g<=90)&&(x=(f=h(Math.abs(a/Math.sin(Rh*g))))+Math.abs(g/360))<p&&(p=x,d=g,c=f)}}else c=h(.75*a);return this.autoRotation=u,this.labelRotation=K(d,H(o)?o:0),t.step?s:c}getSlotWidth(t){let e=this.chart,i=this.horiz,s=this.options.labels,r=Math.max(this.tickPositions.length-!this.categories,1),o=e.margin[3];if(t&&H(t.slotWidth))return t.slotWidth;if(i&&s.step<2&&!this.isRadial)return s.rotation?0:(this.staggerLines||1)*this.len/r;if(!i){let a=s.style.width;if(a!==void 0)return parseInt(String(a),10);if(!this.opposite&&o)return o-e.spacing[3]}return .33*e.chartWidth}renderUnsquish(){let t=this.chart,e=t.renderer,i=this.tickPositions,s=this.ticks,r=this.options.labels,o=r.style,a=this.horiz,n=this.getSlotWidth(),h=Math.max(1,Math.round(n-(a?2*(r.padding||0):r.distance||0))),c={},d=this.labelMetrics(),p=o.lineClamp,u,f=p??(Math.floor(this.len/(i.length*d.h))||1),x=0;ca(r.rotation)||(c.rotation=r.rotation||0),i.forEach(function(g){let m=s[g];m.movedLabel&&m.replaceMovedLabel();let y=m.label?.textPxLength||0;y>x&&(x=y)}),this.maxLabelLength=x,this.autoRotation?x>h&&x>d.h?c.rotation=this.labelRotation:this.labelRotation=0:n&&(u=h),c.rotation&&(u=x>.5*t.chartHeight?.33*t.chartHeight:x,p||(f=1)),this.labelAlign=r.align||this.autoLabelAlign(this.labelRotation||0),this.labelAlign&&(c.align=this.labelAlign),i.forEach(function(g){let m=s[g],y=m?.label,b=o.width,v={};y&&(y.attr(c),m.shortenLabel?m.shortenLabel():u&&!b&&o.whiteSpace!=="nowrap"&&(u<(y.textPxLength||0)||y.element.tagName==="SPAN")?y.css(Zi(v,{width:`${u}px`,lineClamp:f})):!y.styles.width||v.width||b||y.css({width:"auto"}),m.rotation=c.rotation)},this),this.tickRotCorr=e.rotCorr(d.b,this.labelRotation||0,this.side!==0)}hasData(){return this.series.some(function(t){return t.hasData()})||this.options.showEmpty&&rt(this.min)&&rt(this.max)}addTitle(t){let e,i=this.chart.renderer,s=this.horiz,r=this.opposite,o=this.options.title,a=this.chart.styledMode;this.axisTitle||((e=o.textAlign)||(e=(s?{low:"left",middle:"center",high:"right"}:{low:r?"right":"left",middle:"center",high:r?"left":"right"})[o.align]),this.axisTitle=i.text(o.text||"",0,0,o.useHTML).attr({zIndex:7,rotation:o.rotation||0,align:e}).addClass("highcharts-axis-title"),a||this.axisTitle.css(_i(o.style)),this.axisTitle.add(this.axisGroup),this.axisTitle.isNew=!0),a||o.style.width||this.isRadial||this.axisTitle.css({width:this.len+"px"}),this.axisTitle[t?"show":"hide"](t)}generateTick(t){let e=this.ticks;e[t]?e[t].addLabel():e[t]=new Ge(this,t)}createGroups(){let{axisParent:t,chart:e,coll:i,options:s}=this,r=e.renderer,o=(a,n,h)=>r.g(a).attr({zIndex:h}).addClass(`highcharts-${i.toLowerCase()}${n} `+(this.isRadial?`highcharts-radial-axis${n} `:"")+(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=this,{chart:e,horiz:i,options:s,side:r,ticks:o,tickPositions:a,coll:n}=t,h=e.inverted&&!t.isZAxis?[1,0,3,2][r]:r,c=t.hasData(),d=s.title,p=s.labels,u=H(s.crossing),f=e.axisOffset,x=e.clipOffset,g=[-1,1,1,-1][r],m,y=0,b,v=0,k=0,w,M;if(t.showAxis=m=c||s.showEmpty,t.staggerLines=t.horiz&&p.staggerLines||void 0,t.createGroups(),c||t.isLinked?(a.forEach(function(S){t.generateTick(S)}),t.renderUnsquish(),t.reserveSpaceDefault=r===0||r===2||{1:"left",3:"right"}[r]===t.labelAlign,K(p.reserveSpace,!u&&null,t.labelAlign==="center"||null,t.reserveSpaceDefault)&&a.forEach(function(S){k=Math.max(o[S].getLabelSize(),k)}),t.staggerLines&&(k*=t.staggerLines),t.labelOffset=k*(t.opposite?-1:1)):Ji(o,function(S,C){S.destroy(),delete o[C]}),d?.text&&d.enabled!==!1&&(t.addTitle(m),m&&!u&&d.reserveSpace!==!1&&(t.titleOffset=y=t.axisTitle.getBBox()[i?"height":"width"],v=rt(b=d.offset)?0:K(d.margin,i?5:10))),t.renderLine(),t.offset=g*K(s.offset,f[r]?f[r]+(s.margin||0):0),t.tickRotCorr=t.tickRotCorr||{x:0,y:0},M=r===0?-t.labelMetrics().h:r===2?t.tickRotCorr.y:0,w=Math.abs(k)+v,k&&(w-=M,w+=g*(i?K(p.y,t.tickRotCorr.y+g*p.distance):K(p.x,g*p.distance))),t.axisTitleMargin=K(b,w),t.getMaxLabelDimensions&&(t.maxLabelDimensions=t.getMaxLabelDimensions(o,a)),n!=="colorAxis"&&x){let S=this.tickSize("tick");f[r]=Math.max(f[r],(t.axisTitleMargin||0)+y+g*t.offset,w,a?.length&&S?S[0]+g*t.offset:0);let C=!t.axisLine||s.offset?0:t.axisLine.strokeWidth()/2;x[h]=Math.max(x[h],C)}ht(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,a=e.chartHeight-this.bottom-(i?this.height:0)+s;return i&&(t*=-1),e.renderer.crispLine([["M",r?this.left:o,r?a:this.top],["L",r?e.chartWidth-this.right:o,r?a: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,a=e?i:s,n=this.opposite,h=this.offset,c=o.x,d=o.y,p=this.chart.renderer.fontMetrics(t),u=t?Math.max(t.getBBox(!1,0).height-p.h-1,0):0,f={low:a+(e?0:r),middle:a+r/2,high:a+(e?r:0)}[o.align],x=(e?s+this.height:i)+(e?1:-1)*(n?-1:1)*(this.axisTitleMargin||0)+[-u,u,p.f,-u][this.side],g={x:e?f+c:x+(n?this.width:0)+h+c,y:e?x+d-(n?this.height:0)+h:f+d};return ht(this,"afterGetTitlePosition",{titlePosition:g}),g}renderMinorTick(t,e){let i=this.minorTicks;i[t]||(i[t]=new Ge(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?.isColumn)&&(r[t]||(r[t]=new Ge(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,o=s.renderer,a=i.options,n=i.isLinked,h=i.tickPositions,c=i.axisTitle,d=i.ticks,p=i.minorTicks,u=i.alternateBands,f=a.stackLabels,x=a.alternateGridColor,g=a.crossing,m=i.tickmarkOffset,y=i.axisLine,b=i.showAxis,v=Bh(o.globalAnimation);if(i.labelEdge.length=0,i.overlap=!1,[d,p,u].forEach(function(k){Ji(k,function(w){w.isActive=!1})}),H(g)){let k=this.isXAxis?s.yAxis[0]:s.xAxis[0],w=[1,-1,-1,1][this.side];if(k){let M=k.toPixels(g,!0);i.horiz&&(M=k.len-M),i.offset=w*M}}if(i.hasData()||n){let k=i.chart.hasRendered&&i.old&&H(i.old.min);i.minorTickInterval&&!i.categories&&i.getMinorTickPositions().forEach(function(w){i.renderMinorTick(w,k)}),h.length&&(h.forEach(function(w,M){i.renderTick(w,M,k)}),m&&(i.min===0||i.single)&&(d[-1]||(d[-1]=new Ge(i,-1,null,!0)),d[-1].render(-1))),x&&h.forEach(function(w,M){e=h[M+1]!==void 0?h[M+1]+m:i.max-m,M%2==0&&w<i.max&&e<=i.max+(s.polar?-m:m)&&(u[w]||(u[w]=new L.PlotLineOrBand(i,{})),t=w+m,u[w].options={from:r?r.lin2log(t):t,to:r?r.lin2log(e):e,color:x,className:"highcharts-alternate-grid"},u[w].render(),u[w].isActive=!0)}),i._addedPlotLB||(i._addedPlotLB=!0,(a.plotLines||[]).concat(a.plotBands||[]).forEach(function(w){i.addPlotBandOrLine(w)}))}[d,p,u].forEach(function(k){let w=[],M=v.duration;Ji(k,function(S,C){S.isActive||(S.render(C,!1,0),S.isActive=!1,w.push(C))}),jh(function(){let S=w.length;for(;S--;)k[w[S]]&&!k[w[S]].isActive&&(k[w[S]].destroy(),delete k[w[S]])},k!==u&&s.hasRendered&&M?M:0)}),y&&(y[y.isPlaced?"animate":"attr"]({d:this.getLinePath(y.strokeWidth())}),y.isPlaced=!0,y[b?"show":"hide"](b)),c&&b&&(c[c.isNew?"attr":"animate"](i.getTitlePosition(c)),c.isNew=!1),f?.enabled&&i.stacking&&i.stacking.renderStackTotals(),i.old={len:i.len,max:i.max,min:i.min,transA:i.transA,userMax:i.userMax,userMin:i.userMin},i.isDirty=!1,ht(this,"afterRender")}redraw(){this.visible&&(this.render(),this.plotLinesAndBands.forEach(function(t){t.render()})),this.series.forEach(function(t){t.isDirty=!0})}getKeepProps(){return this.keepProps||Ye.keepProps}destroy(t){let e=this,i=e.plotLinesAndBands,s=this.eventOptions;if(ht(this,"destroy",{keepEvents:t}),t||Gh(e),[e.ticks,e.minorTicks,e.alternateBands].forEach(function(r){Xh(r)}),i){let r=i.length;for(;r--;)i[r].destroy()}for(let r in["axisLine","axisTitle","axisGroup","gridGroup","labelGroup","cross","scrollbar"].forEach(function(o){e[o]&&(e[o]=e[o].destroy())}),e.plotLinesAndBandsGroups)e.plotLinesAndBandsGroups[r]=e.plotLinesAndBandsGroups[r].destroy();Ji(e,function(r,o){e.getKeepProps().indexOf(o)===-1&&delete e[o]}),this.eventOptions=s}drawCrosshair(t,e){let i=this.crosshair,s=i?.snap??!0,r=this.chart,o,a,n,h=this.cross,c;if(ht(this,"drawCrosshair",{e:t,point:e}),t||(t=this.cross?.e),i&&(rt(e)||!s)!==!1){if(s?rt(e)&&(a=K(this.coll!=="colorAxis"?e.crosshairPos:null,this.isXAxis?e.plotX:this.len-e.plotY)):a=t&&(this.horiz?t.chartX-this.pos:this.len-t.chartY+this.pos),rt(a)&&(c={value:e&&(this.isXAxis?e.x:K(e.stackY,e.y)),translatedValue:a},r.polar&&Zi(c,{isCrosshair:!0,chartX:t?.chartX,chartY:t?.chartY,point:e}),o=this.getPlotLinePath(c)||null),!rt(o))return void this.hideCrosshair();n=this.categories&&!this.isRadial,h||(this.cross=h=r.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+(n?"category ":"thin ")+(i.className||"")).attr({zIndex:K(i.zIndex,2)}).add(),!r.styledMode&&(h.attr({stroke:i.color||(n?lt.parse("#ccd3ff").setOpacity(.25).get():"#cccccc"),"stroke-width":K(i.width,1)}).css({"pointer-events":"none"}),i.dashStyle&&h.attr({dashstyle:i.dashStyle}))),h.show().attr({d:o}),n&&!i.width&&h.attr({"stroke-width":this.transA}),this.cross.e=t}else this.hideCrosshair();ht(this,"afterDrawCrosshair",{e:t,point:e})}hideCrosshair(){this.cross&&this.cross.hide(),ht(this,"afterHideCrosshair")}update(t,e){let i=this.chart;t=_i(this.userOptions,t),this.destroy(!0),this.init(i,t),i.isDirtyBox=!0,K(e,!0)&&i.redraw()}remove(t){let e=this.chart,i=this.coll,s=this.series,r=s.length;for(;r--;)s[r]&&s[r].remove(!1);la(e.axes,this),la(e[i]||[],this),e.orderItems(i),this.destroy(),e.isDirtyBox=!0,K(t,!0)&&e.redraw()}setTitle(t,e){this.update({title:t},e)}setCategories(t,e){this.update({categories:t},e)}}Ye.keepProps=["coll","extKey","hcEvents","len","names","series","userMax","userMin"];let{addEvent:$h,getMagnitude:Uh,normalizeTickInterval:Vh,timeUnits:ts}=F;(function(l){function t(){return this.chart.time.getTimeTicks.apply(this.chart.time,arguments)}function e(){if(this.type!=="datetime"){this.dateTime=void 0;return}this.dateTime||(this.dateTime=new i(this))}l.compose=function(s){return s.keepProps.includes("dateTime")||(s.keepProps.push("dateTime"),s.prototype.getTimeTicks=t,$h(s,"afterSetType",e)),s};class i{constructor(r){this.axis=r}normalizeTimeTickInterval(r,o){let a=o||[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2]],["week",[1,2]],["month",[1,2,3,4,6]],["year",null]],n=a[a.length-1],h=ts[n[0]],c=n[1],d;for(d=0;d<a.length&&(h=ts[(n=a[d])[0]],c=n[1],!a[d+1]||!(r<=(h*c[c.length-1]+ts[a[d+1][0]])/2));d++);h===ts.year&&r<5*h&&(c=[1,2,5]);let p=Vh(r/h,c,n[0]==="year"?Math.max(Uh(r/h),1):1);return{unitRange:h,count:p,unitName:n[0]}}getXDateFormat(r,o){let{axis:a}=this,n=a.chart.time;return a.closestPointRange?n.getDateFormat(a.closestPointRange,r,a.options.startOfWeek,o)||n.resolveDTLFormat(o.year).main:n.resolveDTLFormat(o.day).main}}l.Additions=i})(ne||(ne={}));let qh=ne,{addEvent:ua,normalizeTickInterval:Kh,pick:Zh}=F;(function(l){function t(){this.type!=="logarithmic"?this.logarithmic=void 0:this.logarithmic??(this.logarithmic=new i(this))}function e(){let s=this.logarithmic;s&&(this.lin2val=function(r){return s.lin2log(r)},this.val2lin=function(r){return s.log2lin(r)})}l.compose=function(s){return s.keepProps.includes("logarithmic")||(s.keepProps.push("logarithmic"),ua(s,"afterSetType",t),ua(s,"afterInit",e)),s};class i{constructor(r){this.axis=r}getLogTickPositions(r,o,a,n){let h=this.axis,c=h.len,d=h.options,p=[];if(n||(this.minorAutoInterval=void 0),r>=.5)r=Math.round(r),p=h.getLinearTickPositions(r,o,a);else if(r>=.08){let u,f,x,g,m,y,b,v=Math.floor(o);for(u=r>.3?[1,2,4]:r>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],f=v;f<a+1&&!b;f++)for(x=0,g=u.length;x<g&&!b;x++)(m=this.log2lin(this.lin2log(f)*u[x]))>o&&(!n||y<=a)&&y!==void 0&&p.push(y),y>a&&(b=!0),y=m}else{let u=this.lin2log(o),f=this.lin2log(a),x=n?h.getMinorTickInterval():d.tickInterval,g=d.tickPixelInterval/(n?5:1),m=n?c/h.tickPositions.length:c;r=Kh(r=Zh(x==="auto"?null:x,this.minorAutoInterval,(f-u)*g/(m||1))),p=h.getLinearTickPositions(r,u,f).map(this.log2lin),n||(this.minorAutoInterval=r/5)}return n||(h.tickInterval=r),p}lin2log(r){return Math.pow(10,r)}log2lin(r){return Math.log(r)/Math.LN10}}l.Additions=i})(Os||(Os={}));let _h=Os,{erase:Jh,extend:Qh,isNumber:ga}=F;(function(l){let t;function e(h){return this.addPlotBandOrLine(h,"plotBands")}function i(h,c){let d=this.userOptions,p=new t(this,h);if(this.visible&&(p=p.render()),p){if(this._addedPlotLB||(this._addedPlotLB=!0,(d.plotLines||[]).concat(d.plotBands||[]).forEach(u=>{this.addPlotBandOrLine(u)})),c){let u=d[c]||[];u.push(h),d[c]=u}this.plotLinesAndBands.push(p)}return p}function s(h){return this.addPlotBandOrLine(h,"plotLines")}function r(h,c,d){d=d||this.options;let p=this.getPlotLinePath({value:c,force:!0,acrossPanes:d.acrossPanes}),u=[],f=this.horiz,x=!ga(this.min)||!ga(this.max)||h<this.min&&c<this.min||h>this.max&&c>this.max,g=this.getPlotLinePath({value:h,force:!0,acrossPanes:d.acrossPanes}),m,y=1,b;if(g&&p)for(x&&(b=g.toString()===p.toString(),y=0),m=0;m<g.length;m+=2){let v=g[m],k=g[m+1],w=p[m],M=p[m+1];(v[0]==="M"||v[0]==="L")&&(k[0]==="M"||k[0]==="L")&&(w[0]==="M"||w[0]==="L")&&(M[0]==="M"||M[0]==="L")&&(f&&w[1]===v[1]?(w[1]+=y,M[1]+=y):f||w[2]!==v[2]||(w[2]+=y,M[2]+=y),u.push(["M",v[1],v[2]],["L",k[1],k[2]],["L",M[1],M[2]],["L",w[1],w[2]],["Z"])),u.isFlat=b}return u}function o(h){this.removePlotBandOrLine(h)}function a(h){let c=this.plotLinesAndBands,d=this.options,p=this.userOptions;if(c){let u=c.length;for(;u--;)c[u].id===h&&c[u].destroy();[d.plotLines||[],p.plotLines||[],d.plotBands||[],p.plotBands||[]].forEach(function(f){for(u=f.length;u--;)f[u]?.id===h&&Jh(f,f[u])})}}function n(h){this.removePlotBandOrLine(h)}l.compose=function(h,c){let d=c.prototype;return d.addPlotBand||(t=h,Qh(d,{addPlotBand:e,addPlotLine:s,addPlotBandOrLine:i,getPlotBandPath:r,removePlotBand:o,removePlotLine:n,removePlotBandOrLine:a})),c}})(Ls||(Ls={}));let td=Ls,{addEvent:ed,arrayMax:fa,arrayMin:ma,defined:Qt,destroyObjectProperties:id,erase:sd,fireEvent:rd,merge:xa,objectEach:od,pick:ad}=F;class es{static compose(t,e){return ed(t,"afterInit",function(){this.labelCollectors.push(()=>{let i=[];for(let s of this.axes)for(let{label:r,options:o}of s.plotLinesAndBands)r&&!o?.label?.allowOverlap&&i.push(r);return i})}),td.compose(es,e)}constructor(t,e){this.axis=t,this.options=e,this.id=e.id}render(){rd(this,"render");let{axis:t,options:e}=this,{horiz:i,logarithmic:s}=t,{color:r,events:o,zIndex:a=0}=e,{renderer:n,time:h}=t.chart,c={},d=h.parse(e.to),p=h.parse(e.from),u=h.parse(e.value),f=e.borderWidth,x=e.label,{label:g,svgElem:m}=this,y=[],b,v=Qt(p)&&Qt(d),k=Qt(u),w=!m,M={class:"highcharts-plot-"+(v?"band ":"line ")+(e.className||"")},S=v?"bands":"lines";if(!t.chart.styledMode&&(k?(M.stroke=r||"#999999",M["stroke-width"]=ad(e.width,1),e.dashStyle&&(M.dashstyle=e.dashStyle)):v&&(M.fill=r||"#e6e9ff",f&&(M.stroke=e.borderColor,M["stroke-width"]=f))),c.zIndex=a,S+="-"+a,(b=t.plotLinesAndBandsGroups[S])||(t.plotLinesAndBandsGroups[S]=b=n.g("plot-"+S).attr(c).add()),m||(this.svgElem=m=n.path().attr(M).add(b)),Qt(u))y=t.getPlotLinePath({value:s?.log2lin(u)??u,lineWidth:m.strokeWidth(),acrossPanes:e.acrossPanes});else{if(!(Qt(p)&&Qt(d)))return;y=t.getPlotBandPath(s?.log2lin(p)??p,s?.log2lin(d)??d,e)}return!this.eventsAdded&&o&&(od(o,(C,P)=>{m?.on(P,T=>{o[P].apply(this,[T])})}),this.eventsAdded=!0),(w||!m.d)&&y?.length?m.attr({d:y}):m&&(y?(m.show(),m.animate({d:y})):m.d&&(m.hide(),g&&(this.label=g=g.destroy()))),x&&(Qt(x.text)||Qt(x.formatter))&&y?.length&&t.width>0&&t.height>0&&!y.isFlat?(x=xa({align:i&&v?"center":void 0,x:i?!v&&4:10,verticalAlign:!i&&v?"middle":void 0,y:i?v?16:10:v?6:-4,rotation:i&&!v?90:0,...v?{inside:!0}:{}},x),this.renderLabel(x,y,v,a)):g&&g.hide(),this}renderLabel(t,e,i,s){let r=this.axis,o=r.chart.renderer,a=t.inside,n=this.label;n||(this.label=n=o.text(this.getLabelText(t),0,0,t.useHTML).attr({align:t.textAlign||t.align,rotation:t.rotation,class:"highcharts-plot-"+(i?"band":"line")+"-label "+(t.className||""),zIndex:s}),r.chart.styledMode||n.css(xa({color:r.chart.options.title?.style?.color,fontSize:"0.8em",textOverflow:i&&!a?"":"ellipsis"},t.style)),n.add());let h=e.xBounds||[e[0][1],e[1][1],i?e[2][1]:e[0][1]],c=e.yBounds||[e[0][2],e[1][2],i?e[2][2]:e[0][2]],d=ma(h),p=ma(c),u=fa(h)-d;n.align(t,!1,{x:d,y:p,width:u,height:fa(c)-p}),n.alignAttr.y-=o.fontMetrics(n).b,(!n.alignValue||n.alignValue==="left"||Qt(a))&&n.css({width:(t.style?.width||(i&&a?u:n.rotation===90?r.height-(n.alignAttr.y-r.top):(t.clip?r.width:r.chart.chartWidth)-(n.alignAttr.x-r.left)))+"px"}),n.show(!0)}getLabelText(t){return Qt(t.formatter)?t.formatter.call(this):t.text}destroy(){sd(this.axis.plotLinesAndBands,this),delete this.axis,id(this)}}let{animObject:nd}=Mt,{format:ya}=Gt,{composed:ld,dateFormats:hd,doc:ba,isSafari:dd}=L,{distribute:cd}=zi,{addEvent:va,clamp:je,css:ka,clearTimeout:is,discardElement:pd,extend:ud,fireEvent:xr,getAlignFactor:wa,isArray:gd,isNumber:fd,isObject:md,isString:yr,merge:xd,pick:$e,pushUnique:yd,splat:br,syncTimeout:bd}=F;class vr{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(e=>{let i=e.series.tooltipOptions,s=e.formatPrefix||"point";return(i[s+"Formatter"]||e.tooltipFormatter).call(e,i[s+"Format"]||"")})}cleanSplit(t){this.chart.series.forEach(function(e){let i=e?.tt;i&&(!i.isActive||t?e.tt=i.destroy():i.isActive=!1)})}defaultFormatter(t){let e,i=this.points||br(this);return(e=(e=[t.headerFooterFormatter(i[0])]).concat(t.bodyFormatter(i))).push(t.headerFooterFormatter(i[0],!0)),e}destroy(){this.label&&(this.label=this.label.destroy()),this.split&&(this.cleanSplit(!0),this.tt&&(this.tt=this.tt.destroy())),this.renderer&&(this.renderer=this.renderer.destroy(),pd(this.container)),is(this.hideTimer)}getAnchor(t,e){let i,{chart:s,pointer:r}=this,o=s.inverted,a=s.plotTop,n=s.plotLeft;if(t=br(t),t[0].series?.yAxis&&!t[0].series.yAxis.options.reversedStacks&&(t=t.slice().reverse()),this.followPointer&&e)e.chartX===void 0&&(e=r.normalize(e)),i=[e.chartX-n,e.chartY-a];else if(t[0].tooltipPos)i=t[0].tooltipPos;else{let c=0,d=0;t.forEach(function(p){let u=p.pos(!0);u&&(c+=u[0],d+=u[1])}),c/=t.length,d/=t.length,this.shared&&t.length>1&&e&&(o?c=e.chartX:d=e.chartY),i=[c-n,d-a]}let h={point:t[0],ret:i};return xr(this,"getAnchor",h),h.ret.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-"+$e(t.colorIndex,r.colorIndex),o?.className].filter(yr).join(" ")}getLabel({anchorX:t,anchorY:e}={anchorX:0,anchorY:0}){let i=this,s=this.chart.styledMode,r=this.options,o=this.split&&this.allowShared,a=this.container,n=this.chart.renderer;if(this.label){let h=!this.label.hasClass("highcharts-label");(!o&&h||o&&!h)&&this.destroy()}if(!this.label){if(this.outside){let h=this.chart,c=h.options.chart.style,d=ri.getRendererType();this.container=a=L.doc.createElement("div"),a.className="highcharts-tooltip-container "+(h.renderTo.className.match(/(highcharts[a-zA-Z0-9-]+)\s?/gm)||""),ka(a,{position:"absolute",top:"1px",pointerEvents:"none",zIndex:Math.max(this.options.style.zIndex||0,(c?.zIndex||0)+3)}),this.renderer=n=new d(a,0,0,c,void 0,void 0,n.styledMode)}if(o?this.label=n.g("tooltip"):(this.label=n.label("",t,e,r.shape||"callout",void 0,void 0,r.useHTML,void 0,"tooltip").attr({padding:r.padding,r:r.borderRadius}),s||this.label.attr({fill:r.backgroundColor,"stroke-width":r.borderWidth||0}).css(r.style).css({pointerEvents:r.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none")})),i.outside){let h=this.label;[h.xSetter,h.ySetter].forEach((c,d)=>{h[d?"ySetter":"xSetter"]=p=>{c.call(h,i.distance),h[d?"y":"x"]=p,a&&(a.style[d?"top":"left"]=`${p}px`)}})}this.label.attr({zIndex:8}).shadow(r.shadow??!r.fixed).add()}return a&&!a.parentElement&&L.doc.body.appendChild(a),this.label}getPlayingField(){let{body:t,documentElement:e}=ba,{chart:i,distance:s,outside:r}=this;return{width:r?Math.max(t.scrollWidth,e.scrollWidth,t.offsetWidth,e.offsetWidth,e.clientWidth)-2*s-2:i.chartWidth,height:r?Math.max(t.scrollHeight,e.scrollHeight,t.offsetHeight,e.offsetHeight,e.clientHeight):i.chartHeight}}getPosition(t,e,i){let{distance:s,chart:r,outside:o,pointer:a}=this,{inverted:n,plotLeft:h,plotTop:c,polar:d}=r,{plotX:p=0,plotY:u=0}=i,f={},x=n&&i.h||0,{height:g,width:m}=this.getPlayingField(),y=a.getChartPosition(),b=N=>{let z=N==="x";return[N,z?m:g,z?t:e].concat(o?[z?t*y.scaleX:e*y.scaleY,z?y.left-s+(p+h)*y.scaleX:y.top-s+(u+c)*y.scaleY,0,z?m:g]:[z?t:e,z?p+h:u+c,z?h:c,z?h+r.plotWidth:c+r.plotHeight])},v=b("y"),k=b("x"),w,M=!!i.negative;!d&&r.hoverSeries?.yAxis?.reversed&&(M=!M);let S=!this.followPointer&&$e(i.ttBelow,!d&&!n===M),C=function(N,z,X,W,R,ot,et){let Lt=o?N==="y"?s*y.scaleY:s*y.scaleX:s,G=(X-W)/2,Y=W<R-s,Q=R+s+W<z,U=R-Lt-X+G,it=R+Lt-G;if(S&&Q)f[N]=it;else if(!S&&Y)f[N]=U;else if(Y)f[N]=Math.min(et-W,U-x<0?U:U-x);else{if(!Q)return f[N]=0,!1;f[N]=Math.max(ot,it+x+X>z?it:it+x)}},P=function(N,z,X,W,R){if(R<s||R>z-s)return!1;R<X/2?f[N]=1:R>z-W/2?f[N]=z-W-2:f[N]=R-X/2},T=function(N){[v,k]=[k,v],w=N},D=()=>{C.apply(0,v)!==!1?P.apply(0,k)!==!1||w||(T(!0),D()):w?f.x=f.y=0:(T(!0),D())};return(n&&!d||this.len>1)&&T(),D(),f}getFixedPosition(t,e,i){let s=i.series,{chart:r,options:o,split:a}=this,n=o.position,h=n.relativeTo,c=o.shared||s?.yAxis?.isRadial&&(h==="pane"||!h)?"plotBox":h,d=c==="chart"?r.renderer:r[c]||r.getClipBox(s,!0);return{x:d.x+(d.width-t)*wa(n.align)+n.x,y:d.y+(d.height-e)*wa(n.verticalAlign)+(!a&&n.y||0)}}hide(t){let e=this;is(this.hideTimer),t=$e(t,this.options.hideDelay),this.isHidden||(this.hideTimer=bd(function(){let i=e.getLabel();e.getLabel().animate({opacity:0},{duration:t&&150,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=$e(e.outside,!!(t.scrollablePixelsX||t.scrollablePixelsY))}shouldStickOnContact(t){return!!(!this.followPointer&&this.options.stickOnContact&&(!t||this.pointer.inClass(t.target,"highcharts-tooltip")))}move(t,e,i,s){let{followPointer:r,options:o}=this,a=nd(!r&&!this.isHidden&&!o.fixed&&o.animation),n=r||(this.len||0)>1,h={x:t,y:e};n?h.anchorX=h.anchorY=NaN:(h.anchorX=i,h.anchorY=s),a.step=()=>this.drawTracker(),this.getLabel().animate(h,a)}refresh(t,e){let{chart:i,options:s,pointer:r,shared:o}=this,a=br(t),n=a[0],h=s.format,c=s.formatter||this.defaultFormatter,d=i.styledMode,p=this.allowShared;if(!s.enabled||!n.series)return;is(this.hideTimer),this.allowShared=!(!gd(t)&&t.series&&t.series.noSharedTooltip),p=p&&!this.allowShared,this.followPointer=!this.split&&n.series.tooltipOptions.followPointer;let u=this.getAnchor(t,e),f=u[0],x=u[1];o&&this.allowShared&&(r.applyInactiveState(a),a.forEach(y=>y.setState("hover")),n.points=a),this.len=a.length;let g=yr(h)?ya(h,n,i):c.call(n,this);n.points=void 0;let m=n.series;if(this.distance=$e(m.tooltipOptions.distance,16),g===!1)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(g,a);else{let y=f,b=x;if(e&&r.isDirectTouch&&(y=e.chartX-i.plotLeft,b=e.chartY-i.plotTop),!(i.polar||m.options.clip===!1||a.some(v=>r.isDirectTouch||v.series.shouldShowTooltip(y,b))))return void this.hide();{let v=this.getLabel(p&&this.tt||{});(!s.style.width||d)&&v.css({width:(this.outside?this.getPlayingField():i.spacingBox).width+"px"}),v.attr({class:this.getClassName(n),text:g&&g.join?g.join(""):g}),this.outside&&v.attr({x:je(v.x||0,0,this.getPlayingField().width-(v.width||0)-1)}),d||v.attr({stroke:s.borderColor||n.color||m.color||"#666666"}),this.updatePosition({plotX:f,plotY:x,negative:n.negative,ttBelow:n.ttBelow,series:m,h:u[2]||0})}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}xr(this,"refresh")}renderSplit(t,e){let i=this,{chart:s,chart:{chartWidth:r,chartHeight:o,plotHeight:a,plotLeft:n,plotTop:h,scrollablePixelsY:c=0,scrollablePixelsX:d,styledMode:p},distance:u,options:f,options:{fixed:x,position:g,positioner:m},pointer:y}=i,{scrollLeft:b=0,scrollTop:v=0}=s.scrollablePlotArea?.scrollingContainer||{},k=i.outside&&typeof d!="number"?ba.documentElement.getBoundingClientRect():{left:b,right:b+r},w=i.getLabel(),M=this.renderer||s.renderer,S=!!s.xAxis[0]?.opposite,{left:C,top:P}=y.getChartPosition(),T=m||x,D=h+v,N=0,z=a-c,X=function(G,Y,Q,U=[0,0],it=!0){let gt,st;if(Q.isHeader)st=S?0:z,gt=je(U[0]-G/2,k.left,k.right-G-(i.outside?C:0));else if(x&&Q){let ut=i.getFixedPosition(G,Y,Q);gt=ut.x,st=ut.y-D}else st=U[1]-D,gt=je(gt=it?U[0]-G-u:U[0]+u,it?gt:k.left,k.right);return{x:gt,y:st}};yr(t)&&(t=[!1,t]);let W=t.slice(0,e.length+1).reduce(function(G,Y,Q){if(Y!==!1&&Y!==""){let U=e[Q-1]||{isHeader:!0,plotX:e[0].plotX,plotY:a,series:{}},it=U.isHeader,gt=it?i:U.series,st=gt.tt=(function(qt,St,ae){let Wt=qt,{isHeader:Ie,series:wi}=St,Kt=wi.tooltipOptions||f;if(!Wt){let Ze={padding:Kt.padding,r:Kt.borderRadius};p||(Ze.fill=Kt.backgroundColor,Ze["stroke-width"]=Kt.borderWidth??(x&&!Ie?0:1)),Wt=M.label("",0,0,Kt[Ie?"headerShape":"shape"]||(x&&!Ie?"rect":"callout"),void 0,void 0,Kt.useHTML).addClass(i.getClassName(St,!0,Ie)).attr(Ze).add(w)}return Wt.isActive=!0,Wt.attr({text:ae}),p||Wt.css(Kt.style).attr({stroke:Kt.borderColor||St.color||wi.color||"#333333"}),Wt})(gt.tt,U,Y.toString()),ut=st.getBBox(),Et=ut.width+st.strokeWidth();it&&(N=ut.height,z+=N,S&&(D-=N));let{anchorX:It,anchorY:Ke}=(function(qt){let St,ae,{isHeader:Wt,plotX:Ie=0,plotY:wi=0,series:Kt}=qt;if(Wt)St=Math.max(n+Ie,n),ae=h+a/2;else{let{xAxis:Ze,yAxis:Xn}=Kt;St=Ze.pos+je(Ie,-u,Ze.len+u),Kt.shouldShowTooltip(0,Xn.pos-h+wi,{ignoreX:!0})&&(ae=Xn.pos+wi)}return{anchorX:St=je(St,k.left-u,k.right+u),anchorY:ae}})(U);if(typeof Ke=="number"){let qt=ut.height+1,St=(m||X).call(i,Et,qt,U,[It,Ke]);G.push({align:T?0:void 0,anchorX:It,anchorY:Ke,boxWidth:Et,point:U,rank:$e(St.rank,+!!it),size:qt,target:St.y,tt:st,x:St.x})}else st.isActive=!1}return G},[]);!T&&W.some(G=>{let{outside:Y}=i,Q=(Y?C:0)+G.anchorX;return Q<k.left&&Q+G.boxWidth<k.right||Q<C-k.left+G.boxWidth&&k.right-Q>Q})&&(W=W.map(G=>{let{x:Y,y:Q}=X.call(this,G.boxWidth,G.size,G.point,[G.anchorX,G.anchorY],!1);return ud(G,{target:Q,x:Y})})),i.cleanSplit(),cd(W,z);let R={left:C,right:C};W.forEach(function(G){let{x:Y,boxWidth:Q,isHeader:U}=G;!U&&(i.outside&&C+Y<R.left&&(R.left=C+Y),!U&&i.outside&&R.left+Q>R.right&&(R.right=C+Y))}),W.forEach(function(G){let{x:Y,anchorX:Q,anchorY:U,pos:it,point:{isHeader:gt}}=G,st={visibility:it===void 0?"hidden":"inherit",x:Y,y:(it||0)+D+(x&&g.y||0),anchorX:Q,anchorY:U};if(i.outside&&Y<Q){let ut=C-R.left;ut>0&&(gt||(st.x=Y+ut,st.anchorX=Q+ut),gt&&(st.x=(R.right-R.left)/2,st.anchorX=Q+ut))}G.tt.attr(st)});let{container:ot,outside:et,renderer:Lt}=i;if(et&&ot&&Lt){let{width:G,height:Y,x:Q,y:U}=w.getBBox();Lt.setSize(G+Q,Y+U,!1),ot.style.left=R.left+"px",ot.style.top=P+"px"}dd&&w.attr({opacity:w.opacity===1?.999:1})}drawTracker(){let t=this;if(!this.shouldStickOnContact()){t.tracker&&(t.tracker=t.tracker.destroy());return}let e=t.chart,i=t.label,s=t.shared?e.hoverPoints:e.hoverPoint;if(!i||!s)return;let r={x:0,y:0,width:0,height:0},o=this.getAnchor(s),a=i.getBBox();o[0]+=e.plotLeft-(i.translateX||0),o[1]+=e.plotTop-(i.translateY||0),r.x=Math.min(0,o[0]),r.y=Math.min(0,o[1]),r.width=o[0]<0?Math.max(Math.abs(o[0]),a.width-o[0]):Math.max(Math.abs(o[0]),a.width),r.height=o[1]<0?Math.max(Math.abs(o[1]),a.height-Math.abs(o[1])):Math.max(Math.abs(o[1]),a.height),t.tracker?t.tracker.attr(r):(t.tracker=i.renderer.rect(r).addClass("highcharts-tracker").add(i),va(t.tracker.element,"mouseenter",()=>{is(t.hideTimer)}),e.styledMode||t.tracker.attr({fill:"rgba(0,0,0,0)"}))}styledModeFormat(t){return t.replace('style="font-size: 0.8em"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex} {series.options.className} {point.options.className}"')}headerFooterFormatter(t,e){let i=t.series,s=i.tooltipOptions,r=i.xAxis,o=r?.dateTime,a={isFooter:e,point:t},n=s.xDateFormat||"",h=s[e?"footerFormat":"headerFormat"];return xr(this,"headerFormatter",a,function(c){if(o&&!n&&fd(t.key)&&(n=o.getXDateFormat(t.key,s.dateTimeLabelFormats)),o&&n){if(md(n)){let d=n;hd[0]=p=>i.chart.time.dateFormat(d,p),n="%0"}(t.tooltipDateKeys||["key"]).forEach(d=>{h=h.replace(RegExp("point\\."+d+"([ \\)}])"),`(point.${d}:${n})$1`)})}i.chart.styledMode&&(h=this.styledModeFormat(h)),c.text=ya(h,t,this.chart)}),a.text||""}update(t){this.destroy(),this.init(this.chart,xd(!0,this.options,t))}updatePosition(t){let{chart:e,container:i,distance:s,options:r,pointer:o,renderer:a}=this,{height:n=0,width:h=0}=this.getLabel(),{fixed:c,positioner:d}=r,{left:p,top:u,scaleX:f,scaleY:x}=o.getChartPosition(),g=(d||c&&this.getFixedPosition||this.getPosition).call(this,h,n,t),m=L.doc,y=(t.plotX||0)+e.plotLeft,b=(t.plotY||0)+e.plotTop,v;if(a&&i){if(d||c){let{scrollLeft:k=0,scrollTop:w=0}=e.scrollablePlotArea?.scrollingContainer||{};g.x+=k+p-s,g.y+=w+u-s}v=(r.borderWidth||0)+2*s+2,a.setSize(je(h+v,0,m.documentElement.clientWidth)-1,n+v,!1),(f!==1||x!==1)&&(ka(i,{transform:`scale(${f}, ${x})`}),y*=f,b*=x),y+=p-g.x,b+=u-g.y}this.move(Math.round(g.x),Math.round(g.y||0),y,b)}}(Ai=vr||(vr={})).compose=function(l){yd(ld,"Core.Tooltip")&&va(l,"afterInit",function(){let t=this.chart;t.options.tooltip&&(t.tooltip=new Ai(t,t.options.tooltip,this))})};let Ma=vr,{animObject:vd}=Mt,{defaultOptions:kd}=Ft,{format:wd}=Gt,{addEvent:Md,crisp:Sd,erase:Td,extend:ss,fireEvent:kr,getNestedProperty:Cd,isArray:Ad,isFunction:Pd,isNumber:de,isObject:rs,merge:Sa,pick:ce,syncTimeout:Od,removeEvent:Ta,uniqueKey:Ld}=F;class di{constructor(t,e,i){this.formatPrefix="point",this.visible=!0,this.point=this,this.series=t,this.applyOptions(e,i),this.id??(this.id=Ld()),this.resolveColor(),this.dataLabelOnNull??(this.dataLabelOnNull=t.options.nullInteraction),t.chart.pointCount++,this.category=t.xAxis?.categories?.[this.x]??this.x,this.key=this.name??this.category,kr(this,"afterInit")}animateBeforeDestroy(){let t=this,e={x:t.startXPos,opacity:0},i=t.getGraphicalProps();i.singular.forEach(function(s){t[s]=t[s].animate(s==="dataLabel"?{x:t[s].startXPos,y:t[s].startYPos,opacity:0}:e)}),i.plural.forEach(function(s){t[s].forEach(function(r){r.element&&r.animate(ss({x:t.startXPos},r.startYPos?{x:r.startXPos,y:r.startYPos}:{}))})})}applyOptions(t,e){let i=this.series,s=i.options.pointValKey||i.pointValKey;return ss(this,t=di.prototype.optionsToObject.call(this,t)),this.options=this.options?ss(this.options,t):t,t.group&&delete this.group,t.dataLabels&&delete this.dataLabels,s&&(this.y=di.prototype.getNestedProperty.call(this,s)),this.selected&&(this.state="select"),"name"in this&&e===void 0&&i.xAxis&&i.xAxis.hasNames&&(this.x=i.xAxis.nameToX(this)),this.x===void 0&&i?this.x=e??i.autoIncrement():de(t.x)&&i.options.relativeXValue?this.x=i.autoIncrement(t.x):typeof this.x=="string"&&(e??(e=i.chart.time.parse(this.x)),de(e)&&(this.x=e)),this.isNull=this.isValid&&!this.isValid(),this.formatPrefix=this.isNull?"null":"point",this}destroy(){if(!this.destroyed){let t=this,e=t.series,i=e.chart,s=e.options.dataSorting,r=i.hoverPoints,o=vd(t.series.chart.renderer.globalAnimation),a=()=>{for(let n in(t.graphic||t.graphics||t.dataLabel||t.dataLabels)&&(Ta(t),t.destroyElements()),t)delete t[n]};t.legendItem&&i.legend.destroyItem(t),r&&(t.setState(),Td(r,t),r.length||(i.hoverPoints=null)),t===i.hoverPoint&&t.onMouseOut(),s?.enabled?(this.animateBeforeDestroy(),Od(a,o.duration)):a(),i.pointCount--}this.destroyed=!0}destroyElements(t){let e=this,i=e.getGraphicalProps(t);i.singular.forEach(function(s){e[s]=e[s].destroy()}),i.plural.forEach(function(s){e[s].forEach(function(r){r?.element&&r.destroy()}),delete e[s]})}firePointEvent(t,e,i){let s=this,r=this.series.options;s.manageEvent(t),t==="click"&&r.allowPointSelect&&(i=function(o){!s.destroyed&&s.select&&s.select(null,o.ctrlKey||o.metaKey||o.shiftKey)}),kr(s,t,e,i)}getClassName(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(this.colorIndex!==void 0?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone?.className?" "+this.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(t){let e,i,s=this,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(a){let n=a+"s";t[a]&&s[n]&&o.plural.push(n)}),o}getNestedProperty(t){if(t)return t.indexOf("custom.")===0?Cd(t,this.options):this[t]}getZone(){let t=this.series,e=t.zones,i=t.zoneAxis||"y",s,r=0;for(s=e[0];this[i]>=s.value;)s=e[++r];return this.nonZonedColor||(this.nonZonedColor=this.color),s?.color&&!this.options.color?this.color=s.color:this.color=this.nonZonedColor,s}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}isValid(){return(de(this.x)||this.x instanceof Date)&&de(this.y)}optionsToObject(t){let e=this.series,i=e.options.keys,s=i||e.pointArrayMap||["y"],r=s.length,o={},a,n=0,h=0;if(de(t)||t===null)o[s[0]]=t;else if(Ad(t))for(!i&&t.length>r&&((a=typeof t[0])=="string"?e.xAxis?.dateTime?o.x=e.chart.time.parse(t[0]):o.name=t[0]:a==="number"&&(o.x=t[0]),n++);h<r;)i&&t[n]===void 0||(s[h].indexOf(".")>0?di.prototype.setNestedProperty(o,t[n],s[h]):o[s[h]]=t[n]),n++,h++;else typeof t=="object"&&(o=t,t.dataLabels&&(e.hasDataLabels=()=>!0),t.marker&&(e._hasPointMarkers=!0));return o}pos(t,e=this.plotY){if(!this.destroyed){let{plotX:i,series:s}=this,{chart:r,xAxis:o,yAxis:a}=s,n=0,h=0;if(de(i)&&de(e))return t&&(n=o?o.pos:r.plotLeft,h=a?a.pos:r.plotTop),r.inverted&&o&&a?[a.len-e+h,o.len-i+n]:[i+n,e+h]}}resolveColor(){let t=this.series,e=t.chart.options.chart,i=t.chart.styledMode,s,r,o=e.colorCount,a;delete this.nonZonedColor,t.options.colorByPoint?(i||(s=(r=t.options.colors||t.chart.options.colors)[t.colorCounter],o=r.length),a=t.colorCounter,t.colorCounter++,t.colorCounter===o&&(t.colorCounter=0)):(i||(s=t.color),a=t.colorIndex),this.colorIndex=ce(this.options.colorIndex,a),this.color=ce(this.options.color,s)}setNestedProperty(t,e,i){return i.split(".").reduce(function(s,r,o,a){let n=a.length-1===o;return s[r]=n?e:rs(s[r],!0)?s[r]:{},s[r]},t),t}shouldDraw(){return!this.isNull}tooltipFormatter(t){let{chart:e,pointArrayMap:i=["y"],tooltipOptions:s}=this.series,{valueDecimals:r="",valuePrefix:o="",valueSuffix:a=""}=s;return e.styledMode&&(t=e.tooltip?.styledModeFormat(t)||t),i.forEach(n=>{n="{point."+n,(o||a)&&(t=t.replace(RegExp(n+"}","g"),o+n+"}"+a)),t=t.replace(RegExp(n+"}","g"),n+":,."+r+"f}")}),wd(t,this,e)}update(t,e,i,s){let r,o=this,a=o.series,n=o.graphic,h=a.chart,c=a.options;function d(){o.applyOptions(t);let p=n&&o.hasMockGraphic,u=o.y===null?!p:p;n&&u&&(o.graphic=n.destroy(),delete o.hasMockGraphic),rs(t,!0)&&(n?.element&&t&&t.marker&&t.marker.symbol!==void 0&&(o.graphic=n.destroy()),t?.dataLabels&&o.dataLabel&&(o.dataLabel=o.dataLabel.destroy())),r=o.index;let f={};for(let x of a.dataColumnKeys())f[x]=o[x];a.dataTable.setRow(f,r),c.data[r]=rs(c.data[r],!0)||rs(t,!0)?o.options:ce(t,c.data[r]),a.isDirty=a.isDirtyData=!0,!a.fixedBox&&a.hasCartesianSeries&&(h.isDirtyBox=!0),c.legendType==="point"&&(h.isDirtyLegend=!0),e&&h.redraw(i)}e=ce(e,!0),s===!1?d():o.firePointEvent("update",{options:t},d)}remove(t,e){this.series.removePoint(this.series.data.indexOf(this),t,e)}select(t,e){let i=this,s=i.series,r=s.chart;t=ce(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(o){let a=o.series;o.selected&&o!==i&&(o.selected=o.options.selected=!1,a.options.data[a.data.indexOf(o)]=o.options,o.setState(r.hoverPoints&&a.options.inactiveOtherPoints?"inactive":""),o.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(e){e.setState()}),t.hoverPoints=t.hoverPoint=null}manageEvent(t){let e=Sa(this.series.options.point,this.options),i=e.events?.[t];Pd(i)&&(!this.hcEvents?.[t]||this.hcEvents?.[t]?.map(s=>s.fn).indexOf(i)===-1)?(this.importedUserEvent?.(),this.importedUserEvent=Md(this,t,i),this.hcEvents&&(this.hcEvents[t].userEvent=!0)):this.importedUserEvent&&!i&&this.hcEvents?.[t]&&this.hcEvents?.[t].userEvent&&(Ta(this,t),delete this.hcEvents[t],Object.keys(this.hcEvents)||delete this.importedUserEvent)}setState(t,e){let i=this.series,s=this.state,r=i.options.states[t||"normal"]||{},o=kd.plotOptions[i.type].marker&&i.options.marker,a=o&&o.enabled===!1,n=o?.states?.[t||"normal"]||{},h=n.enabled===!1,c=this.marker||{},d=i.chart,p=o&&i.markerAttribs,u=i.halo,f,x,g,m=i.stateMarkerGraphic,y;if((t=t||"")===this.state&&!e||this.selected&&t!=="select"||r.enabled===!1||t&&(h||a&&n.enabled===!1)||t&&c.states&&c.states[t]&&c.states[t].enabled===!1)return;if(this.state=t,p&&(f=i.markerAttribs(this,t)),this.graphic&&!this.hasMockGraphic){if(s&&this.graphic.removeClass("highcharts-point-"+s),t&&this.graphic.addClass("highcharts-point-"+t),!d.styledMode){x=i.pointAttribs(this,t),g=ce(d.options.chart.animation,r.animation);let w=x.opacity;i.options.inactiveOtherPoints&&de(w)&&(this.dataLabels||[]).forEach(function(M){M&&!M.hasClass("highcharts-data-label-hidden")&&(M.animate({opacity:w},g),M.connector&&M.connector.animate({opacity:w},g))}),this.graphic.animate(x,g)}f&&this.graphic.animate(f,ce(d.options.chart.animation,n.animation,o.animation)),m&&m.hide()}else t&&n&&(y=c.symbol||i.symbol,m&&m.currentSymbol!==y&&(m=m.destroy()),f&&(m?m[e?"animate":"attr"]({x:f.x,y:f.y}):y&&(i.stateMarkerGraphic=m=d.renderer.symbol(y,f.x,f.y,f.width,f.height,Sa(o,n)).add(i.markerGroup),m.currentSymbol=y)),!d.styledMode&&m&&this.state!=="inactive"&&m.attr(i.pointAttribs(this,t))),m&&(m[t&&this.isInside?"show":"hide"](),m.element.point=this,m.addClass(this.getClassName(),!0));let b=r.halo,v=this.graphic||m,k=v?.visibility||"inherit";b?.size&&v&&k!=="hidden"&&!this.isCluster?(u||(i.halo=u=d.renderer.path().add(v.parentGroup)),u.show()[e?"animate":"attr"]({d:this.haloPath(b.size)}),u.attr({class:"highcharts-halo highcharts-color-"+ce(this.colorIndex,i.colorIndex)+(this.className?" "+this.className:""),visibility:k,zIndex:-1}),u.point=this,d.styledMode||u.attr(ss({fill:this.color||i.color,"fill-opacity":b.opacity},at.filterUserAttributes(b.attributes||{})))):u?.point?.haloPath&&!u.point.destroyed&&u.animate({d:u.point.haloPath(0)},null,u.hide),kr(this,"afterSetState",{state:t})}haloPath(t){let e=this.pos();return e?this.series.chart.renderer.symbols.circle(Sd(e[0],1)-t,e[1]-t,2*t,2*t):[]}}let pe=di,{parse:Ed}=lt,{charts:wr,composed:Id,isTouchDevice:Dd}=L,{addEvent:Yt,attr:Bd,css:Mr,extend:Sr,find:Ca,fireEvent:ue,isNumber:os,isObject:as,objectEach:Nd,offset:zd,pick:te,pushUnique:Rd,splat:Aa}=F;class vt{applyInactiveState(t=[]){let e=[];for(let i of(t.forEach(s=>{let r=s.series;e.push(r),r.linkedParent&&e.push(r.linkedParent),r.linkedSeries&&e.push.apply(e,r.linkedSeries),r.navigatorSeries&&e.push(r.navigatorSeries),r.boosted&&r.markerGroup&&e.push.apply(e,this.chart.series.filter(o=>o.markerGroup===r.markerGroup))}),this.chart.series)){let s=i.options;s.states?.inactive?.enabled!==!1&&(e.indexOf(i)===-1?i.setState("inactive",!0):s.inactiveOtherPoints&&i.setAllPointsToState("inactive"))}}destroy(){let t=this;this.eventsToUnbind.forEach(e=>e()),this.eventsToUnbind=[],!L.chartCount&&(vt.unbindDocumentMouseUp.forEach(e=>e.unbind()),vt.unbindDocumentMouseUp.length=0,vt.unbindDocumentTouchEnd&&(vt.unbindDocumentTouchEnd=vt.unbindDocumentTouchEnd())),Nd(t,function(e,i){t[i]=void 0})}getSelectionMarkerAttrs(t,e){let i={args:{chartX:t,chartY:e},attrs:{},shapeType:"rect"};return ue(this,"getSelectionMarkerAttrs",i,s=>{let r,{chart:o,zoomHor:a,zoomVert:n}=this,{mouseDownX:h=0,mouseDownY:c=0}=o,d=s.attrs;d.x=o.plotLeft,d.y=o.plotTop,d.width=a?1:o.plotWidth,d.height=n?1:o.plotHeight,a&&(d.width=Math.max(1,Math.abs(r=t-h)),d.x=(r>0?0:r)+h),n&&(d.height=Math.max(1,Math.abs(r=e-c)),d.y=(r>0?0:r)+c)}),i}drag(t){let{chart:e}=this,{mouseDownX:i=0,mouseDownY:s=0}=e,{panning:r,panKey:o,selectionMarkerFill:a}=e.options.chart,n=e.plotLeft,h=e.plotTop,c=e.plotWidth,d=e.plotHeight,p=as(r)?r.enabled:r,u=o&&t[`${o}Key`],f=t.chartX,x=t.chartY,g,m=this.selectionMarker;if((!m||!m.touch)&&(f<n?f=n:f>n+c&&(f=n+c),x<h?x=h:x>h+d&&(x=h+d),this.hasDragged=Math.sqrt(Math.pow(i-f,2)+Math.pow(s-x,2)),this.hasDragged>10)){g=e.isInsidePlot(i-n,s-h,{visiblePlotOnly:!0});let{shapeType:y,attrs:b}=this.getSelectionMarkerAttrs(f,x);this.hasZoom&&g&&!u&&!m&&(this.selectionMarker=m=e.renderer[y](),m.attr({class:"highcharts-selection-marker",zIndex:7}).add(),e.styledMode||m.attr({fill:a||Ed("#334eff").setOpacity(.25).get()})),m&&m.attr(b),g&&!m&&p&&e.pan(t,r)}}dragStart(t){let e=this.chart;e.mouseIsDown=t.type,e.cancelClick=!1,e.mouseDownX=t.chartX,e.mouseDownY=t.chartY}getSelectionBox(t){let e={args:{marker:t},result:t.getBBox()};return ue(this,"getSelectionBox",e),e.result}drop(t){let e,{chart:i,selectionMarker:s}=this;for(let r of i.axes)r.isPanning&&(r.isPanning=!1,(r.options.startOnTick||r.options.endOnTick||r.series.some(o=>o.boosted))&&(r.forceRedraw=!0,r.setExtremes(r.userMin,r.userMax,!1),e=!0));if(e&&i.redraw(),s&&t){if(this.hasDragged){let r=this.getSelectionBox(s);i.transform({axes:i.axes.filter(o=>o.zoomEnabled&&(o.coll==="xAxis"&&this.zoomX||o.coll==="yAxis"&&this.zoomY)),selection:{originalEvent:t,xAxis:[],yAxis:[],...r},from:r})}os(i.index)&&(this.selectionMarker=s.destroy())}i&&os(i.index)&&(Mr(i.container,{cursor:i._cursor}),i.cancelClick=this.hasDragged>10,i.mouseIsDown=!1,this.hasDragged=0,this.pinchDown=[],this.hasPinchMoved=!1)}findNearestKDPoint(t,e,i){let s;return t.forEach(function(r){var o;let a,n,h,c=!(r.noSharedTooltip&&e)&&0>r.options.findNearestPointBy.indexOf("y"),d=r.searchPoint(i,c);as(d,!0)&&d.series&&(!as(s,!0)||(a=(o=s).distX-d.distX,n=o.dist-d.dist,h=d.series.group?.zIndex-o.series.group?.zIndex,(a!==0&&e?a:n!==0?n:h!==0?h:o.series.index>d.series.index?-1:1)>0))&&(s=d)}),s}getChartCoordinatesFromPoint(t,e){let{xAxis:i,yAxis:s}=t.series,r=t.shapeArgs;if(i&&s){let o=t.clientX??t.plotX??0,a=t.plotY||0;return t.isNode&&r&&os(r.x)&&os(r.y)&&(o=r.x,a=r.y),e?{chartX:s.len+s.pos-a,chartY:i.len+i.pos-o}:{chartX:o+i.pos,chartY:a+s.pos}}if(r?.x&&r.y)return{chartX:r.x,chartY:r.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;let{container:t}=this.chart,e=zd(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 a=[],n=function(u){return u.visible&&!(!r&&u.directTouch)&&te(u.options.enableMouseTracking,!0)},h=e,c,d={chartX:o?o.chartX:void 0,chartY:o?o.chartY:void 0,shared:r};ue(this,"beforeGetHoverData",d),c=h&&!h.stickyTracking?[h]:i.filter(u=>u.stickyTracking&&(d.filter||n)(u));let p=s&&t||!o?t:this.findNearestKDPoint(c,r,o);return h=p?.series,p&&(r&&!h.noSharedTooltip?(c=i.filter(function(u){return d.filter?d.filter(u):n(u)&&!u.noSharedTooltip})).forEach(function(u){let f=u.options?.nullInteraction,x=Ca(u.points,function(g){return g.x===p.x&&(!g.isNull||!!f)});as(x)&&(u.boosted&&u.boost&&(x=u.boost.getPoint(x)),a.push(x))}):a.push(p)),ue(this,"afterGetHoverData",d={hoverPoint:p}),{hoverPoint:d.hoverPoint,hoverSeries:h,hoverPoints:a}}getPointFromEvent(t){let e=t.target,i;for(;e&&!i;)i=e.point,e=e.parentNode;return i}onTrackerMouseOut(t){let e=this.chart,i=t.relatedTarget,s=e.hoverSeries;this.isDirectTouch=!1,!s||!i||s.stickyTracking||this.inClass(i,"highcharts-tooltip")||this.inClass(i,"highcharts-series-"+s.index)&&this.inClass(i,"highcharts-tracker")||s.onMouseOut()}inClass(t,e){let i=t,s;for(;i;){if(s=Bd(i,"class")){if(s.indexOf(e)!==-1)return!0;if(s.indexOf("highcharts-container")!==-1)return!1}i=i.parentElement}}constructor(t,e){this.hasDragged=0,this.pointerCaptureEventsToUnbind=[],this.eventsToUnbind=[],this.options=e,this.chart=t,this.runChartClick=!!e.chart.events?.click,this.pinchDown=[],this.setDOMEvents(),ue(this,"afterInit")}normalize(t,e){let i=t.touches,s=i?i.length?i.item(0):te(i.changedTouches,t.changedTouches)[0]:t;e||(e=this.getChartPosition());let r=s.pageX-e.left,o=s.pageY-e.top;return Sr(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")?(ue(i.series,"click",Sr(s,{point:i})),e.hoverPoint&&i.firePointEvent("click",s)):(Sr(s,this.getCoordinates(s)),e.isInsidePlot(s.chartX-r,s.chartY-o,{visiblePlotOnly:!0})&&ue(e,"click",s)))}onContainerMouseDown(t){let e=(1&(t.buttons||t.button))==1;t=this.normalize(t),L.isFirefox&&t.button!==0&&this.onContainerMouseMove(t),(t.button===void 0||e)&&(this.zoomOption(t),e&&t.preventDefault?.(),this.dragStart(t))}onContainerMouseLeave(t){let{pointer:e}=wr[te(vt.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),(e.mouseIsDown==="mousedown"||this.touchSelect(s))&&this.drag(s),!e.exporting?.openMenu&&(this.inClass(s.target,"highcharts-tracker")||e.isInsidePlot(s.chartX-e.plotLeft,s.chartY-e.plotTop,{visiblePlotOnly:!0}))&&!i?.shouldStickOnContact(s)&&(this.inClass(s.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(s))}onDocumentTouchEnd(t){this.onDocumentMouseUp(t)}onContainerTouchMove(t){this.touchSelect(t)?this.onContainerMouseMove(t):this.touch(t)}onContainerTouchStart(t){this.touchSelect(t)?this.onContainerMouseDown(t):(this.zoomOption(t),this.touch(t,!0))}onDocumentMouseMove(t){let e=this.chart,i=e.tooltip,s=this.chartPosition,r=this.normalize(t,s);!s||e.isInsidePlot(r.chartX-e.plotLeft,r.chartY-e.plotTop,{visiblePlotOnly:!0})||i?.shouldStickOnContact(r)||r.target!==e.container.ownerDocument&&this.inClass(r.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(t){t?.touches&&this.hasPinchMoved&&t?.preventDefault?.(),wr[te(vt.hoverChartIndex,-1)]?.pointer?.drop(t)}pinch(t){let e=this,{chart:i,hasZoom:s,lastTouches:r}=e,o=[].map.call(t.touches||[],d=>e.normalize(d)),a=o.length,n=a===1&&(e.inClass(t.target,"highcharts-tracker")&&i.runTrackerClick||e.runChartClick),h=i.tooltip,c=a===1&&te(h?.options.followTouchMove,!0);a>1?e.initiated=!0:c&&(e.initiated=!1),s&&e.initiated&&!n&&t.cancelable!==!1&&t.preventDefault(),t.type==="touchstart"?(e.pinchDown=o,e.res=!0,i.mouseDownX=t.chartX):c?this.runPointActions(e.normalize(t)):r&&(ue(i,"touchpan",{originalEvent:t,touches:o},()=>{let d=p=>{let u=p[0],f=p[1]||u;return{x:u.chartX,y:u.chartY,width:f.chartX-u.chartX,height:f.chartY-u.chartY}};i.transform({axes:i.axes.filter(p=>p.zoomEnabled&&(this.zoomHor&&p.horiz||this.zoomVert&&!p.horiz)),to:d(o),from:d(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,a=i.tooltip,n=a?.shared?o:r;t&&n&&Aa(n).forEach(function(h){h.series.isCartesian&&h.plotX===void 0&&(t=!1)}),t?a&&n&&Aa(n).length&&(a.refresh(n),a.shared&&o?o.forEach(function(h){h.setState(h.state,!0),h.series.isCartesian&&(h.series.xAxis.crosshair&&h.series.xAxis.drawCrosshair(null,h),h.series.yAxis.crosshair&&h.series.yAxis.drawCrosshair(null,h))}):r&&(r.setState(r.state,!0),i.axes.forEach(function(h){h.crosshair&&r.series[h.coll]===h&&h.drawCrosshair(null,r)}))):(r&&r.onMouseOut(),o&&o.forEach(function(h){h.setState()}),s&&s.onMouseOut(),a&&a.hide(e),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),i.axes.forEach(function(h){h.hideCrosshair()}),i.hoverPoints=i.hoverPoint=void 0)}runPointActions(t,e,i){let s=this.chart,r=s.series,o=s.tooltip?.options.enabled?s.tooltip:void 0,a=!!o&&o.shared,n=e||s.hoverPoint,h=n?.series||s.hoverSeries,c=(!t||t.type!=="touchmove")&&(!!e||h?.directTouch&&this.isDirectTouch),d=this.getHoverData(n,h,r,c,a,t);n=d.hoverPoint,h=d.hoverSeries;let p=d.hoverPoints,u=h?.tooltipOptions.followPointer&&!h.tooltipOptions.split,f=a&&h&&!h.noSharedTooltip;if(n&&(i||n!==s.hoverPoint||o?.isHidden)){if((s.hoverPoints||[]).forEach(function(x){p.indexOf(x)===-1&&x.setState()}),s.hoverSeries!==h&&h.onMouseOver(),this.applyInactiveState(p),(p||[]).forEach(function(x){x.setState("hover")}),s.hoverPoint&&s.hoverPoint.firePointEvent("mouseOut"),!n.series)return;s.hoverPoints=p,s.hoverPoint=n,n.firePointEvent("mouseOver",void 0,()=>{o&&n&&o.refresh(f?p:n,t)})}else if(u&&o&&!o.isHidden){let x=o.getAnchor([{}],t);s.isInsidePlot(x[0],x[1],{visiblePlotOnly:!0})&&o.updatePosition({plotX:x[0],plotY:x[1]})}this.unDocMouseMove||(this.unDocMouseMove=Yt(s.container.ownerDocument,"mousemove",x=>wr[vt.hoverChartIndex??-1]?.pointer?.onDocumentMouseMove(x)),this.eventsToUnbind.push(this.unDocMouseMove)),s.axes.forEach(function(x){let g,m=x.crosshair?.snap??!0;m&&((g=s.hoverPoint)&&g.series[x.coll]===x||(g=Ca(p,y=>y.series?.[x.coll]===x))),g||!m?x.drawCrosshair(t,g):x.hideCrosshair()})}setDOMEvents(){let t=this.chart.container,e=t.ownerDocument,i=r=>r.parentElement||r.getRootNode()?.host?.parentElement;t.onmousedown=this.onContainerMouseDown.bind(this),t.onmousemove=this.onContainerMouseMove.bind(this),t.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(Yt(t,"mouseenter",this.onContainerMouseEnter.bind(this)),Yt(t,"mouseleave",this.onContainerMouseLeave.bind(this))),vt.unbindDocumentMouseUp.some(r=>r.doc===e)||vt.unbindDocumentMouseUp.push({doc:e,unbind:Yt(e,"mouseup",this.onDocumentMouseUp.bind(this))});let s=i(this.chart.renderTo);for(;s&&s.tagName!=="BODY";)this.eventsToUnbind.push(Yt(s,"scroll",()=>{delete this.chartPosition})),s=i(s);this.eventsToUnbind.push(Yt(t,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),Yt(t,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),vt.unbindDocumentTouchEnd||(vt.unbindDocumentTouchEnd=Yt(e,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})),this.setPointerCapture(),Yt(this.chart,"redraw",this.setPointerCapture.bind(this))}setPointerCapture(){if(!Dd)return;let t=this.pointerCaptureEventsToUnbind,e=this.chart,i=e.container,s=te(e.options.tooltip?.followTouchMove,!0)&&e.series.some(r=>r.options.findNearestPointBy.indexOf("y")>-1);!this.hasPointerCapture&&s?(t.push(Yt(i,"pointerdown",r=>{r.target?.hasPointerCapture(r.pointerId)&&r.target?.releasePointerCapture(r.pointerId)}),Yt(i,"pointermove",r=>{e.pointer?.getPointFromEvent(r)?.onMouseOver(r)})),e.styledMode||Mr(i,{"touch-action":"none"}),i.className+=" highcharts-no-touch-action",this.hasPointerCapture=!0):this.hasPointerCapture&&!s&&(t.forEach(r=>r()),t.length=0,e.styledMode||Mr(i,{"touch-action":te(e.options.chart.style?.["touch-action"],"manipulation")}),i.className=i.className.replace(" highcharts-no-touch-action",""),this.hasPointerCapture=!1)}setHoverChartIndex(t){let e=this.chart,i=L.charts[te(vt.hoverChartIndex,-1)];if(i&&i!==e){let s={relatedTarget:e.container};t&&!t?.relatedTarget&&Object.assign({},t,s),i.pointer?.onContainerMouseLeave(t||s)}i?.mouseIsDown||(vt.hoverChartIndex=e.index)}touch(t,e){let i,{chart:s,pinchDown:r=[]}=this;this.setHoverChartIndex(),(t=this.normalize(t)).touches.length===1?s.isInsidePlot(t.chartX-s.plotLeft,t.chartY-s.plotTop,{visiblePlotOnly:!0})&&!s.exporting?.openMenu?(e&&this.runPointActions(t),t.type==="touchmove"&&(this.hasPinchMoved=i=!!r[0]&&Math.pow(r[0].chartX-t.chartX,2)+Math.pow(r[0].chartY-t.chartY,2)>=16),te(i,!0)&&this.pinch(t)):e&&this.reset():t.touches.length===2&&this.pinch(t)}touchSelect(t){return!!(this.chart.zooming.singleTouch&&t.touches&&t.touches.length===1)}zoomOption(t){let e=this.chart,i=e.inverted,s=e.zooming.type||"",r,o;/touch/.test(t.type)&&(s=te(e.zooming.pinchType,s)),this.zoomX=r=/x/.test(s),this.zoomY=o=/y/.test(s),this.zoomHor=r&&!i||o&&i,this.zoomVert=o&&!i||r&&i,this.hasZoom=r||o}}vt.unbindDocumentMouseUp=[],(Pi=vt||(vt={})).compose=function(l){Rd(Id,"Core.Pointer")&&Yt(l,"beforeRender",function(){this.pointer=new Pi(this,this.options)})};let Pa=vt;(be=Es||(Es={})).setLength=function(l,t,e){return Array.isArray(l)?(l.length=t,l):l[e?"subarray":"slice"](0,t)},be.splice=function(l,t,e,i,s=[]){if(Array.isArray(l))return Array.isArray(s)||(s=Array.from(s)),{removed:l.splice(t,e,...s),array:l};let r=Object.getPrototypeOf(l).constructor,o=l[i?"subarray":"slice"](t,t+e),a=new r(l.length-e+s.length);return a.set(l.subarray(0,t),0),a.set(s,t),a.set(l.subarray(t+e),t+s.length),{removed:o,array:a}},be.convertToNumber=function(l,t){switch(typeof l){case"boolean":return+!!l;case"number":return isNaN(l)&&!t?null:l;default:return isNaN(l=parseFloat(`${l??""}`))&&!t?null:l}};let{setLength:Wd,splice:Oa}=Es,{fireEvent:Tr,objectEach:ci,uniqueKey:pi}=F,ns=class{constructor(l={}){this.autoId=!l.id,this.columns={},this.id=l.id||pi(),this.rowCount=0,this.versionTag=pi();let t=0;ci(l.columns||{},(e,i)=>{this.columns[i]=e.slice(),t=Math.max(t,e.length)}),this.applyRowCount(t)}applyRowCount(l){this.rowCount=l,ci(this.columns,(t,e)=>{t.length!==l&&(this.columns[e]=Wd(t,l))})}deleteRows(l,t=1){if(t>0&&l<this.rowCount){let e=0;ci(this.columns,(i,s)=>{this.columns[s]=Oa(i,l,t).array,e=i.length}),this.rowCount=e}Tr(this,"afterDeleteRows",{rowIndex:l,rowCount:t}),this.versionTag=pi()}getColumn(l,t){return this.columns[l]}getColumns(l,t){return(l||Object.keys(this.columns)).reduce((e,i)=>(e[i]=this.columns[i],e),{})}getRow(l,t){return(t||Object.keys(this.columns)).map(e=>this.columns[e]?.[l])}setColumn(l,t=[],e=0,i){this.setColumns({[l]:t},e,i)}setColumns(l,t,e){let i=this.rowCount;ci(l,(s,r)=>{this.columns[r]=s.slice(),i=s.length}),this.applyRowCount(i),e?.silent||(Tr(this,"afterSetColumns"),this.versionTag=pi())}setRow(l,t=this.rowCount,e,i){let{columns:s}=this,r=e?this.rowCount+1:t+1,o=Object.keys(l);if(i?.addColumns!==!1)for(let a=0,n=o.length;a<n;a++){let h=o[a];s[h]||(s[h]=[])}ci(s,(a,n)=>{a||i?.addColumns===!1||(a=Array(r)),a&&(e?a=Oa(a,t,0,!0,[l[n]??null]).array:a[t]=l[n]??null,s[n]=a)}),r>this.rowCount&&this.applyRowCount(r),i?.silent||(Tr(this,"afterSetRows"),this.versionTag=pi())}getModified(){return this.modified||this}},{extend:Xd,merge:Hd,pick:La}=F;var Cr=Is||(Is={});function Ea(l,t,e){let i=this.legendItem=this.legendItem||{},{chart:s,options:r}=this,{baseline:o=0,symbolWidth:a,symbolHeight:n}=l,h=this.symbol||"circle",c=n/2,d=s.renderer,p=i.group,u=o-Math.round((l.fontMetrics?.b||n)*(e?.4:.3)),f={},x,g=r.marker,m=0;if(s.styledMode||(f["stroke-width"]=Math.min(r.lineWidth||0,24),r.dashStyle?f.dashstyle=r.dashStyle:r.linecap!=="square"&&(f["stroke-linecap"]="round")),i.line=d.path().addClass("highcharts-graph").attr(f).add(p),e&&(i.area=d.path().addClass("highcharts-area").add(p)),f["stroke-linecap"]&&(m=Math.min(i.line.strokeWidth(),a)/2),a){let y=[["M",m,u],["L",a-m,u]];i.line.attr({d:y}),i.area?.attr({d:[...y,["L",a-m,o],["L",m,o]]})}if(g&&g.enabled!==!1&&a){let y=Math.min(La(g.radius,c),c);h.indexOf("url")===0&&(g=Hd(g,{width:n,height:n}),y=0),i.symbol=x=d.symbol(h,a/2-y,u-y,2*y,2*y,Xd({context:"legend"},g)).addClass("highcharts-point").add(p),x.isMarker=!0}}Cr.areaMarker=function(l,t){Ea.call(this,l,t,!0)},Cr.lineMarker=Ea,Cr.rectangle=function(l,t){let e=t.legendItem||{},i=l.options,s=l.symbolHeight,r=i.squareSymbol,o=r?s:l.symbolWidth;e.symbol=this.chart.renderer.rect(r?(l.symbolWidth-s)/2:0,l.baseline-s+1,o,s,La(l.options.symbolRadius,s/2)).addClass("highcharts-point").attr({zIndex:3}).add(e.group)};let Ia=Is,{defaultOptions:Da}=Ft,{extend:Fd,extendClass:Gd,merge:Yd}=F;var ee=Ds||(Ds={});function Ba(l,t){let e=Da.plotOptions||{},i=t.defaultOptions,s=t.prototype;return s.type=l,s.pointClass||(s.pointClass=pe),!ee.seriesTypes[l]&&(i&&(e[l]=i),ee.seriesTypes[l]=t,!0)}ee.seriesTypes=L.seriesTypes,ee.registerSeriesType=Ba,ee.seriesType=function(l,t,e,i,s){let r=Da.plotOptions||{};if(t=t||"",r[l]=Yd(r[t],e),delete ee.seriesTypes[l],Ba(l,Gd(ee.seriesTypes[t]||L.Series,i)),ee.seriesTypes[l].prototype.type=l,s){class o extends pe{}Fd(o.prototype,s),ee.seriesTypes[l].prototype.pointClass=o}return ee.seriesTypes[l]};let pt=Ds,{animObject:Na,setAnimation:jd}=Mt,{defaultOptions:ls}=Ft,{registerEventOptions:$d}=Ui,{svg:Ud,win:Vd}=L,{seriesTypes:Ue}=pt,{format:qd}=Gt,{arrayMax:Ar,arrayMin:za,clamp:Ra,correctFloat:Wa,crisp:Kd,defined:xt,destroyObjectProperties:Zd,diffObjects:_d,erase:Xa,error:hs,extend:Ve,find:Jd,fireEvent:nt,getClosestDistance:Qd,getNestedProperty:Ha,insertItem:Fa,isArray:Ga,isNumber:kt,isString:tc,merge:ui,objectEach:Pr,pick:dt,removeEvent:ec,syncTimeout:Ya}=F;class $t{constructor(){this.zoneAxis="y"}init(t,e){let i;nt(this,"init",{options:e}),this.dataTable??(this.dataTable=new ns);let s=t.series;this.eventsToUnbind=[],this.chart=t,this.options=this.setOptions(e);let r=this.options,o=r.visible!==!1;this.linkedSeries=[],this.bindAxes(),Ve(this,{name:r.name,state:"",visible:o,selected:r.selected===!0}),$d(this,r),(r.events?.click||r.point?.events?.click||r.allowPointSelect)&&(t.runTrackerClick=!0),this.getColor(),this.getSymbol(),this.isCartesian&&(t.hasCartesianSeries=!0),s.length&&(i=s[s.length-1]),this._i=dt(i?._i,-1)+1,this.opacity=this.options.opacity,t.orderItems("series",Fa(this,s)),r.dataSorting?.enabled?this.setDataSortingOptions():this.points||this.data||this.setData(r.data,!1),nt(this,"afterInit")}is(t){return Ue[t]&&this instanceof Ue[t]}bindAxes(){let t,e=this,i=e.options,s=e.chart;nt(this,"bindAxes",null,function(){(e.axisTypes||[]).forEach(function(r){(s[r]||[]).forEach(function(o){t=o.options,(dt(i[r],0)===o.index||i[r]!==void 0&&i[r]===t.id)&&(Fa(e,o.series),e[r]=o,o.isDirty=!0)}),e[r]||e.optionalAxis===r||hs(18,!0,s)})}),nt(this,"afterBindAxes")}hasData(){return this.visible&&this.dataMax!==void 0&&this.dataMin!==void 0||this.visible&&this.dataTable.rowCount>0}hasMarkerChanged(t,e){let i=t.marker,s=e.marker||{};return i&&(s.enabled&&!i.enabled||s.symbol!==i.symbol||s.height!==i.height||s.width!==i.width)}autoIncrement(t){let e,i=this.options,{pointIntervalUnit:s,relativeXValue:r}=this.options,o=this.chart.time,a=this.xIncrement??o.parse(i.pointStart)??0;if(this.pointInterval=e=dt(this.pointInterval,i.pointInterval,1),r&&kt(t)&&(e*=t),s){let n=o.toParts(a);s==="day"?n[2]+=e:s==="month"?n[1]+=e:s==="year"&&(n[0]+=e),e=o.makeTime.apply(o,n)-a}return r&&kt(t)?a+e:(this.xIncrement=a+e,a)}setDataSortingOptions(){let t=this.options;Ve(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),xt(t.pointRange)||(t.pointRange=1)}setOptions(t){let e,i=this.chart,s=i.options.plotOptions,r=i.userOptions||{},o=ui(t),a=i.styledMode,n={plotOptions:s,userOptions:o};nt(this,"setOptions",n);let h=n.plotOptions[this.type],c=r.plotOptions||{},d=c.series||{},p=ls.plotOptions[this.type]||{},u=c[this.type]||{};h.dataLabels=this.mergeArrays(p.dataLabels,h.dataLabels),this.userOptions=n.userOptions;let f=ui(h,s.series,u,o);this.tooltipOptions=ui(ls.tooltip,ls.plotOptions.series?.tooltip,p?.tooltip,i.userOptions.tooltip,c.series?.tooltip,u.tooltip,o.tooltip),this.stickyTracking=dt(o.stickyTracking,u.stickyTracking,d.stickyTracking,!!this.tooltipOptions.shared&&!this.noSharedTooltip||f.stickyTracking),h.marker===null&&delete f.marker,this.zoneAxis=f.zoneAxis||"y";let x=this.zones=(f.zones||[]).map(g=>({...g}));return(f.negativeColor||f.negativeFillColor)&&!f.zones&&(e={value:f[this.zoneAxis+"Threshold"]||f.threshold||0,className:"highcharts-negative"},a||(e.color=f.negativeColor,e.fillColor=f.negativeFillColor),x.push(e)),x.length&&xt(x[x.length-1].value)&&x.push(a?{}:{color:this.color,fillColor:this.fillColor}),nt(this,"afterSetOptions",{options:f}),f}getName(){return this.options.name??qd(this.chart.options.lang.seriesName,this,this.chart)}getCyclic(t,e,i){let s,r,o=this.chart,a=`${t}Index`,n=`${t}Counter`,h=i?.length||o.options.chart.colorCount;!e&&(xt(r=dt(t==="color"?this.options.colorIndex:void 0,this[a]))?s=r:(o.series.length||(o[n]=0),s=o[n]%h,o[n]+=1),i&&(e=i[s])),s!==void 0&&(this[a]=s),this[t]=e}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||ls.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){let t=this.options.marker;this.getCyclic("symbol",t.symbol,this.chart.options.symbols)}getColumn(t,e){return(e?this.dataTable.getModified():this.dataTable).getColumn(t,!0)||[]}findPointIndex(t,e){let i,s,r,{id:o,x:a}=t,n=this.points,h=this.options.dataSorting,c=this.cropStart||0;if(o){let d=this.chart.get(o);d instanceof pe&&(i=d)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let d=p=>!p.touched&&p.index===t.index;if(h?.matchByName?d=p=>!p.touched&&p.name===t.name:this.options.relativeXValue&&(d=p=>!p.touched&&p.options.x===t.x),!(i=Jd(n,d)))return}return i&&(r=i?.index)!==void 0&&(s=!0),r===void 0&&kt(a)&&(r=this.getColumn("x").indexOf(a,e)),r!==-1&&r!==void 0&&this.cropped&&(r=r>=c?r-c:r),!s&&kt(r)&&n[r]?.touched&&(r=void 0),r}updateData(t,e){let{options:i,requireSorting:s}=this,r=i.dataSorting,o=this.points,a=[],n=t.length===o.length,h=this.xIncrement,c,d,p,u,f=!0;if(this.xIncrement=null,t.forEach((g,m)=>{let y,b=xt(g)&&this.pointClass.prototype.optionsToObject.call({series:this},g)||{},{id:v,x:k}=b;v||kt(k)?((y=this.findPointIndex(b,u))===-1||y===void 0?a.push(g):o[y]&&g!==i.data?.[y]?(o[y].update(g,!1,void 0,!1),o[y].touched=!0,s&&(u=y+1)):o[y]&&(o[y].touched=!0),(!n||m!==y||r?.enabled||this.hasDerivedData)&&(c=!0)):a.push(g)},this),c)for(d=o.length;d--;)(p=o[d])&&!p.touched&&p.remove?.(!1,e);else n&&!r?.enabled?(t.forEach((g,m)=>{g===o[m].y||o[m].destroyed||o[m].update(g,!1,void 0,!1)}),a.length=0):f=!1;if(o.forEach(g=>{g&&(g.touched=!1)}),!f)return!1;a.forEach(g=>{this.addPoint(g,!1,void 0,void 0,!1)},this);let x=this.getColumn("x");return h!==null&&this.xIncrement===null&&x.length&&(this.xIncrement=Ar(x),this.autoIncrement()),!0}dataColumnKeys(){return["x",...this.pointArrayMap||["y"]]}setData(t,e=!0,i,s){let r=this.points,o=r?.length||0,a=this.options,n=this.chart,h=a.dataSorting,c=this.xAxis,d=a.turboThreshold,p=this.dataTable,u=this.dataColumnKeys(),f=this.pointValKey||"y",x=(this.pointArrayMap||[]).length,g=a.keys,m,y,b=0,v=1,k;n.options.chart.allowMutatingData||(a.data&&delete this.options.data,this.userOptions.data&&delete this.userOptions.data,k=ui(!0,t));let w=(t=k||t||[]).length;if(h?.enabled&&(t=this.sortData(t)),n.options.chart.allowMutatingData&&s!==!1&&w&&o&&!this.cropped&&!this.hasGroupedData&&this.visible&&!this.boosted&&(y=this.updateData(t,i)),!y){this.xIncrement=null,this.colorCounter=0;let M=d&&!a.relativeXValue&&w>d;if(M){let S=this.getFirstValidPoint(t),C=this.getFirstValidPoint(t,w-1,-1),P=T=>!!(Ga(T)&&(g||kt(T[0])));if(kt(S)&&kt(C)){let T=[],D=[];for(let N of t)T.push(this.autoIncrement()),D.push(N);p.setColumns({x:T,[f]:D})}else if(P(S)&&P(C))if(x){let T=+(S.length===x),D=Array(u.length).fill(0).map(()=>[]);for(let N of t){T&&D[0].push(this.autoIncrement());for(let z=T;z<=x;z++)D[z]?.push(N[z-T])}p.setColumns(u.reduce((N,z,X)=>(N[z]=D[X],N),{}))}else{g&&(b=g.indexOf("x"),v=g.indexOf("y"),b=b>=0?b:0,v=v>=0?v:1),S.length===1&&(v=0);let T=[],D=[];if(b===v)for(let N of t)T.push(this.autoIncrement()),D.push(N[v]);else for(let N of t)T.push(N[b]),D.push(N[v]);p.setColumns({x:T,[f]:D})}else M=!1}if(!M){let S=u.reduce((C,P)=>(C[P]=[],C),{});for(m=0;m<w;m++){let C=this.pointClass.prototype.applyOptions.apply({series:this},[t[m]]);for(let P of u)S[P][m]=C[P]}p.setColumns(S)}for(tc(this.getColumn("y")[0])&&hs(14,!0,n),this.data=[],this.options.data=this.userOptions.data=t,m=o;m--;)r[m]?.destroy();c&&(c.minRange=c.userMinRange),this.isDirty=n.isDirtyBox=!0,this.isDirtyData=!!r,i=!1}a.legendType==="point"&&(this.processData(),this.generatePoints()),e&&n.redraw(i)}sortData(t){let e=this,i=e.options.dataSorting.sortKey||"y",s=function(r,o){return xt(o)&&r.pointClass.prototype.optionsToObject.call({series:r},o)||{}};return t.forEach(function(r,o){t[o]=s(e,r),t[o].index=o},this),t.concat().sort((r,o)=>{let a=Ha(i,r),n=Ha(i,o);return n<a?-1:+(n>a)}).forEach(function(r,o){r.x=o},this),e.linkedSeries&&e.linkedSeries.forEach(function(r){let o=r.options,a=o.data;!o.dataSorting?.enabled&&a&&(a.forEach(function(n,h){a[h]=s(r,n),t[h]&&(a[h].x=t[h].x,a[h].index=h)}),r.setData(a,!1))}),t}getProcessedData(t){let e=this,{dataTable:i,isCartesian:s,options:r,xAxis:o}=e,a=r.cropThreshold,n=t||e.getExtremesFromAll,h=o?.logarithmic,c=i.rowCount,d,p,u=0,f,x,g,m=e.getColumn("x"),y=i,b=!1;return o&&(x=(f=o.getExtremes()).min,g=f.max,b=!!(o.categories&&!o.names.length),s&&e.sorted&&!n&&(!a||c>a||e.forceCrop)&&(m[c-1]<x||m[0]>g?y=new ns:e.getColumn(e.pointValKey||"y").length&&(m[0]<x||m[c-1]>g)&&(y=(d=this.cropData(i,x,g)).modified,u=d.start,p=!0))),m=y.getColumn("x")||[],{modified:y,cropped:p,cropStart:u,closestPointRange:Qd([h?m.map(h.log2lin):m],()=>e.requireSorting&&!b&&hs(15,!1,e.chart))}}processData(t){let e=this.xAxis,i=this.dataTable;if(this.isCartesian&&!this.isDirty&&!e.isDirty&&!this.yAxis.isDirty&&!t)return!1;let s=this.getProcessedData();i.modified=s.modified,this.cropped=s.cropped,this.cropStart=s.cropStart,this.closestPointRange=this.basePointRange=s.closestPointRange,nt(this,"afterProcessData")}cropData(t,e,i){let s=t.getColumn("x",!0)||[],r=s.length,o={},a,n,h=0,c=r;for(a=0;a<r;a++)if(s[a]>=e){h=Math.max(0,a-1);break}for(n=a;n<r;n++)if(s[n]>i){c=n+1;break}for(let d of this.dataColumnKeys()){let p=t.getColumn(d,!0);p&&(o[d]=p.slice(h,c))}return{modified:new ns({columns:o}),start:h,end:c}}generatePoints(){let t=this.options,e=this.processedData||t.data,i=this.dataTable.getModified(),s=this.getColumn("x",!0),r=this.pointClass,o=i.rowCount,a=this.cropStart||0,n=this.hasGroupedData,h=t.keys,c=[],d=t.dataGrouping?.groupAll?a:0,p=this.pointArrayMap||["y"],u=this.dataColumnKeys(),f,x,g,m,y=this.data,b;if(!y&&!n){let v=[];v.length=e?.length||0,y=this.data=v}for(h&&n&&(this.options.keys=!1),m=0;m<o;m++)x=a+m,n?((g=new r(this,i.getRow(m,u)||[])).dataGroup=this.groupMap?.[d+m],g.dataGroup?.options&&(g.options=g.dataGroup.options,Ve(g,g.dataGroup.options),delete g.dataLabels,g.key=g.name??g.category)):(g=y[x],b=e?e[x]:i.getRow(m,p),g||b===void 0?g&&(g.category=this.xAxis?.categories?.[g.x]??g.x,g.key=g.name??g.category):y[x]=g=new r(this,b,s[m])),g&&(g.index=n?d+m:x,c[m]=g);if(this.options.keys=h,y&&(o!==(f=y.length)||n))for(m=0;m<f;m++)m!==a||n||(m+=o),y[m]&&(y[m].destroyElements(),y[m].plotX=void 0);this.data=y,this.points=c,nt(this,"afterGeneratePoints")}getXExtremes(t){return{min:za(t),max:Ar(t)}}getExtremes(t,e){let{xAxis:i,yAxis:s}=this,r=e||this.getExtremesFromAll||this.options.getExtremesFromAll,o=r&&this.cropped?this.dataTable:this.dataTable.getModified(),a=o.rowCount,n=t||this.stackedYData,h=n?[n]:(this.keysAffectYAxis||this.pointArrayMap||["y"])?.map(k=>o.getColumn(k,!0)||[])||[],c=this.getColumn("x",!0),d=[],p=this.requireSorting&&!this.is("column")?1:0,u=!!s&&s.positiveValuesOnly,f=r||this.cropped||!i,x,g,m,y=0,b=0;for(i&&(y=(x=i.getExtremes()).min,b=x.max),m=0;m<a;m++)if(g=c[m],f||(c[m+p]||g)>=y&&(c[m-p]||g)<=b)for(let k of h){let w=k[m];kt(w)&&(w>0||!u)&&d.push(w)}let v={activeYData:d,dataMin:za(d),dataMax:Ar(d)};return nt(this,"afterGetExtremes",{dataExtremes:v}),v}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&&r<s;){if(xt(t[r]))return t[r];r+=i}}translate(){this.generatePoints();let t=this.options,e=t.stacking,i=this.xAxis,s=this.enabledDataSorting,r=this.yAxis,o=this.points,a=o.length,n=this.pointPlacementToXValue(),h=!!n,c=t.threshold,d=t.startFromThreshold?c:0,p=t?.nullInteraction&&r.len,u,f,x,g,m=Number.MAX_VALUE;function y(b){return Ra(b,-1e9,1e9)}for(u=0;u<a;u++){let b,v=o[u],k=v.x,w,M,S=v.y,C=v.low,P=e&&r.stacking?.stacks[(this.negStacks&&S<(d?0:c)?"-":"")+this.stackKey];v.plotX=kt(f=i.translate(k,!1,!1,!1,!0,n))?Wa(y(f)):void 0,e&&this.visible&&P&&P[k]&&(g=this.getStackIndicator(g,k,this.index),!v.isNull&&g.key&&(M=(w=P[k]).points[g.key]),w&&Ga(M)&&(C=M[0],S=M[1],C===d&&g.key===P[k].base&&(C=dt(kt(c)?c:r.min)),r.positiveValuesOnly&&xt(C)&&C<=0&&(C=void 0),v.total=v.stackTotal=dt(w.total),v.percentage=xt(v.y)&&w.total?v.y/w.total*100:void 0,v.stackY=S,this.irregularWidths||w.setOffset(this.pointXOffset||0,this.barW||0,void 0,void 0,void 0,this.xAxis))),v.yBottom=xt(C)?y(r.translate(C,!1,!0,!1,!0)):void 0,this.dataModify&&(S=this.dataModify.modifyValue(S,u)),kt(S)&&v.plotX!==void 0?b=kt(b=r.translate(S,!1,!0,!1,!0))?y(b):void 0:!kt(S)&&p&&(b=p),v.plotY=b,v.isInside=this.isPointInside(v),v.clientX=h?Wa(i.translate(k,!1,!1,!1,!0,n)):f,v.negative=(v.y||0)<(c||0),v.isNull||v.visible===!1||(x!==void 0&&(m=Math.min(m,Math.abs(f-x))),x=f),v.zone=this.zones.length?v.getZone():void 0,!v.graphic&&this.group&&s&&(v.isNew=!0)}this.closestPointRangePx=m,nt(this,"afterTranslate")}getValidPoints(t,e,i){let s=this.chart;return(t||this.points||[]).filter(function(r){let{plotX:o,plotY:a}=r;return(!!i||!r.isNull&&!!kt(a))&&(!e||!!s.isInsidePlot(o,a,{inverted:s.inverted}))&&r.visible!==!1})}getSharedClipKey(){return this.sharedClipKey=(this.options.xAxis||0)+","+(this.options.yAxis||0),this.sharedClipKey}setClip(){let{chart:t,group:e,markerGroup:i}=this,s=t.sharedClips,r=t.renderer,o=t.getClipBox(this),a=this.getSharedClipKey(),n=s[a];nt(this,"setClip",{clipBox:o}),n?n.animate(o):s[a]=n=r.clipRect(o),e&&e.clip(this.options.clip===!1?void 0:n),i&&i.clip()}animate(t){let{chart:e,group:i,markerGroup:s}=this,r=e.inverted,o=Na(this.options.animation),a=[this.getSharedClipKey(),o.duration,o.easing,o.defer].join(","),n=e.sharedClips[a],h=e.sharedClips[a+"m"];if(t&&i){let c=e.getClipBox(this);if(n)n.attr("height",c.height);else{c.width=0,r&&(c.x=e.plotHeight),n=e.renderer.clipRect(c),e.sharedClips[a]=n;let d={x:-99,y:-99,width:r?e.plotWidth+199:99,height:r?99:e.plotHeight+199};h=e.renderer.clipRect(d),e.sharedClips[a+"m"]=h}i.clip(n),s?.clip(h)}else if(n&&!n.hasClass("highcharts-animating")){let c=e.getClipBox(this),d=o.step;(s?.element.childNodes.length||e.series.length>1)&&(o.step=function(p,u){d&&d.apply(u,arguments),u.prop==="width"&&h?.element&&h.attr(r?"height":"width",p+99)}),n.addClass("highcharts-animating").animate(c,o)}}afterAnimate(){this.setClip(),Pr(this.chart.sharedClips,(t,e,i)=>{t&&!this.chart.container.querySelector(`[clip-path="url(#${t.id})"]`)&&(t.destroy(),delete i[e])}),this.finishedAnimating=!0,nt(this,"afterAnimate")}drawPoints(t=this.points){let e,i,s,r,o,a,n,h=this.chart,c=h.styledMode,{colorAxis:d,options:p}=this,u=p.marker,f=p.nullInteraction,x=this[this.specialGroup||"markerGroup"],g=this.xAxis,m=dt(u.enabled,!g||!!g.isRadial||null,this.closestPointRangePx>=u.enabledThreshold*u.radius);if(u.enabled!==!1||this._hasPointMarkers)for(e=0;e<t.length;e++){r=(s=(i=t[e]).graphic)?"animate":"attr",o=i.marker||{},a=!!i.marker;let y=i.isNull;if((m&&!xt(o.enabled)||o.enabled)&&(!y||f)&&i.visible!==!1){let b=dt(o.symbol,this.symbol,"rect");n=this.markerAttribs(i,i.selected&&"select"),this.enabledDataSorting&&(i.startXPos=g.reversed?-(n.width||0):g.width);let v=i.isInside!==!1;if(!s&&v&&((n.width||0)>0||i.hasImage)&&(i.graphic=s=h.renderer.symbol(b,n.x,n.y,n.width,n.height,a?o:u).add(x),this.enabledDataSorting&&h.hasRendered&&(s.attr({x:i.startXPos}),r="animate")),s&&r==="animate"&&s[v?"show":"hide"](v).animate(n),s){let k=this.pointAttribs(i,c||!i.selected?void 0:"select");c?d&&s.css({fill:k.fill}):s[r](k)}s&&s.addClass(i.getClassName(),!0)}else s&&(i.graphic=s.destroy())}}markerAttribs(t,e){let i=this.options,s=i.marker,r=t.marker||{},o=r.symbol||s.symbol,a={},n,h,c=dt(r.radius,s?.radius);e&&(n=s.states[e],h=r.states&&r.states[e],c=dt(h?.radius,n?.radius,c&&c+(n?.radiusPlus||0))),t.hasImage=o&&o.indexOf("url")===0,t.hasImage&&(c=0);let d=t.pos();return kt(c)&&d&&(i.crisp&&(d[0]=Kd(d[0],t.hasImage?0:o==="rect"?s?.lineWidth||0:1)),a.x=d[0]-c,a.y=d[1]-c),c&&(a.width=a.height=2*c),a}pointAttribs(t,e){let i=this.options,s=i.marker,r=t?.options,o=r?.marker||{},a=r?.color,n=t?.color,h=t?.zone?.color,c,d,p=this.color,u,f,x=dt(o.lineWidth,s.lineWidth),g=t?.isNull&&i.nullInteraction?0:1;return p=a||h||n||p,u=o.fillColor||s.fillColor||p,f=o.lineColor||s.lineColor||p,e=e||"normal",c=s.states[e]||{},x=dt((d=o.states&&o.states[e]||{}).lineWidth,c.lineWidth,x+dt(d.lineWidthPlus,c.lineWidthPlus,0)),u=d.fillColor||c.fillColor||u,f=d.lineColor||c.lineColor||f,{stroke:f,"stroke-width":x,fill:u,opacity:g=dt(d.opacity,c.opacity,g)}}destroy(t){let e,i,s=this,r=s.chart,o=/AppleWebKit\/533/.test(Vd.navigator.userAgent),a=s.data||[];for(nt(s,"destroy",{keepEventsForUpdate:t}),this.removeEvents(t),(s.axisTypes||[]).forEach(function(n){i=s[n],i?.series&&(Xa(i.series,s),i.isDirty=i.forceRedraw=!0)}),s.legendItem&&s.chart.legend.destroyItem(s),e=a.length;e--;)a[e]?.destroy?.();for(let n of s.zones)Zd(n,void 0,!0);F.clearTimeout(s.animationTimeout),Pr(s,function(n,h){n instanceof _t&&!n.survive&&n[o&&h==="group"?"hide":"destroy"]()}),r.hoverSeries===s&&(r.hoverSeries=void 0),Xa(r.series,s),r.orderItems("series"),Pr(s,function(n,h){t&&h==="hcEvents"||delete s[h]})}applyZones(){let{area:t,chart:e,graph:i,zones:s,points:r,xAxis:o,yAxis:a,zoneAxis:n}=this,{inverted:h,renderer:c}=e,d=this[`${n}Axis`],{isXAxis:p,len:u=0,minPointOffset:f=0}=d||{},x=(i?.strokeWidth()||0)/2+1,g=(m,y=0,b=0)=>{h&&(b=u-b);let{translated:v=0,lineClip:k}=m,w=b-v;k?.push(["L",y,Math.abs(w)<x?b-x*(w<=0?-1:1):v])};if(s.length&&(i||t)&&d&&kt(d.min)){let m=d.getExtremes().max+f,y=k=>{k.forEach((w,M)=>{(w[0]==="M"||w[0]==="L")&&(k[M]=[w[0],p?u-w[1]:w[1],p?w[2]:u-w[2]])})};if(s.forEach(k=>{k.lineClip=[],k.translated=Ra(d.toPixels(dt(k.value,m),!0)||0,0,u)}),i&&!this.showLine&&i.hide(),t&&t.hide(),n==="y"&&r.length<o.len)for(let k of r){let{plotX:w,plotY:M,zone:S}=k,C=S&&s[s.indexOf(S)-1];S&&g(S,w,M),C&&g(C,w,M)}let b=[],v=d.toPixels(d.getExtremes().min-f,!0);s.forEach(k=>{let w=k.lineClip||[],M=Math.round(k.translated||0);o.reversed&&w.reverse();let{clip:S,simpleClip:C}=k,P=0,T=0,D=o.len,N=a.len;p?(P=M,D=v):(T=M,N=v);let z=[["M",P,T],["L",D,T],["L",D,N],["L",P,N],["Z"]],X=[z[0],...w,z[1],z[2],...b,z[3],z[4]];b=w.reverse(),v=M,h&&(y(X),t&&y(z)),S?(S.animate({d:X}),C?.animate({d:z})):(S=k.clip=c.path(X),t&&(C=k.simpleClip=c.path(z))),i&&k.graph?.clip(S),t&&k.area?.clip(C)})}else this.visible&&(i&&i.show(),t&&t.show())}plotGroup(t,e,i,s,r){let o=this[t],a=!o,n={visibility:i,zIndex:s||.1};return xt(this.opacity)&&!this.chart.styledMode&&this.state!=="inactive"&&(n.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 "+(xt(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(o.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),o.attr(n)[a?"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&&t==="series";s.inverted&&(e=i,i=this.xAxis);let o={scale:1,translateX:e?e.left:s.plotLeft,translateY:i?i.top:s.plotTop,name:t};nt(this,"getPlotBox",o);let{scale:a,translateX:n,translateY:h}=o;return{translateX:n,translateY:h,rotation:90*!!r,rotationOriginX:r?a*(e.len-i.len)/2:0,rotationOriginY:r?a*(e.len+i.len)/2:0,scaleX:r?-a:a,scaleY:a}}removeEvents(t){let{eventsToUnbind:e}=this;t||ec(this),e.length&&(e.forEach(i=>{i()}),e.length=0)}render(){let t=this,{chart:e,options:i,hasRendered:s}=t,r=Na(i.animation),o=t.visible?"inherit":"hidden",a=i.zIndex,n=e.seriesGroup,h=t.finishedAnimating?0:r.duration;nt(this,"render"),t.plotGroup("group","series",o,a,n),t.markerGroup=t.plotGroup("markerGroup","markers",o,a,n),i.clip!==!1&&t.setClip(),h&&t.animate?.(!0),t.drawGraph&&(t.drawGraph(),t.applyZones()),t.visible&&t.drawPoints(),t.drawDataLabels?.(),t.redrawPoints?.(),i.enableMouseTracking&&t.drawTracker?.(),h&&t.animate?.(),s||(h&&r.defer&&(h+=r.defer),t.animationTimeout=Ya(()=>{t.afterAnimate()},h||0)),t.isDirty=!1,t.hasRendered=!0,nt(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,s=i.findNearestPointBy.indexOf("y")>-1?2:1;delete e.kdTree,Ya(function(){e.kdTree=(function r(o,a,n){let h,c,d=o?.length;if(d)return h=e.kdAxisArray[a%n],o.sort((p,u)=>(p[h]||0)-(u[h]||0)),{point:o[c=Math.floor(d/2)],left:r(o.slice(0,c),a+1,n),right:r(o.slice(c+1),a+1,n)}})(e.getValidPoints(void 0,!e.directTouch,i?.nullInteraction),s,s),e.buildingKdTree=!1},i.kdNow||t?.type==="touchstart"?0:1)}searchKDTree(t,e,i,s,r){let o=this,[a,n]=this.kdAxisArray,h=e?"distX":"dist",c=(o.options.findNearestPointBy||"").indexOf("y")>-1?2:1,d=!!o.isBubble,p=s||((f,x,g)=>{let m=f[g]||0,y=x[g]||0;return[m===y&&f.index>x.index||m<y?f:x,!1]}),u=r||((f,x)=>f<x);if(this.kdTree||this.buildingKdTree||this.buildKDTree(i),this.kdTree)return(function f(x,g,m,y){let b,v,k,w,M,S,C,P=g.point,T=o.kdAxisArray[m%y],D=P,N=!1;b=x[a],v=P[a],k=xt(b)&&xt(v)?b-v:null,w=x[n],M=P[n],S=xt(w)&&xt(M)?w-M:0,C=d&&P.marker?.radius||0,P.dist=Math.sqrt((k&&k*k||0)+S*S)-C,P.distX=xt(k)?Math.abs(k)-C:Number.MAX_VALUE;let z=(x[T]||0)-(P[T]||0)+(d&&P.marker?.radius||0),X=z<0?"left":"right",W=z<0?"right":"left";return g[X]&&([D,N]=p(P,f(x,g[X],m+1,y),h)),g[W]&&u(Math.sqrt(z*z),D[h],N)&&(D=p(D,f(x,g[W],m+1,y),h)[0]),D})(t,this.kdTree,c,c)}pointPlacementToXValue(){let{options:t,xAxis:e}=this,i=t.pointPlacement;return i==="between"&&(i=e.reversed?-.5:.5),kt(i)?i*(t.pointRange||e.pointRange):0}isPointInside(t){let{chart:e,xAxis:i,yAxis:s}=this,{plotX:r=-1,plotY:o=-1}=t;return o>=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,a=r.renderer,n=r.options.tooltip?.snap||0,h=()=>{e.enableMouseTracking&&r.hoverSeries!==t&&t.onMouseOver()},c="rgba(192,192,192,"+(Ud?1e-4:.002)+")",d=t.tracker;d?d.attr({d:s}):t.graph&&(t.tracker=d=a.path(s).attr({visibility:t.visible?"inherit":"hidden",zIndex:2}).addClass(i?"highcharts-tracker-area":"highcharts-tracker-line").add(t.group),r.styledMode||d.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:c,fill:i?c:"none","stroke-width":t.graph.strokeWidth()+(i?0:2*n)}),[t.tracker,t.markerGroup,...t.dataLabelsGroups||[]].forEach(p=>{p&&(p.addClass("highcharts-tracker").on("mouseover",h).on("mouseout",u=>{o?.onTrackerMouseOut(u)}),e.cursor&&!r.styledMode&&p.css({cursor:e.cursor}),p.on("touchstart",h))})),nt(this,"afterDrawTracker")}addPoint(t,e,i,s,r){let o,a,n=this.options,{chart:h,data:c,dataTable:d,xAxis:p}=this,u=p?.hasNames&&p.names,f=n.data,x=this.getColumn("x");e=dt(e,!0);let g={series:this};this.pointClass.prototype.applyOptions.apply(g,[t]);let m=g.x;if(a=x.length,this.requireSorting&&m<x[a-1])for(o=!0;a&&x[a-1]>m;)a--;d.setRow(g,a,!0,{addColumns:!1}),u&&g.name&&(u[m]=g.name),f?.splice(a,0,t),(o||this.processedData)&&(this.data.splice(a,0,null),this.processData()),n.legendType==="point"&&this.generatePoints(),i&&(c[0]&&c[0].remove?c[0].remove(!1):([c,f].filter(xt).forEach(y=>{y.shift()}),d.deleteRows(0))),r!==!1&&nt(this,"addPoint",{point:g}),this.isDirty=!0,this.isDirtyData=!0,e&&h.redraw(s)}removePoint(t,e,i){let s=this,{chart:r,data:o,points:a,dataTable:n}=s,h=o[t],c=function(){[a?.length===o.length?a:void 0,o,s.options.data].filter(xt).forEach(d=>{d.splice(t,1)}),n.deleteRows(t),h?.destroy(),s.isDirty=!0,s.isDirtyData=!0,e&&r.redraw()};jd(i,r),e=dt(e,!0),h?h.firePointEvent("remove",null,c):c()}remove(t,e,i,s){let r=this,o=r.chart;function a(){r.destroy(s),o.isDirtyLegend=o.isDirtyBox=!0,o.linkSeries(s),dt(t,!0)&&o.redraw(e)}i!==!1?nt(r,"remove",null,a):a()}update(t,e){nt(this,"update",{options:t=_d(t,this.userOptions)});let i=this,s=i.chart,r=i.userOptions,o=i.initialType||i.type,a=s.options.plotOptions,n=Ue[o].prototype,h=i.finishedAnimating&&{animation:!1},c={},d,p,u=$t.keepProps.slice(),f=t.type||r.type||s.options.chart.type,x=!(this.hasDerivedData||f&&f!==this.type||t.keys!==void 0||t.pointStart!==void 0||t.pointInterval!==void 0||t.relativeXValue!==void 0||t.joinBy||t.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some(m=>i.hasOptionChanged(m)));f=f||o,x?(u.push.apply(u,$t.keepPropsForPoints),t.visible!==!1&&u.push("area","graph"),i.parallelArrays.forEach(function(m){u.push(m+"Data")}),t.data&&(t.dataSorting&&Ve(i.options.dataSorting,t.dataSorting),this.setData(t.data,!1))):this.dataTable.modified=this.dataTable,t.dataLabels&&r.dataLabels&&(t.dataLabels=this.mergeArrays(r.dataLabels,t.dataLabels)),t=ui(r,{index:r.index===void 0?i.index:r.index,pointStart:a?.series?.pointStart??r.pointStart??i.getColumn("x")[0]},!x&&{data:i.options.data},t,h),x&&t.data&&(t.data=i.options.data),(u=["dataLabelsGroup","dataLabelsGroups","dataLabelsParentGroups","group","markerGroup","transformGroup"].concat(u)).forEach(function(m){u[m]=i[m],delete i[m]});let g=!1;if(Ue[f]){if(g=f!==i.type,i.remove(!1,!1,!1,!0),g)if(s.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(i,Ue[f].prototype);else{let m=Object.hasOwnProperty.call(i,"hcEvents")&&i.hcEvents;for(p in n)i[p]=void 0;Ve(i,Ue[f].prototype),m?i.hcEvents=m:delete i.hcEvents}}else hs(17,!0,s,{missingModuleFor:f});if(u.forEach(function(m){i[m]=u[m]}),i.init(s,t),x&&this.points)for(let m of((d=i.options).visible===!1?(c.graphic=1,c.dataLabel=1):(this.hasMarkerChanged(d,r)&&(c.graphic=1),i.hasDataLabels?.()||(c.dataLabel=1)),this.points))m?.series&&(m.resolveColor(),Object.keys(c).length&&m.destroyElements(c),d.showInLegend===!1&&m.legendItem&&s.legend.destroyItem(m));i.initialType=o,s.linkSeries(),s.setSortedData(),g&&i.linkedSeries.length&&(i.isDirtyData=!0),nt(this,"afterUpdate"),dt(e,!0)&&s.redraw(!!x&&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=dt(s?.[this.type]?.[t],s?.series?.[t]);return r&&!xt(o)?i!==r:i!==dt(o,i)}onMouseOver(){let t=this.chart,e=t.hoverSeries;t.pointer?.setHoverChartIndex(),e&&e!==this&&e.onMouseOut(),this.options.events.mouseOver&&nt(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&&nt(this,"mouseOut"),i&&!this.stickyTracking&&(!i.shared||this.noSharedTooltip)&&i.hide(),e.series.forEach(function(r){r.setState("",!0)})}setState(t,e){let i=this,{graph:s,options:r}=i,{inactiveOtherPoints:o,states:a}=r,n=dt(a?.[t||"normal"]?.animation,i.chart.options.chart.animation),{lineWidth:h,opacity:c}=r;if(t=t||"",i.state!==t&&([i.group,i.markerGroup,...i.dataLabelsGroups||[]].forEach(function(d){d&&(i.state&&d.removeClass("highcharts-series-"+i.state),t&&d.addClass("highcharts-series-"+t))}),i.state=t,!i.chart.styledMode)){if(a[t]?.enabled===!1)return;if(t&&(h=a[t].lineWidth||h+(a[t].lineWidthPlus||0),c=dt(a[t].opacity,c)),s&&!s.dashstyle&&kt(h))for(let d of[s,...this.zones.map(p=>p.graph)])d?.animate({"stroke-width":h},n);o||[i.group,i.markerGroup,...i.dataLabelsGroups||[],i.labelBySeries].forEach(function(d){d?.animate({opacity:c},n)})}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=t===void 0?!o:t;let a=t?"show":"hide";["group","markerGroup","tracker","tt"].forEach(n=>{i[n]?.[a]()}),i.dataLabelsGroups?.forEach(n=>{n?.[a]()}),(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(n=>{n.options.stacking&&n.visible&&(n.isDirty=!0)}),i.linkedSeries.forEach(n=>{n.setVisible(t,!1)}),r&&(s.isDirtyBox=!0),nt(i,a),e!==!1&&s.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(t){this.selected=t=this.options.selected=t===void 0?!this.selected:t,this.checkbox&&(this.checkbox.checked=t),nt(this,t?"select":"unselect")}shouldShowTooltip(t,e,i={}){return i.series=this,i.visiblePlotOnly=!0,this.chart.isInsidePlot(t,e,i)}drawLegendSymbol(t,e){Ia[this.options.legendSymbol||"rectangle"]?.call(this,t,e)}}$t.defaultOptions={lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,formatter:function(){let{numberFormatter:l}=this.series.chart;return typeof this.y!="number"?"":l(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"},$t.types=pt.seriesTypes,$t.registerType=pt.registerSeriesType,$t.keepProps=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],$t.keepPropsForPoints=["data","isDirtyData","isDirtyCanvas","points","dataTable","processedData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"],Ve($t.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:pe,requireSorting:!0,sorted:!0}),pt.series=$t;let Rt=$t,{animObject:ic,setAnimation:sc}=Mt,{registerEventOptions:ja}=Ui,{composed:rc,marginNames:$a}=L,{distribute:oc}=zi,{format:ac}=Gt,{addEvent:ds,createElement:nc,css:lc,defined:Or,discardElement:hc,find:dc,fireEvent:oe,isNumber:Ua,merge:Pe,pick:Ut,pushUnique:cc,relativeLength:Lr,stableSort:pc,syncTimeout:uc}=F;class Er{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(),ja(this,e),ds(this.chart,"endResize",function(){this.legend.positionCheckboxes()})),ds(this.chart,"render",()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(t){let e=Ut(t.padding,8);this.options=t,this.chart.styledMode||(this.itemStyle=t.itemStyle,this.itemHiddenStyle=Pe(this.itemStyle,t.itemHiddenStyle)),this.itemMarginTop=t.itemMarginTop,this.itemMarginBottom=t.itemMarginBottom,this.padding=e,this.initialItemY=e-5,this.symbolWidth=Ut(t.symbolWidth,16),this.pages=[],this.proximate=t.layout==="proximate"&&!this.chart.inverted,this.baseline=void 0}update(t,e){let i=this.chart;this.setOptions(Pe(!0,this.options,t)),"events"in this.options&&ja(this,this.options),this.destroy(),i.isDirtyLegend=i.isDirtyBox=!0,Ut(e,!0)&&i.redraw(),oe(this,"afterUpdate",{redraw:e})}colorizeItem(t,e){let i=t.color,{area:s,group:r,label:o,line:a,symbol:n}=t.legendItem||{};if((t instanceof Rt||t instanceof pe)&&(t.color=t.options?.legendSymbolColor||i),r?.[e?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:h={}}=this,c=h.color,{fillColor:d,fillOpacity:p,lineColor:u,marker:f}=t.options,x=g=>(!e&&(g.fill&&(g.fill=c),g.stroke&&(g.stroke=c)),g);o?.css(Pe(e?this.itemStyle:h)),a?.attr(x({stroke:u||t.color})),n&&n.attr(x(f&&n.isMarker?t.pointAttribs():{fill:t.color})),s?.attr(x({fill:d||t.color,"fill-opacity":d?1:p??.75}))}t.color=i,oe(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,a=!r.rtl,n=t.checkbox;if(e?.element){let h={translateX:a?i:this.legendWidth-i-2*o-4,translateY:s},c=()=>{oe(this,"afterPositionItem",{item:t})};e[Or(e.translateY)?"animate":"attr"](h,void 0,c)}n&&(n.x=i,n.y=s)}destroyItem(t){let e=t.legendItem||{};for(let i of["group","label","line","symbol"])e[i]&&(e[i]=e[i].destroy());t.checkbox=hc(t.checkbox),t.legendItem=void 0}destroy(){for(let t of this.getAllItems())this.destroyItem(t);for(let t of["clipRect","up","down","pager","nav","box","title","group"])this[t]&&(this[t]=this[t].destroy());this.display=null}positionCheckboxes(){let t,e=this.group?.alignAttr,i=this.clipHeight||this.legendHeight,s=this.titleHeight;e&&(t=e.translateY,this.allItems.forEach(function(r){let o,a=r.checkbox;a&&(o=t+s+a.y+(this.scrollOffset||0)+3,lc(a,{left:e.translateX+r.checkboxOffset+a.x-20+"px",top:o+"px",display:this.proximate||o>t-6&&o<t+i-6?"":"none"}))},this))}renderTitle(){let t=this.options,e=this.padding,i=t.title,s,r=0;i.text&&(this.title||(this.title=this.chart.renderer.label(i.text,e-3,e-4,void 0,void 0,void 0,t.useHTML,void 0,"legend-title").attr({zIndex:1}),this.chart.styledMode||this.title.css(i.style),this.title.add(this.group)),i.width||this.title.css({width:this.maxLegendWidth+"px"}),r=(s=this.title.getBBox()).height,this.offsetWidth=s.width,this.contentGroup.attr({translateY:r})),this.titleHeight=r}setText(t){let e=this.options;t.legendItem.label.attr({text:e.labelFormat?ac(e.labelFormat,t,this.chart):e.labelFormatter.call(t)})}renderItem(t){let e=t.legendItem=t.legendItem||{},i=this.chart,s=i.renderer,r=this.options,o=r.layout==="horizontal",a=this.symbolWidth,n=r.symbolPadding||0,h=this.itemStyle,c=this.itemHiddenStyle,d=o?Ut(r.itemDistance,20):0,p=!r.rtl,u=!t.series,f=!u&&t.series.drawLegendSymbol?t.series:t,x=f.options,g=!!this.createCheckboxForItem&&x&&x.showCheckbox,m=r.useHTML,y=t.options.className,b=e.label,v=a+n+d+20*!!g;!b&&(e.group=s.g("legend-item").addClass("highcharts-"+f.type+"-series highcharts-color-"+t.colorIndex+(y?" "+y:"")+(u?" highcharts-series-"+t.index:"")).attr({zIndex:1}).add(this.scrollGroup),e.label=b=s.text("",p?a+n:-n,this.baseline||0,m),i.styledMode||b.css(Pe(t.visible?h:c)),b.attr({align:p?"left":"right",zIndex:2}).add(e.group),!this.baseline&&(this.fontMetrics=s.fontMetrics(b),this.baseline=this.fontMetrics.f+3+this.itemMarginTop,b.attr("y",this.baseline),this.symbolHeight=Ut(r.symbolHeight,this.fontMetrics.f),r.squareSymbol&&(this.symbolWidth=Ut(r.symbolWidth,Math.max(this.symbolHeight,16)),v=this.symbolWidth+n+d+20*!!g,p&&b.attr("x",this.symbolWidth+n))),f.drawLegendSymbol(this,t),this.setItemEvents&&this.setItemEvents(t,b,m)),g&&!t.checkbox&&this.createCheckboxForItem&&this.createCheckboxForItem(t),this.colorizeItem(t,t.visible),(i.styledMode||!h.width)&&b.css({width:Math.min(r.itemWidth||this.widthOption||i.spacingBox.width,r.maxWidth?Lr(r.maxWidth,i.chartWidth):1/0)-v+"px"}),this.setText(t);let k=b.getBBox(),w=this.fontMetrics?.h||0;t.itemWidth=t.checkboxOffset=r.itemWidth||e.labelWidth||k.width+v,this.maxItemWidth=Math.max(this.maxItemWidth,t.itemWidth),this.totalItemWidth+=t.itemWidth,this.itemHeight=t.itemHeight=Math.round(e.labelHeight||(k.height>1.5*w?k.height:w))}layoutItem(t){let e=this.options,i=this.padding,s=e.layout==="horizontal",r=t.itemHeight,o=this.itemMarginBottom,a=this.itemMarginTop,n=s?Ut(e.itemDistance,20):0,h=this.maxLegendWidth,c=e.alignColumns&&this.totalItemWidth>h?this.maxItemWidth:t.itemWidth,d=t.legendItem||{};s&&this.itemX-i+c>h&&(this.itemX=i,this.lastLineHeight&&(this.itemY+=a+this.lastLineHeight+o),this.lastLineHeight=0),this.lastItemY=a+this.itemY+o,this.lastLineHeight=Math.max(r,this.lastLineHeight),d.x=this.itemX,d.y=this.itemY,s?this.itemX+=c:(this.itemY+=a+r+o,this.lastLineHeight=r),this.offsetWidth=this.widthOption||Math.max((s?this.itemX-i-(t.checkbox?0:n):c)+i,this.offsetWidth)}getAllItems(){let t=[];return this.chart.series.forEach(function(e){let i=e?.options;e&&Ut(i.showInLegend,!Or(i.linkedTo)&&void 0,!0)&&(t=t.concat(e.legendItem?.labels||(i.legendType==="point"?e.data:e)))}),oe(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((o,a)=>{o.test(r)&&!Or(t[a])&&(i[$a[a]]=Math.max(i[$a[a]],i.legend[(a+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][a]*s[a%2?"x":"y"]+(s.margin??12)+e[a]+(i.titleOffset[a]||0)))})}proximatePositions(){let t,e=this.chart,i=[],s=this.options.align==="left";for(let r of(this.allItems.forEach(function(o){let a,n,h=s,c,d;o.yAxis&&(o.xAxis.options.reversed&&(h=!h),o.points&&(a=dc(h?o.points:o.points.slice(0).reverse(),function(p){return Ua(p.plotY)})),n=this.itemMarginTop+o.legendItem.label.getBBox().height+this.itemMarginBottom,d=o.yAxis.top-e.plotTop,c=o.visible?(a?a.plotY:o.yAxis.height)+(d-.3*n):d+o.yAxis.height,i.push({target:c,size:n,item:o}))},this),oc(i,e.plotHeight)))t=r.item.legendItem||{},Ua(r.pos)&&(t.y=e.plotTop-e.spacing[0]+r.pos)}render(){let t=this.chart,e=t.spacingBox.width,i=t.renderer,s=this.options,r=this.padding,o=this.getAllItems(),a,n,h,c=this.group,d,p=this.box;this.itemX=r,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=Lr(s.width,e-r),d=e-2*r-s.x,["rm","lm"].indexOf(this.getAlignment().substring(0,2))>-1&&(d/=2),this.maxLegendWidth=this.widthOption||d,c||(this.group=c=i.g("legend").addClass(s.className||"").attr({zIndex:7}).add(),this.contentGroup=i.g().attr({zIndex:1}).add(c),this.scrollGroup=i.g().add(this.contentGroup)),this.renderTitle(),pc(o,(u,f)=>(u.options?.legendIndex||0)-(f.options?.legendIndex||0)),s.reversed&&o.reverse(),this.allItems=o,this.display=a=!!o.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,o.forEach(this.renderItem,this),o.forEach(this.layoutItem,this),n=(s.maxWidth?Math.min(this.widthOption||this.offsetWidth,d,Lr(s.maxWidth,t.chartWidth)||1/0):this.widthOption||this.offsetWidth)+r,h=this.lastItemY+this.lastLineHeight+this.titleHeight,h=this.handleOverflow(h)+r,p||(this.box=p=i.rect().addClass("highcharts-legend-box").attr({r:s.borderRadius}).add(c)),t.styledMode||p.attr({stroke:s.borderColor,"stroke-width":s.borderWidth||0,fill:s.backgroundColor||"none"}).shadow(s.shadow),n>0&&h>0&&p[p.placed?"animate":"attr"](p.crisp.call({},{x:0,y:0,width:n,height:h},p.strokeWidth())),c[a?"show":"hide"](),t.styledMode&&c.getStyle("display")==="none"&&(n=h=0),this.legendWidth=n,this.legendHeight=h,a&&this.align(),this.proximate||this.positionItems(),oe(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=Pe(t,{y:s})),e.hasRendered||(this.group.placed=!1),this.group.align(Pe(i,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":i.verticalAlign}),!0,t)}handleOverflow(t){let e=this,i=this.chart,s=i.renderer,r=this.options,o=r.y,a=r.verticalAlign==="top",n=this.padding,h=r.maxHeight,c=r.navigation,d=Ut(c.animation,!0),p=c.arrowSize||12,u=this.pages,f=this.allItems,x=function(S){typeof S=="number"?M.attr({height:S}):M&&(e.clipRect=M.destroy(),e.contentGroup.clip()),e.contentGroup.div&&(e.contentGroup.div.style.clip=S?"rect("+n+"px,9999px,"+(n+S)+"px,0)":"auto")},g=function(S){return e[S]=s.circle(0,0,1.3*p).translate(p/2,p/2).add(w),i.styledMode||e[S].attr("fill","rgba(0,0,0,0.0001)"),e[S]},m,y,b,v,k=i.spacingBox.height+(a?-o:o)-n,w=this.nav,M=this.clipRect;return r.layout!=="horizontal"||r.verticalAlign==="middle"||r.floating||(k/=2),h&&(k=Math.min(k,h)),u.length=0,t&&k>0&&t>k&&c.enabled!==!1?(this.clipHeight=m=Math.max(k-20-this.titleHeight-n,0),this.currentPage=Ut(this.currentPage,1),this.fullHeight=t,f.forEach((S,C)=>{let P=(b=S.legendItem||{}).y||0,T=Math.round(b.label.getBBox().height),D=u.length;(!D||P-u[D-1]>m&&(y||P)!==u[D-1])&&(u.push(y||P),D++),b.pageIx=D-1,y&&v&&(v.pageIx=D-1),C===f.length-1&&P+T-u[D-1]>m&&P>u[D-1]&&(u.push(P),b.pageIx=D),P!==y&&(y=P),v=b}),M||(M=e.clipRect=s.clipRect(0,n-2,9999,0),e.contentGroup.clip(M)),x(m),w||(this.nav=w=s.g().attr({zIndex:1}).add(this.group),this.up=s.symbol("triangle",0,0,p,p).add(w),g("upTracker").on("click",function(){e.scroll(-1,d)}),this.pager=s.text("",15,10).addClass("highcharts-legend-navigation"),!i.styledMode&&c.style&&this.pager.css(c.style),this.pager.add(w),this.down=s.symbol("triangle-down",0,0,p,p).add(w),g("downTracker").on("click",function(){e.scroll(1,d)})),e.scroll(0),t=k):w&&(x(),this.nav=w.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,a=this.options.navigation,n=this.pager,h=this.padding,c=this.currentPage+t;c>r&&(c=r),c>0&&(e!==void 0&&sc(e,i),this.nav.attr({translateX:h,translateY:o+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(d){d.attr({class:c===1?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),n.attr({text:c+"/"+r}),[this.down,this.downTracker].forEach(function(d){d.attr({x:18+this.pager.getBBox().width,class:c===r?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),i.styledMode||(this.up.attr({fill:c===1?a.inactiveColor:a.activeColor}),this.upTracker.css({cursor:c===1?"default":"pointer"}),this.down.attr({fill:c===r?a.inactiveColor:a.activeColor}),this.downTracker.css({cursor:c===r?"default":"pointer"})),this.scrollOffset=-s[c-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=c,this.positionCheckboxes(),uc(()=>{oe(this,"afterScroll",{currentPage:c})},ic(Ut(e,i.renderer.globalAnimation,!0)).duration))}setItemEvents(t,e,i){let s=this,r=t.legendItem||{},o=s.chart.renderer.boxWrapper,a=t instanceof pe,n=t instanceof Rt,h="highcharts-legend-"+(a?"point":"series")+"-active",c=s.chart.styledMode,d=i?[e,r.symbol]:[r.group],p=u=>{s.allItems.forEach(f=>{t!==f&&[f].concat(f.linkedSeries||[]).forEach(x=>{x.setState(u,!a)})})};for(let u of d)u&&u.on("mouseover",function(){t.visible&&p("inactive"),t.setState("hover"),t.visible&&o.addClass(h),c||e.css(s.options.itemHoverStyle)}).on("mouseout",function(){s.chart.styledMode||e.css(Pe(t.visible?s.itemStyle:s.itemHiddenStyle)),p(""),o.removeClass(h),t.setState()}).on("click",function(f){let x=function(){t.setVisible&&t.setVisible(),p(t.visible?"inactive":"")};o.removeClass(h),oe(s,"itemClick",{browserEvent:f,legendItem:t},x),a?t.firePointEvent("legendItemClick",{browserEvent:f}):n&&oe(t,"legendItemClick",{browserEvent:f})})}createCheckboxForItem(t){t.checkbox=nc("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:t.selected,defaultChecked:t.selected},this.options.itemCheckboxStyle,this.chart.container),ds(t.checkbox,"click",function(e){let i=e.target;oe(t.series||t,"checkboxClick",{checked:i.checked,item:t},function(){t.select()})})}}(_e=Er||(Er={})).compose=function(l){cc(rc,"Core.Legend")&&ds(l,"beforeMargins",function(){this.legend=new _e(this,this.options.legend)})};let Va=Er,{animate:Ir,animObject:gc,setAnimation:Dr}=Mt,{defaultOptions:Br}=Ft,{numberFormat:fc}=Gt,{registerEventOptions:qa}=Ui,{charts:Oe,doc:gi,marginNames:Ka,svg:mc,win:Nr}=L,{seriesTypes:zr}=pt,{addEvent:Rr,attr:Za,createElement:Wr,css:Vt,defined:ge,diffObjects:_a,discardElement:xc,erase:yc,error:cs,extend:fe,find:Xr,fireEvent:J,getAlignFactor:bc,getStyle:Hr,isArray:vc,isNumber:qe,isObject:kc,isString:ps,merge:ie,objectEach:Fr,pick:Nt,pInt:wc,relativeLength:Ja,removeEvent:Qa,splat:us,syncTimeout:Mc,uniqueKey:Sc}=F;class me{static chart(t,e,i){return new me(t,e,i)}constructor(t,e,i){this.sharedClips={};const s=[...arguments];(ps(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:Nt(t.zoomType,e.type),key:Nt(t.zoomKey,e.key),pinchType:Nt(t.pinchType,e.pinchType),singleTouch:Nt(t.zoomBySingleTouch,e.singleTouch,!1),resetButton:ie(e.resetButton,t.resetZoomButton)}}init(t,e){J(this,"init",{args:arguments},function(){let i=ie(Br,t),s=i.chart,r=this.renderTo||s.renderTo;this.userOptions=fe({},t),(this.renderTo=ps(r)?gi.getElementById(r):r)||cs(13,!0,this),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=e,this.isResizing=0,this.options=i,this.axes=[],this.series=[],this.locale=i.lang.locale??this.renderTo.closest("[lang]")?.lang,this.time=new Vs(fe(i.time||{},{locale:this.locale}),i.lang),i.time=this.time.options,this.numberFormatter=(s.numberFormatter||fc).bind(this),this.styledMode=s.styledMode,this.hasCartesianSeries=s.showAxes,this.index=Oe.length,Oe.push(this),L.chartCount++,qa(this,s),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),J(this,"afterInit"),this.firstRender()})}initSeries(t){let e=this.options.chart,i=t.type||e.type,s=zr[i];s||cs(17,!0,this,{missingModuleFor:i});let r=new s;return typeof r.init=="function"&&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]=us(this.options[t]).slice(),r=this.userOptions[t]=this.userOptions[t]?us(this.userOptions[t]).slice():[];if(this.hasRendered&&(s.splice(e),r.splice(e)),i)for(let o=e,a=i.length;o<a;++o){let n=i[o];n&&(n.index=o,n instanceof Rt&&(n.name=n.getName()),n.options.isInternal||(s[o]=n.options,r[o]=n.userOptions))}}getClipBox(t,e){let i=this.inverted,{xAxis:s,yAxis:r}=t||{},{x:o,y:a,width:n,height:h}=ie(this.clipBox);return t&&(s&&s.len!==this.plotSizeX&&(n=s.len),r&&r.len!==this.plotSizeY&&(h=r.len),i&&!t.invertible&&([n,h]=[h,n])),e&&(o+=(i?r:s)?.pos??this.plotLeft,a+=(i?s:r)?.pos??this.plotTop),{x:o,y:a,width:n,height:h}}isInsidePlot(t,e,i={}){let{inverted:s,plotBox:r,plotLeft:o,plotTop:a,scrollablePlotBox:n}=this,{scrollLeft:h=0,scrollTop:c=0}=i.visiblePlotOnly&&this.scrollablePlotArea?.scrollingContainer||{},d=i.series,p=i.visiblePlotOnly&&n||r,u=i.inverted?e:t,f=i.inverted?t:e,x={x:u,y:f,isInsidePlot:!0,options:i};if(!i.ignoreX){let g=d&&(s&&!this.polar?d.yAxis:d.xAxis)||{pos:o,len:1/0},m=i.paneCoordinates?g.pos+u:o+u;m>=Math.max(h+o,g.pos)&&m<=Math.min(h+o+p.width,g.pos+g.len)||(x.isInsidePlot=!1)}if(!i.ignoreY&&x.isInsidePlot){let g=!s&&i.axis&&!i.axis.isXAxis&&i.axis||d&&(s?d.xAxis:d.yAxis)||{pos:a,len:1/0},m=i.paneCoordinates?g.pos+f:a+f;m>=Math.max(c+a,g.pos)&&m<=Math.min(c+a+p.height,g.pos+g.len)||(x.isInsidePlot=!1)}return J(this,"afterIsInsidePlot",x),x.isInsidePlot}redraw(t){J(this,"beforeRedraw");let e=this.hasCartesianSeries?this.axes:this.colorAxis||[],i=this.series,s=this.pointer,r=this.legend,o=this.userOptions.legend,a=this.renderer,n=a.isHidden(),h=[],c,d,p,u=this.isDirtyBox,f=this.isDirtyLegend,x;for(a.rootFontSize=a.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),Dr(!!this.hasRendered&&t,this),n&&this.temporaryDisplay(),this.layOutTitles(!1),p=i.length;p--;)if(((x=i[p]).options.stacking||x.options.centerInCategory)&&(d=!0,x.isDirty)){c=!0;break}if(c)for(p=i.length;p--;)(x=i[p]).options.stacking&&(x.isDirty=!0);i.forEach(function(g){g.isDirty&&(g.options.legendType==="point"?(typeof g.updateTotals=="function"&&g.updateTotals(),f=!0):o&&(o.labelFormatter||o.labelFormat)&&(f=!0)),g.isDirtyData&&J(g,"updatedData")}),f&&r&&r.options.enabled&&(r.render(),this.isDirtyLegend=!1),d&&this.getStacks(),e.forEach(function(g){g.updateNames(),g.setScale()}),this.getMargins(),e.forEach(function(g){g.isDirty&&(u=!0)}),e.forEach(function(g){let m=g.min+","+g.max;g.extKey!==m&&(g.extKey=m,h.push(function(){J(g,"afterSetExtremes",fe(g.eventArgs,g.getExtremes())),delete g.eventArgs})),(u||d)&&g.redraw()}),u&&this.drawChartBox(),J(this,"predraw"),i.forEach(function(g){(u||g.isDirty)&&g.visible&&g.redraw(),g.isDirtyData=!1}),s&&s.reset(!0),a.draw(),J(this,"redraw"),J(this,"render"),n&&this.temporaryDisplay(!0),h.forEach(function(g){g.call()})}get(t){let e=this.series;function i(r){return r.id===t||r.options&&r.options.id===t}let s=Xr(this.axes,i)||Xr(this.series,i);for(let r=0;!s&&r<e.length;r++)s=Xr(e[r].points||[],i);return s}createAxes(){let t=this.userOptions;for(let e of(J(this,"createAxes"),["xAxis","yAxis"]))for(let i of t[e]=us(t[e]||{}))new Ye(this,i,e);J(this,"afterCreateAxes")}getSelectedPoints(){return this.series.reduce((t,e)=>(e.getPointsCollection().forEach(i=>{Nt(i.selectedStaging,i.selected)&&t.push(i)}),t),[])}getSelectedSeries(){return this.series.filter(t=>t.selected)}setTitle(t,e,i){this.applyDescription("title",t),this.applyDescription("subtitle",e),this.applyDescription("caption",void 0),this.layOutTitles(i)}applyDescription(t,e){let i=this,s=this.options[t]=ie(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}).css({textOverflow:"ellipsis",whiteSpace:"nowrap"}).add()).update=function(o,a){i.applyDescription(t,o),i.layOutTitles(a)},this.styledMode||r.css(fe(t==="title"?{fontSize:this.options.isStock?"1em":"1.2em"}:{},s.style)),r.textPxLength=r.getBBox().width,r.css({whiteSpace:s.style?.whiteSpace}),this[t]=r)}layOutTitles(t=!0){let e=[0,0,0],{options:i,renderer:s,spacingBox:r}=this;["title","subtitle","caption"].forEach(a=>{let n=this[a],h=this.options[a],c=ie(r),d=n?.textPxLength||0;if(n&&h){J(this,"layOutTitle",{alignTo:c,key:a,textPxLength:d});let p=s.fontMetrics(n),u=p.b,f=p.h,x=h.verticalAlign||"top",g=x==="top",m=g&&h.minScale||1,y=a==="title"?g?-3:0:g?e[0]+2:0,b=Math.min(c.width/d,1),v=Math.max(m,b),k=ie({y:x==="bottom"?u:y+u},{align:a==="title"?b<m?"left":"center":this.title?.alignValue},h),w=(h.width||(b>m?this.chartWidth:c.width)/v)+"px";n.alignValue!==k.align&&(n.placed=!1);let M=Math.round(n.css({width:w}).getBBox(h.useHTML).height);if(k.height=M,n.align(k,!1,c).attr({align:k.align,scaleX:v,scaleY:v,"transform-origin":`${c.x+d*v*bc(k.align)} ${f}`}),!h.floating){let S=M*(M<1.2*f?1:v);x==="top"?e[0]=Math.ceil(e[0]+S):x==="bottom"&&(e[2]=Math.ceil(e[2]+S))}}},this),e[0]&&(i.title?.verticalAlign||"top")==="top"&&(e[0]+=i.title?.margin||0),e[2]&&i.caption?.verticalAlign==="bottom"&&(e[2]+=i.caption?.margin||0);let o=!this.titleOffset||this.titleOffset.join(",")!==e.join(",");this.titleOffset=e,J(this,"afterLayOutTitles"),!this.isDirtyBox&&o&&(this.isDirtyBox=this.isDirtyLegend=o,this.hasRendered&&t&&this.isDirtyBox&&this.redraw())}getContainerBox(){let t=[].map.call(this.renderTo.children,i=>{if(i!==this.container){let s=i.style.display;return i.style.display="none",[i,s]}}),e={width:Hr(this.renderTo,"width",!0)||0,height:Hr(this.renderTo,"height",!0)||0};return t.filter(Boolean).forEach(([i,s])=>{i.style.display=s}),e}getChartSize(){let t=this.options.chart,e=t.width,i=t.height,s=this.getContainerBox(),r=s.height<=1||!this.renderTo.parentElement?.style.height&&this.renderTo.style.height==="100%";this.chartWidth=Math.max(0,e||s.width||600),this.chartHeight=Math.max(0,Ja(i,this.chartWidth)||(r?400:s.height)),this.containerBox=s}temporaryDisplay(t){let e=this.renderTo,i;if(t)for(;e?.style;)e.hcOrigStyle&&(Vt(e,e.hcOrigStyle),delete e.hcOrigStyle),e.hcOrigDetached&&(gi.body.removeChild(e),e.hcOrigDetached=!1),e=e.parentNode;else for(;e?.style&&(gi.body.contains(e)||e.parentNode||(e.hcOrigDetached=!0,gi.body.appendChild(e)),(Hr(e,"display",!1)==="none"||e.hcOricDetached)&&(e.hcOrigStyle={display:e.style.display,height:e.style.height,overflow:e.style.overflow},i={display:"block",overflow:"hidden"},e!==this.renderTo&&(i.height=0),Vt(e,i),e.offsetWidth||e.style.setProperty("display","block","important")),(e=e.parentNode)!==gi.body););}setClassName(t){this.container.className="highcharts-container "+(t||"")}getContainer(){let t,e=this.options,i=e.chart,s="data-highcharts-chart",r=Sc(),o=this.renderTo,a=wc(Za(o,s));qe(a)&&Oe[a]&&Oe[a].hasRendered&&Oe[a].destroy(),Za(o,s,this.index),o.innerHTML=at.emptyHTML,i.skipClone||o.offsetWidth||this.temporaryDisplay(),this.getChartSize();let n=this.chartHeight,h=this.chartWidth;Vt(o,{overflow:"hidden"}),this.styledMode||(t=fe({position:"relative",overflow:"hidden",width:h+"px",height:n+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none",padding:"0px"},i.style||{}));let c=Wr("div",{id:r},t,o);this.container=c,this.getChartSize(),h!==this.chartWidth&&(h=this.chartWidth,this.styledMode||Vt(c,{width:Nt(i.style?.width,h+"px")})),this.containerBox=this.getContainerBox(),this._cursor=c.style.cursor;let d=i.renderer||!mc?ri.getRendererType(i.renderer):ji;if(this.renderer=new d(c,h,n,void 0,i.forExport,e.exporting?.allowHTML,this.styledMode),Dr(void 0,this),this.setClassName(i.className),this.styledMode)for(let p in e.defs)this.renderer.definition(e.defs[p]);else this.renderer.setStyle(i.style);this.renderer.chartIndex=this.index,J(this,"afterGetContainer")}getMargins(t){let{spacing:e,margin:i,titleOffset:s}=this;this.resetMargins(),s[0]&&!ge(i[0])&&(this.plotTop=Math.max(this.plotTop,s[0]+e[0])),s[2]&&!ge(i[2])&&(this.marginBottom=Math.max(this.marginBottom,s[2]+e[2])),this.legend?.display&&this.legend.adjustMargins(i,e),J(this,"getMargins"),t||this.getAxisMargins()}getAxisMargins(){let t=this,e=t.axisOffset=[0,0,0,0],i=t.colorAxis,s=t.margin,r=o=>{o.forEach(a=>{a.visible&&a.getOffset()})};t.hasCartesianSeries?r(t.axes):i?.length&&r(i),Ka.forEach((o,a)=>{ge(s[a])||(t[o]+=e[a])}),t.setChartSize()}getOptions(){return _a(this.userOptions,Br)}reflow(t){let e=this,i=e.containerBox,s=e.getContainerBox();delete e.pointer?.chartPosition,!e.exporting?.isPrinting&&!e.isResizing&&i&&s.width&&((s.width!==i.width||s.height!==i.height)&&(F.clearTimeout(e.reflowTimeout),e.reflowTimeout=Mc(function(){e.container&&e.setSize(void 0,void 0,!1)},100*!!t)),e.containerBox=s)}setReflow(){let t=this,e=i=>{t.options?.chart.reflow&&t.hasLoaded&&t.reflow(i)};if(typeof ResizeObserver=="function")new ResizeObserver(e).observe(t.renderTo);else{let i=Rr(Nr,"resize",e);Rr(this,"destroy",i)}}setSize(t,e,i){let s=this,r=s.renderer;s.isResizing+=1,Dr(i,s);let o=r.globalAnimation;s.oldChartHeight=s.chartHeight,s.oldChartWidth=s.chartWidth,t!==void 0&&(s.options.chart.width=t),e!==void 0&&(s.options.chart.height=e),s.getChartSize();let{chartWidth:a,chartHeight:n,scrollablePixelsX:h=0,scrollablePixelsY:c=0}=s;(s.isDirtyBox||a!==s.oldChartWidth||n!==s.oldChartHeight)&&(s.styledMode||(o?Ir:Vt)(s.container,{width:`${a+h}px`,height:`${n+c}px`},o),s.setChartSize(!0),r.setSize(a,n,o),s.axes.forEach(function(d){d.isDirty=!0,d.setScale()}),s.isDirtyLegend=!0,s.isDirtyBox=!0,s.layOutTitles(),s.getMargins(),s.redraw(o),s.oldChartHeight=void 0,J(s,"resize"),setTimeout(()=>{s&&J(s,"endResize")},gc(o).duration)),s.isResizing-=1}setChartSize(t){let e,i,s,r,{chartHeight:o,chartWidth:a,inverted:n,spacing:h,renderer:c}=this,d=this.clipOffset,p=Math[n?"floor":"round"];this.plotLeft=e=Math.round(this.plotLeft),this.plotTop=i=Math.round(this.plotTop),this.plotWidth=s=Math.max(0,Math.round(a-e-(this.marginRight??0))),this.plotHeight=r=Math.max(0,Math.round(o-i-(this.marginBottom??0))),this.plotSizeX=n?r:s,this.plotSizeY=n?s:r,this.spacingBox=c.spacingBox={x:h[3],y:h[0],width:a-h[3]-h[1],height:o-h[0]-h[2]},this.plotBox=c.plotBox={x:e,y:i,width:s,height:r},d&&(this.clipBox={x:p(d[3]),y:p(d[0]),width:p(this.plotSizeX-d[1]-d[3]),height:p(this.plotSizeY-d[0]-d[2])}),t||(this.axes.forEach(function(u){u.setAxisSize(),u.setAxisTranslation()}),c.alignElements()),J(this,"afterSetChartSize",{skipAxes:t})}resetMargins(){J(this,"resetMargins");let t=this,e=t.options.chart,i=e.plotBorderWidth||0,s=Math.round(i)/2;["margin","spacing"].forEach(r=>{let o=e[r],a=kc(o)?o:[o,o,o,o];["Top","Right","Bottom","Left"].forEach((n,h)=>{t[r][h]=e[`${r}${n}`]??a[h]})}),Ka.forEach((r,o)=>{t[r]=t.margin[o]??t.spacing[o]}),t.axisOffset=[0,0,0,0],t.clipOffset=[s,s,s,s],t.plotBorderWidth=i}drawChartBox(){let t=this.options.chart,e=this.renderer,i=this.chartWidth,s=this.chartHeight,r=this.styledMode,o=this.plotBGImage,a=t.backgroundColor,n=t.plotBackgroundColor,h=t.plotBackgroundImage,c=this.plotLeft,d=this.plotTop,p=this.plotWidth,u=this.plotHeight,f=this.plotBox,x=this.clipRect,g=this.clipBox,m=this.chartBackground,y=this.plotBackground,b=this.plotBorder,v,k,w,M="animate";m||(this.chartBackground=m=e.rect().addClass("highcharts-background").add(),M="attr"),r?v=k=m.strokeWidth():(k=(v=t.borderWidth||0)+8*!!t.shadow,w={fill:a||"none"},(v||m["stroke-width"])&&(w.stroke=t.borderColor,w["stroke-width"]=v),m.attr(w).shadow(t.shadow)),m[M]({x:k/2,y:k/2,width:i-k-v%2,height:s-k-v%2,r:t.borderRadius}),M="animate",y||(M="attr",this.plotBackground=y=e.rect().addClass("highcharts-plot-background").add()),y[M](f),!r&&(y.attr({fill:n||"none"}).shadow(t.plotShadow),h&&(o?(h!==o.attr("href")&&o.attr("href",h),o.animate(f)):this.plotBGImage=e.image(h,c,d,p,u).add())),x?x.animate({width:g.width,height:g.height}):this.clipRect=e.clipRect(g),M="animate",b||(M="attr",this.plotBorder=b=e.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),r||b.attr({stroke:t.plotBorderColor,"stroke-width":t.plotBorderWidth||0,fill:"none"}),b[M](b.crisp(f,-b.strokeWidth())),this.isDirtyBox=!1,J(this,"afterDrawChartBox")}propFromSeries(){let t,e,i,s=this,r=s.options.chart,o=s.options.series;["inverted","angular","polar"].forEach(function(a){for(e=zr[r.type],i=r[a]||e&&e.prototype[a],t=o?.length;!i&&t--;)(e=zr[o[t].type])&&e.prototype[a]&&(i=!0);s[a]=i})}linkSeries(t){let e=this,i=e.series;i.forEach(function(s){s.linkedSeries.length=0}),i.forEach(function(s){let{linkedTo:r}=s.options,o=ps(r)&&(r===":previous"?i[s.index-1]:e.get(r));o&&o.linkedParent!==s&&(o.linkedSeries.push(s),s.linkedParent=o,o.enabledDataSorting&&s.setDataSortingOptions(),s.visible=s.options.visible??o.options.visible??s.visible)}),J(this,"afterLinkSeries",{isUpdating:t})}renderSeries(){this.series.forEach(function(t){t.translate(),t.render()})}render(){let t=this.axes,e=this.colorAxis,i=this.renderer,s=this.options.chart.axisLayoutRuns||2,r=c=>{c.forEach(d=>{d.visible&&d.render()})},o=0,a=!0,n,h=0;for(let c of(this.setTitle(),J(this,"beforeMargins"),this.getStacks?.(),this.getMargins(!0),this.setChartSize(),t)){let{options:d}=c,{labels:p}=d;if(this.hasCartesianSeries&&c.horiz&&c.visible&&p.enabled&&c.series.length&&c.coll!=="colorAxis"&&!this.polar){o=d.tickLength,c.createGroups();let u=new Ge(c,0,"",!0),f=u.createLabel("x",p);if(u.destroy(),f&&Nt(p.reserveSpace,!qe(d.crossing))&&(o=f.getBBox().height+p.distance+Math.max(d.offset||0,0)),o){f?.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-o,0);(a||n||s>1)&&h<s;){let c=this.plotWidth,d=this.plotHeight;for(let p of t)h===0?p.setScale():(p.horiz&&a||!p.horiz&&n)&&p.setTickInterval(!0);h===0?this.getAxisMargins():this.getMargins(),a=c/this.plotWidth>(h?1:1.1),n=d/this.plotHeight>(h?1:1.05),h++}this.drawChartBox(),this.hasCartesianSeries?r(t):e?.length&&r(e),this.seriesGroup||(this.seriesGroup=i.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(t){let e=this,i=ie(!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&&(Nr.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(s){e.credits=e.credits.destroy(),e.addCredits(s)})}destroy(){let t,e=this,i=e.axes,s=e.series,r=e.container,o=r?.parentNode;for(J(e,"destroy"),e.renderer.forExport?yc(Oe,e):Oe[e.index]=void 0,L.chartCount--,e.renderTo.removeAttribute("data-highcharts-chart"),Qa(e),t=i.length;t--;)i[t]=i[t].destroy();for(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(a=>{e[a]=e[a]?.destroy?.()}),r&&(r.innerHTML=at.emptyHTML,Qa(r),o&&xc(r)),Fr(e,function(a,n){delete e[n]})}firstRender(){let t=this,e=t.options;t.getContainer(),t.resetMargins(),t.setChartSize(),t.propFromSeries(),t.createAxes();let i=vc(e.series)?e.series:[];e.series=[],i.forEach(function(s){t.initSeries(s)}),t.linkSeries(),t.setSortedData(),J(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&&this.index!==void 0&&t.apply(this,[this])},this),J(this,"load"),J(this,"render"),ge(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.warnIfCSSNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:t,title:e}=this;t&&!this.accessibility&&(this.renderer.boxWrapper.attr({role:"img","aria-label":(e?.element.textContent||"").replace(/</g,"&lt;")}),t.accessibility&&t.accessibility.enabled===!1||cs('Highcharts warning: Consider including the "accessibility.js" module to make your chart more usable for people with disabilities. Set the "accessibility.enabled" option to false to remove this warning. See https://www.highcharts.com/docs/accessibility/accessibility-module.',!1,this))}warnIfCSSNotLoaded(){this.styledMode&&Nr.getComputedStyle(this.container).zIndex!=="0"&&cs(35,!1,this)}addSeries(t,e,i){let s,r=this;return t&&(e=Nt(e,!0),J(r,"addSeries",{options:t},function(){s=r.initSeries(t),r.isDirtyLegend=!0,r.linkSeries(),s.enabledDataSorting&&s.setData(t.data,!1),J(r,"afterAddSeries",{series:s}),e&&r.redraw(i)})),s}addAxis(t,e,i,s){return this.createAxis(e?"xAxis":"yAxis",{axis:t,redraw:i,animation:s})}addColorAxis(t,e,i){return this.createAxis("colorAxis",{axis:t,redraw:e,animation:i})}createAxis(t,e){let i=new Ye(this,e.axis,t);return Nt(e.redraw,!0)&&this.redraw(e.animation),i}showLoading(t){let e=this,i=e.options,s=i.loading,r=function(){o&&Vt(o,{left:e.plotLeft+"px",top:e.plotTop+"px",width:e.plotWidth+"px",height:e.plotHeight+"px"})},o=e.loadingDiv,a=e.loadingSpan;o||(e.loadingDiv=o=Wr("div",{className:"highcharts-loading highcharts-loading-hidden"},null,e.container)),a||(e.loadingSpan=a=Wr("span",{className:"highcharts-loading-inner"},null,o),Rr(e,"redraw",r)),o.className="highcharts-loading",at.setElementHTML(a,Nt(t,i.lang.loading,"")),!e.styledMode&&(Vt(o,fe(s.style,{zIndex:10})),Vt(a,s.labelStyle),e.loadingShown||(Vt(o,{opacity:0,display:""}),Ir(o,{opacity:s.style.opacity||.5},{duration:s.showDuration||0}))),e.loadingShown=!0,r()}hideLoading(){let t=this.options,e=this.loadingDiv;e&&(e.className="highcharts-loading highcharts-loading-hidden",this.styledMode||Ir(e,{opacity:0},{duration:t.loading.hideDuration||100,complete:function(){Vt(e,{display:"none"})}})),this.loadingShown=!1}update(t,e,i,s){let r,o,a,n=this,h={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle",caption:"setCaption"},c=t.isResponsiveOptions,d=[];J(n,"update",{options:t}),c||n.setResponsive(!1,!0),t=_a(t,n.options),n.userOptions=ie(n.userOptions,t);let p=t.chart;p&&(ie(!0,n.options.chart,p),this.setZoomOptions(),"className"in p&&n.setClassName(p.className),("inverted"in p||"polar"in p||"type"in p)&&(n.propFromSeries(),r=!0),"alignTicks"in p&&(r=!0),"events"in p&&qa(this,p),Fr(p,function(x,g){n.propsRequireUpdateSeries.indexOf("chart."+g)!==-1&&(o=!0),n.propsRequireDirtyBox.indexOf(g)!==-1&&(n.isDirtyBox=!0),n.propsRequireReflow.indexOf(g)!==-1&&(n.isDirtyBox=!0,c||(a=!0))}),!n.styledMode&&p.style&&n.renderer.setStyle(n.options.chart.style||{})),!n.styledMode&&t.colors&&(this.options.colors=t.colors),Fr(t,function(x,g){n[g]&&typeof n[g].update=="function"?n[g].update(x,!1):typeof n[h[g]]=="function"?n[h[g]](x):g!=="colors"&&n.collectionsWithUpdate.indexOf(g)===-1&&ie(!0,n.options[g],t[g]),g!=="chart"&&n.propsRequireUpdateSeries.indexOf(g)!==-1&&(o=!0)}),this.collectionsWithUpdate.forEach(function(x){t[x]&&(us(t[x]).forEach(function(g,m){let y,b=ge(g.id);b&&(y=n.get(g.id)),!y&&n[x]&&(y=n[x][Nt(g.index,m)])&&(b&&ge(y.options.id)||y.options.isInternal)&&(y=void 0),y&&y.coll===x&&(y.update(g,!1),i&&(y.touched=!0)),!y&&i&&n.collectionsWithInit[x]&&(n.collectionsWithInit[x][0].apply(n,[g].concat(n.collectionsWithInit[x][1]||[]).concat([!1])).touched=!0)}),i&&n[x].forEach(function(g){g.touched||g.options.isInternal?delete g.touched:d.push(g)}))}),d.forEach(function(x){x.chart&&x.remove&&x.remove(!1)}),r&&n.axes.forEach(function(x){x.update({},!1)}),o&&n.getSeriesOrderByLinks().forEach(function(x){x.chart&&x.update({},!1)},this);let u=p?.width,f=p&&(ps(p.height)?Ja(p.height,u||n.chartWidth):p.height);a||qe(u)&&u!==n.chartWidth||qe(f)&&f!==n.chartHeight?n.setSize(u,f,s):Nt(e,!0)&&n.redraw(s),J(n,"afterUpdate",{options:t,redraw:e,animation:s})}setSubtitle(t,e){this.applyDescription("subtitle",t),this.layOutTitles(e)}setCaption(t,e){this.applyDescription("caption",t),this.layOutTitles(e)}showResetZoom(){let t=this,e=Br.lang,i=t.zooming.resetButton,s=i.theme,r=i.relativeTo==="chart"||i.relativeTo==="spacingBox"?null:"plotBox";function o(){t.zoomOut()}J(this,"beforeShowResetZoom",null,function(){t.resetZoomButton=t.renderer.button(e.resetZoom,null,null,o,s).attr({align:i.position.align,title:e.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(i.position,!1,r)}),J(this,"afterShowResetZoom")}zoomOut(){J(this,"selection",{resetSelection:!0},()=>this.transform({reset:!0,trigger:"zoom"}))}pan(t,e){let i=this,s=typeof e=="object"?e:{enabled:e,type:"x"},r=s.type,o=r&&i[{x:"xAxis",xy:"axes",y:"yAxis"}[r]].filter(n=>n.options.panningEnabled&&!n.options.isInternal),a=i.options.chart;a?.panning&&(a.panning=s),J(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"}),Vt(i.container,{cursor:"move"})})}transform(t){let{axes:e=this.axes,event:i,from:s={},reset:r,selection:o,to:a={},trigger:n,allowResetButton:h=!0}=t,{inverted:c,time:d}=this;this.hoverPoints?.forEach(x=>x.setState()),J(this,"transform",t);let p=t.hasZoomed||!1,u,f;for(let x of e){let{horiz:g,len:m,minPointOffset:y=0,options:b,reversed:v}=x,k=g?"width":"height",w=g?"x":"y",M=Nt(a[k],x.len),S=Nt(s[k],x.len),C=10>Math.abs(M)?1:M/S,P=(s[w]||0)+S/2-x.pos,T=P-((a[w]??x.pos)+M/2-x.pos)/C,D=v&&!c||!v&&c?-1:1;if(!r&&(P<0||P>x.len))continue;let N=x.chart.polar||x.isOrdinal?0:y*D||0,z=x.toValue(T,!0),X=x.toValue(T+m/C,!0),W=z+N,R=X-N,ot=x.allExtremes;if(o&&o[x.coll].push({axis:x,min:Math.min(z,X),max:Math.max(z,X)}),W>R&&([W,R]=[R,W]),C===1&&!r&&x.coll==="yAxis"&&!ot){for(let ae of x.series){let Wt=ae.getExtremes(ae.getProcessedData(!0).modified.getColumn(ae.pointValKey||"y")||[],!0);ot??(ot={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE}),qe(Wt.dataMin)&&qe(Wt.dataMax)&&(ot.dataMin=Math.min(Wt.dataMin,ot.dataMin),ot.dataMax=Math.max(Wt.dataMax,ot.dataMax))}x.allExtremes=ot}let{dataMin:et,dataMax:Lt,min:G,max:Y}=fe(x.getExtremes(),ot||{}),Q=d.parse(b.min),U=d.parse(b.max),it=et??Q,gt=Lt??U,st=R-W,ut=x.categories?0:Math.min(st,gt-it),Et=it-ut*(ge(Q)?0:b.minPadding),It=gt+ut*(ge(U)?0:b.maxPadding),Ke=x.allowZoomOutside||C===1||n!=="zoom"&&C>1,qt=Math.min(Q??Et,Et,Ke?G:Et),St=Math.max(U??It,It,Ke?Y:It);(!x.isOrdinal||C!==1||r)&&(W<qt&&(W=qt,C>=1&&(R=W+st)),R>St&&(R=St,C>=1&&(W=R-st)),(r||x.series.length&&(W!==G||R!==Y)&&W>=qt&&R<=St)&&(o?o[x.coll].push({axis:x,min:W,max:R}):(x.isPanning=n!=="zoom",x.isPanning&&n!=="mousewheel"&&(f=!0),x.setExtremes(r?void 0:W,r?void 0:R,!1,!1,{move:T,trigger:n,scale:C}),!r&&(W>qt||R<St)&&(u=h)),p=!0),this.hasCartesianSeries||r||(u=h),i&&(this[g?"mouseDownX":"mouseDownY"]=i[g?"chartX":"chartY"]))}return p&&(o?J(this,"selection",o,()=>{delete t.selection,t.trigger="zoom",this.transform(t)}):(!u||f||this.resetZoomButton?!u&&this.resetZoomButton&&(this.resetZoomButton=this.resetZoomButton.destroy()):this.showResetZoom(),this.redraw(n==="zoom"&&(this.options.chart.animation??this.pointCount<100)))),p}}fe(me.prototype,{callbacks:[],collectionsWithInit:{xAxis:[me.prototype.addAxis,[!0]],yAxis:[me.prototype.addAxis,[!1]],series:[me.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"]});let{stop:Tc}=Mt,{composed:Cc}=L,{addEvent:xe,createElement:gs,css:Gr,defined:Yr,erase:Ac,merge:tn,pushUnique:en}=F;function Pc(){let l=this.scrollablePlotArea;(this.scrollablePixelsX||this.scrollablePixelsY)&&!l&&(this.scrollablePlotArea=l=new fi(this)),l?.applyFixed()}function sn(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class fi{static compose(t,e,i){en(Cc,this.compose)&&(xe(t,"afterInit",sn),xe(e,"afterSetChartSize",s=>this.afterSetSize(s.target,s)),xe(e,"render",Pc),xe(i,"show",sn))}static afterSetSize(t,e){let i,s,r,{minWidth:o,minHeight:a}=t.options.chart.scrollablePlotArea||{},{clipBox:n,plotBox:h,inverted:c,renderer:d}=t;if(!d.forExport)if(o?(t.scrollablePixelsX=i=Math.max(0,o-t.chartWidth),i&&(t.scrollablePlotBox=tn(t.plotBox),h.width=t.plotWidth+=i,n[c?"height":"width"]+=i,r=!0)):a&&(t.scrollablePixelsY=s=Math.max(0,a-t.chartHeight),Yr(s)&&(t.scrollablePlotBox=tn(t.plotBox),h.height=t.plotHeight+=s,n[c?"width":"height"]+=s,r=!1)),Yr(r)){if(!e.skipAxes)for(let p of t.axes)(p.horiz===r||t.hasParallelCoordinates&&p.coll==="yAxis")&&(p.setAxisSize(),p.setAxisTranslation())}else delete t.scrollablePlotBox}constructor(t){let e;const i=t.options.chart,s=ri.getRendererType(),r=i.scrollablePlotArea||{},o=this.moveFixedElements.bind(this),a={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};t.scrollablePixelsX&&(a.overflowX="auto"),t.scrollablePixelsY&&(a.overflowY="auto"),this.chart=t;const n=this.parentDiv=gs("div",{className:"highcharts-scrolling-parent"},{position:"relative"},t.renderTo),h=this.scrollingContainer=gs("div",{className:"highcharts-scrolling"},a,n),c=this.innerContainer=gs("div",{className:"highcharts-inner-container"},void 0,h),d=this.fixedDiv=gs("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(i.style?.zIndex||0)+2,top:0},void 0,!0),p=this.fixedRenderer=new s(d,t.chartWidth,t.chartHeight,i.style);this.mask=p.path().attr({fill:i.backgroundColor||"#fff","fill-opacity":r.opacity??.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),h.parentNode.insertBefore(d,h),Gr(t.renderTo,{overflow:"visible"}),xe(t,"afterShowResetZoom",o),xe(t,"afterApplyDrilldown",o),xe(t,"afterLayOutTitles",o),xe(h,"scroll",()=>{let{pointer:u,hoverPoint:f}=t;u&&(delete u.chartPosition,f&&(e=f),u.runPointActions(void 0,e,!0))}),c.appendChild(t.container)}applyFixed(){let{chart:t,fixedRenderer:e,isDirty:i,scrollingContainer:s}=this,{axisOffset:r,chartWidth:o,chartHeight:a,container:n,plotHeight:h,plotLeft:c,plotTop:d,plotWidth:p,scrollablePixelsX:u=0,scrollablePixelsY:f=0}=t,{scrollPositionX:x=0,scrollPositionY:g=0}=t.options.chart.scrollablePlotArea||{},m=o+u,y=a+f;e.setSize(o,a),(i??!0)&&(this.isDirty=!1,this.moveFixedElements()),Tc(t.container),Gr(n,{width:`${m}px`,height:`${y}px`}),t.renderer.boxWrapper.attr({width:m,height:y,viewBox:["0 0",m,y].join(" ")}),t.chartBackground?.attr({width:m,height:y}),Gr(s,{width:`${o}px`,height:`${a}px`}),Yr(i)||(s.scrollLeft=u*x,s.scrollTop=f*g);let b=d-r[0]-1,v=c-r[3]-1,k=d+h+r[2]+1,w=c+p+r[1]+1,M=c+p-u,S=d+h-f,C=[["M",0,0]];u?C=[["M",0,b],["L",c-1,b],["L",c-1,k],["L",0,k],["Z"],["M",M,b],["L",o,b],["L",o,k],["L",M,k],["Z"]]:f&&(C=[["M",v,0],["L",v,d-1],["L",w,d-1],["L",w,0],["Z"],["M",v,S],["L",v,a],["L",w,a],["L",w,S],["Z"]]),t.redrawTrigger!=="adjustHeight"&&this.mask.attr({d:C})}moveFixedElements(){let t,{container:e,inverted:i,scrollablePixelsX:s,scrollablePixelsY:r}=this.chart,o=this.fixedRenderer,a=fi.fixedSelectors;if(s&&!i?t=".highcharts-yaxis":s&&i||r&&!i?t=".highcharts-xaxis":r&&i&&(t=".highcharts-yaxis"),t&&!(this.chart.hasParallelCoordinates&&t===".highcharts-yaxis"))for(let n of[`${t}:not(.highcharts-radial-axis)`,`${t}-labels:not(.highcharts-radial-axis-labels)`])en(a,n);else for(let n of[".highcharts-xaxis",".highcharts-yaxis"])for(let h of[`${n}:not(.highcharts-radial-axis)`,`${n}-labels:not(.highcharts-radial-axis-labels)`])Ac(a,h);for(let n of a)[].forEach.call(e.querySelectorAll(n),h=>{(h.namespaceURI===o.SVG_NS?o.box:o.box.parentNode).appendChild(h),h.style.pointerEvents="auto"})}}fi.fixedSelectors=[".highcharts-breadcrumbs-group",".highcharts-contextbutton",".highcharts-caption",".highcharts-credits",".highcharts-drillup-button",".highcharts-legend",".highcharts-legend-checkbox",".highcharts-navigator-series",".highcharts-navigator-xaxis",".highcharts-navigator-yaxis",".highcharts-navigator",".highcharts-range-selector-group",".highcharts-reset-zoom",".highcharts-scrollbar",".highcharts-subtitle",".highcharts-title"];let{format:Oc}=Gt,{series:Lc}=pt,{destroyObjectProperties:Ec,fireEvent:rn,getAlignFactor:jr,isNumber:$r,pick:mi}=F,on=class{constructor(l,t,e,i,s){const r=l.chart.inverted,o=l.reversed;this.axis=l;const a=this.isNegative=!!e!=!!o;this.options=t=t||{},this.x=i,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=s,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:t.align||(r?a?"left":"right":"center"),verticalAlign:t.verticalAlign||(r?"middle":a?"bottom":"top"),y:t.y,x:t.x},this.textAlign=t.textAlign||(r?a?"right":"left":"center")}destroy(){Ec(this,this.axis)}render(l){let t=this.axis.chart,e=this.options,i=e.format,s=i?Oc(i,this,t):e.formatter.call(this);if(this.label)this.label.attr({text:s,visibility:"hidden"});else{this.label=t.renderer.label(s,null,void 0,e.shape,void 0,void 0,e.useHTML,!1,"stack-labels");let r={r:e.borderRadius||0,text:s,padding:mi(e.padding,5),visibility:"hidden"};t.styledMode||(r.fill=e.backgroundColor,r.stroke=e.borderColor,r["stroke-width"]=e.borderWidth,this.label.css(e.style||{})),this.label.attr(r),this.label.added||this.label.add(l)}this.label.labelrank=t.plotSizeY,rn(this,"afterRender")}setOffset(l,t,e,i,s,r){let{alignOptions:o,axis:a,label:n,options:h,textAlign:c}=this,d=a.chart,p=this.getStackBox({xOffset:l,width:t,boxBottom:e,boxTop:i,defaultX:s,xAxis:r}),{verticalAlign:u}=o;if(n&&p){let f=n.getBBox(void 0,0),x=n.padding,g=mi(h.overflow,"justify")==="justify",m;o.x=h.x||0,o.y=h.y||0;let{x:y,y:b}=this.adjustStackPosition({labelBox:f,verticalAlign:u,textAlign:c});p.x-=y,p.y-=b,n.align(o,!1,p),(m=d.isInsidePlot(n.alignAttr.x+o.x+y,n.alignAttr.y+o.y+b))||(g=!1),g&&Lc.prototype.justifyDataLabel.call(a,n,o,n.alignAttr,f,p),n.attr({x:n.alignAttr.x,y:n.alignAttr.y,rotation:h.rotation,rotationOriginX:f.width*jr(h.textAlign||"center"),rotationOriginY:f.height/2}),mi(!g&&h.crop,!0)&&(m=$r(n.x)&&$r(n.y)&&d.isInsidePlot(n.x-x+(n.width||0),n.y)&&d.isInsidePlot(n.x+x,n.y)),n[m?"show":"hide"]()}rn(this,"afterSetOffset",{xOffset:l,width:t})}adjustStackPosition({labelBox:l,verticalAlign:t,textAlign:e}){return{x:l.width/2+l.width/2*(2*jr(e)-1),y:l.height/2*2*(1-jr(t))}}getStackBox(l){let t=this.axis,e=t.chart,{boxTop:i,defaultX:s,xOffset:r,width:o,boxBottom:a}=l,n=t.stacking.usePercentage?100:mi(i,this.total,0),h=t.toPixels(n),c=l.xAxis||e.xAxis[0],d=mi(s,c.translate(this.x))+r,p=Math.abs(h-t.toPixels(a||$r(t.min)&&t.logarithmic&&t.logarithmic.lin2log(t.min)||0)),u=e.inverted,f=this.isNegative;return u?{x:(f?h:h-p)-e.plotLeft,y:c.height-d-o+c.top-e.plotTop,width:p,height:o}:{x:d+c.transB-e.plotLeft,y:(f?h-p:h)-e.plotTop,width:o,height:p}}},{getDeferredAnimation:Ic}=Mt,{series:{prototype:Dc}}=pt,{addEvent:an,correctFloat:xi,defined:nn,destroyObjectProperties:Bc,fireEvent:Nc,isNumber:Ur,objectEach:Le,pick:Vr}=F;function zc(){let l=this.inverted;this.axes.forEach(t=>{t.stacking?.stacks&&t.hasVisibleSeries&&(t.stacking.oldStacks=t.stacking.stacks)}),this.series.forEach(t=>{let e=t.xAxis?.options||{};t.options.stacking&&t.reserveSpace()&&(t.stackKey=[t.type,Vr(t.options.stack,""),l?e.top:e.left,l?e.height:e.width].join(","))})}function Rc(){let l=this.stacking;if(l){let t=l.stacks;Le(t,(e,i)=>{Bc(e),delete t[i]}),l.stackTotalGroup?.destroy()}}function Wc(){this.stacking||(this.stacking=new jc(this))}function Xc(l,t,e,i){return!nn(l)||l.x!==t||i&&l.stackKey!==i?l={x:t,index:0,key:i,stackKey:i}:l.index++,l.key=[e,t,l.index].join(","),l}function Hc(){let l,t=this,e=t.yAxis,i=t.stackKey||"",s=e.stacking.stacks,r=t.getColumn("x",!0),o=t.options.stacking,a=t[o+"Stacker"];a&&[i,"-"+i].forEach(n=>{let h=r.length,c,d,p;for(;h--;)c=r[h],l=t.getStackIndicator(l,c,t.index,n),d=s[n]?.[c],(p=d?.points[l.key||""])&&a.call(t,p,d,h)})}function Fc(l,t,e){let i=t.total?100/t.total:0;l[0]=xi(l[0]*i),l[1]=xi(l[1]*i),this.stackedYData[e]=l[1]}function Gc(l){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&this.chart.series.length>1?Dc.setStackedPoints.call(this,l,"group"):l.stacking.resetStacks())}function Yc(l,t){let e,i,s,r,o,a,n,h=t||this.options.stacking;if(!h||!this.reserveSpace()||({group:"xAxis"}[h]||"yAxis")!==l.coll)return;let c=this.getColumn("x",!0),d=this.getColumn(this.pointValKey||"y",!0),p=[],u=d.length,f=this.options,x=f.threshold||0,g=f.startFromThreshold?x:0,m=f.stack,y=t?`${this.type},${h}`:this.stackKey||"",b="-"+y,v=this.negStacks,k=l.stacking,w=k.stacks,M=k.oldStacks;for(k.stacksTouched+=1,n=0;n<u;n++){let S=c[n]||0,C=d[n],P=Ur(C)&&C||0;a=(e=this.getStackIndicator(e,S,this.index)).key||"",w[o=(i=v&&P<(g?0:x))?b:y]||(w[o]={}),w[o][S]||(M[o]?.[S]?(w[o][S]=M[o][S],w[o][S].total=null):w[o][S]=new on(l,l.options.stackLabels,!!i,S,m)),s=w[o][S],C!==null?(s.points[a]=s.points[this.index]=[Vr(s.cumulative,g)],nn(s.cumulative)||(s.base=a),s.touched=k.stacksTouched,e.index>0&&this.singleStacks===!1&&(s.points[a][0]=s.points[this.index+","+S+",0"][0])):(delete s.points[a],delete s.points[this.index]);let T=s.total||0;h==="percent"?(r=i?y:b,T=v&&w[r]?.[S]?(r=w[r][S]).total=Math.max(r.total||0,T)+Math.abs(P):xi(T+Math.abs(P))):h==="group"?Ur(C)&&T++:T=xi(T+P),h==="group"?s.cumulative=(T||1)-1:s.cumulative=xi(Vr(s.cumulative,g)+P),s.total=T,C!==null&&(s.points[a].push(s.cumulative),p[n]=s.cumulative,s.hasValidPoints=!0)}h==="percent"&&(k.usePercentage=!0),h!=="group"&&(this.stackedYData=p),k.oldStacks={}}class jc{constructor(t){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=t}buildStacks(){let t,e,i=this.axis,s=i.series,r=i.coll==="xAxis",o=i.options.reversedStacks,a=s.length;for(this.resetStacks(),this.usePercentage=!1,e=a;e--;)t=s[o?e:a-e-1],r&&t.setGroupedPoints(i),t.setStackedPoints(i);if(!r)for(e=0;e<a;e++)s[e].modifyStacks();Nc(i,"afterBuildStacks")}cleanStacks(){this.oldStacks&&(this.stacks=this.oldStacks,Le(this.stacks,t=>{Le(t,e=>{e.cumulative=e.total})}))}resetStacks(){Le(this.stacks,t=>{Le(t,(e,i)=>{Ur(e.touched)&&e.touched<this.stacksTouched?(e.destroy(),delete t[i]):(e.total=null,e.cumulative=null)})})}renderStackTotals(){let t=this.axis,e=t.chart,i=e.renderer,s=this.stacks,r=Ic(e,t.options.stackLabels?.animation||!1),o=this.stackTotalGroup=this.stackTotalGroup||i.g("stack-labels").attr({zIndex:6,opacity:0}).add();o.translate(e.plotLeft,e.plotTop),Le(s,a=>{Le(a,n=>{n.render(o)})}),o.animate({opacity:1},r)}}(Bs||(Bs={})).compose=function(l,t,e){let i=t.prototype,s=e.prototype;i.getStacks||(an(l,"init",Wc),an(l,"destroy",Rc),i.getStacks=zc,s.getStackIndicator=Xc,s.modifyStacks=Hc,s.percentStacker=Fc,s.setGroupedPoints=Gc,s.setStackedPoints=Yc)};let $c=Bs,{defined:Uc,merge:ln,isObject:Vc}=F;class hn extends Rt{drawGraph(){let t=this.options,e=(this.gappedPath||this.getGraphPath).call(this),i=this.chart.styledMode;[this,...this.zones].forEach((s,r)=>{let o,a=s.graph,n=a?"animate":"attr",h=s.dashStyle||t.dashStyle;a?(a.endX=this.preventGraphAnimation?null:e.xMap,a.animate({d:e})):e.length&&(s.graph=a=this.chart.renderer.path(e).addClass("highcharts-graph"+(r?` highcharts-zone-graph-${r-1} `:" ")+(r&&s.className||"")).attr({zIndex:1}).add(this.group)),a&&!i&&(o={stroke:!r&&t.lineColor||s.color||this.color||"#cccccc","stroke-width":t.lineWidth||0,fill:this.fillGraph&&this.color||"none"},h?o.dashstyle=h:t.linecap!=="square"&&(o["stroke-linecap"]=o["stroke-linejoin"]="round"),a[n](o).shadow(t.shadow&&ln({filterUnits:"userSpaceOnUse"},Vc(t.shadow)?t.shadow:{}))),a&&(a.startX=e.xMap,a.isArea=e.isArea)})}getGraphPath(t,e,i){let s=this,r=s.options,o=[],a=[],n,h=r.step,c=(t=t||s.points).reversed;return c&&t.reverse(),(h={right:1,center:2}[h]||h&&3)&&c&&(h=4-h),(t=this.getValidPoints(t,!1,r.nullInteraction||!(r.connectNulls&&!e&&!i))).forEach(function(d,p){let u,f=d.plotX,x=d.plotY,g=t[p-1],m=d.isNull||typeof x!="number";(d.leftCliff||g?.rightCliff)&&!i&&(n=!0),m&&!Uc(e)&&p>0?n=!r.connectNulls:m&&!e?n=!0:(p===0||n?u=[["M",d.plotX,d.plotY]]:s.getPointSpline?u=[s.getPointSpline(t,d,p)]:h?(u=h===1?[["L",g.plotX,x]]:h===2?[["L",(g.plotX+f)/2,g.plotY],["L",(g.plotX+f)/2,x]]:[["L",f,g.plotY]]).push(["L",f,x]):u=[["L",f,x]],a.push(d.x),h&&(a.push(d.x),h===2&&a.push(d.x)),o.push.apply(o,u),n=!1)}),o.xMap=a,s.graphPath=o,o}}hn.defaultOptions=ln(Rt.defaultOptions,{legendSymbol:"lineMarker"}),pt.registerSeriesType("line",hn);let{seriesTypes:{line:qr}}=pt,{extend:qc,merge:Kc,objectEach:Zc,pick:fs}=F;class Kr extends qr{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,a=i.area,n=a?"animate":"attr";a?(a.endX=this.preventGraphAnimation?null:t.xMap,a.animate({d:t})):(r.zIndex=0,(a=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,a.css({pointerEvents:this.stickyTracking?"none":"auto"})),a[n](r),a.startX=t.xMap,a.shiftUnit=e.step?2:1})}getGraphPath(t){let e,i,s,r=qr.prototype.getGraphPath,o=this.options,a=o.stacking,n=this.yAxis,h=[],c=[],d=this.index,p=n.stacking.stacks[this.stackKey],u=o.threshold,f=Math.round(n.getThreshold(o.threshold)),x=fs(o.connectNulls,a==="percent"),g=function(w,M,S){let C=t[w],P=a&&p[C.x].points[d],T=C[S+"Null"]||0,D=C[S+"Cliff"]||0,N,z,X=!0;D||T?(N=(T?P[0]:P[1])+D,z=P[0]+D,X=!!T):!a&&t[M]&&t[M].isNull&&(N=z=u),N!==void 0&&(c.push({plotX:e,plotY:N===null?f:n.getThreshold(N),isNull:X,isCliff:!0}),h.push({plotX:e,plotY:z===null?f:n.getThreshold(z),doCurve:!1}))};t=t||this.points,a&&(t=this.getStackPoints(t));for(let w=0,M=t.length;w<M;++w)a||(t[w].leftCliff=t[w].rightCliff=t[w].leftNull=t[w].rightNull=void 0),i=t[w].isNull,e=fs(t[w].rectPlotX,t[w].plotX),s=a?fs(t[w].yBottom,f):f,(!i||x)&&(x||g(w,w-1,"left"),i&&!a&&x||(c.push(t[w]),h.push({x:w,plotX:e,plotY:s})),x||g(w,w+1,"right"));let m=r.call(this,c,!0,!0);h.reversed=!0;let y=r.call(this,h,!0,!0),b=y[0];b&&b[0]==="M"&&(y[0]=["L",b[1],b[2]]);let v=m.concat(y);v.length&&v.push(["Z"]);let k=r.call(this,c,!1,x);return this.chart.series.length>1&&a&&c.some(w=>w.isCliff)&&(v.hasStackedCliffs=k.hasStackedCliffs=!0),v.xMap=m.xMap,this.areaPath=v,k}getStackPoints(t){let e=this,i=[],s=[],r=this.xAxis,o=this.yAxis,a=o.stacking.stacks[this.stackKey],n={},h=o.series,c=h.length,d=o.options.reversedStacks?1:-1,p=h.indexOf(e);if(t=t||this.points,this.options.stacking){for(let f=0;f<t.length;f++)t[f].leftNull=t[f].rightNull=void 0,n[t[f].x]=t[f];Zc(a,function(f,x){f.total!==null&&s.push(x)}),s.sort(function(f,x){return f-x});let u=h.map(f=>f.visible);s.forEach(function(f,x){let g=0,m,y;if(n[f]&&!n[f].isNull)i.push(n[f]),[-1,1].forEach(function(b){let v=b===1?"rightNull":"leftNull",k=a[s[x+b]],w=0;if(k){let M=p;for(;M>=0&&M<c;){let S=h[M].index;!(m=k.points[S])&&(S===e.index?n[f][v]=!0:u[M]&&(y=a[f].points[S])&&(w-=y[1]-y[0])),M+=d}}n[f][b===1?"rightCliff":"leftCliff"]=w});else{let b=p;for(;b>=0&&b<c;){let v=h[b].index;if(m=a[f].points[v]){g=m[1];break}b+=d}g=fs(g,0),g=o.translate(g,0,1,0,1),i.push({isNull:!0,plotX:r.translate(f,0,0,0,1),x:f,plotY:g,yBottom:g})}})}return i}}Kr.defaultOptions=Kc(qr.defaultOptions,{threshold:0,legendSymbol:"areaMarker"}),qc(Kr.prototype,{singleStacks:!1}),pt.registerSeriesType("area",Kr);let{line:dn}=pt.seriesTypes,{merge:_c,pick:ms}=F;class Zr extends dn{getPointSpline(t,e,i){let s,r,o,a,n=e.plotX||0,h=e.plotY||0,c=t[i-1],d=t[i+1];function p(f){return f&&!f.isNull&&f.doCurve!==!1&&!e.isCliff}if(p(c)&&p(d)){let f=c.plotX||0,x=c.plotY||0,g=d.plotX||0,m=d.plotY||0,y=0;s=(1.5*n+f)/2.5,r=(1.5*h+x)/2.5,o=(1.5*n+g)/2.5,a=(1.5*h+m)/2.5,o!==s&&(y=(a-r)*(o-n)/(o-s)+h-a),r+=y,a+=y,r>x&&r>h?(r=Math.max(x,h),a=2*h-r):r<x&&r<h&&(r=Math.min(x,h),a=2*h-r),a>m&&a>h?(a=Math.max(m,h),r=2*h-a):a<m&&a<h&&(a=Math.min(m,h),r=2*h-a),e.rightContX=o,e.rightContY=a,e.controlPoints={low:[s,r],high:[o,a]}}let u=["C",ms(c.rightContX,c.plotX,0),ms(c.rightContY,c.plotY,0),ms(s,n,0),ms(r,h,0),n,h];return c.rightContX=c.rightContY=void 0,u}}Zr.defaultOptions=_c(dn.defaultOptions),pt.registerSeriesType("spline",Zr);let cn=Zr,{area:Jc,area:{prototype:_r}}=pt.seriesTypes,{extend:Qc,merge:tp}=F;class Jr extends cn{}Jr.defaultOptions=tp(cn.defaultOptions,Jc.defaultOptions),Qc(Jr.prototype,{getGraphPath:_r.getGraphPath,getStackPoints:_r.getStackPoints,drawGraph:_r.drawGraph}),pt.registerSeriesType("areaspline",Jr);let{animObject:ep}=Mt,{parse:ip}=lt,{noop:sp}=L,{clamp:xs,crisp:ys,defined:pn,extend:un,fireEvent:gn,isArray:fn,isNumber:bs,merge:Qr,pick:yi,objectEach:rp}=F;class vs extends Rt{animate(t){let e,i,s=this,r=this.yAxis,o=r.pos,a=r.reversed,n=s.options,{clipOffset:h,inverted:c}=this.chart,d={},p=c?"translateX":"translateY";t&&h?(d.scaleY=.001,i=xs(r.toPixels(n.threshold||0),o,o+r.len),c?d.translateX=(i+=a?-Math.floor(h[0]):Math.ceil(h[2]))-r.len:d.translateY=i+=a?Math.ceil(h[0]):-Math.floor(h[2]),s.clipBox&&s.setClip(),s.group.attr(d)):(e=Number(s.group.attr(p)),s.group.animate({scaleY:1},un(ep(s.options.animation),{step:function(u,f){s.group&&(d[p]=e+f.pos*(o-e),s.group.attr(d))}})))}init(t,e){super.init.apply(this,arguments);let i=this;(t=i.chart).hasRendered&&t.series.forEach(function(s){s.type===i.type&&(s.isDirty=!0)})}getColumnMetrics(){let t=this,e=t.options,i=t.xAxis,s=t.yAxis,r=i.options.reversedStacks,o=i.reversed&&!r||!i.reversed&&r,a={},n,h=0;e.grouping===!1?h=1:t.chart.series.forEach(function(x){let g,m=x.yAxis,y=x.options;x.type===t.type&&x.reserveSpace()&&s.len===m.len&&s.pos===m.pos&&(y.stacking&&y.stacking!=="group"?(a[n=x.stackKey]===void 0&&(a[n]=h++),g=a[n]):y.grouping!==!1&&(g=h++),x.columnIndex=g)});let c=Math.min(Math.abs(i.transA)*(!i.brokenAxis?.hasBreaks&&i.ordinal?.slope||e.pointRange||i.closestPointRange||i.tickInterval||1),i.len),d=c*e.groupPadding,p=(c-2*d)/(h||1),u=Math.min(e.maxPointWidth||i.len,yi(e.pointWidth,p*(1-2*e.pointPadding))),f=(t.columnIndex||0)+ +!!o;return t.columnMetrics={width:u,offset:(p-u)/2+(d+f*p-c/2)*(o?-1:1),paddedWidth:p,columnCount:h},t.columnMetrics}crispCol(t,e,i,s){let r=this.borderWidth,o=this.chart.inverted;return s=ys(e+s,r,o)-(e=ys(e,r,o)),this.options.crisp&&(i=ys(t+i,r)-(t=ys(t,r))),{x:t,y:e,width:i,height:s}}adjustForMissingColumns(t,e,i,s){if(!i.isNull&&s.columnCount>1){let r=this.xAxis.series.filter(h=>h.visible).map(h=>h.index),o=0,a=0;rp(this.xAxis.stacking?.stacks,h=>{let c=typeof i.x=="number"?h[i.x.toString()]?.points:void 0,d=c?.[this.index],p={};if(c&&fn(d)){let u=this.index,f=Object.keys(c).filter(x=>!x.match(",")&&c[x]&&c[x].length>1).map(parseFloat).filter(x=>r.indexOf(x)!==-1).filter(x=>{let g=this.chart.series[x].options,m=g.stacking&&g.stack;if(pn(m)){if(bs(p[m]))return u===x&&(u=p[m]),!1;p[m]=x}return!0}).sort((x,g)=>g-x);o=f.indexOf(u),a=f.length}}),o=this.xAxis.reversed?a-1-o:o;let n=(a-1)*s.paddedWidth+e;t=(i.plotX||0)+n/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,r=t.borderWidth=yi(i.borderWidth,+!s),o=t.xAxis,a=t.yAxis,n=i.threshold,h=yi(i.minPointLength,5),c=t.getColumnMetrics(),d=c.width,p=t.pointXOffset=c.offset,u=t.dataMin,f=t.dataMax,x=t.translatedThreshold=a.getThreshold(n),g=t.barW=Math.max(d,1+2*r);i.pointPadding&&i.crisp&&(g=Math.ceil(g)),Rt.prototype.translate.apply(t),t.points.forEach(function(m){let y=yi(m.yBottom,x),b=999+Math.abs(y),v=m.plotX||0,k=xs(m.plotY,-b,a.len+b),w,M=Math.min(k,y),S=Math.max(k,y)-M,C=d,P=v+p,T=g;h&&Math.abs(S)<h&&(S=h,w=!a.reversed&&!m.negative||a.reversed&&m.negative,bs(n)&&bs(f)&&m.y===n&&f<=n&&(a.min||0)<n&&(u!==f||(a.max||0)<=n)&&(w=!w,m.negative=!m.negative),M=Math.abs(M-x)>h?y-h:x-(w?h:0)),pn(m.options.pointWidth)&&(P-=Math.round(((C=T=Math.ceil(m.options.pointWidth))-d)/2)),i.centerInCategory&&(P=t.adjustForMissingColumns(P,C,m,c)),m.barX=P,m.pointWidth=C,m.tooltipPos=e.inverted?[xs(a.len+a.pos-e.plotLeft-k,a.pos-e.plotLeft,a.len+a.pos-e.plotLeft),o.len+o.pos-e.plotTop-P-T/2,S]:[o.left-e.plotLeft+P+T/2,xs(k+a.pos-e.plotTop,a.pos-e.plotTop,a.len+a.pos-e.plotTop),S],m.shapeType=t.pointClass.prototype.shapeType||"roundedRect",m.shapeArgs=t.crispCol(P,M,T,m.isNull?0:S)}),gn(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(t,e){let i=this.options,s=this.pointAttrToOptions||{},r=s.stroke||"borderColor",o=s["stroke-width"]||"borderWidth",a,n,h,c=t&&t.color||this.color,d=t&&t[r]||i[r]||c,p=t&&t.options.dashStyle||i.dashStyle,u=t&&t[o]||i[o]||this[o]||0,f=t?.isNull&&i.nullInteraction?0:t?.opacity??i.opacity??1;t&&this.zones.length&&(n=t.getZone(),c=t.options.color||n&&(n.color||t.nonZonedColor)||this.color,n&&(d=n.borderColor||d,p=n.dashStyle||p,u=n.borderWidth||u)),e&&t&&(h=(a=Qr(i.states[e],t.options.states?.[e]||{})).brightness,c=a.color||h!==void 0&&ip(c).brighten(a.brightness).get()||c,d=a[r]||d,u=a[o]||u,p=a.dashStyle||p,f=yi(a.opacity,f));let x={fill:c,stroke:d,"stroke-width":u,opacity:f};return p&&(x.dashstyle=p),x}drawPoints(t=this.points){let e,i=this,s=this.chart,r=i.options,o=r.nullInteraction,a=s.renderer,n=r.animationLimit||250;t.forEach(function(h){let c=h.plotY,d=h.graphic,p=!!d,u=d&&s.pointCount<n?"animate":"attr";bs(c)&&(h.y!==null||o)?(e=h.shapeArgs,d&&h.hasNewShapeType()&&(d=d.destroy()),i.enabledDataSorting&&(h.startXPos=i.xAxis.reversed?-(e&&e.width||0):i.xAxis.width),!d&&(h.graphic=d=a[h.shapeType](e).add(h.group||i.group),d&&i.enabledDataSorting&&s.hasRendered&&s.pointCount<n&&(d.attr({x:h.startXPos}),p=!0,u="animate")),d&&p&&d[u](Qr(e)),s.styledMode||d[u](i.pointAttribs(h,h.selected&&"select")).shadow(h.allowShadow!==!1&&r.shadow),d&&(d.addClass(h.getClassName(),!0),d.attr({visibility:h.visible?"inherit":"hidden"}))):d&&(h.graphic=d.destroy())})}drawTracker(t=this.points){let e,i=this,s=i.chart,r=s.pointer,o=function(a){r?.normalize(a);let n=r?.getPointFromEvent(a);r&&n&&i.options.enableMouseTracking&&(s.isInsidePlot(a.chartX-s.plotLeft,a.chartY-s.plotTop,{visiblePlotOnly:!0})||r?.inClass(a.target,"highcharts-data-label"))&&(r.isDirectTouch=!0,n.onMouseOver(a))};t.forEach(function(a){e=fn(a.dataLabels)?a.dataLabels:a.dataLabel?[a.dataLabel]:[],a.graphic&&(a.graphic.element.point=a),e.forEach(function(n){(n.div||n.element).point=a})}),i._hasTracking||(i.trackerGroups?.reduce((a,n)=>(n==="dataLabelsGroup"?a.push(...i.dataLabelsGroups||[]):a.push(i[n]),a),[]).forEach(a=>{a&&(a.addClass("highcharts-tracker").on("mouseover",o).on("mouseout",function(n){r?.onTrackerMouseOut(n)}).on("touchstart",o),!s.styledMode&&i.options.cursor&&a.css({cursor:i.options.cursor}))}),i._hasTracking=!0),gn(this,"afterDrawTracker")}remove(){let t=this,e=t.chart;e.hasRendered&&e.series.forEach(function(i){i.type===t.type&&(i.isDirty=!0)}),Rt.prototype.remove.apply(t,arguments)}}vs.defaultOptions=Qr(Rt.defaultOptions,{borderRadius:3,centerInCategory:!1,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{halo:!1,brightness:.1},select:{color:"#cccccc",borderColor:"#000000"}},dataLabels:{align:void 0,verticalAlign:void 0,y:void 0},startFromThreshold:!0,stickyTracking:!1,tooltip:{distance:6},threshold:0,borderColor:"#ffffff"}),un(vs.prototype,{directTouch:!0,getSymbol:sp,negStacks:!0,trackerGroups:["group","dataLabelsGroup"]}),pt.registerSeriesType("column",vs);let ks=vs,{getDeferredAnimation:op}=Mt,{format:ap}=Gt,{defined:Ee,extend:mn,fireEvent:ws,getAlignFactor:xn,isArray:ye,isString:bi,merge:vi,objectEach:np,pick:ki,pInt:lp,splat:yn}=F;(function(l){function t(){return n(this).some(c=>c?.enabled)}function e(c,d,p,u,f){let{chart:x,enabledDataSorting:g}=this,m=this.isCartesian&&x.inverted,y=c.plotX,b=c.plotY,v=p.rotation||0,k=Ee(y)&&Ee(b)&&x.isInsidePlot(y,Math.round(b),{inverted:m,paneCoordinates:!0,series:this}),w=v===0&&ki(p.overflow,g?"none":"justify")==="justify",M=this.visible&&c.visible!==!1&&Ee(y)&&(c.series.forceDL||g&&!w||k||ki(p.inside,!!this.options.stacking)&&u&&x.isInsidePlot(y,m?u.x+1:u.y+u.height-1,{inverted:m,paneCoordinates:!0,series:this})),S=c.pos();if(M&&S){var C;let P=d.getBBox(),T=d.getBBox(void 0,0);if(u=mn({x:S[0],y:Math.round(S[1]),width:0,height:0},u||{}),p.alignTo==="plotEdges"&&this.isCartesian&&(u[m?"x":"y"]=0,u[m?"width":"height"]=this.yAxis?.len||0),mn(p,{width:P.width,height:P.height}),C=u,g&&this.xAxis&&!w&&this.setDataLabelStartPos(c,d,f,k,C),d.align(vi(p,{width:T.width,height:T.height}),!1,u,!1),d.alignAttr.x+=xn(p.align)*(T.width-P.width),d.alignAttr.y+=xn(p.verticalAlign)*(T.height-P.height),d[d.placed?"animate":"attr"]({"text-align":d.alignAttr["text-align"]||"center",x:d.alignAttr.x+(P.width-T.width)/2,y:d.alignAttr.y+(P.height-T.height)/2,rotationOriginX:(d.width||0)/2,rotationOriginY:(d.height||0)/2}),w&&u.height>=0)this.justifyDataLabel(d,p,d.alignAttr,P,u,f);else if(ki(p.crop,!0)){let{x:D,y:N}=d.alignAttr;M=x.isInsidePlot(D,N,{paneCoordinates:!0,series:this})&&x.isInsidePlot(D+P.width-1,N+P.height-1,{paneCoordinates:!0,series:this})}p.shape&&!v&&d[f?"attr":"animate"]({anchorX:S[0],anchorY:S[1]})}f&&g&&(d.placed=!1),M||g&&!w?(d.show(),d.placed=!0):(d.hide(),d.placed=!1)}function i(c,d){ws(this,"initDataLabelsGroup",{index:c,zIndex:d?.zIndex??6}),this.dataLabelsGroup=this.dataLabelsGroups?.[c];let p=this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",d?.zIndex??6,this.dataLabelsParentGroups?.[c]);return this.dataLabelsGroups||(this.dataLabelsGroups=[]),this.dataLabelsGroups[c]=p,this.dataLabelsGroup=this.dataLabelsGroups[0],p}function s(c,d,p){let u=!!this.hasRendered,f=this.initDataLabelsGroup(c,p).attr({opacity:+u});return!u&&f&&(this.visible&&f.show(),this.options.animation?f.animate({opacity:1},d):f.attr({opacity:1})),f}function r(c){let d;c=c||this.points;let p=this,u=p.chart,f=p.options,x=u.renderer,{backgroundColor:g,plotBackgroundColor:m}=u.options.chart,y=x.getContrast(bi(m)&&m||bi(g)&&g||"#000000"),b=n(p),{animation:v,defer:k}=b[0],w=k?op(u,v,p):{defer:0,duration:0};ws(this,"drawDataLabels"),p.hasDataLabels?.()&&c.forEach(M=>{let S=M.dataLabels||[],C=M.color||p.color;yn(a(b,M.dlOptions||M.options?.dataLabels)).forEach((T,D)=>{d=this.initDataLabels(D,w,T);let N=T.enabled&&(M.visible||M.dataLabelOnHidden)&&(!M.isNull||M.dataLabelOnNull)&&(function(it,gt){let st=gt.filter;if(st){let ut=st.operator,Et=it[st.property],It=st.value;return ut===">"&&Et>It||ut==="<"&&Et<It||ut===">="&&Et>=It||ut==="<="&&Et<=It||ut==="=="&&Et==It||ut==="==="&&Et===It||ut==="!="&&Et!=It||ut==="!=="&&Et!==It||!1}return!0})(M,T),{backgroundColor:z,borderColor:X,distance:W,style:R={}}=T,ot,et,Lt,G={},Y=S[D],Q=!Y,U;N&&(et=Ee(ot=ki(T[M.formatPrefix+"Format"],T.format))?ap(ot,M,u):(T[M.formatPrefix+"Formatter"]||T.formatter).call(M,T),Lt=T.rotation,!u.styledMode&&(R.color=ki(T.color,R.color,bi(p.color)?p.color:void 0,"#000000"),R.color==="contrast"?(z!=="none"&&(U=z),M.contrastColor=x.getContrast(U!=="auto"&&bi(U)&&U||(bi(C)?C:"")),R.color=U||!Ee(W)&&T.inside||0>lp(W||0)||f.stacking?M.contrastColor:y):delete M.contrastColor,f.cursor&&(R.cursor=f.cursor)),G={r:T.borderRadius||0,rotation:Lt,padding:T.padding,zIndex:1},u.styledMode||(G.fill=z==="auto"?M.color:z,G.stroke=X==="auto"?M.color:X,G["stroke-width"]=T.borderWidth),np(G,(it,gt)=>{it===void 0&&delete G[gt]})),!Y||N&&Ee(et)&&!!(Y.div||Y.text?.foreignObject)==!!T.useHTML&&(Y.rotation&&T.rotation||Y.rotation===T.rotation)||(Y=void 0,Q=!0),N&&Ee(et)&&et!==""&&(Y?G.text=et:(Y=x.label(et,0,0,T.shape,void 0,void 0,T.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+M.colorIndex+" "+(T.className||"")+(T.useHTML?" highcharts-tracker":"")),Y&&(Y.options=T,Y.attr(G),u.styledMode?R.width&&Y.css({width:R.width,textOverflow:R.textOverflow,whiteSpace:R.whiteSpace}):Y.css(R).shadow(T.shadow),ws(Y,"beforeAddingDataLabel",{labelOptions:T,point:M}),Y.added||Y.add(d),p.alignDataLabel(M,Y,T,void 0,Q),Y.isActive=!0,S[D]&&S[D]!==Y&&S[D].destroy(),S[D]=Y))});let P=S.length;for(;P--;)S[P]?.isActive?S[P].isActive=!1:(S[P]?.destroy(),S.splice(P,1));M.dataLabel=S[0],M.dataLabels=S}),ws(this,"afterDrawDataLabels")}function o(c,d,p,u,f,x){let g=this.chart,m=d.align,y=d.verticalAlign,b=c.box?0:c.padding||0,v=g.inverted?this.yAxis:this.xAxis,k=v?v.left-g.plotLeft:0,w=g.inverted?this.xAxis:this.yAxis,M=w?w.top-g.plotTop:0,{x:S=0,y:C=0}=d,P,T;return(P=(p.x||0)+b+k)<0&&(m==="right"&&S>=0?(d.align="left",d.inside=!0):S-=P,T=!0),(P=(p.x||0)+u.width-b+k)>g.plotWidth&&(m==="left"&&S<=0?(d.align="right",d.inside=!0):S+=g.plotWidth-P,T=!0),(P=p.y+b+M)<0&&(y==="bottom"&&C>=0?(d.verticalAlign="top",d.inside=!0):C-=P,T=!0),(P=(p.y||0)+u.height-b+M)>g.plotHeight&&(y==="top"&&C<=0?(d.verticalAlign="bottom",d.inside=!0):C+=g.plotHeight-P,T=!0),T&&(d.x=S,d.y=C,c.placed=!x,c.align(d,void 0,f)),T}function a(c,d){let p=[],u;if(ye(c)&&!ye(d))p=c.map(function(f){return vi(f,d)});else if(ye(d)&&!ye(c))p=d.map(function(f){return vi(c,f)});else if(ye(c)||ye(d)){if(ye(c)&&ye(d))for(u=Math.max(c.length,d.length);u--;)p[u]=vi(c[u],d[u])}else p=vi(c,d);return p}function n(c){let d=c.chart.options.plotOptions;return yn(a(a(d?.series?.dataLabels,d?.[c.type]?.dataLabels),c.options.dataLabels))}function h(c,d,p,u,f){let x=this.chart,g=x.inverted,m=this.xAxis,y=m.reversed,b=((g?d.height:d.width)||0)/2,v=c.pointWidth,k=v?v/2:0;d.startXPos=g?f.x:y?-b-k:m.width-b+k,d.startYPos=g?y?this.yAxis.height-b+k:-b-k:f.y,u?d.visibility==="hidden"&&(d.show(),d.attr({opacity:0}).animate({opacity:1})):d.attr({opacity:1}).animate({opacity:0},void 0,d.hide),x.hasRendered&&(p&&d.attr({x:d.startXPos,y:d.startYPos}),d.placed=!0)}l.compose=function(c){let d=c.prototype;d.initDataLabels||(d.initDataLabels=s,d.initDataLabelsGroup=i,d.alignDataLabel=e,d.drawDataLabels=r,d.justifyDataLabel=o,d.mergeArrays=a,d.setDataLabelStartPos=h,d.hasDataLabels=t)}})(Ns||(Ns={}));let Ms=Ns,{composed:hp}=L,{series:bn}=pt,{merge:dp,pushUnique:cp}=F;function pp(l,t,e,i,s){let{chart:r,options:o}=this,a=r.inverted,n=this.xAxis?.len||r.plotSizeX||0,h=this.yAxis?.len||r.plotSizeY||0,c=l.dlBox||l.shapeArgs,d=l.below??(l.plotY||0)>(this.translatedThreshold??h),p=e.inside??!!o.stacking;if(c){if(i=dp(c),e.overflow!=="allow"||e.crop!==!1||o.clip!==!1){i.y<0&&(i.height+=i.y,i.y=0);let u=i.y+i.height-h;u>0&&u<i.height-1&&(i.height-=u)}a&&(i={x:h-i.y-i.height,y:n-i.x-i.width,width:i.height,height:i.width}),p||(a?(i.x+=d?0:i.width,i.width=0):(i.y+=d?i.height:0,i.height=0))}e.align??(e.align=!a||p?"center":d?"right":"left"),e.verticalAlign??(e.verticalAlign=a||p?"middle":d?"top":"bottom"),bn.prototype.alignDataLabel.call(this,l,t,e,i,s),e.inside&&l.contrastColor&&t.css({color:l.contrastColor})}(zs||(zs={})).compose=function(l){Ms.compose(bn),cp(hp,"ColumnDataLabel")&&(l.prototype.alignDataLabel=pp)};let up=zs,{extend:gp,merge:fp}=F;class to extends ks{}to.defaultOptions=fp(ks.defaultOptions,{}),gp(to.prototype,{inverted:!0}),pt.registerSeriesType("bar",to);let{column:mp,line:vn}=pt.seriesTypes,{addEvent:xp,extend:yp,merge:bp}=F;class Ss extends vn{applyJitter(){let t=this,e=this.options.jitter,i=this.points.length;e&&this.points.forEach(function(s,r){["x","y"].forEach(function(o,a){if(e[o]&&!s.isNull){let n=`plot${o.toUpperCase()}`,h=t[`${o}Axis`],c=e[o]*h.transA;if(h&&!h.logarithmic){let d,p=Math.max(0,(s[n]||0)-c),u=Math.min(h.len,(s[n]||0)+c);s[n]=p+(u-p)*((d=1e4*Math.sin(r+a*i))-Math.floor(d)),o==="x"&&(s.clientX=s.plotX)}}})})}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}}Ss.defaultOptions=bp(vn.defaultOptions,{lineWidth:0,findNearestPointBy:"xy",jitter:{x:0,y:0},marker:{enabled:!0},tooltip:{headerFormat:'<span style="color:{point.color}">●</span> <span style="font-size: 0.8em"> {series.name}</span><br/>',pointFormat:"x: <b>{point.x}</b><br/>y: <b>{point.y}</b><br/>"}}),yp(Ss.prototype,{drawTracker:mp.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),xp(Ss,"afterTranslate",function(){this.applyJitter()}),pt.registerSeriesType("scatter",Ss);let{deg2rad:kn}=L,{fireEvent:vp,isNumber:eo,pick:Ts,relativeLength:kp}=F;(Oi=Rs||(Rs={})).getCenter=function(){let l=this.options,t=this.chart,e=2*(l.slicedOffset||0),i=t.plotWidth-2*e,s=t.plotHeight-2*e,r=l.center,o=Math.min(i,s),a=l.thickness,n,h=l.size,c=l.innerSize||0,d,p;typeof h=="string"&&(h=parseFloat(h)),typeof c=="string"&&(c=parseFloat(c));let u=[Ts(r?.[0],"50%"),Ts(r?.[1],"50%"),Ts(h&&h<0?void 0:l.size,"100%"),Ts(c&&c<0?void 0:l.innerSize||0,"0%")];for(!t.angular||this instanceof Rt||(u[3]=0),d=0;d<4;++d)p=u[d],n=d<2||d===2&&/%$/.test(p),u[d]=kp(p,[i,s,o,u[2]][d])+(n?e:0);return u[3]>u[2]&&(u[3]=u[2]),eo(a)&&2*a<u[2]&&a>0&&(u[3]=u[2]-2*a),vp(this,"afterGetCenter",{positions:u}),u},Oi.getStartAndEndRadians=function(l,t){let e=eo(l)?l:0,i=eo(t)&&t>e&&t-e<360?t:e+360;return{start:kn*(e+-90),end:kn*(i+-90)}};let wn=Rs,{setAnimation:wp}=Mt,{addEvent:Mn,defined:Mp,extend:Sp,isNumber:Tp,pick:Cp,relativeLength:Ap}=F;class Sn extends pe{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=t.chart.options.lang.pieSliceName);const s=r=>{this.slice(r.type==="select")};Mn(this,"select",s),Mn(this,"unselect",s)}isValid(){return Tp(this.y)&&this.y>=0}setVisible(t,e=!0){t!==this.visible&&this.update({visible:t??!this.visible},e,void 0,!1)}slice(t,e,i){let s=this.series;wp(i,s.chart),e=Cp(e,!0),this.sliced=this.options.sliced=t=Mp(t)?t:!this.sliced,s.options.data[s.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}Sp(Sn.prototype,{connectorShapes:{fixedOffset:function(l,t,e){let i=t.breakAt,s=t.touchingSliceAt,r=e.softConnector?["C",l.x+(l.alignment==="left"?-5:5),l.y,2*i.x-s.x,2*i.y-s.y,i.x,i.y]:["L",i.x,i.y];return[["M",l.x,l.y],r,["L",s.x,s.y]]},straight:function(l,t){let e=t.touchingSliceAt;return[["M",l.x,l.y],["L",e.x,e.y]]},crookedLine:function(l,t,e){let{angle:i=this.angle||0,breakAt:s,touchingSliceAt:r}=t,{series:o}=this,[a,n,h]=o.center,c=h/2,{plotLeft:d,plotWidth:p}=o.chart,u=l.alignment==="left",{x:f,y:x}=l,g=s.x;if(e.crookDistance){let y=Ap(e.crookDistance,1);g=u?a+c+(p+d-a-c)*(1-y):d+(a-c)*y}else g=a+(n-x)*Math.tan(i-Math.PI/2);let m=[["M",f,x]];return(u?g<=f&&g>=s.x:g>=f&&g<=s.x)&&m.push(["L",g,x]),m.push(["L",s.x,s.y],["L",r.x,r.y]),m}}});let{getStartAndEndRadians:Pp}=wn,{noop:Tn}=L,{clamp:Op,extend:Lp,fireEvent:Cn,merge:io,pick:Ep}=F;class so extends Rt{animate(t){let e=this,i=e.points,s=e.startAngleRad;t||i.forEach(function(r){let o=r.graphic,a=r.shapeArgs;o&&a&&(o.attr({r:Ep(r.startR,e.center&&e.center[3]/2),start:s,end:s}),o.animate({r:a.r,start:a.start,end:a.end},e.options.animation))})}drawEmpty(){let t,e,i=this.startAngleRad,s=this.endAngleRad,r=this.options;this.total===0&&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:_o.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,a=s.dataLabelPosition,n=a?.distance||0,h=Math.asin(Op((t-r[1])/(o+n),-1,1));return r[0]+Math.cos(h)*(o+n)*(e?-1:1)+(n>0?(e?-1:1)*(s.padding||0):0)}hasData(){return this.points.some(t=>t.visible)}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(a){let n={};e=a.graphic,!a.isNull&&e?(s=a.shapeArgs,t=a.getTranslate(),o.styledMode||(i=r.pointAttribs(a,a.selected&&"select")),a.delayedRendering?(e.setRadialReference(r.center).attr(s).attr(t),o.styledMode||e.attr(i).attr({"stroke-linejoin":"round"}),a.delayedRendering=!1):(e.setRadialReference(r.center),o.styledMode||io(!0,n,i),io(!0,n,s,t),e.animate(n)),e.attr({visibility:a.visible?"inherit":"hidden"}),e.addClass(a.getClassName(),!0)):e&&(a.graphic=e.destroy())})}sortByAngle(t,e){t.sort(function(i,s){return i.angle!==void 0&&(s.angle-i.angle)*e})}translate(t){Cn(this,"translate"),this.generatePoints();let e=this.options,i=e.slicedOffset,s=Pp(e.startAngle,e.endAngle),r=this.startAngleRad=s.start,o=(this.endAngleRad=s.end)-r,a=this.points,n=e.ignoreHiddenPoint,h=a.length,c,d,p,u,f,x,g,m=0;for(t||(this.center=t=this.getCenter()),x=0;x<h;x++){g=a[x],c=r+m*o,g.isValid()&&(!n||g.visible)&&(m+=g.percentage/100),d=r+m*o;let y={x:t[0],y:t[1],r:t[2]/2,innerR:t[3]/2,start:Math.round(1e3*c)/1e3,end:Math.round(1e3*d)/1e3};g.shapeType="arc",g.shapeArgs=y,(p=(d+c)/2)>1.5*Math.PI?p-=2*Math.PI:p<-Math.PI/2&&(p+=2*Math.PI),g.slicedTranslation={translateX:Math.round(Math.cos(p)*i),translateY:Math.round(Math.sin(p)*i)},u=Math.cos(p)*t[2]/2,f=Math.sin(p)*t[2]/2,g.tooltipPos=[t[0]+.7*u,t[1]+.7*f],g.half=+(p<-Math.PI/2||p>Math.PI/2),g.angle=p}Cn(this,"afterTranslate")}updateTotals(){let t=this.points,e=t.length,i=this.options.ignoreHiddenPoint,s,r,o=0;for(s=0;s<e;s++)(r=t[s]).isValid()&&(!i||r.visible)&&(o+=r.y);for(s=0,this.total=o;s<e;s++)(r=t[s]).percentage=o>0&&(r.visible||!i)?r.y/o*100:0,r.total=o}}so.defaultOptions=io(Rt.defaultOptions,{borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{connectorPadding:5,connectorShape:"crookedLine",crookDistance:void 0,distance:30,enabled:!0,formatter:function(){return this.isNull?void 0:this.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}),Lp(so.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:ks.prototype.drawTracker,getCenter:wn.getCenter,getSymbol:Tn,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointAttribs:ks.prototype.pointAttribs,pointClass:Sn,requireSorting:!1,searchPoint:Tn,trackerGroups:["group","dataLabelsGroup"]}),pt.registerSeriesType("pie",so);let{composed:Ip,noop:Dp}=L,{distribute:Bp}=zi,{series:An}=pt,{arrayMax:Np,clamp:Pn,defined:On,isNumber:zp,pick:Rp,pushUnique:Wp,relativeLength:Ln}=F;(function(l){let t={radialDistributionY:function(o,a){return(a.dataLabelPosition?.top||0)+o.distributeBox.pos},radialDistributionX:function(o,a,n,h,c){let d=c.dataLabelPosition;return o.getX(n<(d?.top||0)+2||n>(d?.bottom||0)-2?h:n,a.half,a,c)},justify:function(o,a,n,h){return h[0]+(o.half?-1:1)*(n+(a.dataLabelPosition?.distance||0))},alignToPlotEdges:function(o,a,n,h){let c=o.getBBox().width;return a?c+h:n-c-h},alignToConnectors:function(o,a,n,h){let c=0,d;return o.forEach(function(p){(d=p.dataLabel.getBBox().width)>c&&(c=d)}),a?c+h:n-c-h}};function e(o,a){let n=Math.PI/2,{start:h=0,end:c=0}=o.shapeArgs||{},d=o.angle||0;a>0&&h<n&&c>n&&d>n/2&&d<1.5*n&&(d=d<=n?Math.max(n/2,(h+n)/2):Math.min(1.5*n,(n+c)/2));let{center:p,options:u}=this,f=p[2]/2,x=Math.cos(d),g=Math.sin(d),m=p[0]+x*f,y=p[1]+g*f,b=Math.min((u.slicedOffset||0)+(u.borderWidth||0),a/5);return{natural:{x:m+x*a,y:y+g*a},computed:{},alignment:a<0?"center":o.half?"right":"left",connectorPosition:{angle:d,breakAt:{x:m+x*b,y:y+g*b},touchingSliceAt:{x:m,y}},distance:a}}function i(){let o=this,a=o.points,n=o.chart,h=n.plotWidth,c=n.plotHeight,d=n.plotLeft,p=Math.round(n.chartWidth/3),u=o.center,f=u[2]/2,x=u[1],g=[[],[]],m=[0,0,0,0],y=o.dataLabelPositioners,b,v,k,w=0;o.visible&&o.hasDataLabels?.()&&(a.forEach(M=>{(M.dataLabels||[]).forEach(S=>{S.shortened&&(S.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),S.shortened=!1)})}),An.prototype.drawDataLabels.apply(o),a.forEach(M=>{(M.dataLabels||[]).forEach((S,C)=>{let P=u[2]/2,T=S.options,D=Ln(T?.distance||0,P);C===0&&g[M.half].push(M),!On(T?.style?.width)&&S.getBBox().width>p&&(S.css({width:Math.round(.7*p)+"px"}),S.shortened=!0),S.dataLabelPosition=this.getDataLabelPosition(M,D),w=Math.max(w,D)})}),g.forEach((M,S)=>{let C=M.length,P=[],T,D,N=0,z;C&&(o.sortByAngle(M,S-.5),w>0&&(T=Math.max(0,x-f-w),D=Math.min(x+f+w,n.plotHeight),M.forEach(X=>{(X.dataLabels||[]).forEach(W=>{let R=W.dataLabelPosition;R&&R.distance>0&&(R.top=Math.max(0,x-f-R.distance),R.bottom=Math.min(x+f+R.distance,n.plotHeight),N=W.getBBox().height||21,W.lineHeight=n.renderer.fontMetrics(W.text||W).h+2*W.padding,X.distributeBox={target:(W.dataLabelPosition?.natural.y||0)-R.top+W.lineHeight/2,size:N,rank:X.y},P.push(X.distributeBox))})}),Bp(P,z=D+N-T,z/5)),M.forEach(X=>{(X.dataLabels||[]).forEach(W=>{let R=W.options||{},ot=X.distributeBox,et=W.dataLabelPosition,Lt=et?.natural.y||0,G=R.connectorPadding||0,Y=W.lineHeight||21,Q=(Y-W.getBBox().height)/2,U=0,it=Lt,gt="inherit";if(et){if(P&&On(ot)&&et.distance>0&&(ot.pos===void 0?gt="hidden":(k=ot.size,it=y.radialDistributionY(X,W))),R.justify)U=y.justify(X,W,f,u);else switch(R.alignTo){case"connectors":U=y.alignToConnectors(M,S,h,d);break;case"plotEdges":U=y.alignToPlotEdges(W,S,h,d);break;default:U=y.radialDistributionX(o,X,it-Q,Lt,W)}if(et.attribs={visibility:gt,align:et.alignment},et.posAttribs={x:U+(R.x||0)+({left:G,right:-G}[et.alignment]||0),y:it+(R.y||0)-Y/2},et.computed.x=U,et.computed.y=it-Q,Rp(R.crop,!0)){let st;U-(v=W.getBBox().width)<G&&S===1?(st=Math.round(v-U+G),m[3]=Math.max(st,m[3])):U+v>h-G&&S===0&&(st=Math.round(U+v-h+G),m[1]=Math.max(st,m[1])),it-k/2<0?m[0]=Math.max(Math.round(-it+k/2),m[0]):it+k/2>c&&(m[2]=Math.max(Math.round(it+k/2-c),m[2])),et.sideOverflow=st}}})}))}),(Np(m)===0||this.verifyDataLabelOverflow(m))&&(this.placeDataLabels(),this.points.forEach(M=>{M.dataLabels?.forEach((S,C)=>{let{connectorColor:P,connectorWidth:T=1}=S.options||{},D=S.dataLabelPosition;if(zp(T)){let N;b=S.connector,D&&D.distance>0?(N=!b,b||(S.connector=b=n.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+M.colorIndex+(M.className?" "+M.className:"")).add(o.dataLabelsGroups?.[C])),n.styledMode||b.attr({"stroke-width":T,stroke:P||M.color||"#666666"}),b[N?"attr":"animate"]({d:M.getConnectorPath(S)}),b.attr({visibility:D.attribs?.visibility})):b&&(S.connector=b.destroy())}})})))}function s(){this.points.forEach(o=>{(o.dataLabels||[]).forEach(a=>{let n=a.dataLabelPosition;n?(n.sideOverflow&&(a.css({width:Math.max(a.getBBox().width-n.sideOverflow,0)+"px",textOverflow:a.options?.style?.textOverflow||"ellipsis"}),a.shortened=!0),a.attr(n.attribs),a[a.moved?"animate":"attr"](n.posAttribs),a.moved=!0):a&&a.attr({y:-9999})}),delete o.distributeBox},this)}function r(o){let a=this.center,n=this.options,h=n.center,c=n.minSize||80,d=c,p=n.size!==null;return!p&&(h[0]!==null?d=Math.max(a[2]-Math.max(o[1],o[3]),c):(d=Math.max(a[2]-o[1]-o[3],c),a[0]+=(o[3]-o[1])/2),h[1]!==null?d=Pn(d,c,a[2]-Math.max(o[0],o[2])):(d=Pn(d,c,a[2]-o[0]-o[2]),a[1]+=(o[0]-o[2])/2),d<a[2]?(a[2]=d,a[3]=Math.min(n.thickness?Math.max(0,d-2*n.thickness):Math.max(0,Ln(n.innerSize||0,d)),d),this.translate(a),this.drawDataLabels&&this.drawDataLabels()):p=!0),p}l.compose=function(o){if(Ms.compose(An),Wp(Ip,"PieDataLabel")){let a=o.prototype;a.dataLabelPositioners=t,a.alignDataLabel=Dp,a.drawDataLabels=i,a.getDataLabelPosition=e,a.placeDataLabels=s,a.verifyDataLabelOverflow=r}}})(Ws||(Ws={}));let Xp=Ws;(De=Xs||(Xs={})).getCenterOfPoints=function(l){let t=l.reduce((e,i)=>(e.x+=i.x,e.y+=i.y,e),{x:0,y:0});return{x:t.x/l.length,y:t.y/l.length}},De.getDistanceBetweenPoints=function(l,t){return Math.sqrt(Math.pow(t.x-l.x,2)+Math.pow(t.y-l.y,2))},De.getAngleBetweenPoints=function(l,t){return Math.atan2(t.x-l.x,t.y-l.y)},De.pointInPolygon=function({x:l,y:t},e){let i=e.length,s,r,o=!1;for(s=0,r=i-1;s<i;r=s++){let[a,n]=e[s],[h,c]=e[r];n>t!=c>t&&l<(h-a)*(t-n)/(c-n)+a&&(o=!o)}return o};let{pointInPolygon:Hp}=Xs,{addEvent:Fp,getAlignFactor:Gp,fireEvent:En,objectEach:In,pick:Yp}=F;function Dn(l,t){let e,i=!1;return l&&(e=l.newOpacity,l.oldOpacity!==e&&(l.hasClass("highcharts-data-label")?(l[e?"removeClass":"addClass"]("highcharts-data-label-hidden"),i=!0,l[l.isOld?"animate":"attr"]({opacity:e},void 0,function(){t.styledMode||l.css({pointerEvents:e?"auto":"none"})}),En(t,"afterHideOverlappingLabel")):l.attr({opacity:e})),l.isOld=!0),i}let{defaultOptions:jp}=Ft,{noop:Bn}=L,{addEvent:Nn,extend:$p,isObject:zn,merge:Up,relativeLength:ro}=F,Vp={radius:0,scope:"stack",where:void 0},Rn=Bn,Wn=Bn;function qp(l,t,e,i,s={}){let r=Rn(l,t,e,i,s),{brStart:o=!0,brEnd:a=!0,innerR:n=0,r:h=e,start:c=0,end:d=0}=s;if(s.open||!s.borderRadius)return r;let p=d-c,u=Math.sin(p/2),f=Math.max(Math.min(ro(s.borderRadius||0,h-n),(h-n)/2,h*u/(1+u)),0),x=Math.min(f,p/Math.PI*2*n),g=r.length-1;for(;g--;)(o||g!==0&&g!==3)&&(a||g!==1&&g!==2)&&(function(m,y,b){let v,k,w,M=m[y],S=m[y+1];if(S[0]==="Z"&&(S=m[0]),(M[0]==="M"||M[0]==="L")&&S[0]==="A"?(v=M,k=S,w=!0):M[0]==="A"&&(S[0]==="M"||S[0]==="L")&&(v=S,k=M),v&&k&&k.params){let C=k[1],P=k[5],T=k.params,{start:D,end:N,cx:z,cy:X}=T,W=P?C-b:C+b,R=W?Math.asin(b/W):0,ot=P?R:-R,et=Math.cos(R)*W;w?(T.start=D+ot,v[1]=z+et*Math.cos(D),v[2]=X+et*Math.sin(D),m.splice(y+1,0,["A",b,b,0,0,1,z+C*Math.cos(T.start),X+C*Math.sin(T.start)])):(T.end=N-ot,k[6]=z+C*Math.cos(T.end),k[7]=X+C*Math.sin(T.end),m.splice(y+1,0,["A",b,b,0,0,1,z+et*Math.cos(N),X+et*Math.sin(N)])),k[4]=Math.abs(T.end-T.start)<Math.PI?0:1}})(r,g,g>1?x:f);return r}function Kp(){if(this.options.borderRadius&&!(this.chart.is3d&&this.chart.is3d())){let{options:l,yAxis:t}=this,e=l.stacking==="percent",i=jp.plotOptions?.[this.type]?.borderRadius,s=oo(l.borderRadius,zn(i)?i:{}),r=t.options.reversed;for(let o of this.points){let{shapeArgs:a}=o;if(o.shapeType==="roundedRect"&&a){let{width:n=0,height:h=0,y:c=0}=a,d=c,p=h;if(s.scope==="stack"&&o.stackTotal){let g=t.translate(e?100:o.stackTotal,!1,!0,!1,!0),m=t.translate(l.threshold||0,!1,!0,!1,!0),y=this.crispCol(0,Math.min(g,m),0,Math.abs(g-m));d=y.y,p=y.height}let u=(o.negative?-1:1)*(r?-1:1)==-1,f=s.where;!f&&this.is("waterfall")&&Math.abs((o.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(f="all"),f||(f="end");let x=Math.min(ro(s.radius,n),n/2,f==="all"?h/2:1/0)||0;f==="end"&&(u&&(d-=x),p+=x),$p(a,{brBoxHeight:p,brBoxY:d,r:x})}}}}function oo(l,t){return zn(l)||(l={radius:l||0}),Up(Vp,t,l)}function Zp(){let l=oo(this.options.borderRadius);for(let t of this.points){let e=t.shapeArgs;e&&(e.borderRadius=ro(l.radius,(e.r||0)-(e.innerR||0)))}}function _p(l,t,e,i,s={}){let r=Wn(l,t,e,i,s),{r:o=0,brBoxHeight:a=i,brBoxY:n=t}=s,h=t-n,c=n+a-(t+i),d=h-o>-.1?0:o,p=c-o>-.1?0:o,u=Math.max(d&&h,0),f=Math.max(p&&c,0),x=[l+d,t],g=[l+e-d,t],m=[l+e,t+d],y=[l+e,t+i-p],b=[l+e-p,t+i],v=[l+p,t+i],k=[l,t+i-p],w=[l,t+d],M=(S,C)=>Math.sqrt(Math.pow(S,2)-Math.pow(C,2));if(u){let S=M(d,d-u);x[0]-=S,g[0]+=S,m[1]=w[1]=t+d-u}if(i<d-u){let S=M(d,d-u-i);m[0]=y[0]=l+e-d+S,b[0]=Math.min(m[0],b[0]),v[0]=Math.max(y[0],v[0]),k[0]=w[0]=l+d-S,m[1]=w[1]=t+i}if(f){let S=M(p,p-f);b[0]+=S,v[0]-=S,y[1]=k[1]=t+i-p+f}if(i<p-f){let S=M(p,p-f-i);m[0]=y[0]=l+e-p+S,g[0]=Math.min(m[0],g[0]),x[0]=Math.max(y[0],x[0]),k[0]=w[0]=l+p-S,y[1]=k[1]=t}return r.length=0,r.push(["M",...x],["L",...g],["A",d,d,0,0,1,...m],["L",...y],["A",p,p,0,0,1,...b],["L",...v],["A",p,p,0,0,1,...k],["L",...w],["A",d,d,0,0,1,...x],["Z"]),r}let{diffObjects:Jp,extend:Qp,find:tu,merge:eu,pick:Cs,uniqueKey:iu}=F;function su(l,t){let e=l.condition;(e.callback||function(){return this.chartWidth<=Cs(e.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=Cs(e.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=Cs(e.minWidth,0)&&this.chartHeight>=Cs(e.minHeight,0)}).call(this)&&t.push(l._id)}function ru(l,t){let e=this.options.responsive,i=this.currentResponsive,s=[],r;!t&&e&&e.rules&&e.rules.forEach(n=>{n._id===void 0&&(n._id=iu()),this.matchResponsiveRule(n,s)},this);let o=eu(...s.map(n=>tu(e?.rules||[],h=>h._id===n)).map(n=>n?.chartOptions));o.isResponsiveOptions=!0,s=s.toString()||void 0;let a=i?.ruleIds;s!==a&&(i&&(this.currentResponsive=void 0,this.updatingResponsive=!0,this.update(i.undoOptions,l,!0),this.updatingResponsive=!1),s?((r=Jp(o,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:s,mergedOptions:o,undoOptions:r},this.updatingResponsive||this.update(o,l,!0)):this.currentResponsive=void 0)}(Hs||(Hs={})).compose=function(l){let t=l.prototype;return t.matchResponsiveRule||Qp(t,{matchResponsiveRule:su,setResponsive:ru}),l};let ou=Hs;L.AST=at,L.Axis=Ye,L.Chart=me,L.Color=lt,L.DataLabel=Ms,L.DataTableCore=ns,L.Fx=Ot,L.HTMLElement=Fe,L.Legend=Va,L.LegendSymbol=Ia,L.PlotLineOrBand=es,L.Point=pe,L.Pointer=Pa,L.RendererRegistry=ri,L.Series=Rt,L.SeriesRegistry=pt,L.StackItem=on,L.SVGElement=_t,L.SVGRenderer=ji,L.Templating=Gt,L.Tick=Ge,L.Time=Vs,L.Tooltip=Ma,L.animate=Mt.animate,L.animObject=Mt.animObject,L.chart=me.chart,L.color=lt.parse,L.dateFormat=Gt.dateFormat,L.defaultOptions=Ft.defaultOptions,L.distribute=zi.distribute,L.format=Gt.format,L.getDeferredAnimation=Mt.getDeferredAnimation,L.getOptions=Ft.getOptions,L.numberFormat=Gt.numberFormat,L.seriesType=pt.seriesType,L.setAnimation=Mt.setAnimation,L.setOptions=Ft.setOptions,L.stop=Mt.stop,L.time=Ft.defaultTime,L.timers=Ot.timers,{compose:function(l,t,e){let i=l.types.pie;if(!t.symbolCustomAttribs.includes("borderRadius")){let s=e.prototype.symbols;Nn(l,"afterColumnTranslate",Kp,{order:9}),Nn(i,"afterTranslate",Zp),t.symbolCustomAttribs.push("borderRadius","brBoxHeight","brBoxY","brEnd","brStart"),Rn=s.arc,Wn=s.roundedRect,s.arc=qp,s.roundedRect=_p}},optionsToObject:oo}.compose(L.Series,L.SVGElement,L.SVGRenderer),up.compose(L.Series.types.column),Ms.compose(L.Series),qh.compose(L.Axis),Fe.compose(L.SVGRenderer),Va.compose(L.Chart),_h.compose(L.Axis),(q=(Ct=L.Chart).prototype).hideOverlappingLabels||(q.hideOverlappingLabels=function(l){let t=l.length,e=(c,d)=>!(d.x>=c.x+c.width||d.x+d.width<=c.x||d.y>=c.y+c.height||d.y+d.height<=c.y),i=(c,d)=>{for(let p of c)if(Hp({x:p[0],y:p[1]},d))return!0;return!1},s,r,o,a,n,h=!1;for(let c=0;c<t;c++)(s=l[c])&&(s.oldOpacity=s.opacity,s.newOpacity=1,s.absoluteBox=(function(d){if(d&&(!d.alignAttr||d.placed)){let p=d.box?0:d.padding||0,u=d.alignAttr||{x:d.attr("x"),y:d.attr("y")},{height:f,polygon:x,width:g}=d.getBBox(),m=Gp(d.alignValue)*g;return d.width=g,d.height=f,{x:u.x+(d.parentGroup?.translateX||0)+p-m,y:u.y+(d.parentGroup?.translateY||0)+p,width:g-2*p,height:f-2*p,polygon:x}}})(s));l.sort((c,d)=>(d?.labelrank||0)-(c?.labelrank||0));for(let c=0;c<t;++c){a=(r=l[c])&&r.absoluteBox;let d=a?.polygon;for(let p=c+1;p<t;++p){n=(o=l[p])&&o.absoluteBox;let u=!1;if(a&&n&&r!==o&&r?.newOpacity!==0&&o?.newOpacity!==0&&r?.visibility!=="hidden"&&o?.visibility!=="hidden"){let f=n.polygon;if(d&&f&&d!==f?i(d,f)&&(u=!0):e(a,n)&&(u=!0),u){let x=r?.labelrank<o?.labelrank?r:o,g=x?.text;x&&(x.newOpacity=0),g?.element.querySelector("textPath")&&g.hide()}}}}for(let c of l)c&&Dn(c,this)&&(h=!0);h&&En(this,"afterHideAllOverlappingLabels")},Fp(Ct,"render",function(){let l=this,t=[];for(let e of l.labelCollectors||[])t=t.concat(e());for(let e of l.yAxis||[])e.stacking&&e.options.stackLabels&&!e.options.stackLabels.allowOverlap&&In(e.stacking.stacks,i=>{In(i,s=>{s.label&&t.push(s.label)})});for(let e of l.series||[])if(e.visible&&e.hasDataLabels?.()){let i=s=>{for(let r of s)r.visible&&(r.dataLabels||[]).forEach(o=>{let a=o.options||{};o.labelrank=Yp(a.labelrank,r.labelrank,r.shapeArgs?.height),a.allowOverlap??Number(a.distance)>0?(o.oldOpacity=o.opacity,o.newOpacity=1,Dn(o,l)):t.push(o)})};i(e.nodes||[]),i(e.points)}this.hideOverlappingLabels(t)})),Xp.compose(L.Series.types.pie),es.compose(L.Chart,L.Axis),Pa.compose(L.Chart),ou.compose(L.Chart),fi.compose(L.Axis,L.Chart,L.Series),$c.compose(L.Axis,L.Chart,L.Series),Ma.compose(L.Pointer),F.extend(L,F);let au=L;return co.default})())})(Ps)),Ps.exports}var Fn;function Bu(){return Fn||(Fn=1,(function(O,A){(function(j,V){O.exports=V(Du(),uu())})(self,((j,V)=>(()=>{var $={879:I=>{I.exports=j},744:I=>{I.exports=V}},B={};function E(I){var tt=B[I];if(tt!==void 0)return tt.exports;var Bt=B[I]={exports:{}};return $[I](Bt,Bt.exports,E),Bt.exports}E.n=I=>{var tt=I&&I.__esModule?()=>I.default:()=>I;return E.d(tt,{a:tt}),tt},E.d=(I,tt)=>{for(var Bt in tt)E.o(tt,Bt)&&!E.o(I,Bt)&&Object.defineProperty(I,Bt,{enumerable:!0,get:tt[Bt]})},E.o=(I,tt)=>Object.prototype.hasOwnProperty.call(I,tt),E.r=I=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(I,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(I,"__esModule",{value:!0})};var q={};return(()=>{E.r(q),E.d(q,{Chart:()=>Oi,default:()=>De});var I=E(879),tt=E.n(I),Bt=function Ct(_,ct){var mt=tt().isArray(_)?[]:{};function Be(jt,ne){!tt().isObject(jt,!ct)||tt().isClass(jt)||tt().isDOMElement(jt)?mt[ne]=jt:mt[ne]=Ct(jt,ct)}return tt().isArray(_)?_.forEach((function(jt,ne){return Be(jt,ne)})):tt().objectEach(_,Be),mt},Ai=E(744);function Pi(Ct){return(function(_){if(Array.isArray(_))return be(_)})(Ct)||(function(_){if(typeof Symbol<"u"&&_[Symbol.iterator]!=null||_["@@iterator"]!=null)return Array.from(_)})(Ct)||(function(_,ct){if(_){if(typeof _=="string")return be(_,ct);var mt=Object.prototype.toString.call(_).slice(8,-1);if(mt==="Object"&&_.constructor&&(mt=_.constructor.name),mt==="Map"||mt==="Set")return Array.from(_);if(mt==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(mt))return be(_,ct)}})(Ct)||(function(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
3
3
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)})()}function be(Ct,_){(_==null||_>Ct.length)&&(_=Ct.length);for(var ct=0,mt=new Array(_);ct<_;ct++)mt[ct]=Ct[ct];return mt}const _e=function(Ct){var _=this;return{render:function(){return(0,Ai.h)("div",{ref:"chart"})},beforeUnmount:function(){var ct;return _==null||(ct=_.chart)===null||ct===void 0?void 0:ct.destroy()},props:{constructorType:{type:String,default:"chart"},options:{type:Object,required:!0},callback:Function,updateArgs:{type:Array,default:function(){return[!0,!0]}},highcharts:{type:Object},deepCopyOnUpdate:{type:Boolean,default:!0}},watch:{options:{handler:function(ct){var mt;(mt=this.chart).update.apply(mt,[Bt(ct,this.deepCopyOnUpdate)].concat(Pi(this.updateArgs)))},deep:!0}},mounted:function(){var ct=this.highcharts||Ct;ct[this.constructorType]?this.options?this.chart=ct[this.constructorType](this.$refs.chart,Bt(this.options,!0),this.callback?this.callback:null):console.error('The "options" parameter was not passed.'):console.error("'".concat(this.constructorType,"' constructor-type is incorrect. Sometimes this error is caused by the fact, that the corresponding module wasn't imported."))}}};var Oi=_e(tt());function De(Ct){var _=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};Ct.component(_.tagName||"highcharts",_e(_.highcharts||tt()))}})(),q})()))})(ao)),ao.exports}var Ku=Bu();const Nu={class:"flex flex-col items-start justify-between p-4 md:flex-row md:items-center space-y-3 md:space-y-0","aria-label":"Table navigation"},zu={class:"text-sm font-normal text-gray-500 dark:text-gray-400"},Ru={class:"font-semibold text-gray-900 dark:text-white"},Wu={class:"font-semibold text-gray-900 dark:text-white"},Xu={class:"inline-flex items-stretch font-mono -space-x-px"},Hu={key:0},Fu=["onClick"],Gu={"aria-current":"page",class:"z-10 flex items-center justify-center border border-primary-300 bg-primary-50 px-3 py-2 text-sm leading-tight text-primary-600 dark:border-gray-700 dark:bg-gray-700 hover:bg-primary-100 dark:text-white hover:text-primary-700",hover:"cursor-pointer"},Yu=["onClick"],ju={key:1},As="flex items-center justify-center px-3 py-2 text-sm text-gray-500 bg-white border border-gray-300 hover:bg-gray-100 hover:text-gray-700 dark:bg-gray-800 dark:border-gray-700 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white leading-tight",Zu=ho({__name:"TablePagination",props:{pagination:null},emits:["update:pagination"],setup(O,{emit:A}){const j=O,V=A,$=Gn({get(){return j.pagination},set(B){V("update:pagination",B)}});return(B,E)=>(Tt(),At("nav",Nu,[Z("span",zu,[E[4]||(E[4]=Ci(" Showing ",-1)),Z("span",Ru,Xt(yt($).currentLeft)+"-"+Xt(Math.max(0,yt($).currentRight-1)),1),E[5]||(E[5]=Ci(" of ",-1)),Z("span",Wu,Xt(yt($).totalSize),1)]),Z("ul",Xu,[Z("li",null,[Z("a",{class:"ml-0 h-full flex items-center justify-center border border-gray-300 rounded-l-lg bg-white px-3 py-1.5 text-gray-500 dark:border-gray-700 dark:bg-gray-800 hover:bg-gray-100 dark:text-gray-400 hover:text-gray-700 dark:hover:bg-gray-700 dark:hover:text-white",hover:"cursor-pointer",onClick:E[0]||(E[0]=q=>yt($).onPageChange({diff:-1}))},[...E[6]||(E[6]=[Z("span",{class:"sr-only"},"Previous",-1),Z("svg",{class:"h-5 w-5","aria-hidden":"true",fill:"currentColor",viewbox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},[Z("path",{"fill-rule":"evenodd",d:"M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z","clip-rule":"evenodd"})],-1)])])]),yt($).currentPage!==0?(Tt(),At("li",Hu,[Z("a",{class:Dt(As),hover:"cursor-pointer",onClick:E[1]||(E[1]=q=>yt($).onPageChange({to:0}))}," 1 ")])):lo("",!0),(Tt(!0),At(Si,null,Ti(yt($).leftDecrPage,q=>(Tt(),At("li",{key:q},[Z("a",{class:Dt(As),hover:"cursor-pointer",onClick:I=>yt($).onPageChange({to:q})},Xt(q+1),9,Fu)]))),128)),Z("li",null,[Z("a",Gu,Xt(yt($).currentPage+1),1)]),(Tt(!0),At(Si,null,Ti(yt($).rightIncrPage,q=>(Tt(),At("li",{key:q},[Z("a",{hover:"cursor-pointer",class:Dt(As),onClick:I=>yt($).onPageChange({to:q})},Xt(q+1),9,Yu)]))),128)),yt($).currentPage!==yt($).totalPage-1&&yt($).totalPage>1?(Tt(),At("li",ju,[Z("a",{hover:"cursor-pointer",class:Dt(As),onClick:E[2]||(E[2]=q=>yt($).onPageChange({to:yt($).totalPage-1}))},Xt(yt($).totalPage),1)])):lo("",!0),Z("li",null,[Z("a",{class:"h-full flex items-center justify-center border border-gray-300 rounded-r-lg bg-white px-3 py-1.5 leading-tight text-gray-500 dark:border-gray-700 dark:bg-gray-800 hover:bg-gray-100 dark:text-gray-400 hover:text-gray-700 dark:hover:bg-gray-700 dark:hover:text-white",hover:"cursor-pointer",onClick:E[3]||(E[3]=q=>yt($).onPageChange({diff:1}))},[...E[7]||(E[7]=[Z("span",{class:"sr-only"},"Next",-1),Z("svg",{class:"h-5 w-5","aria-hidden":"true",fill:"currentColor",viewbox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},[Z("path",{"fill-rule":"evenodd",d:"M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z","clip-rule":"evenodd"})],-1)])])])])]))}});class _u{constructor(){this.totalSize=0,this.currentPage=0,this.pageSize=16}get totalPage(){return Math.floor((this.totalSize+this.pageSize-1)/this.pageSize)}get currentLeft(){return this.currentPage*this.pageSize}get currentRight(){return Math.min(this.totalSize,(this.currentPage+1)*this.pageSize)}get leftDecrPage(){const A=[];let j=1,V=this.currentPage-j;for(;V>0;)A.push(V),j=j<<1,V-=j;return A.reverse()}get rightIncrPage(){const A=[];let j=1,V=this.currentPage+j;for(;V+1<this.totalPage;)A.push(V),j=j<<1,V+=j;return A}onPageChange(A){const j=this.totalPage;let V=this.currentPage;if(A?.to!==void 0&&(V=A.to),A?.diff!==void 0){const $=A.diff;V=V+$}V<0||V>=j||(this.currentPage=V)}}export{_u as P,Vu as T,qu as _,Uu as a,Zu as b,Ku as h};