@xcpcio/board-app 0.53.1 → 0.53.2
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.
- package/dist/404.html +1 -1
- package/dist/assets/Balloon.vue_vue_type_script_setup_true_lang-CNaNh1cd.js +1 -0
- package/dist/assets/Board-D7W2MZ4t.js +1 -0
- package/dist/assets/{ContestStateBadge-7wQzxk8G.js → ContestStateBadge-fTJw-IjF.js} +1 -1
- package/dist/assets/Countdown-1A-2QJ7m.js +1 -0
- package/dist/assets/DataSourceInput.vue_vue_type_script_setup_true_lang-CXts-riZ.js +1 -0
- package/dist/assets/{Footer.vue_vue_type_script_setup_true_lang-DKX0udaw.js → Footer.vue_vue_type_script_setup_true_lang-Bk0nFBfB.js} +1 -1
- package/dist/assets/{NavBar-u32CnGNs.js → NavBar-C6sQ5txU.js} +1 -1
- package/dist/assets/Resolver-A6qSPE_R.js +25 -0
- package/dist/assets/{RightArrowIcon-C0kFrdwD.js → RightArrowIcon-ClOVVo1B.js} +1 -1
- package/dist/assets/{TheInput.vue_vue_type_script_setup_true_lang-JUZCaDDe.js → TheInput.vue_vue_type_script_setup_true_lang-D5spkHqx.js} +1 -1
- package/dist/assets/{Tooltip.vue_vue_type_script_setup_true_lang-BDZrFekD.js → Tooltip.vue_vue_type_script_setup_true_lang-FgOX36Lq.js} +1 -1
- package/dist/assets/{_...all_-DWAxHlYz.js → _...all_-BSvAEkM-.js} +1 -1
- package/dist/assets/_...all_-DmfbP4Ao.js +1 -0
- package/dist/assets/{_name_-9a9T81bP.js → _name_-AmLA_ZW6.js} +1 -1
- package/dist/assets/{about-4fkjm2Q9.js → about-tPNAra1j.js} +1 -1
- package/dist/assets/board-D0VTebOf.js +1 -0
- package/dist/assets/{board-layout-iVgXr9cV.js → board-layout-C2v-fo1W.js} +1 -1
- package/dist/assets/{constant-BloPFjTg.js → constant-b2ZZlr_Y.js} +1 -1
- package/dist/assets/{default-Dfp7T80x.js → default-D4907N0j.js} +1 -1
- package/dist/assets/{headless-mKevhAWY.js → headless-C_cFBCtG.js} +1 -1
- package/dist/assets/{home-DtVjeLJy.js → home-CRZ6rGwZ.js} +1 -1
- package/dist/assets/{index-BjMqMJ9d.js → index-BnOiKE-V.js} +1 -1
- package/dist/assets/index-Bvki346r.js +1 -0
- package/dist/assets/{index-DXoiO_9Q.js → index-CVZtA3I-.js} +3 -3
- package/dist/assets/{index-T0V7hFOw.js → index-ClcpF-3G.js} +1 -1
- package/dist/assets/index-D5Eq7tNN.js +1 -0
- package/dist/assets/{index-CJmQltjE.js → index-DQYGiW5A.js} +1 -1
- package/dist/assets/{index-w4oLejMc.js → index-Dar9HUtt.js} +1 -1
- package/dist/assets/{index-D5ZO7j9A.js → index-XjAdtRAz.js} +1 -1
- package/dist/assets/index-cu4LZbd6.js +1 -0
- package/dist/assets/{index-layout-DcvtlPA2.js → index-layout-Bp7ERlAB.js} +1 -1
- package/dist/assets/{pagination-EiFUbGj_.js → pagination-CHOfWwrE.js} +1 -1
- package/dist/assets/query-C-pLpLZb.js +1 -0
- package/dist/assets/{test-_7cPDLJE.js → test-Bw2mUsPy.js} +1 -1
- package/dist/assets/{use-vmodel-CkMPj1sw.js → use-vmodel-BKVjZ-1P.js} +1 -1
- package/dist/assets/{user-CAaqMJHl.js → user-o9hs8HNN.js} +1 -1
- package/dist/assets/{virtual_pwa-register-Dafkmfjm.js → virtual_pwa-register-8shrxAmh.js} +1 -1
- package/dist/index.html +1 -1
- package/dist/sw.js +1 -1
- package/package.json +3 -3
- package/src/components/board/Utility.vue +18 -3
- package/src/composables/useQueryBoardData.ts +28 -14
- package/src/pages/[...all].vue +15 -4
- package/src/shims.d.ts +1 -0
- package/vite.config.ts +8 -8
- package/dist/assets/Board-CdRX5Jlm.js +0 -1
- package/dist/assets/DataSourceInput.vue_vue_type_script_setup_true_lang-Bn95nFBm.js +0 -1
- package/dist/assets/_...all_-BQGY1hVe.js +0 -1
- package/dist/assets/board-loNE7y_y.js +0 -1
- package/dist/assets/index-7LWkxGEA.js +0 -1
- package/dist/assets/index-B6LpxvNH.js +0 -1
- package/dist/assets/index-CLjAIeOP.js +0 -25
- package/dist/assets/useQueryBoardData-DQ09XmE8.js +0 -1
- /package/dist/assets/{index-De6dfmWB.css → Countdown-De6dfmWB.css} +0 -0
- /package/dist/assets/{index-DRiWpQTB.css → Resolver-DRiWpQTB.css} +0 -0
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
var be=Object.defineProperty;var ve=(gt,pt,H)=>pt in gt?be(gt,pt,{enumerable:!0,configurable:!0,writable:!0,value:H}):gt[pt]=H;var _t=(gt,pt,H)=>ve(gt,typeof pt!="symbol"?pt+"":pt,H);import{d as ce,g as pe,a1 as ke,C as Se,o as Dt,c as It,b as wt,M as Yt,k as zt,n as Bt,V as Ht,O as Nt,F as Ut,E as Vt,j as $t,K as ie,s as se,v as Ce,x as we,Q as Me,a2 as Te,h as Pt}from"./index-DXoiO_9Q.js";const Ae={class:"relative bg-white dark:bg-gray-800 sm:p-4","rounded-sm":"","shadow-sm":""},Pe={class:"mb-4 border-b rounded-t pb-4 sm:mb-4 dark:border-gray-600",flex:"","items-center":"","justify-between":""},Oe={"text-gray-900":"","dark:text-white":"","text-xl":"","font-sans":"","font-semibold":"",italic:""},si=ce({__name:"Modal",props:{isHidden:{type:Boolean},title:null,width:null,mt:null},emits:["update:isHidden"],setup(gt,{emit:pt}){const H=gt,yt=pt,_=pe({get(){return H.isHidden},set(lt){yt("update:isHidden",lt)}});function q(){_.value=!0}const{Escape:J}=ke();return Se(J,lt=>{lt&&q()}),(lt,nt)=>(Dt(),It("div",{class:Bt(["md:inset-0 w-[100%] h-[100%]",[H.mt??"md:mt-32 sm:mt-16"]]),fixed:"","z-1997":"","of-x-hidden":"",flex:"","justify-center":"","items-start":""},[wt("div",{class:"w-[100%] h-[100%]",fixed:"","left-0":"","top-0":"","z-1998":"",style:{backgroundColor:"rgba(0, 0, 0, 0.5)"},onClick:q}),wt("div",{class:Bt(["relative p-4",[H.width??"w-[78%]"]]),"z-1999":""},[wt("div",Ae,[wt("div",Pe,[Yt(lt.$slots,"header",{},()=>[wt("h3",Oe,zt(H.title),1)]),wt("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:q},nt[0]||(nt[0]=[wt("svg",{class:"h-5 w-5",fill:"currentColor",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},[wt("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),wt("span",{"sr-only":""}," Close modal ",-1)]))]),Yt(lt.$slots,"default")])],2)],2))}}),Ot={openOptions(gt){gt.$refs.input.focus(),gt.showMenu=!0,gt.mousedownState=!1},blurInput(gt){gt.mousedownState||(gt.searchText="",gt.closeOptions()),gt.$emit("blur")},closeOptions(gt){gt.$refs.input.blur(),gt.showMenu=!1},prevItem(gt){const pt=gt.pointer-1,H=gt.$el.offsetHeight*pt;pt>=0&&(gt.pointer=pt),gt.$refs.menu.scrollTop=H},nextItem(gt){const pt=gt.pointer+1,H=gt.$el.offsetHeight*pt;pt<=gt.filteredOptions.length-1&&(gt.pointer=pt);const yt=gt.$refs.menu.offsetHeight,_=Math.ceil((gt.$refs.menu.scrollTop+gt.$el.offsetHeight)/yt),q=Math.ceil(H/yt);_!==q&&(gt.$refs.menu.scrollTop=(q-1)*gt.$refs.menu.offsetHeight)},enterItem(gt){const pt=gt.filteredOptions[gt.pointer],H=pt.disabled;pt&&!H&>.selectItem(pt)},pointerSet(gt,pt){gt.pointer=pt},pointerAdjust(gt){gt.pointer>=gt.filteredOptions.length-1&&(gt.pointer=gt.filteredOptions.length?gt.filteredOptions.length-1:0)},mousedownItem(gt){gt.mousedownState=!0}};function Le(gt){return new RegExp(gt.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"i")}const ue={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:(gt,pt)=>gt.match(Le(pt))}}},ge=(gt,pt)=>{const H=gt.__vccOpts||gt;for(const[yt,_]of pt)H[yt]=_;return H},Ee={name:"ModelSelect",mixins:[ue],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(gt){this.pointer=this.filteredOptions.findIndex(pt=>pt.value===this.optionValue(gt))},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 gt=this.placeholder;return this.selectedOption&&(gt=this.selectedOption.text),gt}},customAttrs(){try{if(Array.isArray(this.options))return this.options.map(gt=>this.customAttr(gt))}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(gt=>{try{return this.filterPredicate(gt.text,this.searchText)}catch{return!0}}):this.options},selectedOption(){return this.options.find(gt=>gt.value===this.optionValue(this.modelValue))}},methods:{deleteTextOrItem(){!this.searchText&&this.modelValue&&(this.selectItem({}),this.openOptions())},openOptions(){Ot.openOptions(this)},blurInput(){Ot.blurInput(this)},closeOptions(){Ot.closeOptions(this)},prevItem(){Ot.prevItem(this)},nextItem(){Ot.nextItem(this)},enterItem(){Ot.enterItem(this)},pointerSet(gt){Ot.pointerSet(this,gt)},pointerAdjust(){Ot.pointerAdjust(this)},mousedownItem(){Ot.mousedownItem(this)},selectItem(gt){this.searchText="",this.closeOptions(),typeof this.modelValue=="object"&&this.modelValue?this.$emit("update:modelValue",gt):(this.$emit("update:modelValue",gt.value),gt.value!==void 0&>.value===gt.text&&(this.searchText=gt.value))},optionValue(gt){return typeof gt=="object"&>!==null?gt.value:gt}}},De=wt("i",{class:"dropdown icon"},null,-1),Ie=["disabled","tabindex","id","name","value"],je=["data-vss-custom-attr"],Be=["data-vss-custom-attr","onClick","onMouseenter"];function Re(gt,pt,H,yt,_,q){return Dt(),It("div",{class:Bt(["ui fluid search selection dropdown",{"active visible":_.showMenu,error:gt.isError,disabled:gt.isDisabled}]),onClick:pt[11]||(pt[11]=(...J)=>q.openOptions&&q.openOptions(...J)),onFocus:pt[12]||(pt[12]=(...J)=>q.openOptions&&q.openOptions(...J))},[De,wt("input",{class:"search",autocomplete:"off",disabled:gt.isDisabled,tabindex:gt.isDisabled?-1:0,id:gt.id,name:gt.name,value:_.searchText,onInput:pt[0]||(pt[0]=J=>_.searchText=J.target.value),ref:"input",onFocus:pt[1]||(pt[1]=Ht((...J)=>q.openOptions&&q.openOptions(...J),["prevent"])),onKeyup:[pt[2]||(pt[2]=Nt((...J)=>q.closeOptions&&q.closeOptions(...J),["esc"])),pt[7]||(pt[7]=Nt(Ht((...J)=>q.enterItem&&q.enterItem(...J),["prevent"]),["enter"]))],onBlur:pt[3]||(pt[3]=(...J)=>q.blurInput&&q.blurInput(...J)),onKeydown:[pt[4]||(pt[4]=Nt((...J)=>q.prevItem&&q.prevItem(...J),["up"])),pt[5]||(pt[5]=Nt((...J)=>q.nextItem&&q.nextItem(...J),["down"])),pt[6]||(pt[6]=Nt(Ht(()=>{},["prevent"]),["enter"])),pt[8]||(pt[8]=Nt((...J)=>q.deleteTextOrItem&&q.deleteTextOrItem(...J),["delete"]))]},null,40,Ie),wt("div",{class:Bt(["text",q.textClass]),"data-vss-custom-attr":q.searchTextCustomAttr},zt(q.inputText),11,je),wt("div",{class:Bt(["menu",q.menuClass]),ref:"menu",onMousedown:pt[10]||(pt[10]=Ht(()=>{},["prevent"])),style:ie(q.menuStyle),tabindex:"-1"},[(Dt(!0),It(Ut,null,Vt(q.filteredOptions,(J,lt)=>(Dt(),It("div",{key:lt,class:Bt(["item",{selected:J.selected||_.pointer===lt,disabled:J.disabled}]),"data-vss-custom-attr":q.customAttrs[lt]?q.customAttrs[lt]:"",onClick:Ht(nt=>q.selectItem(J),["stop"]),onMousedown:pt[9]||(pt[9]=(...nt)=>q.mousedownItem&&q.mousedownItem(...nt)),onMouseenter:nt=>q.pointerSet(lt)},[Yt(gt.$slots,"default",{option:J,idx:lt},()=>[$t(zt(J.text),1)])],42,Be))),128))],38)],34)}const ri=ge(Ee,[["render",Re]]),ze={name:"MultiSelect",mixins:[ue],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(gt=>this.selectedOptions.findIndex(pt=>pt.value===gt.value)===-1)},filteredOptions(){return this.searchText?this.nonSelectOptions.filter(gt=>{try{return this.cleanSearch?this.filterPredicate(this.accentsTidy(gt.text),this.searchText):this.filterPredicate(gt.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(){Ot.openOptions(this)},blurInput(){Ot.blurInput(this)},closeOptions(){Ot.closeOptions(this)},prevItem(){Ot.prevItem(this),this.openOptions()},nextItem(){Ot.nextItem(this),this.openOptions()},enterItem(){Ot.enterItem(this)},pointerSet(gt){Ot.pointerSet(this,gt)},pointerAdjust(){Ot.pointerAdjust(this)},mousedownItem(){Ot.mousedownItem(this)},selectItem(gt){const pt=this.selectedOptions.concat(gt),H=pt.filter((yt,_)=>pt.indexOf(yt)===_);this.closeOptions(),this.searchText="",this.$emit("select",H,gt,"insert")},deleteItem(gt){const pt=this.selectedOptions.filter(H=>H.value!==gt.value);this.$emit("select",pt,gt,"delete")},accentsTidy(gt){let pt=gt.toString().toLowerCase();return pt=pt.replace(new RegExp("[àáâãäå]","g"),"a"),pt=pt.replace(new RegExp("æ","g"),"ae"),pt=pt.replace(new RegExp("ç","g"),"c"),pt=pt.replace(new RegExp("[èéêë]","g"),"e"),pt=pt.replace(new RegExp("[ìíîï]","g"),"i"),pt=pt.replace(new RegExp("ñ","g"),"n"),pt=pt.replace(new RegExp("[òóôõö]","g"),"o"),pt=pt.replace(new RegExp("œ","g"),"oe"),pt=pt.replace(new RegExp("[ùúûü]","g"),"u"),pt=pt.replace(new RegExp("[ýÿ]","g"),"y"),pt}}},Ne=wt("i",{class:"dropdown icon"},null,-1),We=["data-vss-custom-attr"],He=["onClick"],Ge=["disabled","tabindex","id","name"],Xe=["data-vss-custom-attr","onClick","onMouseenter"];function Fe(gt,pt,H,yt,_,q){return Dt(),It("div",{class:Bt(["ui fluid search dropdown selection multiple",{"active visible":_.showMenu,error:gt.isError,disabled:gt.isDisabled}]),onClick:pt[11]||(pt[11]=(...J)=>q.openOptions&&q.openOptions(...J)),onFocus:pt[12]||(pt[12]=(...J)=>q.openOptions&&q.openOptions(...J))},[Ne,H.hideSelectedOptions?se("",!0):(Dt(!0),It(Ut,{key:0},Vt(H.selectedOptions,(J,lt)=>(Dt(),It("a",{key:lt,class:"ui label transition visible",style:{display:"inline-block !important"},"data-vss-custom-attr":H.customAttr(J)},[Yt(gt.$slots,"selected",{option:J,idx:lt},()=>[$t(zt(J.text),1),wt("i",{class:"delete icon",onClick:nt=>q.deleteItem(J)},null,8,He)])],8,We))),128)),Ce(wt("input",{class:"search",autocomplete:"off",disabled:gt.isDisabled,tabindex:gt.isDisabled?-1:0,id:gt.id,name:gt.name,"onUpdate:modelValue":pt[0]||(pt[0]=J=>_.searchText=J),ref:"input",style:ie(q.inputWidth),onFocus:pt[1]||(pt[1]=Ht((...J)=>q.openOptions&&q.openOptions(...J),["prevent"])),onKeyup:[pt[2]||(pt[2]=Nt((...J)=>q.closeOptions&&q.closeOptions(...J),["esc"])),pt[7]||(pt[7]=Nt(Ht((...J)=>q.enterItem&&q.enterItem(...J),["prevent"]),["enter"]))],onBlur:pt[3]||(pt[3]=(...J)=>q.blurInput&&q.blurInput(...J)),onKeydown:[pt[4]||(pt[4]=Nt((...J)=>q.prevItem&&q.prevItem(...J),["up"])),pt[5]||(pt[5]=Nt((...J)=>q.nextItem&&q.nextItem(...J),["down"])),pt[6]||(pt[6]=Nt(Ht(()=>{},["prevent"]),["enter"])),pt[8]||(pt[8]=Nt((...J)=>q.deleteTextOrLastItem&&q.deleteTextOrLastItem(...J),["delete"]))]},null,44,Ge),[[we,_.searchText]]),wt("div",{class:Bt(["text",q.textClass])},zt(q.inputText),3),wt("div",{class:Bt(["menu",q.menuClass]),ref:"menu",onMousedown:pt[10]||(pt[10]=Ht(()=>{},["prevent"])),style:ie(q.menuStyle),tabindex:"-1"},[(Dt(!0),It(Ut,null,Vt(q.filteredOptions,(J,lt)=>(Dt(),It("div",{key:lt,class:Bt(["item",{selected:J.selected||_.pointer===lt,disabled:J.disabled}]),"data-vss-custom-attr":H.customAttr(J),onClick:Ht(nt=>q.selectItem(J),["stop"]),onMousedown:pt[9]||(pt[9]=(...nt)=>q.mousedownItem&&q.mousedownItem(...nt)),onMouseenter:nt=>q.pointerSet(lt)},[Yt(gt.$slots,"default",{option:J,idx:lt},()=>[$t(zt(J.text),1)])],42,Xe))),128))],38)],34)}const oi=ge(ze,[["render",Fe]]);var fe={exports:{}},me={exports:{}};(function(gt){(function(pt,H){gt.exports?(H.default=H,gt.exports=pt&&pt.document?H(pt):H):(pt.Highcharts&&pt.Highcharts.error(16,!0),pt.Highcharts=H(pt))})(typeof window<"u"?window:Me,function(pt){var H={};function yt(_,q,J,lt){!_.hasOwnProperty(q)&&(_[q]=lt.apply(null,J),pt&&typeof CustomEvent=="function"&&pt.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:q,module:_[q]}})))}return yt(H,"Core/Globals.js",[],function(){var _,q;return(q=_||(_={})).SVG_NS="http://www.w3.org/2000/svg",q.product="Highcharts",q.version="11.4.8",q.win=pt!==void 0?pt:{},q.doc=q.win.document,q.svg=q.doc&&q.doc.createElementNS&&!!q.doc.createElementNS(q.SVG_NS,"svg").createSVGRect,q.userAgent=q.win.navigator&&q.win.navigator.userAgent||"",q.isChrome=q.win.chrome,q.isFirefox=q.userAgent.indexOf("Firefox")!==-1,q.isMS=/(edge|msie|trident)/i.test(q.userAgent)&&!q.win.opera,q.isSafari=!q.isChrome&&q.userAgent.indexOf("Safari")!==-1,q.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(q.userAgent),q.isWebKit=q.userAgent.indexOf("AppleWebKit")!==-1,q.deg2rad=2*Math.PI/360,q.hasBidiBug=q.isFirefox&&4>parseInt(q.userAgent.split("Firefox/")[1],10),q.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],q.noop=function(){},q.supportsPassiveEvents=function(){let J=!1;if(!q.isMS){let lt=Object.defineProperty({},"passive",{get:function(){J=!0}});q.win.addEventListener&&q.win.removeEventListener&&(q.win.addEventListener("testPassive",q.noop,lt),q.win.removeEventListener("testPassive",q.noop,lt))}return J}(),q.charts=[],q.composed=[],q.dateFormats={},q.seriesTypes={},q.symbolSizes={},q.chartCount=0,_}),yt(H,"Core/Utilities.js",[H["Core/Globals.js"]],function(_){let q,{charts:J,doc:lt,win:nt}=_;function st(e,t,r,a){let m=t?"Highcharts error":"Highcharts warning";e===32&&(e=`${m}: Deprecated member`);let b=I(e),h=b?`${m} #${e}: www.highcharts.com/errors/${e}/`:e.toString();if(a!==void 0){let A="";b&&(h+="?"),k(a,function(Y,f){A+=`
|
|
1
|
+
var be=Object.defineProperty;var ve=(gt,pt,H)=>pt in gt?be(gt,pt,{enumerable:!0,configurable:!0,writable:!0,value:H}):gt[pt]=H;var _t=(gt,pt,H)=>ve(gt,typeof pt!="symbol"?pt+"":pt,H);import{d as ce,g as pe,a1 as ke,C as Se,o as Dt,c as It,b as wt,M as Yt,k as zt,n as Bt,V as Ht,O as Nt,F as Ut,E as Vt,j as $t,K as ie,s as se,v as Ce,x as we,Q as Me,a2 as Te,h as Pt}from"./index-CVZtA3I-.js";const Ae={class:"relative bg-white dark:bg-gray-800 sm:p-4","rounded-sm":"","shadow-sm":""},Pe={class:"mb-4 border-b rounded-t pb-4 sm:mb-4 dark:border-gray-600",flex:"","items-center":"","justify-between":""},Oe={"text-gray-900":"","dark:text-white":"","text-xl":"","font-sans":"","font-semibold":"",italic:""},si=ce({__name:"Modal",props:{isHidden:{type:Boolean},title:null,width:null,mt:null},emits:["update:isHidden"],setup(gt,{emit:pt}){const H=gt,yt=pt,_=pe({get(){return H.isHidden},set(lt){yt("update:isHidden",lt)}});function q(){_.value=!0}const{Escape:J}=ke();return Se(J,lt=>{lt&&q()}),(lt,nt)=>(Dt(),It("div",{class:Bt(["md:inset-0 w-[100%] h-[100%]",[H.mt??"md:mt-32 sm:mt-16"]]),fixed:"","z-1997":"","of-x-hidden":"",flex:"","justify-center":"","items-start":""},[wt("div",{class:"w-[100%] h-[100%]",fixed:"","left-0":"","top-0":"","z-1998":"",style:{backgroundColor:"rgba(0, 0, 0, 0.5)"},onClick:q}),wt("div",{class:Bt(["relative p-4",[H.width??"w-[78%]"]]),"z-1999":""},[wt("div",Ae,[wt("div",Pe,[Yt(lt.$slots,"header",{},()=>[wt("h3",Oe,zt(H.title),1)]),wt("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:q},nt[0]||(nt[0]=[wt("svg",{class:"h-5 w-5",fill:"currentColor",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},[wt("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),wt("span",{"sr-only":""}," Close modal ",-1)]))]),Yt(lt.$slots,"default")])],2)],2))}}),Ot={openOptions(gt){gt.$refs.input.focus(),gt.showMenu=!0,gt.mousedownState=!1},blurInput(gt){gt.mousedownState||(gt.searchText="",gt.closeOptions()),gt.$emit("blur")},closeOptions(gt){gt.$refs.input.blur(),gt.showMenu=!1},prevItem(gt){const pt=gt.pointer-1,H=gt.$el.offsetHeight*pt;pt>=0&&(gt.pointer=pt),gt.$refs.menu.scrollTop=H},nextItem(gt){const pt=gt.pointer+1,H=gt.$el.offsetHeight*pt;pt<=gt.filteredOptions.length-1&&(gt.pointer=pt);const yt=gt.$refs.menu.offsetHeight,_=Math.ceil((gt.$refs.menu.scrollTop+gt.$el.offsetHeight)/yt),q=Math.ceil(H/yt);_!==q&&(gt.$refs.menu.scrollTop=(q-1)*gt.$refs.menu.offsetHeight)},enterItem(gt){const pt=gt.filteredOptions[gt.pointer],H=pt.disabled;pt&&!H&>.selectItem(pt)},pointerSet(gt,pt){gt.pointer=pt},pointerAdjust(gt){gt.pointer>=gt.filteredOptions.length-1&&(gt.pointer=gt.filteredOptions.length?gt.filteredOptions.length-1:0)},mousedownItem(gt){gt.mousedownState=!0}};function Le(gt){return new RegExp(gt.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"i")}const ue={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:(gt,pt)=>gt.match(Le(pt))}}},ge=(gt,pt)=>{const H=gt.__vccOpts||gt;for(const[yt,_]of pt)H[yt]=_;return H},Ee={name:"ModelSelect",mixins:[ue],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(gt){this.pointer=this.filteredOptions.findIndex(pt=>pt.value===this.optionValue(gt))},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 gt=this.placeholder;return this.selectedOption&&(gt=this.selectedOption.text),gt}},customAttrs(){try{if(Array.isArray(this.options))return this.options.map(gt=>this.customAttr(gt))}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(gt=>{try{return this.filterPredicate(gt.text,this.searchText)}catch{return!0}}):this.options},selectedOption(){return this.options.find(gt=>gt.value===this.optionValue(this.modelValue))}},methods:{deleteTextOrItem(){!this.searchText&&this.modelValue&&(this.selectItem({}),this.openOptions())},openOptions(){Ot.openOptions(this)},blurInput(){Ot.blurInput(this)},closeOptions(){Ot.closeOptions(this)},prevItem(){Ot.prevItem(this)},nextItem(){Ot.nextItem(this)},enterItem(){Ot.enterItem(this)},pointerSet(gt){Ot.pointerSet(this,gt)},pointerAdjust(){Ot.pointerAdjust(this)},mousedownItem(){Ot.mousedownItem(this)},selectItem(gt){this.searchText="",this.closeOptions(),typeof this.modelValue=="object"&&this.modelValue?this.$emit("update:modelValue",gt):(this.$emit("update:modelValue",gt.value),gt.value!==void 0&>.value===gt.text&&(this.searchText=gt.value))},optionValue(gt){return typeof gt=="object"&>!==null?gt.value:gt}}},De=wt("i",{class:"dropdown icon"},null,-1),Ie=["disabled","tabindex","id","name","value"],je=["data-vss-custom-attr"],Be=["data-vss-custom-attr","onClick","onMouseenter"];function Re(gt,pt,H,yt,_,q){return Dt(),It("div",{class:Bt(["ui fluid search selection dropdown",{"active visible":_.showMenu,error:gt.isError,disabled:gt.isDisabled}]),onClick:pt[11]||(pt[11]=(...J)=>q.openOptions&&q.openOptions(...J)),onFocus:pt[12]||(pt[12]=(...J)=>q.openOptions&&q.openOptions(...J))},[De,wt("input",{class:"search",autocomplete:"off",disabled:gt.isDisabled,tabindex:gt.isDisabled?-1:0,id:gt.id,name:gt.name,value:_.searchText,onInput:pt[0]||(pt[0]=J=>_.searchText=J.target.value),ref:"input",onFocus:pt[1]||(pt[1]=Ht((...J)=>q.openOptions&&q.openOptions(...J),["prevent"])),onKeyup:[pt[2]||(pt[2]=Nt((...J)=>q.closeOptions&&q.closeOptions(...J),["esc"])),pt[7]||(pt[7]=Nt(Ht((...J)=>q.enterItem&&q.enterItem(...J),["prevent"]),["enter"]))],onBlur:pt[3]||(pt[3]=(...J)=>q.blurInput&&q.blurInput(...J)),onKeydown:[pt[4]||(pt[4]=Nt((...J)=>q.prevItem&&q.prevItem(...J),["up"])),pt[5]||(pt[5]=Nt((...J)=>q.nextItem&&q.nextItem(...J),["down"])),pt[6]||(pt[6]=Nt(Ht(()=>{},["prevent"]),["enter"])),pt[8]||(pt[8]=Nt((...J)=>q.deleteTextOrItem&&q.deleteTextOrItem(...J),["delete"]))]},null,40,Ie),wt("div",{class:Bt(["text",q.textClass]),"data-vss-custom-attr":q.searchTextCustomAttr},zt(q.inputText),11,je),wt("div",{class:Bt(["menu",q.menuClass]),ref:"menu",onMousedown:pt[10]||(pt[10]=Ht(()=>{},["prevent"])),style:ie(q.menuStyle),tabindex:"-1"},[(Dt(!0),It(Ut,null,Vt(q.filteredOptions,(J,lt)=>(Dt(),It("div",{key:lt,class:Bt(["item",{selected:J.selected||_.pointer===lt,disabled:J.disabled}]),"data-vss-custom-attr":q.customAttrs[lt]?q.customAttrs[lt]:"",onClick:Ht(nt=>q.selectItem(J),["stop"]),onMousedown:pt[9]||(pt[9]=(...nt)=>q.mousedownItem&&q.mousedownItem(...nt)),onMouseenter:nt=>q.pointerSet(lt)},[Yt(gt.$slots,"default",{option:J,idx:lt},()=>[$t(zt(J.text),1)])],42,Be))),128))],38)],34)}const ri=ge(Ee,[["render",Re]]),ze={name:"MultiSelect",mixins:[ue],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(gt=>this.selectedOptions.findIndex(pt=>pt.value===gt.value)===-1)},filteredOptions(){return this.searchText?this.nonSelectOptions.filter(gt=>{try{return this.cleanSearch?this.filterPredicate(this.accentsTidy(gt.text),this.searchText):this.filterPredicate(gt.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(){Ot.openOptions(this)},blurInput(){Ot.blurInput(this)},closeOptions(){Ot.closeOptions(this)},prevItem(){Ot.prevItem(this),this.openOptions()},nextItem(){Ot.nextItem(this),this.openOptions()},enterItem(){Ot.enterItem(this)},pointerSet(gt){Ot.pointerSet(this,gt)},pointerAdjust(){Ot.pointerAdjust(this)},mousedownItem(){Ot.mousedownItem(this)},selectItem(gt){const pt=this.selectedOptions.concat(gt),H=pt.filter((yt,_)=>pt.indexOf(yt)===_);this.closeOptions(),this.searchText="",this.$emit("select",H,gt,"insert")},deleteItem(gt){const pt=this.selectedOptions.filter(H=>H.value!==gt.value);this.$emit("select",pt,gt,"delete")},accentsTidy(gt){let pt=gt.toString().toLowerCase();return pt=pt.replace(new RegExp("[àáâãäå]","g"),"a"),pt=pt.replace(new RegExp("æ","g"),"ae"),pt=pt.replace(new RegExp("ç","g"),"c"),pt=pt.replace(new RegExp("[èéêë]","g"),"e"),pt=pt.replace(new RegExp("[ìíîï]","g"),"i"),pt=pt.replace(new RegExp("ñ","g"),"n"),pt=pt.replace(new RegExp("[òóôõö]","g"),"o"),pt=pt.replace(new RegExp("œ","g"),"oe"),pt=pt.replace(new RegExp("[ùúûü]","g"),"u"),pt=pt.replace(new RegExp("[ýÿ]","g"),"y"),pt}}},Ne=wt("i",{class:"dropdown icon"},null,-1),We=["data-vss-custom-attr"],He=["onClick"],Ge=["disabled","tabindex","id","name"],Xe=["data-vss-custom-attr","onClick","onMouseenter"];function Fe(gt,pt,H,yt,_,q){return Dt(),It("div",{class:Bt(["ui fluid search dropdown selection multiple",{"active visible":_.showMenu,error:gt.isError,disabled:gt.isDisabled}]),onClick:pt[11]||(pt[11]=(...J)=>q.openOptions&&q.openOptions(...J)),onFocus:pt[12]||(pt[12]=(...J)=>q.openOptions&&q.openOptions(...J))},[Ne,H.hideSelectedOptions?se("",!0):(Dt(!0),It(Ut,{key:0},Vt(H.selectedOptions,(J,lt)=>(Dt(),It("a",{key:lt,class:"ui label transition visible",style:{display:"inline-block !important"},"data-vss-custom-attr":H.customAttr(J)},[Yt(gt.$slots,"selected",{option:J,idx:lt},()=>[$t(zt(J.text),1),wt("i",{class:"delete icon",onClick:nt=>q.deleteItem(J)},null,8,He)])],8,We))),128)),Ce(wt("input",{class:"search",autocomplete:"off",disabled:gt.isDisabled,tabindex:gt.isDisabled?-1:0,id:gt.id,name:gt.name,"onUpdate:modelValue":pt[0]||(pt[0]=J=>_.searchText=J),ref:"input",style:ie(q.inputWidth),onFocus:pt[1]||(pt[1]=Ht((...J)=>q.openOptions&&q.openOptions(...J),["prevent"])),onKeyup:[pt[2]||(pt[2]=Nt((...J)=>q.closeOptions&&q.closeOptions(...J),["esc"])),pt[7]||(pt[7]=Nt(Ht((...J)=>q.enterItem&&q.enterItem(...J),["prevent"]),["enter"]))],onBlur:pt[3]||(pt[3]=(...J)=>q.blurInput&&q.blurInput(...J)),onKeydown:[pt[4]||(pt[4]=Nt((...J)=>q.prevItem&&q.prevItem(...J),["up"])),pt[5]||(pt[5]=Nt((...J)=>q.nextItem&&q.nextItem(...J),["down"])),pt[6]||(pt[6]=Nt(Ht(()=>{},["prevent"]),["enter"])),pt[8]||(pt[8]=Nt((...J)=>q.deleteTextOrLastItem&&q.deleteTextOrLastItem(...J),["delete"]))]},null,44,Ge),[[we,_.searchText]]),wt("div",{class:Bt(["text",q.textClass])},zt(q.inputText),3),wt("div",{class:Bt(["menu",q.menuClass]),ref:"menu",onMousedown:pt[10]||(pt[10]=Ht(()=>{},["prevent"])),style:ie(q.menuStyle),tabindex:"-1"},[(Dt(!0),It(Ut,null,Vt(q.filteredOptions,(J,lt)=>(Dt(),It("div",{key:lt,class:Bt(["item",{selected:J.selected||_.pointer===lt,disabled:J.disabled}]),"data-vss-custom-attr":H.customAttr(J),onClick:Ht(nt=>q.selectItem(J),["stop"]),onMousedown:pt[9]||(pt[9]=(...nt)=>q.mousedownItem&&q.mousedownItem(...nt)),onMouseenter:nt=>q.pointerSet(lt)},[Yt(gt.$slots,"default",{option:J,idx:lt},()=>[$t(zt(J.text),1)])],42,Xe))),128))],38)],34)}const oi=ge(ze,[["render",Fe]]);var fe={exports:{}},me={exports:{}};(function(gt){(function(pt,H){gt.exports?(H.default=H,gt.exports=pt&&pt.document?H(pt):H):(pt.Highcharts&&pt.Highcharts.error(16,!0),pt.Highcharts=H(pt))})(typeof window<"u"?window:Me,function(pt){var H={};function yt(_,q,J,lt){!_.hasOwnProperty(q)&&(_[q]=lt.apply(null,J),pt&&typeof CustomEvent=="function"&&pt.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:q,module:_[q]}})))}return yt(H,"Core/Globals.js",[],function(){var _,q;return(q=_||(_={})).SVG_NS="http://www.w3.org/2000/svg",q.product="Highcharts",q.version="11.4.8",q.win=pt!==void 0?pt:{},q.doc=q.win.document,q.svg=q.doc&&q.doc.createElementNS&&!!q.doc.createElementNS(q.SVG_NS,"svg").createSVGRect,q.userAgent=q.win.navigator&&q.win.navigator.userAgent||"",q.isChrome=q.win.chrome,q.isFirefox=q.userAgent.indexOf("Firefox")!==-1,q.isMS=/(edge|msie|trident)/i.test(q.userAgent)&&!q.win.opera,q.isSafari=!q.isChrome&&q.userAgent.indexOf("Safari")!==-1,q.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(q.userAgent),q.isWebKit=q.userAgent.indexOf("AppleWebKit")!==-1,q.deg2rad=2*Math.PI/360,q.hasBidiBug=q.isFirefox&&4>parseInt(q.userAgent.split("Firefox/")[1],10),q.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],q.noop=function(){},q.supportsPassiveEvents=function(){let J=!1;if(!q.isMS){let lt=Object.defineProperty({},"passive",{get:function(){J=!0}});q.win.addEventListener&&q.win.removeEventListener&&(q.win.addEventListener("testPassive",q.noop,lt),q.win.removeEventListener("testPassive",q.noop,lt))}return J}(),q.charts=[],q.composed=[],q.dateFormats={},q.seriesTypes={},q.symbolSizes={},q.chartCount=0,_}),yt(H,"Core/Utilities.js",[H["Core/Globals.js"]],function(_){let q,{charts:J,doc:lt,win:nt}=_;function st(e,t,r,a){let m=t?"Highcharts error":"Highcharts warning";e===32&&(e=`${m}: Deprecated member`);let b=I(e),h=b?`${m} #${e}: www.highcharts.com/errors/${e}/`:e.toString();if(a!==void 0){let A="";b&&(h+="?"),k(a,function(Y,f){A+=`
|
|
2
2
|
- ${f}: ${Y}`,b&&(h+=encodeURI(f)+"="+encodeURI(Y))}),h+=A}g(_,"displayError",{chart:r,code:e,message:h,params:a},function(){if(t)throw Error(h);nt.console&&st.messages.indexOf(h)===-1&&console.warn(h)}),st.messages.push(h)}function dt(e,t){return parseInt(e,t||10)}function K(e){return typeof e=="string"}function $(e){let t=Object.prototype.toString.call(e);return t==="[object Array]"||t==="[object Array Iterator]"}function V(e,t){return!!e&&typeof e=="object"&&(!t||!$(e))}function w(e){return V(e)&&typeof e.nodeType=="number"}function B(e){let t=e&&e.constructor;return!!(V(e,!0)&&!w(e)&&t&&t.name&&t.name!=="Object")}function I(e){return typeof e=="number"&&!isNaN(e)&&e<1/0&&e>-1/0}function P(e){return e!=null}function u(e,t,r){let a,m=K(t)&&!P(r),b=(h,A)=>{P(h)?e.setAttribute(A,h):m?(a=e.getAttribute(A))||A!=="class"||(a=e.getAttribute(A+"Name")):e.removeAttribute(A)};return K(t)?b(r,t):k(t,b),a}function x(e){return $(e)?e:[e]}function v(e,t){let r;for(r in e||(e={}),t)e[r]=t[r];return e}function T(){let e=arguments,t=e.length;for(let r=0;r<t;r++){let a=e[r];if(a!=null)return a}}function c(e,t){v(e.style,t)}function S(e){return Math.pow(10,Math.floor(Math.log(e)/Math.LN10))}function G(e,t){return e>1e14?e:parseFloat(e.toPrecision(t||14))}(st||(st={})).messages=[],Math.easeInOutSine=function(e){return-.5*(Math.cos(Math.PI*e)-1)};let E=Array.prototype.find?function(e,t){return e.find(t)}:function(e,t){let r,a=e.length;for(r=0;r<a;r++)if(t(e[r],r))return e[r]};function k(e,t,r){for(let a in e)Object.hasOwnProperty.call(e,a)&&t.call(r||e[a],e[a],a,e)}function o(e,t,r){function a(h,A){let Y=e.removeEventListener;Y&&Y.call(e,h,A,!1)}function m(h){let A,Y;e.nodeName&&(t?(A={})[t]=!0:A=h,k(A,function(f,O){if(h[O])for(Y=h[O].length;Y--;)a(O,h[O][Y].fn)}))}let b=typeof e=="function"&&e.prototype||e;if(Object.hasOwnProperty.call(b,"hcEvents")){let h=b.hcEvents;if(t){let A=h[t]||[];r?(h[t]=A.filter(function(Y){return r!==Y.fn}),a(t,r)):(m(h),h[t]=[])}else m(h),delete b.hcEvents}}function g(e,t,r,a){if(r=r||{},lt.createEvent&&(e.dispatchEvent||e.fireEvent&&e!==_)){let m=lt.createEvent("Events");m.initEvent(t,!0,!0),r=v(m,r),e.dispatchEvent?e.dispatchEvent(r):e.fireEvent(t,r)}else if(e.hcEvents){r.target||v(r,{preventDefault:function(){r.defaultPrevented=!0},target:e,type:t});let m=[],b=e,h=!1;for(;b.hcEvents;)Object.hasOwnProperty.call(b,"hcEvents")&&b.hcEvents[t]&&(m.length&&(h=!0),m.unshift.apply(m,b.hcEvents[t])),b=Object.getPrototypeOf(b);h&&m.sort((A,Y)=>A.order-Y.order),m.forEach(A=>{A.fn.call(e,r)===!1&&r.preventDefault()})}a&&!r.defaultPrevented&&a.call(e,r)}k({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(e,t){_[t]=function(r){return st(32,!1,void 0,{[`Highcharts.${t}`]:`use Array.${e}`}),Array.prototype[e].apply(r,[].slice.call(arguments,1))}});let s=function(){let e=Math.random().toString(36).substring(2,9)+"-",t=0;return function(){return"highcharts-"+(q?"":e)+t++}}();return nt.jQuery&&(nt.jQuery.fn.highcharts=function(){let e=[].slice.call(arguments);if(this[0])return e[0]?(new _[K(e[0])?e.shift():"Chart"](this[0],e[0],e[1]),this):J[u(this[0],"data-highcharts-chart")]}),{addEvent:function(e,t,r,a={}){let m=typeof e=="function"&&e.prototype||e;Object.hasOwnProperty.call(m,"hcEvents")||(m.hcEvents={});let b=m.hcEvents;_.Point&&e instanceof _.Point&&e.series&&e.series.chart&&(e.series.chart.runTrackerClick=!0);let h=e.addEventListener;h&&h.call(e,t,r,!!_.supportsPassiveEvents&&{passive:a.passive===void 0?t.indexOf("touch")!==-1:a.passive,capture:!1}),b[t]||(b[t]=[]);let A={fn:r,order:typeof a.order=="number"?a.order:1/0};return b[t].push(A),b[t].sort((Y,f)=>Y.order-f.order),function(){o(e,t,r)}},arrayMax:function(e){let t=e.length,r=e[0];for(;t--;)e[t]>r&&(r=e[t]);return r},arrayMin:function(e){let t=e.length,r=e[0];for(;t--;)e[t]<r&&(r=e[t]);return r},attr:u,clamp:function(e,t,r){return e>t?e<r?e:r:t},clearTimeout:function(e){P(e)&&clearTimeout(e)},correctFloat:G,createElement:function(e,t,r,a,m){let b=lt.createElement(e);return t&&v(b,t),m&&c(b,{padding:"0",border:"none",margin:"0"}),r&&c(b,r),a&&a.appendChild(b),b},crisp:(e,t=0,r)=>{let a=t%2/2,m=r?-1:1;return(Math.round(e*m-a)+a)*m},css:c,defined:P,destroyObjectProperties:function(e,t,r){k(e,function(a,m){a!==t&&(a!=null&&a.destroy)&&a.destroy(),(a!=null&&a.destroy||!r)&&delete e[m]})},diffObjects:function(e,t,r,a){let m={};return function b(h,A,Y,f){let O=r?A:h;k(h,function(j,W){if(!f&&a&&a.indexOf(W)>-1&&A[W]){j=x(j),Y[W]=[];for(let et=0;et<Math.max(j.length,A[W].length);et++)A[W][et]&&(j[et]===void 0?Y[W][et]=A[W][et]:(Y[W][et]={},b(j[et],A[W][et],Y[W][et],f+1)))}else V(j,!0)&&!j.nodeType?(Y[W]=$(j)?[]:{},b(j,A[W]||{},Y[W],f+1),Object.keys(Y[W]).length!==0||W==="colorAxis"&&f===0||delete Y[W]):(h[W]!==A[W]||W in h&&!(W in A))&&W!=="__proto__"&&W!=="constructor"&&(Y[W]=O[W])})}(e,t,m,0),m},discardElement:function(e){e&&e.parentElement&&e.parentElement.removeChild(e)},erase:function(e,t){let r=e.length;for(;r--;)if(e[r]===t){e.splice(r,1);break}},error:st,extend:v,extendClass:function(e,t){let r=function(){};return r.prototype=new e,v(r.prototype,t),r},find:E,fireEvent:g,getClosestDistance:function(e,t){let r,a,m,b=!t;return e.forEach(h=>{if(h.length>1)for(m=h.length-1;m>0;m--)(a=h[m]-h[m-1])<0&&!b?(t==null||t(),t=void 0):a&&(r===void 0||a<r)&&(r=a)}),r},getMagnitude:S,getNestedProperty:function(e,t){let r=e.split(".");for(;r.length&&P(t);){let a=r.shift();if(a===void 0||a==="__proto__")return;if(a==="this"){let b;return V(t)&&(b=t["@this"]),b??t}let m=t[a];if(!P(m)||typeof m=="function"||typeof m.nodeType=="number"||m===nt)return;t=m}return t},getStyle:function e(t,r,a){let m;if(r==="width"){let h=Math.min(t.offsetWidth,t.scrollWidth),A=t.getBoundingClientRect&&t.getBoundingClientRect().width;return A<h&&A>=h-1&&(h=Math.floor(A)),Math.max(0,h-(e(t,"padding-left",!0)||0)-(e(t,"padding-right",!0)||0))}if(r==="height")return Math.max(0,Math.min(t.offsetHeight,t.scrollHeight)-(e(t,"padding-top",!0)||0)-(e(t,"padding-bottom",!0)||0));let b=nt.getComputedStyle(t,void 0);return b&&(m=b.getPropertyValue(r),T(a,r!=="opacity")&&(m=dt(m))),m},inArray:function(e,t,r){return st(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"}),t.indexOf(e,r)},insertItem:function(e,t){let r,a=e.options.index,m=t.length;for(r=e.options.isInternal?m:0;r<m+1;r++)if(!t[r]||I(a)&&a<T(t[r].options.index,t[r]._i)||t[r].options.isInternal){t.splice(r,0,e);break}return r},isArray:$,isClass:B,isDOMElement:w,isFunction:function(e){return typeof e=="function"},isNumber:I,isObject:V,isString:K,keys:function(e){return st(32,!1,void 0,{"Highcharts.keys":"use Object.keys"}),Object.keys(e)},merge:function(){let e,t=arguments,r={},a=function(b,h){return typeof b!="object"&&(b={}),k(h,function(A,Y){Y!=="__proto__"&&Y!=="constructor"&&(!V(A,!0)||B(A)||w(A)?b[Y]=h[Y]:b[Y]=a(b[Y]||{},A))}),b};t[0]===!0&&(r=t[1],t=Array.prototype.slice.call(t,2));let m=t.length;for(e=0;e<m;e++)r=a(r,t[e]);return r},normalizeTickInterval:function(e,t,r,a,m){let b,h=e;r=T(r,S(e));let A=e/r;for(!t&&(t=m?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],a===!1&&(r===1?t=t.filter(function(Y){return Y%1==0}):r<=.1&&(t=[1/r]))),b=0;b<t.length&&(h=t[b],(!m||!(h*r>=e))&&(m||!(A<=(t[b]+(t[b+1]||t[b]))/2)));b++);return G(h*r,-Math.round(Math.log(.001)/Math.LN10))},objectEach:k,offset:function(e){let t=lt.documentElement,r=e.parentElement||e.parentNode?e.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:r.top+(nt.pageYOffset||t.scrollTop)-(t.clientTop||0),left:r.left+(nt.pageXOffset||t.scrollLeft)-(t.clientLeft||0),width:r.width,height:r.height}},pad:function(e,t,r){return Array((t||2)+1-String(e).replace("-","").length).join(r||"0")+e},pick:T,pInt:dt,pushUnique:function(e,t){return 0>e.indexOf(t)&&!!e.push(t)},relativeLength:function(e,t,r){return/%$/.test(e)?t*parseFloat(e)/100+(r||0):parseFloat(e)},removeEvent:o,replaceNested:function(e,...t){let r,a;do for(a of(r=e,t))e=e.replace(a[0],a[1]);while(e!==r);return e},splat:x,stableSort:function(e,t){let r,a,m=e.length;for(a=0;a<m;a++)e[a].safeI=a;for(e.sort(function(b,h){return(r=t(b,h))===0?b.safeI-h.safeI:r}),a=0;a<m;a++)delete e[a].safeI},syncTimeout:function(e,t,r){return t>0?setTimeout(e,t,r):(e.call(0,r),-1)},timeUnits:{millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},uniqueKey:s,useSerialIds:function(e){return q=T(e,q)},wrap:function(e,t,r){let a=e[t];e[t]=function(){let m=arguments,b=this;return r.apply(this,[function(){return a.apply(b,arguments.length?arguments:m)}].concat([].slice.call(arguments)))}}}}),yt(H,"Core/Chart/ChartDefaults.js",[],function(){return{alignThresholds:!1,panning:{enabled:!1,type:"x"},styledMode:!1,borderRadius:0,colorCount:10,allowMutatingData:!0,ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{},position:{}},reflow:!0,type:"line",zooming:{singleTouch:!1,resetButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}}},width:null,height:null,borderColor:"#334eff",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"}}),yt(H,"Core/Color/Palettes.js",[],function(){return{colors:["#2caffe","#544fc5","#00e272","#fe6a35","#6b8abc","#d568fb","#2ee0ca","#fa4b42","#feb56a","#91e8e1"]}}),yt(H,"Core/Time.js",[H["Core/Globals.js"],H["Core/Utilities.js"]],function(_,q){let{win:J}=_,{defined:lt,error:nt,extend:st,isNumber:dt,isObject:K,merge:$,objectEach:V,pad:w,pick:B,splat:I,timeUnits:P}=q,u=_.isSafari&&J.Intl&&J.Intl.DateTimeFormat.prototype.formatRange,x=_.isSafari&&J.Intl&&!J.Intl.DateTimeFormat.prototype.formatRange;class v{constructor(c){this.options={},this.useUTC=!1,this.variableTimezone=!1,this.Date=J.Date,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.update(c)}get(c,S){if(this.variableTimezone||this.timezoneOffset){let G=S.getTime(),E=G-this.getTimezoneOffset(S);S.setTime(E);let k=S["getUTC"+c]();return S.setTime(G),k}return this.useUTC?S["getUTC"+c]():S["get"+c]()}set(c,S,G){if(this.variableTimezone||this.timezoneOffset){if(c==="Milliseconds"||c==="Seconds"||c==="Minutes"&&this.getTimezoneOffset(S)%36e5==0)return S["setUTC"+c](G);let E=this.getTimezoneOffset(S),k=S.getTime()-E;S.setTime(k),S["setUTC"+c](G);let o=this.getTimezoneOffset(S);return k=S.getTime()+o,S.setTime(k)}return this.useUTC||u&&c==="FullYear"?S["setUTC"+c](G):S["set"+c](G)}update(c={}){let S=B(c.useUTC,!0);this.options=c=$(!0,this.options,c),this.Date=c.Date||J.Date||Date,this.useUTC=S,this.timezoneOffset=S&&c.timezoneOffset||void 0,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.variableTimezone=S&&!!(c.getTimezoneOffset||c.timezone)}makeTime(c,S,G,E,k,o){let g,s,e;return this.useUTC?(g=this.Date.UTC.apply(0,arguments),s=this.getTimezoneOffset(g),g+=s,s!==(e=this.getTimezoneOffset(g))?g+=e-s:s-36e5!==this.getTimezoneOffset(g-36e5)||x||(g-=36e5)):g=new this.Date(c,S,B(G,1),B(E,0),B(k,0),B(o,0)).getTime(),g}timezoneOffsetFunction(){let c=this,S=this.options,G=S.getTimezoneOffset;return this.useUTC?S.timezone?E=>{try{let k=`shortOffset,${S.timezone||""}`,[o,g,s,e,t=0]=(v.formatCache[k]=v.formatCache[k]||Intl.DateTimeFormat("en",{timeZone:S.timezone,timeZoneName:"shortOffset"})).format(E).split(/(GMT|:)/).map(Number),r=-(36e5*(s+t/60));if(dt(r))return r}catch{nt(34)}return 0}:this.useUTC&&G?E=>6e4*G(E.valueOf()):()=>6e4*(c.timezoneOffset||0):E=>6e4*new Date(E.toString()).getTimezoneOffset()}dateFormat(c,S,G){if(!lt(S)||isNaN(S))return _.defaultOptions.lang&&_.defaultOptions.lang.invalidDate||"";c=B(c,"%Y-%m-%d %H:%M:%S");let E=this,k=new this.Date(S),o=this.get("Hours",k),g=this.get("Day",k),s=this.get("Date",k),e=this.get("Month",k),t=this.get("FullYear",k),r=_.defaultOptions.lang,a=r&&r.weekdays,m=r&&r.shortWeekdays;return V(st({a:m?m[g]:a[g].substr(0,3),A:a[g],d:w(s),e:w(s,2," "),w:g,b:r.shortMonths[e],B:r.months[e],m:w(e+1),o:e+1,y:t.toString().substr(2,2),Y:t,H:w(o),k:o,I:w(o%12||12),l:o%12||12,M:w(this.get("Minutes",k)),p:o<12?"AM":"PM",P:o<12?"am":"pm",S:w(this.get("Seconds",k)),L:w(Math.floor(S%1e3),3)},_.dateFormats),function(b,h){for(;c.indexOf("%"+h)!==-1;)c=c.replace("%"+h,typeof b=="function"?b.call(E,S):b)}),G?c.substr(0,1).toUpperCase()+c.substr(1):c}resolveDTLFormat(c){return K(c,!0)?c:{main:(c=I(c))[0],from:c[1],to:c[2]}}getTimeTicks(c,S,G,E){let k,o,g,s,e=this,t=e.Date,r=[],a={},m=new t(S),b=c.unitRange,h=c.count||1;if(E=B(E,1),lt(S)){e.set("Milliseconds",m,b>=P.second?0:h*Math.floor(e.get("Milliseconds",m)/h)),b>=P.second&&e.set("Seconds",m,b>=P.minute?0:h*Math.floor(e.get("Seconds",m)/h)),b>=P.minute&&e.set("Minutes",m,b>=P.hour?0:h*Math.floor(e.get("Minutes",m)/h)),b>=P.hour&&e.set("Hours",m,b>=P.day?0:h*Math.floor(e.get("Hours",m)/h)),b>=P.day&&e.set("Date",m,b>=P.month?1:Math.max(1,h*Math.floor(e.get("Date",m)/h))),b>=P.month&&(e.set("Month",m,b>=P.year?0:h*Math.floor(e.get("Month",m)/h)),o=e.get("FullYear",m)),b>=P.year&&(o-=o%h,e.set("FullYear",m,o)),b===P.week&&(s=e.get("Day",m),e.set("Date",m,e.get("Date",m)-s+E+(s<E?-7:0))),o=e.get("FullYear",m);let A=e.get("Month",m),Y=e.get("Date",m),f=e.get("Hours",m);S=m.getTime(),(e.variableTimezone||!e.useUTC)&<(G)&&(g=G-S>4*P.month||e.getTimezoneOffset(S)!==e.getTimezoneOffset(G));let O=m.getTime();for(k=1;O<G;)r.push(O),b===P.year?O=e.makeTime(o+k*h,0):b===P.month?O=e.makeTime(o,A+k*h):g&&(b===P.day||b===P.week)?O=e.makeTime(o,A,Y+k*h*(b===P.day?1:7)):g&&b===P.hour&&h>1?O=e.makeTime(o,A,Y,f+k*h):O+=b*h,k++;r.push(O),b<=P.hour&&r.length<1e4&&r.forEach(function(j){j%18e5==0&&e.dateFormat("%H%M%S%L",j)==="000000000"&&(a[j]="day")})}return r.info=st(c,{higherRanks:a,totalRange:b*h}),r}getDateFormat(c,S,G,E){let k=this.dateFormat("%m-%d %H:%M:%S.%L",S),o="01-01 00:00:00.000",g={millisecond:15,second:12,minute:9,hour:6,day:3},s="millisecond",e=s;for(s in P){if(c===P.week&&+this.dateFormat("%w",S)===G&&k.substr(6)===o.substr(6)){s="week";break}if(P[s]>c){s=e;break}if(g[s]&&k.substr(g[s])!==o.substr(g[s]))break;s!=="week"&&(e=s)}return this.resolveDTLFormat(E[s]).main}}return v.formatCache={},v}),yt(H,"Core/Defaults.js",[H["Core/Chart/ChartDefaults.js"],H["Core/Globals.js"],H["Core/Color/Palettes.js"],H["Core/Time.js"],H["Core/Utilities.js"]],function(_,q,J,lt,nt){let{isTouchDevice:st}=q,{fireEvent:dt,merge:K}=nt,$={colors:J.colors,symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],decimalPoint:".",numericSymbols:["k","M","G","T","P","E"],resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{buttonTheme:{fill:"#f7f7f7",padding:8,r:2,stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},states:{hover:{fill:"#e6e6e6"},select:{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},disabled:{style:{color:"#cccccc"}}}}},time:{Date:void 0,getTimezoneOffset:void 0,timezone:void 0,timezoneOffset:0,useUTC:!0},chart:_,title:{style:{color:"#333333",fontWeight:"bold"},text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{style:{color:"#666666",fontSize:"0.8em"},text:"",align:"center",widthAdjust:-44},caption:{margin:15,style:{color:"#666666",fontSize:"0.8em"},text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",events:{},layout:"horizontal",itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"#0022ff",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#666666",textDecoration:"line-through"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontSize:"0.8em",fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:{duration:300,easing:w=>Math.sqrt(1-Math.pow(w-1,2))},borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %e %b, %H:%M:%S.%L",second:"%A, %e %b, %H:%M:%S",minute:"%A, %e %b, %H:%M",hour:"%A, %e %b, %H:%M",day:"%A, %e %b %Y",week:"Week from %A, %e %b %Y",month:"%B %Y",year:"%Y"},footerFormat:"",headerShape:"callout",hideDelay:500,padding:8,shape:"callout",shared:!1,snap:st?25:10,headerFormat:'<span style="font-size: 0.8em">{point.key}</span><br/>',pointFormat:'<span style="color:{point.color}">●</span> {series.name}: <b>{point.y}</b><br/>',backgroundColor:"#ffffff",borderWidth:void 0,shadow:!0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"0.8em"},useHTML:!1},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"0.6em"},text:"Highcharts.com"}};$.chart.styledMode=!1;let V=new lt($.time);return{defaultOptions:$,defaultTime:V,getOptions:function(){return $},setOptions:function(w){return dt(q,"setOptions",{options:w}),K(!0,$,w),(w.time||w.global)&&(q.time?q.time.update(K($.global,$.time,w.global,w.time)):q.time=V),$}}}),yt(H,"Core/Color/Color.js",[H["Core/Globals.js"],H["Core/Utilities.js"]],function(_,q){let{isNumber:J,merge:lt,pInt:nt}=q;class st{static parse(K){return K?new st(K):st.None}constructor(K){let $,V,w,B;this.rgba=[NaN,NaN,NaN,NaN],this.input=K;let I=_.Color;if(I&&I!==st)return new I(K);if(typeof K=="object"&&K.stops!==void 0)this.stops=K.stops.map(P=>new st(P[1]));else if(typeof K=="string"){if(this.input=K=st.names[K.toLowerCase()]||K,K.charAt(0)==="#"){let P=K.length,u=parseInt(K.substr(1),16);P===7?V=[(16711680&u)>>16,(65280&u)>>8,255&u,1]:P===4&&(V=[(3840&u)>>4|(3840&u)>>8,(240&u)>>4|240&u,(15&u)<<4|15&u,1])}if(!V)for(w=st.parsers.length;w--&&!V;)($=(B=st.parsers[w]).regex.exec(K))&&(V=B.parse($))}V&&(this.rgba=V)}get(K){let $=this.input,V=this.rgba;if(typeof $=="object"&&this.stops!==void 0){let w=lt($);return w.stops=[].slice.call(w.stops),this.stops.forEach((B,I)=>{w.stops[I]=[w.stops[I][0],B.get(K)]}),w}return V&&J(V[0])?K!=="rgb"&&(K||V[3]!==1)?K==="a"?`${V[3]}`:"rgba("+V.join(",")+")":"rgb("+V[0]+","+V[1]+","+V[2]+")":$}brighten(K){let $=this.rgba;if(this.stops)this.stops.forEach(function(V){V.brighten(K)});else if(J(K)&&K!==0)for(let V=0;V<3;V++)$[V]+=nt(255*K),$[V]<0&&($[V]=0),$[V]>255&&($[V]=255);return this}setOpacity(K){return this.rgba[3]=K,this}tweenTo(K,$){let V=this.rgba,w=K.rgba;if(!J(V[0])||!J(w[0]))return K.input||"none";let B=w[3]!==1||V[3]!==1;return(B?"rgba(":"rgb(")+Math.round(w[0]+(V[0]-w[0])*(1-$))+","+Math.round(w[1]+(V[1]-w[1])*(1-$))+","+Math.round(w[2]+(V[2]-w[2])*(1-$))+(B?","+(w[3]+(V[3]-w[3])*(1-$)):"")+")"}}return st.names={white:"#ffffff",black:"#000000"},st.parsers=[{regex:/rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d?(?:\.\d+)?)\s*\)/,parse:function(dt){return[nt(dt[1]),nt(dt[2]),nt(dt[3]),parseFloat(dt[4],10)]}},{regex:/rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)/,parse:function(dt){return[nt(dt[1]),nt(dt[2]),nt(dt[3]),1]}}],st.None=new st(""),st}),yt(H,"Core/Animation/Fx.js",[H["Core/Color/Color.js"],H["Core/Globals.js"],H["Core/Utilities.js"]],function(_,q,J){let{parse:lt}=_,{win:nt}=q,{isNumber:st,objectEach:dt}=J;class K{constructor(V,w,B){this.pos=NaN,this.options=w,this.elem=V,this.prop=B}dSetter(){let V=this.paths,w=V&&V[0],B=V&&V[1],I=this.now||0,P=[];if(I!==1&&w&&B)if(w.length===B.length&&I<1)for(let u=0;u<B.length;u++){let x=w[u],v=B[u],T=[];for(let c=0;c<v.length;c++){let S=x[c],G=v[c];st(S)&&st(G)&&!(v[0]==="A"&&(c===4||c===5))?T[c]=S+I*(G-S):T[c]=G}P.push(T)}else P=B;else P=this.toD||[];this.elem.attr("d",P,void 0,!0)}update(){let V=this.elem,w=this.prop,B=this.now,I=this.options.step;this[w+"Setter"]?this[w+"Setter"]():V.attr?V.element&&V.attr(w,B,null,!0):V.style[w]=B+this.unit,I&&I.call(V,B,this)}run(V,w,B){let I=this,P=I.options,u=function(T){return!u.stopped&&I.step(T)},x=nt.requestAnimationFrame||function(T){setTimeout(T,13)},v=function(){for(let T=0;T<K.timers.length;T++)K.timers[T]()||K.timers.splice(T--,1);K.timers.length&&x(v)};V!==w||this.elem["forceAnimate:"+this.prop]?(this.startTime=+new Date,this.start=V,this.end=w,this.unit=B,this.now=this.start,this.pos=0,u.elem=this.elem,u.prop=this.prop,u()&&K.timers.push(u)===1&&x(v)):(delete P.curAnim[this.prop],P.complete&&Object.keys(P.curAnim).length===0&&P.complete.call(this.elem))}step(V){let w,B,I=+new Date,P=this.options,u=this.elem,x=P.complete,v=P.duration,T=P.curAnim;return u.attr&&!u.element?w=!1:V||I>=v+this.startTime?(this.now=this.end,this.pos=1,this.update(),T[this.prop]=!0,B=!0,dt(T,function(c){c!==!0&&(B=!1)}),B&&x&&x.call(u),w=!1):(this.pos=P.easing((I-this.startTime)/v),this.now=this.start+(this.end-this.start)*this.pos,this.update(),w=!0),w}initPath(V,w,B){let I=V.startX,P=V.endX,u=B.slice(),x=V.isArea,v=x?2:1,T=w&&B.length>w.length&&B.hasStackedCliffs,c,S,G,E,k=w&&w.slice();if(!k||T)return[u,u];function o(s,e){for(;s.length<S;){let t=s[0],r=e[S-s.length];if(r&&t[0]==="M"&&(r[0]==="C"?s[0]=["C",t[1],t[2],t[1],t[2],t[1],t[2]]:s[0]=["L",t[1],t[2]]),s.unshift(t),x){let a=s.pop();s.push(s[s.length-1],a)}}}function g(s){for(;s.length<S;){let e=s[Math.floor(s.length/v)-1].slice();if(e[0]==="C"&&(e[1]=e[5],e[2]=e[6]),x){let t=s[Math.floor(s.length/v)].slice();s.splice(s.length/2,0,e,t)}else s.push(e)}}if(I&&P&&P.length){for(G=0;G<I.length;G++){if(I[G]===P[0]){c=G;break}if(I[0]===P[P.length-I.length+G]){c=G,E=!0;break}if(I[I.length-1]===P[P.length-I.length+G]){c=I.length-G;break}}c===void 0&&(k=[])}return k.length&&st(c)&&(S=u.length+c*v,E?(o(k,u),g(u)):(o(u,k),g(k))),[k,u]}fillSetter(){K.prototype.strokeSetter.apply(this,arguments)}strokeSetter(){this.elem.attr(this.prop,lt(this.start).tweenTo(lt(this.end),this.pos),void 0,!0)}}return K.timers=[],K}),yt(H,"Core/Animation/AnimationUtilities.js",[H["Core/Animation/Fx.js"],H["Core/Utilities.js"]],function(_,q){let{defined:J,getStyle:lt,isArray:nt,isNumber:st,isObject:dt,merge:K,objectEach:$,pick:V}=q;function w(I){return dt(I)?K({duration:500,defer:0},I):{duration:I?500:0,defer:0}}function B(I,P){let u=_.timers.length;for(;u--;)_.timers[u].elem!==I||P&&P!==_.timers[u].prop||(_.timers[u].stopped=!0)}return{animate:function(I,P,u){let x,v="",T,c,S;dt(u)||(S=arguments,u={duration:S[2],easing:S[3],complete:S[4]}),st(u.duration)||(u.duration=400),u.easing=typeof u.easing=="function"?u.easing:Math[u.easing]||Math.easeInOutSine,u.curAnim=K(P),$(P,function(G,E){B(I,E),c=new _(I,u,E),T=void 0,E==="d"&&nt(P.d)?(c.paths=c.initPath(I,I.pathArray,P.d),c.toD=P.d,x=0,T=1):I.attr?x=I.attr(E):(x=parseFloat(lt(I,E))||0,E!=="opacity"&&(v="px")),T||(T=G),typeof T=="string"&&T.match("px")&&(T=T.replace(/px/g,"")),c.run(x,T,v)})},animObject:w,getDeferredAnimation:function(I,P,u){let x=w(P),v=u?[u]:I.series,T=0,c=0;return v.forEach(S=>{let G=w(S.options.animation);T=dt(P)&&J(P.defer)?x.defer:Math.max(T,G.duration+G.defer),c=Math.min(x.duration,G.duration)}),I.renderer.forExport&&(T=0),{defer:Math.max(0,T-c),duration:Math.min(T,c)}},setAnimation:function(I,P){P.renderer.globalAnimation=V(I,P.options.chart.animation,!0)},stop:B}}),yt(H,"Core/Renderer/HTML/AST.js",[H["Core/Globals.js"],H["Core/Utilities.js"]],function(_,q){let{SVG_NS:J,win:lt}=_,{attr:nt,createElement:st,css:dt,error:K,isFunction:$,isString:V,objectEach:w,splat:B}=q,{trustedTypes:I}=lt,P=I&&$(I.createPolicy)&&I.createPolicy("highcharts",{createHTML:T=>T}),u=P?P.createHTML(""):"",x=function(){try{return!!new DOMParser().parseFromString(u,"text/html")}catch{return!1}}();class v{static filterUserAttributes(c){return w(c,(S,G)=>{let E=!0;v.allowedAttributes.indexOf(G)===-1&&(E=!1),["background","dynsrc","href","lowsrc","src"].indexOf(G)!==-1&&(E=V(S)&&v.allowedReferences.some(k=>S.indexOf(k)===0)),E||(K(33,!1,void 0,{"Invalid attribute in config":`${G}`}),delete c[G]),V(S)&&c[G]&&(c[G]=S.replace(/</g,"<"))}),c}static parseStyle(c){return c.split(";").reduce((S,G)=>{let E=G.split(":").map(o=>o.trim()),k=E.shift();return k&&E.length&&(S[k.replace(/-([a-z])/g,o=>o[1].toUpperCase())]=E.join(":")),S},{})}static setElementHTML(c,S){c.innerHTML=v.emptyHTML,S&&new v(S).addToDOM(c)}constructor(c){this.nodes=typeof c=="string"?this.parseMarkup(c):c}addToDOM(c){return function S(G,E){let k;return B(G).forEach(function(o){let g,s=o.tagName,e=o.textContent?_.doc.createTextNode(o.textContent):void 0,t=v.bypassHTMLFiltering;if(s)if(s==="#text")g=e;else if(v.allowedTags.indexOf(s)!==-1||t){let r=s==="svg"?J:E.namespaceURI||J,a=_.doc.createElementNS(r,s),m=o.attributes||{};w(o,function(b,h){h!=="tagName"&&h!=="attributes"&&h!=="children"&&h!=="style"&&h!=="textContent"&&(m[h]=b)}),nt(a,t?m:v.filterUserAttributes(m)),o.style&&dt(a,o.style),e&&a.appendChild(e),S(o.children||[],a),g=a}else K(33,!1,void 0,{"Invalid tagName in config":s});g&&E.appendChild(g),k=g}),k}(this.nodes,c)}parseMarkup(c){let S,G=[];if(c=c.trim().replace(/ style=(["'])/g," data-style=$1"),x)S=new DOMParser().parseFromString(P?P.createHTML(c):c,"text/html");else{let k=st("div");k.innerHTML=c,S={body:k}}let E=(k,o)=>{let g=k.nodeName.toLowerCase(),s={tagName:g};g==="#text"&&(s.textContent=k.textContent||"");let e=k.attributes;if(e){let t={};[].forEach.call(e,r=>{r.name==="data-style"?s.style=v.parseStyle(r.value):t[r.name]=r.value}),s.attributes=t}if(k.childNodes.length){let t=[];[].forEach.call(k.childNodes,r=>{E(r,t)}),t.length&&(s.children=t)}o.push(s)};return[].forEach.call(S.body.childNodes,k=>E(k,G)),G}}return v.allowedAttributes=["alt","aria-controls","aria-describedby","aria-expanded","aria-haspopup","aria-hidden","aria-label","aria-labelledby","aria-live","aria-pressed","aria-readonly","aria-roledescription","aria-selected","class","clip-path","color","colspan","cx","cy","d","dx","dy","disabled","fill","filterUnits","flood-color","flood-opacity","height","href","id","in","in2","markerHeight","markerWidth","offset","opacity","operator","orient","padding","paddingLeft","paddingRight","patternUnits","r","radius","refX","refY","role","scope","slope","src","startOffset","stdDeviation","stroke","stroke-linecap","stroke-width","style","tableValues","result","rowspan","summary","target","tabindex","text-align","text-anchor","textAnchor","textLength","title","type","valign","width","x","x1","x2","xlink:href","y","y1","y2","zIndex"],v.allowedReferences=["https://","http://","mailto:","/","../","./","#"],v.allowedTags=["a","abbr","b","br","button","caption","circle","clipPath","code","dd","defs","div","dl","dt","em","feComponentTransfer","feComposite","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feMorphology","feOffset","feMerge","feMergeNode","filter","h1","h2","h3","h4","h5","h6","hr","i","img","li","linearGradient","marker","ol","p","path","pattern","pre","rect","small","span","stop","strong","style","sub","sup","svg","table","text","textPath","thead","title","tbody","tspan","td","th","tr","u","ul","#text"],v.emptyHTML=u,v.bypassHTMLFiltering=!1,v}),yt(H,"Core/Templating.js",[H["Core/Defaults.js"],H["Core/Utilities.js"]],function(_,q){let{defaultOptions:J,defaultTime:lt}=_,{extend:nt,getNestedProperty:st,isArray:dt,isNumber:K,isObject:$,pick:V,pInt:w}=q,B={add:(u,x)=>u+x,divide:(u,x)=>x!==0?u/x:"",eq:(u,x)=>u==x,each:function(u){let x=arguments[arguments.length-1];return!!dt(u)&&u.map((v,T)=>I(x.body,nt($(v)?v:{"@this":v},{"@index":T,"@first":T===0,"@last":T===u.length-1}))).join("")},ge:(u,x)=>u>=x,gt:(u,x)=>u>x,if:u=>!!u,le:(u,x)=>u<=x,lt:(u,x)=>u<x,multiply:(u,x)=>u*x,ne:(u,x)=>u!=x,subtract:(u,x)=>u-x,unless:u=>!u};function I(u="",x,v){let T=/\{([\w\:\.\,;\-\/<>%@"'’= #\(\)]+)\}/g,c=/\(([\w\:\.\,;\-\/<>%@"'= ]+)\)/g,S=[],G=/f$/,E=/\.(\d)/,k=J.lang,o=v&&v.time||lt,g=v&&v.numberFormatter||P,s=(m="")=>{let b;return m==="true"||m!=="false"&&((b=Number(m)).toString()===m?b:st(m,x))},e,t,r=0,a;for(;(e=T.exec(u))!==null;){let m=c.exec(e[1]);m&&(e=m,a=!0),t&&t.isBlock||(t={ctx:x,expression:e[1],find:e[0],isBlock:e[1].charAt(0)==="#",start:e.index,startInner:e.index+e[0].length,length:e[0].length});let b=e[1].split(" ")[0].replace("#","");B[b]&&(t.isBlock&&b===t.fn&&r++,t.fn||(t.fn=b));let h=e[1]==="else";if(t.isBlock&&t.fn&&(e[1]===`/${t.fn}`||h))if(r)!h&&r--;else{let A=t.startInner,Y=u.substr(A,e.index-A);t.body===void 0?(t.body=Y,t.startInner=e.index+e[0].length):t.elseBody=Y,t.find+=Y+e[0],h||(S.push(t),t=void 0)}else t.isBlock||S.push(t);if(m&&!(t!=null&&t.isBlock))break}return S.forEach(m=>{let b,h,{body:A,elseBody:Y,expression:f,fn:O}=m;if(O){let j=[m],W=f.split(" ");for(h=B[O].length;h--;)j.unshift(s(W[h+1]));b=B[O].apply(x,j),m.isBlock&&typeof b=="boolean"&&(b=I(b?A:Y,x,v))}else{let j=f.split(":");if(b=s(j.shift()||""),j.length&&typeof b=="number"){let W=j.join(":");if(G.test(W)){let et=parseInt((W.match(E)||["","-1"])[1],10);b!==null&&(b=g(b,et,k.decimalPoint,W.indexOf(",")>-1?k.thousandsSep:""))}else b=o.dateFormat(W,b)}}u=u.replace(m.find,V(b,""))}),a?I(u,x,v):u}function P(u,x,v,T){let c,S;u=+u||0,x=+x;let G=J.lang,E=(u.toString().split(".")[1]||"").split("e")[0].length,k=u.toString().split("e"),o=x;x===-1?x=Math.min(E,20):K(x)?x&&k[1]&&k[1]<0&&((S=x+ +k[1])>=0?(k[0]=(+k[0]).toExponential(S).split("e")[0],x=S):(k[0]=k[0].split(".")[0]||0,u=x<20?(k[0]*Math.pow(10,k[1])).toFixed(x):0,k[1]=0)):x=2;let g=(Math.abs(k[1]?k[0]:u)+Math.pow(10,-Math.max(x,E)-1)).toFixed(x),s=String(w(g)),e=s.length>3?s.length%3:0;return v=V(v,G.decimalPoint),T=V(T,G.thousandsSep),c=(u<0?"-":"")+(e?s.substr(0,e)+T:""),0>+k[1]&&!o?c="0":c+=s.substr(e).replace(/(\d{3})(?=\d)/g,"$1"+T),x?c+=v+g.slice(-x):+c==0&&(c="0"),k[1]&&+c!=0&&(c+="e"+k[1]),c}return{dateFormat:function(u,x,v){return lt.dateFormat(u,x,v)},format:I,helpers:B,numberFormat:P}}),yt(H,"Core/Renderer/RendererRegistry.js",[H["Core/Globals.js"]],function(_){var q,J;let lt;return(J=q||(q={})).rendererTypes={},J.getRendererType=function(nt=lt){return J.rendererTypes[nt]||J.rendererTypes[lt]},J.registerRendererType=function(nt,st,dt){J.rendererTypes[nt]=st,(!lt||dt)&&(lt=nt,_.Renderer=st)},q}),yt(H,"Core/Renderer/RendererUtilities.js",[H["Core/Utilities.js"]],function(_){var q;let{clamp:J,pick:lt,pushUnique:nt,stableSort:st}=_;return(q||(q={})).distribute=function dt(K,$,V){let w=K,B=w.reducedLen||$,I=(s,e)=>s.target-e.target,P=[],u=K.length,x=[],v=P.push,T,c,S,G=!0,E,k,o=0,g;for(T=u;T--;)o+=K[T].size;if(o>B){for(st(K,(s,e)=>(e.rank||0)-(s.rank||0)),S=(g=K[0].rank===K[K.length-1].rank)?u/2:-1,c=g?S:u-1;S&&o>B;)E=K[T=Math.floor(c)],nt(x,T)&&(o-=E.size),c+=S,g&&c>=K.length&&(S/=2,c=S);x.sort((s,e)=>e-s).forEach(s=>v.apply(P,K.splice(s,1)))}for(st(K,I),K=K.map(s=>({size:s.size,targets:[s.target],align:lt(s.align,.5)}));G;){for(T=K.length;T--;)E=K[T],k=(Math.min.apply(0,E.targets)+Math.max.apply(0,E.targets))/2,E.pos=J(k-E.size*E.align,0,$-E.size);for(T=K.length,G=!1;T--;)T>0&&K[T-1].pos+K[T-1].size>K[T].pos&&(K[T-1].size+=K[T].size,K[T-1].targets=K[T-1].targets.concat(K[T].targets),K[T-1].align=.5,K[T-1].pos+K[T-1].size>$&&(K[T-1].pos=$-K[T-1].size),K.splice(T,1),G=!0)}return v.apply(w,P),T=0,K.some(s=>{let e=0;return(s.targets||[]).some(()=>(w[T].pos=s.pos+e,V!==void 0&&Math.abs(w[T].pos-w[T].target)>V?(w.slice(0,T+1).forEach(t=>delete t.pos),w.reducedLen=(w.reducedLen||$)-.1*$,w.reducedLen>.1*$&&dt(w,$,V),!0):(e+=w[T].size,T++,!1)))}),st(w,I),w},q}),yt(H,"Core/Renderer/SVG/SVGElement.js",[H["Core/Animation/AnimationUtilities.js"],H["Core/Color/Color.js"],H["Core/Globals.js"],H["Core/Utilities.js"]],function(_,q,J,lt){let{animate:nt,animObject:st,stop:dt}=_,{deg2rad:K,doc:$,svg:V,SVG_NS:w,win:B}=J,{addEvent:I,attr:P,createElement:u,crisp:x,css:v,defined:T,erase:c,extend:S,fireEvent:G,isArray:E,isFunction:k,isObject:o,isString:g,merge:s,objectEach:e,pick:t,pInt:r,pushUnique:a,replaceNested:m,syncTimeout:b,uniqueKey:h}=lt;class A{_defaultGetter(f){let O=t(this[f+"Value"],this[f],this.element?this.element.getAttribute(f):null,0);return/^-?[\d\.]+$/.test(O)&&(O=parseFloat(O)),O}_defaultSetter(f,O,j){j.setAttribute(O,f)}add(f){let O,j=this.renderer,W=this.element;return f&&(this.parentGroup=f),this.textStr!==void 0&&this.element.nodeName==="text"&&j.buildText(this),this.added=!0,(!f||f.handleZ||this.zIndex)&&(O=this.zIndexSetter()),O||(f?f.element:j.box).appendChild(W),this.onAdd&&this.onAdd(),this}addClass(f,O){let j=O?"":this.attr("class")||"";return(f=(f||"").split(/ /g).reduce(function(W,et){return j.indexOf(et)===-1&&W.push(et),W},j?[j]:[]).join(" "))!==j&&this.attr("class",f),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(f,O,j,W=!0){let et,l,n,y,D={},i=this.renderer,p=i.alignedObjects,d=!!f;f?(this.alignOptions=f,this.alignByTranslate=O,this.alignTo=j):(f=this.alignOptions||{},O=this.alignByTranslate,j=this.alignTo);let M=!j||g(j)?j||"renderer":void 0;M&&(d&&a(p,this),j=void 0);let C=t(j,i[M],i),R=f.align,X=f.verticalAlign;return et=(C.x||0)+(f.x||0),l=(C.y||0)+(f.y||0),R==="right"?n=1:R==="center"&&(n=2),n&&(et+=((C.width||0)-(f.width||0))/n),D[O?"translateX":"x"]=Math.round(et),X==="bottom"?y=1:X==="middle"&&(y=2),y&&(l+=((C.height||0)-(f.height||0))/y),D[O?"translateY":"y"]=Math.round(l),W&&(this[this.placed?"animate":"attr"](D),this.placed=!0),this.alignAttr=D,this}alignSetter(f){let O={left:"start",center:"middle",right:"end"};O[f]&&(this.alignValue=f,this.element.setAttribute("text-anchor",O[f]))}animate(f,O,j){let W=st(t(O,this.renderer.globalAnimation,!0)),et=W.defer;return $.hidden&&(W.duration=0),W.duration!==0?(j&&(W.complete=j),b(()=>{this.element&&nt(this,f,W)},et)):(this.attr(f,void 0,j||W.complete),e(f,function(l,n){W.step&&W.step.call(this,l,{prop:n,pos:1,elem:this})},this)),this}applyTextOutline(f){let O=this.element;f.indexOf("contrast")!==-1&&(f=f.replace(/contrast/g,this.renderer.getContrast(O.style.fill)));let j=f.split(" "),W=j[j.length-1],et=j[0];if(et&&et!=="none"&&J.svg){this.fakeTS=!0,et=et.replace(/(^[\d\.]+)(.*?)$/g,function(i,p,d){return 2*Number(p)+d}),this.removeTextOutline();let l=$.createElementNS(w,"tspan");P(l,{class:"highcharts-text-outline",fill:W,stroke:W,"stroke-width":et,"stroke-linejoin":"round"});let n=O.querySelector("textPath")||O;[].forEach.call(n.childNodes,i=>{let p=i.cloneNode(!0);p.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(d=>p.removeAttribute(d)),l.appendChild(p)});let y=0;[].forEach.call(n.querySelectorAll("text tspan"),i=>{y+=Number(i.getAttribute("dy"))});let D=$.createElementNS(w,"tspan");D.textContent="",P(D,{x:Number(O.getAttribute("x")),dy:-y}),l.appendChild(D),n.insertBefore(l,n.firstChild)}}attr(f,O,j,W){let{element:et}=this,l=A.symbolCustomAttribs,n,y,D=this,i;return typeof f=="string"&&O!==void 0&&(n=f,(f={})[n]=O),typeof f=="string"?D=(this[f+"Getter"]||this._defaultGetter).call(this,f,et):(e(f,function(p,d){i=!1,W||dt(this,d),this.symbolName&&l.indexOf(d)!==-1&&(y||(this.symbolAttr(f),y=!0),i=!0),this.rotation&&(d==="x"||d==="y")&&(this.doTransform=!0),i||(this[d+"Setter"]||this._defaultSetter).call(this,p,d,et)},this),this.afterSetters()),j&&j.call(this),D}clip(f){if(f&&!f.clipPath){let O=h()+"-",j=this.renderer.createElement("clipPath").attr({id:O}).add(this.renderer.defs);S(f,{clipPath:j,id:O,count:0}),f.add(j)}return this.attr("clip-path",f?`url(${this.renderer.url}#${f.id})`:"none")}crisp(f,O){O=Math.round(O||f.strokeWidth||0);let j=f.x||this.x||0,W=f.y||this.y||0,et=(f.width||this.width||0)+j,l=(f.height||this.height||0)+W,n=x(j,O),y=x(W,O);return S(f,{x:n,y,width:x(et,O)-n,height:x(l,O)-y}),T(f.strokeWidth)&&(f.strokeWidth=O),f}complexColor(f,O,j){let W=this.renderer,et,l,n,y,D,i,p,d,M,C,R=[],X;G(this.renderer,"complexColor",{args:arguments},function(){if(f.radialGradient?l="radialGradient":f.linearGradient&&(l="linearGradient"),l){if(n=f[l],D=W.gradients,i=f.stops,M=j.radialReference,E(n)&&(f[l]=n={x1:n[0],y1:n[1],x2:n[2],y2:n[3],gradientUnits:"userSpaceOnUse"}),l==="radialGradient"&&M&&!T(n.gradientUnits)&&(y=n,n=s(n,W.getRadialAttr(M,y),{gradientUnits:"userSpaceOnUse"})),e(n,function(U,Z){Z!=="id"&&R.push(Z,U)}),e(i,function(U){R.push(U)}),D[R=R.join(",")])C=D[R].attr("id");else{n.id=C=h();let U=D[R]=W.createElement(l).attr(n).add(W.defs);U.radAttr=y,U.stops=[],i.forEach(function(Z){Z[1].indexOf("rgba")===0?(p=(et=q.parse(Z[1])).get("rgb"),d=et.get("a")):(p=Z[1],d=1);let at=W.createElement("stop").attr({offset:Z[0],"stop-color":p,"stop-opacity":d}).add(U);U.stops.push(at)})}X="url("+W.url+"#"+C+")",j.setAttribute(O,X),j.gradient=R,f.toString=function(){return X}}})}css(f){let O=this.styles,j={},W=this.element,et,l=!O;if(O&&e(f,function(n,y){O&&O[y]!==n&&(j[y]=n,l=!0)}),l){O&&(f=S(O,j)),f.width===null||f.width==="auto"?delete this.textWidth:W.nodeName.toLowerCase()==="text"&&f.width&&(et=this.textWidth=r(f.width)),S(this.styles,f),et&&!V&&this.renderer.forExport&&delete f.width;let n=s(f);W.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","width"].forEach(y=>n&&delete n[y]),n.color&&(n.fill=n.color)),v(W,n)}return this.added&&(this.element.nodeName==="text"&&this.renderer.buildText(this),f.textOutline&&this.applyTextOutline(f.textOutline)),this}dashstyleSetter(f){let O,j=this["stroke-width"];if(j==="inherit"&&(j=1),f=f&&f.toLowerCase()){let W=f.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(O=W.length;O--;)W[O]=""+r(W[O])*t(j,NaN);f=W.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",f)}}destroy(){var y;let f=this,O=f.element||{},j=f.renderer,W=O.ownerSVGElement,et=O.nodeName==="SPAN"&&f.parentGroup||void 0,l,n;if(O.onclick=O.onmouseout=O.onmouseover=O.onmousemove=O.point=null,dt(f),f.clipPath&&W){let D=f.clipPath;[].forEach.call(W.querySelectorAll("[clip-path],[CLIP-PATH]"),function(i){i.getAttribute("clip-path").indexOf(D.element.id)>-1&&i.removeAttribute("clip-path")}),f.clipPath=D.destroy()}if(f.connector=(y=f.connector)==null?void 0:y.destroy(),f.stops){for(n=0;n<f.stops.length;n++)f.stops[n].destroy();f.stops.length=0,f.stops=void 0}for(f.safeRemoveChild(O);et&&et.div&&et.div.childNodes.length===0;)l=et.parentGroup,f.safeRemoveChild(et.div),delete et.div,et=l;f.alignOptions&&c(j.alignedObjects,f),e(f,function(D,i){f[i]&&f[i].parentGroup===f&&f[i].destroy&&f[i].destroy(),delete f[i]})}dSetter(f,O,j){E(f)&&(typeof f[0]=="string"&&(f=this.renderer.pathToSegments(f)),this.pathArray=f,f=f.reduce((W,et,l)=>et&&et.join?(l?W+" ":"")+et.join(" "):(et||"").toString(),"")),/(NaN| {2}|^$)/.test(f)&&(f="M 0 0"),this[O]!==f&&(j.setAttribute(O,f),this[O]=f)}fillSetter(f,O,j){typeof f=="string"?j.setAttribute(O,f):f&&this.complexColor(f,O,j)}hrefSetter(f,O,j){j.setAttributeNS("http://www.w3.org/1999/xlink",O,f)}getBBox(f,O){let j,W,et,l,{alignValue:n,element:y,renderer:D,styles:i,textStr:p}=this,{cache:d,cacheKeys:M}=D,C=y.namespaceURI===this.SVG_NS,R=t(O,this.rotation,0),X=D.styledMode?y&&A.prototype.getStyle.call(y,"font-size"):i.fontSize;if(T(p)&&((l=p.toString()).indexOf("<")===-1&&(l=l.replace(/\d/g,"0")),l+=["",D.rootFontSize,X,R,this.textWidth,n,i.textOverflow,i.fontWeight].join(",")),l&&!f&&(j=d[l]),!j||j.polygon){if(C||D.forExport){try{et=this.fakeTS&&function(Z){let at=y.querySelector(".highcharts-text-outline");at&&v(at,{display:Z})},k(et)&&et("none"),j=y.getBBox?S({},y.getBBox()):{width:y.offsetWidth,height:y.offsetHeight,x:0,y:0},k(et)&&et("")}catch{}(!j||j.width<0)&&(j={x:0,y:0,width:0,height:0})}else j=this.htmlGetBBox();W=j.height,C&&(j.height=W={"11px,17":14,"13px,20":16}[`${X||""},${Math.round(W)}`]||W),R&&(j=this.getRotatedBox(j,R));let U={bBox:j};G(this,"afterGetBBox",U),j=U.bBox}if(l&&(p===""||j.height>0)){for(;M.length>250;)delete d[M.shift()];d[l]||M.push(l),d[l]=j}return j}getRotatedBox(f,O){let{x:j,y:W,width:et,height:l}=f,{alignValue:n,translateY:y,rotationOriginX:D=0,rotationOriginY:i=0}=this,p={right:1,center:.5}[n||0]||0,d=Number(this.element.getAttribute("y")||0)-(y?0:W),M=O*K,C=(O-90)*K,R=Math.cos(M),X=Math.sin(M),U=et*R,Z=et*X,at=Math.cos(C),rt=Math.sin(C),[[z,L],[N,F]]=[D,i].map(St=>[St-St*R,St*X]),Q=j+p*(et-U)+z+F+d*at,it=Q+U,tt=it-l*at,ot=tt-U,ht=W+d-p*Z-L+N+d*rt,ct=ht+Z,ut=ct-l*rt,ft=ut-Z,bt=Math.min(Q,it,tt,ot),vt=Math.min(ht,ct,ut,ft),xt=Math.max(Q,it,tt,ot)-bt,mt=Math.max(ht,ct,ut,ft)-vt;return{x:bt,y:vt,width:xt,height:mt,polygon:[[Q,ht],[it,ct],[tt,ut],[ot,ft]]}}getStyle(f){return B.getComputedStyle(this.element||this,"").getPropertyValue(f)}hasClass(f){return(""+this.attr("class")).split(" ").indexOf(f)!==-1}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(f,O){this.onEvents={},this.opacity=1,this.SVG_NS=w,this.element=O==="span"||O==="body"?u(O):$.createElementNS(this.SVG_NS,O),this.renderer=f,this.styles={},G(this,"afterInit")}on(f,O){let{onEvents:j}=this;return j[f]&&j[f](),j[f]=I(this.element,f,O),this}opacitySetter(f,O,j){let W=Number(Number(f).toFixed(3));this.opacity=W,j.setAttribute(O,W)}reAlign(){var f;(f=this.alignOptions)!=null&&f.width&&this.alignOptions.align!=="left"&&(this.alignOptions.width=this.getBBox().width,this.placed=!1,this.align())}removeClass(f){return this.attr("class",(""+this.attr("class")).replace(g(f)?RegExp(`(^| )${f}( |$)`):f," ").replace(/ +/g," ").trim())}removeTextOutline(){let f=this.element.querySelector("tspan.highcharts-text-outline");f&&this.safeRemoveChild(f)}safeRemoveChild(f){let O=f.parentNode;O&&O.removeChild(f)}setRadialReference(f){let O=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=f,O&&O.radAttr&&O.animate(this.renderer.getRadialAttr(f,O.radAttr)),this}shadow(f){var et;let{renderer:O}=this,j=s(((et=this.parentGroup)==null?void 0:et.rotation)===90?{offsetX:-1,offsetY:-1}:{},o(f)?f:{}),W=O.shadowDefinition(j);return this.attr({filter:f?`url(${O.url}#${W})`:"none"})}show(f=!0){return this.attr({visibility:f?"inherit":"visible"})}"stroke-widthSetter"(f,O,j){this[O]=f,j.setAttribute(O,f)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let f=this.getStyle("stroke-width"),O=0,j;return/px$/.test(f)?O=r(f):f!==""&&(P(j=$.createElementNS(w,"rect"),{width:f,"stroke-width":0}),this.element.parentNode.appendChild(j),O=j.getBBox().width,j.parentNode.removeChild(j)),O}symbolAttr(f){let O=this;A.symbolCustomAttribs.forEach(function(j){O[j]=t(f[j],O[j])}),O.attr({d:O.renderer.symbols[O.symbolName](O.x,O.y,O.width,O.height,O)})}textSetter(f){f!==this.textStr&&(delete this.textPxLength,this.textStr=f,this.added&&this.renderer.buildText(this),this.reAlign())}titleSetter(f){let O=this.element,j=O.getElementsByTagName("title")[0]||$.createElementNS(this.SVG_NS,"title");O.insertBefore?O.insertBefore(j,O.firstChild):O.appendChild(j),j.textContent=m(t(f,""),[/<[^>]*>/g,""]).replace(/</g,"<").replace(/>/g,">")}toFront(){let f=this.element;return f.parentNode.appendChild(f),this}translate(f,O){return this.attr({translateX:f,translateY:O})}updateTransform(f="transform"){var d;let{element:O,matrix:j,rotation:W=0,rotationOriginX:et,rotationOriginY:l,scaleX:n,scaleY:y,translateX:D=0,translateY:i=0}=this,p=["translate("+D+","+i+")"];T(j)&&p.push("matrix("+j.join(",")+")"),W&&(p.push("rotate("+W+" "+t(et,O.getAttribute("x"),0)+" "+t(l,O.getAttribute("y")||0)+")"),((d=this.text)==null?void 0:d.element.tagName)==="SPAN"&&this.text.attr({rotation:W,rotationOriginX:(et||0)-this.padding,rotationOriginY:(l||0)-this.padding})),(T(n)||T(y))&&p.push("scale("+t(n,1)+" "+t(y,1)+")"),p.length&&!(this.text||this).textPath&&O.setAttribute(f,p.join(" "))}visibilitySetter(f,O,j){f==="inherit"?j.removeAttribute(O):this[O]!==f&&j.setAttribute(O,f),this[O]=f}xGetter(f){return this.element.nodeName==="circle"&&(f==="x"?f="cx":f==="y"&&(f="cy")),this._defaultGetter(f)}zIndexSetter(f,O){let j=this.renderer,W=this.parentGroup,et=(W||j).element||j.box,l=this.element,n=et===j.box,y,D,i,p=!1,d,M=this.added,C;if(T(f)?(l.setAttribute("data-z-index",f),f=+f,this[O]===f&&(M=!1)):T(this[O])&&l.removeAttribute("data-z-index"),this[O]=f,M){for((f=this.zIndex)&&W&&(W.handleZ=!0),C=(y=et.childNodes).length-1;C>=0&&!p;C--)d=!T(i=(D=y[C]).getAttribute("data-z-index")),D!==l&&(f<0&&d&&!n&&!C?(et.insertBefore(l,y[C]),p=!0):(r(i)<=f||d&&(!T(f)||f>=0))&&(et.insertBefore(l,y[C+1]),p=!0));p||(et.insertBefore(l,y[n?3:0]),p=!0)}return p}}return A.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],A.prototype.strokeSetter=A.prototype.fillSetter,A.prototype.yGetter=A.prototype.xGetter,A.prototype.matrixSetter=A.prototype.rotationOriginXSetter=A.prototype.rotationOriginYSetter=A.prototype.rotationSetter=A.prototype.scaleXSetter=A.prototype.scaleYSetter=A.prototype.translateXSetter=A.prototype.translateYSetter=A.prototype.verticalAlignSetter=function(Y,f){this[f]=Y,this.doTransform=!0},A}),yt(H,"Core/Renderer/SVG/SVGLabel.js",[H["Core/Renderer/SVG/SVGElement.js"],H["Core/Utilities.js"]],function(_,q){let{defined:J,extend:lt,isNumber:nt,merge:st,pick:dt,removeEvent:K}=q;class $ extends _{constructor(w,B,I,P,u,x,v,T,c,S){let G;super(w,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.doUpdate=!1,this.textStr=B,this.x=I,this.y=P,this.anchorX=x,this.anchorY=v,this.baseline=c,this.className=S,this.addClass(S==="button"?"highcharts-no-tooltip":"highcharts-label"),S&&this.addClass("highcharts-"+S),this.text=w.text(void 0,0,0,T).attr({zIndex:1}),typeof u=="string"&&((G=/^url\((.*?)\)$/.test(u))||this.renderer.symbols[u])&&(this.symbolKey=u),this.bBox=$.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=w.styledMode||G,this.deferredAttr={},this.alignFactor=0}alignSetter(w){let B={left:0,center:.5,right:1}[w];B!==this.alignFactor&&(this.alignFactor=B,this.bBox&&nt(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(w,B){this.anchorX=w,this.boxAttr(B,Math.round(w)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(w,B){this.anchorY=w,this.boxAttr(B,w-this.ySetting)}boxAttr(w,B){this.box?this.box.attr(w,B):this.deferredAttr[w]=B}css(w){if(w){let B={};w=st(w),$.textProps.forEach(I=>{w[I]!==void 0&&(B[I]=w[I],delete w[I])}),this.text.css(B),"fontSize"in B||"fontWeight"in B?this.updateTextPadding():("width"in B||"textOverflow"in B)&&this.updateBoxSize()}return _.prototype.css.call(this,w)}destroy(){K(this.element,"mouseenter"),K(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),_.prototype.destroy.call(this)}fillSetter(w,B){w&&(this.needsBox=!0),this.fill=w,this.boxAttr(B,w)}getBBox(w,B){this.textStr&&this.bBox.width===0&&this.bBox.height===0&&this.updateBoxSize();let{padding:I,height:P=0,translateX:u=0,translateY:x=0,width:v=0}=this,T=dt(this.paddingLeft,I),c=B??(this.rotation||0),S={width:v,height:P,x:u+this.bBox.x-T,y:x+this.bBox.y-I+this.baselineOffset};return c&&(S=this.getRotatedBox(S,c)),S}getCrispAdjust(){return(this.renderer.styledMode&&this.box?this.box.strokeWidth():this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(w){this.heightSetting=w,this.doUpdate=!0}afterSetters(){super.afterSetters(),this.doUpdate&&(this.updateBoxSize(),this.doUpdate=!1)}onAdd(){this.text.add(this),this.attr({text:dt(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&J(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(w,B){nt(w)?w!==this[B]&&(this[B]=w,this.updateTextPadding()):this[B]=void 0}rSetter(w,B){this.boxAttr(B,w)}strokeSetter(w,B){this.stroke=w,this.boxAttr(B,w)}"stroke-widthSetter"(w,B){w&&(this.needsBox=!0),this["stroke-width"]=w,this.boxAttr(B,w)}"text-alignSetter"(w){this.textAlign=w}textSetter(w){w!==void 0&&this.text.attr({text:w}),this.updateTextPadding(),this.reAlign()}updateBoxSize(){let w,B=this.text,I={},P=this.padding,u=this.bBox=(!nt(this.widthSetting)||!nt(this.heightSetting)||this.textAlign)&&J(B.textStr)?B.getBBox(void 0,0):$.emptyBBox;this.width=this.getPaddedWidth(),this.height=(this.heightSetting||u.height||0)+2*P;let x=this.renderer.fontMetrics(B);if(this.baselineOffset=P+Math.min((this.text.firstLineMetrics||x).b,u.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-x.h)/2),this.needsBox&&!B.textPath){if(!this.box){let v=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();v.addClass((this.className==="button"?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),v.add(this)}w=this.getCrispAdjust(),I.x=w,I.y=(this.baseline?-this.baselineOffset:0)+w,I.width=Math.round(this.width),I.height=Math.round(this.height),this.box.attr(lt(I,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let w=this.text;if(!w.textPath){this.updateBoxSize();let B=this.baseline?0:this.baselineOffset,I=dt(this.paddingLeft,this.padding);J(this.widthSetting)&&this.bBox&&(this.textAlign==="center"||this.textAlign==="right")&&(I+={center:.5,right:1}[this.textAlign]*(this.widthSetting-this.bBox.width)),(I!==w.x||B!==w.y)&&(w.attr("x",I),w.hasBoxWidthChanged&&(this.bBox=w.getBBox(!0)),B!==void 0&&w.attr("y",B)),w.x=I,w.y=B}}widthSetter(w){this.widthSetting=nt(w)?w:void 0,this.doUpdate=!0}getPaddedWidth(){let w=this.padding,B=dt(this.paddingLeft,w),I=dt(this.paddingRight,w);return(this.widthSetting||this.bBox.width||0)+B+I}xSetter(w){this.x=w,this.alignFactor&&(w-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(w),this.attr("translateX",this.xSetting)}ySetter(w){this.ySetting=this.y=Math.round(w),this.attr("translateY",this.ySetting)}}return $.emptyBBox={width:0,height:0,x:0,y:0},$.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"],$}),yt(H,"Core/Renderer/SVG/Symbols.js",[H["Core/Utilities.js"]],function(_){let{defined:q,isNumber:J,pick:lt}=_;function nt(K,$,V,w,B){let I=[];if(B){let P=B.start||0,u=lt(B.r,V),x=lt(B.r,w||V),v=2e-4/(B.borderRadius?1:Math.max(u,1)),T=Math.abs((B.end||0)-P-2*Math.PI)<v,c=(B.end||0)-(T?v:0),S=B.innerR,G=lt(B.open,T),E=Math.cos(P),k=Math.sin(P),o=Math.cos(c),g=Math.sin(c),s=lt(B.longArc,c-P-Math.PI<v?0:1),e=["A",u,x,0,s,lt(B.clockwise,1),K+u*o,$+x*g];e.params={start:P,end:c,cx:K,cy:$},I.push(["M",K+u*E,$+x*k],e),q(S)&&((e=["A",S,S,0,s,q(B.clockwise)?1-B.clockwise:0,K+S*E,$+S*k]).params={start:c,end:P,cx:K,cy:$},I.push(G?["M",K+S*o,$+S*g]:["L",K+S*o,$+S*g],e)),G||I.push(["Z"])}return I}function st(K,$,V,w,B){return B&&B.r?dt(K,$,V,w,B):[["M",K,$],["L",K+V,$],["L",K+V,$+w],["L",K,$+w],["Z"]]}function dt(K,$,V,w,B){let I=(B==null?void 0:B.r)||0;return[["M",K+I,$],["L",K+V-I,$],["A",I,I,0,0,1,K+V,$+I],["L",K+V,$+w-I],["A",I,I,0,0,1,K+V-I,$+w],["L",K+I,$+w],["A",I,I,0,0,1,K,$+w-I],["L",K,$+I],["A",I,I,0,0,1,K+I,$],["Z"]]}return{arc:nt,callout:function(K,$,V,w,B){let I=Math.min(B&&B.r||0,V,w),P=I+6,u=B&&B.anchorX,x=B&&B.anchorY||0,v=dt(K,$,V,w,{r:I});if(!J(u)||u<V&&u>0&&x<w&&x>0)return v;if(K+u>V-P)if(x>$+P&&x<$+w-P)v.splice(3,1,["L",K+V,x-6],["L",K+V+6,x],["L",K+V,x+6],["L",K+V,$+w-I]);else if(u<V){let T=x<$+P,c=T?$:$+w;v.splice(T?2:5,0,["L",u,x],["L",K+V-I,c])}else v.splice(3,1,["L",K+V,w/2],["L",u,x],["L",K+V,w/2],["L",K+V,$+w-I]);else if(K+u<P)if(x>$+P&&x<$+w-P)v.splice(7,1,["L",K,x+6],["L",K-6,x],["L",K,x-6],["L",K,$+I]);else if(u>0){let T=x<$+P,c=T?$:$+w;v.splice(T?1:6,0,["L",u,x],["L",K+I,c])}else v.splice(7,1,["L",K,w/2],["L",u,x],["L",K,w/2],["L",K,$+I]);else x>w&&u<V-P?v.splice(5,1,["L",u+6,$+w],["L",u,$+w+6],["L",u-6,$+w],["L",K+I,$+w]):x<0&&u>P&&v.splice(1,1,["L",u-6,$],["L",u,$-6],["L",u+6,$],["L",V-I,$]);return v},circle:function(K,$,V,w){return nt(K+V/2,$+w/2,V/2,w/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(K,$,V,w){return[["M",K+V/2,$],["L",K+V,$+w/2],["L",K+V/2,$+w],["L",K,$+w/2],["Z"]]},rect:st,roundedRect:dt,square:st,triangle:function(K,$,V,w){return[["M",K+V/2,$],["L",K+V,$+w],["L",K,$+w],["Z"]]},"triangle-down":function(K,$,V,w){return[["M",K,$],["L",K+V,$],["L",K+V/2,$+w],["Z"]]}}}),yt(H,"Core/Renderer/SVG/TextBuilder.js",[H["Core/Renderer/HTML/AST.js"],H["Core/Globals.js"],H["Core/Utilities.js"]],function(_,q,J){let{doc:lt,SVG_NS:nt,win:st}=q,{attr:dt,extend:K,fireEvent:$,isString:V,objectEach:w,pick:B}=J;return class{constructor(I){let P=I.styles;this.renderer=I.renderer,this.svgElement=I,this.width=I.textWidth,this.textLineHeight=P&&P.lineHeight,this.textOutline=P&&P.textOutline,this.ellipsis=!!(P&&P.textOverflow==="ellipsis"),this.noWrap=!!(P&&P.whiteSpace==="nowrap")}buildSVG(){let I=this.svgElement,P=I.element,u=I.renderer,x=B(I.textStr,"").toString(),v=x.indexOf("<")!==-1,T=P.childNodes,c=!I.added&&u.box,S=[x,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,I.getStyle("font-size"),this.width].join(",");if(S!==I.textCache){I.textCache=S,delete I.actualWidth;for(let G=T.length;G--;)P.removeChild(T[G]);if(v||this.ellipsis||this.width||I.textPath||x.indexOf(" ")!==-1&&(!this.noWrap||/<br.*?>/g.test(x))){if(x!==""){c&&c.appendChild(P);let G=new _(x);this.modifyTree(G.nodes),G.addToDOM(P),this.modifyDOM(),this.ellipsis&&(P.textContent||"").indexOf("…")!==-1&&I.attr("title",this.unescapeEntities(I.textStr||"",["<",">"])),c&&c.removeChild(P)}}else P.appendChild(lt.createTextNode(this.unescapeEntities(x)));V(this.textOutline)&&I.applyTextOutline&&I.applyTextOutline(this.textOutline)}}modifyDOM(){let I,P=this.svgElement,u=dt(P.element,"x");for(P.firstLineMetrics=void 0;(I=P.element.firstChild)&&/^[\s\u200B]*$/.test(I.textContent||" ");)P.element.removeChild(I);[].forEach.call(P.element.querySelectorAll("tspan.highcharts-br"),(c,S)=>{c.nextSibling&&c.previousSibling&&(S===0&&c.previousSibling.nodeType===1&&(P.firstLineMetrics=P.renderer.fontMetrics(c.previousSibling)),dt(c,{dy:this.getLineHeight(c.nextSibling),x:u}))});let x=this.width||0;if(!x)return;let v=(c,S)=>{let G=c.textContent||"",E=G.replace(/([^\^])-/g,"$1- ").split(" "),k=!this.noWrap&&(E.length>1||P.element.childNodes.length>1),o=this.getLineHeight(S),g=0,s=P.actualWidth;if(this.ellipsis)G&&this.truncate(c,G,void 0,0,Math.max(0,x-.8*o),(e,t)=>e.substring(0,t)+"…");else if(k){let e=[],t=[];for(;S.firstChild&&S.firstChild!==c;)t.push(S.firstChild),S.removeChild(S.firstChild);for(;E.length;)E.length&&!this.noWrap&&g>0&&(e.push(c.textContent||""),c.textContent=E.join(" ").replace(/- /g,"-")),this.truncate(c,void 0,E,g===0&&s||0,x,(r,a)=>E.slice(0,a).join(" ").replace(/- /g,"-")),s=P.actualWidth,g++;t.forEach(r=>{S.insertBefore(r,c)}),e.forEach(r=>{S.insertBefore(lt.createTextNode(r),c);let a=lt.createElementNS(nt,"tspan");a.textContent="",dt(a,{dy:o,x:u}),S.insertBefore(a,c)})}},T=c=>{[].slice.call(c.childNodes).forEach(S=>{S.nodeType===st.Node.TEXT_NODE?v(S,c):(S.className.baseVal.indexOf("highcharts-br")!==-1&&(P.actualWidth=0),T(S))})};T(P.element)}getLineHeight(I){let P=I.nodeType===st.Node.TEXT_NODE?I.parentElement:I;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(P||this.svgElement.element).h}modifyTree(I){let P=(u,x)=>{let{attributes:v={},children:T,style:c={},tagName:S}=u,G=this.renderer.styledMode;if(S==="b"||S==="strong"?G?v.class="highcharts-strong":c.fontWeight="bold":(S==="i"||S==="em")&&(G?v.class="highcharts-emphasized":c.fontStyle="italic"),c&&c.color&&(c.fill=c.color),S==="br"){v.class="highcharts-br",u.textContent="";let E=I[x+1];E&&E.textContent&&(E.textContent=E.textContent.replace(/^ +/gm,""))}else S==="a"&&T&&T.some(E=>E.tagName==="#text")&&(u.children=[{children:T,tagName:"tspan"}]);S!=="#text"&&S!=="a"&&(u.tagName="tspan"),K(u,{attributes:v,style:c}),T&&T.filter(E=>E.tagName!=="#text").forEach(P)};I.forEach(P),$(this.svgElement,"afterModifyTree",{nodes:I})}truncate(I,P,u,x,v,T){let c,S,G=this.svgElement,{rotation:E}=G,k=[],o=u?1:0,g=(P||u||"").length,s=g,e=function(t,r){let a=r||t,m=I.parentNode;if(m&&k[a]===void 0&&m.getSubStringLength)try{k[a]=x+m.getSubStringLength(0,u?a+1:a)}catch{}return k[a]};if(G.rotation=0,x+(S=e(I.textContent.length))>v){for(;o<=g;)s=Math.ceil((o+g)/2),u&&(c=T(u,s)),S=e(s,c&&c.length-1),o===g?o=g+1:S>v?g=s-1:o=s;g===0?I.textContent="":P&&g===P.length-1||(I.textContent=c||T(P||u,s))}u&&u.splice(0,s),G.actualWidth=S,G.rotation=E}unescapeEntities(I,P){return w(this.renderer.escapes,function(u,x){P&&P.indexOf(u)!==-1||(I=I.toString().replace(RegExp(u,"g"),x))}),I}}}),yt(H,"Core/Renderer/SVG/SVGRenderer.js",[H["Core/Renderer/HTML/AST.js"],H["Core/Defaults.js"],H["Core/Color/Color.js"],H["Core/Globals.js"],H["Core/Renderer/RendererRegistry.js"],H["Core/Renderer/SVG/SVGElement.js"],H["Core/Renderer/SVG/SVGLabel.js"],H["Core/Renderer/SVG/Symbols.js"],H["Core/Renderer/SVG/TextBuilder.js"],H["Core/Utilities.js"]],function(_,q,J,lt,nt,st,dt,K,$,V){let w,{defaultOptions:B}=q,{charts:I,deg2rad:P,doc:u,isFirefox:x,isMS:v,isWebKit:T,noop:c,SVG_NS:S,symbolSizes:G,win:E}=lt,{addEvent:k,attr:o,createElement:g,crisp:s,css:e,defined:t,destroyObjectProperties:r,extend:a,isArray:m,isNumber:b,isObject:h,isString:A,merge:Y,pick:f,pInt:O,replaceNested:j,uniqueKey:W}=V;class et{constructor(n,y,D,i,p,d,M){let C,R,X=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),U=X.element;M||X.css(this.getStyle(i||{})),n.appendChild(U),o(n,"dir","ltr"),n.innerHTML.indexOf("xmlns")===-1&&o(U,"xmlns",this.SVG_NS),this.box=U,this.boxWrapper=X,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(u.createTextNode("Created with Highcharts 11.4.8")),this.defs=this.createElement("defs").add(),this.allowHTML=d,this.forExport=p,this.styledMode=M,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=X.getStyle("font-size"),this.setSize(y,D,!1),x&&n.getBoundingClientRect&&((C=function(){e(n,{left:0,top:0}),R=n.getBoundingClientRect(),e(n,{left:Math.ceil(R.left)-R.left+"px",top:Math.ceil(R.top)-R.top+"px"})})(),this.unSubPixelFix=k(E,"resize",C))}definition(n){return new _([n]).addToDOM(this.defs.element)}getReferenceURL(){if((x||T)&&u.getElementsByTagName("base").length){if(!t(w)){let n=W(),y=new _([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:n},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${n})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(u.body);e(y,{position:"fixed",top:0,left:0,zIndex:9e5});let D=u.elementFromPoint(6,6);w=(D&&D.id)==="hitme",u.body.removeChild(y)}if(w)return j(E.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"])}return""}getStyle(n){return this.style=a({fontFamily:"Helvetica, Arial, sans-serif",fontSize:"1rem"},n),this.style}setStyle(n){this.boxWrapper.css(this.getStyle(n))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let n=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),r(this.gradients||{}),this.gradients=null,this.defs=n.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null,null}createElement(n){return new this.Element(this,n)}getRadialAttr(n,y){return{cx:n[0]-n[2]/2+(y.cx||0)*n[2],cy:n[1]-n[2]/2+(y.cy||0)*n[2],r:(y.r||0)*n[2]}}shadowDefinition(n){let y=[`highcharts-drop-shadow-${this.chartIndex}`,...Object.keys(n).map(i=>`${i}-${n[i]}`)].join("-").toLowerCase().replace(/[^a-z\d\-]/g,""),D=Y({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},n);return this.defs.element.querySelector(`#${y}`)||this.definition({tagName:"filter",attributes:{id:y,filterUnits:D.filterUnits},children:this.getShadowFilterContent(D)}),y}getShadowFilterContent(n){return[{tagName:"feDropShadow",attributes:{dx:n.offsetX,dy:n.offsetY,"flood-color":n.color,"flood-opacity":Math.min(5*n.opacity,1),stdDeviation:n.width/2}}]}buildText(n){new $(n).buildSVG()}getContrast(n){let y=J.parse(n).rgba.map(i=>{let p=i/255;return p<=.03928?p/12.92:Math.pow((p+.055)/1.055,2.4)}),D=.2126*y[0]+.7152*y[1]+.0722*y[2];return 1.05/(D+.05)>(D+.05)/.05?"#FFFFFF":"#000000"}button(n,y,D,i,p={},d,M,C,R,X){let U=this.label(n,y,D,R,void 0,void 0,X,void 0,"button"),Z=this.styledMode,at=arguments,rt=0;p=Y(B.global.buttonTheme,p),Z&&(delete p.fill,delete p.stroke,delete p["stroke-width"]);let z=p.states||{},L=p.style||{};delete p.states,delete p.style;let N=[_.filterUserAttributes(p)],F=[L];return Z||["hover","select","disabled"].forEach((Q,it)=>{N.push(Y(N[0],_.filterUserAttributes(at[it+5]||z[Q]||{}))),F.push(N[it+1].style),delete N[it+1].style}),k(U.element,v?"mouseover":"mouseenter",function(){rt!==3&&U.setState(1)}),k(U.element,v?"mouseout":"mouseleave",function(){rt!==3&&U.setState(rt)}),U.setState=(Q=0)=>{if(Q!==1&&(U.state=rt=Q),U.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][Q]),!Z){U.attr(N[Q]);let it=F[Q];h(it)&&U.css(it)}},U.attr(N[0]),!Z&&(U.css(a({cursor:"default"},L)),X&&U.text.css({pointerEvents:"none"})),U.on("touchstart",Q=>Q.stopPropagation()).on("click",function(Q){rt!==3&&i.call(U,Q)})}crispLine(n,y){let[D,i]=n;return t(D[1])&&D[1]===i[1]&&(D[1]=i[1]=s(D[1],y)),t(D[2])&&D[2]===i[2]&&(D[2]=i[2]=s(D[2],y)),n}path(n){let y=this.styledMode?{}:{fill:"none"};return m(n)?y.d=n:h(n)&&a(y,n),this.createElement("path").attr(y)}circle(n,y,D){let i=h(n)?n:n===void 0?{}:{x:n,y,r:D},p=this.createElement("circle");return p.xSetter=p.ySetter=function(d,M,C){C.setAttribute("c"+M,d)},p.attr(i)}arc(n,y,D,i,p,d){let M;h(n)?(y=(M=n).y,D=M.r,i=M.innerR,p=M.start,d=M.end,n=M.x):M={innerR:i,start:p,end:d};let C=this.symbol("arc",n,y,D,D,M);return C.r=D,C}rect(n,y,D,i,p,d){let M=h(n)?n:n===void 0?{}:{x:n,y,r:p,width:Math.max(D||0,0),height:Math.max(i||0,0)},C=this.createElement("rect");return this.styledMode||(d!==void 0&&(M["stroke-width"]=d,a(M,C.crisp(M))),M.fill="none"),C.rSetter=function(R,X,U){C.r=R,o(U,{rx:R,ry:R})},C.rGetter=function(){return C.r||0},C.attr(M)}roundedRect(n){return this.symbol("roundedRect").attr(n)}setSize(n,y,D){this.width=n,this.height=y,this.boxWrapper.animate({width:n,height:y},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:f(D,!0)?void 0:0}),this.alignElements()}g(n){let y=this.createElement("g");return n?y.attr({class:"highcharts-"+n}):y}image(n,y,D,i,p,d){let M={preserveAspectRatio:"none"};b(y)&&(M.x=y),b(D)&&(M.y=D),b(i)&&(M.width=i),b(p)&&(M.height=p);let C=this.createElement("image").attr(M),R=function(X){C.attr({href:n}),d.call(C,X)};if(d){C.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let X=new E.Image;k(X,"load",R),X.src=n,X.complete&&R({})}else C.attr({href:n});return C}symbol(n,y,D,i,p,d){let M,C,R,X,U=this,Z=/^url\((.*?)\)$/,at=Z.test(n),rt=!at&&(this.symbols[n]?n:"circle"),z=rt&&this.symbols[rt];if(z)typeof y=="number"&&(C=z.call(this.symbols,y||0,D||0,i||0,p||0,d)),M=this.path(C),U.styledMode||M.attr("fill","none"),a(M,{symbolName:rt||void 0,x:y,y:D,width:i,height:p}),d&&a(M,d);else if(at){R=n.match(Z)[1];let L=M=this.image(R);L.imgwidth=f(d&&d.width,G[R]&&G[R].width),L.imgheight=f(d&&d.height,G[R]&&G[R].height),X=N=>N.attr({width:N.width,height:N.height}),["width","height"].forEach(N=>{L[`${N}Setter`]=function(F,Q){this[Q]=F;let{alignByTranslate:it,element:tt,width:ot,height:ht,imgwidth:ct,imgheight:ut}=this,ft=Q==="width"?ct:ut,bt=1;d&&d.backgroundSize==="within"&&ot&&ht&&ct&&ut?(bt=Math.min(ot/ct,ht/ut),o(tt,{width:Math.round(ct*bt),height:Math.round(ut*bt)})):tt&&ft&&tt.setAttribute(Q,ft),!it&&ct&&ut&&this.translate(((ot||0)-ct*bt)/2,((ht||0)-ut*bt)/2)}}),t(y)&&L.attr({x:y,y:D}),L.isImg=!0,L.symbolUrl=n,t(L.imgwidth)&&t(L.imgheight)?X(L):(L.attr({width:0,height:0}),g("img",{onload:function(){let N=I[U.chartIndex];this.width===0&&(e(this,{position:"absolute",top:"-999em"}),u.body.appendChild(this)),G[R]={width:this.width,height:this.height},L.imgwidth=this.width,L.imgheight=this.height,L.element&&X(L),this.parentNode&&this.parentNode.removeChild(this),U.imgCount--,U.imgCount||!N||N.hasLoaded||N.onload()},src:R}),this.imgCount++)}return M}clipRect(n,y,D,i){return this.rect(n,y,D,i,0)}text(n,y,D,i){let p={};if(i&&(this.allowHTML||!this.forExport))return this.html(n,y,D);p.x=Math.round(y||0),D&&(p.y=Math.round(D)),t(n)&&(p.text=n);let d=this.createElement("text").attr(p);return i&&(!this.forExport||this.allowHTML)||(d.xSetter=function(M,C,R){let X=R.getElementsByTagName("tspan"),U=R.getAttribute(C);for(let Z=0,at;Z<X.length;Z++)(at=X[Z]).getAttribute(C)===U&&at.setAttribute(C,M);R.setAttribute(C,M)}),d}fontMetrics(n){let y=O(st.prototype.getStyle.call(n,"font-size")||0),D=y<24?y+3:Math.round(1.2*y),i=Math.round(.8*D);return{h:D,b:i,f:y}}rotCorr(n,y,D){let i=n;return y&&D&&(i=Math.max(i*Math.cos(y*P),4)),{x:-n/3*Math.sin(y*P),y:i}}pathToSegments(n){let y=[],D=[],i={A:8,C:7,H:2,L:3,M:3,Q:5,S:5,T:3,V:2};for(let p=0;p<n.length;p++)A(D[0])&&b(n[p])&&D.length===i[D[0].toUpperCase()]&&n.splice(p,0,D[0].replace("M","L").replace("m","l")),typeof n[p]=="string"&&(D.length&&y.push(D.slice(0)),D.length=0),D.push(n[p]);return y.push(D.slice(0)),y}label(n,y,D,i,p,d,M,C,R){return new dt(this,n,y,D,i,p,d,M,C,R)}alignElements(){this.alignedObjects.forEach(n=>n.align())}}return a(et.prototype,{Element:st,SVG_NS:S,escapes:{"&":"&","<":"<",">":">","'":"'",'"':"""},symbols:K,draw:c}),nt.registerRendererType("svg",et,!0),et}),yt(H,"Core/Renderer/HTML/HTMLElement.js",[H["Core/Renderer/HTML/AST.js"],H["Core/Globals.js"],H["Core/Renderer/SVG/SVGElement.js"],H["Core/Utilities.js"]],function(_,q,J,lt){let{composed:nt}=q,{attr:st,css:dt,createElement:K,defined:$,extend:V,pInt:w,pushUnique:B}=lt;function I(v,T,c){var G;let S=((G=this.div)==null?void 0:G.style)||c.style;J.prototype[`${T}Setter`].call(this,v,T,c),S&&(S[T]=v)}let P=(v,T)=>{var c;if(!v.div){let S=st(v.element,"class"),G=v.css,E=K("div",S?{className:S}:void 0,{position:"absolute",left:`${v.translateX||0}px`,top:`${v.translateY||0}px`,...v.styles,display:v.display,opacity:v.opacity,visibility:v.visibility},((c=v.parentGroup)==null?void 0:c.div)||T);v.classSetter=(k,o,g)=>{g.setAttribute("class",k),E.className=k},v.translateXSetter=v.translateYSetter=(k,o)=>{v[o]=k,E.style[o==="translateX"?"left":"top"]=`${k}px`,v.doTransform=!0},v.opacitySetter=v.visibilitySetter=I,v.css=k=>(G.call(v,k),k.cursor&&(E.style.cursor=k.cursor),k.pointerEvents&&(E.style.pointerEvents=k.pointerEvents),v),v.on=function(){return J.prototype.on.apply({element:E,onEvents:v.onEvents},arguments),v},v.div=E}return v.div};class u extends J{static compose(T){B(nt,this.compose)&&(T.prototype.html=function(c,S,G){return new u(this,"span").attr({text:c,x:Math.round(S),y:Math.round(G)})})}constructor(T,c){super(T,c),this.css({position:"absolute",...T.styledMode?{}:{fontFamily:T.style.fontFamily,fontSize:T.style.fontSize}}),this.element.style.whiteSpace="nowrap"}getSpanCorrection(T,c,S){this.xCorr=-T*S,this.yCorr=-c}css(T){let c,{element:S}=this,G=S.tagName==="SPAN"&&T&&"width"in T,E=G&&T.width;return G&&(delete T.width,this.textWidth=w(E)||void 0,c=!0),(T==null?void 0:T.textOverflow)==="ellipsis"&&(T.whiteSpace="nowrap",T.overflow="hidden"),V(this.styles,T),dt(S,T),c&&this.updateTransform(),this}htmlGetBBox(){let{element:T}=this;return{x:T.offsetLeft,y:T.offsetTop,width:T.offsetWidth,height:T.offsetHeight}}updateTransform(){var b;if(!this.added){this.alignOnAdd=!0;return}let{element:T,renderer:c,rotation:S,rotationOriginX:G,rotationOriginY:E,styles:k,textAlign:o="left",textWidth:g,translateX:s=0,translateY:e=0,x:t=0,y:r=0}=this,a={left:0,center:.5,right:1}[o],m=k.whiteSpace;if(dt(T,{marginLeft:`${s}px`,marginTop:`${e}px`}),T.tagName==="SPAN"){let h=[S,o,T.innerHTML,g,this.textAlign].join(","),A=-(((b=this.parentGroup)==null?void 0:b.padding)*1)||0,Y,f=!1;if(g!==this.oldTextWidth){let l=this.textPxLength?this.textPxLength:(dt(T,{width:"",whiteSpace:m||"nowrap"}),T.offsetWidth),n=g||0;(n>this.oldTextWidth||l>n)&&(/[ \-]/.test(T.textContent||T.innerText)||T.style.textOverflow==="ellipsis")&&(dt(T,{width:l>n||S?g+"px":"auto",display:"block",whiteSpace:m||"normal"}),this.oldTextWidth=g,f=!0)}this.hasBoxWidthChanged=f,h!==this.cTT&&(Y=c.fontMetrics(T).b,$(S)&&(S!==(this.oldRotation||0)||o!==this.oldAlign)&&this.setSpanRotation(S,A,A),this.getSpanCorrection(!$(S)&&this.textPxLength||T.offsetWidth,Y,a));let{xCorr:O=0,yCorr:j=0}=this,W=(G??t)-O-t-A,et=(E??r)-j-r-A;dt(T,{left:`${t+O}px`,top:`${r+j}px`,transformOrigin:`${W}px ${et}px`}),this.cTT=h,this.oldRotation=S,this.oldAlign=o}}setSpanRotation(T,c,S){dt(this.element,{transform:`rotate(${T}deg)`,transformOrigin:`${c}% ${S}px`})}add(T){let c,S=this.renderer.box.parentNode,G=[];if(this.parentGroup=T,T&&!(c=T.div)){let E=T;for(;E;)G.push(E),E=E.parentGroup;for(let k of G.reverse())c=P(k,S)}return(c||S).appendChild(this.element),this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(T){T!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,_.setElementHTML(this.element,T??""),this.textStr=T,this.doTransform=!0)}alignSetter(T){this.alignValue=this.textAlign=T,this.doTransform=!0}xSetter(T,c){this[c]=T,this.doTransform=!0}}let x=u.prototype;return x.visibilitySetter=x.opacitySetter=I,x.ySetter=x.rotationSetter=x.rotationOriginXSetter=x.rotationOriginYSetter=x.xSetter,u}),yt(H,"Core/Axis/AxisDefaults.js",[],function(){var _,q;return(q=_||(_={})).xAxis={alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:"%H:%M:%S.%L",range:!1},second:{main:"%H:%M:%S",range:!1},minute:{main:"%H:%M",range:!1},hour:{main:"%H:%M",range:!1},day:{main:"%e %b"},week:{main:"%e %b"},month:{main:"%b '%y"},year:{main:"%Y"}},endOnTick:!1,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotationLimit:80,distance:15,enabled:!0,indentation:10,overflow:"justify",reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:"#333333",cursor:"default",fontSize:"0.8em"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minorTicksPerMajor:5,minPadding:.01,offset:void 0,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",useHTML:!1,x:0,y:0,style:{color:"#666666",fontSize:"0.8em"}},visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#333333",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#333333"},q.yAxis={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){let{numberFormatter:J}=this.axis.chart;return J(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},_}),yt(H,"Core/Foundation.js",[H["Core/Utilities.js"]],function(_){var q;let{addEvent:J,isFunction:lt,objectEach:nt,removeEvent:st}=_;return(q||(q={})).registerEventOptions=function(dt,K){dt.eventOptions=dt.eventOptions||{},nt(K.events,function($,V){dt.eventOptions[V]!==$&&(dt.eventOptions[V]&&(st(dt,V,dt.eventOptions[V]),delete dt.eventOptions[V]),lt($)&&(dt.eventOptions[V]=$,J(dt,V,$,{order:0})))})},q}),yt(H,"Core/Axis/Tick.js",[H["Core/Templating.js"],H["Core/Globals.js"],H["Core/Utilities.js"]],function(_,q,J){let{deg2rad:lt}=q,{clamp:nt,correctFloat:st,defined:dt,destroyObjectProperties:K,extend:$,fireEvent:V,isNumber:w,merge:B,objectEach:I,pick:P}=J;return class{constructor(u,x,v,T,c){this.isNew=!0,this.isNewLabel=!0,this.axis=u,this.pos=x,this.type=v||"",this.parameters=c||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,V(this,"init"),v||T||this.addLabel()}addLabel(){let u=this,x=u.axis,v=x.options,T=x.chart,c=x.categories,S=x.logarithmic,G=x.names,E=u.pos,k=P(u.options&&u.options.labels,v.labels),o=x.tickPositions,g=E===o[0],s=E===o[o.length-1],e=(!k.step||k.step===1)&&x.tickInterval===1,t=o.info,r=u.label,a,m,b,h=this.parameters.category||(c?P(c[E],G[E],E):E);S&&w(h)&&(h=st(S.lin2log(h))),x.dateTime&&(t?a=(m=T.time.resolveDTLFormat(v.dateTimeLabelFormats[!v.grid&&t.higherRanks[E]||t.unitName])).main:w(h)&&(a=x.dateTime.getXDateFormat(h,v.dateTimeLabelFormats||{}))),u.isFirst=g,u.isLast=s;let A={axis:x,chart:T,dateTimeLabelFormat:a,isFirst:g,isLast:s,pos:E,tick:u,tickPositionInfo:t,value:h};V(this,"labelFormat",A);let Y=j=>k.formatter?k.formatter.call(j,j):k.format?(j.text=x.defaultLabelFormatter.call(j),_.format(k.format,j,T)):x.defaultLabelFormatter.call(j),f=Y.call(A,A),O=m&&m.list;O?u.shortenLabel=function(){for(b=0;b<O.length;b++)if($(A,{dateTimeLabelFormat:O[b]}),r.attr({text:Y.call(A,A)}),r.getBBox().width<x.getSlotWidth(u)-2*(k.padding||0))return;r.attr({text:""})}:u.shortenLabel=void 0,e&&x._addedPlotLB&&u.moveLabel(f,k),dt(r)||u.movedLabel?r&&r.textStr!==f&&!e&&(!r.textWidth||k.style.width||r.styles.width||r.css({width:null}),r.attr({text:f}),r.textPxLength=r.getBBox().width):(u.label=r=u.createLabel(f,k),u.rotation=0)}createLabel(u,x,v){let T=this.axis,c=T.chart,S=dt(u)&&x.enabled?c.renderer.text(u,v==null?void 0:v.x,v==null?void 0:v.y,x.useHTML).add(T.labelGroup):void 0;return S&&(c.styledMode||S.css(B(x.style)),S.textPxLength=S.getBBox().width),S}destroy(){K(this,this.axis)}getPosition(u,x,v,T){let c=this.axis,S=c.chart,G=T&&S.oldChartHeight||S.chartHeight,E={x:u?st(c.translate(x+v,void 0,void 0,T)+c.transB):c.left+c.offset+(c.opposite?(T&&S.oldChartWidth||S.chartWidth)-c.right-c.left:0),y:u?G-c.bottom+c.offset-(c.opposite?c.height:0):st(G-c.translate(x+v,void 0,void 0,T)-c.transB)};return E.y=nt(E.y,-1e9,1e9),V(this,"afterGetPosition",{pos:E}),E}getLabelPosition(u,x,v,T,c,S,G,E){let k,o,g=this.axis,s=g.transA,e=g.isLinked&&g.linkedParent?g.linkedParent.reversed:g.reversed,t=g.staggerLines,r=g.tickRotCorr||{x:0,y:0},a=T||g.reserveSpaceDefault?0:-g.labelOffset*(g.labelAlign==="center"?.5:1),m=c.distance,b={};return k=g.side===0?v.rotation?-m:-v.getBBox().height:g.side===2?r.y+m:Math.cos(v.rotation*lt)*(r.y-v.getBBox(!1,0).height/2),dt(c.y)&&(k=g.side===0&&g.horiz?c.y+k:c.y),u=u+P(c.x,[0,1,0,-1][g.side]*m)+a+r.x-(S&&T?S*s*(e?-1:1):0),x=x+k-(S&&!T?S*s*(e?1:-1):0),t&&(o=G/(E||1)%t,g.opposite&&(o=t-o-1),x+=o*(g.labelOffset/t)),b.x=u,b.y=Math.round(x),V(this,"afterGetLabelPosition",{pos:b,tickmarkOffset:S,index:G}),b}getLabelSize(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0}getMarkPath(u,x,v,T,c=!1,S){return S.crispLine([["M",u,x],["L",u+(c?0:-v),x+(c?v:0)]],T)}handleOverflow(u){let x=this.axis,v=x.options.labels,T=u.x,c=x.chart.chartWidth,S=x.chart.spacing,G=P(x.labelLeft,Math.min(x.pos,S[3])),E=P(x.labelRight,Math.max(x.isRadial?0:x.pos+x.len,c-S[1])),k=this.label,o=this.rotation,g={left:0,center:.5,right:1}[x.labelAlign||k.attr("align")],s=k.getBBox().width,e=x.getSlotWidth(this),t={},r=e,a=1,m,b,h;o||v.overflow!=="justify"?o<0&&T-g*s<G?h=Math.round(T/Math.cos(o*lt)-G):o>0&&T+g*s>E&&(h=Math.round((c-T)/Math.cos(o*lt))):(m=T-g*s,b=T+(1-g)*s,m<G?r=u.x+r*(1-g)-G:b>E&&(r=E-u.x+r*g,a=-1),(r=Math.min(e,r))<e&&x.labelAlign==="center"&&(u.x+=a*(e-r-g*(e-Math.min(s,r)))),(s>r||x.autoRotation&&(k.styles||{}).width)&&(h=r)),h&&(this.shortenLabel?this.shortenLabel():(t.width=Math.floor(h)+"px",(v.style||{}).textOverflow||(t.textOverflow="ellipsis"),k.css(t)))}moveLabel(u,x){let v=this,T=v.label,c=v.axis,S=!1,G;T&&T.textStr===u?(v.movedLabel=T,S=!0,delete v.label):I(c.ticks,function(E){S||E.isNew||E===v||!E.label||E.label.textStr!==u||(v.movedLabel=E.label,S=!0,E.labelPos=v.movedLabel.xy,delete E.label)}),!S&&(v.labelPos||T)&&(G=v.labelPos||T.xy,v.movedLabel=v.createLabel(u,x,G),v.movedLabel&&v.movedLabel.attr({opacity:0}))}render(u,x,v){let T=this.axis,c=T.horiz,S=this.pos,G=P(this.tickmarkOffset,T.tickmarkOffset),E=this.getPosition(c,S,G,x),k=E.x,o=E.y,g=T.pos,s=g+T.len,e=c?k:o;!T.chart.polar&&this.isNew&&(st(e)<g||e>s)&&(v=0);let t=P(v,this.label&&this.label.newOpacity,1);v=P(v,1),this.isActive=!0,this.renderGridLine(x,v),this.renderMark(E,v),this.renderLabel(E,x,t,u),this.isNew=!1,V(this,"afterRender")}renderGridLine(u,x){let v=this.axis,T=v.options,c={},S=this.pos,G=this.type,E=P(this.tickmarkOffset,v.tickmarkOffset),k=v.chart.renderer,o=this.gridLine,g,s=T.gridLineWidth,e=T.gridLineColor,t=T.gridLineDashStyle;this.type==="minor"&&(s=T.minorGridLineWidth,e=T.minorGridLineColor,t=T.minorGridLineDashStyle),o||(v.chart.styledMode||(c.stroke=e,c["stroke-width"]=s||0,c.dashstyle=t),G||(c.zIndex=1),u&&(x=0),this.gridLine=o=k.path().attr(c).addClass("highcharts-"+(G?G+"-":"")+"grid-line").add(v.gridGroup)),o&&(g=v.getPlotLinePath({value:S+E,lineWidth:o.strokeWidth(),force:"pass",old:u,acrossPanes:!1}))&&o[u||this.isNew?"attr":"animate"]({d:g,opacity:x})}renderMark(u,x){let v=this.axis,T=v.options,c=v.chart.renderer,S=this.type,G=v.tickSize(S?S+"Tick":"tick"),E=u.x,k=u.y,o=P(T[S!=="minor"?"tickWidth":"minorTickWidth"],!S&&v.isXAxis?1:0),g=T[S!=="minor"?"tickColor":"minorTickColor"],s=this.mark,e=!s;G&&(v.opposite&&(G[0]=-G[0]),s||(this.mark=s=c.path().addClass("highcharts-"+(S?S+"-":"")+"tick").add(v.axisGroup),v.chart.styledMode||s.attr({stroke:g,"stroke-width":o})),s[e?"attr":"animate"]({d:this.getMarkPath(E,k,G[0],s.strokeWidth(),v.horiz,c),opacity:x}))}renderLabel(u,x,v,T){let c=this.axis,S=c.horiz,G=c.options,E=this.label,k=G.labels,o=k.step,g=P(this.tickmarkOffset,c.tickmarkOffset),s=u.x,e=u.y,t=!0;E&&w(s)&&(E.xy=u=this.getLabelPosition(s,e,E,S,k,g,T,o),(!this.isFirst||this.isLast||G.showFirstLabel)&&(!this.isLast||this.isFirst||G.showLastLabel)?!S||k.step||k.rotation||x||v===0||this.handleOverflow(u):t=!1,o&&T%o&&(t=!1),t&&w(u.y)?(u.opacity=v,E[this.isNewLabel?"attr":"animate"](u).show(!0),this.isNewLabel=!1):(E.hide(),this.isNewLabel=!0))}replaceMovedLabel(){let u=this.label,x=this.axis;u&&!this.isNew&&(u.animate({opacity:0},void 0,u.destroy),delete this.label),x.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel}}}),yt(H,"Core/Axis/Axis.js",[H["Core/Animation/AnimationUtilities.js"],H["Core/Axis/AxisDefaults.js"],H["Core/Color/Color.js"],H["Core/Defaults.js"],H["Core/Foundation.js"],H["Core/Globals.js"],H["Core/Axis/Tick.js"],H["Core/Utilities.js"]],function(_,q,J,lt,nt,st,dt,K){let{animObject:$}=_,{xAxis:V,yAxis:w}=q,{defaultOptions:B}=lt,{registerEventOptions:I}=nt,{deg2rad:P}=st,{arrayMax:u,arrayMin:x,clamp:v,correctFloat:T,defined:c,destroyObjectProperties:S,erase:G,error:E,extend:k,fireEvent:o,getClosestDistance:g,insertItem:s,isArray:e,isNumber:t,isString:r,merge:a,normalizeTickInterval:m,objectEach:b,pick:h,relativeLength:A,removeEvent:Y,splat:f,syncTimeout:O}=K,j=(et,l)=>m(l,void 0,void 0,h(et.options.allowDecimals,l<.5||et.tickAmount!==void 0),!!et.tickAmount);k(B,{xAxis:V,yAxis:a(V,w)});class W{constructor(l,n,y){this.init(l,n,y)}init(l,n,y=this.coll){let D=y==="xAxis",i=this.isZAxis||(l.inverted?!D:D);this.chart=l,this.horiz=i,this.isXAxis=D,this.coll=y,o(this,"init",{userOptions:n}),this.opposite=h(n.opposite,this.opposite),this.side=h(n.side,this.side,i?this.opposite?0:2:this.opposite?1:3),this.setOptions(n);let p=this.options,d=p.labels;this.type??(this.type=p.type||"linear"),this.uniqueNames??(this.uniqueNames=p.uniqueNames??!0),o(this,"afterSetType"),this.userOptions=n,this.minPixelPadding=0,this.reversed=h(p.reversed,this.reversed),this.visible=p.visible,this.zoomEnabled=p.zoomEnabled,this.hasNames=this.type==="category"||p.categories===!0,this.categories=e(p.categories)&&p.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=c(p.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len??(this.len=0),this.minRange=this.userMinRange=p.minRange||p.maxZoom,this.range=p.range,this.offset=p.offset||0,this.max=void 0,this.min=void 0;let M=h(p.crosshair,f(l.options.tooltip.crosshairs)[D?0:1]);this.crosshair=M===!0?{}:M,l.axes.indexOf(this)===-1&&(D?l.axes.splice(l.xAxis.length,0,this):l.axes.push(this),s(this,l[this.coll])),l.orderItems(this.coll),this.series=this.series||[],l.inverted&&!this.isZAxis&&D&&!c(this.reversed)&&(this.reversed=!0),this.labelRotation=t(d.rotation)?d.rotation:void 0,I(this,p),o(this,"afterInit")}setOptions(l){let n=this.horiz?{labels:{autoRotation:[-45],padding:4},margin:15}:{labels:{padding:1},title:{rotation:90*this.side}};this.options=a(n,B[this.coll],l),o(this,"afterSetOptions",{userOptions:l})}defaultLabelFormatter(){let l=this.axis,{numberFormatter:n}=this.chart,y=t(this.value)?this.value:NaN,D=l.chart.time,i=l.categories,p=this.dateTimeLabelFormat,d=B.lang,M=d.numericSymbols,C=d.numericSymbolMagnitude||1e3,R=l.logarithmic?Math.abs(y):l.tickInterval,X=M&&M.length,U,Z;if(i)Z=`${this.value}`;else if(p)Z=D.dateFormat(p,y);else if(X&&M&&R>=1e3)for(;X--&&Z===void 0;)R>=(U=Math.pow(C,X+1))&&10*y%U==0&&M[X]!==null&&y!==0&&(Z=n(y/U,-1)+M[X]);return Z===void 0&&(Z=Math.abs(y)>=1e4?n(y,-1):n(y,-1,void 0,"")),Z}getSeriesExtremes(){let l,n=this;o(this,"getSeriesExtremes",null,function(){n.hasVisibleSeries=!1,n.dataMin=n.dataMax=n.threshold=void 0,n.softThreshold=!n.isXAxis,n.series.forEach(y=>{if(y.reserveSpace()){let D=y.options,i,p=D.threshold,d,M;if(n.hasVisibleSeries=!0,n.positiveValuesOnly&&0>=(p||0)&&(p=void 0),n.isXAxis)(i=y.xData)&&i.length&&(i=n.logarithmic?i.filter(C=>C>0):i,d=(l=y.getXExtremes(i)).min,M=l.max,t(d)||d instanceof Date||(i=i.filter(t),d=(l=y.getXExtremes(i)).min,M=l.max),i.length&&(n.dataMin=Math.min(h(n.dataMin,d),d),n.dataMax=Math.max(h(n.dataMax,M),M)));else{let C=y.applyExtremes();t(C.dataMin)&&(d=C.dataMin,n.dataMin=Math.min(h(n.dataMin,d),d)),t(C.dataMax)&&(M=C.dataMax,n.dataMax=Math.max(h(n.dataMax,M),M)),c(p)&&(n.threshold=p),(!D.softThreshold||n.positiveValuesOnly)&&(n.softThreshold=!1)}}})}),o(this,"afterGetSeriesExtremes")}translate(l,n,y,D,i,p){var rt;let d=this.linkedParent||this,M=D&&d.old?d.old.min:d.min;if(!t(M))return NaN;let C=d.minPixelPadding,R=(d.isOrdinal||((rt=d.brokenAxis)==null?void 0:rt.hasBreaks)||d.logarithmic&&i)&&d.lin2val,X=1,U=0,Z=D&&d.old?d.old.transA:d.transA,at=0;return Z||(Z=d.transA),y&&(X*=-1,U=d.len),d.reversed&&(X*=-1,U-=X*(d.sector||d.len)),n?(at=(l=l*X+U-C)/Z+M,R&&(at=d.lin2val(at))):(R&&(l=d.val2lin(l)),at=X*(l-M)*Z+U+X*C+(t(p)?Z*p:0),d.isRadial||(at=T(at))),at}toPixels(l,n){return this.translate(l,!1,!this.horiz,void 0,!0)+(n?0:this.pos)}toValue(l,n){return this.translate(l-(n?0:this.pos),!0,!this.horiz,void 0,!0)}getPlotLinePath(l){let n=this,y=n.chart,D=n.left,i=n.top,p=l.old,d=l.value,M=l.lineWidth,C=p&&y.oldChartHeight||y.chartHeight,R=p&&y.oldChartWidth||y.chartWidth,X=n.transB,U=l.translatedValue,Z=l.force,at,rt,z,L,N;function F(it,tt,ot){return Z!=="pass"&&(it<tt||it>ot)&&(Z?it=v(it,tt,ot):N=!0),it}let Q={value:d,lineWidth:M,old:p,force:Z,acrossPanes:l.acrossPanes,translatedValue:U};return o(this,"getPlotLinePath",Q,function(it){at=z=(U=v(U=h(U,n.translate(d,void 0,void 0,p)),-1e9,1e9))+X,rt=L=C-U-X,t(U)?n.horiz?(rt=i,L=C-n.bottom+(n.options.isInternal?0:y.scrollablePixelsY||0),at=z=F(at,D,D+n.width)):(at=D,z=R-n.right+(y.scrollablePixelsX||0),rt=L=F(rt,i,i+n.height)):(N=!0,Z=!1),it.path=N&&!Z?void 0:y.renderer.crispLine([["M",at,rt],["L",z,L]],M||1)}),Q.path}getLinearTickPositions(l,n,y){let D,i,p,d=T(Math.floor(n/l)*l),M=T(Math.ceil(y/l)*l),C=[];if(T(d+l)===d&&(p=20),this.single)return[n];for(D=d;D<=M&&(C.push(D),(D=T(D+l,p))!==i);)i=D;return C}getMinorTickInterval(){let{minorTicks:l,minorTickInterval:n}=this.options;return l===!0?h(n,"auto"):l!==!1?n:void 0}getMinorTickPositions(){let l=this.options,n=this.tickPositions,y=this.minorTickInterval,D=this.pointRangePadding||0,i=(this.min||0)-D,p=(this.max||0)+D,d=p-i,M=[],C;if(d&&d/y<this.len/3){let R=this.logarithmic;if(R)this.paddedTicks.forEach(function(X,U,Z){U&&M.push.apply(M,R.getLogTickPositions(y,Z[U-1],Z[U],!0))});else if(this.dateTime&&this.getMinorTickInterval()==="auto")M=M.concat(this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(y),i,p,l.startOfWeek));else for(C=i+(n[0]-i)%y;C<=p&&C!==M[0];C+=y)M.push(C)}return M.length!==0&&this.trimTicks(M),M}adjustForMinRange(){let l=this.options,n=this.logarithmic,{max:y,min:D,minRange:i}=this,p,d,M,C;this.isXAxis&&i===void 0&&!n&&(i=c(l.min)||c(l.max)||c(l.floor)||c(l.ceiling)?null:Math.min(5*(g(this.series.map(R=>{var X;return(R.xIncrement?(X=R.xData)==null?void 0:X.slice(0,2):R.xData)||[]}))||0),this.dataMax-this.dataMin)),t(y)&&t(D)&&t(i)&&y-D<i&&(d=this.dataMax-this.dataMin>=i,p=(i-y+D)/2,M=[D-p,h(l.min,D-p)],d&&(M[2]=n?n.log2lin(this.dataMin):this.dataMin),C=[(D=u(M))+i,h(l.max,D+i)],d&&(C[2]=n?n.log2lin(this.dataMax):this.dataMax),(y=x(C))-D<i&&(M[0]=y-i,M[1]=h(l.min,y-i),D=u(M))),this.minRange=i,this.min=D,this.max=y}getClosest(){let l,n;if(this.categories)n=1;else{let y=[];this.series.forEach(function(D){var p;let i=D.closestPointRange;((p=D.xData)==null?void 0:p.length)===1?y.push(D.xData[0]):!D.noSharedTooltip&&c(i)&&D.reserveSpace()&&(n=c(n)?Math.min(n,i):i)}),y.length&&(y.sort((D,i)=>D-i),l=g([y]))}return l&&n?Math.min(l,n):l||n}nameToX(l){let n=e(this.options.categories),y=n?this.categories:this.names,D=l.options.x,i;return l.series.requireSorting=!1,c(D)||(D=this.uniqueNames&&y?n?y.indexOf(l.name):h(y.keys[l.name],-1):l.series.autoIncrement()),D===-1?!n&&y&&(i=y.length):i=D,i!==void 0?(this.names[i]=l.name,this.names.keys[l.name]=i):l.x&&(i=l.x),i}updateNames(){let l=this,n=this.names;n.length>0&&(Object.keys(n.keys).forEach(function(y){delete n.keys[y]}),n.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(y=>{y.xIncrement=null,(!y.points||y.isDirtyData)&&(l.max=Math.max(l.max,y.xData.length-1),y.processData(),y.generatePoints()),y.data.forEach(function(D,i){let p;D!=null&&D.options&&D.name!==void 0&&(p=l.nameToX(D))!==void 0&&p!==D.x&&(D.x=p,y.xData[i]=p)})}))}setAxisTranslation(){let l=this,n=l.max-l.min,y=l.linkedParent,D=!!l.categories,i=l.isXAxis,p=l.axisPointRange||0,d,M=0,C=0,R,X=l.transA;(i||D||p)&&(d=l.getClosest(),y?(M=y.minPointOffset,C=y.pointRangePadding):l.series.forEach(function(U){let Z=D?1:i?h(U.options.pointRange,d,0):l.axisPointRange||0,at=U.options.pointPlacement;if(p=Math.max(p,Z),!l.single||D){let rt=U.is("xrange")?!i:i;M=Math.max(M,rt&&r(at)?0:Z/2),C=Math.max(C,rt&&at==="on"?0:Z)}}),R=l.ordinal&&l.ordinal.slope&&d?l.ordinal.slope/d:1,l.minPointOffset=M*=R,l.pointRangePadding=C*=R,l.pointRange=Math.min(p,l.single&&D?1:n),i&&d&&(l.closestPointRange=d)),l.translationSlope=l.transA=X=l.staticScale||l.len/(n+C||1),l.transB=l.horiz?l.left:l.bottom,l.minPixelPadding=X*M,o(this,"afterSetAxisTranslation")}minFromRange(){let{max:l,min:n}=this;return t(l)&&t(n)&&l-n||void 0}setTickInterval(l){var xt,mt,St,kt;let{categories:n,chart:y,dataMax:D,dataMin:i,dateTime:p,isXAxis:d,logarithmic:M,options:C,softThreshold:R}=this,X=t(this.threshold)?this.threshold:void 0,U=this.minRange||0,{ceiling:Z,floor:at,linkedTo:rt,softMax:z,softMin:L}=C,N=t(rt)&&((xt=y[this.coll])==null?void 0:xt[rt]),F=C.tickPixelInterval,Q=C.maxPadding,it=C.minPadding,tt=0,ot,ht=t(C.tickInterval)&&C.tickInterval>=0?C.tickInterval:void 0,ct,ut,ft,bt;if(p||n||N||this.getTickAmount(),ft=h(this.userMin,C.min),bt=h(this.userMax,C.max),N?(this.linkedParent=N,ot=N.getExtremes(),this.min=h(ot.min,ot.dataMin),this.max=h(ot.max,ot.dataMax),this.type!==N.type&&E(11,!0,y)):(R&&c(X)&&t(D)&&t(i)&&(i>=X?(ct=X,it=0):D<=X&&(ut=X,Q=0)),this.min=h(ft,ct,i),this.max=h(bt,ut,D)),t(this.max)&&t(this.min)&&(M&&(this.positiveValuesOnly&&!l&&0>=Math.min(this.min,h(i,this.min))&&E(10,!0,y),this.min=T(M.log2lin(this.min),16),this.max=T(M.log2lin(this.max),16)),this.range&&t(i)&&(this.userMin=this.min=ft=Math.max(i,this.minFromRange()||0),this.userMax=bt=this.max,this.range=void 0)),o(this,"foundExtremes"),this.adjustForMinRange(),t(this.min)&&t(this.max)){if(!t(this.userMin)&&t(L)&&L<this.min&&(this.min=ft=L),!t(this.userMax)&&t(z)&&z>this.max&&(this.max=bt=z),n||this.axisPointRange||(mt=this.stacking)!=null&&mt.usePercentage||N||!(tt=this.max-this.min)||(!c(ft)&&it&&(this.min-=tt*it),c(bt)||!Q||(this.max+=tt*Q)),!t(this.userMin)&&t(at)&&(this.min=Math.max(this.min,at)),!t(this.userMax)&&t(Z)&&(this.max=Math.min(this.max,Z)),R&&t(i)&&t(D)){let Ct=X||0;!c(ft)&&this.min<Ct&&i>=Ct?this.min=C.minRange?Math.min(Ct,this.max-U):Ct:!c(bt)&&this.max>Ct&&D<=Ct&&(this.max=C.minRange?Math.max(Ct,this.min+U):Ct)}!y.polar&&this.min>this.max&&(c(C.min)?this.max=this.min:c(C.max)&&(this.min=this.max)),tt=this.max-this.min}if(this.min!==this.max&&t(this.min)&&t(this.max)?N&&!ht&&F===N.options.tickPixelInterval?this.tickInterval=ht=N.tickInterval:this.tickInterval=h(ht,this.tickAmount?tt/Math.max(this.tickAmount-1,1):void 0,n?1:tt*F/Math.max(this.len,F)):this.tickInterval=1,d&&!l){let Ct=this.min!==((St=this.old)==null?void 0:St.min)||this.max!==((kt=this.old)==null?void 0:kt.max);this.series.forEach(function(Tt){var Mt;Tt.forceCrop=(Mt=Tt.forceCropping)==null?void 0:Mt.call(Tt),Tt.processData(Ct)}),o(this,"postProcessData",{hasExtremesChanged:Ct})}this.setAxisTranslation(),o(this,"initialAxisTranslation"),this.pointRange&&!ht&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));let vt=h(C.minTickInterval,p&&!this.series.some(Ct=>Ct.noSharedTooltip)?this.closestPointRange:0);!ht&&this.tickInterval<vt&&(this.tickInterval=vt),p||M||ht||(this.tickInterval=j(this,this.tickInterval)),this.tickAmount||(this.tickInterval=this.unsquish()),this.setTickPositions()}setTickPositions(){var R,X;let l=this.options,n=l.tickPositions,y=l.tickPositioner,D=this.getMinorTickInterval(),i=!this.isPanning,p=i&&l.startOnTick,d=i&&l.endOnTick,M=[],C;if(this.tickmarkOffset=this.categories&&l.tickmarkPlacement==="between"&&this.tickInterval===1?.5:0,this.single=this.min===this.max&&c(this.min)&&!this.tickAmount&&(this.min%1==0||l.allowDecimals!==!1),n)M=n.slice();else if(t(this.min)&&t(this.max)){if(!((R=this.ordinal)!=null&&R.positions)&&(this.max-this.min)/this.tickInterval>Math.max(2*this.len,200))M=[this.min,this.max],E(19,!1,this.chart);else if(this.dateTime)M=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,l.units),this.min,this.max,l.startOfWeek,(X=this.ordinal)==null?void 0:X.positions,this.closestPointRange,!0);else if(this.logarithmic)M=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let U=this.tickInterval,Z=U;for(;Z<=2*U&&(M=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&M.length>this.tickAmount);)this.tickInterval=j(this,Z*=1.1)}M.length>this.len&&(M=[M[0],M[M.length-1]])[0]===M[1]&&(M.length=1),y&&(this.tickPositions=M,(C=y.apply(this,[this.min,this.max]))&&(M=C))}this.tickPositions=M,this.minorTickInterval=D==="auto"&&this.tickInterval?this.tickInterval/l.minorTicksPerMajor:D,this.paddedTicks=M.slice(0),this.trimTicks(M,p,d),!this.isLinked&&t(this.min)&&t(this.max)&&(this.single&&M.length<2&&!this.categories&&!this.series.some(U=>U.is("heatmap")&&U.options.pointPlacement==="between")&&(this.min-=.5,this.max+=.5),n||C||this.adjustTickAmount()),o(this,"afterSetTickPositions")}trimTicks(l,n,y){let D=l[0],i=l[l.length-1],p=!this.isOrdinal&&this.minPointOffset||0;if(o(this,"trimTicks"),!this.isLinked){if(n&&D!==-1/0)this.min=D;else for(;this.min-p>l[0];)l.shift();if(y)this.max=i;else for(;this.max+p<l[l.length-1];)l.pop();l.length===0&&c(D)&&!this.options.tickPositions&&l.push((i+D)/2)}}alignToOthers(){let l,n=this,y=n.chart,D=[this],i=n.options,p=y.options.chart,d=this.coll==="yAxis"&&p.alignThresholds,M=[];if(n.thresholdAlignment=void 0,(p.alignTicks!==!1&&i.alignTicks||d)&&i.startOnTick!==!1&&i.endOnTick!==!1&&!n.logarithmic){let C=X=>{let{horiz:U,options:Z}=X;return[U?Z.left:Z.top,Z.width,Z.height,Z.pane].join(",")},R=C(this);y[this.coll].forEach(function(X){let{series:U}=X;U.length&&U.some(Z=>Z.visible)&&X!==n&&C(X)===R&&(l=!0,D.push(X))})}if(l&&d){D.forEach(R=>{let X=R.getThresholdAlignment(n);t(X)&&M.push(X)});let C=M.length>1?M.reduce((R,X)=>R+=X,0)/M.length:void 0;D.forEach(R=>{R.thresholdAlignment=C})}return l}getThresholdAlignment(l){if((!t(this.dataMin)||this!==l&&this.series.some(n=>n.isDirty||n.isDirtyData))&&this.getSeriesExtremes(),t(this.threshold)){let n=v((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return this.options.reversed&&(n=1-n),n}}getTickAmount(){let l=this.options,n=l.tickPixelInterval,y=l.tickAmount;c(l.tickInterval)||y||!(this.len<n)||this.isRadial||this.logarithmic||!l.startOnTick||!l.endOnTick||(y=2),!y&&this.alignToOthers()&&(y=Math.ceil(this.len/n)+1),y<4&&(this.finalTickAmt=y,y=5),this.tickAmount=y}adjustTickAmount(){let l=this,{finalTickAmt:n,max:y,min:D,options:i,tickPositions:p,tickAmount:d,thresholdAlignment:M}=l,C=p==null?void 0:p.length,R=h(l.threshold,l.softThreshold?0:null),X,U,Z=l.tickInterval,at,rt=()=>p.push(T(p[p.length-1]+Z)),z=()=>p.unshift(T(p[0]-Z));if(t(M)&&(at=M<.5?Math.ceil(M*(d-1)):Math.floor(M*(d-1)),i.reversed&&(at=d-1-at)),l.hasData()&&t(D)&&t(y)){let L=()=>{l.transA*=(C-1)/(d-1),l.min=i.startOnTick?p[0]:Math.min(D,p[0]),l.max=i.endOnTick?p[p.length-1]:Math.max(y,p[p.length-1])};if(t(at)&&t(l.threshold)){for(;p[at]!==R||p.length!==d||p[0]>D||p[p.length-1]<y;){for(p.length=0,p.push(l.threshold);p.length<d;)p[at]===void 0||p[at]>l.threshold?z():rt();if(Z>8*l.tickInterval)break;Z*=2}L()}else if(C<d){for(;p.length<d;)p.length%2||D===R?rt():z();L()}if(c(n)){for(U=X=p.length;U--;)(n===3&&U%2==1||n<=2&&U>0&&U<X-1)&&p.splice(U,1);l.finalTickAmt=void 0}}}setScale(){var p,d;let{coll:l,stacking:n}=this,y=!1,D=!1;this.series.forEach(M=>{y=y||M.isDirtyData||M.isDirty,D=D||M.xAxis&&M.xAxis.isDirty||!1}),this.setAxisSize();let i=this.len!==(this.old&&this.old.len);i||y||D||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?(n&&l==="yAxis"&&n.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),n&&l==="xAxis"&&n.buildStacks(),this.isDirty||(this.isDirty=i||this.min!==((p=this.old)==null?void 0:p.min)||this.max!==((d=this.old)==null?void 0:d.max))):n&&n.cleanStacks(),y&&delete this.allExtremes,o(this,"afterSetScale")}setExtremes(l,n,y=!0,D,i){this.series.forEach(p=>{delete p.kdTree}),o(this,"setExtremes",i=k(i,{min:l,max:n}),p=>{this.userMin=p.min,this.userMax=p.max,this.eventArgs=p,y&&this.chart.redraw(D)})}setAxisSize(){let l=this.chart,n=this.options,y=n.offsets||[0,0,0,0],D=this.horiz,i=this.width=Math.round(A(h(n.width,l.plotWidth-y[3]+y[1]),l.plotWidth)),p=this.height=Math.round(A(h(n.height,l.plotHeight-y[0]+y[2]),l.plotHeight)),d=this.top=Math.round(A(h(n.top,l.plotTop+y[0]),l.plotHeight,l.plotTop)),M=this.left=Math.round(A(h(n.left,l.plotLeft+y[3]),l.plotWidth,l.plotLeft));this.bottom=l.chartHeight-p-d,this.right=l.chartWidth-i-M,this.len=Math.max(D?i:p,0),this.pos=D?M:d}getExtremes(){let l=this.logarithmic;return{min:l?T(l.lin2log(this.min)):this.min,max:l?T(l.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(l){let n=this.logarithmic,y=n?n.lin2log(this.min):this.min,D=n?n.lin2log(this.max):this.max;return l===null||l===-1/0?l=y:l===1/0?l=D:y>l?l=y:D<l&&(l=D),this.translate(l,0,1,0,1)}autoLabelAlign(l){let n=(h(l,0)-90*this.side+720)%360,y={align:"center"};return o(this,"autoLabelAlign",y,function(D){n>15&&n<165?D.align="right":n>195&&n<345&&(D.align="left")}),y.align}tickSize(l){let n=this.options,y=h(n[l==="tick"?"tickWidth":"minorTickWidth"],l==="tick"&&this.isXAxis&&!this.categories?1:0),D=n[l==="tick"?"tickLength":"minorTickLength"],i;y&&D&&(n[l+"Position"]==="inside"&&(D=-D),i=[D,y]);let p={tickSize:i};return o(this,"afterTickSize",p),p.tickSize}labelMetrics(){let l=this.chart.renderer,n=this.ticks,y=n[Object.keys(n)[0]]||{};return this.chart.renderer.fontMetrics(y.label||y.movedLabel||l.box)}unsquish(){let l=this.options.labels,n=l.padding||0,y=this.horiz,D=this.tickInterval,i=this.len/(((this.categories?1:0)+this.max-this.min)/D),p=l.rotation,d=T(.8*this.labelMetrics().h),M=Math.max(this.max-this.min,0),C=function(at){let rt=(at+2*n)/(i||1);return(rt=rt>1?Math.ceil(rt):1)*D>M&&at!==1/0&&i!==1/0&&M&&(rt=Math.ceil(M/D)),T(rt*D)},R=D,X,U=Number.MAX_VALUE,Z;if(y){if(!l.staggerLines&&(t(p)?Z=[p]:i<l.autoRotationLimit&&(Z=l.autoRotation)),Z){let at,rt;for(let z of Z)(z===p||z&&z>=-90&&z<=90)&&(rt=(at=C(Math.abs(d/Math.sin(P*z))))+Math.abs(z/360))<U&&(U=rt,X=z,R=at)}}else R=C(.75*d);return this.autoRotation=Z,this.labelRotation=h(X,t(p)?p:0),l.step?D:R}getSlotWidth(l){let n=this.chart,y=this.horiz,D=this.options.labels,i=Math.max(this.tickPositions.length-(this.categories?0:1),1),p=n.margin[3];if(l&&t(l.slotWidth))return l.slotWidth;if(y&&D.step<2)return D.rotation?0:(this.staggerLines||1)*this.len/i;if(!y){let d=D.style.width;if(d!==void 0)return parseInt(String(d),10);if(p)return p-n.spacing[3]}return .33*n.chartWidth}renderUnsquish(){let l=this.chart,n=l.renderer,y=this.tickPositions,D=this.ticks,i=this.options.labels,p=i.style,d=this.horiz,M=this.getSlotWidth(),C=Math.max(1,Math.round(M-(d?2*(i.padding||0):i.distance||0))),R={},X=this.labelMetrics(),U=p.textOverflow,Z,at,rt=0,z,L;if(r(i.rotation)||(R.rotation=i.rotation||0),y.forEach(function(N){let F=D[N];F.movedLabel&&F.replaceMovedLabel(),F&&F.label&&F.label.textPxLength>rt&&(rt=F.label.textPxLength)}),this.maxLabelLength=rt,this.autoRotation)rt>C&&rt>X.h?R.rotation=this.labelRotation:this.labelRotation=0;else if(M&&(Z=C,!U))for(at="clip",L=y.length;!d&&L--;)(z=D[y[L]].label)&&(z.styles.textOverflow==="ellipsis"?z.css({textOverflow:"clip"}):z.textPxLength>M&&z.css({width:M+"px"}),z.getBBox().height>this.len/y.length-(X.h-X.f)&&(z.specificTextOverflow="ellipsis"));R.rotation&&(Z=rt>.5*l.chartHeight?.33*l.chartHeight:rt,U||(at="ellipsis")),this.labelAlign=i.align||this.autoLabelAlign(this.labelRotation),this.labelAlign&&(R.align=this.labelAlign),y.forEach(function(N){let F=D[N],Q=F&&F.label,it=p.width,tt={};Q&&(Q.attr(R),F.shortenLabel?F.shortenLabel():Z&&!it&&p.whiteSpace!=="nowrap"&&(Z<Q.textPxLength||Q.element.tagName==="SPAN")?(tt.width=Z+"px",U||(tt.textOverflow=Q.specificTextOverflow||at),Q.css(tt)):!Q.styles.width||tt.width||it||Q.css({width:null}),delete Q.specificTextOverflow,F.rotation=R.rotation)},this),this.tickRotCorr=n.rotCorr(X.b,this.labelRotation||0,this.side!==0)}hasData(){return this.series.some(function(l){return l.hasData()})||this.options.showEmpty&&c(this.min)&&c(this.max)}addTitle(l){let n,y=this.chart.renderer,D=this.horiz,i=this.opposite,p=this.options.title,d=this.chart.styledMode;this.axisTitle||((n=p.textAlign)||(n=(D?{low:"left",middle:"center",high:"right"}:{low:i?"right":"left",middle:"center",high:i?"left":"right"})[p.align]),this.axisTitle=y.text(p.text||"",0,0,p.useHTML).attr({zIndex:7,rotation:p.rotation||0,align:n}).addClass("highcharts-axis-title"),d||this.axisTitle.css(a(p.style)),this.axisTitle.add(this.axisGroup),this.axisTitle.isNew=!0),d||p.style.width||this.isRadial||this.axisTitle.css({width:this.len+"px"}),this.axisTitle[l?"show":"hide"](l)}generateTick(l){let n=this.ticks;n[l]?n[l].addLabel():n[l]=new dt(this,l)}createGroups(){let{axisParent:l,chart:n,coll:y,options:D}=this,i=n.renderer,p=(d,M,C)=>i.g(d).attr({zIndex:C}).addClass(`highcharts-${y.toLowerCase()}${M} `+(this.isRadial?`highcharts-radial-axis${M} `:"")+(D.className||"")).add(l);this.axisGroup||(this.gridGroup=p("grid","-grid",D.gridZIndex),this.axisGroup=p("axis","",D.zIndex),this.labelGroup=p("axis-labels","-labels",D.labels.zIndex))}getOffset(){let l=this,{chart:n,horiz:y,options:D,side:i,ticks:p,tickPositions:d,coll:M}=l,C=n.inverted&&!l.isZAxis?[1,0,3,2][i]:i,R=l.hasData(),X=D.title,U=D.labels,Z=t(D.crossing),at=n.axisOffset,rt=n.clipOffset,z=[-1,1,1,-1][i],L,N=0,F,Q=0,it=0,tt,ot;if(l.showAxis=L=R||D.showEmpty,l.staggerLines=l.horiz&&U.staggerLines||void 0,l.createGroups(),R||l.isLinked?(d.forEach(function(ht){l.generateTick(ht)}),l.renderUnsquish(),l.reserveSpaceDefault=i===0||i===2||{1:"left",3:"right"}[i]===l.labelAlign,h(U.reserveSpace,!Z&&null,l.labelAlign==="center"||null,l.reserveSpaceDefault)&&d.forEach(function(ht){it=Math.max(p[ht].getLabelSize(),it)}),l.staggerLines&&(it*=l.staggerLines),l.labelOffset=it*(l.opposite?-1:1)):b(p,function(ht,ct){ht.destroy(),delete p[ct]}),X!=null&&X.text&&X.enabled!==!1&&(l.addTitle(L),L&&!Z&&X.reserveSpace!==!1&&(l.titleOffset=N=l.axisTitle.getBBox()[y?"height":"width"],Q=c(F=X.offset)?0:h(X.margin,y?5:10))),l.renderLine(),l.offset=z*h(D.offset,at[i]?at[i]+(D.margin||0):0),l.tickRotCorr=l.tickRotCorr||{x:0,y:0},ot=i===0?-l.labelMetrics().h:i===2?l.tickRotCorr.y:0,tt=Math.abs(it)+Q,it&&(tt-=ot,tt+=z*(y?h(U.y,l.tickRotCorr.y+z*U.distance):h(U.x,z*U.distance))),l.axisTitleMargin=h(F,tt),l.getMaxLabelDimensions&&(l.maxLabelDimensions=l.getMaxLabelDimensions(p,d)),M!=="colorAxis"&&rt){let ht=this.tickSize("tick");at[i]=Math.max(at[i],(l.axisTitleMargin||0)+N+z*l.offset,tt,d&&d.length&&ht?ht[0]+z*l.offset:0);let ct=!l.axisLine||D.offset?0:l.axisLine.strokeWidth()/2;rt[C]=Math.max(rt[C],ct)}o(this,"afterGetOffset")}getLinePath(l){let n=this.chart,y=this.opposite,D=this.offset,i=this.horiz,p=this.left+(y?this.width:0)+D,d=n.chartHeight-this.bottom-(y?this.height:0)+D;return y&&(l*=-1),n.renderer.crispLine([["M",i?this.left:p,i?d:this.top],["L",i?n.chartWidth-this.right:p,i?d:n.chartHeight-this.bottom]],l)}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(l){let n=this.horiz,y=this.left,D=this.top,i=this.len,p=this.options.title,d=n?y:D,M=this.opposite,C=this.offset,R=p.x,X=p.y,U=this.chart.renderer.fontMetrics(l),Z=l?Math.max(l.getBBox(!1,0).height-U.h-1,0):0,at={low:d+(n?0:i),middle:d+i/2,high:d+(n?i:0)}[p.align],rt=(n?D+this.height:y)+(n?1:-1)*(M?-1:1)*(this.axisTitleMargin||0)+[-Z,Z,U.f,-Z][this.side],z={x:n?at+R:rt+(M?this.width:0)+C+R,y:n?rt+X-(M?this.height:0)+C:at+X};return o(this,"afterGetTitlePosition",{titlePosition:z}),z}renderMinorTick(l,n){let y=this.minorTicks;y[l]||(y[l]=new dt(this,l,"minor")),n&&y[l].isNew&&y[l].render(null,!0),y[l].render(null,!1,1)}renderTick(l,n,y){let D=this.isLinked,i=this.ticks;(!D||l>=this.min&&l<=this.max||this.grid&&this.grid.isColumn)&&(i[l]||(i[l]=new dt(this,l)),y&&i[l].isNew&&i[l].render(n,!0,-1),i[l].render(n))}render(){let l,n,y=this,D=y.chart,i=y.logarithmic,p=D.renderer,d=y.options,M=y.isLinked,C=y.tickPositions,R=y.axisTitle,X=y.ticks,U=y.minorTicks,Z=y.alternateBands,at=d.stackLabels,rt=d.alternateGridColor,z=d.crossing,L=y.tickmarkOffset,N=y.axisLine,F=y.showAxis,Q=$(p.globalAnimation);if(y.labelEdge.length=0,y.overlap=!1,[X,U,Z].forEach(function(it){b(it,function(tt){tt.isActive=!1})}),t(z)){let it=this.isXAxis?D.yAxis[0]:D.xAxis[0],tt=[1,-1,-1,1][this.side];if(it){let ot=it.toPixels(z,!0);y.horiz&&(ot=it.len-ot),y.offset=tt*ot}}if(y.hasData()||M){let it=y.chart.hasRendered&&y.old&&t(y.old.min);y.minorTickInterval&&!y.categories&&y.getMinorTickPositions().forEach(function(tt){y.renderMinorTick(tt,it)}),C.length&&(C.forEach(function(tt,ot){y.renderTick(tt,ot,it)}),L&&(y.min===0||y.single)&&(X[-1]||(X[-1]=new dt(y,-1,null,!0)),X[-1].render(-1))),rt&&C.forEach(function(tt,ot){n=C[ot+1]!==void 0?C[ot+1]+L:y.max-L,ot%2==0&&tt<y.max&&n<=y.max+(D.polar?-L:L)&&(Z[tt]||(Z[tt]=new st.PlotLineOrBand(y,{})),l=tt+L,Z[tt].options={from:i?i.lin2log(l):l,to:i?i.lin2log(n):n,color:rt,className:"highcharts-alternate-grid"},Z[tt].render(),Z[tt].isActive=!0)}),y._addedPlotLB||(y._addedPlotLB=!0,(d.plotLines||[]).concat(d.plotBands||[]).forEach(function(tt){y.addPlotBandOrLine(tt)}))}[X,U,Z].forEach(function(it){let tt=[],ot=Q.duration;b(it,function(ht,ct){ht.isActive||(ht.render(ct,!1,0),ht.isActive=!1,tt.push(ct))}),O(function(){let ht=tt.length;for(;ht--;)it[tt[ht]]&&!it[tt[ht]].isActive&&(it[tt[ht]].destroy(),delete it[tt[ht]])},it!==Z&&D.hasRendered&&ot?ot:0)}),N&&(N[N.isPlaced?"animate":"attr"]({d:this.getLinePath(N.strokeWidth())}),N.isPlaced=!0,N[F?"show":"hide"](F)),R&&F&&(R[R.isNew?"attr":"animate"](y.getTitlePosition(R)),R.isNew=!1),at&&at.enabled&&y.stacking&&y.stacking.renderStackTotals(),y.old={len:y.len,max:y.max,min:y.min,transA:y.transA,userMax:y.userMax,userMin:y.userMin},y.isDirty=!1,o(this,"afterRender")}redraw(){this.visible&&(this.render(),this.plotLinesAndBands.forEach(function(l){l.render()})),this.series.forEach(function(l){l.isDirty=!0})}getKeepProps(){return this.keepProps||W.keepProps}destroy(l){let n=this,y=n.plotLinesAndBands,D=this.eventOptions;if(o(this,"destroy",{keepEvents:l}),l||Y(n),[n.ticks,n.minorTicks,n.alternateBands].forEach(function(i){S(i)}),y){let i=y.length;for(;i--;)y[i].destroy()}for(let i in["axisLine","axisTitle","axisGroup","gridGroup","labelGroup","cross","scrollbar"].forEach(function(p){n[p]&&(n[p]=n[p].destroy())}),n.plotLinesAndBandsGroups)n.plotLinesAndBandsGroups[i]=n.plotLinesAndBandsGroups[i].destroy();b(n,function(i,p){n.getKeepProps().indexOf(p)===-1&&delete n[p]}),this.eventOptions=D}drawCrosshair(l,n){let y=this.crosshair,D=h(y&&y.snap,!0),i=this.chart,p,d,M,C=this.cross,R;if(o(this,"drawCrosshair",{e:l,point:n}),l||(l=this.cross&&this.cross.e),y&&(c(n)||!D)!==!1){if(D?c(n)&&(d=h(this.coll!=="colorAxis"?n.crosshairPos:null,this.isXAxis?n.plotX:this.len-n.plotY)):d=l&&(this.horiz?l.chartX-this.pos:this.len-l.chartY+this.pos),c(d)&&(R={value:n&&(this.isXAxis?n.x:h(n.stackY,n.y)),translatedValue:d},i.polar&&k(R,{isCrosshair:!0,chartX:l&&l.chartX,chartY:l&&l.chartY,point:n}),p=this.getPlotLinePath(R)||null),!c(p)){this.hideCrosshair();return}M=this.categories&&!this.isRadial,C||(this.cross=C=i.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+(M?"category ":"thin ")+(y.className||"")).attr({zIndex:h(y.zIndex,2)}).add(),!i.styledMode&&(C.attr({stroke:y.color||(M?J.parse("#ccd3ff").setOpacity(.25).get():"#cccccc"),"stroke-width":h(y.width,1)}).css({"pointer-events":"none"}),y.dashStyle&&C.attr({dashstyle:y.dashStyle}))),C.show().attr({d:p}),M&&!y.width&&C.attr({"stroke-width":this.transA}),this.cross.e=l}else this.hideCrosshair();o(this,"afterDrawCrosshair",{e:l,point:n})}hideCrosshair(){this.cross&&this.cross.hide(),o(this,"afterHideCrosshair")}update(l,n){let y=this.chart;l=a(this.userOptions,l),this.destroy(!0),this.init(y,l),y.isDirtyBox=!0,h(n,!0)&&y.redraw()}remove(l){let n=this.chart,y=this.coll,D=this.series,i=D.length;for(;i--;)D[i]&&D[i].remove(!1);G(n.axes,this),G(n[y]||[],this),n.orderItems(y),this.destroy(),n.isDirtyBox=!0,h(l,!0)&&n.redraw()}setTitle(l,n){this.update({title:l},n)}setCategories(l,n){this.update({categories:l},n)}}return W.keepProps=["coll","extKey","hcEvents","len","names","series","userMax","userMin"],W}),yt(H,"Core/Axis/DateTimeAxis.js",[H["Core/Utilities.js"]],function(_){var q;let{addEvent:J,getMagnitude:lt,normalizeTickInterval:nt,timeUnits:st}=_;return function(dt){function K(){return this.chart.time.getTimeTicks.apply(this.chart.time,arguments)}function $(){if(this.type!=="datetime"){this.dateTime=void 0;return}this.dateTime||(this.dateTime=new V(this))}dt.compose=function(w){return w.keepProps.includes("dateTime")||(w.keepProps.push("dateTime"),w.prototype.getTimeTicks=K,J(w,"afterSetType",$)),w};class V{constructor(B){this.axis=B}normalizeTimeTickInterval(B,I){let P=I||[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2]],["week",[1,2]],["month",[1,2,3,4,6]],["year",null]],u=P[P.length-1],x=st[u[0]],v=u[1],T;for(T=0;T<P.length&&(x=st[(u=P[T])[0]],v=u[1],!P[T+1]||!(B<=(x*v[v.length-1]+st[P[T+1][0]])/2));T++);x===st.year&&B<5*x&&(v=[1,2,5]);let c=nt(B/x,v,u[0]==="year"?Math.max(lt(B/x),1):1);return{unitRange:x,count:c,unitName:u[0]}}getXDateFormat(B,I){let{axis:P}=this,u=P.chart.time;return P.closestPointRange?u.getDateFormat(P.closestPointRange,B,P.options.startOfWeek,I)||u.resolveDTLFormat(I.year).main:u.resolveDTLFormat(I.day).main}}dt.Additions=V}(q||(q={})),q}),yt(H,"Core/Axis/LogarithmicAxis.js",[H["Core/Utilities.js"]],function(_){var q;let{addEvent:J,normalizeTickInterval:lt,pick:nt}=_;return function(st){function dt(){this.type!=="logarithmic"?this.logarithmic=void 0:this.logarithmic??(this.logarithmic=new $(this))}function K(){let V=this.logarithmic;V&&(this.lin2val=function(w){return V.lin2log(w)},this.val2lin=function(w){return V.log2lin(w)})}st.compose=function(V){return V.keepProps.includes("logarithmic")||(V.keepProps.push("logarithmic"),J(V,"afterSetType",dt),J(V,"afterInit",K)),V};class ${constructor(w){this.axis=w}getLogTickPositions(w,B,I,P){let u=this.axis,x=u.len,v=u.options,T=[];if(P||(this.minorAutoInterval=void 0),w>=.5)w=Math.round(w),T=u.getLinearTickPositions(w,B,I);else if(w>=.08){let c,S,G,E,k,o,g,s=Math.floor(B);for(c=w>.3?[1,2,4]:w>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],S=s;S<I+1&&!g;S++)for(G=0,E=c.length;G<E&&!g;G++)(k=this.log2lin(this.lin2log(S)*c[G]))>B&&(!P||o<=I)&&o!==void 0&&T.push(o),o>I&&(g=!0),o=k}else{let c=this.lin2log(B),S=this.lin2log(I),G=P?u.getMinorTickInterval():v.tickInterval,E=v.tickPixelInterval/(P?5:1),k=P?x/u.tickPositions.length:x;w=lt(w=nt(G==="auto"?null:G,this.minorAutoInterval,(S-c)*E/(k||1))),T=u.getLinearTickPositions(w,c,S).map(this.log2lin),P||(this.minorAutoInterval=w/5)}return P||(u.tickInterval=w),T}lin2log(w){return Math.pow(10,w)}log2lin(w){return Math.log(w)/Math.LN10}}st.Additions=$}(q||(q={})),q}),yt(H,"Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js",[H["Core/Utilities.js"]],function(_){var q;let{erase:J,extend:lt,isNumber:nt}=_;return function(st){let dt;function K(u){return this.addPlotBandOrLine(u,"plotBands")}function $(u,x){let v=this.userOptions,T=new dt(this,u);if(this.visible&&(T=T.render()),T){if(this._addedPlotLB||(this._addedPlotLB=!0,(v.plotLines||[]).concat(v.plotBands||[]).forEach(c=>{this.addPlotBandOrLine(c)})),x){let c=v[x]||[];c.push(u),v[x]=c}this.plotLinesAndBands.push(T)}return T}function V(u){return this.addPlotBandOrLine(u,"plotLines")}function w(u,x,v){v=v||this.options;let T=this.getPlotLinePath({value:x,force:!0,acrossPanes:v.acrossPanes}),c=[],S=this.horiz,G=!nt(this.min)||!nt(this.max)||u<this.min&&x<this.min||u>this.max&&x>this.max,E=this.getPlotLinePath({value:u,force:!0,acrossPanes:v.acrossPanes}),k,o=1,g;if(E&&T)for(G&&(g=E.toString()===T.toString(),o=0),k=0;k<E.length;k+=2){let s=E[k],e=E[k+1],t=T[k],r=T[k+1];(s[0]==="M"||s[0]==="L")&&(e[0]==="M"||e[0]==="L")&&(t[0]==="M"||t[0]==="L")&&(r[0]==="M"||r[0]==="L")&&(S&&t[1]===s[1]?(t[1]+=o,r[1]+=o):S||t[2]!==s[2]||(t[2]+=o,r[2]+=o),c.push(["M",s[1],s[2]],["L",e[1],e[2]],["L",r[1],r[2]],["L",t[1],t[2]],["Z"])),c.isFlat=g}return c}function B(u){this.removePlotBandOrLine(u)}function I(u){let x=this.plotLinesAndBands,v=this.options,T=this.userOptions;if(x){let c=x.length;for(;c--;)x[c].id===u&&x[c].destroy();[v.plotLines||[],T.plotLines||[],v.plotBands||[],T.plotBands||[]].forEach(function(S){for(c=S.length;c--;)(S[c]||{}).id===u&&J(S,S[c])})}}function P(u){this.removePlotBandOrLine(u)}st.compose=function(u,x){let v=x.prototype;return v.addPlotBand||(dt=u,lt(v,{addPlotBand:K,addPlotLine:V,addPlotBandOrLine:$,getPlotBandPath:w,removePlotBand:B,removePlotLine:P,removePlotBandOrLine:I})),x}}(q||(q={})),q}),yt(H,"Core/Axis/PlotLineOrBand/PlotLineOrBand.js",[H["Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js"],H["Core/Utilities.js"]],function(_,q){let{addEvent:J,arrayMax:lt,arrayMin:nt,defined:st,destroyObjectProperties:dt,erase:K,fireEvent:$,merge:V,objectEach:w,pick:B}=q;class I{static compose(u,x){return J(u,"afterInit",function(){this.labelCollectors.push(()=>{var T;let v=[];for(let c of this.axes)for(let{label:S,options:G}of c.plotLinesAndBands)S&&!((T=G==null?void 0:G.label)!=null&&T.allowOverlap)&&v.push(S);return v})}),_.compose(I,x)}constructor(u,x){this.axis=u,this.options=x,this.id=x.id}render(){$(this,"render");let{axis:u,options:x}=this,{horiz:v,logarithmic:T}=u,{color:c,events:S,zIndex:G=0}=x,E={},k=u.chart.renderer,o=x.to,g=x.from,s=x.value,e=x.borderWidth,t=x.label,{label:r,svgElem:a}=this,m=[],b,h=st(g)&&st(o),A=st(s),Y=!a,f={class:"highcharts-plot-"+(h?"band ":"line ")+(x.className||"")},O=h?"bands":"lines";if(!u.chart.styledMode&&(A?(f.stroke=c||"#999999",f["stroke-width"]=B(x.width,1),x.dashStyle&&(f.dashstyle=x.dashStyle)):h&&(f.fill=c||"#e6e9ff",e&&(f.stroke=x.borderColor,f["stroke-width"]=e))),E.zIndex=G,O+="-"+G,(b=u.plotLinesAndBandsGroups[O])||(u.plotLinesAndBandsGroups[O]=b=k.g("plot-"+O).attr(E).add()),a||(this.svgElem=a=k.path().attr(f).add(b)),st(s))m=u.getPlotLinePath({value:(T==null?void 0:T.log2lin(s))??s,lineWidth:a.strokeWidth(),acrossPanes:x.acrossPanes});else{if(!(st(g)&&st(o)))return;m=u.getPlotBandPath((T==null?void 0:T.log2lin(g))??g,(T==null?void 0:T.log2lin(o))??o,x)}return!this.eventsAdded&&S&&(w(S,(j,W)=>{a==null||a.on(W,et=>{S[W].apply(this,[et])})}),this.eventsAdded=!0),(Y||!a.d)&&(m!=null&&m.length)?a.attr({d:m}):a&&(m?(a.show(),a.animate({d:m})):a.d&&(a.hide(),r&&(this.label=r=r.destroy()))),t&&(st(t.text)||st(t.formatter))&&(m!=null&&m.length)&&u.width>0&&u.height>0&&!m.isFlat?(t=V({align:v&&h?"center":void 0,x:v?!h&&4:10,verticalAlign:!v&&h?"middle":void 0,y:v?h?16:10:h?6:-4,rotation:v&&!h?90:0,...h?{inside:!0}:{}},t),this.renderLabel(t,m,h,G)):r&&r.hide(),this}renderLabel(u,x,v,T){var t;let c=this.axis,S=c.chart.renderer,G=u.inside,E=this.label;E||(this.label=E=S.text(this.getLabelText(u),0,0,u.useHTML).attr({align:u.textAlign||u.align,rotation:u.rotation,class:"highcharts-plot-"+(v?"band":"line")+"-label "+(u.className||""),zIndex:T}),c.chart.styledMode||E.css(V({fontSize:"0.8em",textOverflow:v&&!G?"":"ellipsis"},u.style)),E.add());let k=x.xBounds||[x[0][1],x[1][1],v?x[2][1]:x[0][1]],o=x.yBounds||[x[0][2],x[1][2],v?x[2][2]:x[0][2]],g=nt(k),s=nt(o),e=lt(k)-g;E.align(u,!1,{x:g,y:s,width:e,height:lt(o)-s}),(!E.alignValue||E.alignValue==="left"||st(G))&&E.css({width:(((t=u.style)==null?void 0:t.width)||(v&&G?e:E.rotation===90?c.height-(E.alignAttr.y-c.top):(u.clip?c.width:c.chart.chartWidth)-(E.alignAttr.x-c.left)))+"px"}),E.show(!0)}getLabelText(u){return st(u.formatter)?u.formatter.call(this):u.text}destroy(){K(this.axis.plotLinesAndBands,this),delete this.axis,dt(this)}}return I}),yt(H,"Core/Tooltip.js",[H["Core/Animation/AnimationUtilities.js"],H["Core/Templating.js"],H["Core/Globals.js"],H["Core/Renderer/RendererUtilities.js"],H["Core/Renderer/RendererRegistry.js"],H["Core/Utilities.js"]],function(_,q,J,lt,nt,st){var dt;let{animObject:K}=_,{format:$}=q,{composed:V,doc:w,isSafari:B}=J,{distribute:I}=lt,{addEvent:P,clamp:u,css:x,discardElement:v,extend:T,fireEvent:c,isArray:S,isNumber:G,isString:E,merge:k,pick:o,pushUnique:g,splat:s,syncTimeout:e}=st;class t{constructor(a,m,b){this.allowShared=!0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.options={},this.outside=!1,this.chart=a,this.init(a,m),this.pointer=b}bodyFormatter(a){return a.map(function(m){let b=m.series.tooltipOptions;return(b[(m.point.formatPrefix||"point")+"Formatter"]||m.point.tooltipFormatter).call(m.point,b[(m.point.formatPrefix||"point")+"Format"]||"")})}cleanSplit(a){this.chart.series.forEach(function(m){let b=m&&m.tt;b&&(!b.isActive||a?m.tt=b.destroy():b.isActive=!1)})}defaultFormatter(a){let m,b=this.points||s(this);return(m=(m=[a.tooltipFooterHeaderFormatter(b[0])]).concat(a.bodyFormatter(b))).push(a.tooltipFooterHeaderFormatter(b[0],!0)),m}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(),v(this.container)),st.clearTimeout(this.hideTimer)}getAnchor(a,m){let b,{chart:h,pointer:A}=this,Y=h.inverted,f=h.plotTop,O=h.plotLeft;if((a=s(a))[0].series&&a[0].series.yAxis&&!a[0].series.yAxis.options.reversedStacks&&(a=a.slice().reverse()),this.followPointer&&m)m.chartX===void 0&&(m=A.normalize(m)),b=[m.chartX-O,m.chartY-f];else if(a[0].tooltipPos)b=a[0].tooltipPos;else{let j=0,W=0;a.forEach(function(et){let l=et.pos(!0);l&&(j+=l[0],W+=l[1])}),j/=a.length,W/=a.length,this.shared&&a.length>1&&m&&(Y?j=m.chartX:W=m.chartY),b=[j-O,W-f]}return b.map(Math.round)}getClassName(a,m,b){let h=this.options,A=a.series,Y=A.options;return[h.className,"highcharts-label",b&&"highcharts-tooltip-header",m?"highcharts-tooltip-box":"highcharts-tooltip",!b&&"highcharts-color-"+o(a.colorIndex,A.colorIndex),Y&&Y.className].filter(E).join(" ")}getLabel({anchorX:a,anchorY:m}={anchorX:0,anchorY:0}){let b=this,h=this.chart.styledMode,A=this.options,Y=this.split&&this.allowShared,f=this.container,O=this.chart.renderer;if(this.label){let j=!this.label.hasClass("highcharts-label");(!Y&&j||Y&&!j)&&this.destroy()}if(!this.label){if(this.outside){let j=this.chart.options.chart.style,W=nt.getRendererType();this.container=f=J.doc.createElement("div"),f.className="highcharts-tooltip-container",x(f,{position:"absolute",top:"1px",pointerEvents:"none",zIndex:Math.max(this.options.style.zIndex||0,(j&&j.zIndex||0)+3)}),this.renderer=O=new W(f,0,0,j,void 0,void 0,O.styledMode)}if(Y?this.label=O.g("tooltip"):(this.label=O.label("",a,m,A.shape,void 0,void 0,A.useHTML,void 0,"tooltip").attr({padding:A.padding,r:A.borderRadius}),h||this.label.attr({fill:A.backgroundColor,"stroke-width":A.borderWidth||0}).css(A.style).css({pointerEvents:A.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none")})),b.outside){let j=this.label;[j.xSetter,j.ySetter].forEach((W,et)=>{j[et?"ySetter":"xSetter"]=l=>{W.call(j,b.distance),j[et?"y":"x"]=l,f&&(f.style[et?"top":"left"]=`${l}px`)}})}this.label.attr({zIndex:8}).shadow(A.shadow).add()}return f&&!f.parentElement&&J.doc.body.appendChild(f),this.label}getPlayingField(){let{body:a,documentElement:m}=w,{chart:b,distance:h,outside:A}=this;return{width:A?Math.max(a.scrollWidth,m.scrollWidth,a.offsetWidth,m.offsetWidth,m.clientWidth)-2*h:b.chartWidth,height:A?Math.max(a.scrollHeight,m.scrollHeight,a.offsetHeight,m.offsetHeight,m.clientHeight):b.chartHeight}}getPosition(a,m,b){var Q,it;let{distance:h,chart:A,outside:Y,pointer:f}=this,{inverted:O,plotLeft:j,plotTop:W,polar:et}=A,{plotX:l=0,plotY:n=0}=b,y={},D=O&&b.h||0,{height:i,width:p}=this.getPlayingField(),d=f.getChartPosition(),M=tt=>tt*d.scaleX,C=tt=>tt*d.scaleY,R=tt=>{let ot=tt==="x";return[tt,ot?p:i,ot?a:m].concat(Y?[ot?M(a):C(m),ot?d.left-h+M(l+j):d.top-h+C(n+W),0,ot?p:i]:[ot?a:m,ot?l+j:n+W,ot?j:W,ot?j+A.plotWidth:W+A.plotHeight])},X=R("y"),U=R("x"),Z,at=!!b.negative;!et&&((it=(Q=A.hoverSeries)==null?void 0:Q.yAxis)!=null&&it.reversed)&&(at=!at);let rt=!this.followPointer&&o(b.ttBelow,!et&&!O===at),z=function(tt,ot,ht,ct,ut,ft,bt){let vt=Y?tt==="y"?C(h):M(h):h,xt=(ht-ct)/2,mt=ct<ut-h,St=ut+h+ct<ot,kt=ut-vt-ht+xt,Ct=ut+vt-xt;if(rt&&St)y[tt]=Ct;else if(!rt&&mt)y[tt]=kt;else if(mt)y[tt]=Math.min(bt-ct,kt-D<0?kt:kt-D);else{if(!St)return!1;y[tt]=Math.max(ft,Ct+D+ht>ot?Ct:Ct+D)}},L=function(tt,ot,ht,ct,ut){if(ut<h||ut>ot-h)return!1;ut<ht/2?y[tt]=1:ut>ot-ct/2?y[tt]=ot-ct-2:y[tt]=ut-ht/2},N=function(tt){[X,U]=[U,X],Z=tt},F=()=>{z.apply(0,X)!==!1?L.apply(0,U)!==!1||Z||(N(!0),F()):Z?y.x=y.y=0:(N(!0),F())};return(O&&!et||this.len>1)&&N(),F(),y}hide(a){let m=this;st.clearTimeout(this.hideTimer),a=o(a,this.options.hideDelay),this.isHidden||(this.hideTimer=e(function(){let b=m.getLabel();m.getLabel().animate({opacity:0},{duration:a&&150,complete:()=>{b.hide(),m.container&&m.container.remove()}}),m.isHidden=!0},a))}init(a,m){this.chart=a,this.options=m,this.crosshairs=[],this.isHidden=!0,this.split=m.split&&!a.inverted&&!a.polar,this.shared=m.shared||this.split,this.outside=o(m.outside,!!(a.scrollablePixelsX||a.scrollablePixelsY))}shouldStickOnContact(a){return!!(!this.followPointer&&this.options.stickOnContact&&(!a||this.pointer.inClass(a.target,"highcharts-tooltip")))}move(a,m,b,h){let A=this,Y=K(!A.isHidden&&A.options.animation),f=A.followPointer||(A.len||0)>1,O={x:a,y:m};f||(O.anchorX=b,O.anchorY=h),Y.step=()=>A.drawTracker(),A.getLabel().animate(O,Y)}refresh(a,m){let{chart:b,options:h,pointer:A,shared:Y}=this,f=s(a),O=f[0],j=[],W=h.format,et=h.formatter||this.defaultFormatter,l=b.styledMode,n={},y=this.allowShared;if(!h.enabled||!O.series)return;st.clearTimeout(this.hideTimer),this.allowShared=!(!S(a)&&a.series&&a.series.noSharedTooltip),y=y&&!this.allowShared,this.followPointer=!this.split&&O.series.tooltipOptions.followPointer;let D=this.getAnchor(a,m),i=D[0],p=D[1];Y&&this.allowShared?(A.applyInactiveState(f),f.forEach(function(C){C.setState("hover"),j.push(C.getLabelConfig())}),(n=O.getLabelConfig()).points=j):n=O.getLabelConfig(),this.len=j.length;let d=E(W)?$(W,n,b):et.call(n,this),M=O.series;if(this.distance=o(M.tooltipOptions.distance,16),d===!1)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(d,f);else{let C=i,R=p;if(m&&A.isDirectTouch&&(C=m.chartX-b.plotLeft,R=m.chartY-b.plotTop),b.polar||M.options.clip===!1||f.some(X=>A.isDirectTouch||X.series.shouldShowTooltip(C,R))){let X=this.getLabel(y&&this.tt||{});(!h.style.width||l)&&X.css({width:(this.outside?this.getPlayingField():b.spacingBox).width+"px"}),X.attr({class:this.getClassName(O),text:d&&d.join?d.join(""):d}),this.outside&&X.attr({x:u(X.x||0,0,this.getPlayingField().width-(X.width||0))}),l||X.attr({stroke:h.borderColor||O.color||M.color||"#666666"}),this.updatePosition({plotX:i,plotY:p,negative:O.negative,ttBelow:O.ttBelow,h:D[2]||0})}else{this.hide();return}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}c(this,"refresh")}renderSplit(a,m){var ot;let b=this,{chart:h,chart:{chartWidth:A,chartHeight:Y,plotHeight:f,plotLeft:O,plotTop:j,scrollablePixelsY:W=0,scrollablePixelsX:et,styledMode:l},distance:n,options:y,options:{positioner:D},pointer:i}=b,{scrollLeft:p=0,scrollTop:d=0}=((ot=h.scrollablePlotArea)==null?void 0:ot.scrollingContainer)||{},M=b.outside&&typeof et!="number"?w.documentElement.getBoundingClientRect():{left:p,right:p+A,top:d,bottom:d+Y},C=b.getLabel(),R=this.renderer||h.renderer,X=!!(h.xAxis[0]&&h.xAxis[0].opposite),{left:U,top:Z}=i.getChartPosition(),at=j+d,rt=0,z=f-W;function L(ht,ct,ut,ft,bt=!0){let vt,xt;return ut?(vt=X?0:z,xt=u(ht-ft/2,M.left,M.right-ft-(b.outside?U:0))):(vt=ct-at,xt=u(xt=bt?ht-ft-n:ht+n,bt?xt:M.left,M.right)),{x:xt,y:vt}}E(a)&&(a=[!1,a]);let N=a.slice(0,m.length+1).reduce(function(ht,ct,ut){if(ct!==!1&&ct!==""){let ft=m[ut-1]||{isHeader:!0,plotX:m[0].plotX,plotY:f,series:{}},bt=ft.isHeader,vt=bt?b:ft.series,xt=vt.tt=function(Tt,Mt,Lt){let At=Tt,{isHeader:jt,series:Xt}=Mt;if(!At){let Wt={padding:y.padding,r:y.borderRadius};l||(Wt.fill=y.backgroundColor,Wt["stroke-width"]=y.borderWidth??1),At=R.label("",0,0,y[jt?"headerShape":"shape"],void 0,void 0,y.useHTML).addClass(b.getClassName(Mt,!0,jt)).attr(Wt).add(C)}return At.isActive=!0,At.attr({text:Lt}),l||At.css(y.style).attr({stroke:y.borderColor||Mt.color||Xt.color||"#333333"}),At}(vt.tt,ft,ct.toString()),mt=xt.getBBox(),St=mt.width+xt.strokeWidth();bt&&(rt=mt.height,z+=rt,X&&(at-=rt));let{anchorX:kt,anchorY:Ct}=function(Tt){let Mt,Lt,{isHeader:At,plotX:jt=0,plotY:Xt=0,series:Wt}=Tt;if(At)Mt=Math.max(O+jt,O),Lt=j+f/2;else{let{xAxis:Ft,yAxis:Et}=Wt;Mt=Ft.pos+u(jt,-n,Ft.len+n),Wt.shouldShowTooltip(0,Et.pos-j+Xt,{ignoreX:!0})&&(Lt=Et.pos+Xt)}return{anchorX:Mt=u(Mt,M.left-n,M.right+n),anchorY:Lt}}(ft);if(typeof Ct=="number"){let Tt=mt.height+1,Mt=D?D.call(b,St,Tt,ft):L(kt,Ct,bt,St);ht.push({align:D?0:void 0,anchorX:kt,anchorY:Ct,boxWidth:St,point:ft,rank:o(Mt.rank,bt?1:0),size:Tt,target:Mt.y,tt:xt,x:Mt.x})}else xt.isActive=!1}return ht},[]);!D&&N.some(ht=>{let{outside:ct}=b,ut=(ct?U:0)+ht.anchorX;return ut<M.left&&ut+ht.boxWidth<M.right||ut<U-M.left+ht.boxWidth&&M.right-ut>ut})&&(N=N.map(ht=>{let{x:ct,y:ut}=L(ht.anchorX,ht.anchorY,ht.point.isHeader,ht.boxWidth,!1);return T(ht,{target:ut,x:ct})})),b.cleanSplit(),I(N,z);let F={left:U,right:U};N.forEach(function(ht){let{x:ct,boxWidth:ut,isHeader:ft}=ht;!ft&&(b.outside&&U+ct<F.left&&(F.left=U+ct),!ft&&b.outside&&F.left+ut>F.right&&(F.right=U+ct))}),N.forEach(function(ht){let{x:ct,anchorX:ut,anchorY:ft,pos:bt,point:{isHeader:vt}}=ht,xt={visibility:bt===void 0?"hidden":"inherit",x:ct,y:(bt||0)+at,anchorX:ut,anchorY:ft};if(b.outside&&ct<ut){let mt=U-F.left;mt>0&&(vt||(xt.x=ct+mt,xt.anchorX=ut+mt),vt&&(xt.x=(F.right-F.left)/2,xt.anchorX=ut+mt))}ht.tt.attr(xt)});let{container:Q,outside:it,renderer:tt}=b;if(it&&Q&&tt){let{width:ht,height:ct,x:ut,y:ft}=C.getBBox();tt.setSize(ht+ut,ct+ft,!1),Q.style.left=F.left+"px",Q.style.top=Z+"px"}B&&C.attr({opacity:C.opacity===1?.999:1})}drawTracker(){if(!this.shouldStickOnContact()){this.tracker&&(this.tracker=this.tracker.destroy());return}let a=this.chart,m=this.label,b=this.shared?a.hoverPoints:a.hoverPoint;if(!m||!b)return;let h={x:0,y:0,width:0,height:0},A=this.getAnchor(b),Y=m.getBBox();A[0]+=a.plotLeft-(m.translateX||0),A[1]+=a.plotTop-(m.translateY||0),h.x=Math.min(0,A[0]),h.y=Math.min(0,A[1]),h.width=A[0]<0?Math.max(Math.abs(A[0]),Y.width-A[0]):Math.max(Math.abs(A[0]),Y.width),h.height=A[1]<0?Math.max(Math.abs(A[1]),Y.height-Math.abs(A[1])):Math.max(Math.abs(A[1]),Y.height),this.tracker?this.tracker.attr(h):(this.tracker=m.renderer.rect(h).addClass("highcharts-tracker").add(m),a.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}styledModeFormat(a){return a.replace('style="font-size: 0.8em"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex} {series.options.className} {point.options.className}"')}tooltipFooterHeaderFormatter(a,m){let b=a.series,h=b.tooltipOptions,A=b.xAxis,Y=A&&A.dateTime,f={isFooter:m,labelConfig:a},O=h.xDateFormat,j=h[m?"footerFormat":"headerFormat"];return c(this,"headerFormatter",f,function(W){Y&&!O&&G(a.key)&&(O=Y.getXDateFormat(a.key,h.dateTimeLabelFormats)),Y&&O&&(a.point&&a.point.tooltipDateKeys||["key"]).forEach(function(et){j=j.replace("{point."+et+"}","{point."+et+":"+O+"}")}),b.chart.styledMode&&(j=this.styledModeFormat(j)),W.text=$(j,{point:a,series:b},this.chart)}),f.text}update(a){this.destroy(),this.init(this.chart,k(!0,this.options,a))}updatePosition(a){let{chart:m,container:b,distance:h,options:A,pointer:Y,renderer:f}=this,{height:O=0,width:j=0}=this.getLabel(),{left:W,top:et,scaleX:l,scaleY:n}=Y.getChartPosition(),y=(A.positioner||this.getPosition).call(this,j,O,a),D=(a.plotX||0)+m.plotLeft,i=(a.plotY||0)+m.plotTop,p;f&&b&&(A.positioner&&(y.x+=W-h,y.y+=et-h),p=(A.borderWidth||0)+2*h+2,f.setSize(j+p,O+p,!1),(l!==1||n!==1)&&(x(b,{transform:`scale(${l}, ${n})`}),D*=l,i*=n),D+=W-y.x,i+=et-y.y),this.move(Math.round(y.x),Math.round(y.y||0),D,i)}}return(dt=t||(t={})).compose=function(r){g(V,"Core.Tooltip")&&P(r,"afterInit",function(){let a=this.chart;a.options.tooltip&&(a.tooltip=new dt(a,a.options.tooltip,this))})},t}),yt(H,"Core/Series/Point.js",[H["Core/Renderer/HTML/AST.js"],H["Core/Animation/AnimationUtilities.js"],H["Core/Defaults.js"],H["Core/Templating.js"],H["Core/Utilities.js"]],function(_,q,J,lt,nt){let{animObject:st}=q,{defaultOptions:dt}=J,{format:K}=lt,{addEvent:$,crisp:V,erase:w,extend:B,fireEvent:I,getNestedProperty:P,isArray:u,isFunction:x,isNumber:v,isObject:T,merge:c,pick:S,syncTimeout:G,removeEvent:E,uniqueKey:k}=nt;class o{animateBeforeDestroy(){let s=this,e={x:s.startXPos,opacity:0},t=s.getGraphicalProps();t.singular.forEach(function(r){s[r]=s[r].animate(r==="dataLabel"?{x:s[r].startXPos,y:s[r].startYPos,opacity:0}:e)}),t.plural.forEach(function(r){s[r].forEach(function(a){a.element&&a.animate(B({x:s.startXPos},a.startYPos?{x:a.startXPos,y:a.startYPos}:{}))})})}applyOptions(s,e){let t=this.series,r=t.options.pointValKey||t.pointValKey;return B(this,s=o.prototype.optionsToObject.call(this,s)),this.options=this.options?B(this.options,s):s,s.group&&delete this.group,s.dataLabels&&delete this.dataLabels,r&&(this.y=o.prototype.getNestedProperty.call(this,r)),this.selected&&(this.state="select"),"name"in this&&e===void 0&&t.xAxis&&t.xAxis.hasNames&&(this.x=t.xAxis.nameToX(this)),this.x===void 0&&t?this.x=e??t.autoIncrement():v(s.x)&&t.options.relativeXValue&&(this.x=t.autoIncrement(s.x)),this.isNull=this.isValid&&!this.isValid(),this.formatPrefix=this.isNull?"null":"point",this}destroy(){if(!this.destroyed){let s=this,e=s.series,t=e.chart,r=e.options.dataSorting,a=t.hoverPoints,m=st(s.series.chart.renderer.globalAnimation),b=()=>{for(let h in(s.graphic||s.graphics||s.dataLabel||s.dataLabels)&&(E(s),s.destroyElements()),s)delete s[h]};s.legendItem&&t.legend.destroyItem(s),a&&(s.setState(),w(a,s),a.length||(t.hoverPoints=null)),s===t.hoverPoint&&s.onMouseOut(),r&&r.enabled?(this.animateBeforeDestroy(),G(b,m.duration)):b(),t.pointCount--}this.destroyed=!0}destroyElements(s){let e=this,t=e.getGraphicalProps(s);t.singular.forEach(function(r){e[r]=e[r].destroy()}),t.plural.forEach(function(r){e[r].forEach(function(a){a&&a.element&&a.destroy()}),delete e[r]})}firePointEvent(s,e,t){let r=this,a=this.series.options;r.manageEvent(s),s==="click"&&a.allowPointSelect&&(t=function(m){!r.destroyed&&r.select&&r.select(null,m.ctrlKey||m.metaKey||m.shiftKey)}),I(r,s,e,t)}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&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(s){let e,t,r=this,a=[],m={singular:[],plural:[]};for((s=s||{graphic:1,dataLabel:1}).graphic&&a.push("graphic","connector"),s.dataLabel&&a.push("dataLabel","dataLabelPath","dataLabelUpper"),t=a.length;t--;)r[e=a[t]]&&m.singular.push(e);return["graphic","dataLabel"].forEach(function(b){let h=b+"s";s[b]&&r[h]&&m.plural.push(h)}),m}getLabelConfig(){return{x:this.category,y:this.y,color:this.color,colorIndex:this.colorIndex,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}}getNestedProperty(s){return s?s.indexOf("custom.")===0?P(s,this.options):this[s]:void 0}getZone(){let s=this.series,e=s.zones,t=s.zoneAxis||"y",r,a=0;for(r=e[0];this[t]>=r.value;)r=e[++a];return this.nonZonedColor||(this.nonZonedColor=this.color),r&&r.color&&!this.options.color?this.color=r.color:this.color=this.nonZonedColor,r}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}constructor(s,e,t){this.formatPrefix="point",this.visible=!0,this.series=s,this.applyOptions(e,t),this.id??(this.id=k()),this.resolveColor(),s.chart.pointCount++,I(this,"afterInit")}isValid(){return(v(this.x)||this.x instanceof Date)&&v(this.y)}optionsToObject(s){let e=this.series,t=e.options.keys,r=t||e.pointArrayMap||["y"],a=r.length,m={},b,h=0,A=0;if(v(s)||s===null)m[r[0]]=s;else if(u(s))for(!t&&s.length>a&&((b=typeof s[0])=="string"?m.name=s[0]:b==="number"&&(m.x=s[0]),h++);A<a;)t&&s[h]===void 0||(r[A].indexOf(".")>0?o.prototype.setNestedProperty(m,s[h],r[A]):m[r[A]]=s[h]),h++,A++;else typeof s=="object"&&(m=s,s.dataLabels&&(e.hasDataLabels=()=>!0),s.marker&&(e._hasPointMarkers=!0));return m}pos(s,e=this.plotY){if(!this.destroyed){let{plotX:t,series:r}=this,{chart:a,xAxis:m,yAxis:b}=r,h=0,A=0;if(v(t)&&v(e))return s&&(h=m?m.pos:a.plotLeft,A=b?b.pos:a.plotTop),a.inverted&&m&&b?[b.len-e+A,m.len-t+h]:[t+h,e+A]}}resolveColor(){let s=this.series,e=s.chart.options.chart,t=s.chart.styledMode,r,a,m=e.colorCount,b;delete this.nonZonedColor,s.options.colorByPoint?(t||(r=(a=s.options.colors||s.chart.options.colors)[s.colorCounter],m=a.length),b=s.colorCounter,s.colorCounter++,s.colorCounter===m&&(s.colorCounter=0)):(t||(r=s.color),b=s.colorIndex),this.colorIndex=S(this.options.colorIndex,b),this.color=S(this.options.color,r)}setNestedProperty(s,e,t){return t.split(".").reduce(function(r,a,m,b){let h=b.length-1===m;return r[a]=h?e:T(r[a],!0)?r[a]:{},r[a]},s),s}shouldDraw(){return!this.isNull}tooltipFormatter(s){let e=this.series,t=e.tooltipOptions,r=S(t.valueDecimals,""),a=t.valuePrefix||"",m=t.valueSuffix||"";return e.chart.styledMode&&(s=e.chart.tooltip.styledModeFormat(s)),(e.pointArrayMap||["y"]).forEach(function(b){b="{point."+b,(a||m)&&(s=s.replace(RegExp(b+"}","g"),a+b+"}"+m)),s=s.replace(RegExp(b+"}","g"),b+":,."+r+"f}")}),K(s,{point:this,series:this.series},e.chart)}update(s,e,t,r){let a,m=this,b=m.series,h=m.graphic,A=b.chart,Y=b.options;function f(){m.applyOptions(s);let O=h&&m.hasMockGraphic,j=m.y===null?!O:O;h&&j&&(m.graphic=h.destroy(),delete m.hasMockGraphic),T(s,!0)&&(h&&h.element&&s&&s.marker&&s.marker.symbol!==void 0&&(m.graphic=h.destroy()),s!=null&&s.dataLabels&&m.dataLabel&&(m.dataLabel=m.dataLabel.destroy())),a=m.index,b.updateParallelArrays(m,a),Y.data[a]=T(Y.data[a],!0)||T(s,!0)?m.options:S(s,Y.data[a]),b.isDirty=b.isDirtyData=!0,!b.fixedBox&&b.hasCartesianSeries&&(A.isDirtyBox=!0),Y.legendType==="point"&&(A.isDirtyLegend=!0),e&&A.redraw(t)}e=S(e,!0),r===!1?f():m.firePointEvent("update",{options:s},f)}remove(s,e){this.series.removePoint(this.series.data.indexOf(this),s,e)}select(s,e){let t=this,r=t.series,a=r.chart;s=S(s,!t.selected),this.selectedStaging=s,t.firePointEvent(s?"select":"unselect",{accumulate:e},function(){t.selected=t.options.selected=s,r.options.data[r.data.indexOf(t)]=t.options,t.setState(s&&"select"),e||a.getSelectedPoints().forEach(function(m){let b=m.series;m.selected&&m!==t&&(m.selected=m.options.selected=!1,b.options.data[b.data.indexOf(m)]=m.options,m.setState(a.hoverPoints&&b.options.inactiveOtherPoints?"inactive":""),m.firePointEvent("unselect"))})}),delete this.selectedStaging}onMouseOver(s){let{inverted:e,pointer:t}=this.series.chart;t&&(s=s?t.normalize(s):t.getChartCoordinatesFromPoint(this,e),t.runPointActions(s,this))}onMouseOut(){let s=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(s.hoverPoints||[]).forEach(function(e){e.setState()}),s.hoverPoints=s.hoverPoint=null}manageEvent(s){var r,a,m,b,h,A;let e=c(this.series.options.point,this.options),t=(r=e.events)==null?void 0:r[s];x(t)&&(!((a=this.hcEvents)!=null&&a[s])||((b=(m=this.hcEvents)==null?void 0:m[s])==null?void 0:b.map(Y=>Y.fn).indexOf(t))===-1)?((h=this.importedUserEvent)==null||h.call(this),this.importedUserEvent=$(this,s,t)):this.importedUserEvent&&!t&&((A=this.hcEvents)!=null&&A[s])&&(E(this,s),delete this.hcEvents[s],Object.keys(this.hcEvents)||delete this.importedUserEvent)}setState(s,e){var d;let t=this.series,r=this.state,a=t.options.states[s||"normal"]||{},m=dt.plotOptions[t.type].marker&&t.options.marker,b=m&&m.enabled===!1,h=m&&m.states&&m.states[s||"normal"]||{},A=h.enabled===!1,Y=this.marker||{},f=t.chart,O=m&&t.markerAttribs,j=t.halo,W,et,l,n=t.stateMarkerGraphic,y;if((s=s||"")===this.state&&!e||this.selected&&s!=="select"||a.enabled===!1||s&&(A||b&&h.enabled===!1)||s&&Y.states&&Y.states[s]&&Y.states[s].enabled===!1)return;if(this.state=s,O&&(W=t.markerAttribs(this,s)),this.graphic&&!this.hasMockGraphic){if(r&&this.graphic.removeClass("highcharts-point-"+r),s&&this.graphic.addClass("highcharts-point-"+s),!f.styledMode){et=t.pointAttribs(this,s),l=S(f.options.chart.animation,a.animation);let M=et.opacity;t.options.inactiveOtherPoints&&v(M)&&(this.dataLabels||[]).forEach(function(C){C&&!C.hasClass("highcharts-data-label-hidden")&&(C.animate({opacity:M},l),C.connector&&C.connector.animate({opacity:M},l))}),this.graphic.animate(et,l)}W&&this.graphic.animate(W,S(f.options.chart.animation,h.animation,m.animation)),n&&n.hide()}else s&&h&&(y=Y.symbol||t.symbol,n&&n.currentSymbol!==y&&(n=n.destroy()),W&&(n?n[e?"animate":"attr"]({x:W.x,y:W.y}):y&&(t.stateMarkerGraphic=n=f.renderer.symbol(y,W.x,W.y,W.width,W.height).add(t.markerGroup),n.currentSymbol=y)),!f.styledMode&&n&&this.state!=="inactive"&&n.attr(t.pointAttribs(this,s))),n&&(n[s&&this.isInside?"show":"hide"](),n.element.point=this,n.addClass(this.getClassName(),!0));let D=a.halo,i=this.graphic||n,p=i&&i.visibility||"inherit";D&&D.size&&i&&p!=="hidden"&&!this.isCluster?(j||(t.halo=j=f.renderer.path().add(i.parentGroup)),j.show()[e?"animate":"attr"]({d:this.haloPath(D.size)}),j.attr({class:"highcharts-halo highcharts-color-"+S(this.colorIndex,t.colorIndex)+(this.className?" "+this.className:""),visibility:p,zIndex:-1}),j.point=this,f.styledMode||j.attr(B({fill:this.color||t.color,"fill-opacity":D.opacity},_.filterUserAttributes(D.attributes||{})))):(d=j==null?void 0:j.point)!=null&&d.haloPath&&!j.point.destroyed&&j.animate({d:j.point.haloPath(0)},null,j.hide),I(this,"afterSetState",{state:s})}haloPath(s){let e=this.pos();return e?this.series.chart.renderer.symbols.circle(V(e[0],1)-s,e[1]-s,2*s,2*s):[]}}return o}),yt(H,"Core/Pointer.js",[H["Core/Color/Color.js"],H["Core/Globals.js"],H["Core/Utilities.js"]],function(_,q,J){var lt;let{parse:nt}=_,{charts:st,composed:dt,isTouchDevice:K}=q,{addEvent:$,attr:V,css:w,extend:B,find:I,fireEvent:P,isNumber:u,isObject:x,objectEach:v,offset:T,pick:c,pushUnique:S,splat:G}=J;class E{applyInactiveState(o){let g=[],s;(o||[]).forEach(function(e){s=e.series,g.push(s),s.linkedParent&&g.push(s.linkedParent),s.linkedSeries&&(g=g.concat(s.linkedSeries)),s.navigatorSeries&&g.push(s.navigatorSeries)}),this.chart.series.forEach(function(e){g.indexOf(e)===-1?e.setState("inactive",!0):e.options.inactiveOtherPoints&&e.setAllPointsToState("inactive")})}destroy(){let o=this;this.eventsToUnbind.forEach(g=>g()),this.eventsToUnbind=[],!q.chartCount&&(E.unbindDocumentMouseUp&&E.unbindDocumentMouseUp.forEach(g=>g()),E.unbindDocumentTouchEnd&&(E.unbindDocumentTouchEnd=E.unbindDocumentTouchEnd())),clearInterval(o.tooltipTimeout),v(o,function(g,s){o[s]=void 0})}getSelectionMarkerAttrs(o,g){let s={args:{chartX:o,chartY:g},attrs:{},shapeType:"rect"};return P(this,"getSelectionMarkerAttrs",s,e=>{let t,{chart:r,zoomHor:a,zoomVert:m}=this,{mouseDownX:b=0,mouseDownY:h=0}=r,A=e.attrs;A.x=r.plotLeft,A.y=r.plotTop,A.width=a?1:r.plotWidth,A.height=m?1:r.plotHeight,a&&(t=o-b,A.width=Math.max(1,Math.abs(t)),A.x=(t>0?0:t)+b),m&&(t=g-h,A.height=Math.max(1,Math.abs(t)),A.y=(t>0?0:t)+h)}),s}drag(o){let{chart:g}=this,{mouseDownX:s=0,mouseDownY:e=0}=g,{panning:t,panKey:r,selectionMarkerFill:a}=g.options.chart,m=g.plotLeft,b=g.plotTop,h=g.plotWidth,A=g.plotHeight,Y=x(t)?t.enabled:t,f=r&&o[`${r}Key`],O=o.chartX,j=o.chartY,W,et=this.selectionMarker;if((!et||!et.touch)&&(O<m?O=m:O>m+h&&(O=m+h),j<b?j=b:j>b+A&&(j=b+A),this.hasDragged=Math.sqrt(Math.pow(s-O,2)+Math.pow(e-j,2)),this.hasDragged>10)){W=g.isInsidePlot(s-m,e-b,{visiblePlotOnly:!0});let{shapeType:l,attrs:n}=this.getSelectionMarkerAttrs(O,j);(g.hasCartesianSeries||g.mapView)&&this.hasZoom&&W&&!f&&!et&&(this.selectionMarker=et=g.renderer[l](),et.attr({class:"highcharts-selection-marker",zIndex:7}).add(),g.styledMode||et.attr({fill:a||nt("#334eff").setOpacity(.25).get()})),et&&et.attr(n),W&&!et&&Y&&g.pan(o,t)}}dragStart(o){let g=this.chart;g.mouseIsDown=o.type,g.cancelClick=!1,g.mouseDownX=o.chartX,g.mouseDownY=o.chartY}getSelectionBox(o){let g={args:{marker:o},result:o.getBBox()};return P(this,"getSelectionBox",g),g.result}drop(o){let g,{chart:s,selectionMarker:e}=this;for(let t of s.axes)t.isPanning&&(t.isPanning=!1,(t.options.startOnTick||t.options.endOnTick||t.series.some(r=>r.boosted))&&(t.forceRedraw=!0,t.setExtremes(t.userMin,t.userMax,!1),g=!0));if(g&&s.redraw(),e&&o){if(this.hasDragged){let t=this.getSelectionBox(e);s.transform({axes:s.axes.filter(r=>r.zoomEnabled&&(r.coll==="xAxis"&&this.zoomX||r.coll==="yAxis"&&this.zoomY)),selection:{originalEvent:o,xAxis:[],yAxis:[],...t},from:t})}u(s.index)&&(this.selectionMarker=e.destroy())}s&&u(s.index)&&(w(s.container,{cursor:s._cursor}),s.cancelClick=this.hasDragged>10,s.mouseIsDown=!1,this.hasDragged=0,this.pinchDown=[])}findNearestKDPoint(o,g,s){let e;return o.forEach(function(t){let r=!(t.noSharedTooltip&&g)&&0>t.options.findNearestPointBy.indexOf("y"),a=t.searchPoint(s,r);x(a,!0)&&a.series&&(!x(e,!0)||function(m,b){var f,O;let h=m.distX-b.distX,A=m.dist-b.dist,Y=((f=b.series.group)==null?void 0:f.zIndex)-((O=m.series.group)==null?void 0:O.zIndex);return h!==0&&g?h:A!==0?A:Y!==0?Y:m.series.index>b.series.index?-1:1}(e,a)>0)&&(e=a)}),e}getChartCoordinatesFromPoint(o,g){let{xAxis:s,yAxis:e}=o.series,t=o.shapeArgs;if(s&&e){let r=o.clientX??o.plotX??0,a=o.plotY||0;return o.isNode&&t&&u(t.x)&&u(t.y)&&(r=t.x,a=t.y),g?{chartX:e.len+e.pos-a,chartY:s.len+s.pos-r}:{chartX:r+s.pos,chartY:a+e.pos}}if(t&&t.x&&t.y)return{chartX:t.x,chartY:t.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;let{container:o}=this.chart,g=T(o);this.chartPosition={left:g.left,top:g.top,scaleX:1,scaleY:1};let{offsetHeight:s,offsetWidth:e}=o;return e>2&&s>2&&(this.chartPosition.scaleX=g.width/e,this.chartPosition.scaleY=g.height/s),this.chartPosition}getCoordinates(o){let g={xAxis:[],yAxis:[]};for(let s of this.chart.axes)g[s.isXAxis?"xAxis":"yAxis"].push({axis:s,value:s.toValue(o[s.horiz?"chartX":"chartY"])});return g}getHoverData(o,g,s,e,t,r){let a=[],m=function(f){return f.visible&&!(!t&&f.directTouch)&&c(f.options.enableMouseTracking,!0)},b=g,h,A={chartX:r?r.chartX:void 0,chartY:r?r.chartY:void 0,shared:t};P(this,"beforeGetHoverData",A),h=b&&!b.stickyTracking?[b]:s.filter(f=>f.stickyTracking&&(A.filter||m)(f));let Y=e&&o||!r?o:this.findNearestKDPoint(h,t,r);return b=Y&&Y.series,Y&&(t&&!b.noSharedTooltip?(h=s.filter(function(f){return A.filter?A.filter(f):m(f)&&!f.noSharedTooltip})).forEach(function(f){let O=I(f.points,function(j){return j.x===Y.x&&!j.isNull});x(O)&&(f.boosted&&f.boost&&(O=f.boost.getPoint(O)),a.push(O))}):a.push(Y)),P(this,"afterGetHoverData",A={hoverPoint:Y}),{hoverPoint:A.hoverPoint,hoverSeries:b,hoverPoints:a}}getPointFromEvent(o){let g=o.target,s;for(;g&&!s;)s=g.point,g=g.parentNode;return s}onTrackerMouseOut(o){let g=this.chart,s=o.relatedTarget,e=g.hoverSeries;this.isDirectTouch=!1,!e||!s||e.stickyTracking||this.inClass(s,"highcharts-tooltip")||this.inClass(s,"highcharts-series-"+e.index)&&this.inClass(s,"highcharts-tracker")||e.onMouseOut()}inClass(o,g){let s=o,e;for(;s;){if(e=V(s,"class")){if(e.indexOf(g)!==-1)return!0;if(e.indexOf("highcharts-container")!==-1)return!1}s=s.parentElement}}constructor(o,g){var s;this.hasDragged=0,this.pointerCaptureEventsToUnbind=[],this.eventsToUnbind=[],this.options=g,this.chart=o,this.runChartClick=!!((s=g.chart.events)!=null&&s.click),this.pinchDown=[],this.setDOMEvents(),P(this,"afterInit")}normalize(o,g){let s=o.touches,e=s?s.length?s.item(0):c(s.changedTouches,o.changedTouches)[0]:o;g||(g=this.getChartPosition());let t=e.pageX-g.left,r=e.pageY-g.top;return B(o,{chartX:Math.round(t/=g.scaleX),chartY:Math.round(r/=g.scaleY)})}onContainerClick(o){let g=this.chart,s=g.hoverPoint,e=this.normalize(o),t=g.plotLeft,r=g.plotTop;!g.cancelClick&&(s&&this.inClass(e.target,"highcharts-tracker")?(P(s.series,"click",B(e,{point:s})),g.hoverPoint&&s.firePointEvent("click",e)):(B(e,this.getCoordinates(e)),g.isInsidePlot(e.chartX-t,e.chartY-r,{visiblePlotOnly:!0})&&P(g,"click",e)))}onContainerMouseDown(o){var s;let g=(1&(o.buttons||o.button))==1;o=this.normalize(o),q.isFirefox&&o.button!==0&&this.onContainerMouseMove(o),(o.button===void 0||g)&&(this.zoomOption(o),g&&((s=o.preventDefault)==null||s.call(o)),this.dragStart(o))}onContainerMouseLeave(o){let{pointer:g}=st[c(E.hoverChartIndex,-1)]||{};o=this.normalize(o),this.onContainerMouseMove(o),g&&!this.inClass(o.relatedTarget,"highcharts-tooltip")&&(g.reset(),g.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(o){let g=this.chart,s=g.tooltip,e=this.normalize(o);this.setHoverChartIndex(o),(g.mouseIsDown==="mousedown"||this.touchSelect(e))&&this.drag(e),!g.openMenu&&(this.inClass(e.target,"highcharts-tracker")||g.isInsidePlot(e.chartX-g.plotLeft,e.chartY-g.plotTop,{visiblePlotOnly:!0}))&&!(s&&s.shouldStickOnContact(e))&&(this.inClass(e.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(e))}onDocumentTouchEnd(o){this.onDocumentMouseUp(o)}onContainerTouchMove(o){this.touchSelect(o)?this.onContainerMouseMove(o):this.touch(o)}onContainerTouchStart(o){this.touchSelect(o)?this.onContainerMouseDown(o):(this.zoomOption(o),this.touch(o,!0))}onDocumentMouseMove(o){let g=this.chart,s=g.tooltip,e=this.chartPosition,t=this.normalize(o,e);!e||g.isInsidePlot(t.chartX-g.plotLeft,t.chartY-g.plotTop,{visiblePlotOnly:!0})||s&&s.shouldStickOnContact(t)||t.target!==g.container.ownerDocument&&this.inClass(t.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(o){var g,s;(s=(g=st[c(E.hoverChartIndex,-1)])==null?void 0:g.pointer)==null||s.drop(o)}pinch(o){let g=this,{chart:s,hasZoom:e,lastTouches:t}=g,r=[].map.call(o.touches||[],A=>g.normalize(A)),a=r.length,m=a===1&&(g.inClass(o.target,"highcharts-tracker")&&s.runTrackerClick||g.runChartClick),b=s.tooltip,h=a===1&&c(b==null?void 0:b.options.followTouchMove,!0);a>1?g.initiated=!0:h&&(g.initiated=!1),e&&g.initiated&&!m&&o.cancelable!==!1&&o.preventDefault(),o.type==="touchstart"?(g.pinchDown=r,g.res=!0,s.mouseDownX=o.chartX):h?this.runPointActions(g.normalize(o)):t&&(P(s,"touchpan",{originalEvent:o,touches:r},()=>{let A=Y=>{let f=Y[0],O=Y[1]||f;return{x:f.chartX,y:f.chartY,width:O.chartX-f.chartX,height:O.chartY-f.chartY}};s.transform({axes:s.axes.filter(Y=>Y.zoomEnabled&&(this.zoomHor&&Y.horiz||this.zoomVert&&!Y.horiz)),to:A(r),from:A(t),trigger:o.type})}),g.res&&(g.res=!1,this.reset(!1,0))),g.lastTouches=r}reset(o,g){let s=this.chart,e=s.hoverSeries,t=s.hoverPoint,r=s.hoverPoints,a=s.tooltip,m=a&&a.shared?r:t;o&&m&&G(m).forEach(function(b){b.series.isCartesian&&b.plotX===void 0&&(o=!1)}),o?a&&m&&G(m).length&&(a.refresh(m),a.shared&&r?r.forEach(function(b){b.setState(b.state,!0),b.series.isCartesian&&(b.series.xAxis.crosshair&&b.series.xAxis.drawCrosshair(null,b),b.series.yAxis.crosshair&&b.series.yAxis.drawCrosshair(null,b))}):t&&(t.setState(t.state,!0),s.axes.forEach(function(b){b.crosshair&&t.series[b.coll]===b&&b.drawCrosshair(null,t)}))):(t&&t.onMouseOut(),r&&r.forEach(function(b){b.setState()}),e&&e.onMouseOut(),a&&a.hide(g),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),s.axes.forEach(function(b){b.hideCrosshair()}),s.hoverPoints=s.hoverPoint=void 0)}runPointActions(o,g,s){let e=this.chart,t=e.series,r=e.tooltip&&e.tooltip.options.enabled?e.tooltip:void 0,a=!!r&&r.shared,m=g||e.hoverPoint,b=m&&m.series||e.hoverSeries,h=(!o||o.type!=="touchmove")&&(!!g||b&&b.directTouch&&this.isDirectTouch),A=this.getHoverData(m,b,t,h,a,o);m=A.hoverPoint,b=A.hoverSeries;let Y=A.hoverPoints,f=b&&b.tooltipOptions.followPointer&&!b.tooltipOptions.split,O=a&&b&&!b.noSharedTooltip;if(m&&(s||m!==e.hoverPoint||r&&r.isHidden)){if((e.hoverPoints||[]).forEach(function(j){Y.indexOf(j)===-1&&j.setState()}),e.hoverSeries!==b&&b.onMouseOver(),this.applyInactiveState(Y),(Y||[]).forEach(function(j){j.setState("hover")}),e.hoverPoint&&e.hoverPoint.firePointEvent("mouseOut"),!m.series)return;e.hoverPoints=Y,e.hoverPoint=m,m.firePointEvent("mouseOver",void 0,()=>{r&&m&&r.refresh(O?Y:m,o)})}else if(f&&r&&!r.isHidden){let j=r.getAnchor([{}],o);e.isInsidePlot(j[0],j[1],{visiblePlotOnly:!0})&&r.updatePosition({plotX:j[0],plotY:j[1]})}this.unDocMouseMove||(this.unDocMouseMove=$(e.container.ownerDocument,"mousemove",j=>{var W,et;return(et=(W=st[E.hoverChartIndex??-1])==null?void 0:W.pointer)==null?void 0:et.onDocumentMouseMove(j)}),this.eventsToUnbind.push(this.unDocMouseMove)),e.axes.forEach(function(j){let W,et=c((j.crosshair||{}).snap,!0);!et||(W=e.hoverPoint)&&W.series[j.coll]===j||(W=I(Y,l=>l.series&&l.series[j.coll]===j)),W||!et?j.drawCrosshair(o,W):j.hideCrosshair()})}setDOMEvents(){let o=this.chart.container,g=o.ownerDocument;o.onmousedown=this.onContainerMouseDown.bind(this),o.onmousemove=this.onContainerMouseMove.bind(this),o.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push($(o,"mouseenter",this.onContainerMouseEnter.bind(this)),$(o,"mouseleave",this.onContainerMouseLeave.bind(this))),E.unbindDocumentMouseUp||(E.unbindDocumentMouseUp=[]),E.unbindDocumentMouseUp.push($(g,"mouseup",this.onDocumentMouseUp.bind(this)));let s=this.chart.renderTo.parentElement;for(;s&&s.tagName!=="BODY";)this.eventsToUnbind.push($(s,"scroll",()=>{delete this.chartPosition})),s=s.parentElement;this.eventsToUnbind.push($(o,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),$(o,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),E.unbindDocumentTouchEnd||(E.unbindDocumentTouchEnd=$(g,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})),this.setPointerCapture(),$(this.chart,"redraw",this.setPointerCapture.bind(this))}setPointerCapture(){var t,r;if(!K)return;let o=this.pointerCaptureEventsToUnbind,g=this.chart,s=g.container,e=c((t=g.options.tooltip)==null?void 0:t.followTouchMove,!0)&&g.series.some(a=>a.options.findNearestPointBy.indexOf("y")>-1);!this.hasPointerCapture&&e?(o.push($(s,"pointerdown",a=>{var m,b;(m=a.target)!=null&&m.hasPointerCapture(a.pointerId)&&((b=a.target)==null||b.releasePointerCapture(a.pointerId))}),$(s,"pointermove",a=>{var m,b;(b=(m=g.pointer)==null?void 0:m.getPointFromEvent(a))==null||b.onMouseOver(a)})),g.styledMode||w(s,{"touch-action":"none"}),s.className+=" highcharts-no-touch-action",this.hasPointerCapture=!0):this.hasPointerCapture&&!e&&(o.forEach(a=>a()),o.length=0,g.styledMode||w(s,{"touch-action":c((r=g.options.chart.style)==null?void 0:r["touch-action"],"manipulation")}),s.className=s.className.replace(" highcharts-no-touch-action",""),this.hasPointerCapture=!1)}setHoverChartIndex(o){var e;let g=this.chart,s=q.charts[c(E.hoverChartIndex,-1)];if(s&&s!==g){let t={relatedTarget:g.container};o&&!(o!=null&&o.relatedTarget)&&(o={...t,...o}),(e=s.pointer)==null||e.onContainerMouseLeave(o||t)}s&&s.mouseIsDown||(E.hoverChartIndex=g.index)}touch(o,g){let s,{chart:e,pinchDown:t=[]}=this;this.setHoverChartIndex(),(o=this.normalize(o)).touches.length===1?e.isInsidePlot(o.chartX-e.plotLeft,o.chartY-e.plotTop,{visiblePlotOnly:!0})&&!e.openMenu?(g&&this.runPointActions(o),o.type==="touchmove"&&(s=!!t[0]&&Math.pow(t[0].chartX-o.chartX,2)+Math.pow(t[0].chartY-o.chartY,2)>=16),c(s,!0)&&this.pinch(o)):g&&this.reset():o.touches.length===2&&this.pinch(o)}touchSelect(o){return!!(this.chart.zooming.singleTouch&&o.touches&&o.touches.length===1)}zoomOption(o){let g=this.chart,s=g.inverted,e=g.zooming.type||"",t,r;/touch/.test(o.type)&&(e=c(g.zooming.pinchType,e)),this.zoomX=t=/x/.test(e),this.zoomY=r=/y/.test(e),this.zoomHor=t&&!s||r&&s,this.zoomVert=r&&!s||t&&s,this.hasZoom=t||r}}return(lt=E||(E={})).compose=function(k){S(dt,"Core.Pointer")&&$(k,"beforeRender",function(){this.pointer=new lt(this,this.options)})},E}),yt(H,"Core/Legend/LegendSymbol.js",[H["Core/Utilities.js"]],function(_){var q;let{extend:J,merge:lt,pick:nt}=_;return function(st){function dt(K,$,V){var s,e;let w=this.legendItem=this.legendItem||{},{chart:B,options:I}=this,{baseline:P=0,symbolWidth:u,symbolHeight:x}=K,v=this.symbol||"circle",T=x/2,c=B.renderer,S=w.group,G=P-Math.round((((s=K.fontMetrics)==null?void 0:s.b)||x)*(V?.4:.3)),E={},k,o=I.marker,g=0;if(B.styledMode||(E["stroke-width"]=Math.min(I.lineWidth||0,24),I.dashStyle?E.dashstyle=I.dashStyle:I.linecap==="square"||(E["stroke-linecap"]="round")),w.line=c.path().addClass("highcharts-graph").attr(E).add(S),V&&(w.area=c.path().addClass("highcharts-area").add(S)),E["stroke-linecap"]&&(g=Math.min(w.line.strokeWidth(),u)/2),u){let t=[["M",g,G],["L",u-g,G]];w.line.attr({d:t}),(e=w.area)==null||e.attr({d:[...t,["L",u-g,P],["L",g,P]]})}if(o&&o.enabled!==!1&&u){let t=Math.min(nt(o.radius,T),T);v.indexOf("url")===0&&(o=lt(o,{width:x,height:x}),t=0),w.symbol=k=c.symbol(v,u/2-t,G-t,2*t,2*t,J({context:"legend"},o)).addClass("highcharts-point").add(S),k.isMarker=!0}}st.areaMarker=function(K,$){dt.call(this,K,$,!0)},st.lineMarker=dt,st.rectangle=function(K,$){let V=$.legendItem||{},w=K.options,B=K.symbolHeight,I=w.squareSymbol,P=I?B:K.symbolWidth;V.symbol=this.chart.renderer.rect(I?(K.symbolWidth-B)/2:0,K.baseline-B+1,P,B,nt(K.options.symbolRadius,B/2)).addClass("highcharts-point").attr({zIndex:3}).add(V.group)}}(q||(q={})),q}),yt(H,"Core/Series/SeriesDefaults.js",[],function(){return{lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,formatter:function(){let{numberFormatter:_}=this.series.chart;return typeof this.y!="number"?"":_(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"}}),yt(H,"Core/Series/SeriesRegistry.js",[H["Core/Globals.js"],H["Core/Defaults.js"],H["Core/Series/Point.js"],H["Core/Utilities.js"]],function(_,q,J,lt){var nt;let{defaultOptions:st}=q,{extend:dt,extendClass:K,merge:$}=lt;return function(V){function w(B,I){let P=st.plotOptions||{},u=I.defaultOptions,x=I.prototype;return x.type=B,x.pointClass||(x.pointClass=J),!V.seriesTypes[B]&&(u&&(P[B]=u),V.seriesTypes[B]=I,!0)}V.seriesTypes=_.seriesTypes,V.registerSeriesType=w,V.seriesType=function(B,I,P,u,x){let v=st.plotOptions||{};if(I=I||"",v[B]=$(v[I],P),delete V.seriesTypes[B],w(B,K(V.seriesTypes[I]||function(){},u)),V.seriesTypes[B].prototype.type=B,x){class T extends J{}dt(T.prototype,x),V.seriesTypes[B].prototype.pointClass=T}return V.seriesTypes[B]}}(nt||(nt={})),nt}),yt(H,"Core/Series/Series.js",[H["Core/Animation/AnimationUtilities.js"],H["Core/Defaults.js"],H["Core/Foundation.js"],H["Core/Globals.js"],H["Core/Legend/LegendSymbol.js"],H["Core/Series/Point.js"],H["Core/Series/SeriesDefaults.js"],H["Core/Series/SeriesRegistry.js"],H["Core/Renderer/SVG/SVGElement.js"],H["Core/Utilities.js"]],function(_,q,J,lt,nt,st,dt,K,$,V){let{animObject:w,setAnimation:B}=_,{defaultOptions:I}=q,{registerEventOptions:P}=J,{svg:u,win:x}=lt,{seriesTypes:v}=K,{arrayMax:T,arrayMin:c,clamp:S,correctFloat:G,crisp:E,defined:k,destroyObjectProperties:o,diffObjects:g,erase:s,error:e,extend:t,find:r,fireEvent:a,getClosestDistance:m,getNestedProperty:b,insertItem:h,isArray:A,isNumber:Y,isString:f,merge:O,objectEach:j,pick:W,removeEvent:et,splat:l,syncTimeout:n}=V;class y{constructor(){this.zoneAxis="y"}init(i,p){let d;a(this,"init",{options:p});let M=this,C=i.series;this.eventsToUnbind=[],M.chart=i,M.options=M.setOptions(p);let R=M.options,X=R.visible!==!1;M.linkedSeries=[],M.bindAxes(),t(M,{name:R.name,state:"",visible:X,selected:R.selected===!0}),P(this,R);let U=R.events;(U&&U.click||R.point&&R.point.events&&R.point.events.click||R.allowPointSelect)&&(i.runTrackerClick=!0),M.getColor(),M.getSymbol(),M.parallelArrays.forEach(function(Z){M[Z+"Data"]||(M[Z+"Data"]=[])}),M.isCartesian&&(i.hasCartesianSeries=!0),C.length&&(d=C[C.length-1]),M._i=W(d&&d._i,-1)+1,M.opacity=M.options.opacity,i.orderItems("series",h(this,C)),R.dataSorting&&R.dataSorting.enabled?M.setDataSortingOptions():M.points||M.data||M.setData(R.data,!1),a(this,"afterInit")}is(i){return v[i]&&this instanceof v[i]}bindAxes(){let i,p=this,d=p.options,M=p.chart;a(this,"bindAxes",null,function(){(p.axisTypes||[]).forEach(function(C){(M[C]||[]).forEach(function(R){i=R.options,(W(d[C],0)===R.index||d[C]!==void 0&&d[C]===i.id)&&(h(p,R.series),p[C]=R,R.isDirty=!0)}),p[C]||p.optionalAxis===C||e(18,!0,M)})}),a(this,"afterBindAxes")}updateParallelArrays(i,p,d){let M=i.series,C=Y(p)?function(R){let X=R==="y"&&M.toYData?M.toYData(i):i[R];M[R+"Data"][p]=X}:function(R){Array.prototype[p].apply(M[R+"Data"],d)};M.parallelArrays.forEach(C)}hasData(){return this.visible&&this.dataMax!==void 0&&this.dataMin!==void 0||this.visible&&this.yData&&this.yData.length>0}hasMarkerChanged(i,p){let d=i.marker,M=p.marker||{};return d&&(M.enabled&&!d.enabled||M.symbol!==d.symbol||M.height!==d.height||M.width!==d.width)}autoIncrement(i){let p=this.options,d=p.pointIntervalUnit,M=p.relativeXValue,C=this.chart.time,R=this.xIncrement,X,U;return R=W(R,p.pointStart,0),this.pointInterval=U=W(this.pointInterval,p.pointInterval,1),M&&Y(i)&&(U*=i),d&&(X=new C.Date(R),d==="day"?C.set("Date",X,C.get("Date",X)+U):d==="month"?C.set("Month",X,C.get("Month",X)+U):d==="year"&&C.set("FullYear",X,C.get("FullYear",X)+U),U=X.getTime()-R),M&&Y(i)?R+U:(this.xIncrement=R+U,R)}setDataSortingOptions(){let i=this.options;t(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),k(i.pointRange)||(i.pointRange=1)}setOptions(i){var Q,it;let p,d=this.chart,M=d.options.plotOptions,C=d.userOptions||{},R=O(i),X=d.styledMode,U={plotOptions:M,userOptions:R};a(this,"setOptions",U);let Z=U.plotOptions[this.type],at=C.plotOptions||{},rt=at.series||{},z=I.plotOptions[this.type]||{},L=at[this.type]||{};this.userOptions=U.userOptions;let N=O(Z,M.series,L,R);this.tooltipOptions=O(I.tooltip,(Q=I.plotOptions.series)==null?void 0:Q.tooltip,z==null?void 0:z.tooltip,d.userOptions.tooltip,(it=at.series)==null?void 0:it.tooltip,L.tooltip,R.tooltip),this.stickyTracking=W(R.stickyTracking,L.stickyTracking,rt.stickyTracking,!!this.tooltipOptions.shared&&!this.noSharedTooltip||N.stickyTracking),Z.marker===null&&delete N.marker,this.zoneAxis=N.zoneAxis||"y";let F=this.zones=(N.zones||[]).map(tt=>({...tt}));return(N.negativeColor||N.negativeFillColor)&&!N.zones&&(p={value:N[this.zoneAxis+"Threshold"]||N.threshold||0,className:"highcharts-negative"},X||(p.color=N.negativeColor,p.fillColor=N.negativeFillColor),F.push(p)),F.length&&k(F[F.length-1].value)&&F.push(X?{}:{color:this.color,fillColor:this.fillColor}),a(this,"afterSetOptions",{options:N}),N}getName(){return W(this.options.name,"Series "+(this.index+1))}getCyclic(i,p,d){let M,C,R=this.chart,X=`${i}Index`,U=`${i}Counter`,Z=(d==null?void 0:d.length)||R.options.chart.colorCount;!p&&(k(C=W(i==="color"?this.options.colorIndex:void 0,this[X]))?M=C:(R.series.length||(R[U]=0),M=R[U]%Z,R[U]+=1),d&&(p=d[M])),M!==void 0&&(this[X]=M),this[i]=p}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||I.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){let i=this.options.marker;this.getCyclic("symbol",i.symbol,this.chart.options.symbols)}findPointIndex(i,p){let d,M,C,R=i.id,X=i.x,U=this.points,Z=this.options.dataSorting;if(R){let at=this.chart.get(R);at instanceof st&&(d=at)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let at=rt=>!rt.touched&&rt.index===i.index;if(Z&&Z.matchByName?at=rt=>!rt.touched&&rt.name===i.name:this.options.relativeXValue&&(at=rt=>!rt.touched&&rt.options.x===i.x),!(d=r(U,at)))return}return d&&(C=d&&d.index)!==void 0&&(M=!0),C===void 0&&Y(X)&&(C=this.xData.indexOf(X,p)),C!==-1&&C!==void 0&&this.cropped&&(C=C>=this.cropStart?C-this.cropStart:C),!M&&Y(C)&&U[C]&&U[C].touched&&(C=void 0),C}updateData(i,p){let d=this.options,M=d.dataSorting,C=this.points,R=[],X=this.requireSorting,U=i.length===C.length,Z,at,rt,z,L=!0;if(this.xIncrement=null,i.forEach(function(N,F){let Q,it=k(N)&&this.pointClass.prototype.optionsToObject.call({series:this},N)||{},tt=it.x;it.id||Y(tt)?((Q=this.findPointIndex(it,z))===-1||Q===void 0?R.push(N):C[Q]&&N!==d.data[Q]?(C[Q].update(N,!1,null,!1),C[Q].touched=!0,X&&(z=Q+1)):C[Q]&&(C[Q].touched=!0),(!U||F!==Q||M&&M.enabled||this.hasDerivedData)&&(Z=!0)):R.push(N)},this),Z)for(at=C.length;at--;)(rt=C[at])&&!rt.touched&&rt.remove&&rt.remove(!1,p);else!U||M&&M.enabled?L=!1:(i.forEach(function(N,F){N===C[F].y||C[F].destroyed||C[F].update(N,!1,null,!1)}),R.length=0);return C.forEach(function(N){N&&(N.touched=!1)}),!!L&&(R.forEach(function(N){this.addPoint(N,!1,null,null,!1)},this),this.xIncrement===null&&this.xData&&this.xData.length&&(this.xIncrement=T(this.xData),this.autoIncrement()),!0)}setData(i,p=!0,d,M){var vt;let C=this,R=C.points,X=R&&R.length||0,U=C.options,Z=C.chart,at=U.dataSorting,rt=C.xAxis,z=U.turboThreshold,L=this.xData,N=this.yData,F=C.pointArrayMap,Q=F&&F.length,it=U.keys,tt,ot,ht,ct=0,ut=1,ft;Z.options.chart.allowMutatingData||(U.data&&delete C.options.data,C.userOptions.data&&delete C.userOptions.data,ft=O(!0,i));let bt=(i=ft||i||[]).length;if(at&&at.enabled&&(i=this.sortData(i)),Z.options.chart.allowMutatingData&&M!==!1&&bt&&X&&!C.cropped&&!C.hasGroupedData&&C.visible&&!C.boosted&&(ht=this.updateData(i,d)),!ht){C.xIncrement=null,C.colorCounter=0,this.parallelArrays.forEach(function(mt){C[mt+"Data"].length=0});let xt=z&&bt>z;if(xt){let mt=C.getFirstValidPoint(i),St=C.getFirstValidPoint(i,bt-1,-1),kt=Ct=>!!(A(Ct)&&(it||Y(Ct[0])));if(Y(mt)&&Y(St))for(tt=0;tt<bt;tt++)L[tt]=this.autoIncrement(),N[tt]=i[tt];else if(kt(mt)&&kt(St))if(Q)if(mt.length===Q)for(tt=0;tt<bt;tt++)L[tt]=this.autoIncrement(),N[tt]=i[tt];else for(tt=0;tt<bt;tt++)ot=i[tt],L[tt]=ot[0],N[tt]=ot.slice(1,Q+1);else if(it&&(ct=it.indexOf("x"),ut=it.indexOf("y"),ct=ct>=0?ct:0,ut=ut>=0?ut:1),mt.length===1&&(ut=0),ct===ut)for(tt=0;tt<bt;tt++)L[tt]=this.autoIncrement(),N[tt]=i[tt][ut];else for(tt=0;tt<bt;tt++)ot=i[tt],L[tt]=ot[ct],N[tt]=ot[ut];else xt=!1}if(!xt)for(tt=0;tt<bt;tt++)ot={series:C},C.pointClass.prototype.applyOptions.apply(ot,[i[tt]]),C.updateParallelArrays(ot,tt);for(N&&f(N[0])&&e(14,!0,Z),C.data=[],C.options.data=C.userOptions.data=i,tt=X;tt--;)(vt=R[tt])==null||vt.destroy();rt&&(rt.minRange=rt.userMinRange),C.isDirty=Z.isDirtyBox=!0,C.isDirtyData=!!R,d=!1}U.legendType==="point"&&(this.processData(),this.generatePoints()),p&&Z.redraw(d)}sortData(i){let p=this,d=p.options.dataSorting.sortKey||"y",M=function(C,R){return k(R)&&C.pointClass.prototype.optionsToObject.call({series:C},R)||{}};return i.forEach(function(C,R){i[R]=M(p,C),i[R].index=R},this),i.concat().sort((C,R)=>{let X=b(d,C),U=b(d,R);return U<X?-1:U>X?1:0}).forEach(function(C,R){C.x=R},this),p.linkedSeries&&p.linkedSeries.forEach(function(C){let R=C.options,X=R.data;R.dataSorting&&R.dataSorting.enabled||!X||(X.forEach(function(U,Z){X[Z]=M(C,U),i[Z]&&(X[Z].x=i[Z].x,X[Z].index=Z)}),C.setData(X,!1))}),i}getProcessedData(i){let p=this,d=p.xAxis,M=p.options.cropThreshold,C=d==null?void 0:d.logarithmic,R=p.isCartesian,X,U,Z=0,at,rt,z,L=p.xData,N=p.yData,F=!1,Q=L.length;d&&(rt=(at=d.getExtremes()).min,z=at.max,F=!!(d.categories&&!d.names.length)),R&&p.sorted&&!i&&(!M||Q>M||p.forceCrop)&&(L[Q-1]<rt||L[0]>z?(L=[],N=[]):p.yData&&(L[0]<rt||L[Q-1]>z)&&(L=(X=this.cropData(p.xData,p.yData,rt,z)).xData,N=X.yData,Z=X.start,U=!0));let it=m([C?L.map(C.log2lin):L],()=>p.requireSorting&&!F&&e(15,!1,p.chart));return{xData:L,yData:N,cropped:U,cropStart:Z,closestPointRange:it}}processData(i){let p=this.xAxis;if(this.isCartesian&&!this.isDirty&&!p.isDirty&&!this.yAxis.isDirty&&!i)return!1;let d=this.getProcessedData();this.cropped=d.cropped,this.cropStart=d.cropStart,this.processedXData=d.xData,this.processedYData=d.yData,this.closestPointRange=this.basePointRange=d.closestPointRange,a(this,"afterProcessData")}cropData(i,p,d,M){let C=i.length,R,X,U=0,Z=C;for(R=0;R<C;R++)if(i[R]>=d){U=Math.max(0,R-1);break}for(X=R;X<C;X++)if(i[X]>M){Z=X+1;break}return{xData:i.slice(U,Z),yData:p.slice(U,Z),start:U,end:Z}}generatePoints(){let i=this.options,p=this.processedData||i.data,d=this.processedXData,M=this.processedYData,C=this.pointClass,R=d.length,X=this.cropStart||0,U=this.hasGroupedData,Z=i.keys,at=[],rt=i.dataGrouping&&i.dataGrouping.groupAll?X:0,z,L,N,F,Q=this.data;if(!Q&&!U){let it=[];it.length=p.length,Q=this.data=it}for(Z&&U&&(this.options.keys=!1),F=0;F<R;F++)L=X+F,U?((N=new C(this,[d[F]].concat(l(M[F])))).dataGroup=this.groupMap[rt+F],N.dataGroup.options&&(N.options=N.dataGroup.options,t(N,N.dataGroup.options),delete N.dataLabels)):(N=Q[L])||p[L]===void 0||(Q[L]=N=new C(this,p[L],d[F])),N&&(N.index=U?rt+F:L,at[F]=N);if(this.options.keys=Z,Q&&(R!==(z=Q.length)||U))for(F=0;F<z;F++)F!==X||U||(F+=R),Q[F]&&(Q[F].destroyElements(),Q[F].plotX=void 0);this.data=Q,this.points=at,a(this,"afterGeneratePoints")}getXExtremes(i){return{min:c(i),max:T(i)}}getExtremes(i,p){let d=this.xAxis,M=this.yAxis,C=[],R=this.requireSorting&&!this.is("column")?1:0,X=!!M&&M.positiveValuesOnly,U=p||this.getExtremesFromAll||this.options.getExtremesFromAll,{processedXData:Z,processedYData:at}=this,rt,z,L,N,F,Q,it,tt=0,ot=0,ht=0;if(this.cropped&&U){let bt=this.getProcessedData(!0);Z=bt.xData,at=bt.yData}let ct=(i=i||this.stackedYData||at||[]).length,ut=Z||this.xData;for(d&&(tt=(rt=d.getExtremes()).min,ot=rt.max),Q=0;Q<ct;Q++)if(N=ut[Q],z=(Y(F=i[Q])||A(F))&&((Y(F)?F>0:F.length)||!X),L=p||this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||!d||(ut[Q+R]||N)>=tt&&(ut[Q-R]||N)<=ot,z&&L)if(it=F.length)for(;it--;)Y(F[it])&&(C[ht++]=F[it]);else C[ht++]=F;let ft={activeYData:C,dataMin:c(C),dataMax:T(C)};return a(this,"afterGetExtremes",{dataExtremes:ft}),ft}applyExtremes(){let i=this.getExtremes();return this.dataMin=i.dataMin,this.dataMax=i.dataMax,i}getFirstValidPoint(i,p=0,d=1){let M=i.length,C=p;for(;C>=0&&C<M;){if(k(i[C]))return i[C];C+=d}}translate(){var ot;this.processedXData||this.processData(),this.generatePoints();let i=this.options,p=i.stacking,d=this.xAxis,M=d.categories,C=this.enabledDataSorting,R=this.yAxis,X=this.points,U=X.length,Z=this.pointPlacementToXValue(),at=!!Z,rt=i.threshold,z=i.startFromThreshold?rt:0,L,N,F,Q,it=Number.MAX_VALUE;function tt(ht){return S(ht,-1e9,1e9)}for(L=0;L<U;L++){let ht,ct=X[L],ut=ct.x,ft,bt,vt=ct.y,xt=ct.low,mt=p&&((ot=R.stacking)==null?void 0:ot.stacks[(this.negStacks&&vt<(z?0:rt)?"-":"")+this.stackKey]);N=d.translate(ut,!1,!1,!1,!0,Z),ct.plotX=Y(N)?G(tt(N)):void 0,p&&this.visible&&mt&&mt[ut]&&(Q=this.getStackIndicator(Q,ut,this.index),!ct.isNull&&Q.key&&(bt=(ft=mt[ut]).points[Q.key]),ft&&A(bt)&&(xt=bt[0],vt=bt[1],xt===z&&Q.key===mt[ut].base&&(xt=W(Y(rt)?rt:R.min)),R.positiveValuesOnly&&k(xt)&&xt<=0&&(xt=void 0),ct.total=ct.stackTotal=W(ft.total),ct.percentage=k(ct.y)&&ft.total?ct.y/ft.total*100:void 0,ct.stackY=vt,this.irregularWidths||ft.setOffset(this.pointXOffset||0,this.barW||0,void 0,void 0,void 0,this.xAxis))),ct.yBottom=k(xt)?tt(R.translate(xt,!1,!0,!1,!0)):void 0,this.dataModify&&(vt=this.dataModify.modifyValue(vt,L)),Y(vt)&&ct.plotX!==void 0&&(ht=Y(ht=R.translate(vt,!1,!0,!1,!0))?tt(ht):void 0),ct.plotY=ht,ct.isInside=this.isPointInside(ct),ct.clientX=at?G(d.translate(ut,!1,!1,!1,!0,Z)):N,ct.negative=(ct.y||0)<(rt||0),ct.category=W(M&&M[ct.x],ct.x),ct.isNull||ct.visible===!1||(F!==void 0&&(it=Math.min(it,Math.abs(N-F))),F=N),ct.zone=this.zones.length?ct.getZone():void 0,!ct.graphic&&this.group&&C&&(ct.isNew=!0)}this.closestPointRangePx=it,a(this,"afterTranslate")}getValidPoints(i,p,d){let M=this.chart;return(i||this.points||[]).filter(function(C){let{plotX:R,plotY:X}=C;return!!((d||!C.isNull&&Y(X))&&(!p||M.isInsidePlot(R,X,{inverted:M.inverted})))&&C.visible!==!1})}getClipBox(){let{chart:i,xAxis:p,yAxis:d}=this,{x:M,y:C,width:R,height:X}=O(i.clipBox);return p&&p.len!==i.plotSizeX&&(R=p.len),d&&d.len!==i.plotSizeY&&(X=d.len),i.inverted&&!this.invertible&&([R,X]=[X,R]),{x:M,y:C,width:R,height:X}}getSharedClipKey(){return this.sharedClipKey=(this.options.xAxis||0)+","+(this.options.yAxis||0),this.sharedClipKey}setClip(){let{chart:i,group:p,markerGroup:d}=this,M=i.sharedClips,C=i.renderer,R=this.getClipBox(),X=this.getSharedClipKey(),U=M[X];U?U.animate(R):M[X]=U=C.clipRect(R),p&&p.clip(this.options.clip===!1?void 0:U),d&&d.clip()}animate(i){let{chart:p,group:d,markerGroup:M}=this,C=p.inverted,R=w(this.options.animation),X=[this.getSharedClipKey(),R.duration,R.easing,R.defer].join(","),U=p.sharedClips[X],Z=p.sharedClips[X+"m"];if(i&&d){let at=this.getClipBox();if(U)U.attr("height",at.height);else{at.width=0,C&&(at.x=p.plotHeight),U=p.renderer.clipRect(at),p.sharedClips[X]=U;let rt={x:-99,y:-99,width:C?p.plotWidth+199:99,height:C?99:p.plotHeight+199};Z=p.renderer.clipRect(rt),p.sharedClips[X+"m"]=Z}d.clip(U),M==null||M.clip(Z)}else if(U&&!U.hasClass("highcharts-animating")){let at=this.getClipBox(),rt=R.step;(M!=null&&M.element.childNodes.length||p.series.length>1)&&(R.step=function(z,L){rt&&rt.apply(L,arguments),L.prop==="width"&&(Z!=null&&Z.element)&&Z.attr(C?"height":"width",z+99)}),U.addClass("highcharts-animating").animate(at,R)}}afterAnimate(){this.setClip(),j(this.chart.sharedClips,(i,p,d)=>{i&&!this.chart.container.querySelector(`[clip-path="url(#${i.id})"]`)&&(i.destroy(),delete d[p])}),this.finishedAnimating=!0,a(this,"afterAnimate")}drawPoints(i=this.points){let p,d,M,C,R,X,U,Z=this.chart,at=Z.styledMode,{colorAxis:rt,options:z}=this,L=z.marker,N=this[this.specialGroup||"markerGroup"],F=this.xAxis,Q=W(L.enabled,!F||!!F.isRadial||null,this.closestPointRangePx>=L.enabledThreshold*L.radius);if(L.enabled!==!1||this._hasPointMarkers)for(p=0;p<i.length;p++)if(C=(M=(d=i[p]).graphic)?"animate":"attr",R=d.marker||{},X=!!d.marker,(Q&&R.enabled===void 0||R.enabled)&&!d.isNull&&d.visible!==!1){let it=W(R.symbol,this.symbol,"rect");U=this.markerAttribs(d,d.selected&&"select"),this.enabledDataSorting&&(d.startXPos=F.reversed?-(U.width||0):F.width);let tt=d.isInside!==!1;if(!M&&tt&&((U.width||0)>0||d.hasImage)&&(d.graphic=M=Z.renderer.symbol(it,U.x,U.y,U.width,U.height,X?R:L).add(N),this.enabledDataSorting&&Z.hasRendered&&(M.attr({x:d.startXPos}),C="animate")),M&&C==="animate"&&M[tt?"show":"hide"](tt).animate(U),M){let ot=this.pointAttribs(d,at||!d.selected?void 0:"select");at?rt&&M.css({fill:ot.fill}):M[C](ot)}M&&M.addClass(d.getClassName(),!0)}else M&&(d.graphic=M.destroy())}markerAttribs(i,p){let d=this.options,M=d.marker,C=i.marker||{},R=C.symbol||M.symbol,X={},U,Z,at=W(C.radius,M&&M.radius);p&&(U=M.states[p],at=W((Z=C.states&&C.states[p])&&Z.radius,U&&U.radius,at&&at+(U&&U.radiusPlus||0))),i.hasImage=R&&R.indexOf("url")===0,i.hasImage&&(at=0);let rt=i.pos();return Y(at)&&rt&&(d.crisp&&(rt[0]=E(rt[0],i.hasImage?0:R==="rect"?(M==null?void 0:M.lineWidth)||0:1)),X.x=rt[0]-at,X.y=rt[1]-at),at&&(X.width=X.height=2*at),X}pointAttribs(i,p){let d=this.options.marker,M=i&&i.options,C=M&&M.marker||{},R=M&&M.color,X=i&&i.color,U=i&&i.zone&&i.zone.color,Z,at,rt=this.color,z,L,N=W(C.lineWidth,d.lineWidth),F=1;return rt=R||U||X||rt,z=C.fillColor||d.fillColor||rt,L=C.lineColor||d.lineColor||rt,p=p||"normal",Z=d.states[p]||{},N=W((at=C.states&&C.states[p]||{}).lineWidth,Z.lineWidth,N+W(at.lineWidthPlus,Z.lineWidthPlus,0)),z=at.fillColor||Z.fillColor||z,{stroke:L=at.lineColor||Z.lineColor||L,"stroke-width":N,fill:z,opacity:F=W(at.opacity,Z.opacity,F)}}destroy(i){let p,d,M,C=this,R=C.chart,X=/AppleWebKit\/533/.test(x.navigator.userAgent),U=C.data||[];for(a(C,"destroy",{keepEventsForUpdate:i}),this.removeEvents(i),(C.axisTypes||[]).forEach(function(Z){(M=C[Z])&&M.series&&(s(M.series,C),M.isDirty=M.forceRedraw=!0)}),C.legendItem&&C.chart.legend.destroyItem(C),p=U.length;p--;)(d=U[p])&&d.destroy&&d.destroy();for(let Z of C.zones)o(Z,void 0,!0);V.clearTimeout(C.animationTimeout),j(C,function(Z,at){Z instanceof $&&!Z.survive&&Z[X&&at==="group"?"hide":"destroy"]()}),R.hoverSeries===C&&(R.hoverSeries=void 0),s(R.series,C),R.orderItems("series"),j(C,function(Z,at){i&&at==="hcEvents"||delete C[at]})}applyZones(){let{area:i,chart:p,graph:d,zones:M,points:C,xAxis:R,yAxis:X,zoneAxis:U}=this,{inverted:Z,renderer:at}=p,rt=this[`${U}Axis`],{isXAxis:z,len:L=0}=rt||{},N=((d==null?void 0:d.strokeWidth())||0)/2+1,F=(Q,it=0,tt=0)=>{Z&&(tt=L-tt);let{translated:ot=0,lineClip:ht}=Q,ct=tt-ot;ht==null||ht.push(["L",it,Math.abs(ct)<N?tt-N*(ct<=0?-1:1):ot])};if(M.length&&(d||i)&&rt&&Y(rt.min)){let Q=rt.getExtremes().max,it=ht=>{ht.forEach((ct,ut)=>{(ct[0]==="M"||ct[0]==="L")&&(ht[ut]=[ct[0],z?L-ct[1]:ct[1],z?ct[2]:L-ct[2]])})};if(M.forEach(ht=>{ht.lineClip=[],ht.translated=S(rt.toPixels(W(ht.value,Q),!0)||0,0,L)}),d&&!this.showLine&&d.hide(),i&&i.hide(),U==="y"&&C.length<R.len)for(let ht of C){let{plotX:ct,plotY:ut,zone:ft}=ht,bt=ft&&M[M.indexOf(ft)-1];ft&&F(ft,ct,ut),bt&&F(bt,ct,ut)}let tt=[],ot=rt.toPixels(rt.getExtremes().min,!0);M.forEach(ht=>{var Tt,Mt;let ct=ht.lineClip||[],ut=Math.round(ht.translated||0);R.reversed&&ct.reverse();let{clip:ft,simpleClip:bt}=ht,vt=0,xt=0,mt=R.len,St=X.len;z?(vt=ut,mt=ot):(xt=ut,St=ot);let kt=[["M",vt,xt],["L",mt,xt],["L",mt,St],["L",vt,St],["Z"]],Ct=[kt[0],...ct,kt[1],kt[2],...tt,kt[3],kt[4]];tt=ct.reverse(),ot=ut,Z&&(it(Ct),i&&it(kt)),ft?(ft.animate({d:Ct}),bt==null||bt.animate({d:kt})):(ft=ht.clip=at.path(Ct),i&&(bt=ht.simpleClip=at.path(kt))),d&&((Tt=ht.graph)==null||Tt.clip(ft)),i&&((Mt=ht.area)==null||Mt.clip(bt))})}else this.visible&&(d&&d.show(),i&&i.show())}plotGroup(i,p,d,M,C){let R=this[i],X=!R,U={visibility:d,zIndex:M||.1};return k(this.opacity)&&!this.chart.styledMode&&this.state!=="inactive"&&(U.opacity=this.opacity),R||(this[i]=R=this.chart.renderer.g().add(C)),R.addClass("highcharts-"+p+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(k(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(R.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),R.attr(U)[X?"attr":"animate"](this.getPlotBox(p)),R}getPlotBox(i){let p=this.xAxis,d=this.yAxis,M=this.chart,C=M.inverted&&!M.polar&&p&&this.invertible&&i==="series";return M.inverted&&(p=d,d=this.xAxis),{translateX:p?p.left:M.plotLeft,translateY:d?d.top:M.plotTop,rotation:C?90:0,rotationOriginX:C?(p.len-d.len)/2:0,rotationOriginY:C?(p.len+d.len)/2:0,scaleX:C?-1:1,scaleY:1}}removeEvents(i){let{eventsToUnbind:p}=this;i||et(this),p.length&&(p.forEach(d=>{d()}),p.length=0)}render(){var at,rt,z,L,N;let i=this,{chart:p,options:d,hasRendered:M}=i,C=w(d.animation),R=i.visible?"inherit":"hidden",X=d.zIndex,U=p.seriesGroup,Z=i.finishedAnimating?0:C.duration;a(this,"render"),i.plotGroup("group","series",R,X,U),i.markerGroup=i.plotGroup("markerGroup","markers",R,X,U),d.clip!==!1&&i.setClip(),Z&&((at=i.animate)==null||at.call(i,!0)),i.drawGraph&&(i.drawGraph(),i.applyZones()),i.visible&&i.drawPoints(),(rt=i.drawDataLabels)==null||rt.call(i),(z=i.redrawPoints)==null||z.call(i),d.enableMouseTracking&&((L=i.drawTracker)==null||L.call(i)),Z&&((N=i.animate)==null||N.call(i)),M||(Z&&C.defer&&(Z+=C.defer),i.animationTimeout=n(()=>{i.afterAnimate()},Z||0)),i.isDirty=!1,i.hasRendered=!0,a(i,"afterRender")}redraw(){let i=this.isDirty||this.isDirtyData;this.translate(),this.render(),i&&delete this.kdTree}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(i,p){let{xAxis:d,yAxis:M}=this,C=this.chart.inverted;return this.searchKDTree({clientX:C?d.len-i.chartY+d.pos:i.chartX-d.pos,plotY:C?M.len-i.chartX+M.pos:i.chartY-M.pos},p,i)}buildKDTree(i){this.buildingKdTree=!0;let p=this,d=p.options.findNearestPointBy.indexOf("y")>-1?2:1;delete p.kdTree,n(function(){p.kdTree=function M(C,R,X){let U,Z,at=C==null?void 0:C.length;if(at)return U=p.kdAxisArray[R%X],C.sort((rt,z)=>(rt[U]||0)-(z[U]||0)),{point:C[Z=Math.floor(at/2)],left:M(C.slice(0,Z),R+1,X),right:M(C.slice(Z+1),R+1,X)}}(p.getValidPoints(void 0,!p.directTouch),d,d),p.buildingKdTree=!1},p.options.kdNow||(i==null?void 0:i.type)==="touchstart"?0:1)}searchKDTree(i,p,d){let M=this,[C,R]=this.kdAxisArray,X=p?"distX":"dist",U=(M.options.findNearestPointBy||"").indexOf("y")>-1?2:1,Z=!!M.isBubble;if(this.kdTree||this.buildingKdTree||this.buildKDTree(d),this.kdTree)return function at(rt,z,L,N){var ft;let F=z.point,Q=M.kdAxisArray[L%N],it,tt,ot=F;(function(bt,vt){var Lt;let xt=bt[C],mt=vt[C],St=k(xt)&&k(mt)?xt-mt:null,kt=bt[R],Ct=vt[R],Tt=k(kt)&&k(Ct)?kt-Ct:0,Mt=Z&&((Lt=vt.marker)==null?void 0:Lt.radius)||0;vt.dist=Math.sqrt((St&&St*St||0)+Tt*Tt)-Mt,vt.distX=k(St)?Math.abs(St)-Mt:Number.MAX_VALUE})(rt,F);let ht=(rt[Q]||0)-(F[Q]||0)+(Z&&((ft=F.marker)==null?void 0:ft.radius)||0),ct=ht<0?"left":"right",ut=ht<0?"right":"left";return z[ct]&&(ot=(it=at(rt,z[ct],L+1,N))[X]<ot[X]?it:F),z[ut]&&Math.sqrt(ht*ht)<ot[X]&&(ot=(tt=at(rt,z[ut],L+1,N))[X]<ot[X]?tt:ot),ot}(i,this.kdTree,U,U)}pointPlacementToXValue(){let{options:i,xAxis:p}=this,d=i.pointPlacement;return d==="between"&&(d=p.reversed?-.5:.5),Y(d)?d*(i.pointRange||p.pointRange):0}isPointInside(i){let{chart:p,xAxis:d,yAxis:M}=this,{plotX:C=-1,plotY:R=-1}=i;return R>=0&&R<=(M?M.len:p.plotHeight)&&C>=0&&C<=(d?d.len:p.plotWidth)}drawTracker(){var z;let i=this,p=i.options,d=p.trackByArea,M=[].concat((d?i.areaPath:i.graphPath)||[]),C=i.chart,R=C.pointer,X=C.renderer,U=((z=C.options.tooltip)==null?void 0:z.snap)||0,Z=()=>{p.enableMouseTracking&&C.hoverSeries!==i&&i.onMouseOver()},at="rgba(192,192,192,"+(u?1e-4:.002)+")",rt=i.tracker;rt?rt.attr({d:M}):i.graph&&(i.tracker=rt=X.path(M).attr({visibility:i.visible?"inherit":"hidden",zIndex:2}).addClass(d?"highcharts-tracker-area":"highcharts-tracker-line").add(i.group),C.styledMode||rt.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:at,fill:d?at:"none","stroke-width":i.graph.strokeWidth()+(d?0:2*U)}),[i.tracker,i.markerGroup,i.dataLabelsGroup].forEach(L=>{L&&(L.addClass("highcharts-tracker").on("mouseover",Z).on("mouseout",N=>{R==null||R.onTrackerMouseOut(N)}),p.cursor&&!C.styledMode&&L.css({cursor:p.cursor}),L.on("touchstart",Z))})),a(this,"afterDrawTracker")}addPoint(i,p,d,M,C){let R,X,U=this.options,Z=this.data,at=this.chart,rt=this.xAxis,z=rt&&rt.hasNames&&rt.names,L=U.data,N=this.xData;p=W(p,!0);let F={series:this};this.pointClass.prototype.applyOptions.apply(F,[i]);let Q=F.x;if(X=N.length,this.requireSorting&&Q<N[X-1])for(R=!0;X&&N[X-1]>Q;)X--;this.updateParallelArrays(F,"splice",[X,0,0]),this.updateParallelArrays(F,X),z&&F.name&&(z[Q]=F.name),L.splice(X,0,i),(R||this.processedData)&&(this.data.splice(X,0,null),this.processData()),U.legendType==="point"&&this.generatePoints(),d&&(Z[0]&&Z[0].remove?Z[0].remove(!1):(Z.shift(),this.updateParallelArrays(F,"shift"),L.shift())),C!==!1&&a(this,"addPoint",{point:F}),this.isDirty=!0,this.isDirtyData=!0,p&&at.redraw(M)}removePoint(i,p,d){let M=this,C=M.data,R=C[i],X=M.points,U=M.chart,Z=function(){X&&X.length===C.length&&X.splice(i,1),C.splice(i,1),M.options.data.splice(i,1),M.updateParallelArrays(R||{series:M},"splice",[i,1]),R&&R.destroy(),M.isDirty=!0,M.isDirtyData=!0,p&&U.redraw()};B(d,U),p=W(p,!0),R?R.firePointEvent("remove",null,Z):Z()}remove(i,p,d,M){let C=this,R=C.chart;function X(){C.destroy(M),R.isDirtyLegend=R.isDirtyBox=!0,R.linkSeries(M),W(i,!0)&&R.redraw(p)}d!==!1?a(C,"remove",null,X):X()}update(i,p){var it,tt,ot;a(this,"update",{options:i=g(i,this.userOptions)});let d=this,M=d.chart,C=d.userOptions,R=d.initialType||d.type,X=M.options.plotOptions,U=v[R].prototype,Z=d.finishedAnimating&&{animation:!1},at={},rt,z,L=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],N=i.type||C.type||M.options.chart.type,F=!(this.hasDerivedData||N&&N!==this.type||i.pointStart!==void 0||i.pointInterval!==void 0||i.relativeXValue!==void 0||i.joinBy||i.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some(ht=>d.hasOptionChanged(ht)));N=N||R,F&&(L.push("data","isDirtyData","isDirtyCanvas","points","processedData","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"),i.visible!==!1&&L.push("area","graph"),d.parallelArrays.forEach(function(ht){L.push(ht+"Data")}),i.data&&(i.dataSorting&&t(d.options.dataSorting,i.dataSorting),this.setData(i.data,!1))),i=O(C,{index:C.index===void 0?d.index:C.index,pointStart:((it=X==null?void 0:X.series)==null?void 0:it.pointStart)??C.pointStart??((tt=d.xData)==null?void 0:tt[0])},!F&&{data:d.options.data},i,Z),F&&i.data&&(i.data=d.options.data),(L=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(L)).forEach(function(ht){L[ht]=d[ht],delete d[ht]});let Q=!1;if(v[N]){if(Q=N!==d.type,d.remove(!1,!1,!1,!0),Q)if(M.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(d,v[N].prototype);else{let ht=Object.hasOwnProperty.call(d,"hcEvents")&&d.hcEvents;for(z in U)d[z]=void 0;t(d,v[N].prototype),ht?d.hcEvents=ht:delete d.hcEvents}}else e(17,!0,M,{missingModuleFor:N});if(L.forEach(function(ht){d[ht]=L[ht]}),d.init(M,i),F&&this.points)for(let ht of((rt=d.options).visible===!1?(at.graphic=1,at.dataLabel=1):(this.hasMarkerChanged(rt,C)&&(at.graphic=1),(ot=d.hasDataLabels)!=null&&ot.call(d)||(at.dataLabel=1)),this.points))ht&&ht.series&&(ht.resolveColor(),Object.keys(at).length&&ht.destroyElements(at),rt.showInLegend===!1&&ht.legendItem&&M.legend.destroyItem(ht));d.initialType=R,M.linkSeries(),M.setSortedData(),Q&&d.linkedSeries.length&&(d.isDirtyData=!0),a(this,"afterUpdate"),W(p,!0)&&M.redraw(!!F&&void 0)}setName(i){this.name=this.options.name=this.userOptions.name=i,this.chart.isDirtyLegend=!0}hasOptionChanged(i){var X,U;let p=this.chart,d=this.options[i],M=p.options.plotOptions,C=this.userOptions[i],R=W((X=M==null?void 0:M[this.type])==null?void 0:X[i],(U=M==null?void 0:M.series)==null?void 0:U[i]);return C&&!k(R)?d!==C:d!==W(R,d)}onMouseOver(){let i=this.chart,p=i.hoverSeries,d=i.pointer;d==null||d.setHoverChartIndex(),p&&p!==this&&p.onMouseOut(),this.options.events.mouseOver&&a(this,"mouseOver"),this.setState("hover"),i.hoverSeries=this}onMouseOut(){let i=this.options,p=this.chart,d=p.tooltip,M=p.hoverPoint;p.hoverSeries=null,M&&M.onMouseOut(),this&&i.events.mouseOut&&a(this,"mouseOut"),d&&!this.stickyTracking&&(!d.shared||this.noSharedTooltip)&&d.hide(),p.series.forEach(function(C){C.setState("",!0)})}setState(i,p){let d=this,M=d.options,C=d.graph,R=M.inactiveOtherPoints,X=M.states,U=W(X[i||"normal"]&&X[i||"normal"].animation,d.chart.options.chart.animation),Z=M.lineWidth,at=M.opacity;if(i=i||"",d.state!==i&&([d.group,d.markerGroup,d.dataLabelsGroup].forEach(function(rt){rt&&(d.state&&rt.removeClass("highcharts-series-"+d.state),i&&rt.addClass("highcharts-series-"+i))}),d.state=i,!d.chart.styledMode)){if(X[i]&&X[i].enabled===!1)return;if(i&&(Z=X[i].lineWidth||Z+(X[i].lineWidthPlus||0),at=W(X[i].opacity,at)),C&&!C.dashstyle&&Y(Z))for(let rt of[C,...this.zones.map(z=>z.graph)])rt==null||rt.animate({"stroke-width":Z},U);R||[d.group,d.markerGroup,d.dataLabelsGroup,d.labelBySeries].forEach(function(rt){rt&&rt.animate({opacity:at},U)})}p&&R&&d.points&&d.setAllPointsToState(i||void 0)}setAllPointsToState(i){this.points.forEach(function(p){p.setState&&p.setState(i)})}setVisible(i,p){var U;let d=this,M=d.chart,C=M.options.chart.ignoreHiddenSeries,R=d.visible;d.visible=i=d.options.visible=d.userOptions.visible=i===void 0?!R:i;let X=i?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(Z=>{var at;(at=d[Z])==null||at[X]()}),(M.hoverSeries===d||((U=M.hoverPoint)==null?void 0:U.series)===d)&&d.onMouseOut(),d.legendItem&&M.legend.colorizeItem(d,i),d.isDirty=!0,d.options.stacking&&M.series.forEach(Z=>{Z.options.stacking&&Z.visible&&(Z.isDirty=!0)}),d.linkedSeries.forEach(Z=>{Z.setVisible(i,!1)}),C&&(M.isDirtyBox=!0),a(d,X),p!==!1&&M.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(i){this.selected=i=this.options.selected=i===void 0?!this.selected:i,this.checkbox&&(this.checkbox.checked=i),a(this,i?"select":"unselect")}shouldShowTooltip(i,p,d={}){return d.series=this,d.visiblePlotOnly=!0,this.chart.isInsidePlot(i,p,d)}drawLegendSymbol(i,p){var d;(d=nt[this.options.legendSymbol||"rectangle"])==null||d.call(this,i,p)}}return y.defaultOptions=dt,y.types=K.seriesTypes,y.registerType=K.registerSeriesType,t(y.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:st,requireSorting:!0,sorted:!0}),K.series=y,y}),yt(H,"Core/Legend/Legend.js",[H["Core/Animation/AnimationUtilities.js"],H["Core/Foundation.js"],H["Core/Globals.js"],H["Core/Series/Series.js"],H["Core/Series/Point.js"],H["Core/Renderer/RendererUtilities.js"],H["Core/Templating.js"],H["Core/Utilities.js"]],function(_,q,J,lt,nt,st,dt,K){var $;let{animObject:V,setAnimation:w}=_,{registerEventOptions:B}=q,{composed:I,marginNames:P}=J,{distribute:u}=st,{format:x}=dt,{addEvent:v,createElement:T,css:c,defined:S,discardElement:G,find:E,fireEvent:k,isNumber:o,merge:g,pick:s,pushUnique:e,relativeLength:t,stableSort:r,syncTimeout:a}=K;class m{constructor(h,A){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=h,this.setOptions(A),A.enabled&&(this.render(),B(this,A),v(this.chart,"endResize",function(){this.legend.positionCheckboxes()})),v(this.chart,"render",()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(h){let A=s(h.padding,8);this.options=h,this.chart.styledMode||(this.itemStyle=h.itemStyle,this.itemHiddenStyle=g(this.itemStyle,h.itemHiddenStyle)),this.itemMarginTop=h.itemMarginTop,this.itemMarginBottom=h.itemMarginBottom,this.padding=A,this.initialItemY=A-5,this.symbolWidth=s(h.symbolWidth,16),this.pages=[],this.proximate=h.layout==="proximate"&&!this.chart.inverted,this.baseline=void 0}update(h,A){let Y=this.chart;this.setOptions(g(!0,this.options,h)),"events"in this.options&&B(this,this.options),this.destroy(),Y.isDirtyLegend=Y.isDirtyBox=!0,s(A,!0)&&Y.redraw(),k(this,"afterUpdate",{redraw:A})}colorizeItem(h,A){let{area:Y,group:f,label:O,line:j,symbol:W}=h.legendItem||{};if(f==null||f[A?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:et={}}=this,l=et.color,{fillColor:n,fillOpacity:y,lineColor:D,marker:i}=h.options,p=d=>(!A&&(d.fill&&(d.fill=l),d.stroke&&(d.stroke=l)),d);O==null||O.css(g(A?this.itemStyle:et)),j==null||j.attr(p({stroke:D||h.color})),W&&W.attr(p(i&&W.isMarker?h.pointAttribs():{fill:h.color})),Y==null||Y.attr(p({fill:n||h.color,"fill-opacity":n?1:y??.75}))}k(this,"afterColorizeItem",{item:h,visible:A})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(h){let{group:A,x:Y=0,y:f=0}=h.legendItem||{},O=this.options,j=O.symbolPadding,W=!O.rtl,et=h.checkbox;if(A&&A.element){let l={translateX:W?Y:this.legendWidth-Y-2*j-4,translateY:f};A[S(A.translateY)?"animate":"attr"](l,void 0,()=>{k(this,"afterPositionItem",{item:h})})}et&&(et.x=Y,et.y=f)}destroyItem(h){let A=h.checkbox,Y=h.legendItem||{};for(let f of["group","label","line","symbol"])Y[f]&&(Y[f]=Y[f].destroy());A&&G(A),h.legendItem=void 0}destroy(){for(let h of this.getAllItems())this.destroyItem(h);for(let h of["clipRect","up","down","pager","nav","box","title","group"])this[h]&&(this[h]=this[h].destroy());this.display=null}positionCheckboxes(){let h,A=this.group&&this.group.alignAttr,Y=this.clipHeight||this.legendHeight,f=this.titleHeight;A&&(h=A.translateY,this.allItems.forEach(function(O){let j,W=O.checkbox;W&&(j=h+f+W.y+(this.scrollOffset||0)+3,c(W,{left:A.translateX+O.checkboxOffset+W.x-20+"px",top:j+"px",display:this.proximate||j>h-6&&j<h+Y-6?"":"none"}))},this))}renderTitle(){let h=this.options,A=this.padding,Y=h.title,f,O=0;Y.text&&(this.title||(this.title=this.chart.renderer.label(Y.text,A-3,A-4,void 0,void 0,void 0,h.useHTML,void 0,"legend-title").attr({zIndex:1}),this.chart.styledMode||this.title.css(Y.style),this.title.add(this.group)),Y.width||this.title.css({width:this.maxLegendWidth+"px"}),O=(f=this.title.getBBox()).height,this.offsetWidth=f.width,this.contentGroup.attr({translateY:O})),this.titleHeight=O}setText(h){let A=this.options;h.legendItem.label.attr({text:A.labelFormat?x(A.labelFormat,h,this.chart):A.labelFormatter.call(h)})}renderItem(h){let A=h.legendItem=h.legendItem||{},Y=this.chart,f=Y.renderer,O=this.options,j=O.layout==="horizontal",W=this.symbolWidth,et=O.symbolPadding||0,l=this.itemStyle,n=this.itemHiddenStyle,y=j?s(O.itemDistance,20):0,D=!O.rtl,i=!h.series,p=!i&&h.series.drawLegendSymbol?h.series:h,d=p.options,M=!!this.createCheckboxForItem&&d&&d.showCheckbox,C=O.useHTML,R=h.options.className,X=A.label,U=W+et+y+(M?20:0);!X&&(A.group=f.g("legend-item").addClass("highcharts-"+p.type+"-series highcharts-color-"+h.colorIndex+(R?" "+R:"")+(i?" highcharts-series-"+h.index:"")).attr({zIndex:1}).add(this.scrollGroup),A.label=X=f.text("",D?W+et:-et,this.baseline||0,C),Y.styledMode||X.css(g(h.visible?l:n)),X.attr({align:D?"left":"right",zIndex:2}).add(A.group),!this.baseline&&(this.fontMetrics=f.fontMetrics(X),this.baseline=this.fontMetrics.f+3+this.itemMarginTop,X.attr("y",this.baseline),this.symbolHeight=s(O.symbolHeight,this.fontMetrics.f),O.squareSymbol&&(this.symbolWidth=s(O.symbolWidth,Math.max(this.symbolHeight,16)),U=this.symbolWidth+et+y+(M?20:0),D&&X.attr("x",this.symbolWidth+et))),p.drawLegendSymbol(this,h),this.setItemEvents&&this.setItemEvents(h,X,C)),M&&!h.checkbox&&this.createCheckboxForItem&&this.createCheckboxForItem(h),this.colorizeItem(h,h.visible),(Y.styledMode||!l.width)&&X.css({width:(O.itemWidth||this.widthOption||Y.spacingBox.width)-U+"px"}),this.setText(h);let Z=X.getBBox(),at=this.fontMetrics&&this.fontMetrics.h||0;h.itemWidth=h.checkboxOffset=O.itemWidth||A.labelWidth||Z.width+U,this.maxItemWidth=Math.max(this.maxItemWidth,h.itemWidth),this.totalItemWidth+=h.itemWidth,this.itemHeight=h.itemHeight=Math.round(A.labelHeight||(Z.height>1.5*at?Z.height:at))}layoutItem(h){let A=this.options,Y=this.padding,f=A.layout==="horizontal",O=h.itemHeight,j=this.itemMarginBottom,W=this.itemMarginTop,et=f?s(A.itemDistance,20):0,l=this.maxLegendWidth,n=A.alignColumns&&this.totalItemWidth>l?this.maxItemWidth:h.itemWidth,y=h.legendItem||{};f&&this.itemX-Y+n>l&&(this.itemX=Y,this.lastLineHeight&&(this.itemY+=W+this.lastLineHeight+j),this.lastLineHeight=0),this.lastItemY=W+this.itemY+j,this.lastLineHeight=Math.max(O,this.lastLineHeight),y.x=this.itemX,y.y=this.itemY,f?this.itemX+=n:(this.itemY+=W+O+j,this.lastLineHeight=O),this.offsetWidth=this.widthOption||Math.max((f?this.itemX-Y-(h.checkbox?0:et):n)+Y,this.offsetWidth)}getAllItems(){let h=[];return this.chart.series.forEach(function(A){let Y=A&&A.options;A&&s(Y.showInLegend,!S(Y.linkedTo)&&void 0,!0)&&(h=h.concat((A.legendItem||{}).labels||(Y.legendType==="point"?A.data:A)))}),k(this,"afterGetAllItems",{allItems:h}),h}getAlignment(){let h=this.options;return this.proximate?h.align.charAt(0)+"tv":h.floating?"":h.align.charAt(0)+h.verticalAlign.charAt(0)+h.layout.charAt(0)}adjustMargins(h,A){let Y=this.chart,f=this.options,O=this.getAlignment();O&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(j,W){j.test(O)&&!S(h[W])&&(Y[P[W]]=Math.max(Y[P[W]],Y.legend[(W+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][W]*f[W%2?"x":"y"]+s(f.margin,12)+A[W]+(Y.titleOffset[W]||0)))})}proximatePositions(){let h,A=this.chart,Y=[],f=this.options.align==="left";for(let O of(this.allItems.forEach(function(j){let W,et,l=f,n,y;j.yAxis&&(j.xAxis.options.reversed&&(l=!l),j.points&&(W=E(l?j.points:j.points.slice(0).reverse(),function(D){return o(D.plotY)})),et=this.itemMarginTop+j.legendItem.label.getBBox().height+this.itemMarginBottom,y=j.yAxis.top-A.plotTop,n=j.visible?(W?W.plotY:j.yAxis.height)+(y-.3*et):y+j.yAxis.height,Y.push({target:n,size:et,item:j}))},this),u(Y,A.plotHeight)))h=O.item.legendItem||{},o(O.pos)&&(h.y=A.plotTop-A.spacing[0]+O.pos)}render(){let h=this.chart,A=h.renderer,Y=this.options,f=this.padding,O=this.getAllItems(),j,W,et,l=this.group,n,y=this.box;this.itemX=f,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=t(Y.width,h.spacingBox.width-f),n=h.spacingBox.width-2*f-Y.x,["rm","lm"].indexOf(this.getAlignment().substring(0,2))>-1&&(n/=2),this.maxLegendWidth=this.widthOption||n,l||(this.group=l=A.g("legend").addClass(Y.className||"").attr({zIndex:7}).add(),this.contentGroup=A.g().attr({zIndex:1}).add(l),this.scrollGroup=A.g().add(this.contentGroup)),this.renderTitle(),r(O,(D,i)=>(D.options&&D.options.legendIndex||0)-(i.options&&i.options.legendIndex||0)),Y.reversed&&O.reverse(),this.allItems=O,this.display=j=!!O.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,O.forEach(this.renderItem,this),O.forEach(this.layoutItem,this),W=(this.widthOption||this.offsetWidth)+f,et=this.lastItemY+this.lastLineHeight+this.titleHeight,et=this.handleOverflow(et)+f,y||(this.box=y=A.rect().addClass("highcharts-legend-box").attr({r:Y.borderRadius}).add(l)),h.styledMode||y.attr({stroke:Y.borderColor,"stroke-width":Y.borderWidth||0,fill:Y.backgroundColor||"none"}).shadow(Y.shadow),W>0&&et>0&&y[y.placed?"animate":"attr"](y.crisp.call({},{x:0,y:0,width:W,height:et},y.strokeWidth())),l[j?"show":"hide"](),h.styledMode&&l.getStyle("display")==="none"&&(W=et=0),this.legendWidth=W,this.legendHeight=et,j&&this.align(),this.proximate||this.positionItems(),k(this,"afterRender")}align(h=this.chart.spacingBox){let A=this.chart,Y=this.options,f=h.y;/(lth|ct|rth)/.test(this.getAlignment())&&A.titleOffset[0]>0?f+=A.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&A.titleOffset[2]>0&&(f-=A.titleOffset[2]),f!==h.y&&(h=g(h,{y:f})),A.hasRendered||(this.group.placed=!1),this.group.align(g(Y,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":Y.verticalAlign}),!0,h)}handleOverflow(h){let A=this,Y=this.chart,f=Y.renderer,O=this.options,j=O.y,W=O.verticalAlign==="top",et=this.padding,l=O.maxHeight,n=O.navigation,y=s(n.animation,!0),D=n.arrowSize||12,i=this.pages,p=this.allItems,d=function(rt){typeof rt=="number"?at.attr({height:rt}):at&&(A.clipRect=at.destroy(),A.contentGroup.clip()),A.contentGroup.div&&(A.contentGroup.div.style.clip=rt?"rect("+et+"px,9999px,"+(et+rt)+"px,0)":"auto")},M=function(rt){return A[rt]=f.circle(0,0,1.3*D).translate(D/2,D/2).add(Z),Y.styledMode||A[rt].attr("fill","rgba(0,0,0,0.0001)"),A[rt]},C,R,X,U=Y.spacingBox.height+(W?-j:j)-et,Z=this.nav,at=this.clipRect;return O.layout!=="horizontal"||O.verticalAlign==="middle"||O.floating||(U/=2),l&&(U=Math.min(U,l)),i.length=0,h&&U>0&&h>U&&n.enabled!==!1?(this.clipHeight=C=Math.max(U-20-this.titleHeight-et,0),this.currentPage=s(this.currentPage,1),this.fullHeight=h,p.forEach((rt,z)=>{let L=(X=rt.legendItem||{}).y||0,N=Math.round(X.label.getBBox().height),F=i.length;(!F||L-i[F-1]>C&&(R||L)!==i[F-1])&&(i.push(R||L),F++),X.pageIx=F-1,R&&((p[z-1].legendItem||{}).pageIx=F-1),z===p.length-1&&L+N-i[F-1]>C&&L>i[F-1]&&(i.push(L),X.pageIx=F),L!==R&&(R=L)}),at||(at=A.clipRect=f.clipRect(0,et-2,9999,0),A.contentGroup.clip(at)),d(C),Z||(this.nav=Z=f.g().attr({zIndex:1}).add(this.group),this.up=f.symbol("triangle",0,0,D,D).add(Z),M("upTracker").on("click",function(){A.scroll(-1,y)}),this.pager=f.text("",15,10).addClass("highcharts-legend-navigation"),!Y.styledMode&&n.style&&this.pager.css(n.style),this.pager.add(Z),this.down=f.symbol("triangle-down",0,0,D,D).add(Z),M("downTracker").on("click",function(){A.scroll(1,y)})),A.scroll(0),h=U):Z&&(d(),this.nav=Z.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),h}scroll(h,A){let Y=this.chart,f=this.pages,O=f.length,j=this.clipHeight,W=this.options.navigation,et=this.pager,l=this.padding,n=this.currentPage+h;n>O&&(n=O),n>0&&(A!==void 0&&w(A,Y),this.nav.attr({translateX:l,translateY:j+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(y){y.attr({class:n===1?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),et.attr({text:n+"/"+O}),[this.down,this.downTracker].forEach(function(y){y.attr({x:18+this.pager.getBBox().width,class:n===O?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),Y.styledMode||(this.up.attr({fill:n===1?W.inactiveColor:W.activeColor}),this.upTracker.css({cursor:n===1?"default":"pointer"}),this.down.attr({fill:n===O?W.inactiveColor:W.activeColor}),this.downTracker.css({cursor:n===O?"default":"pointer"})),this.scrollOffset=-f[n-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=n,this.positionCheckboxes(),a(()=>{k(this,"afterScroll",{currentPage:n})},V(s(A,Y.renderer.globalAnimation,!0)).duration))}setItemEvents(h,A,Y){let f=this,O=h.legendItem||{},j=f.chart.renderer.boxWrapper,W=h instanceof nt,et=h instanceof lt,l="highcharts-legend-"+(W?"point":"series")+"-active",n=f.chart.styledMode,y=Y?[A,O.symbol]:[O.group],D=i=>{f.allItems.forEach(p=>{h!==p&&[p].concat(p.linkedSeries||[]).forEach(d=>{d.setState(i,!W)})})};for(let i of y)i&&i.on("mouseover",function(){h.visible&&D("inactive"),h.setState("hover"),h.visible&&j.addClass(l),n||A.css(f.options.itemHoverStyle)}).on("mouseout",function(){f.chart.styledMode||A.css(g(h.visible?f.itemStyle:f.itemHiddenStyle)),D(""),j.removeClass(l),h.setState()}).on("click",function(p){let d=function(){h.setVisible&&h.setVisible(),D(h.visible?"inactive":"")};j.removeClass(l),k(f,"itemClick",{browserEvent:p,legendItem:h},d),W?h.firePointEvent("legendItemClick",{browserEvent:p}):et&&k(h,"legendItemClick",{browserEvent:p})})}createCheckboxForItem(h){h.checkbox=T("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:h.selected,defaultChecked:h.selected},this.options.itemCheckboxStyle,this.chart.container),v(h.checkbox,"click",function(A){let Y=A.target;k(h.series||h,"checkboxClick",{checked:Y.checked,item:h},function(){h.select()})})}}return($=m||(m={})).compose=function(b){e(I,"Core.Legend")&&v(b,"beforeMargins",function(){this.legend=new $(this,this.options.legend)})},m}),yt(H,"Core/Chart/Chart.js",[H["Core/Animation/AnimationUtilities.js"],H["Core/Axis/Axis.js"],H["Core/Defaults.js"],H["Core/Templating.js"],H["Core/Foundation.js"],H["Core/Globals.js"],H["Core/Renderer/RendererRegistry.js"],H["Core/Series/Series.js"],H["Core/Series/SeriesRegistry.js"],H["Core/Renderer/SVG/SVGRenderer.js"],H["Core/Time.js"],H["Core/Utilities.js"],H["Core/Renderer/HTML/AST.js"],H["Core/Axis/Tick.js"]],function(_,q,J,lt,nt,st,dt,K,$,V,w,B,I,P){let{animate:u,animObject:x,setAnimation:v}=_,{defaultOptions:T,defaultTime:c}=J,{numberFormat:S}=lt,{registerEventOptions:G}=nt,{charts:E,doc:k,marginNames:o,svg:g,win:s}=st,{seriesTypes:e}=$,{addEvent:t,attr:r,createElement:a,css:m,defined:b,diffObjects:h,discardElement:A,erase:Y,error:f,extend:O,find:j,fireEvent:W,getStyle:et,isArray:l,isNumber:n,isObject:y,isString:D,merge:i,objectEach:p,pick:d,pInt:M,relativeLength:C,removeEvent:R,splat:X,syncTimeout:U,uniqueKey:Z}=B;class at{static chart(z,L,N){return new at(z,L,N)}constructor(z,L,N){this.sharedClips={};let F=[...arguments];(D(z)||z.nodeName)&&(this.renderTo=F.shift()),this.init(F[0],F[1])}setZoomOptions(){let z=this.options.chart,L=z.zooming;this.zooming={...L,type:d(z.zoomType,L.type),key:d(z.zoomKey,L.key),pinchType:d(z.pinchType,L.pinchType),singleTouch:d(z.zoomBySingleTouch,L.singleTouch,!1),resetButton:i(L.resetButton,z.resetZoomButton)}}init(z,L){W(this,"init",{args:arguments},function(){let N=i(T,z),F=N.chart;this.userOptions=O({},z),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=L,this.isResizing=0,this.options=N,this.axes=[],this.series=[],this.time=z.time&&Object.keys(z.time).length?new w(z.time):st.time,this.numberFormatter=F.numberFormatter||S,this.styledMode=F.styledMode,this.hasCartesianSeries=F.showAxes,this.index=E.length,E.push(this),st.chartCount++,G(this,F),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),W(this,"afterInit"),this.firstRender()})}initSeries(z){let L=this.options.chart,N=z.type||L.type,F=e[N];F||f(17,!0,this,{missingModuleFor:N});let Q=new F;return typeof Q.init=="function"&&Q.init(this,z),Q}setSortedData(){this.getSeriesOrderByLinks().forEach(function(z){z.points||z.data||!z.enabledDataSorting||z.setData(z.options.data,!1)})}getSeriesOrderByLinks(){return this.series.concat().sort(function(z,L){return z.linkedSeries.length||L.linkedSeries.length?L.linkedSeries.length-z.linkedSeries.length:0})}orderItems(z,L=0){let N=this[z],F=this.options[z]=X(this.options[z]).slice(),Q=this.userOptions[z]=this.userOptions[z]?X(this.userOptions[z]).slice():[];if(this.hasRendered&&(F.splice(L),Q.splice(L)),N)for(let it=L,tt=N.length;it<tt;++it){let ot=N[it];ot&&(ot.index=it,ot instanceof K&&(ot.name=ot.getName()),ot.options.isInternal||(F[it]=ot.options,Q[it]=ot.userOptions))}}isInsidePlot(z,L,N={}){var mt;let{inverted:F,plotBox:Q,plotLeft:it,plotTop:tt,scrollablePlotBox:ot}=this,{scrollLeft:ht=0,scrollTop:ct=0}=N.visiblePlotOnly&&((mt=this.scrollablePlotArea)==null?void 0:mt.scrollingContainer)||{},ut=N.series,ft=N.visiblePlotOnly&&ot||Q,bt=N.inverted?L:z,vt=N.inverted?z:L,xt={x:bt,y:vt,isInsidePlot:!0,options:N};if(!N.ignoreX){let St=ut&&(F&&!this.polar?ut.yAxis:ut.xAxis)||{pos:it,len:1/0},kt=N.paneCoordinates?St.pos+bt:it+bt;kt>=Math.max(ht+it,St.pos)&&kt<=Math.min(ht+it+ft.width,St.pos+St.len)||(xt.isInsidePlot=!1)}if(!N.ignoreY&&xt.isInsidePlot){let St=!F&&N.axis&&!N.axis.isXAxis&&N.axis||ut&&(F?ut.xAxis:ut.yAxis)||{pos:tt,len:1/0},kt=N.paneCoordinates?St.pos+vt:tt+vt;kt>=Math.max(ct+tt,St.pos)&&kt<=Math.min(ct+tt+ft.height,St.pos+St.len)||(xt.isInsidePlot=!1)}return W(this,"afterIsInsidePlot",xt),xt.isInsidePlot}redraw(z){W(this,"beforeRedraw");let L=this.hasCartesianSeries?this.axes:this.colorAxis||[],N=this.series,F=this.pointer,Q=this.legend,it=this.userOptions.legend,tt=this.renderer,ot=tt.isHidden(),ht=[],ct,ut,ft,bt=this.isDirtyBox,vt=this.isDirtyLegend,xt;for(tt.rootFontSize=tt.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),v(!!this.hasRendered&&z,this),ot&&this.temporaryDisplay(),this.layOutTitles(!1),ft=N.length;ft--;)if(((xt=N[ft]).options.stacking||xt.options.centerInCategory)&&(ut=!0,xt.isDirty)){ct=!0;break}if(ct)for(ft=N.length;ft--;)(xt=N[ft]).options.stacking&&(xt.isDirty=!0);N.forEach(function(mt){mt.isDirty&&(mt.options.legendType==="point"?(typeof mt.updateTotals=="function"&&mt.updateTotals(),vt=!0):it&&(it.labelFormatter||it.labelFormat)&&(vt=!0)),mt.isDirtyData&&W(mt,"updatedData")}),vt&&Q&&Q.options.enabled&&(Q.render(),this.isDirtyLegend=!1),ut&&this.getStacks(),L.forEach(function(mt){mt.updateNames(),mt.setScale()}),this.getMargins(),L.forEach(function(mt){mt.isDirty&&(bt=!0)}),L.forEach(function(mt){let St=mt.min+","+mt.max;mt.extKey!==St&&(mt.extKey=St,ht.push(function(){W(mt,"afterSetExtremes",O(mt.eventArgs,mt.getExtremes())),delete mt.eventArgs})),(bt||ut)&&mt.redraw()}),bt&&this.drawChartBox(),W(this,"predraw"),N.forEach(function(mt){(bt||mt.isDirty)&&mt.visible&&mt.redraw(),mt.isDirtyData=!1}),F&&F.reset(!0),tt.draw(),W(this,"redraw"),W(this,"render"),ot&&this.temporaryDisplay(!0),ht.forEach(function(mt){mt.call()})}get(z){let L=this.series;function N(Q){return Q.id===z||Q.options&&Q.options.id===z}let F=j(this.axes,N)||j(this.series,N);for(let Q=0;!F&&Q<L.length;Q++)F=j(L[Q].points||[],N);return F}getAxes(){let z=this.userOptions;for(let L of(W(this,"getAxes"),["xAxis","yAxis"]))for(let N of z[L]=X(z[L]||{}))new q(this,N,L);W(this,"afterGetAxes")}getSelectedPoints(){return this.series.reduce((z,L)=>(L.getPointsCollection().forEach(N=>{d(N.selectedStaging,N.selected)&&z.push(N)}),z),[])}getSelectedSeries(){return this.series.filter(function(z){return z.selected})}setTitle(z,L,N){this.applyDescription("title",z),this.applyDescription("subtitle",L),this.applyDescription("caption",void 0),this.layOutTitles(N)}applyDescription(z,L){let N=this,F=this.options[z]=i(this.options[z],L),Q=this[z];Q&&L&&(this[z]=Q=Q.destroy()),F&&!Q&&((Q=this.renderer.text(F.text,0,0,F.useHTML).attr({align:F.align,class:"highcharts-"+z,zIndex:F.zIndex||4}).add()).update=function(it,tt){N.applyDescription(z,it),N.layOutTitles(tt)},this.styledMode||Q.css(O(z==="title"?{fontSize:this.options.isStock?"1em":"1.2em"}:{},F.style)),this[z]=Q)}layOutTitles(z=!0){let L=[0,0,0],N=this.renderer,F=this.spacingBox;["title","subtitle","caption"].forEach(function(it){let tt=this[it],ot=this.options[it],ht=ot.verticalAlign||"top",ct=it==="title"?ht==="top"?-3:0:ht==="top"?L[0]+2:0;if(tt){tt.css({width:(ot.width||F.width+(ot.widthAdjust||0))+"px"});let ut=N.fontMetrics(tt).b,ft=Math.round(tt.getBBox(ot.useHTML).height);tt.align(O({y:ht==="bottom"?ut:ct+ut,height:ft},ot),!1,"spacingBox"),ot.floating||(ht==="top"?L[0]=Math.ceil(L[0]+ft):ht==="bottom"&&(L[2]=Math.ceil(L[2]+ft)))}},this),L[0]&&(this.options.title.verticalAlign||"top")==="top"&&(L[0]+=this.options.title.margin),L[2]&&this.options.caption.verticalAlign==="bottom"&&(L[2]+=this.options.caption.margin);let Q=!this.titleOffset||this.titleOffset.join(",")!==L.join(",");this.titleOffset=L,W(this,"afterLayOutTitles"),!this.isDirtyBox&&Q&&(this.isDirtyBox=this.isDirtyLegend=Q,this.hasRendered&&z&&this.isDirtyBox&&this.redraw())}getContainerBox(){let z=[].map.call(this.renderTo.children,N=>{if(N!==this.container){let F=N.style.display;return N.style.display="none",[N,F]}}),L={width:et(this.renderTo,"width",!0)||0,height:et(this.renderTo,"height",!0)||0};return z.filter(Boolean).forEach(([N,F])=>{N.style.display=F}),L}getChartSize(){var it;let z=this.options.chart,L=z.width,N=z.height,F=this.getContainerBox(),Q=F.height>1&&!(!((it=this.renderTo.parentElement)!=null&&it.style.height)&&this.renderTo.style.height==="100%");this.chartWidth=Math.max(0,L||F.width||600),this.chartHeight=Math.max(0,C(N,this.chartWidth)||(Q?F.height:400)),this.containerBox=F}temporaryDisplay(z){let L=this.renderTo,N;if(z)for(;L&&L.style;)L.hcOrigStyle&&(m(L,L.hcOrigStyle),delete L.hcOrigStyle),L.hcOrigDetached&&(k.body.removeChild(L),L.hcOrigDetached=!1),L=L.parentNode;else for(;L&&L.style&&(k.body.contains(L)||L.parentNode||(L.hcOrigDetached=!0,k.body.appendChild(L)),(et(L,"display",!1)==="none"||L.hcOricDetached)&&(L.hcOrigStyle={display:L.style.display,height:L.style.height,overflow:L.style.overflow},N={display:"block",overflow:"hidden"},L!==this.renderTo&&(N.height=0),m(L,N),L.offsetWidth||L.style.setProperty("display","block","important")),(L=L.parentNode)!==k.body););}setClassName(z){this.container.className="highcharts-container "+(z||"")}getContainer(){var ft;let z=this.options,L=z.chart,N="data-highcharts-chart",F=Z(),Q,it=this.renderTo;it||(this.renderTo=it=L.renderTo),D(it)&&(this.renderTo=it=k.getElementById(it)),it||f(13,!0,this);let tt=M(r(it,N));n(tt)&&E[tt]&&E[tt].hasRendered&&E[tt].destroy(),r(it,N,this.index),it.innerHTML=I.emptyHTML,L.skipClone||it.offsetWidth||this.temporaryDisplay(),this.getChartSize();let ot=this.chartHeight,ht=this.chartWidth;m(it,{overflow:"hidden"}),this.styledMode||(Q=O({position:"relative",overflow:"hidden",width:ht+"px",height:ot+"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"},L.style||{}));let ct=a("div",{id:F},Q,it);this.container=ct,this.getChartSize(),ht===this.chartWidth||(ht=this.chartWidth,this.styledMode||m(ct,{width:d((ft=L.style)==null?void 0:ft.width,ht+"px")})),this.containerBox=this.getContainerBox(),this._cursor=ct.style.cursor;let ut=L.renderer||!g?dt.getRendererType(L.renderer):V;if(this.renderer=new ut(ct,ht,ot,void 0,L.forExport,z.exporting&&z.exporting.allowHTML,this.styledMode),v(void 0,this),this.setClassName(L.className),this.styledMode)for(let bt in z.defs)this.renderer.definition(z.defs[bt]);else this.renderer.setStyle(L.style);this.renderer.chartIndex=this.index,W(this,"afterGetContainer")}getMargins(z){let{spacing:L,margin:N,titleOffset:F}=this;this.resetMargins(),F[0]&&!b(N[0])&&(this.plotTop=Math.max(this.plotTop,F[0]+L[0])),F[2]&&!b(N[2])&&(this.marginBottom=Math.max(this.marginBottom,F[2]+L[2])),this.legend&&this.legend.display&&this.legend.adjustMargins(N,L),W(this,"getMargins"),z||this.getAxisMargins()}getAxisMargins(){let z=this,L=z.axisOffset=[0,0,0,0],N=z.colorAxis,F=z.margin,Q=function(it){it.forEach(function(tt){tt.visible&&tt.getOffset()})};z.hasCartesianSeries?Q(z.axes):N&&N.length&&Q(N),o.forEach(function(it,tt){b(F[tt])||(z[it]+=L[tt])}),z.setChartSize()}getOptions(){return h(this.userOptions,T)}reflow(z){var Q;let L=this,N=L.containerBox,F=L.getContainerBox();(Q=L.pointer)==null||delete Q.chartPosition,!L.isPrinting&&!L.isResizing&&N&&F.width&&((F.width!==N.width||F.height!==N.height)&&(B.clearTimeout(L.reflowTimeout),L.reflowTimeout=U(function(){L.container&&L.setSize(void 0,void 0,!1)},z?100:0)),L.containerBox=F)}setReflow(){let z=this,L=N=>{var F;(F=z.options)!=null&&F.chart.reflow&&z.hasLoaded&&z.reflow(N)};if(typeof ResizeObserver=="function")new ResizeObserver(L).observe(z.renderTo);else{let N=t(s,"resize",L);t(this,"destroy",N)}}setSize(z,L,N){let F=this,Q=F.renderer;F.isResizing+=1,v(N,F);let it=Q.globalAnimation;F.oldChartHeight=F.chartHeight,F.oldChartWidth=F.chartWidth,z!==void 0&&(F.options.chart.width=z),L!==void 0&&(F.options.chart.height=L),F.getChartSize();let{chartWidth:tt,chartHeight:ot,scrollablePixelsX:ht=0,scrollablePixelsY:ct=0}=F;(F.isDirtyBox||tt!==F.oldChartWidth||ot!==F.oldChartHeight)&&(F.styledMode||(it?u:m)(F.container,{width:`${tt+ht}px`,height:`${ot+ct}px`},it),F.setChartSize(!0),Q.setSize(tt,ot,it),F.axes.forEach(function(ut){ut.isDirty=!0,ut.setScale()}),F.isDirtyLegend=!0,F.isDirtyBox=!0,F.layOutTitles(),F.getMargins(),F.redraw(it),F.oldChartHeight=void 0,W(F,"resize"),setTimeout(()=>{F&&W(F,"endResize")},x(it).duration)),F.isResizing-=1}setChartSize(z){let L,N,F,Q,{chartHeight:it,chartWidth:tt,inverted:ot,spacing:ht,renderer:ct}=this,ut=this.clipOffset,ft=Math[ot?"floor":"round"];this.plotLeft=L=Math.round(this.plotLeft),this.plotTop=N=Math.round(this.plotTop),this.plotWidth=F=Math.max(0,Math.round(tt-L-this.marginRight)),this.plotHeight=Q=Math.max(0,Math.round(it-N-this.marginBottom)),this.plotSizeX=ot?Q:F,this.plotSizeY=ot?F:Q,this.spacingBox=ct.spacingBox={x:ht[3],y:ht[0],width:tt-ht[3]-ht[1],height:it-ht[0]-ht[2]},this.plotBox=ct.plotBox={x:L,y:N,width:F,height:Q},ut&&(this.clipBox={x:ft(ut[3]),y:ft(ut[0]),width:ft(this.plotSizeX-ut[1]-ut[3]),height:ft(this.plotSizeY-ut[0]-ut[2])}),z||(this.axes.forEach(function(bt){bt.setAxisSize(),bt.setAxisTranslation()}),ct.alignElements()),W(this,"afterSetChartSize",{skipAxes:z})}resetMargins(){W(this,"resetMargins");let z=this,L=z.options.chart,N=L.plotBorderWidth||0,F=N/2;["margin","spacing"].forEach(function(Q){let it=L[Q],tt=y(it)?it:[it,it,it,it];["Top","Right","Bottom","Left"].forEach(function(ot,ht){z[Q][ht]=d(L[Q+ot],tt[ht])})}),o.forEach(function(Q,it){z[Q]=d(z.margin[it],z.spacing[it])}),z.axisOffset=[0,0,0,0],z.clipOffset=[F,F,F,F],z.plotBorderWidth=N}drawChartBox(){let z=this.options.chart,L=this.renderer,N=this.chartWidth,F=this.chartHeight,Q=this.styledMode,it=this.plotBGImage,tt=z.backgroundColor,ot=z.plotBackgroundColor,ht=z.plotBackgroundImage,ct=this.plotLeft,ut=this.plotTop,ft=this.plotWidth,bt=this.plotHeight,vt=this.plotBox,xt=this.clipRect,mt=this.clipBox,St=this.chartBackground,kt=this.plotBackground,Ct=this.plotBorder,Tt,Mt,Lt,At="animate";St||(this.chartBackground=St=L.rect().addClass("highcharts-background").add(),At="attr"),Q?Tt=Mt=St.strokeWidth():(Mt=(Tt=z.borderWidth||0)+(z.shadow?8:0),Lt={fill:tt||"none"},(Tt||St["stroke-width"])&&(Lt.stroke=z.borderColor,Lt["stroke-width"]=Tt),St.attr(Lt).shadow(z.shadow)),St[At]({x:Mt/2,y:Mt/2,width:N-Mt-Tt%2,height:F-Mt-Tt%2,r:z.borderRadius}),At="animate",kt||(At="attr",this.plotBackground=kt=L.rect().addClass("highcharts-plot-background").add()),kt[At](vt),!Q&&(kt.attr({fill:ot||"none"}).shadow(z.plotShadow),ht&&(it?(ht!==it.attr("href")&&it.attr("href",ht),it.animate(vt)):this.plotBGImage=L.image(ht,ct,ut,ft,bt).add())),xt?xt.animate({width:mt.width,height:mt.height}):this.clipRect=L.clipRect(mt),At="animate",Ct||(At="attr",this.plotBorder=Ct=L.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),Q||Ct.attr({stroke:z.plotBorderColor,"stroke-width":z.plotBorderWidth||0,fill:"none"}),Ct[At](Ct.crisp({x:ct,y:ut,width:ft,height:bt},-Ct.strokeWidth())),this.isDirtyBox=!1,W(this,"afterDrawChartBox")}propFromSeries(){let z,L,N,F=this,Q=F.options.chart,it=F.options.series;["inverted","angular","polar"].forEach(function(tt){for(L=e[Q.type],N=Q[tt]||L&&L.prototype[tt],z=it&&it.length;!N&&z--;)(L=e[it[z].type])&&L.prototype[tt]&&(N=!0);F[tt]=N})}linkSeries(z){let L=this,N=L.series;N.forEach(function(F){F.linkedSeries.length=0}),N.forEach(function(F){let{linkedTo:Q}=F.options;if(D(Q)){let it;(it=Q===":previous"?L.series[F.index-1]:L.get(Q))&&it.linkedParent!==F&&(it.linkedSeries.push(F),F.linkedParent=it,it.enabledDataSorting&&F.setDataSortingOptions(),F.visible=d(F.options.visible,it.options.visible,F.visible))}}),W(this,"afterLinkSeries",{isUpdating:z})}renderSeries(){this.series.forEach(function(z){z.translate(),z.render()})}render(){var ct;let z=this.axes,L=this.colorAxis,N=this.renderer,F=this.options.chart.axisLayoutRuns||2,Q=ut=>{ut.forEach(ft=>{ft.visible&&ft.render()})},it=0,tt=!0,ot,ht=0;for(let ut of(this.setTitle(),W(this,"beforeMargins"),(ct=this.getStacks)==null||ct.call(this),this.getMargins(!0),this.setChartSize(),z)){let{options:ft}=ut,{labels:bt}=ft;if(this.hasCartesianSeries&&ut.horiz&&ut.visible&&bt.enabled&&ut.series.length&&ut.coll!=="colorAxis"&&!this.polar){it=ft.tickLength,ut.createGroups();let vt=new P(ut,0,"",!0),xt=vt.createLabel("x",bt);if(vt.destroy(),xt&&d(bt.reserveSpace,!n(ft.crossing))&&(it=xt.getBBox().height+bt.distance+Math.max(ft.offset||0,0)),it){xt==null||xt.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-it,0);(tt||ot||F>1)&&ht<F;){let ut=this.plotWidth,ft=this.plotHeight;for(let bt of z)ht===0?bt.setScale():(bt.horiz&&tt||!bt.horiz&&ot)&&bt.setTickInterval(!0);ht===0?this.getAxisMargins():this.getMargins(),tt=ut/this.plotWidth>(ht?1:1.1),ot=ft/this.plotHeight>(ht?1:1.05),ht++}this.drawChartBox(),this.hasCartesianSeries?Q(z):L&&L.length&&Q(L),this.seriesGroup||(this.seriesGroup=N.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(z){let L=this,N=i(!0,this.options.credits,z);N.enabled&&!this.credits&&(this.credits=this.renderer.text(N.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){N.href&&(s.location.href=N.href)}).attr({align:N.position.align,zIndex:8}),L.styledMode||this.credits.css(N.style),this.credits.add().align(N.position),this.credits.update=function(F){L.credits=L.credits.destroy(),L.addCredits(F)})}destroy(){let z,L=this,N=L.axes,F=L.series,Q=L.container,it=Q&&Q.parentNode;for(W(L,"destroy"),L.renderer.forExport?Y(E,L):E[L.index]=void 0,st.chartCount--,L.renderTo.removeAttribute("data-highcharts-chart"),R(L),z=N.length;z--;)N[z]=N[z].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),z=F.length;z--;)F[z]=F[z].destroy();["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach(function(tt){let ot=L[tt];ot&&ot.destroy&&(L[tt]=ot.destroy())}),Q&&(Q.innerHTML=I.emptyHTML,R(Q),it&&A(Q)),p(L,function(tt,ot){delete L[ot]})}firstRender(){var F;let z=this,L=z.options;z.getContainer(),z.resetMargins(),z.setChartSize(),z.propFromSeries(),z.getAxes();let N=l(L.series)?L.series:[];L.series=[],N.forEach(function(Q){z.initSeries(Q)}),z.linkSeries(),z.setSortedData(),W(z,"beforeRender"),z.render(),(F=z.pointer)==null||F.getChartPosition(),z.renderer.imgCount||z.hasLoaded||z.onload(),z.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach(function(z){z&&this.index!==void 0&&z.apply(this,[this])},this),W(this,"load"),W(this,"render"),b(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:z,title:L}=this;!z||this.accessibility||(this.renderer.boxWrapper.attr({role:"img","aria-label":(L&&L.element.textContent||"").replace(/</g,"<")}),z.accessibility&&z.accessibility.enabled===!1||f('Highcharts warning: Consider including the "accessibility.js" module to make your chart more usable for people with disabilities. Set the "accessibility.enabled" option to false to remove this warning. See https://www.highcharts.com/docs/accessibility/accessibility-module.',!1,this))}addSeries(z,L,N){let F,Q=this;return z&&(L=d(L,!0),W(Q,"addSeries",{options:z},function(){F=Q.initSeries(z),Q.isDirtyLegend=!0,Q.linkSeries(),F.enabledDataSorting&&F.setData(z.data,!1),W(Q,"afterAddSeries",{series:F}),L&&Q.redraw(N)})),F}addAxis(z,L,N,F){return this.createAxis(L?"xAxis":"yAxis",{axis:z,redraw:N,animation:F})}addColorAxis(z,L,N){return this.createAxis("colorAxis",{axis:z,redraw:L,animation:N})}createAxis(z,L){let N=new q(this,L.axis,z);return d(L.redraw,!0)&&this.redraw(L.animation),N}showLoading(z){let L=this,N=L.options,F=N.loading,Q=function(){it&&m(it,{left:L.plotLeft+"px",top:L.plotTop+"px",width:L.plotWidth+"px",height:L.plotHeight+"px"})},it=L.loadingDiv,tt=L.loadingSpan;it||(L.loadingDiv=it=a("div",{className:"highcharts-loading highcharts-loading-hidden"},null,L.container)),tt||(L.loadingSpan=tt=a("span",{className:"highcharts-loading-inner"},null,it),t(L,"redraw",Q)),it.className="highcharts-loading",I.setElementHTML(tt,d(z,N.lang.loading,"")),L.styledMode||(m(it,O(F.style,{zIndex:10})),m(tt,F.labelStyle),L.loadingShown||(m(it,{opacity:0,display:""}),u(it,{opacity:F.style.opacity||.5},{duration:F.showDuration||0}))),L.loadingShown=!0,Q()}hideLoading(){let z=this.options,L=this.loadingDiv;L&&(L.className="highcharts-loading highcharts-loading-hidden",this.styledMode||u(L,{opacity:0},{duration:z.loading.hideDuration||100,complete:function(){m(L,{display:"none"})}})),this.loadingShown=!1}update(z,L,N,F){let Q,it,tt,ot=this,ht={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle",caption:"setCaption"},ct=z.isResponsiveOptions,ut=[];W(ot,"update",{options:z}),ct||ot.setResponsive(!1,!0),z=h(z,ot.options),ot.userOptions=i(ot.userOptions,z);let ft=z.chart;ft&&(i(!0,ot.options.chart,ft),this.setZoomOptions(),"className"in ft&&ot.setClassName(ft.className),("inverted"in ft||"polar"in ft||"type"in ft)&&(ot.propFromSeries(),Q=!0),"alignTicks"in ft&&(Q=!0),"events"in ft&&G(this,ft),p(ft,function(xt,mt){ot.propsRequireUpdateSeries.indexOf("chart."+mt)!==-1&&(it=!0),ot.propsRequireDirtyBox.indexOf(mt)!==-1&&(ot.isDirtyBox=!0),ot.propsRequireReflow.indexOf(mt)===-1||(ot.isDirtyBox=!0,ct||(tt=!0))}),!ot.styledMode&&ft.style&&ot.renderer.setStyle(ot.options.chart.style||{})),!ot.styledMode&&z.colors&&(this.options.colors=z.colors),z.time&&(this.time===c&&(this.time=new w(z.time)),i(!0,ot.options.time,z.time)),p(z,function(xt,mt){ot[mt]&&typeof ot[mt].update=="function"?ot[mt].update(xt,!1):typeof ot[ht[mt]]=="function"?ot[ht[mt]](xt):mt!=="colors"&&ot.collectionsWithUpdate.indexOf(mt)===-1&&i(!0,ot.options[mt],z[mt]),mt!=="chart"&&ot.propsRequireUpdateSeries.indexOf(mt)!==-1&&(it=!0)}),this.collectionsWithUpdate.forEach(function(xt){z[xt]&&(X(z[xt]).forEach(function(mt,St){let kt,Ct=b(mt.id);Ct&&(kt=ot.get(mt.id)),!kt&&ot[xt]&&(kt=ot[xt][d(mt.index,St)])&&(Ct&&b(kt.options.id)||kt.options.isInternal)&&(kt=void 0),kt&&kt.coll===xt&&(kt.update(mt,!1),N&&(kt.touched=!0)),!kt&&N&&ot.collectionsWithInit[xt]&&(ot.collectionsWithInit[xt][0].apply(ot,[mt].concat(ot.collectionsWithInit[xt][1]||[]).concat([!1])).touched=!0)}),N&&ot[xt].forEach(function(mt){mt.touched||mt.options.isInternal?delete mt.touched:ut.push(mt)}))}),ut.forEach(function(xt){xt.chart&&xt.remove&&xt.remove(!1)}),Q&&ot.axes.forEach(function(xt){xt.update({},!1)}),it&&ot.getSeriesOrderByLinks().forEach(function(xt){xt.chart&&xt.update({},!1)},this);let bt=ft&&ft.width,vt=ft&&(D(ft.height)?C(ft.height,bt||ot.chartWidth):ft.height);tt||n(bt)&&bt!==ot.chartWidth||n(vt)&&vt!==ot.chartHeight?ot.setSize(bt,vt,F):d(L,!0)&&ot.redraw(F),W(ot,"afterUpdate",{options:z,redraw:L,animation:F})}setSubtitle(z,L){this.applyDescription("subtitle",z),this.layOutTitles(L)}setCaption(z,L){this.applyDescription("caption",z),this.layOutTitles(L)}showResetZoom(){let z=this,L=T.lang,N=z.zooming.resetButton,F=N.theme,Q=N.relativeTo==="chart"||N.relativeTo==="spacingBox"?null:"plotBox";function it(){z.zoomOut()}W(this,"beforeShowResetZoom",null,function(){z.resetZoomButton=z.renderer.button(L.resetZoom,null,null,it,F).attr({align:N.position.align,title:L.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(N.position,!1,Q)}),W(this,"afterShowResetZoom")}zoomOut(){W(this,"selection",{resetSelection:!0},()=>this.transform({reset:!0,trigger:"zoom"}))}pan(z,L){let N=this,F=typeof L=="object"?L:{enabled:L,type:"x"},Q=F.type,it=Q&&N[{x:"xAxis",xy:"axes",y:"yAxis"}[Q]].filter(ot=>ot.options.panningEnabled&&!ot.options.isInternal),tt=N.options.chart;tt!=null&&tt.panning&&(tt.panning=F),W(this,"pan",{originalEvent:z},()=>{N.transform({axes:it,event:z,to:{x:z.chartX-(N.mouseDownX||0),y:z.chartY-(N.mouseDownY||0)},trigger:"pan"}),m(N.container,{cursor:"move"})})}transform(z){var bt;let{axes:L=this.axes,event:N,from:F={},reset:Q,selection:it,to:tt={},trigger:ot}=z,{inverted:ht}=this,ct=!1,ut,ft;for(let vt of((bt=this.hoverPoints)==null||bt.forEach(xt=>xt.setState()),L)){let{horiz:xt,len:mt,minPointOffset:St=0,options:kt,reversed:Ct}=vt,Tt=xt?"width":"height",Mt=xt?"x":"y",Lt=d(tt[Tt],vt.len),At=d(F[Tt],vt.len),jt=10>Math.abs(Lt)?1:Lt/At,Xt=(F[Mt]||0)+At/2-vt.pos,Wt=Xt-((tt[Mt]??vt.pos)+Lt/2-vt.pos)/jt,Ft=Ct&&!ht||!Ct&&ht?-1:1;if(!Q&&(Xt<0||Xt>vt.len))continue;let Et=vt.toValue(Wt,!0)+(it||vt.isOrdinal?0:St*Ft),Rt=vt.toValue(Wt+mt/jt,!0)-(it||vt.isOrdinal?0:St*Ft||0),Gt=vt.allExtremes;if(Et>Rt&&([Et,Rt]=[Rt,Et]),jt===1&&!Q&&vt.coll==="yAxis"&&!Gt){for(let de of vt.series){let Zt=de.getExtremes(de.getProcessedData(!0).yData,!0);Gt??(Gt={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE}),n(Zt.dataMin)&&n(Zt.dataMax)&&(Gt.dataMin=Math.min(Zt.dataMin,Gt.dataMin),Gt.dataMax=Math.max(Zt.dataMax,Gt.dataMax))}vt.allExtremes=Gt}let{dataMin:xe,dataMax:ye,min:re,max:oe}=O(vt.getExtremes(),Gt||{}),ne=xe??kt.min,ae=ye??kt.max,Qt=Rt-Et,le=vt.categories?0:Math.min(Qt,ae-ne),te=ne-le*(b(kt.min)?0:kt.minPadding),ee=ae+le*(b(kt.max)?0:kt.maxPadding),he=vt.allowZoomOutside||jt===1||ot!=="zoom"&&jt>1,qt=Math.min(kt.min??te,te,he?re:te),Kt=Math.max(kt.max??ee,ee,he?oe:ee);(!vt.isOrdinal||vt.options.overscroll||jt!==1||Q)&&(Et<qt&&(Et=qt,jt>=1&&(Rt=Et+Qt)),Rt>Kt&&(Rt=Kt,jt>=1&&(Et=Rt-Qt)),(Q||vt.series.length&&(Et!==re||Rt!==oe)&&Et>=qt&&Rt<=Kt)&&(it?it[vt.coll].push({axis:vt,min:Et,max:Rt}):(vt.isPanning=ot!=="zoom",vt.isPanning&&(ft=!0),vt.setExtremes(Q?void 0:Et,Q?void 0:Rt,!1,!1,{move:Wt,trigger:ot,scale:jt}),!Q&&(Et>qt||Rt<Kt)&&ot!=="mousewheel"&&(ut=!0)),ct=!0),N&&(this[xt?"mouseDownX":"mouseDownY"]=N[xt?"chartX":"chartY"]))}return ct&&(it?W(this,"selection",it,()=>{delete z.selection,z.trigger="zoom",this.transform(z)}):(!ut||ft||this.resetZoomButton?!ut&&this.resetZoomButton&&(this.resetZoomButton=this.resetZoomButton.destroy()):this.showResetZoom(),this.redraw(ot==="zoom"&&(this.options.chart.animation??this.pointCount<100)))),ct}}return O(at.prototype,{callbacks:[],collectionsWithInit:{xAxis:[at.prototype.addAxis,[!0]],yAxis:[at.prototype.addAxis,[!1]],series:[at.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"]}),at}),yt(H,"Extensions/ScrollablePlotArea.js",[H["Core/Animation/AnimationUtilities.js"],H["Core/Globals.js"],H["Core/Renderer/RendererRegistry.js"],H["Core/Utilities.js"]],function(_,q,J,lt){let{stop:nt}=_,{composed:st}=q,{addEvent:dt,createElement:K,css:$,defined:V,merge:w,pushUnique:B}=lt;function I(){let x=this.scrollablePlotArea;(this.scrollablePixelsX||this.scrollablePixelsY)&&!x&&(this.scrollablePlotArea=x=new u(this)),x==null||x.applyFixed()}function P(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class u{static compose(v,T,c){B(st,this.compose)&&(dt(v,"afterInit",P),dt(T,"afterSetChartSize",S=>this.afterSetSize(S.target,S)),dt(T,"render",I),dt(c,"show",P))}static afterSetSize(v,T){let c,S,G,{minWidth:E,minHeight:k}=v.options.chart.scrollablePlotArea||{},{clipBox:o,plotBox:g,inverted:s,renderer:e}=v;if(!e.forExport&&(E?(v.scrollablePixelsX=c=Math.max(0,E-v.chartWidth),c&&(v.scrollablePlotBox=w(v.plotBox),g.width=v.plotWidth+=c,o[s?"height":"width"]+=c,G=!0)):k&&(v.scrollablePixelsY=S=Math.max(0,k-v.chartHeight),V(S)&&(v.scrollablePlotBox=w(v.plotBox),g.height=v.plotHeight+=S,o[s?"width":"height"]+=S,G=!1)),V(G)&&!T.skipAxes))for(let t of v.axes)t.horiz===G&&(t.setAxisSize(),t.setAxisTranslation())}constructor(v){var r;let T,c=v.options.chart,S=J.getRendererType(),G=c.scrollablePlotArea||{},E=this.moveFixedElements.bind(this),k={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};v.scrollablePixelsX&&(k.overflowX="auto"),v.scrollablePixelsY&&(k.overflowY="auto"),this.chart=v;let o=this.parentDiv=K("div",{className:"highcharts-scrolling-parent"},{position:"relative"},v.renderTo),g=this.scrollingContainer=K("div",{className:"highcharts-scrolling"},k,o),s=this.innerContainer=K("div",{className:"highcharts-inner-container"},void 0,g),e=this.fixedDiv=K("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(((r=c.style)==null?void 0:r.zIndex)||0)+2,top:0},void 0,!0),t=this.fixedRenderer=new S(e,v.chartWidth,v.chartHeight,c.style);this.mask=t.path().attr({fill:c.backgroundColor||"#fff","fill-opacity":G.opacity??.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),g.parentNode.insertBefore(e,g),$(v.renderTo,{overflow:"visible"}),dt(v,"afterShowResetZoom",E),dt(v,"afterApplyDrilldown",E),dt(v,"afterLayOutTitles",E),dt(g,"scroll",()=>{let{pointer:a,hoverPoint:m}=v;a&&(delete a.chartPosition,m&&(T=m),a.runPointActions(void 0,T,!0))}),s.appendChild(v.container)}applyFixed(){var n;let{chart:v,fixedRenderer:T,isDirty:c,scrollingContainer:S}=this,{axisOffset:G,chartWidth:E,chartHeight:k,container:o,plotHeight:g,plotLeft:s,plotTop:e,plotWidth:t,scrollablePixelsX:r=0,scrollablePixelsY:a=0}=v,{scrollPositionX:m=0,scrollPositionY:b=0}=v.options.chart.scrollablePlotArea||{},h=E+r,A=k+a;T.setSize(E,k),(c??!0)&&(this.isDirty=!1,this.moveFixedElements()),nt(v.container),$(o,{width:`${h}px`,height:`${A}px`}),v.renderer.boxWrapper.attr({width:h,height:A,viewBox:[0,0,h,A].join(" ")}),(n=v.chartBackground)==null||n.attr({width:h,height:A}),$(S,{width:`${E}px`,height:`${k}px`}),V(c)||(S.scrollLeft=r*m,S.scrollTop=a*b);let Y=e-G[0]-1,f=s-G[3]-1,O=e+g+G[2]+1,j=s+t+G[1]+1,W=s+t-r,et=e+g-a,l=[["M",0,0]];r?l=[["M",0,Y],["L",s-1,Y],["L",s-1,O],["L",0,O],["Z"],["M",W,Y],["L",E,Y],["L",E,O],["L",W,O],["Z"]]:a&&(l=[["M",f,0],["L",f,e-1],["L",j,e-1],["L",j,0],["Z"],["M",f,et],["L",f,k],["L",j,k],["L",j,et],["Z"]]),v.redrawTrigger!=="adjustHeight"&&this.mask.attr({d:l})}moveFixedElements(){let v,{container:T,inverted:c,scrollablePixelsX:S,scrollablePixelsY:G}=this.chart,E=this.fixedRenderer,k=u.fixedSelectors;for(let o of(S&&!c?v=".highcharts-yaxis":S&&c||G&&!c?v=".highcharts-xaxis":G&&c&&(v=".highcharts-yaxis"),v&&k.push(`${v}:not(.highcharts-radial-axis)`,`${v}-labels:not(.highcharts-radial-axis-labels)`),k))[].forEach.call(T.querySelectorAll(o),g=>{(g.namespaceURI===E.SVG_NS?E.box:E.box.parentNode).appendChild(g),g.style.pointerEvents="auto"})}}return u.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"],u}),yt(H,"Core/Axis/Stacking/StackItem.js",[H["Core/Templating.js"],H["Core/Series/SeriesRegistry.js"],H["Core/Utilities.js"]],function(_,q,J){let{format:lt}=_,{series:nt}=q,{destroyObjectProperties:st,fireEvent:dt,isNumber:K,pick:$}=J;return class{constructor(V,w,B,I,P){let u=V.chart.inverted,x=V.reversed;this.axis=V;let v=this.isNegative=!!B!=!!x;this.options=w=w||{},this.x=I,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=P,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:w.align||(u?v?"left":"right":"center"),verticalAlign:w.verticalAlign||(u?"middle":v?"bottom":"top"),y:w.y,x:w.x},this.textAlign=w.textAlign||(u?v?"right":"left":"center")}destroy(){st(this,this.axis)}render(V){let w=this.axis.chart,B=this.options,I=B.format,P=I?lt(I,this,w):B.formatter.call(this);if(this.label)this.label.attr({text:P,visibility:"hidden"});else{this.label=w.renderer.label(P,null,void 0,B.shape,void 0,void 0,B.useHTML,!1,"stack-labels");let u={r:B.borderRadius||0,text:P,padding:$(B.padding,5),visibility:"hidden"};w.styledMode||(u.fill=B.backgroundColor,u.stroke=B.borderColor,u["stroke-width"]=B.borderWidth,this.label.css(B.style||{})),this.label.attr(u),this.label.added||this.label.add(V)}this.label.labelrank=w.plotSizeY,dt(this,"afterRender")}setOffset(V,w,B,I,P,u){let{alignOptions:x,axis:v,label:T,options:c,textAlign:S}=this,G=v.chart,E=this.getStackBox({xOffset:V,width:w,boxBottom:B,boxTop:I,defaultX:P,xAxis:u}),{verticalAlign:k}=x;if(T&&E){let o=T.getBBox(void 0,0),g=T.padding,s=$(c.overflow,"justify")==="justify",e;x.x=c.x||0,x.y=c.y||0;let{x:t,y:r}=this.adjustStackPosition({labelBox:o,verticalAlign:k,textAlign:S});E.x-=t,E.y-=r,T.align(x,!1,E),(e=G.isInsidePlot(T.alignAttr.x+x.x+t,T.alignAttr.y+x.y+r))||(s=!1),s&&nt.prototype.justifyDataLabel.call(v,T,x,T.alignAttr,o,E),T.attr({x:T.alignAttr.x,y:T.alignAttr.y,rotation:c.rotation,rotationOriginX:o.width*{left:0,center:.5,right:1}[c.textAlign||"center"],rotationOriginY:o.height/2}),$(!s&&c.crop,!0)&&(e=K(T.x)&&K(T.y)&&G.isInsidePlot(T.x-g+(T.width||0),T.y)&&G.isInsidePlot(T.x+g,T.y)),T[e?"show":"hide"]()}dt(this,"afterSetOffset",{xOffset:V,width:w})}adjustStackPosition({labelBox:V,verticalAlign:w,textAlign:B}){let I={bottom:0,middle:1,top:2,right:1,center:0,left:-1},P=I[w],u=I[B];return{x:V.width/2+V.width/2*u,y:V.height/2*P}}getStackBox(V){let w=this.axis,B=w.chart,{boxTop:I,defaultX:P,xOffset:u,width:x,boxBottom:v}=V,T=w.stacking.usePercentage?100:$(I,this.total,0),c=w.toPixels(T),S=V.xAxis||B.xAxis[0],G=$(P,S.translate(this.x))+u,E=Math.abs(c-w.toPixels(v||K(w.min)&&w.logarithmic&&w.logarithmic.lin2log(w.min)||0)),k=B.inverted,o=this.isNegative;return k?{x:(o?c:c-E)-B.plotLeft,y:S.height-G-x+S.top-B.plotTop,width:E,height:x}:{x:G+S.transB-B.plotLeft,y:(o?c-E:c)-B.plotTop,width:x,height:E}}}}),yt(H,"Core/Axis/Stacking/StackingAxis.js",[H["Core/Animation/AnimationUtilities.js"],H["Core/Axis/Axis.js"],H["Core/Series/SeriesRegistry.js"],H["Core/Axis/Stacking/StackItem.js"],H["Core/Utilities.js"]],function(_,q,J,lt,nt){var st;let{getDeferredAnimation:dt}=_,{series:{prototype:K}}=J,{addEvent:$,correctFloat:V,defined:w,destroyObjectProperties:B,fireEvent:I,isArray:P,isNumber:u,objectEach:x,pick:v}=nt;function T(){let e=this.inverted;this.axes.forEach(t=>{t.stacking&&t.stacking.stacks&&t.hasVisibleSeries&&(t.stacking.oldStacks=t.stacking.stacks)}),this.series.forEach(t=>{let r=t.xAxis&&t.xAxis.options||{};t.options.stacking&&t.reserveSpace()&&(t.stackKey=[t.type,v(t.options.stack,""),e?r.top:r.left,e?r.height:r.width].join(","))})}function c(){var t;let e=this.stacking;if(e){let r=e.stacks;x(r,(a,m)=>{B(a),delete r[m]}),(t=e.stackTotalGroup)==null||t.destroy()}}function S(){this.stacking||(this.stacking=new s(this))}function G(e,t,r,a){return!w(e)||e.x!==t||a&&e.stackKey!==a?e={x:t,index:0,key:a,stackKey:a}:e.index++,e.key=[r,t,e.index].join(","),e}function E(){let e,t=this,r=t.yAxis,a=t.stackKey||"",m=r.stacking.stacks,b=t.processedXData,h=t.options.stacking,A=t[h+"Stacker"];A&&[a,"-"+a].forEach(Y=>{var et;let f=b.length,O,j,W;for(;f--;)O=b[f],e=t.getStackIndicator(e,O,t.index,Y),j=(et=m[Y])==null?void 0:et[O],(W=j==null?void 0:j.points[e.key||""])&&A.call(t,W,j,f)})}function k(e,t,r){let a=t.total?100/t.total:0;e[0]=V(e[0]*a),e[1]=V(e[1]*a),this.stackedYData[r]=e[1]}function o(e){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&!this.options.stacking&&this.chart.series.length>1?K.setStackedPoints.call(this,e,"group"):e.stacking.resetStacks())}function g(e,t){var Z,at;let r,a,m,b,h,A,Y,f,O,j=t||this.options.stacking;if(!j||!this.reserveSpace()||({group:"xAxis"}[j]||"yAxis")!==e.coll)return;let W=this.processedXData,et=this.processedYData,l=[],n=et.length,y=this.options,D=y.threshold||0,i=y.startFromThreshold?D:0,p=y.stack,d=t?`${this.type},${j}`:this.stackKey||"",M="-"+d,C=this.negStacks,R=e.stacking,X=R.stacks,U=R.oldStacks;for(R.stacksTouched+=1,Y=0;Y<n;Y++){f=W[Y],O=et[Y],A=(r=this.getStackIndicator(r,f,this.index)).key||"",X[h=(a=C&&O<(i?0:D))?M:d]||(X[h]={}),X[h][f]||((Z=U[h])!=null&&Z[f]?(X[h][f]=U[h][f],X[h][f].total=null):X[h][f]=new lt(e,e.options.stackLabels,!!a,f,p)),m=X[h][f],O!==null?(m.points[A]=m.points[this.index]=[v(m.cumulative,i)],w(m.cumulative)||(m.base=A),m.touched=R.stacksTouched,r.index>0&&this.singleStacks===!1&&(m.points[A][0]=m.points[this.index+","+f+",0"][0])):(delete m.points[A],delete m.points[this.index]);let rt=m.total||0;j==="percent"?(b=a?d:M,rt=C&&((at=X[b])!=null&&at[f])?(b=X[b][f]).total=Math.max(b.total||0,rt)+Math.abs(O)||0:V(rt+(Math.abs(O)||0))):j==="group"?(P(O)&&(O=O[0]),O!==null&&rt++):rt=V(rt+(O||0)),j==="group"?m.cumulative=(rt||1)-1:m.cumulative=V(v(m.cumulative,i)+(O||0)),m.total=rt,O!==null&&(m.points[A].push(m.cumulative),l[Y]=m.cumulative,m.hasValidPoints=!0)}j==="percent"&&(R.usePercentage=!0),j!=="group"&&(this.stackedYData=l),R.oldStacks={}}class s{constructor(t){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=t}buildStacks(){let t,r,a=this.axis,m=a.series,b=a.coll==="xAxis",h=a.options.reversedStacks,A=m.length;for(this.resetStacks(),this.usePercentage=!1,r=A;r--;)t=m[h?r:A-r-1],b&&t.setGroupedPoints(a),t.setStackedPoints(a);if(!b)for(r=0;r<A;r++)m[r].modifyStacks();I(a,"afterBuildStacks")}cleanStacks(){this.oldStacks&&(this.stacks=this.oldStacks,x(this.stacks,t=>{x(t,r=>{r.cumulative=r.total})}))}resetStacks(){x(this.stacks,t=>{x(t,(r,a)=>{u(r.touched)&&r.touched<this.stacksTouched?(r.destroy(),delete t[a]):(r.total=null,r.cumulative=null)})})}renderStackTotals(){var A;let t=this.axis,r=t.chart,a=r.renderer,m=this.stacks,b=dt(r,((A=t.options.stackLabels)==null?void 0:A.animation)||!1),h=this.stackTotalGroup=this.stackTotalGroup||a.g("stack-labels").attr({zIndex:6,opacity:0}).add();h.translate(r.plotLeft,r.plotTop),x(m,Y=>{x(Y,f=>{f.render(h)})}),h.animate({opacity:1},b)}}return(st||(st={})).compose=function(e,t,r){let a=t.prototype,m=r.prototype;a.getStacks||($(e,"init",S),$(e,"destroy",c),a.getStacks=T,m.getStackIndicator=G,m.modifyStacks=E,m.percentStacker=k,m.setGroupedPoints=o,m.setStackedPoints=g)},st}),yt(H,"Series/Line/LineSeries.js",[H["Core/Series/Series.js"],H["Core/Series/SeriesRegistry.js"],H["Core/Utilities.js"]],function(_,q,J){let{defined:lt,merge:nt,isObject:st}=J;class dt extends _{drawGraph(){let $=this.options,V=(this.gappedPath||this.getGraphPath).call(this),w=this.chart.styledMode;[this,...this.zones].forEach((B,I)=>{let P,u=B.graph,x=u?"animate":"attr",v=B.dashStyle||$.dashStyle;u?(u.endX=this.preventGraphAnimation?null:V.xMap,u.animate({d:V})):V.length&&(B.graph=u=this.chart.renderer.path(V).addClass("highcharts-graph"+(I?` highcharts-zone-graph-${I-1} `:" ")+(I&&B.className||"")).attr({zIndex:1}).add(this.group)),u&&!w&&(P={stroke:!I&&$.lineColor||B.color||this.color||"#cccccc","stroke-width":$.lineWidth||0,fill:this.fillGraph&&this.color||"none"},v?P.dashstyle=v:$.linecap!=="square"&&(P["stroke-linecap"]=P["stroke-linejoin"]="round"),u[x](P).shadow(I<2&&$.shadow&&nt({filterUnits:"userSpaceOnUse"},st($.shadow)?$.shadow:{}))),u&&(u.startX=V.xMap,u.isArea=V.isArea)})}getGraphPath($,V,w){let B=this,I=B.options,P=[],u=[],x,v=I.step,T=($=$||B.points).reversed;return T&&$.reverse(),(v={right:1,center:2}[v]||v&&3)&&T&&(v=4-v),($=this.getValidPoints($,!1,!(I.connectNulls&&!V&&!w))).forEach(function(c,S){let G,E=c.plotX,k=c.plotY,o=$[S-1],g=c.isNull||typeof k!="number";(c.leftCliff||o&&o.rightCliff)&&!w&&(x=!0),g&&!lt(V)&&S>0?x=!I.connectNulls:g&&!V?x=!0:(S===0||x?G=[["M",c.plotX,c.plotY]]:B.getPointSpline?G=[B.getPointSpline($,c,S)]:v?(G=v===1?[["L",o.plotX,k]]:v===2?[["L",(o.plotX+E)/2,o.plotY],["L",(o.plotX+E)/2,k]]:[["L",E,o.plotY]]).push(["L",E,k]):G=[["L",E,k]],u.push(c.x),v&&(u.push(c.x),v===2&&u.push(c.x)),P.push.apply(P,G),x=!1)}),P.xMap=u,B.graphPath=P,P}}return dt.defaultOptions=nt(_.defaultOptions,{legendSymbol:"lineMarker"}),q.registerSeriesType("line",dt),dt}),yt(H,"Series/Area/AreaSeriesDefaults.js",[],function(){return{threshold:0,legendSymbol:"areaMarker"}}),yt(H,"Series/Area/AreaSeries.js",[H["Series/Area/AreaSeriesDefaults.js"],H["Core/Series/SeriesRegistry.js"],H["Core/Utilities.js"]],function(_,q,J){let{seriesTypes:{line:lt}}=q,{extend:nt,merge:st,objectEach:dt,pick:K}=J;class $ extends lt{drawGraph(){this.areaPath=[],super.drawGraph.apply(this);let{areaPath:w,options:B}=this;[this,...this.zones].forEach((I,P)=>{let u={},x=I.fillColor||B.fillColor,v=I.area,T=v?"animate":"attr";v?(v.endX=this.preventGraphAnimation?null:w.xMap,v.animate({d:w})):(u.zIndex=0,(v=I.area=this.chart.renderer.path(w).addClass("highcharts-area"+(P?` highcharts-zone-area-${P-1} `:" ")+(P&&I.className||"")).add(this.group)).isArea=!0),this.chart.styledMode||(u.fill=x||I.color||this.color,u["fill-opacity"]=x?1:B.fillOpacity??.75,v.css({pointerEvents:this.stickyTracking?"none":"auto"})),v[T](u),v.startX=w.xMap,v.shiftUnit=B.step?2:1})}getGraphPath(w){let B,I,P,u=lt.prototype.getGraphPath,x=this.options,v=x.stacking,T=this.yAxis,c=[],S=[],G=this.index,E=T.stacking.stacks[this.stackKey],k=x.threshold,o=Math.round(T.getThreshold(x.threshold)),g=K(x.connectNulls,v==="percent"),s=function(b,h,A){let Y=w[b],f=v&&E[Y.x].points[G],O=Y[A+"Null"]||0,j=Y[A+"Cliff"]||0,W,et,l=!0;j||O?(W=(O?f[0]:f[1])+j,et=f[0]+j,l=!!O):!v&&w[h]&&w[h].isNull&&(W=et=k),W!==void 0&&(S.push({plotX:B,plotY:W===null?o:T.getThreshold(W),isNull:l,isCliff:!0}),c.push({plotX:B,plotY:et===null?o:T.getThreshold(et),doCurve:!1}))};w=w||this.points,v&&(w=this.getStackPoints(w));for(let b=0,h=w.length;b<h;++b)v||(w[b].leftCliff=w[b].rightCliff=w[b].leftNull=w[b].rightNull=void 0),I=w[b].isNull,B=K(w[b].rectPlotX,w[b].plotX),P=v?K(w[b].yBottom,o):o,I&&!g||(g||s(b,b-1,"left"),I&&!v&&g||(S.push(w[b]),c.push({x:b,plotX:B,plotY:P})),g||s(b,b+1,"right"));let e=u.call(this,S,!0,!0);c.reversed=!0;let t=u.call(this,c,!0,!0),r=t[0];r&&r[0]==="M"&&(t[0]=["L",r[1],r[2]]);let a=e.concat(t);a.length&&a.push(["Z"]);let m=u.call(this,S,!1,g);return this.chart.series.length>1&&v&&S.some(b=>b.isCliff)&&(a.hasStackedCliffs=m.hasStackedCliffs=!0),a.xMap=e.xMap,this.areaPath=a,m}getStackPoints(w){let B=this,I=[],P=[],u=this.xAxis,x=this.yAxis,v=x.stacking.stacks[this.stackKey],T={},c=x.series,S=c.length,G=x.options.reversedStacks?1:-1,E=c.indexOf(B);if(w=w||this.points,this.options.stacking){for(let o=0;o<w.length;o++)w[o].leftNull=w[o].rightNull=void 0,T[w[o].x]=w[o];dt(v,function(o,g){o.total!==null&&P.push(g)}),P.sort(function(o,g){return o-g});let k=c.map(o=>o.visible);P.forEach(function(o,g){let s=0,e,t;if(T[o]&&!T[o].isNull)I.push(T[o]),[-1,1].forEach(function(r){let a=r===1?"rightNull":"leftNull",m=v[P[g+r]],b=0;if(m){let h=E;for(;h>=0&&h<S;){let A=c[h].index;!(e=m.points[A])&&(A===B.index?T[o][a]=!0:k[h]&&(t=v[o].points[A])&&(b-=t[1]-t[0])),h+=G}}T[o][r===1?"rightCliff":"leftCliff"]=b});else{let r=E;for(;r>=0&&r<S;){let a=c[r].index;if(e=v[o].points[a]){s=e[1];break}r+=G}s=K(s,0),s=x.translate(s,0,1,0,1),I.push({isNull:!0,plotX:u.translate(o,0,0,0,1),x:o,plotY:s,yBottom:s})}})}return I}}return $.defaultOptions=st(lt.defaultOptions,_),nt($.prototype,{singleStacks:!1}),q.registerSeriesType("area",$),$}),yt(H,"Series/Spline/SplineSeries.js",[H["Core/Series/SeriesRegistry.js"],H["Core/Utilities.js"]],function(_,q){let{line:J}=_.seriesTypes,{merge:lt,pick:nt}=q;class st extends J{getPointSpline(K,$,V){let w,B,I,P,u=$.plotX||0,x=$.plotY||0,v=K[V-1],T=K[V+1];function c(G){return G&&!G.isNull&&G.doCurve!==!1&&!$.isCliff}if(c(v)&&c(T)){let G=v.plotX||0,E=v.plotY||0,k=T.plotX||0,o=T.plotY||0,g=0;w=(1.5*u+G)/2.5,B=(1.5*x+E)/2.5,I=(1.5*u+k)/2.5,P=(1.5*x+o)/2.5,I!==w&&(g=(P-B)*(I-u)/(I-w)+x-P),B+=g,P+=g,B>E&&B>x?(B=Math.max(E,x),P=2*x-B):B<E&&B<x&&(B=Math.min(E,x),P=2*x-B),P>o&&P>x?(P=Math.max(o,x),B=2*x-P):P<o&&P<x&&(P=Math.min(o,x),B=2*x-P),$.rightContX=I,$.rightContY=P,$.controlPoints={low:[w,B],high:[I,P]}}let S=["C",nt(v.rightContX,v.plotX,0),nt(v.rightContY,v.plotY,0),nt(w,u,0),nt(B,x,0),u,x];return v.rightContX=v.rightContY=void 0,S}}return st.defaultOptions=lt(J.defaultOptions),_.registerSeriesType("spline",st),st}),yt(H,"Series/AreaSpline/AreaSplineSeries.js",[H["Series/Spline/SplineSeries.js"],H["Core/Series/SeriesRegistry.js"],H["Core/Utilities.js"]],function(_,q,J){let{area:lt,area:{prototype:nt}}=q.seriesTypes,{extend:st,merge:dt}=J;class K extends _{}return K.defaultOptions=dt(_.defaultOptions,lt.defaultOptions),st(K.prototype,{getGraphPath:nt.getGraphPath,getStackPoints:nt.getStackPoints,drawGraph:nt.drawGraph}),q.registerSeriesType("areaspline",K),K}),yt(H,"Series/Column/ColumnSeriesDefaults.js",[],function(){return{borderRadius:3,centerInCategory:!1,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{halo:!1,brightness:.1},select:{color:"#cccccc",borderColor:"#000000"}},dataLabels:{align:void 0,verticalAlign:void 0,y:void 0},startFromThreshold:!0,stickyTracking:!1,tooltip:{distance:6},threshold:0,borderColor:"#ffffff"}}),yt(H,"Series/Column/ColumnSeries.js",[H["Core/Animation/AnimationUtilities.js"],H["Core/Color/Color.js"],H["Series/Column/ColumnSeriesDefaults.js"],H["Core/Globals.js"],H["Core/Series/Series.js"],H["Core/Series/SeriesRegistry.js"],H["Core/Utilities.js"]],function(_,q,J,lt,nt,st,dt){let{animObject:K}=_,{parse:$}=q,{noop:V}=lt,{clamp:w,crisp:B,defined:I,extend:P,fireEvent:u,isArray:x,isNumber:v,merge:T,pick:c,objectEach:S}=dt;class G extends nt{animate(k){let o,g,s=this,e=this.yAxis,t=e.pos,r=e.reversed,a=s.options,{clipOffset:m,inverted:b}=this.chart,h={},A=b?"translateX":"translateY";k&&m?(h.scaleY=.001,g=w(e.toPixels(a.threshold),t,t+e.len),b?(g+=r?-Math.floor(m[0]):Math.ceil(m[2]),h.translateX=g-e.len):(g+=r?Math.ceil(m[0]):-Math.floor(m[2]),h.translateY=g),s.clipBox&&s.setClip(),s.group.attr(h)):(o=Number(s.group.attr(A)),s.group.animate({scaleY:1},P(K(s.options.animation),{step:function(Y,f){s.group&&(h[A]=o+f.pos*(t-o),s.group.attr(h))}})))}init(k,o){super.init.apply(this,arguments);let g=this;(k=g.chart).hasRendered&&k.series.forEach(function(s){s.type===g.type&&(s.isDirty=!0)})}getColumnMetrics(){var O,j;let k=this,o=k.options,g=k.xAxis,s=k.yAxis,e=g.options.reversedStacks,t=g.reversed&&!e||!g.reversed&&e,r={},a,m=0;o.grouping===!1?m=1:k.chart.series.forEach(function(W){let et,l=W.yAxis,n=W.options;W.type===k.type&&W.reserveSpace()&&s.len===l.len&&s.pos===l.pos&&(n.stacking&&n.stacking!=="group"?(r[a=W.stackKey]===void 0&&(r[a]=m++),et=r[a]):n.grouping!==!1&&(et=m++),W.columnIndex=et)});let b=Math.min(Math.abs(g.transA)*(!((O=g.brokenAxis)!=null&&O.hasBreaks)&&((j=g.ordinal)==null?void 0:j.slope)||o.pointRange||g.closestPointRange||g.tickInterval||1),g.len),h=b*o.groupPadding,A=(b-2*h)/(m||1),Y=Math.min(o.maxPointWidth||g.len,c(o.pointWidth,A*(1-2*o.pointPadding))),f=(k.columnIndex||0)+(t?1:0);return k.columnMetrics={width:Y,offset:(A-Y)/2+(h+f*A-b/2)*(t?-1:1),paddedWidth:A,columnCount:m},k.columnMetrics}crispCol(k,o,g,s){let e=this.borderWidth,t=this.chart.inverted;return s=B(o+s,e,t)-(o=B(o,e,t)),this.options.crisp&&(g=B(k+g,e)-(k=B(k,e))),{x:k,y:o,width:g,height:s}}adjustForMissingColumns(k,o,g,s){var e;if(!g.isNull&&s.columnCount>1){let t=this.xAxis.series.filter(b=>b.visible).map(b=>b.index),r=0,a=0;S((e=this.xAxis.stacking)==null?void 0:e.stacks,b=>{if(typeof g.x=="number"){let h=b[g.x.toString()];if(h&&x(h.points[this.index])){let A=Object.keys(h.points).filter(Y=>!Y.match(",")&&h.points[Y]&&h.points[Y].length>1).map(parseFloat).filter(Y=>t.indexOf(Y)!==-1).sort((Y,f)=>f-Y);r=A.indexOf(this.index),a=A.length}}}),r=this.xAxis.reversed?a-1-r:r;let m=(a-1)*s.paddedWidth+o;k=(g.plotX||0)+m/2-o-r*s.paddedWidth}return k}translate(){let k=this,o=k.chart,g=k.options,s=k.dense=k.closestPointRange*k.xAxis.transA<2,e=k.borderWidth=c(g.borderWidth,s?0:1),t=k.xAxis,r=k.yAxis,a=g.threshold,m=c(g.minPointLength,5),b=k.getColumnMetrics(),h=b.width,A=k.pointXOffset=b.offset,Y=k.dataMin,f=k.dataMax,O=k.translatedThreshold=r.getThreshold(a),j=k.barW=Math.max(h,1+2*e);g.pointPadding&&(j=Math.ceil(j)),nt.prototype.translate.apply(k),k.points.forEach(function(W){let et=c(W.yBottom,O),l=999+Math.abs(et),n=W.plotX||0,y=w(W.plotY,-l,r.len+l),D,i=Math.min(y,et),p=Math.max(y,et)-i,d=h,M=n+A,C=j;m&&Math.abs(p)<m&&(p=m,D=!r.reversed&&!W.negative||r.reversed&&W.negative,v(a)&&v(f)&&W.y===a&&f<=a&&(r.min||0)<a&&(Y!==f||(r.max||0)<=a)&&(D=!D,W.negative=!W.negative),i=Math.abs(i-O)>m?et-m:O-(D?m:0)),I(W.options.pointWidth)&&(M-=Math.round(((d=C=Math.ceil(W.options.pointWidth))-h)/2)),g.centerInCategory&&!g.stacking&&(M=k.adjustForMissingColumns(M,d,W,b)),W.barX=M,W.pointWidth=d,W.tooltipPos=o.inverted?[w(r.len+r.pos-o.plotLeft-y,r.pos-o.plotLeft,r.len+r.pos-o.plotLeft),t.len+t.pos-o.plotTop-M-C/2,p]:[t.left-o.plotLeft+M+C/2,w(y+r.pos-o.plotTop,r.pos-o.plotTop,r.len+r.pos-o.plotTop),p],W.shapeType=k.pointClass.prototype.shapeType||"roundedRect",W.shapeArgs=k.crispCol(M,W.isNull?O:i,C,W.isNull?0:p)}),u(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(k,o){let g=this.options,s=this.pointAttrToOptions||{},e=s.stroke||"borderColor",t=s["stroke-width"]||"borderWidth",r,a,m,b=k&&k.color||this.color,h=k&&k[e]||g[e]||b,A=k&&k.options.dashStyle||g.dashStyle,Y=k&&k[t]||g[t]||this[t]||0,f=c(k&&k.opacity,g.opacity,1);k&&this.zones.length&&(a=k.getZone(),b=k.options.color||a&&(a.color||k.nonZonedColor)||this.color,a&&(h=a.borderColor||h,A=a.dashStyle||A,Y=a.borderWidth||Y)),o&&k&&(m=(r=T(g.states[o],k.options.states&&k.options.states[o]||{})).brightness,b=r.color||m!==void 0&&$(b).brighten(r.brightness).get()||b,h=r[e]||h,Y=r[t]||Y,A=r.dashStyle||A,f=c(r.opacity,f));let O={fill:b,stroke:h,"stroke-width":Y,opacity:f};return A&&(O.dashstyle=A),O}drawPoints(k=this.points){let o,g=this,s=this.chart,e=g.options,t=s.renderer,r=e.animationLimit||250;k.forEach(function(a){let m=a.plotY,b=a.graphic,h=!!b,A=b&&s.pointCount<r?"animate":"attr";v(m)&&a.y!==null?(o=a.shapeArgs,b&&a.hasNewShapeType()&&(b=b.destroy()),g.enabledDataSorting&&(a.startXPos=g.xAxis.reversed?-(o&&o.width||0):g.xAxis.width),!b&&(a.graphic=b=t[a.shapeType](o).add(a.group||g.group),b&&g.enabledDataSorting&&s.hasRendered&&s.pointCount<r&&(b.attr({x:a.startXPos}),h=!0,A="animate")),b&&h&&b[A](T(o)),s.styledMode||b[A](g.pointAttribs(a,a.selected&&"select")).shadow(a.allowShadow!==!1&&e.shadow),b&&(b.addClass(a.getClassName(),!0),b.attr({visibility:a.visible?"inherit":"hidden"}))):b&&(a.graphic=b.destroy())})}drawTracker(k=this.points){let o,g=this,s=g.chart,e=s.pointer,t=function(r){let a=e==null?void 0:e.getPointFromEvent(r);e&&a&&g.options.enableMouseTracking&&(e.isDirectTouch=!0,a.onMouseOver(r))};k.forEach(function(r){o=x(r.dataLabels)?r.dataLabels:r.dataLabel?[r.dataLabel]:[],r.graphic&&(r.graphic.element.point=r),o.forEach(function(a){(a.div||a.element).point=r})}),g._hasTracking||(g.trackerGroups.forEach(function(r){g[r]&&(g[r].addClass("highcharts-tracker").on("mouseover",t).on("mouseout",function(a){e==null||e.onTrackerMouseOut(a)}).on("touchstart",t),!s.styledMode&&g.options.cursor&&g[r].css({cursor:g.options.cursor}))}),g._hasTracking=!0),u(this,"afterDrawTracker")}remove(){let k=this,o=k.chart;o.hasRendered&&o.series.forEach(function(g){g.type===k.type&&(g.isDirty=!0)}),nt.prototype.remove.apply(k,arguments)}}return G.defaultOptions=T(nt.defaultOptions,J),P(G.prototype,{directTouch:!0,getSymbol:V,negStacks:!0,trackerGroups:["group","dataLabelsGroup"]}),st.registerSeriesType("column",G),G}),yt(H,"Core/Series/DataLabel.js",[H["Core/Animation/AnimationUtilities.js"],H["Core/Templating.js"],H["Core/Utilities.js"]],function(_,q,J){var lt;let{getDeferredAnimation:nt}=_,{format:st}=q,{defined:dt,extend:K,fireEvent:$,isArray:V,isString:w,merge:B,objectEach:I,pick:P,pInt:u,splat:x}=J;return function(v){function T(){return g(this).some(e=>e==null?void 0:e.enabled)}function c(e,t,r,a,m){var y;let{chart:b,enabledDataSorting:h}=this,A=this.isCartesian&&b.inverted,Y=e.plotX,f=e.plotY,O=r.rotation||0,j=dt(Y)&&dt(f)&&b.isInsidePlot(Y,Math.round(f),{inverted:A,paneCoordinates:!0,series:this}),W=O===0&&P(r.overflow,h?"none":"justify")==="justify",et=this.visible&&e.visible!==!1&&dt(Y)&&(e.series.forceDL||h&&!W||j||P(r.inside,!!this.options.stacking)&&a&&b.isInsidePlot(Y,A?a.x+1:a.y+a.height-1,{inverted:A,paneCoordinates:!0,series:this})),l=e.pos();if(et&&l){var n;let D=t.getBBox(),i=t.getBBox(void 0,0),p={right:1,center:.5}[r.align||0]||0,d={bottom:1,middle:.5}[r.verticalAlign||0]||0;if(a=K({x:l[0],y:Math.round(l[1]),width:0,height:0},a||{}),r.alignTo==="plotEdges"&&this.isCartesian&&(a[A?"x":"y"]=0,a[A?"width":"height"]=((y=this.yAxis)==null?void 0:y.len)||0),K(r,{width:D.width,height:D.height}),n=a,h&&this.xAxis&&!W&&this.setDataLabelStartPos(e,t,m,j,n),t.align(B(r,{width:i.width,height:i.height}),!1,a,!1),t.alignAttr.x+=p*(i.width-D.width),t.alignAttr.y+=d*(i.height-D.height),t[t.placed?"animate":"attr"]({x:t.alignAttr.x+(D.width-i.width)/2,y:t.alignAttr.y+(D.height-i.height)/2,rotationOriginX:(t.width||0)/2,rotationOriginY:(t.height||0)/2}),W&&a.height>=0)this.justifyDataLabel(t,r,t.alignAttr,D,a,m);else if(P(r.crop,!0)){let{x:M,y:C}=t.alignAttr;et=b.isInsidePlot(M,C,{paneCoordinates:!0,series:this})&&b.isInsidePlot(M+D.width-1,C+D.height-1,{paneCoordinates:!0,series:this})}r.shape&&!O&&t[m?"attr":"animate"]({anchorX:l[0],anchorY:l[1]})}m&&h&&(t.placed=!1),et||h&&!W?(t.show(),t.placed=!0):(t.hide(),t.placed=!1)}function S(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",this.options.dataLabels.zIndex||6)}function G(e){let t=this.hasRendered||0,r=this.initDataLabelsGroup().attr({opacity:+t});return!t&&r&&(this.visible&&r.show(),this.options.animation?r.animate({opacity:1},e):r.attr({opacity:1})),r}function E(e){var et;let t;e=e||this.points;let r=this,a=r.chart,m=r.options,b=a.renderer,{backgroundColor:h,plotBackgroundColor:A}=a.options.chart,Y=b.getContrast(w(A)&&A||w(h)&&h||"#000000"),f=g(r),{animation:O,defer:j}=f[0],W=j?nt(a,O,r):{defer:0,duration:0};$(this,"drawDataLabels"),(et=r.hasDataLabels)!=null&&et.call(r)&&(t=this.initDataLabels(W),e.forEach(l=>{var D,i;let n=l.dataLabels||[];x(o(f,l.dlOptions||((D=l.options)==null?void 0:D.dataLabels))).forEach((p,d)=>{let M=p.enabled&&(l.visible||l.dataLabelOnHidden)&&(!l.isNull||l.dataLabelOnNull)&&function(it,tt){let ot=tt.filter;if(ot){let ht=ot.operator,ct=it[ot.property],ut=ot.value;return ht===">"&&ct>ut||ht==="<"&&ct<ut||ht===">="&&ct>=ut||ht==="<="&&ct<=ut||ht==="=="&&ct==ut||ht==="==="&&ct===ut||ht==="!="&&ct!=ut||ht==="!=="&&ct!==ut}return!0}(l,p),{backgroundColor:C,borderColor:R,distance:X,style:U={}}=p,Z,at,rt,z,L={},N=n[d],F=!N,Q;M&&(at=P(p[l.formatPrefix+"Format"],p.format),Z=l.getLabelConfig(),rt=dt(at)?st(at,Z,a):(p[l.formatPrefix+"Formatter"]||p.formatter).call(Z,p),z=p.rotation,!a.styledMode&&(U.color=P(p.color,U.color,w(r.color)?r.color:void 0,"#000000"),U.color==="contrast"?(C!=="none"&&(Q=C),l.contrastColor=b.getContrast(Q!=="auto"&&Q||l.color||r.color),U.color=Q||!dt(X)&&p.inside||0>u(X||0)||m.stacking?l.contrastColor:Y):delete l.contrastColor,m.cursor&&(U.cursor=m.cursor)),L={r:p.borderRadius||0,rotation:z,padding:p.padding,zIndex:1},a.styledMode||(L.fill=C==="auto"?l.color:C,L.stroke=R==="auto"?l.color:R,L["stroke-width"]=p.borderWidth),I(L,(it,tt)=>{it===void 0&&delete L[tt]})),!N||M&&dt(rt)&&!!N.div==!!p.useHTML&&(N.rotation&&p.rotation||N.rotation===p.rotation)||(N=void 0,F=!0),M&&dt(rt)&&(N?L.text=rt:(N=b.label(rt,0,0,p.shape,void 0,void 0,p.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+l.colorIndex+" "+(p.className||"")+(p.useHTML?" highcharts-tracker":"")),N&&(N.options=p,N.attr(L),a.styledMode?U.width&&N.css({width:U.width,textOverflow:U.textOverflow}):N.css(U).shadow(p.shadow),$(N,"beforeAddingDataLabel",{labelOptions:p,point:l}),N.added||N.add(t),r.alignDataLabel(l,N,p,void 0,F),N.isActive=!0,n[d]&&n[d]!==N&&n[d].destroy(),n[d]=N))});let y=n.length;for(;y--;)n[y]&&n[y].isActive?n[y].isActive=!1:((i=n[y])==null||i.destroy(),n.splice(y,1));l.dataLabel=n[0],l.dataLabels=n})),$(this,"afterDrawDataLabels")}function k(e,t,r,a,m,b){let h=this.chart,A=t.align,Y=t.verticalAlign,f=e.box?0:e.padding||0,O=h.inverted?this.yAxis:this.xAxis,j=O?O.left-h.plotLeft:0,W=h.inverted?this.xAxis:this.yAxis,et=W?W.top-h.plotTop:0,{x:l=0,y:n=0}=t,y,D;return(y=(r.x||0)+f+j)<0&&(A==="right"&&l>=0?(t.align="left",t.inside=!0):l-=y,D=!0),(y=(r.x||0)+a.width-f+j)>h.plotWidth&&(A==="left"&&l<=0?(t.align="right",t.inside=!0):l+=h.plotWidth-y,D=!0),(y=r.y+f+et)<0&&(Y==="bottom"&&n>=0?(t.verticalAlign="top",t.inside=!0):n-=y,D=!0),(y=(r.y||0)+a.height-f+et)>h.plotHeight&&(Y==="top"&&n<=0?(t.verticalAlign="bottom",t.inside=!0):n+=h.plotHeight-y,D=!0),D&&(t.x=l,t.y=n,e.placed=!b,e.align(t,void 0,m)),D}function o(e,t){let r=[],a;if(V(e)&&!V(t))r=e.map(function(m){return B(m,t)});else if(V(t)&&!V(e))r=t.map(function(m){return B(e,m)});else if(V(e)||V(t)){if(V(e)&&V(t))for(a=Math.max(e.length,t.length);a--;)r[a]=B(e[a],t[a])}else r=B(e,t);return r}function g(e){var r,a;let t=e.chart.options.plotOptions;return x(o(o((r=t==null?void 0:t.series)==null?void 0:r.dataLabels,(a=t==null?void 0:t[e.type])==null?void 0:a.dataLabels),e.options.dataLabels))}function s(e,t,r,a,m){let b=this.chart,h=b.inverted,A=this.xAxis,Y=A.reversed,f=((h?t.height:t.width)||0)/2,O=e.pointWidth,j=O?O/2:0;t.startXPos=h?m.x:Y?-f-j:A.width-f+j,t.startYPos=h?Y?this.yAxis.height-f+j:-f-j:m.y,a?t.visibility==="hidden"&&(t.show(),t.attr({opacity:0}).animate({opacity:1})):t.attr({opacity:1}).animate({opacity:0},void 0,t.hide),b.hasRendered&&(r&&t.attr({x:t.startXPos,y:t.startYPos}),t.placed=!0)}v.compose=function(e){let t=e.prototype;t.initDataLabels||(t.initDataLabels=G,t.initDataLabelsGroup=S,t.alignDataLabel=c,t.drawDataLabels=E,t.justifyDataLabel=k,t.setDataLabelStartPos=s,t.hasDataLabels=T)}}(lt||(lt={})),lt}),yt(H,"Series/Column/ColumnDataLabel.js",[H["Core/Series/DataLabel.js"],H["Core/Globals.js"],H["Core/Series/SeriesRegistry.js"],H["Core/Utilities.js"]],function(_,q,J,lt){var nt;let{composed:st}=q,{series:dt}=J,{merge:K,pick:$,pushUnique:V}=lt;return function(w){function B(I,P,u,x,v){let T=this.chart.inverted,c=I.series,S=(c.xAxis?c.xAxis.len:this.chart.plotSizeX)||0,G=(c.yAxis?c.yAxis.len:this.chart.plotSizeY)||0,E=I.dlBox||I.shapeArgs,k=$(I.below,I.plotY>$(this.translatedThreshold,G)),o=$(u.inside,!!this.options.stacking);if(E){if(x=K(E),!(u.overflow==="allow"&&u.crop===!1)){x.y<0&&(x.height+=x.y,x.y=0);let g=x.y+x.height-G;g>0&&g<x.height-1&&(x.height-=g)}T&&(x={x:G-x.y-x.height,y:S-x.x-x.width,width:x.height,height:x.width}),o||(T?(x.x+=k?0:x.width,x.width=0):(x.y+=k?x.height:0,x.height=0))}u.align=$(u.align,!T||o?"center":k?"right":"left"),u.verticalAlign=$(u.verticalAlign,T||o?"middle":k?"top":"bottom"),dt.prototype.alignDataLabel.call(this,I,P,u,x,v),u.inside&&I.contrastColor&&P.css({color:I.contrastColor})}w.compose=function(I){_.compose(dt),V(st,"ColumnDataLabel")&&(I.prototype.alignDataLabel=B)}}(nt||(nt={})),nt}),yt(H,"Series/Bar/BarSeries.js",[H["Series/Column/ColumnSeries.js"],H["Core/Series/SeriesRegistry.js"],H["Core/Utilities.js"]],function(_,q,J){let{extend:lt,merge:nt}=J;class st extends _{}return st.defaultOptions=nt(_.defaultOptions,{}),lt(st.prototype,{inverted:!0}),q.registerSeriesType("bar",st),st}),yt(H,"Series/Scatter/ScatterSeriesDefaults.js",[],function(){return{lineWidth:0,findNearestPointBy:"xy",jitter:{x:0,y:0},marker:{enabled:!0},tooltip:{headerFormat:'<span style="color:{point.color}">●</span> <span style="font-size: 0.8em"> {series.name}</span><br/>',pointFormat:"x: <b>{point.x}</b><br/>y: <b>{point.y}</b><br/>"}}}),yt(H,"Series/Scatter/ScatterSeries.js",[H["Series/Scatter/ScatterSeriesDefaults.js"],H["Core/Series/SeriesRegistry.js"],H["Core/Utilities.js"]],function(_,q,J){let{column:lt,line:nt}=q.seriesTypes,{addEvent:st,extend:dt,merge:K}=J;class $ extends nt{applyJitter(){let w=this,B=this.options.jitter,I=this.points.length;B&&this.points.forEach(function(P,u){["x","y"].forEach(function(x,v){if(B[x]&&!P.isNull){let T=`plot${x.toUpperCase()}`,c=w[`${x}Axis`],S=B[x]*c.transA;if(c&&!c.logarithmic){let G=Math.max(0,(P[T]||0)-S),E=Math.min(c.len,(P[T]||0)+S);P[T]=G+(E-G)*function(k){let o=1e4*Math.sin(k);return o-Math.floor(o)}(u+v*I),x==="x"&&(P.clientX=P.plotX)}}})})}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}}return $.defaultOptions=K(nt.defaultOptions,_),dt($.prototype,{drawTracker:lt.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),st($,"afterTranslate",function(){this.applyJitter()}),q.registerSeriesType("scatter",$),$}),yt(H,"Series/CenteredUtilities.js",[H["Core/Globals.js"],H["Core/Series/Series.js"],H["Core/Utilities.js"]],function(_,q,J){var lt,nt;let{deg2rad:st}=_,{fireEvent:dt,isNumber:K,pick:$,relativeLength:V}=J;return(nt=lt||(lt={})).getCenter=function(){let w=this.options,B=this.chart,I=2*(w.slicedOffset||0),P=B.plotWidth-2*I,u=B.plotHeight-2*I,x=w.center,v=Math.min(P,u),T=w.thickness,c,S=w.size,G=w.innerSize||0,E,k;typeof S=="string"&&(S=parseFloat(S)),typeof G=="string"&&(G=parseFloat(G));let o=[$(x[0],"50%"),$(x[1],"50%"),$(S&&S<0?void 0:w.size,"100%"),$(G&&G<0?void 0:w.innerSize||0,"0%")];for(!B.angular||this instanceof q||(o[3]=0),E=0;E<4;++E)k=o[E],c=E<2||E===2&&/%$/.test(k),o[E]=V(k,[P,u,v,o[2]][E])+(c?I:0);return o[3]>o[2]&&(o[3]=o[2]),K(T)&&2*T<o[2]&&T>0&&(o[3]=o[2]-2*T),dt(this,"afterGetCenter",{positions:o}),o},nt.getStartAndEndRadians=function(w,B){let I=K(w)?w:0,P=K(B)&&B>I&&B-I<360?B:I+360;return{start:st*(I+-90),end:st*(P+-90)}},lt}),yt(H,"Series/Pie/PiePoint.js",[H["Core/Animation/AnimationUtilities.js"],H["Core/Series/Point.js"],H["Core/Utilities.js"]],function(_,q,J){let{setAnimation:lt}=_,{addEvent:nt,defined:st,extend:dt,isNumber:K,pick:$,relativeLength:V}=J;class w extends q{getConnectorPath(I){let P=I.dataLabelPosition,u=I.options||{},x=u.connectorShape,v=this.connectorShapes[x]||x;return P&&v.call(this,{...P.computed,alignment:P.alignment},P.connectorPosition,u)||[]}getTranslate(){return this.sliced&&this.slicedTranslation||{translateX:0,translateY:0}}haloPath(I){let P=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(P.x,P.y,P.r+I,P.r+I,{innerR:P.r-1,start:P.start,end:P.end,borderRadius:P.borderRadius})}constructor(I,P,u){super(I,P,u),this.half=0,this.name??(this.name="Slice");let x=v=>{this.slice(v.type==="select")};nt(this,"select",x),nt(this,"unselect",x)}isValid(){return K(this.y)&&this.y>=0}setVisible(I,P=!0){I!==this.visible&&this.update({visible:I??!this.visible},P,void 0,!1)}slice(I,P,u){let x=this.series;lt(u,x.chart),P=$(P,!0),this.sliced=this.options.sliced=I=st(I)?I:!this.sliced,x.options.data[x.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}return dt(w.prototype,{connectorShapes:{fixedOffset:function(B,I,P){let u=I.breakAt,x=I.touchingSliceAt,v=P.softConnector?["C",B.x+(B.alignment==="left"?-5:5),B.y,2*u.x-x.x,2*u.y-x.y,u.x,u.y]:["L",u.x,u.y];return[["M",B.x,B.y],v,["L",x.x,x.y]]},straight:function(B,I){let P=I.touchingSliceAt;return[["M",B.x,B.y],["L",P.x,P.y]]},crookedLine:function(B,I,P){let{breakAt:u,touchingSliceAt:x}=I,{series:v}=this,[T,c,S]=v.center,G=S/2,{plotLeft:E,plotWidth:k}=v.chart,o=B.alignment==="left",{x:g,y:s}=B,e=u.x;if(P.crookDistance){let r=V(P.crookDistance,1);e=o?T+G+(k+E-T-G)*(1-r):E+(T-G)*r}else e=T+(c-s)*Math.tan((this.angle||0)-Math.PI/2);let t=[["M",g,s]];return(o?e<=g&&e>=u.x:e>=g&&e<=u.x)&&t.push(["L",e,s]),t.push(["L",u.x,u.y],["L",x.x,x.y]),t}}}),w}),yt(H,"Series/Pie/PieSeriesDefaults.js",[],function(){return{borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{connectorPadding:5,connectorShape:"crookedLine",crookDistance:void 0,distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}}),yt(H,"Series/Pie/PieSeries.js",[H["Series/CenteredUtilities.js"],H["Series/Column/ColumnSeries.js"],H["Core/Globals.js"],H["Series/Pie/PiePoint.js"],H["Series/Pie/PieSeriesDefaults.js"],H["Core/Series/Series.js"],H["Core/Series/SeriesRegistry.js"],H["Core/Renderer/SVG/Symbols.js"],H["Core/Utilities.js"]],function(_,q,J,lt,nt,st,dt,K,$){let{getStartAndEndRadians:V}=_,{noop:w}=J,{clamp:B,extend:I,fireEvent:P,merge:u,pick:x}=$;class v extends st{animate(c){let S=this,G=S.points,E=S.startAngleRad;c||G.forEach(function(k){let o=k.graphic,g=k.shapeArgs;o&&g&&(o.attr({r:x(k.startR,S.center&&S.center[3]/2),start:E,end:E}),o.animate({r:g.r,start:g.start,end:g.end},S.options.animation))})}drawEmpty(){let c,S,G=this.startAngleRad,E=this.endAngleRad,k=this.options;this.total===0&&this.center?(c=this.center[0],S=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(c,S,this.center[1]/2,0,G,E).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:K.arc(c,S,this.center[2]/2,0,{start:G,end:E,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":k.borderWidth,fill:k.fillColor||"none",stroke:k.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let c=this.chart.renderer;this.points.forEach(function(S){S.graphic&&S.hasNewShapeType()&&(S.graphic=S.graphic.destroy()),S.graphic||(S.graphic=c[S.shapeType](S.shapeArgs).add(S.series.group),S.delayedRendering=!0)})}generatePoints(){super.generatePoints(),this.updateTotals()}getX(c,S,G,E){let k=this.center,o=this.radii?this.radii[G.index]||0:k[2]/2,g=E.dataLabelPosition,s=(g==null?void 0:g.distance)||0,e=Math.asin(B((c-k[1])/(o+s),-1,1));return k[0]+Math.cos(e)*(o+s)*(S?-1:1)+(s>0?(S?-1:1)*(E.padding||0):0)}hasData(){return!!this.processedXData.length}redrawPoints(){let c,S,G,E,k=this,o=k.chart;this.drawEmpty(),k.group&&!o.styledMode&&k.group.shadow(k.options.shadow),k.points.forEach(function(g){let s={};S=g.graphic,!g.isNull&&S?(E=g.shapeArgs,c=g.getTranslate(),o.styledMode||(G=k.pointAttribs(g,g.selected&&"select")),g.delayedRendering?(S.setRadialReference(k.center).attr(E).attr(c),o.styledMode||S.attr(G).attr({"stroke-linejoin":"round"}),g.delayedRendering=!1):(S.setRadialReference(k.center),o.styledMode||u(!0,s,G),u(!0,s,E,c),S.animate(s)),S.attr({visibility:g.visible?"inherit":"hidden"}),S.addClass(g.getClassName(),!0)):S&&(g.graphic=S.destroy())})}sortByAngle(c,S){c.sort(function(G,E){return G.angle!==void 0&&(E.angle-G.angle)*S})}translate(c){P(this,"translate"),this.generatePoints();let S=this.options,G=S.slicedOffset,E=V(S.startAngle,S.endAngle),k=this.startAngleRad=E.start,o=(this.endAngleRad=E.end)-k,g=this.points,s=S.ignoreHiddenPoint,e=g.length,t,r,a,m,b,h,A,Y=0;for(c||(this.center=c=this.getCenter()),h=0;h<e;h++){A=g[h],t=k+Y*o,A.isValid()&&(!s||A.visible)&&(Y+=A.percentage/100),r=k+Y*o;let f={x:c[0],y:c[1],r:c[2]/2,innerR:c[3]/2,start:Math.round(1e3*t)/1e3,end:Math.round(1e3*r)/1e3};A.shapeType="arc",A.shapeArgs=f,(a=(r+t)/2)>1.5*Math.PI?a-=2*Math.PI:a<-Math.PI/2&&(a+=2*Math.PI),A.slicedTranslation={translateX:Math.round(Math.cos(a)*G),translateY:Math.round(Math.sin(a)*G)},m=Math.cos(a)*c[2]/2,b=Math.sin(a)*c[2]/2,A.tooltipPos=[c[0]+.7*m,c[1]+.7*b],A.half=a<-Math.PI/2||a>Math.PI/2?1:0,A.angle=a}P(this,"afterTranslate")}updateTotals(){let c=this.points,S=c.length,G=this.options.ignoreHiddenPoint,E,k,o=0;for(E=0;E<S;E++)(k=c[E]).isValid()&&(!G||k.visible)&&(o+=k.y);for(E=0,this.total=o;E<S;E++)(k=c[E]).percentage=o>0&&(k.visible||!G)?k.y/o*100:0,k.total=o}}return v.defaultOptions=u(st.defaultOptions,nt),I(v.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:q.prototype.drawTracker,getCenter:_.getCenter,getSymbol:w,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointAttribs:q.prototype.pointAttribs,pointClass:lt,requireSorting:!1,searchPoint:w,trackerGroups:["group","dataLabelsGroup"]}),dt.registerSeriesType("pie",v),v}),yt(H,"Series/Pie/PieDataLabel.js",[H["Core/Series/DataLabel.js"],H["Core/Globals.js"],H["Core/Renderer/RendererUtilities.js"],H["Core/Series/SeriesRegistry.js"],H["Core/Utilities.js"]],function(_,q,J,lt,nt){var st;let{composed:dt,noop:K}=q,{distribute:$}=J,{series:V}=lt,{arrayMax:w,clamp:B,defined:I,pick:P,pushUnique:u,relativeLength:x}=nt;return function(v){let T={radialDistributionY:function(k,o){var g;return(((g=o.dataLabelPosition)==null?void 0:g.top)||0)+k.distributeBox.pos},radialDistributionX:function(k,o,g,s,e){let t=e.dataLabelPosition;return k.getX(g<((t==null?void 0:t.top)||0)+2||g>((t==null?void 0:t.bottom)||0)-2?s:g,o.half,o,e)},justify:function(k,o,g,s){var e;return s[0]+(k.half?-1:1)*(g+(((e=o.dataLabelPosition)==null?void 0:e.distance)||0))},alignToPlotEdges:function(k,o,g,s){let e=k.getBBox().width;return o?e+s:g-e-s},alignToConnectors:function(k,o,g,s){let e=0,t;return k.forEach(function(r){(t=r.dataLabel.getBBox().width)>e&&(e=t)}),o?e+s:g-e-s}};function c(k,o){let{center:g,options:s}=this,e=g[2]/2,t=k.angle||0,r=Math.cos(t),a=Math.sin(t),m=g[0]+r*e,b=g[1]+a*e,h=Math.min((s.slicedOffset||0)+(s.borderWidth||0),o/5);return{natural:{x:m+r*o,y:b+a*o},computed:{},alignment:o<0?"center":k.half?"right":"left",connectorPosition:{breakAt:{x:m+r*h,y:b+a*h},touchingSliceAt:{x:m,y:b}},distance:o}}function S(){var et;let k=this,o=k.points,g=k.chart,s=g.plotWidth,e=g.plotHeight,t=g.plotLeft,r=Math.round(g.chartWidth/3),a=k.center,m=a[2]/2,b=a[1],h=[[],[]],A=[0,0,0,0],Y=k.dataLabelPositioners,f,O,j,W=0;k.visible&&((et=k.hasDataLabels)!=null&&et.call(k))&&(o.forEach(l=>{(l.dataLabels||[]).forEach(n=>{n.shortened&&(n.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),n.shortened=!1)})}),V.prototype.drawDataLabels.apply(k),o.forEach(l=>{(l.dataLabels||[]).forEach((n,y)=>{var d;let D=a[2]/2,i=n.options,p=x((i==null?void 0:i.distance)||0,D);y===0&&h[l.half].push(l),!I((d=i==null?void 0:i.style)==null?void 0:d.width)&&n.getBBox().width>r&&(n.css({width:Math.round(.7*r)+"px"}),n.shortened=!0),n.dataLabelPosition=this.getDataLabelPosition(l,p),W=Math.max(W,p)})}),h.forEach((l,n)=>{let y=l.length,D=[],i,p,d=0,M;y&&(k.sortByAngle(l,n-.5),W>0&&(i=Math.max(0,b-m-W),p=Math.min(b+m+W,g.plotHeight),l.forEach(C=>{(C.dataLabels||[]).forEach(R=>{var U;let X=R.dataLabelPosition;X&&X.distance>0&&(X.top=Math.max(0,b-m-X.distance),X.bottom=Math.min(b+m+X.distance,g.plotHeight),d=R.getBBox().height||21,R.lineHeight=g.renderer.fontMetrics(R.text||R).h+2*R.padding,C.distributeBox={target:(((U=R.dataLabelPosition)==null?void 0:U.natural.y)||0)-X.top+R.lineHeight/2,size:d,rank:C.y},D.push(C.distributeBox))})}),$(D,M=p+d-i,M/5)),l.forEach(C=>{(C.dataLabels||[]).forEach(R=>{let X=R.options||{},U=C.distributeBox,Z=R.dataLabelPosition,at=(Z==null?void 0:Z.natural.y)||0,rt=X.connectorPadding||0,z=R.lineHeight||21,L=(z-R.getBBox().height)/2,N=0,F=at,Q="inherit";if(Z){if(D&&I(U)&&Z.distance>0&&(U.pos===void 0?Q="hidden":(j=U.size,F=Y.radialDistributionY(C,R))),X.justify)N=Y.justify(C,R,m,a);else switch(X.alignTo){case"connectors":N=Y.alignToConnectors(l,n,s,t);break;case"plotEdges":N=Y.alignToPlotEdges(R,n,s,t);break;default:N=Y.radialDistributionX(k,C,F-L,at,R)}if(Z.attribs={visibility:Q,align:Z.alignment},Z.posAttribs={x:N+(X.x||0)+({left:rt,right:-rt}[Z.alignment]||0),y:F+(X.y||0)-z/2},Z.computed.x=N,Z.computed.y=F-L,P(X.crop,!0)){let it;N-(O=R.getBBox().width)<rt&&n===1?(it=Math.round(O-N+rt),A[3]=Math.max(it,A[3])):N+O>s-rt&&n===0&&(it=Math.round(N+O-s+rt),A[1]=Math.max(it,A[1])),F-j/2<0?A[0]=Math.max(Math.round(-F+j/2),A[0]):F+j/2>e&&(A[2]=Math.max(Math.round(F+j/2-e),A[2])),Z.sideOverflow=it}}})}))}),(w(A)===0||this.verifyDataLabelOverflow(A))&&(this.placeDataLabels(),this.points.forEach(l=>{(l.dataLabels||[]).forEach(n=>{var p;let{connectorColor:y,connectorWidth:D=1}=n.options||{},i=n.dataLabelPosition;if(D){let d;f=n.connector,i&&i.distance>0?(d=!f,f||(n.connector=f=g.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+l.colorIndex+(l.className?" "+l.className:"")).add(k.dataLabelsGroup)),g.styledMode||f.attr({"stroke-width":D,stroke:y||l.color||"#666666"}),f[d?"attr":"animate"]({d:l.getConnectorPath(n)}),f.attr({visibility:(p=i.attribs)==null?void 0:p.visibility})):f&&(n.connector=f.destroy())}})})))}function G(){this.points.forEach(k=>{(k.dataLabels||[]).forEach(o=>{var s;let g=o.dataLabelPosition;g?(g.sideOverflow&&(o.css({width:Math.max(o.getBBox().width-g.sideOverflow,0)+"px",textOverflow:(((s=o.options)==null?void 0:s.style)||{}).textOverflow||"ellipsis"}),o.shortened=!0),o.attr(g.attribs),o[o.moved?"animate":"attr"](g.posAttribs),o.moved=!0):o&&o.attr({y:-9999})}),delete k.distributeBox},this)}function E(k){let o=this.center,g=this.options,s=g.center,e=g.minSize||80,t=e,r=g.size!==null;return!r&&(s[0]!==null?t=Math.max(o[2]-Math.max(k[1],k[3]),e):(t=Math.max(o[2]-k[1]-k[3],e),o[0]+=(k[3]-k[1])/2),s[1]!==null?t=B(t,e,o[2]-Math.max(k[0],k[2])):(t=B(t,e,o[2]-k[0]-k[2]),o[1]+=(k[0]-k[2])/2),t<o[2]?(o[2]=t,o[3]=Math.min(g.thickness?Math.max(0,t-2*g.thickness):Math.max(0,x(g.innerSize||0,t)),t),this.translate(o),this.drawDataLabels&&this.drawDataLabels()):r=!0),r}v.compose=function(k){if(_.compose(V),u(dt,"PieDataLabel")){let o=k.prototype;o.dataLabelPositioners=T,o.alignDataLabel=K,o.drawDataLabels=S,o.getDataLabelPosition=c,o.placeDataLabels=G,o.verifyDataLabelOverflow=E}}}(st||(st={})),st}),yt(H,"Core/Geometry/GeometryUtilities.js",[],function(){var _,q;return(q=_||(_={})).getCenterOfPoints=function(J){let lt=J.reduce((nt,st)=>(nt.x+=st.x,nt.y+=st.y,nt),{x:0,y:0});return{x:lt.x/J.length,y:lt.y/J.length}},q.getDistanceBetweenPoints=function(J,lt){return Math.sqrt(Math.pow(lt.x-J.x,2)+Math.pow(lt.y-J.y,2))},q.getAngleBetweenPoints=function(J,lt){return Math.atan2(lt.x-J.x,lt.y-J.y)},q.pointInPolygon=function({x:J,y:lt},nt){let st=nt.length,dt,K,$=!1;for(dt=0,K=st-1;dt<st;K=dt++){let[V,w]=nt[dt],[B,I]=nt[K];w>lt!=I>lt&&J<(B-V)*(lt-w)/(I-w)+V&&($=!$)}return $},_}),yt(H,"Extensions/OverlappingDataLabels.js",[H["Core/Geometry/GeometryUtilities.js"],H["Core/Utilities.js"]],function(_,q){let{pointInPolygon:J}=_,{addEvent:lt,fireEvent:nt,objectEach:st,pick:dt}=q;function K(w){let B=w.length,I=(G,E)=>!(E.x>=G.x+G.width||E.x+E.width<=G.x||E.y>=G.y+G.height||E.y+E.height<=G.y),P=(G,E)=>{for(let k of G)if(J({x:k[0],y:k[1]},E))return!0;return!1},u,x,v,T,c,S=!1;for(let G=0;G<B;G++)(u=w[G])&&(u.oldOpacity=u.opacity,u.newOpacity=1,u.absoluteBox=function(E){var k,o;if(E&&(!E.alignAttr||E.placed)){let g=E.box?0:E.padding||0,s=E.alignAttr||{x:E.attr("x"),y:E.attr("y")},e=E.getBBox();return E.width=e.width,E.height=e.height,{x:s.x+(((k=E.parentGroup)==null?void 0:k.translateX)||0)+g,y:s.y+(((o=E.parentGroup)==null?void 0:o.translateY)||0)+g,width:(E.width||0)-2*g,height:(E.height||0)-2*g,polygon:e==null?void 0:e.polygon}}}(u));w.sort((G,E)=>(E.labelrank||0)-(G.labelrank||0));for(let G=0;G<B;++G){T=(x=w[G])&&x.absoluteBox;let E=T==null?void 0:T.polygon;for(let k=G+1;k<B;++k){c=(v=w[k])&&v.absoluteBox;let o=!1;if(T&&c&&x!==v&&x.newOpacity!==0&&v.newOpacity!==0&&x.visibility!=="hidden"&&v.visibility!=="hidden"){let g=c.polygon;if(E&&g&&E!==g?P(E,g)&&(o=!0):I(T,c)&&(o=!0),o){let s=x.labelrank<v.labelrank?x:v,e=s.text;s.newOpacity=0,e!=null&&e.element.querySelector("textPath")&&e.hide()}}}}for(let G of w)$(G,this)&&(S=!0);S&&nt(this,"afterHideAllOverlappingLabels")}function $(w,B){let I,P,u=!1;return w&&(P=w.newOpacity,w.oldOpacity!==P&&(w.hasClass("highcharts-data-label")?(w[P?"removeClass":"addClass"]("highcharts-data-label-hidden"),I=function(){B.styledMode||w.css({pointerEvents:P?"auto":"none"})},u=!0,w[w.isOld?"animate":"attr"]({opacity:P},void 0,I),nt(B,"afterHideOverlappingLabel")):w.attr({opacity:P})),w.isOld=!0),u}function V(){var I;let w=this,B=[];for(let P of w.labelCollectors||[])B=B.concat(P());for(let P of w.yAxis||[])P.stacking&&P.options.stackLabels&&!P.options.stackLabels.allowOverlap&&st(P.stacking.stacks,u=>{st(u,x=>{x.label&&B.push(x.label)})});for(let P of w.series||[])if(P.visible&&((I=P.hasDataLabels)!=null&&I.call(P))){let u=x=>{for(let v of x)v.visible&&(v.dataLabels||[]).forEach(T=>{var S;let c=T.options||{};T.labelrank=dt(c.labelrank,v.labelrank,(S=v.shapeArgs)==null?void 0:S.height),c.allowOverlap??Number(c.distance)>0?(T.oldOpacity=T.opacity,T.newOpacity=1,$(T,w)):B.push(T)})};u(P.nodes||[]),u(P.points)}this.hideOverlappingLabels(B)}return{compose:function(w){let B=w.prototype;B.hideOverlappingLabels||(B.hideOverlappingLabels=K,lt(w,"render",V))}}}),yt(H,"Extensions/BorderRadius.js",[H["Core/Defaults.js"],H["Core/Globals.js"],H["Core/Utilities.js"]],function(_,q,J){let{defaultOptions:lt}=_,{noop:nt}=q,{addEvent:st,extend:dt,isObject:K,merge:$,relativeLength:V}=J,w={radius:0,scope:"stack",where:void 0},B=nt,I=nt;function P(c,S,G,E,k={}){let o=B(c,S,G,E,k),{innerR:g=0,r:s=G,start:e=0,end:t=0}=k;if(k.open||!k.borderRadius)return o;let r=t-e,a=Math.sin(r/2),m=Math.max(Math.min(V(k.borderRadius||0,s-g),(s-g)/2,s*a/(1+a)),0),b=Math.min(m,r/Math.PI*2*g),h=o.length-1;for(;h--;)(function(A,Y,f){let O,j,W,et=A[Y],l=A[Y+1];if(l[0]==="Z"&&(l=A[0]),(et[0]==="M"||et[0]==="L")&&l[0]==="A"?(O=et,j=l,W=!0):et[0]==="A"&&(l[0]==="M"||l[0]==="L")&&(O=l,j=et),O&&j&&j.params){let n=j[1],y=j[5],D=j.params,{start:i,end:p,cx:d,cy:M}=D,C=y?n-f:n+f,R=C?Math.asin(f/C):0,X=y?R:-R,U=Math.cos(R)*C;W?(D.start=i+X,O[1]=d+U*Math.cos(i),O[2]=M+U*Math.sin(i),A.splice(Y+1,0,["A",f,f,0,0,1,d+n*Math.cos(D.start),M+n*Math.sin(D.start)])):(D.end=p-X,j[6]=d+n*Math.cos(D.end),j[7]=M+n*Math.sin(D.end),A.splice(Y+1,0,["A",f,f,0,0,1,d+U*Math.cos(p),M+U*Math.sin(p)])),j[4]=Math.abs(D.end-D.start)<Math.PI?0:1}})(o,h,h>1?b:m);return o}function u(){var c,S;if(this.options.borderRadius&&!(this.chart.is3d&&this.chart.is3d())){let{options:G,yAxis:E}=this,k=G.stacking==="percent",o=(S=(c=lt.plotOptions)==null?void 0:c[this.type])==null?void 0:S.borderRadius,g=x(G.borderRadius,K(o)?o:{}),s=E.options.reversed;for(let e of this.points){let{shapeArgs:t}=e;if(e.shapeType==="roundedRect"&&t){let{width:r=0,height:a=0,y:m=0}=t,b=m,h=a;if(g.scope==="stack"&&e.stackTotal){let O=E.translate(k?100:e.stackTotal,!1,!0,!1,!0),j=E.translate(G.threshold||0,!1,!0,!1,!0),W=this.crispCol(0,Math.min(O,j),0,Math.abs(O-j));b=W.y,h=W.height}let A=(e.negative?-1:1)*(s?-1:1)==-1,Y=g.where;!Y&&this.is("waterfall")&&Math.abs((e.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(Y="all"),Y||(Y="end");let f=Math.min(V(g.radius,r),r/2,Y==="all"?a/2:1/0)||0;Y==="end"&&(A&&(b-=f),h+=f),dt(t,{brBoxHeight:h,brBoxY:b,r:f})}}}}function x(c,S){return K(c)||(c={radius:c||0}),$(w,S,c)}function v(){let c=x(this.options.borderRadius);for(let S of this.points){let G=S.shapeArgs;G&&(G.borderRadius=V(c.radius,(G.r||0)-(G.innerR||0)))}}function T(c,S,G,E,k={}){let o=I(c,S,G,E,k),{r:g=0,brBoxHeight:s=E,brBoxY:e=S}=k,t=S-e,r=e+s-(S+E),a=t-g>-.1?0:g,m=r-g>-.1?0:g,b=Math.max(a&&t,0),h=Math.max(m&&r,0),A=[c+a,S],Y=[c+G-a,S],f=[c+G,S+a],O=[c+G,S+E-m],j=[c+G-m,S+E],W=[c+m,S+E],et=[c,S+E-m],l=[c,S+a],n=(y,D)=>Math.sqrt(Math.pow(y,2)-Math.pow(D,2));if(b){let y=n(a,a-b);A[0]-=y,Y[0]+=y,f[1]=l[1]=S+a-b}if(E<a-b){let y=n(a,a-b-E);f[0]=O[0]=c+G-a+y,j[0]=Math.min(f[0],j[0]),W[0]=Math.max(O[0],W[0]),et[0]=l[0]=c+a-y,f[1]=l[1]=S+E}if(h){let y=n(m,m-h);j[0]+=y,W[0]-=y,O[1]=et[1]=S+E-m+h}if(E<m-h){let y=n(m,m-h-E);f[0]=O[0]=c+G-m+y,Y[0]=Math.min(f[0],Y[0]),A[0]=Math.max(O[0],A[0]),et[0]=l[0]=c+m-y,O[1]=et[1]=S}return o.length=0,o.push(["M",...A],["L",...Y],["A",a,a,0,0,1,...f],["L",...O],["A",m,m,0,0,1,...j],["L",...W],["A",m,m,0,0,1,...et],["L",...l],["A",a,a,0,0,1,...A],["Z"]),o}return{compose:function(c,S,G){let E=c.types.pie;if(!S.symbolCustomAttribs.includes("borderRadius")){let k=G.prototype.symbols;st(c,"afterColumnTranslate",u,{order:9}),st(E,"afterTranslate",v),S.symbolCustomAttribs.push("borderRadius","brBoxHeight","brBoxY"),B=k.arc,I=k.roundedRect,k.arc=P,k.roundedRect=T}},optionsToObject:x}}),yt(H,"Core/Responsive.js",[H["Core/Utilities.js"]],function(_){var q;let{diffObjects:J,extend:lt,find:nt,merge:st,pick:dt,uniqueKey:K}=_;return function($){function V(B,I){let P=B.condition;(P.callback||function(){return this.chartWidth<=dt(P.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=dt(P.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=dt(P.minWidth,0)&&this.chartHeight>=dt(P.minHeight,0)}).call(this)&&I.push(B._id)}function w(B,I){let P=this.options.responsive,u=this.currentResponsive,x=[],v;!I&&P&&P.rules&&P.rules.forEach(S=>{S._id===void 0&&(S._id=K()),this.matchResponsiveRule(S,x)},this);let T=st(...x.map(S=>nt((P||{}).rules||[],G=>G._id===S)).map(S=>S&&S.chartOptions));T.isResponsiveOptions=!0,x=x.toString()||void 0;let c=u&&u.ruleIds;x===c||(u&&(this.currentResponsive=void 0,this.updatingResponsive=!0,this.update(u.undoOptions,B,!0),this.updatingResponsive=!1),x?((v=J(T,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:x,mergedOptions:T,undoOptions:v},this.updatingResponsive||this.update(T,B,!0)):this.currentResponsive=void 0)}$.compose=function(B){let I=B.prototype;return I.matchResponsiveRule||lt(I,{matchResponsiveRule:V,setResponsive:w}),B}}(q||(q={})),q}),yt(H,"masters/highcharts.src.js",[H["Core/Globals.js"],H["Core/Utilities.js"],H["Core/Defaults.js"],H["Core/Animation/Fx.js"],H["Core/Animation/AnimationUtilities.js"],H["Core/Renderer/HTML/AST.js"],H["Core/Templating.js"],H["Core/Renderer/RendererRegistry.js"],H["Core/Renderer/RendererUtilities.js"],H["Core/Renderer/SVG/SVGElement.js"],H["Core/Renderer/SVG/SVGRenderer.js"],H["Core/Renderer/HTML/HTMLElement.js"],H["Core/Axis/Axis.js"],H["Core/Axis/DateTimeAxis.js"],H["Core/Axis/LogarithmicAxis.js"],H["Core/Axis/PlotLineOrBand/PlotLineOrBand.js"],H["Core/Axis/Tick.js"],H["Core/Tooltip.js"],H["Core/Series/Point.js"],H["Core/Pointer.js"],H["Core/Legend/Legend.js"],H["Core/Legend/LegendSymbol.js"],H["Core/Chart/Chart.js"],H["Extensions/ScrollablePlotArea.js"],H["Core/Axis/Stacking/StackingAxis.js"],H["Core/Axis/Stacking/StackItem.js"],H["Core/Series/Series.js"],H["Core/Series/SeriesRegistry.js"],H["Series/Column/ColumnDataLabel.js"],H["Series/Pie/PieDataLabel.js"],H["Core/Series/DataLabel.js"],H["Extensions/OverlappingDataLabels.js"],H["Extensions/BorderRadius.js"],H["Core/Responsive.js"],H["Core/Color/Color.js"],H["Core/Time.js"]],function(_,q,J,lt,nt,st,dt,K,$,V,w,B,I,P,u,x,v,T,c,S,G,E,k,o,g,s,e,t,r,a,m,b,h,A,Y,f){return _.AST=st,_.Axis=I,_.Chart=k,_.Color=Y,_.DataLabel=m,_.Fx=lt,_.HTMLElement=B,_.Legend=G,_.LegendSymbol=E,_.OverlappingDataLabels=_.OverlappingDataLabels||b,_.PlotLineOrBand=x,_.Point=c,_.Pointer=S,_.RendererRegistry=K,_.Series=e,_.SeriesRegistry=t,_.StackItem=s,_.SVGElement=V,_.SVGRenderer=w,_.Templating=dt,_.Tick=v,_.Time=f,_.Tooltip=T,_.animate=nt.animate,_.animObject=nt.animObject,_.chart=k.chart,_.color=Y.parse,_.dateFormat=dt.dateFormat,_.defaultOptions=J.defaultOptions,_.distribute=$.distribute,_.format=dt.format,_.getDeferredAnimation=nt.getDeferredAnimation,_.getOptions=J.getOptions,_.numberFormat=dt.numberFormat,_.seriesType=t.seriesType,_.setAnimation=nt.setAnimation,_.setOptions=J.setOptions,_.stop=nt.stop,_.time=J.defaultTime,_.timers=lt.timers,h.compose(_.Series,_.SVGElement,_.SVGRenderer),r.compose(_.Series.types.column),m.compose(_.Series),P.compose(_.Axis),B.compose(_.SVGRenderer),G.compose(_.Chart),u.compose(_.Axis),b.compose(_.Chart),a.compose(_.Series.types.pie),x.compose(_.Chart,_.Axis),S.compose(_.Chart),A.compose(_.Chart),o.compose(_.Axis,_.Chart,_.Series),g.compose(_.Axis,_.Chart,_.Series),T.compose(_.Pointer),q.extend(_,q),_}),H["masters/highcharts.src.js"]._modules=H,H["masters/highcharts.src.js"]})})(me);var Ye=me.exports;(function(gt,pt){(function(H,yt){gt.exports=yt(Ye,Te)})(self,(H,yt)=>(()=>{var _={879:nt=>{nt.exports=H},744:nt=>{nt.exports=yt}},q={};function J(nt){var st=q[nt];if(st!==void 0)return st.exports;var dt=q[nt]={exports:{}};return _[nt](dt,dt.exports,J),dt.exports}J.n=nt=>{var st=nt&&nt.__esModule?()=>nt.default:()=>nt;return J.d(st,{a:st}),st},J.d=(nt,st)=>{for(var dt in st)J.o(st,dt)&&!J.o(nt,dt)&&Object.defineProperty(nt,dt,{enumerable:!0,get:st[dt]})},J.o=(nt,st)=>Object.prototype.hasOwnProperty.call(nt,st),J.r=nt=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(nt,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(nt,"__esModule",{value:!0})};var lt={};return(()=>{J.r(lt),J.d(lt,{Chart:()=>B,default:()=>I});var nt=J(879),st=J.n(nt),dt=function P(u,x){var v=st().isArray(u)?[]:{};function T(c,S){!st().isObject(c,!x)||st().isClass(c)||st().isDOMElement(c)?v[S]=c:v[S]=P(c,x)}return st().isArray(u)?u.forEach(function(c,S){return T(c,S)}):st().objectEach(u,T),v},K=J(744);function $(P){return function(u){if(Array.isArray(u))return V(u)}(P)||function(u){if(typeof Symbol<"u"&&u[Symbol.iterator]!=null||u["@@iterator"]!=null)return Array.from(u)}(P)||function(u,x){if(u){if(typeof u=="string")return V(u,x);var v=Object.prototype.toString.call(u).slice(8,-1);if(v==="Object"&&u.constructor&&(v=u.constructor.name),v==="Map"||v==="Set")return Array.from(u);if(v==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(v))return V(u,x)}}(P)||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 V(P,u){(u==null||u>P.length)&&(u=P.length);for(var x=0,v=new Array(u);x<u;x++)v[x]=P[x];return v}const w=function(P){var u=this;return{render:function(){return(0,K.h)("div",{ref:"chart"})},beforeUnmount:function(){var x;return u==null||(x=u.chart)===null||x===void 0?void 0:x.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(x){var v;(v=this.chart).update.apply(v,[dt(x,this.deepCopyOnUpdate)].concat($(this.updateArgs)))},deep:!0}},mounted:function(){var x=this.highcharts||P;x[this.constructorType]?this.options?this.chart=x[this.constructorType](this.$refs.chart,dt(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 B=w(st());function I(P){var u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};P.component(u.tagName||"highcharts",w(u.highcharts||st()))}})(),lt})())})(fe);var ni=fe.exports;const Ue={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"},Ve={class:"text-sm font-normal text-gray-500 dark:text-gray-400"},$e={class:"font-semibold text-gray-900 dark:text-white"},qe={class:"font-semibold text-gray-900 dark:text-white"},Ke={class:"inline-flex items-stretch font-mono -space-x-px"},Ze={key:0},_e=["onClick"],Je={"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"},Qe=["onClick"],ti={key:1},Jt="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",ai=ce({__name:"TablePagination",props:{pagination:null},emits:["update:pagination"],setup(gt,{emit:pt}){const H=gt,yt=pt,_=pe({get(){return H.pagination},set(q){yt("update:pagination",q)}});return(q,J)=>(Dt(),It("nav",Ue,[wt("span",Ve,[J[4]||(J[4]=$t(" Showing ")),wt("span",$e,zt(Pt(_).currentLeft)+"-"+zt(Math.max(0,Pt(_).currentRight-1)),1),J[5]||(J[5]=$t(" of ")),wt("span",qe,zt(Pt(_).totalSize),1)]),wt("ul",Ke,[wt("li",null,[wt("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:J[0]||(J[0]=lt=>Pt(_).onPageChange({diff:-1}))},J[6]||(J[6]=[wt("span",{class:"sr-only"},"Previous",-1),wt("svg",{class:"h-5 w-5","aria-hidden":"true",fill:"currentColor",viewbox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},[wt("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)]))]),Pt(_).currentPage!==0?(Dt(),It("li",Ze,[wt("a",{class:Bt(Jt),hover:"cursor-pointer",onClick:J[1]||(J[1]=lt=>Pt(_).onPageChange({to:0}))}," 1 ")])):se("",!0),(Dt(!0),It(Ut,null,Vt(Pt(_).leftDecrPage,lt=>(Dt(),It("li",{key:lt},[wt("a",{class:Bt(Jt),hover:"cursor-pointer",onClick:nt=>Pt(_).onPageChange({to:lt})},zt(lt+1),9,_e)]))),128)),wt("li",null,[wt("a",Je,zt(Pt(_).currentPage+1),1)]),(Dt(!0),It(Ut,null,Vt(Pt(_).rightIncrPage,lt=>(Dt(),It("li",{key:lt},[wt("a",{hover:"cursor-pointer",class:Bt(Jt),onClick:nt=>Pt(_).onPageChange({to:lt})},zt(lt+1),9,Qe)]))),128)),Pt(_).currentPage!==Pt(_).totalPage-1&&Pt(_).totalPage>1?(Dt(),It("li",ti,[wt("a",{hover:"cursor-pointer",class:Bt(Jt),onClick:J[2]||(J[2]=lt=>Pt(_).onPageChange({to:Pt(_).totalPage-1}))},zt(Pt(_).totalPage),1)])):se("",!0),wt("li",null,[wt("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:J[3]||(J[3]=lt=>Pt(_).onPageChange({diff:1}))},J[7]||(J[7]=[wt("span",{class:"sr-only"},"Next",-1),wt("svg",{class:"h-5 w-5","aria-hidden":"true",fill:"currentColor",viewbox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},[wt("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 li{constructor(){_t(this,"totalSize");_t(this,"currentPage");_t(this,"pageSize");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 pt=[];let H=1,yt=this.currentPage-H;for(;yt>0;)pt.push(yt),H=H<<1,yt-=H;return pt.reverse()}get rightIncrPage(){const pt=[];let H=1,yt=this.currentPage+H;for(;yt+1<this.totalPage;)pt.push(yt),H=H<<1,yt+=H;return pt}onPageChange(pt){const H=this.totalPage;let yt=this.currentPage;if((pt==null?void 0:pt.to)!==void 0&&(yt=pt.to),(pt==null?void 0:pt.diff)!==void 0){const _=pt.diff;yt=yt+_}yt<0||yt>=H||(this.currentPage=yt)}}export{li as P,ri as T,si as _,ai as a,ni as h,oi as w};
|