@xcpcio/board-app 0.84.0 → 0.85.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/dist/404.html +1 -1
  2. package/dist/assets/Balloon-B3cPN2yD.js +1 -0
  3. package/dist/assets/Board-BpIhDrix.css +1 -0
  4. package/dist/assets/Board-CWwqX2IB.js +190 -0
  5. package/dist/assets/ContestStateBadge-CQOaPmT8.js +1 -0
  6. package/dist/assets/ContestStateBadge-DgwznQrX.css +1 -0
  7. package/dist/assets/Countdown-BvWlPnYq.js +1 -0
  8. package/dist/assets/DataSourceInput-DCNrUj45.js +1 -0
  9. package/dist/assets/NavBar-O1kqnfE4.css +1 -0
  10. package/dist/assets/NavBar-t1eXyPKg.js +1 -0
  11. package/dist/assets/Resolver-CRBstFE3.css +1 -0
  12. package/dist/assets/Resolver-D_GRj6HP.js +1 -0
  13. package/dist/assets/RightArrowIcon-F6HBDgDW.js +1 -0
  14. package/dist/assets/TheInput-Btyuor_6.js +1 -0
  15. package/dist/assets/Tooltip-C9jfn33Z.css +1 -0
  16. package/dist/assets/Tooltip-DPDTUI-s.js +27 -0
  17. package/dist/assets/_..-D9qurBBH.css +1 -0
  18. package/dist/assets/_...all_-Chjz45WV.js +1 -0
  19. package/dist/assets/_...all_-TFChZhkr.js +6 -0
  20. package/dist/assets/_intlify-i18n-0-BmghNkij.js +1 -0
  21. package/dist/assets/_intlify-i18n-1-DzpDgiG5.js +1 -0
  22. package/dist/assets/_plugin-vue_export-helper-BDNMzG2s.js +1 -0
  23. package/dist/assets/balloon-BlTynoB_.js +1 -0
  24. package/dist/assets/board-A69GsfUB.js +1 -0
  25. package/dist/assets/board-layout-mk2Y30Yp.js +1 -0
  26. package/dist/assets/constant-YlOY-yXZ.js +1 -0
  27. package/dist/assets/countdown-DQRGLfdE.js +1 -0
  28. package/dist/assets/default-BNqFZJwJ.js +1 -0
  29. package/dist/assets/headless-BSf0YrvV.js +1 -0
  30. package/dist/assets/index-C1jdVImx.css +1 -0
  31. package/dist/assets/index-D57KOcpK.js +12 -0
  32. package/dist/assets/index-layout-Cg_FpvvD.js +1 -0
  33. package/dist/assets/pages-DZG1eNR4.css +1 -0
  34. package/dist/assets/{index-D0V3pqsw.js → pages-kJjvENga.js} +2 -2
  35. package/dist/assets/pagination-EIqoVe6M.js +21 -0
  36. package/dist/assets/person-DrN1htE6.js +1 -0
  37. package/dist/assets/query-CoPl3fiI.js +20 -0
  38. package/dist/assets/rank-Bjo0QJlM.js +1 -0
  39. package/dist/assets/rating-B3sXjXNN.js +1 -0
  40. package/dist/assets/rating-DiCQYzia.css +1 -0
  41. package/dist/assets/resolver-Db22e0q8.js +1 -0
  42. package/dist/assets/route-block-ChiJXsfH.js +1 -0
  43. package/dist/assets/utils-Cfm-h8Z9.js +1 -0
  44. package/dist/assets/vue.runtime.esm-bundler-DTMOfGWR.js +4 -0
  45. package/dist/index.html +1 -1
  46. package/package.json +45 -45
  47. package/src/auto-imports.d.ts +4 -4
  48. package/src/components/board/Board.vue +3 -0
  49. package/src/components/board/Export.vue +5 -1
  50. package/src/components/board/Progress.vue +1 -0
  51. package/src/components/board/SeatMapView.vue +6 -3
  52. package/src/components/board/SubmissionsTable.vue +1 -2
  53. package/src/components/board/SubmitHeatMap.less +11 -3
  54. package/src/components/board/SubmitHeatMap.vue +56 -86
  55. package/src/components/board/TeamCard.vue +6 -6
  56. package/src/components/board/TeamOverview.vue +1 -0
  57. package/src/components/flowbite/Tooltip.vue +79 -13
  58. package/src/components.d.ts +0 -1
  59. package/dist/assets/Balloon.vue_vue_type_script_setup_true_lang-DHemO8cG.js +0 -1
  60. package/dist/assets/Board-C6kTRGEP.css +0 -1
  61. package/dist/assets/Board-DxiquVyO.js +0 -194
  62. package/dist/assets/ContestStateBadge-Bgdroopp.js +0 -1
  63. package/dist/assets/ContestStateBadge-D6uf8wH-.css +0 -1
  64. package/dist/assets/Countdown-ovUCuJ35.js +0 -1
  65. package/dist/assets/DataSourceInput.vue_vue_type_script_setup_true_lang-DgkCadgz.js +0 -1
  66. package/dist/assets/NavBar-DfKQ1ytp.js +0 -1
  67. package/dist/assets/NavBar-aT2xEvYz.css +0 -1
  68. package/dist/assets/Resolver-BQcsyOHn.js +0 -1
  69. package/dist/assets/Resolver-DV9FleNP.css +0 -1
  70. package/dist/assets/RightArrowIcon-BKvYPM1O.js +0 -1
  71. package/dist/assets/TheInput.vue_vue_type_script_setup_true_lang-OA6Dkh4w.js +0 -1
  72. package/dist/assets/Tooltip-DzyPDwbo.css +0 -1
  73. package/dist/assets/Tooltip.vue_vue_type_script_setup_true_lang-DWNdRDhE.js +0 -27
  74. package/dist/assets/_..-5I0UWqRG.css +0 -1
  75. package/dist/assets/_...all_-BtYYdFga.js +0 -1
  76. package/dist/assets/_...all_-XVDapPdm.js +0 -6
  77. package/dist/assets/_plugin-vue_export-helper-DlAUqK2U.js +0 -1
  78. package/dist/assets/board-layout-LZdDEkNj.js +0 -1
  79. package/dist/assets/constant-CYOTMbJW.js +0 -1
  80. package/dist/assets/dayjs-Ccpn6fIh.js +0 -1
  81. package/dist/assets/default-CRpkLq3n.js +0 -1
  82. package/dist/assets/en-DGp_RGnz.js +0 -1
  83. package/dist/assets/headless-l1XzJj3O.js +0 -1
  84. package/dist/assets/index-B34Y_Z57.js +0 -15
  85. package/dist/assets/index-B3NvUps3.js +0 -1
  86. package/dist/assets/index-B_303hcz.js +0 -1
  87. package/dist/assets/index-Bojw84ll.css +0 -1
  88. package/dist/assets/index-BuFplOHa.js +0 -1
  89. package/dist/assets/index-CeJCbVnH.js +0 -1
  90. package/dist/assets/index-CgXDtxXW.css +0 -1
  91. package/dist/assets/index-D-msPqye.css +0 -1
  92. package/dist/assets/index-DOf6OpNV.js +0 -1
  93. package/dist/assets/index-layout-BDulxfyN.js +0 -1
  94. package/dist/assets/pagination-DkTeb3KN.js +0 -3
  95. package/dist/assets/person-gKEre052.js +0 -1
  96. package/dist/assets/rank-DJDWVDFD.js +0 -1
  97. package/dist/assets/route-block-B_A1xBdJ.js +0 -1
  98. package/dist/assets/use-vmodel-Bem9C7yk.js +0 -20
  99. package/dist/assets/zh-CN-BUehjmhL.js +0 -1
  100. package/src/components/board/HeatMapTooltip.less +0 -115
  101. package/src/components/board/HeatMapTooltip.vue +0 -68
@@ -0,0 +1,21 @@
1
+ import{B as e,E as t,F as n,G as r,H as i,It as a,N as o,Nt as s,P as c,Rt as l,X as u,_ as d,a as f,d as p,f as m,g as h,h as g,jt as _,l as v,m as y,nt as b,u as x,ut as S,v as C,vt as w,x as T,y as E,z as D}from"./vue.runtime.esm-bundler-DTMOfGWR.js";import{R as O,c as k}from"./index-D57KOcpK.js";u();var A=b([]);function j(){let e=Symbol(`modal`);function t(){A.value.push(e)}function n(){let t=A.value.indexOf(e);t>-1&&A.value.splice(t,1)}function r(){return A.value[A.value.length-1]===e}function i(){return A.value.length>0}return{register:t,unregister:n,isTopModal:r,isAnyModalOpen:i}}t(),w();var ee={class:`relative bg-white dark:bg-gray-800 sm:p-4`,"rounded-sm":``,"shadow-sm":``},te={class:`mb-4 border-b rounded-t pb-4 sm:mb-4 dark:border-gray-600`,flex:``,"items-center":``,"justify-between":``},ne={"text-gray-900":``,"dark:text-white":``,"text-xl":``,"font-sans":``,"font-semibold":``,italic:``},M=T({__name:`Modal`,props:{isHidden:{type:Boolean},title:null,width:null,mt:null},emits:[`update:isHidden`,`onBeforeClose`],setup(t,{emit:r}){let s=t,l=r,{register:u,unregister:d,isTopModal:f}=j();o(()=>u()),c(()=>d());let p=y({get(){return s.isHidden},set(e){l(`update:isHidden`,e)}});function m(e=`outside`){l(`onBeforeClose`,e),p.value=!0}let{Escape:h}=k();return i(h,e=>{e&&f()&&m(`esc`)}),(t,r)=>(n(),C(`div`,{class:_([`md:inset-0 w-[100%] h-[100%]`,[s.mt??`md:mt-32 sm:mt-16`]]),fixed:``,"z-1997":``,"of-x-hidden":``,flex:``,"justify-center":``,"items-start":``},[g(`div`,{class:`w-[100%] h-[100%]`,fixed:``,"left-0":``,"top-0":``,"z-1998":``,style:{backgroundColor:`rgba(0, 0, 0, 0.5)`},onClick:r[0]||=e=>m(`outside`)}),g(`div`,{class:_([`relative p-4`,[s.width??`w-[78%]`]]),"z-1999":``},[g(`div`,ee,[g(`div`,te,[e(t.$slots,`header`,{},()=>[g(`h3`,ne,a(s.title),1)]),g(`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:r[1]||=e=>m(`close-button`)},[...r[2]||=[g(`svg`,{class:`h-5 w-5`,fill:`currentColor`,viewBox:`0 0 20 20`,xmlns:`http://www.w3.org/2000/svg`},[g(`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),g(`span`,{"sr-only":``},` Close modal `,-1)]])]),e(t.$slots,`default`)])],2)],2))}});t(),w(),f();var N={openOptions(e){e.$refs.input.focus(),e.showMenu=!0,e.mousedownState=!1},blurInput(e){e.mousedownState||(e.searchText=``,e.closeOptions()),e.$emit(`blur`)},closeOptions(e){e.$refs.input.blur(),e.showMenu=!1},prevItem(e){let t=e.pointer-1,n=e.$el.offsetHeight*t;t>=0&&(e.pointer=t),e.$refs.menu.scrollTop=n},nextItem(e){let t=e.pointer+1,n=e.$el.offsetHeight*t;t<=e.filteredOptions.length-1&&(e.pointer=t);let r=e.$refs.menu.offsetHeight,i=Math.ceil((e.$refs.menu.scrollTop+e.$el.offsetHeight)/r),a=Math.ceil(n/r);i!==a&&(e.$refs.menu.scrollTop=(a-1)*e.$refs.menu.offsetHeight)},enterItem(e){let t=e.filteredOptions[e.pointer],n=t.disabled;t&&!n&&e.selectItem(t)},pointerSet(e,t){e.pointer=t},pointerAdjust(e){e.pointer>=e.filteredOptions.length-1&&(e.pointer=e.filteredOptions.length?e.filteredOptions.length-1:0)},mousedownItem(e){e.mousedownState=!0}};function re(e){return new RegExp(e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),`i`)}var P={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:(e,t)=>e.match(re(t))}}},F=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},I={name:`ModelSelect`,mixins:[P],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(e){this.pointer=this.filteredOptions.findIndex(t=>t.value===this.optionValue(e))},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 e=this.placeholder;return this.selectedOption&&(e=this.selectedOption.text),e}},customAttrs(){try{if(Array.isArray(this.options))return this.options.map(e=>this.customAttr(e))}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(e=>{try{return this.filterPredicate(e.text,this.searchText)}catch{return!0}}):this.options},selectedOption(){return this.options.find(e=>e.value===this.optionValue(this.modelValue))}},methods:{deleteTextOrItem(){!this.searchText&&this.modelValue&&(this.selectItem({}),this.openOptions())},openOptions(){N.openOptions(this)},blurInput(){N.blurInput(this)},closeOptions(){N.closeOptions(this)},prevItem(){N.prevItem(this)},nextItem(){N.nextItem(this)},enterItem(){N.enterItem(this)},pointerSet(e){N.pointerSet(this,e)},pointerAdjust(){N.pointerAdjust(this)},mousedownItem(){N.mousedownItem(this)},selectItem(e){this.searchText=``,this.closeOptions(),typeof this.modelValue==`object`&&this.modelValue?this.$emit(`update:modelValue`,e):(this.$emit(`update:modelValue`,e.value),e.value!==void 0&&e.value===e.text&&(this.searchText=e.value))},optionValue(e){return typeof e==`object`&&e?e.value:e}}},ie=g(`i`,{class:`dropdown icon`},null,-1),ae=[`disabled`,`tabindex`,`id`,`name`,`value`],L=[`data-vss-custom-attr`],R=[`data-vss-custom-attr`,`onClick`,`onMouseenter`];function oe(t,r,i,o,c,l){return n(),C(`div`,{class:_([`ui fluid search selection dropdown`,{"active visible":c.showMenu,error:t.isError,disabled:t.isDisabled}]),onClick:r[11]||=(...e)=>l.openOptions&&l.openOptions(...e),onFocus:r[12]||=(...e)=>l.openOptions&&l.openOptions(...e)},[ie,g(`input`,{class:`search`,autocomplete:`off`,disabled:t.isDisabled,tabindex:t.isDisabled?-1:0,id:t.id,name:t.name,value:c.searchText,onInput:r[0]||=e=>c.searchText=e.target.value,ref:`input`,onFocus:r[1]||=p((...e)=>l.openOptions&&l.openOptions(...e),[`prevent`]),onKeyup:[r[2]||=x((...e)=>l.closeOptions&&l.closeOptions(...e),[`esc`]),r[7]||=x(p((...e)=>l.enterItem&&l.enterItem(...e),[`prevent`]),[`enter`])],onBlur:r[3]||=(...e)=>l.blurInput&&l.blurInput(...e),onKeydown:[r[4]||=x((...e)=>l.prevItem&&l.prevItem(...e),[`up`]),r[5]||=x((...e)=>l.nextItem&&l.nextItem(...e),[`down`]),r[6]||=x(p(()=>{},[`prevent`]),[`enter`]),r[8]||=x((...e)=>l.deleteTextOrItem&&l.deleteTextOrItem(...e),[`delete`])]},null,40,ae),g(`div`,{class:_([`text`,l.textClass]),"data-vss-custom-attr":l.searchTextCustomAttr},a(l.inputText),11,L),g(`div`,{class:_([`menu`,l.menuClass]),ref:`menu`,onMousedown:r[10]||=p(()=>{},[`prevent`]),style:s(l.menuStyle),tabindex:`-1`},[(n(!0),C(m,null,D(l.filteredOptions,(i,o)=>(n(),C(`div`,{key:o,class:_([`item`,{selected:i.selected||c.pointer===o,disabled:i.disabled}]),"data-vss-custom-attr":l.customAttrs[o]?l.customAttrs[o]:``,onClick:p(e=>l.selectItem(i),[`stop`]),onMousedown:r[9]||=(...e)=>l.mousedownItem&&l.mousedownItem(...e),onMouseenter:e=>l.pointerSet(o)},[e(t.$slots,`default`,{option:i,idx:o},()=>[E(a(i.text),1)])],42,R))),128))],38)],34)}var se=F(I,[[`render`,oe]]),ce={name:`MultiSelect`,mixins:[P],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(e=>this.selectedOptions.findIndex(t=>t.value===e.value)===-1)},filteredOptions(){return this.searchText?this.nonSelectOptions.filter(e=>{try{return this.cleanSearch?this.filterPredicate(this.accentsTidy(e.text),this.searchText):this.filterPredicate(e.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(){N.openOptions(this)},blurInput(){N.blurInput(this)},closeOptions(){N.closeOptions(this)},prevItem(){N.prevItem(this),this.openOptions()},nextItem(){N.nextItem(this),this.openOptions()},enterItem(){N.enterItem(this)},pointerSet(e){N.pointerSet(this,e)},pointerAdjust(){N.pointerAdjust(this)},mousedownItem(){N.mousedownItem(this)},selectItem(e){let t=this.selectedOptions.concat(e),n=t.filter((e,n)=>t.indexOf(e)===n);this.closeOptions(),this.searchText=``,this.$emit(`select`,n,e,`insert`)},deleteItem(e){let t=this.selectedOptions.filter(t=>t.value!==e.value);this.$emit(`select`,t,e,`delete`)},accentsTidy(e){let t=e.toString().toLowerCase();return t=t.replace(RegExp(`[àáâãäå]`,`g`),`a`),t=t.replace(RegExp(`æ`,`g`),`ae`),t=t.replace(RegExp(`ç`,`g`),`c`),t=t.replace(RegExp(`[èéêë]`,`g`),`e`),t=t.replace(RegExp(`[ìíîï]`,`g`),`i`),t=t.replace(RegExp(`ñ`,`g`),`n`),t=t.replace(RegExp(`[òóôõö]`,`g`),`o`),t=t.replace(RegExp(`œ`,`g`),`oe`),t=t.replace(RegExp(`[ùúûü]`,`g`),`u`),t=t.replace(RegExp(`[ýÿ]`,`g`),`y`),t}}},le=g(`i`,{class:`dropdown icon`},null,-1),z=[`data-vss-custom-attr`],ue=[`onClick`],B=[`disabled`,`tabindex`,`id`,`name`],de=[`data-vss-custom-attr`,`onClick`,`onMouseenter`];function fe(t,i,o,c,l,u){return n(),C(`div`,{class:_([`ui fluid search dropdown selection multiple`,{"active visible":l.showMenu,error:t.isError,disabled:t.isDisabled}]),onClick:i[11]||=(...e)=>u.openOptions&&u.openOptions(...e),onFocus:i[12]||=(...e)=>u.openOptions&&u.openOptions(...e)},[le,o.hideSelectedOptions?d(``,!0):(n(!0),C(m,{key:0},D(o.selectedOptions,(r,i)=>(n(),C(`a`,{key:i,class:`ui label transition visible`,style:{display:`inline-block !important`},"data-vss-custom-attr":o.customAttr(r)},[e(t.$slots,`selected`,{option:r,idx:i},()=>[E(a(r.text),1),g(`i`,{class:`delete icon`,onClick:e=>u.deleteItem(r)},null,8,ue)])],8,z))),128)),r(g(`input`,{class:`search`,autocomplete:`off`,disabled:t.isDisabled,tabindex:t.isDisabled?-1:0,id:t.id,name:t.name,"onUpdate:modelValue":i[0]||=e=>l.searchText=e,ref:`input`,style:s(u.inputWidth),onFocus:i[1]||=p((...e)=>u.openOptions&&u.openOptions(...e),[`prevent`]),onKeyup:[i[2]||=x((...e)=>u.closeOptions&&u.closeOptions(...e),[`esc`]),i[7]||=x(p((...e)=>u.enterItem&&u.enterItem(...e),[`prevent`]),[`enter`])],onBlur:i[3]||=(...e)=>u.blurInput&&u.blurInput(...e),onKeydown:[i[4]||=x((...e)=>u.prevItem&&u.prevItem(...e),[`up`]),i[5]||=x((...e)=>u.nextItem&&u.nextItem(...e),[`down`]),i[6]||=x(p(()=>{},[`prevent`]),[`enter`]),i[8]||=x((...e)=>u.deleteTextOrLastItem&&u.deleteTextOrLastItem(...e),[`delete`])]},null,44,B),[[v,l.searchText]]),g(`div`,{class:_([`text`,u.textClass])},a(u.inputText),3),g(`div`,{class:_([`menu`,u.menuClass]),ref:`menu`,onMousedown:i[10]||=p(()=>{},[`prevent`]),style:s(u.menuStyle),tabindex:`-1`},[(n(!0),C(m,null,D(u.filteredOptions,(r,s)=>(n(),C(`div`,{key:s,class:_([`item`,{selected:r.selected||l.pointer===s,disabled:r.disabled}]),"data-vss-custom-attr":o.customAttr(r),onClick:p(e=>u.selectItem(r),[`stop`]),onMousedown:i[9]||=(...e)=>u.mousedownItem&&u.mousedownItem(...e),onMouseenter:e=>u.pointerSet(s)},[e(t.$slots,`default`,{option:r,idx:s},()=>[E(a(r.text),1)])],42,de))),128))],38)],34)}var pe=F(ce,[[`render`,fe]]);t(),u(),f(),w();var me=T({__name:`TheMultiSelect`,props:{options:null,selectedOptions:null},emits:[`select`],setup(e,{emit:t}){let r=t,i=b(!1);function a(){i.value=!0}function o(){i.value=!1}function s(e){i.value&&e.stopPropagation()}function c(e,t){r(`select`,e,t)}return(t,r)=>(n(),h(S(pe),{class:_({"is-composing":S(i)}),options:e.options,"selected-options":e.selectedOptions,onSelect:c,onCompositionstart:a,onCompositionend:o,onKeydownCapture:x(s,[`delete`])},null,8,[`class`,`options`,`selected-options`]))}}),he=l(((e,t)=>{(function(n,r){typeof e==`object`&&typeof t==`object`?(n._Highcharts=r(),t.exports=n._Highcharts):typeof define==`function`&&define.amd?define(`highcharts/highcharts`,[],r):typeof e==`object`?(n._Highcharts=r(),e.highcharts=n._Highcharts):(n.Highcharts&&n.Highcharts.error(16,!0),n.Highcharts=r())})(`u`<typeof window?e:window,()=>(()=>{let e,t,n,r,i;var a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T,E,D,O,k={};k.d=(e,t)=>{for(var n in t)k.o(t,n)&&!k.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},k.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var A={};k.d(A,{default:()=>Wi}),(a=p||={}).SVG_NS=`http://www.w3.org/2000/svg`,a.product=`Highcharts`,a.version=`13.0.0`,a.win=`u`>typeof window?window:{},a.doc=a.win.document,a.svg=!!a.doc?.createElementNS?.(a.SVG_NS,`svg`)?.createSVGRect,a.pageLang=a.doc?.documentElement?.closest(`[lang]`)?.lang,a.userAgent=a.win.navigator?.userAgent||``,a.isChrome=a.win.chrome,a.isFirefox=a.userAgent.indexOf(`Firefox`)!==-1,a.isMS=/(edge|msie|trident)/i.test(a.userAgent)&&!a.win.opera,a.isSafari=!a.isChrome&&a.userAgent.indexOf(`Safari`)!==-1,a.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(a.userAgent),a.isWebKit=a.userAgent.indexOf(`AppleWebKit`)!==-1,a.deg2rad=2*Math.PI/360,a.marginNames=[`plotTop`,`marginRight`,`marginBottom`,`plotLeft`],a.noop=function(){},a.supportsPassiveEvents=function(){let e=!1;if(!a.isMS){let t=Object.defineProperty({},"passive",{get:function(){e=!0}});a.win.addEventListener&&a.win.removeEventListener&&(a.win.addEventListener(`testPassive`,a.noop,t),a.win.removeEventListener(`testPassive`,a.noop,t))}return e}(),a.charts=[],a.composed=[],a.dateFormats={},a.seriesTypes={},a.symbolSizes={},a.chartCount=0;let j=p,ee={dark:{backgroundColor:`#141414`,neutralColor:`#ffffff`,highlightColor:`#2caffe`},light:{backgroundColor:`#ffffff`,neutralColor:`#000000`,highlightColor:`#0022ff`,positiveColor:`#06b535`,negativeColor:`#f21313`}},{doc:te,win:ne}=j;function M(e,t,n,r={}){let i=typeof e==`function`&&e.prototype||e;Object.hasOwnProperty.call(i,`hcEvents`)||(i.hcEvents={});let a=i.hcEvents;j.Point&&e instanceof j.Point&&e.series&&e.series.chart&&(e.series.chart.runTrackerClick=!0);let o=e.addEventListener;o&&o.call(e,t,n,!!j.supportsPassiveEvents&&{passive:r.passive===void 0?t.indexOf(`touch`)!==-1:r.passive,capture:!1}),a[t]||(a[t]=[]);let s={fn:n,order:typeof r.order==`number`?r.order:1/0};return a[t].push(s),a[t].sort((e,t)=>e.order-t.order),function(){De(e,t,n)}}function N(e){let t=e.length,n=e[0];for(;t--;)e[t]<n&&(n=e[t]);return n}function re(e){let t=e.length,n=e[0];for(;t--;)e[t]>n&&(n=e[t]);return n}function P(e,t,n){let r,i=H(t)&&!R(n),a=(t,n)=>{R(t)?e.setAttribute(n,t):i?(r=e.getAttribute(n))||n!==`class`||(r=e.getAttribute(n+`Name`)):e.removeAttribute(n)};return H(t)?a(n,t):K(t,a),r}function F(e,t,n){return e>t?e<n?e:n:t}function I(e,t){return e>0x5af3107a4000?e:parseFloat(e.toPrecision(t||14))}function ie(e,t,n,r,i){let a=te.createElement(e);return t&&z(a,t),i&&L(a,{padding:`0`,border:`none`,margin:`0`}),n&&L(a,n),r&&r.appendChild(a),a}function ae(e,t=0,n){let r=t%2/2,i=n?-1:1;return(Math.round(e*i-r)+r)*i}function L(e,t){z(e.style,t)}function R(e){return e!=null}function oe(e,t,n){K(e,function(r,i){r!==t&&r?.destroy&&r.destroy(),(r?.destroy||!n)&&delete e[i]})}function se(e){e?.parentElement?.removeChild(e)}function ce(e,t,n,r){let i={};return function e(t,i,a,o){let s=n?i:t;K(t,function(n,c){if(!o&&r&&r.indexOf(c)>-1&&i[c]){n=Oe(n),a[c]=[];for(let t=0;t<Math.max(n.length,i[c].length);t++)i[c][t]&&(n[t]===void 0?a[c][t]=i[c][t]:(a[c][t]={},e(n[t],i[c][t],a[c][t],o+1)))}else W(n,!0)&&!n.nodeType?(a[c]=U(n)?[]:{},e(n,i[c]||{},a[c],o+1),Object.keys(a[c]).length===0&&(c!==`colorAxis`||o!==0)&&delete a[c]):(t[c]!==i[c]||c in t&&!(c in i))&&c!==`__proto__`&&c!==`constructor`&&(a[c]=s[c])})}(e,t,i,0),i}function le(e,t){let n=e.length;for(;n--;)if(e[n]===t){e.splice(n,1);break}}function z(e,t){let n;for(n in e||={},t)e[n]=t[n];return e}function ue(e,t){let n=function(){};return n.prototype=new e,z(n.prototype,t),n}function B(e,t,n,r){if(n||={},te?.createEvent&&(e.dispatchEvent||e.fireEvent&&e!==j)){let r=te.createEvent(`Events`);r.initEvent(t,!0,!0),n=z(r,n),e.dispatchEvent?e.dispatchEvent(n):e.fireEvent(t,n)}else if(e.hcEvents){n.target||z(n,{preventDefault:function(){n.defaultPrevented=!0},target:e,type:t});let r=[],i=e,a=!1;for(;i.hcEvents;)Object.hasOwnProperty.call(i,`hcEvents`)&&i.hcEvents[t]&&(r.length&&(a=!0),r.unshift.apply(r,i.hcEvents[t])),i=Object.getPrototypeOf(i);a&&r.sort((e,t)=>e.order-t.order),r.forEach(t=>{!1===t.fn.call(e,n,e)&&n.preventDefault()})}r&&!n.defaultPrevented&&r.call(e,n)}let de=(e=``)=>({center:.5,right:1,middle:.5,bottom:1})[e]||0;function fe(e,t){let n,r,i,a=!t;return e.forEach(e=>{if(e.length>1)for(i=e.length-1;i>0;i--)(r=e[i]-e[i-1])<0&&!a?(t?.(),t=void 0):r&&(n===void 0||r<n)&&(n=r)}),n}function pe(e){return 10**Math.floor(Math.log(e)/Math.LN10)}function me(e,t){let n=e.split(`.`);for(;n.length&&R(t);){let e=n.shift();if(e===void 0||e===`__proto__`)return;if(e===`this`){let e;return W(t)&&(e=t[`@this`]),e??t}let r=t[e.replace(/[\\'"]/g,``)];if(!R(r)||typeof r==`function`||typeof r.nodeType==`number`||r===ne)return;t=r}return t}function he(e,t,n){let r;if(t===`width`){let t=Math.min(e.offsetWidth,e.scrollWidth),n=e.getBoundingClientRect?.().width;return n<t&&n>=t-1&&(t=Math.floor(n)),Math.max(0,t-(he(e,`padding-left`,!0)||0)-(he(e,`padding-right`,!0)||0))}if(t===`height`)return Math.max(0,Math.min(e.offsetHeight,e.scrollHeight)-(he(e,`padding-top`,!0)||0)-(he(e,`padding-bottom`,!0)||0));let i=ne.getComputedStyle(e,void 0);return i&&(r=i.getPropertyValue(t),q(n,t!==`opacity`)&&(r=J(r))),r}let ge=Array.prototype.find?function(e,t){return e.find(t)}:function(e,t){let n,r=e.length;for(n=0;n<r;n++)if(t(e[n],n))return e[n]};function _e(e){R(e)&&clearTimeout(e)}function ve(e){return W(e)&&typeof e.nodeType==`number`}function ye(e){let t=e?.constructor;return!!(W(e,!0)&&!ve(e)&&t?.name&&t.name!==`Object`)}function V(e){return typeof e==`number`&&!isNaN(e)&&e<1/0&&e>-1/0}function H(e){return typeof e==`string`}function U(e){let t=Object.prototype.toString.call(e);return t===`[object Array]`||t===`[object Array Iterator]`}function be(e){return typeof e==`function`}function W(e,t){return!!e&&typeof e==`object`&&(!t||!U(e))}function G(e,...t){let n,r=[e,...t],i={},a=function(e,t){return typeof e!=`object`&&(e={}),K(t,function(n,r){r!==`__proto__`&&r!==`constructor`&&(!W(n,!0)||ye(n)||ve(n)?e[r]=t[r]:e[r]=a(e[r]||{},n))}),e};!0===e&&(i=r[1],r=Array.prototype.slice.call(r,2));let o=r.length;for(n=0;n<o;n++)i=a(i,r[n]);return i}function xe(e,t,n,r,i){let a,o=e;n=q(n,pe(e));let s=e/n;for(!t&&(t=i?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===r&&(n===1?t=t.filter(function(e){return e%1==0}):n<=.1&&(t=[1/n]))),a=0;a<t.length&&(o=t[a],(!i||!(o*n>=e))&&(i||!(s<=(t[a]+(t[a+1]||t[a]))/2)));a++);return I(o*n,-Math.round(Math.log(.001)/Math.LN10))}function K(e,t,n){for(let r in e)Object.hasOwnProperty.call(e,r)&&t.call(n||e[r],e[r],r,e)}function Se(e){let t=te.documentElement,n=e.parentElement||e.parentNode?e.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:n.top+(ne.pageYOffset||t.scrollTop)-(t.clientTop||0),left:n.left+(ne.pageXOffset||t.scrollLeft)-(t.clientLeft||0),width:n.width,height:n.height}}function Ce(e,t,n){return Array((t||2)+1-String(e).replace(`-`,``).length).join(n||`0`)+e}function q(){let e=arguments,t=e.length;for(let n=0;n<t;n++){let t=e[n];if(t!=null)return t}}function J(e,t){return parseInt(e,t||10)}function we(e,t){return 0>e.indexOf(t)&&!!e.push(t)}function Te(e,t,n){return/%$/.test(e)?t*parseFloat(e)/100+(n||0):parseFloat(e)}function Ee(e,...t){let n,r;do for(r of(n=e,t))e=e.replace(r[0],r[1]);while(e!==n);return e}function De(e,t,n){function r(t,n){let r=e.removeEventListener;r&&r.call(e,t,n,!1)}function i(n){let i,a;e.nodeName&&(t?(i={})[t]=!0:i=n,K(i,function(e,t){if(n[t])for(a=n[t].length;a--;)r(t,n[t][a].fn)}))}let a=typeof e==`function`&&e.prototype||e;if(Object.hasOwnProperty.call(a,`hcEvents`)){let e=a.hcEvents;if(t){let a=e[t]||[];n?(e[t]=a.filter(function(e){return n!==e.fn}),r(t,n)):(i(e),e[t]=[])}else i(e),delete a.hcEvents}}function Oe(e){return U(e)?e:[e]}function ke(e,t){let n,r,i=e.length;for(r=0;r<i;r++)e[r].safeI=r;for(e.sort(function(e,r){return(n=t(e,r))===0?e.safeI-r.safeI:n}),r=0;r<i;r++)delete e[r].safeI}function Ae(e,t,n){return t>0?setTimeout(e,t,n):(e.call(0,n),-1)}function je(e){return H(e)?e.substring(0,1).toUpperCase()+e.substring(1):String(e)}let{charts:Me,win:Ne}=j;function Y(e,t,n,r){let i=t?`Highcharts error`:`Highcharts warning`;e===32&&(e=`${i}: Deprecated member`);let a=V(e),o=a?`${i} #${e}: www.highcharts.com/errors/${e}/`:e.toString();if(r!==void 0){let e=``;a&&(o+=`?`),K(r,function(t,n){e+=`
2
+ - ${n}: ${t}`,a&&(o+=encodeURI(n)+`=`+encodeURI(t))}),o+=e}B(j,`displayError`,{chart:n,code:e,message:o,params:r},function(){if(t)throw Error(o);Ne.console&&Y.messages.indexOf(o)===-1&&console.warn(o)}),Y.messages.push(o)}function Pe(e,t){let n,r=e.options.index,i=t.length;for(n=e.options.isInternal?i:0;n<i+1;n++)if(!t[n]||V(r)&&r<q(t[n].options.index,t[n]._i)||t[n].options.isInternal){t.splice(n,0,e);break}return n}(Y||={}).messages=[];let X={millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5};Math.easeInOutSine=function(e){return-.5*(Math.cos(Math.PI*e)-1)};let Fe=(n=Math.random().toString(36).substring(2,9)+`-`,r=0,function(){return`highcharts-`+(e?``:n)+ r++});Ne.jQuery&&(Ne.jQuery.fn.highcharts=function(){let e=[].slice.call(arguments);if(this[0])return e[0]?(new j[H(e[0])?e.shift():`Chart`](this[0],e[0],e[1]),this):Me[P(this[0],`data-highcharts-chart`)]});let{pageLang:Ie,win:Le}=j,Re=j.isSafari&&Le.Intl&&!Le.Intl.DateTimeFormat.prototype.formatRange,ze=class{constructor(e,t){this.options={timezone:`UTC`},this.variableTimezone=!1,this.Date=Le.Date,this.update(e),this.lang=t}update(e={}){this.dTLCache={},this.options=e=G(!0,this.options,e);let{timezoneOffset:t,useUTC:n,locale:r}=e;this.Date=e.Date||Le.Date||Date;let i=e.timezone;R(n)&&(i=n?`UTC`:void 0),t&&t%60==0&&(i=`Etc/GMT`+(t>0?`+`:``)+t/60),this.variableTimezone=i!==`UTC`&&i?.indexOf(`Etc/GMT`)!==0,this.timezone=i,this.lang&&r&&(this.lang.locale=r),[`months`,`shortMonths`,`weekdays`,`shortWeekdays`].forEach(e=>{let t=/months/i.test(e),n=/short/.test(e),r={timeZone:`UTC`};r[t?`month`:`weekday`]=n?`short`:`long`,this[e]=(t?[0,1,2,3,4,5,6,7,8,9,10,11]:[3,4,5,6,7,8,9]).map(e=>this.dateFormat(r,(t?31:1)*24*36e5*e))})}toParts(e){let[t,n,r,i,a,o,s]=this.dateTimeFormat({weekday:`narrow`,day:`numeric`,month:`numeric`,year:`numeric`,hour:`numeric`,minute:`numeric`,second:`numeric`},e,`es`).split(/(?:, | |\/|:)/g);return[+i,r-1,+n,+a,+o,+s,Math.floor(Number(e)||0)%1e3,`DLMXJVS`.indexOf(t)]}dateTimeFormat(e,t,n=this.options.locale||Ie){let r=JSON.stringify(e)+n;H(e)&&(e=this.str2dtf(e));let i=this.dTLCache[r];if(!i){e.timeZone??=this.timezone;try{i=new Intl.DateTimeFormat(n,e)}catch(t){/Invalid time zone/i.test(t.message)?(Y(34),e.timeZone=`UTC`,i=new Intl.DateTimeFormat(n,e)):Y(t.message,!1)}}return this.dTLCache[r]=i,i?.format(t)||``}str2dtf(e,t={}){let n={L:{fractionalSecondDigits:3},S:{second:`2-digit`},M:{minute:`numeric`},H:{hour:`2-digit`},k:{hour:`numeric`},E:{weekday:`narrow`},a:{weekday:`short`},A:{weekday:`long`},d:{day:`2-digit`},e:{day:`numeric`},b:{month:`short`},B:{month:`long`},m:{month:`2-digit`},o:{month:`numeric`},y:{year:`2-digit`},Y:{year:`numeric`}};return Object.keys(n).forEach(r=>{e.indexOf(r)!==-1&&z(t,n[r])}),t}makeTime(e,t,n=1,r=0,i,a,o){let s=this.Date.UTC(e,t,n,r,i||0,a||0,o||0);if(this.timezone!==`UTC`){let e=this.getTimezoneOffset(s);if(s+=e,[2,3,8,9,10,11].indexOf(t)!==-1&&(r<5||r>20)){let t=this.getTimezoneOffset(s);e===t?e-36e5!==this.getTimezoneOffset(s-36e5)||Re||(s-=36e5):s+=t-e}}return s}parse(e){if(!H(e))return e??void 0;let t=(e=e.replace(/\//g,`-`).replace(/(GMT|UTC)/,``)).indexOf(`Z`)>-1||/([+-][0-9]{2}):?[0-9]{2}$/.test(e),n=/^[0-9]{4}-[0-9]{2}(-[0-9]{2}|)$/.test(e);t||n||(e+=`Z`);let r=Date.parse(e);if(V(r))return r+(!t||n?this.getTimezoneOffset(r):0)}getTimezoneOffset(e){if(this.timezone!==`UTC`){let[t,n,r,i,a=0]=this.dateTimeFormat({timeZoneName:`shortOffset`},e,`en`).split(/(GMT|:)/).map(Number),o=-(60*(r+a/60)*6e4);if(V(o))return o}return 0}dateFormat(e,t,n){let r=this.lang;if(!R(t)||isNaN(t))return r?.invalidDate||``;if(H(e??=`%Y-%m-%d %H:%M:%S`)){let n,i=/%\[([a-zA-Z]+)\]/g;for(;n=i.exec(e);)e=e.replace(n[0],this.dateTimeFormat(n[1],t,r?.locale))}if(H(e)&&e.indexOf(`%`)!==-1){let n=this,[i,a,o,s,c,l,u,d]=this.toParts(t),f=r?.weekdays||this.weekdays,p=r?.shortWeekdays||this.shortWeekdays,m=r?.months||this.months,h=r?.shortMonths||this.shortMonths;K(z({a:p?p[d]:f[d].substr(0,3),A:f[d],d:Ce(o),e:Ce(o,2,` `),w:d,v:r?.weekFrom??``,b:h[a],B:m[a],m:Ce(a+1),o:a+1,y:i.toString().substr(2,2),Y:i,H:Ce(s),k:s,I:Ce(s%12||12),l:s%12||12,M:Ce(c),p:s<12?`AM`:`PM`,P:s<12?`am`:`pm`,S:Ce(l),L:Ce(u,3)},j.dateFormats),function(r,i){if(H(e))for(;e.indexOf(`%`+i)!==-1;)e=e.replace(`%`+i,typeof r==`function`?r.call(n,t,n):r)})}else if(W(e)){let n=(this.getTimezoneOffset(t)||0)/36e5,r=this.timezone||`Etc/GMT`+(n>=0?`+`:``)+n,{prefix:i=``,suffix:a=``}=e;e=i+this.dateTimeFormat(z({timeZone:r},e),t)+a}return n?je(e):e}resolveDTLFormat(e){return W(e,!0)?W(e,!0)&&e.main===void 0?{main:e}:e:{main:(e=Oe(e))[0],from:e[1],to:e[2]}}getDateFormat(e,t,n,r){let i=this.dateFormat(`%m-%d %H:%M:%S.%L`,t),a=`01-01 00:00:00.000`,o={millisecond:15,second:12,minute:9,hour:6,day:3},s=`millisecond`,c=s;for(s in X){if(e&&e===X.week&&+this.dateFormat(`%w`,t)===n&&i.substr(6)===a.substr(6)){s=`week`;break}if(e&&X[s]>e){s=c;break}if(o[s]&&i.substr(o[s])!==a.substr(o[s]))break;s!==`week`&&(c=s)}return this.resolveDTLFormat(r[s]).main}},Be=class extends ze{getBoundaryTicks(e,t,n,r){let i={};if(t===X.year)return i;let a=R(n)&&R(r),o=t<X.hour,s=t<X.day,c=t<X.month,l=t>=X.hour?9e5:t>=X.minute?6e4:t>=X.second&&1e3;if(e.length<1e4){let u=!0;for(let d=0;d<e.length;d++){let f=e[d];if(a){if(f<n)continue;if(f>r)break}if(u){if(t===X.month){i[f]=`year`,u=!1;continue}if(t===X.hour){i[f]=`day`,u=!1;continue}}if(l&&f%l!=0){u=!1;continue}let[,p,m,h,g,_,v]=this.toParts(f),y=!h&&!g&&!_&&!v;o&&g===0&&(i[f]=`hour`),s&&y&&(i[f]=`day`),c&&m===1&&y&&(i[f]=`month`),p===0&&m===1&&y&&(i[f]=`year`),u=!1}}return i}getTimeTicks(e,t,n,r){let i=[],{count:a=1,unitRange:o}=e,s=t,[c,l,u,d,f,p]=this.toParts(t),m=(t||0)%1e3,h;if(r??=1,R(t)){if(m=o>=X.second?0:a*Math.floor(m/a),o>=X.second&&(p=o>=X.minute?0:a*Math.floor(p/a)),o>=X.minute&&(f=o>=X.hour?0:a*Math.floor(f/a)),o>=X.hour&&(d=o>=X.day?0:a*Math.floor(d/a)),o>=X.day&&(u=o>=X.month?1:Math.max(1,a*Math.floor(u/a))),o>=X.month&&(l=o>=X.year?0:a*Math.floor(l/a)),o>=X.year&&(c-=c%a),o===X.week){a&&(t=this.makeTime(c,l,u,d,f,p,m));let e=this.dateTimeFormat({timeZone:this.timezone,weekday:`narrow`},t,`es`),n=`DLMXJVS`.indexOf(e);u+=-n+r+(n<r?-7:0)}t=this.makeTime(c,l,u,d,f,p,m),this.variableTimezone&&R(n)&&(h=n-t>4*X.month||this.getTimezoneOffset(t)!==this.getTimezoneOffset(n));let e=t,s=1;for(;e<n;)i.push(e),o===X.year?e=this.makeTime(c+s*a,0):o===X.month?e=this.makeTime(c,l+s*a):h&&(o===X.day||o===X.week)?e=this.makeTime(c,l,u+s*a*(o===X.day?1:7)):h&&o===X.hour&&a>1?e=this.makeTime(c,l,u,d+s*a):e+=o*a,s++;i.push(e)}return i.info=z(e,{boundaryTicks:this.getBoundaryTicks(i,o,s,n),totalRange:o*a}),i}},{isTouchDevice:Ve}=j,He={palette:ee,colors:Array(10).fill(1).map((e,t)=>`var(--highcharts-color-${t})`),symbols:[`circle`,`diamond`,`square`,`triangle`,`triangle-down`],lang:{weekFrom:`week from`,chartTitle:`Chart title`,locale:void 0,loading:`Loading...`,months:void 0,seriesName:`Series {add index 1}`,shortMonths:void 0,weekdays:void 0,numericSymbols:[`k`,`M`,`G`,`T`,`P`,`E`],pieSliceName:`Slice`,resetZoom:`Reset zoom`,yAxisTitle:`Values`,resetZoomTitle:`Reset zoom level 1:1`},global:{buttonTheme:{fill:`var(--highcharts-neutral-color-3)`,padding:8,r:2,stroke:`var(--highcharts-neutral-color-20)`,"stroke-width":1,style:{color:`var(--highcharts-neutral-color-80)`,cursor:`pointer`,fontSize:`0.8em`,fontWeight:`normal`},states:{hover:{fill:`var(--highcharts-neutral-color-10)`},select:{fill:`var(--highcharts-highlight-color-10)`,style:{color:`var(--highcharts-neutral-color-100)`,fontWeight:`bold`}},disabled:{style:{color:`var(--highcharts-neutral-color-20)`}}}}},time:{Date:void 0,timezone:`UTC`,timezoneOffset:0,useUTC:void 0},chart:{alignThresholds:!1,panning:{enabled:!1,type:`x`},styledMode:!1,borderRadius:0,colorCount:10,allowMutatingData:!0,ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{},position:{}},reflow:!0,selectionMarkerFill:`color-mix(var(--highcharts-highlight-color-80) 25%, transparent)`,type:`line`,zooming:{singleTouch:!1,resetButton:{theme:{zIndex:6},position:{align:`right`,x:-10,y:10}}},width:null,height:null,borderColor:`var(--highcharts-highlight-color-80)`,backgroundColor:`var(--highcharts-background-color)`,plotBorderColor:`var(--highcharts-neutral-color-20)`},title:{style:{color:`var(--highcharts-neutral-color-80)`,fontWeight:`bold`},text:`Chart title`,margin:15,minScale:.67},subtitle:{style:{color:`var(--highcharts-neutral-color-60)`,fontSize:`0.8em`},text:``},caption:{margin:15,style:{color:`var(--highcharts-neutral-color-60)`,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:`var(--highcharts-neutral-color-40)`,borderRadius:0,navigation:{style:{fontSize:`0.8em`},activeColor:`var(--highcharts-highlight-color-100)`,inactiveColor:`var(--highcharts-neutral-color-20)`},itemStyle:{color:`var(--highcharts-neutral-color-80)`,cursor:`pointer`,fontSize:`0.8em`,textDecoration:`none`,textOverflow:`ellipsis`},itemHoverStyle:{color:`var(--highcharts-neutral-color-100)`},itemHiddenStyle:{color:`var(--highcharts-neutral-color-60)`,textDecoration:`line-through`},shadow:!1,itemCheckboxStyle:{position:`absolute`,width:`13px`,height:`13px`},squareSymbol:!0,symbolPadding:5,verticalAlign:`bottom`,x:0,y:0,title:{style:{color:`var(--highcharts-neutral-color-80)`,fontSize:`0.8em`,fontWeight:`bold`}}},loading:{labelStyle:{fontWeight:`bold`,position:`relative`,top:`45%`},style:{position:`absolute`,backgroundColor:`var(--highcharts-background-color)`,opacity:.5,textAlign:`center`}},tooltip:{enabled:!0,animation:{duration:300,easing:e=>Math.sqrt(1-(e-1)**2)},borderColor:`light-dark(var(--highcharts-neutral-color-5), var(--highcharts-neutral-color-20))`,borderRadius:5,dateTimeLabelFormats:{millisecond:`%[AebHMSL]`,second:`%[AebHMS]`,minute:`%[AebHM]`,hour:`%[AebHM]`,day:`%[AebY]`,week:`%v %[AebY]`,month:`%[BY]`,year:`%[Y]`},footerFormat:``,header:{distance:5,shape:`callout`,style:{fontSize:`1em`}},hideDelay:500,showDelay:0,padding:8,position:{x:0,y:3},shared:!1,snap:Ve?25:10,headerFormat:`<span style="font-size: 0.8em">{ucfirst point.key}</span><br/>`,pointFormat:`<span style="color:{point.color}">●</span> {series.name}: <b>{point.y}</b><br/>`,backgroundColor:`var(--highcharts-background-color)`,borderWidth:void 0,stickOnContact:!1,style:{color:`var(--highcharts-neutral-color-80)`,cursor:`default`,fontSize:`0.8em`},useHTML:!1},credits:{enabled:!0,href:`https://www.highcharts.com?credits`,position:{align:`right`,verticalAlign:`bottom`,x:-10,y:-5},style:{cursor:`pointer`,color:`var(--highcharts-neutral-color-40)`,fontSize:`0.6em`},text:`Highcharts.com`}},Ue=new Be(He.time,He.lang),We={defaultOptions:He,defaultTime:Ue,getOptions:function(){return He},setOptions:function(e){return B(j,`setOptions`,{options:e}),G(!0,He,e),e.time&&Ue.update(He.time),e.lang&&`locale`in e.lang&&Ue.update({locale:e.lang.locale}),e.lang?.chartTitle&&(He.title={...He.title,text:e.lang.chartTitle}),He}},{win:Ge}=j,Ke=(e,t,n)=>n===0?e:n===1?t:`color-mix(in srgb,${e},${t} ${100*n}%)`,qe=e=>H(e)&&!!e&&e!==`none`;class Z{static parse(e){return e?new Z(e):Z.None}constructor(e){let t,n,r,i;this.rgba=[NaN,NaN,NaN,NaN],this.input=e;let a=j.Color;if(a&&a!==Z)return new a(e);if(typeof e==`object`&&e.stops!==void 0)this.stops=e.stops.map(e=>new Z(e[1]));else if(typeof e==`string`)for(this.input=e=Z.names[e.toLowerCase()]||e,r=Z.parsers.length;r--&&!n;)(t=(i=Z.parsers[r]).regex.exec(e))&&(n=i.parse(t));n&&(this.rgba=n)}get(e){let t=this.input,n=this.rgba;if(this.output)return this.output;if(typeof t==`object`&&this.stops!==void 0){let n=G(t);return n.stops=[].slice.call(n.stops),this.stops.forEach((t,r)=>{n.stops[r]=[n.stops[r][0],t.get(e)]}),n}return n&&V(n[0])?e!==`rgb`&&(e||n[3]!==1)?e===`a`?`${n[3]}`:`rgba(`+n.join(`,`)+`)`:`rgb(`+n[0]+`,`+n[1]+`,`+n[2]+`)`:t}brighten(e){let t=this.rgba;if(this.stops)this.stops.forEach(function(t){t.brighten(e)});else if(V(e)&&e!==0)if(V(t[0]))for(let n=0;n<3;n++)t[n]+=J(255*e),t[n]<0&&(t[n]=0),t[n]>255&&(t[n]=255);else Z.useColorMix&&qe(this.input)&&(this.output=Ke(this.input,e>0?`white`:`black`,Math.abs(e)));return this}setOpacity(e){return V(this.rgba[0])?this.rgba[3]=e:Z.useColorMix&&qe(this.input)&&(this.output=Ke(this.input,`#0000`,1-e)),this}tweenTo(e,t){let n=this.rgba,r=e.rgba;if(!V(n[0])||!V(r[0]))return Z.useColorMix&&qe(this.input)&&qe(e.input)&&t<.99?Ke(this.input,e.input,t):e.input||`none`;let i=r[3]!==1||n[3]!==1,a=(e,r)=>e+(n[r]-e)*(1-t),o=r.slice(0,3).map(a).map(Math.round);return i&&o.push(a(r[3],3)),(i?`rgba(`:`rgb(`)+o.join(`,`)+`)`}}Z.names={white:`#ffffff`,black:`#000000`},Z.parsers=[{regex:/rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d?(?:\.\d+)?)\s*\)/,parse:function(e){return[J(e[1]),J(e[2]),J(e[3]),parseFloat(e[4],10)]}},{regex:/rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)/,parse:function(e){return[J(e[1]),J(e[2]),J(e[3]),1]}},{regex:/^#([a-f0-9])([a-f0-9])([a-f0-9])([a-f0-9])?$/i,parse:function(e){return[J(e[1]+e[1],16),J(e[2]+e[2],16),J(e[3]+e[3],16),R(e[4])?J(e[4]+e[4],16)/255:1]}},{regex:/^#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})?$/i,parse:function(e){return[J(e[1],16),J(e[2],16),J(e[3],16),R(e[4])?J(e[4],16)/255:1]}}],Z.useColorMix=Ge.CSS?.supports(`color`,`color-mix(in srgb,red,blue 9%)`),Z.None=new Z(``);let{parse:Je}=Z,{win:Ye}=j;class Xe{constructor(e,t,n){this.pos=NaN,this.options=t,this.elem=e,this.prop=n}dSetter(){let e=this.paths,t=e?.[0],n=e?.[1],r=this.now||0,i=[];if(r!==1&&t&&n)if(t.length===n.length&&r<1)for(let e=0;e<n.length;e++){let a=t[e],o=n[e],s=[];for(let e=0;e<o.length;e++){let t=a[e],n=o[e];V(t)&&V(n)&&(o[0]!==`A`||e!==4&&e!==5)?s[e]=t+r*(n-t):s[e]=n}i.push(s)}else i=n;else i=this.toD||[];this.elem.attr(`d`,i,void 0,!0)}update(){let e=this.elem,t=this.prop,n=this.now,r=this.options.step;this[t+`Setter`]?this[t+`Setter`]():e.attr?e.element&&e.attr(t,n,null,!0):e.style[t]=n+this.unit,r&&r.call(e,n,this)}run(e,t,n){let r=this,i=r.options,a=function(e){return!a.stopped&&r.step(e)},o=Ye.requestAnimationFrame||function(e){setTimeout(e,13)},s=function(){for(let e=0;e<Xe.timers.length;e++)Xe.timers[e]()||Xe.timers.splice(e--,1);Xe.timers.length&&o(s)};e!==t||this.elem[`forceAnimate:`+this.prop]?(this.startTime=+new Date,this.start=e,this.end=t,this.unit=n,this.now=this.start,this.pos=0,a.elem=this.elem,a.prop=this.prop,a()&&Xe.timers.push(a)===1&&o(s)):(delete i.curAnim[this.prop],i.complete&&Object.keys(i.curAnim).length===0&&i.complete.call(this.elem))}step(e){let t,n,r=+new Date,i=this.options,a=this.elem,o=i.complete,s=i.duration,c=i.curAnim;return a.attr&&!a.element?t=!1:e||r>=s+this.startTime?(this.now=this.end,this.pos=1,this.update(),c[this.prop]=!0,n=!0,K(c,function(e){!0!==e&&(n=!1)}),n&&o&&o.call(a),t=!1):(this.pos=i.easing((r-this.startTime)/s),this.now=this.start+(this.end-this.start)*this.pos,this.update(),t=!0),t}initPath(e,t,n){let r=e.startX,i=e.endX,a=n.slice(),o=e.isArea,s=o?2:1,c=t&&n.length>t.length&&n.hasStackedCliffs,l,u,d,f,p=t?.slice();if(!p||c)return[a,a];function m(e,t){for(;e.length<u;){let n=e[0],r=t[u-e.length];if(r&&n[0]===`M`&&(r[0]===`C`?e[0]=[`C`,n[1],n[2],n[1],n[2],n[1],n[2]]:e[0]=[`L`,n[1],n[2]]),e.unshift(n),o){let t=e.pop();e.push(e[e.length-1],t)}}}function h(e){for(;e.length<u;){let t=e[Math.floor(e.length/s)-1].slice();if(t[0]===`C`&&(t[1]=t[5],t[2]=t[6]),o){let n=e[Math.floor(e.length/s)].slice();e.splice(e.length/2,0,t,n)}else e.push(t)}}if(r&&i&&i.length){for(d=0;d<r.length;d++)if(r[d]===i[0]){l=d;break}else if(r[0]===i[i.length-r.length+d]){l=d,f=!0;break}else if(r[r.length-1]===i[i.length-r.length+d]){l=r.length-d;break}l===void 0&&(p=[])}return p.length&&V(l)&&(u=a.length+l*s,f?(m(p,a),h(a)):(m(a,p),h(p))),[p,a]}fillSetter(){Xe.prototype.strokeSetter.apply(this,arguments)}strokeSetter(){this.elem.attr(this.prop,Je(this.start).tweenTo(Je(this.end),this.pos),void 0,!0)}}function Ze(e){return W(e)?G({duration:500,defer:0},e):{duration:500*!!e,defer:0}}function Qe(e,t){let n=Xe.timers.length;for(;n--;)Xe.timers[n].elem!==e||t&&t!==Xe.timers[n].prop||(Xe.timers[n].stopped=!0)}Xe.timers=[];let $e={animate:function(e,t,n){let r,i=``,a,o,s;W(n)||(s=arguments,n={duration:s[2],easing:s[3],complete:s[4]}),V(n.duration)||(n.duration=400),n.easing=typeof n.easing==`function`?n.easing:Math[n.easing]||Math.easeInOutSine,n.curAnim=G(t),K(t,function(s,c){Qe(e,c),o=new Xe(e,n,c),a=void 0,c===`d`&&U(t.d)?(o.paths=o.initPath(e,e.pathArray,t.d),o.toD=t.d,r=0,a=1):e.attr?r=e.attr(c):(r=parseFloat(he(e,c))||0,c!==`opacity`&&(i=`px`)),a||=s,typeof a==`string`&&a.match(`px`)&&(a=a.replace(/px/g,``)),o.run(r,a,i)})},animObject:Ze,getDeferredAnimation:function(e,t,n){let r=Ze(t),i=n?[n]:e.series,a=0,o=0;return i.forEach(e=>{let n=Ze(e.options.animation);a=W(t)&&R(t.defer)?r.defer:Math.max(a,n.duration+n.defer),o=Math.min(r.duration,n.duration)}),e.renderer.forExport&&(a=0),{defer:Math.max(0,a-o),duration:Math.min(a,o)}},setAnimation:function(e,t){t.renderer.globalAnimation=q(e,t.options.chart.animation,!0)},stop:Qe},{SVG_NS:et,win:tt}=j,{trustedTypes:nt}=tt,rt=nt&&be(nt.createPolicy)&&nt.createPolicy(`highcharts`,{createHTML:e=>e}),it=rt?rt.createHTML(``):``;class Q{static filterUserAttributes(e){return K(e,(t,n)=>{let r=!0;Q.allowedAttributes.indexOf(n)===-1&&(r=!1),[`background`,`dynsrc`,`href`,`lowsrc`,`src`].indexOf(n)!==-1&&(r=H(t)&&Q.allowedReferences.some(e=>t.indexOf(e)===0)),r||(Y(33,!1,void 0,{"Invalid attribute in config":`${n}`}),delete e[n]),H(t)&&e[n]&&(e[n]=t.replace(/</g,`&lt;`))}),e}static parseStyle(e){return e.split(`;`).reduce((e,t)=>{let n=t.split(`:`).map(e=>e.trim()),r=n.shift();return r&&n.length&&(e[r.replace(/-([a-z])/g,e=>e[1].toUpperCase())]=n.join(`:`)),e},{})}static setElementHTML(e,t){e.innerHTML=Q.emptyHTML,t&&new Q(t).addToDOM(e)}constructor(e){this.nodes=typeof e==`string`?this.parseMarkup(e):e}addToDOM(e){return function e(t,n){let r;return Oe(t).forEach(function(t){let i,a=t.tagName,o=t.textContent?j.doc.createTextNode(t.textContent):void 0,s=Q.bypassHTMLFiltering;if(a)if(a===`#text`)i=o;else if(Q.allowedTags.indexOf(a)!==-1||s){let r=a===`svg`?et:n.namespaceURI||et,c=j.doc.createElementNS(r,a),l=t.attributes||{};K(t,function(e,t){t!==`tagName`&&t!==`attributes`&&t!==`children`&&t!==`style`&&t!==`textContent`&&(l[t]=e)}),P(c,s?l:Q.filterUserAttributes(l)),t.style&&L(c,t.style),o&&c.appendChild(o),e(t.children||[],c),i=c}else Y(33,!1,void 0,{"Invalid tagName in config":a});i&&n.appendChild(i),r=i}),r}(this.nodes,e)}parseMarkup(e){let t,n=[];e=e.trim().replace(/ style=(["'])/g,` data-style=$1`);try{t=new DOMParser().parseFromString(rt?rt.createHTML(e):e,`text/html`)}catch{}if(!t){let n=ie(`div`);n.innerHTML=e,t={body:n}}let r=(e,t)=>{let n=e.nodeName.toLowerCase(),i={tagName:n};n===`#text`&&(i.textContent=e.textContent||``);let a=e.attributes;if(a){let e={};[].forEach.call(a,t=>{t.name===`data-style`?i.style=Q.parseStyle(t.value):e[t.name]=t.value}),i.attributes=e}if(e.childNodes.length){let t=[];[].forEach.call(e.childNodes,e=>{r(e,t)}),t.length&&(i.children=t)}t.push(i)};return[].forEach.call(t.body.childNodes,e=>r(e,n)),n}}Q.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.aria-sort.class.clip-path.color.colspan.cx.cy.d.disabled.dx.dy.fill.filterUnits.flood-color.flood-opacity.height.href.id.in.in2.markerHeight.markerWidth.offset.opacity.operator.orient.padding.paddingLeft.paddingRight.patternUnits.r.radius.refX.refY.result.role.rowspan.scope.slope.src.startOffset.stdDeviation.stroke-linecap.stroke-width.stroke.style.summary.tabindex.tableValues.target.text-align.text-anchor.textAnchor.textLength.title.type.valign.width.x.x1.x2.xlink:href.y.y1.y2.zIndex`.split(`.`),Q.allowedReferences=[`https://`,`http://`,`mailto:`,`/`,`../`,`./`,`#`],Q.allowedTags=`#text.a.abbr.b.br.button.caption.circle.clipPath.code.dd.defs.div.dl.dt.em.feComponentTransfer.feComposite.feDropShadow.feFlood.feFuncA.feFuncB.feFuncG.feFuncR.feGaussianBlur.feMerge.feMergeNode.feMorphology.feOffset.filter.h1.h2.h3.h4.h5.h6.hr.i.img.li.linearGradient.marker.ol.p.path.pattern.pre.rect.small.span.stop.strong.style.sub.sup.svg.table.tbody.td.text.textPath.th.thead.title.tr.tspan.u.ul`.split(`.`),Q.emptyHTML=it,Q.bypassHTMLFiltering=!1;let{defaultOptions:at,defaultTime:ot}=We,{pageLang:st}=j,ct={add:(e,t)=>e+t,divide:(e,t)=>t===0?``:I(e/t),eq:(e,t)=>e==t,each:function(e){let t=arguments[arguments.length-1];return!!U(e)&&e.map((n,r)=>ut(t.body,z(W(n)?n:{"@this":n},{"@index":r,"@first":r===0,"@last":r===e.length-1}))).join(``)},ge:(e,t)=>e>=t,gt:(e,t)=>e>t,if:e=>!!e,le:(e,t)=>e<=t,lt:(e,t)=>e<t,multiply:(e,t)=>I(e*t,15),ne:(e,t)=>e!=t,subtract:(e,t)=>e-t,ucfirst:je,unless:e=>!e},lt={};function ut(e=``,t,n){let r=/\{([^{}]+)\}/g,i=/\(([^()]+)\)/g,a=[],o=/f$/,s=/\.(\d)/,c=n?.options?.lang||at.lang,l=n?.time||ot,u=n?.numberFormatter||dt.bind(n),d=(e=``)=>{let n;return e===`true`||e!==`false`&&((n=Number(e)).toString()===e?n:/^["'].+["']$/.test(e)?e.slice(1,-1):me(e,t))},f,p,m=0,h;for(;(f=r.exec(e))!==null;){let n=f,r=i.exec(f[1]);r&&(f=r,h=!0),p?.isBlock||(p={ctx:t,expression:f[1],find:f[0],isBlock:f[1].charAt(0)===`#`,start:f.index,startInner:f.index+f[0].length,length:f[0].length});let o=(p.isBlock?n:f)[1].split(` `)[0].replace(`#`,``);ct[o]&&(p.isBlock&&o===p.fn&&m++,p.fn||=o);let s=f[1]===`else`;if(p.isBlock&&p.fn&&(f[1]===`/${p.fn}`||s))if(m)!s&&m--;else{let t=p.startInner,n=e.substr(t,f.index-t);p.body===void 0?(p.body=n,p.startInner=f.index+f[0].length):p.elseBody=n,p.find+=n+f[0],s||(a.push(p),p=void 0)}else p.isBlock||a.push(p);if(r&&!p?.isBlock)break}return a.forEach(r=>{let a,f,{body:p,elseBody:m,expression:h,fn:g}=r;if(g){let e=[r],i=[],o=h.length,s=0,c;for(f=0;f<=o;f++){let e=h.charAt(f);c||e!==`"`&&e!==`'`?c===e&&(c=``):c=e,c||e!==` `&&f!==o||(i.push(h.substr(s,f-s)),s=f+1)}for(f=ct[g].length;f--;)e.unshift(d(i[f+1]));a=ct[g].apply(t,e),r.isBlock&&typeof a==`boolean`&&(a=ut(a?p:m,t,n))}else{let e=/^["'].+["']$/.test(h)?[h]:h.split(`:`);if(a=d(e.shift()||``),e.length&&typeof a==`number`){let t=e.join(`:`);if(o.test(t)){let e=parseInt((t.match(s)||[``,`-1`])[1],10);a!==null&&(a=u(a,e,c.decimalPoint,t.indexOf(`,`)>-1?c.thousandsSep:``))}else a=l.dateFormat(t,a)}i.lastIndex=0,i.test(r.find)&&H(a)&&(a=`"${a}"`)}e=e.replace(r.find,q(a,``))}),h?ut(e,t,n):e}function dt(e,t,n,r){t*=1;let i,a,[o,s]=(e=+e||0).toString().split(`e`).map(Number),c=this?.options?.lang||at.lang,l=(e.toString().split(`.`)[1]||``).split(`e`)[0].length,u=t,d={};n??=c.decimalPoint,r??=c.thousandsSep,t===-1?t=Math.min(l,20):V(t)?t&&s<0&&((a=t+s)>=0?(o=+o.toExponential(a).split(`e`)[0],t=a):(o=Math.floor(o),e=t<20?+(o*10**s).toFixed(t):0,s=0)):t=2,s&&(t??=2,e=o),V(t)&&t>=0&&(d.minimumFractionDigits=t,d.maximumFractionDigits=t),r===``&&(d.useGrouping=!1);let f=r||n,p=f?`en`:this?.locale||c.locale||st,m=JSON.stringify(d)+p;return i=(lt[m]??(lt[m]=new Intl.NumberFormat(p,d))).format(e),f&&(i=i.replace(/([,\.])/g,`_$1`).replace(/_\,/g,r??`,`).replace(`_.`,n??`.`)),(t||+i!=0)&&(!(s<0)||u)||(i=`0`),s&&+i!=0&&(i+=`e`+(s<0?``:`+`)+s),i}let ft={dateFormat:function(e,t,n){return ot.dateFormat(e,t,n)},format:ut,helpers:ct,numberFormat:dt};(m||={}).distribute=function e(t,n,r){let i=t,a=i.reducedLen||n,o=(e,t)=>e.target-t.target,s=[],c=t.length,l=[],u=s.push,d,f=!0,p,m,h=0;for(d=c;d--;)h+=t[d].size;if(h>a){if(ke(t,(e,t)=>(t.rank||0)-(e.rank||0)),t[0].rank===t[t.length-1].rank){let e=[[0,c-1]];for(;e.length&&h>a;){let n=e.shift();if(!n)break;p=t[d=Math.floor((n[0]+n[1])/2)],we(l,d)&&(h-=p.size),n[0]<d&&e.push([n[0],d-1]),d<n[1]&&e.push([d+1,n[1]])}}else for(d=c-1;h>a&&d>=0;)p=t[d],we(l,d)&&(h-=p.size),d--;l.sort((e,t)=>t-e).forEach(e=>u.apply(s,t.splice(e,1)))}for(ke(t,o),t=t.map(e=>({size:e.size,targets:[e.target],align:q(e.align,.5)}));f;){for(d=t.length;d--;)p=t[d],m=(Math.min.apply(0,p.targets)+Math.max.apply(0,p.targets))/2,p.pos=F(m-p.size*p.align,0,n-p.size);for(d=t.length,f=!1;d--;)d>0&&t[d-1].pos+t[d-1].size>t[d].pos&&(t[d-1].size+=t[d].size,t[d-1].targets=t[d-1].targets.concat(t[d].targets),t[d-1].align=.5,t[d-1].pos+t[d-1].size>n&&(t[d-1].pos=n-t[d-1].size),t.splice(d,1),f=!0)}return u.apply(i,s),d=0,t.some(t=>{let a=0;return(t.targets||[]).some(()=>(i[d].pos=t.pos+a,r!==void 0&&Math.abs(i[d].pos-i[d].target)>r?(i.slice(0,d+1).forEach(e=>delete e.pos),i.reducedLen=(i.reducedLen||n)-.1*n,i.reducedLen>.1*n&&e(i,n,r),!0):(a+=i[d].size,d++,!1)))}),ke(i,o),i};let pt=m,{animate:mt,animObject:ht,stop:gt}=$e,{deg2rad:_t,doc:vt,svg:yt,SVG_NS:bt,win:xt,isFirefox:St}=j;class Ct{_defaultGetter(e){let t=q(this[e+`Value`],this[e],this.element?this.element.getAttribute(e):null,0);return/^-?[\d\.]+$/.test(t)&&(t=parseFloat(t)),t}_defaultSetter(e,t,n){n.setAttribute(t,e)}add(e){let t,n=this.renderer,r=this.element;return e&&(this.parentGroup=e),this.textStr!==void 0&&this.element.nodeName===`text`&&n.buildText(this),this.added=!0,(!e||e.handleZ||this.zIndex)&&(t=this.zIndexSetter()),t||(e?e.element:n.box).appendChild(r),this.onAdd&&this.onAdd(),this}addClass(e,t){let n=t?``:this.attr(`class`)||``;return(e=(e||``).split(/ /g).reduce(function(e,t){return n.indexOf(t)===-1&&e.push(t),e},n?[n]:[]).join(` `))!==n&&this.attr(`class`,e),this}afterSetters(){this.doTransform&&=(this.updateTransform(),!1)}align(e,t,n,r=!0){let i=this.renderer,a=i.alignedObjects,o=!!e;e?(this.alignOptions=e,this.alignByTranslate=t,this.alignTo=n):(e=this.alignOptions||{},t=this.alignByTranslate,n=this.alignTo);let s=!n||H(n)?n||`renderer`:void 0;s&&(o&&we(a,this),n=void 0);let c=q(n,i[s],i),l=(c.x||0)+(e.x||0)+((c.width||0)-(e.width||0))*de(e.align),u=(c.y||0)+(e.y||0)+((c.height||0)-(e.height||0))*de(e.verticalAlign),d={};return e.align&&(d[`text-align`]=e.align),d[t?`translateX`:`x`]=Math.round(l),d[t?`translateY`:`y`]=Math.round(u),r&&(this[this.placed?`animate`:`attr`](d),this.placed=!0),this.alignAttr=d,this}alignSetter(e){let t={left:`start`,center:`middle`,right:`end`};t[e]&&(this.alignValue=e,this.element.setAttribute(`text-anchor`,t[e]))}animate(e,t,n){let r=ht(q(t,this.renderer.globalAnimation,!0)),i=r.defer;return vt.hidden&&(r.duration=0),r.duration===0?(this.attr(e,void 0,n||r.complete),K(e,function(e,t){r.step&&r.step.call(this,e,{prop:t,pos:1,elem:this})},this)):(n&&(r.complete=n),Ae(()=>{this.element&&mt(this,e,r)},i)),this}applyTextOutline(e){let t=this.element;e.indexOf(`contrast`)!==-1&&(e=e.replace(/contrast/g,this.renderer.getContrast(t.style.fill)));let n=e.indexOf(` `),r=e.substring(n+1),i=e.substring(0,n);if(i&&i!==`none`&&j.svg){this.fakeTS=!0,i=i.replace(/(^[\d\.]+)(.*?)$/g,function(e,t,n){return 2*Number(t)+n}),this.removeTextOutline();let e=vt.createElementNS(bt,`tspan`);P(e,{class:`highcharts-text-outline`,fill:r,stroke:r,"stroke-width":i,"stroke-linejoin":`round`});let n=t.querySelector(`textPath`)||t;[].forEach.call(n.childNodes,t=>{let n=t.cloneNode(!0);n.removeAttribute&&[`fill`,`stroke`,`stroke-width`,`stroke`].forEach(e=>n.removeAttribute(e)),e.appendChild(n)});let a=0;[].forEach.call(n.querySelectorAll(`text tspan`),e=>{a+=Number(e.getAttribute(`dy`))});let o=vt.createElementNS(bt,`tspan`);o.textContent=`​`,P(o,{x:Number(t.getAttribute(`x`)),dy:-a}),e.appendChild(o),n.insertBefore(e,n.firstChild)}}attr(e,t,n,r){let{element:i}=this,a=Ct.symbolCustomAttribs,o,s,c=this,l;return typeof e==`string`&&t!==void 0&&(o=e,(e={})[o]=t),typeof e==`string`?c=(this[e+`Getter`]||this._defaultGetter).call(this,e,i):(K(e,function(t,n){l=!1,r||gt(this,n),this.symbolName&&a.indexOf(n)!==-1&&(s||=(this.symbolAttr(e),!0),l=!0),this.rotation&&(n===`x`||n===`y`)&&(this.doTransform=!0),l||(this[n+`Setter`]||this._defaultSetter).call(this,t,n,i)},this),this.afterSetters()),n&&n.call(this),c}clip(e){if(e&&!e.clipPath){let t=Fe()+`-`,n=this.renderer.createElement(`clipPath`).attr({id:t}).add(this.renderer.defs);z(e,{clipPath:n,id:t,count:0}),e.add(n)}return this.attr(`clip-path`,e?`url(${this.renderer.url}#${e.id})`:`none`)}crisp(e,t){t=Math.round(t||e.strokeWidth||0);let n=e.x||this.x||0,r=e.y||this.y||0,i=(e.width||this.width||0)+n,a=(e.height||this.height||0)+r,o=ae(n,t),s=ae(r,t);return z(e,{x:o,y:s,width:ae(i,t)-o,height:ae(a,t)-s}),R(e.strokeWidth)&&(e.strokeWidth=t),e}complexColor(e,t,n){let r=this.renderer,i,a,o,s,c,l,u,d,f,p=[],m;B(this.renderer,`complexColor`,{args:arguments},()=>{if(e.radialGradient?a=`radialGradient`:e.linearGradient&&(a=`linearGradient`),a){if(o=e[a],c=r.gradients,l=e.stops,d=n.radialReference,U(o)&&(e[a]=o={x1:o[0],y1:o[1],x2:o[2],y2:o[3],gradientUnits:`userSpaceOnUse`}),a===`radialGradient`&&d&&!R(o.gradientUnits)&&(s=o,o=G(o,r.getRadialAttr(d,s),{gradientUnits:`userSpaceOnUse`})),K(o,function(e,t){t!==`id`&&p.push(t,e)}),K(l,function(e){p.push(e)}),c[p=p.join(`,`)])f=c[p].attr(`id`);else{o.id=f=Fe();let e=c[p]=r.createElement(a).attr(o).add(r.defs);e.radAttr=s,e.stops=[],l.forEach(([t,n])=>{n.indexOf(`rgba`)===0?(n=(i=Z.parse(n)).get(`rgb`),u=i.get(`a`)):u=1;let a=r.createElement(`stop`).attr({offset:t,"stop-color":n,"stop-opacity":u}).add(e);e.stops.push(a)})}m=`url(`+r.url+`#`+f+`)`,n.setAttribute(t,m),n.gradient=p,e.toString=function(){return m}}})}css(e){let t=this.styles,n={},r=this.element,i=this.renderer,a,o=!t;if(t&&K(e,function(e,r){t&&t[r]!==e&&(n[r]=e,o=!0)}),o){t&&(e=z(t,n)),e.width===null||e.width===`auto`?delete this.textWidth:r.nodeName.toLowerCase()===`text`&&e.width&&(a=this.textWidth=J(e.width)),z(this.styles,e),a&&!yt&&i.forExport&&delete e.width;let o=St&&e.fontSize||null;o&&(V(o)||/^\d+$/.test(o))&&(e.fontSize+=`px`);let s=G(e);r.namespaceURI===this.SVG_NS&&([`textOutline`,`textOverflow`,`whiteSpace`,`width`].forEach(e=>s&&delete s[e]),s.color&&(s.fill=s.color,delete s.color)),L(r,s)}return this.added&&(this.element.nodeName===`text`&&i.buildText(this),e.textOutline&&this.applyTextOutline(e.textOutline)),this}dashstyleSetter(e){let t,n=this[`stroke-width`];if(n===`inherit`&&(n=1),e){let r=(e=e.toLowerCase()).replace(`shortdashdotdot`,`3,1,1,1,1,1,`).replace(`shortdashdot`,`3,1,1,1`).replace(`shortdot`,`1,1,`).replace(`shortdash`,`3,1,`).replace(`longdash`,`8,3,`).replace(/dot/g,`1,3,`).replace(`dash`,`4,3,`).replace(/,$/,``).split(`,`);for(t=r.length;t--;)r[t]=``+J(r[t])*q(n,NaN);e=r.join(`,`).replace(/NaN/g,`none`),this.element.setAttribute(`stroke-dasharray`,e)}}destroy(){let e=this,{element:t={},renderer:n,stops:r}=e,i=t.ownerSVGElement;if(t.onclick=t.onmouseout=t.onmouseover=t.onmousemove=t.point=null,gt(e),e.clipPath&&i){let t=e.clipPath;[].forEach.call(i.querySelectorAll(`[clip-path],[CLIP-PATH]`),function(e){e.getAttribute(`clip-path`).indexOf(t.element.id)>-1&&e.removeAttribute(`clip-path`)}),e.clipPath=t.destroy()}if(r){for(let e of r)e.destroy();r.length=0}e.safeRemoveChild(t),e.alignOptions&&le(n.alignedObjects,e),K(e,(t,n)=>{(e[n]?.parentGroup===e||[`connector`,`foreignObject`].indexOf(n)!==-1)&&e[n]?.destroy?.(),delete e[n]})}dSetter(e,t,n){U(e)&&(typeof e[0]==`string`&&(e=this.renderer.pathToSegments(e)),this.pathArray=e,e=e.reduce((e,t,n)=>t?.join?(n?e+` `:``)+t.join(` `):(t||``).toString(),``)),/(NaN| {2}|^$)/.test(e)&&(e=`M 0 0`),this[t]!==e&&(n.setAttribute(t,e),this[t]=e)}fillSetter(e,t,n){typeof e==`string`?n.setAttribute(t,e):e&&this.complexColor(e,t,n)}hrefSetter(e,t,n){n.setAttributeNS(`http://www.w3.org/1999/xlink`,t,e)}getBBox(e,t){let n,r,i,{element:a,renderer:o,styles:s,textStr:c}=this,{cache:l,cacheKeys:u}=o,d=a.namespaceURI===this.SVG_NS,f=q(t,this.rotation,0),p=o.styledMode?a&&Ct.prototype.getStyle.call(a,`font-size`):s.fontSize,m=this.getBBoxCacheKey([o.rootFontSize,this.textWidth,this.alignValue,s.fontWeight,s.lineClamp,s.textOverflow,p,f]);if(m&&!e&&(n=l[m]),!n||n.polygon){if(d||o.forExport){try{i=this.fakeTS&&function(e){let t=a.querySelector(`.highcharts-text-outline`);t&&L(t,{display:e})},be(i)&&i(`none`),n=a.getBBox?z({},a.getBBox()):{width:a.offsetWidth,height:a.offsetHeight,x:0,y:0},be(i)&&i(``)}catch{}(!n||n.width<0)&&(n={x:0,y:0,width:0,height:0})}else n=this.htmlGetBBox();r=n.height,d&&(n.height=r={"11px,17":14,"13px,20":16}[`${p||``},${Math.round(r)}`]||r),f&&(n=this.getRotatedBox(n,f));let e={bBox:n};B(this,`afterGetBBox`,e),n=e.bBox}if(m&&(c===``||n.height>0)){for(;u.length>250;)delete l[u.shift()];l[m]||u.push(m),l[m]=n}return n}getBBoxCacheKey(e){if(R(this.textStr)){let t=``+this.textStr;return t.indexOf(`<`)===-1&&(t=t.replace(/\d/g,`0`)),[t,...e].join(`,`)}}getRotatedBox(e,t){let{x:n,y:r,width:i,height:a}=e,{alignValue:o,translateY:s,rotationOriginX:c=0,rotationOriginY:l=0}=this,u=de(o),d=Number(this.element.getAttribute(`y`)||0)-(s?0:r),f=t*_t,p=(t-90)*_t,m=Math.cos(f),h=Math.sin(f),g=i*m,_=i*h,v=Math.cos(p),y=Math.sin(p),[[b,x],[S,C]]=[c,l].map(e=>[e-e*m,e*h]),w=n+u*(i-g)+b+C+d*v,T=w+g,E=T-a*v,D=E-g,O=r+d-u*_-x+S+d*y,k=O+_,A=k-a*y,j=A-_,ee=Math.min(w,T,E,D),te=Math.min(O,k,A,j);return{x:ee,y:te,width:Math.max(w,T,E,D)-ee,height:Math.max(O,k,A,j)-te,polygon:[[w,O],[T,k],[E,A],[D,j]]}}getStyle(e){return xt.getComputedStyle(this.element||this,``).getPropertyValue(e)}hasClass(e){return(``+this.attr(`class`)).split(` `).indexOf(e)!==-1}hide(){return this.attr({visibility:`hidden`})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(e,t){this.onEvents={},this.opacity=1,this.SVG_NS=bt,this.element=t===`div`||t===`body`?ie(t):vt.createElementNS(this.SVG_NS,t),this.renderer=e,this.styles={},B(this,`afterInit`)}on(e,t){let{onEvents:n}=this;return n[e]&&n[e](),n[e]=M(this.element,e,t),this}opacitySetter(e,t,n){let r=Number(Number(e).toFixed(3));this.opacity=r,n.setAttribute(t,r)}reAlign(){this.alignOptions?.width&&this.alignOptions.align!==`left`&&(this.alignOptions.width=this.getBBox().width,this.placed=!1,this.align())}removeClass(e){return this.attr(`class`,(``+this.attr(`class`)).replace(H(e)?RegExp(`(^| )${e}( |$)`):e,` `).replace(/ +/g,` `).trim())}removeTextOutline(){let e=this.element.querySelector(`tspan.highcharts-text-outline`);e&&this.safeRemoveChild(e)}safeRemoveChild(e){let t=e.parentNode;t&&t.removeChild(e)}setRadialReference(e){let t=this.element.gradient&&this.renderer.gradients[this.element.gradient]||void 0;return this.element.radialReference=e,t?.radAttr&&t.animate(this.renderer.getRadialAttr(e,t.radAttr)),this}shadow(e){let{renderer:t}=this,n=G(this.parentGroup?.rotation===90?{offsetX:-1,offsetY:-1}:{},W(e)?e:{}),r=t.shadowDefinition(n);return this.attr({filter:e?`url(${t.url}#${r})`:`none`})}show(e=!0){return this.attr({visibility:e?`inherit`:`visible`})}"stroke-widthSetter"(e,t,n){this[t]=e,n.setAttribute(t,e)}strokeWidth(){if(!this.renderer.styledMode)return this[`stroke-width`]||0;let e=this.getStyle(`stroke-width`),t=0,n;return/px$/.test(e)?t=J(e):e!==``&&(P(n=vt.createElementNS(bt,`rect`),{width:e,"stroke-width":0}),this.element.parentNode.appendChild(n),t=n.getBBox().width,n.parentNode.removeChild(n)),t}symbolAttr(e){let t=this;Ct.symbolCustomAttribs.forEach(function(n){t[n]=q(e[n],t[n])}),t.attr({d:t.renderer.symbols[t.symbolName](t.x,t.y,t.width,t.height,t)})}textSetter(e){e!==this.textStr&&(delete this.textPxLength,this.textStr=e,this.added&&this.renderer.buildText(this),this.reAlign())}titleSetter(e){let t=this.element,n=t.getElementsByTagName(`title`)[0]||vt.createElementNS(this.SVG_NS,`title`);t.insertBefore?t.insertBefore(n,t.firstChild):t.appendChild(n),n.textContent=Ee(q(e,``),[/<[^>]*>/g,``]).replace(/&lt;/g,`<`).replace(/&gt;/g,`>`)}toFront(){let e=this.element;return e.parentNode.appendChild(e),this}translate(e,t){return this.attr({translateX:e,translateY:t})}updateTransform(e=`transform`){let{element:t,foreignObject:n,matrix:r,rotation:i=0,rotationOriginX:a,rotationOriginY:o,scaleX:s,scaleY:c,text:l,translateX:u=0,translateY:d=0}=this,f=[`translate(${u},${d})`];R(r)&&f.push(`matrix(`+r.join(`,`)+`)`),i&&f.push(`rotate(`+i+` `+(a??t.getAttribute(`x`)??this.x??0)+` `+(o??t.getAttribute(`y`)??this.y??0)+`)`),(R(s)||R(c))&&f.push(`scale(${s??1} ${c??1})`),f.length&&!(l||this).textPath&&(n?.element||t).setAttribute(e,f.join(` `))}visibilitySetter(e,t,n){e===`inherit`?n.removeAttribute(t):this[t]!==e&&n.setAttribute(t,e),this[t]=e}xGetter(e){return this.element.nodeName===`circle`&&(e===`x`?e=`cx`:e===`y`&&(e=`cy`)),this._defaultGetter(e)}zIndexSetter(e,t){let{element:n,parentGroup:r,renderer:i}=this,a=r?.element||i.box,o=a===i.box,s,c,l,u=!1,d,f=this.added,p;if(R(e)?(n.setAttribute(`data-z-index`,e),e*=1,this[t]===e&&(f=!1)):R(this[t])&&n.removeAttribute(`data-z-index`),this[t]=e,f){for((e=this.zIndex)&&r&&(r.handleZ=!0),p=(s=a.childNodes).length-1;p>=0&&!u;p--)d=!R(l=(c=s[p]).getAttribute(`data-z-index`)),c!==n&&(R(e)&&e<0&&d&&!o&&!p?(a.insertBefore(n,s[p]),u=!0):(R(e)&&parseFloat(l||``)<=e||d&&(!R(e)||e>=0))&&(a.insertBefore(n,s[p+1]),u=!0));u||=(a.insertBefore(n,s[3*!!o]),!0)}return u}}Ct.symbolCustomAttribs=[`anchorX`,`anchorY`,`clockwise`,`end`,`height`,`innerR`,`r`,`start`,`width`,`x`,`y`],Ct.prototype.strokeSetter=Ct.prototype.fillSetter,Ct.prototype.yGetter=Ct.prototype.xGetter,Ct.prototype.matrixSetter=Ct.prototype.rotationOriginXSetter=Ct.prototype.rotationOriginYSetter=Ct.prototype.rotationSetter=Ct.prototype.scaleXSetter=Ct.prototype.scaleYSetter=Ct.prototype.translateXSetter=Ct.prototype.translateYSetter=Ct.prototype.verticalAlignSetter=function(e,t){this[t]=e,this.doTransform=!0};let wt=Ct,{charts:Tt}=j,Et=[`#2caffe`,`#544fc5`,`#00e272`,`#fe6a35`,`#6b8abc`,`#d568fb`,`#2ee0ca`,`#fa4b42`,`#feb56a`,`#91e8e1`],Dt=[null,`#00e272`,`#efdf00`];class Ot{constructor(e,t){this.defaultOptions=ee,this.options=G(ee),this.cssVars={light:{},dark:{}},this.renderer=e,this.update(t)}injectCSS(e){let t,n,r,{cssVars:i,renderer:a}=this,o=Object.keys(ce(e,this.defaultOptions)).length>0,s=Math.max(e.colors?.length||0,Et.length),c=`light`,l=(e,t)=>{H(e)&&(t=t.replace(/([0-9]+)/g,`-$1`).replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`),i[c][`--highcharts-${t}`]=e)};for(let t of[`light`,`dark`]){let n=e[t]||{},r={},a=new Z(n?.neutralColor||``),o=new Z(n?.backgroundColor||``),u=new Z(n?.highlightColor||``);c=t,[3,5,10,20,40,60,80,100].forEach(e=>{r[`neutralColor${e}`]=o.tweenTo(a,e/100),r[`highlightColor${e}`]=o.tweenTo(u,e/100)});for(let r=0;r<s;r++)l(n?.colors?.[r]||e.colors?.[r]||(t===`dark`?Dt:[])?.[r]||Et[r]||`#888a`,`color${r}`);K(n,l),K(r,l),t===`light`&&z(i.dark,i.light)}let u=a.defs.element,d=o?`*[data-highcharts-chart="${a.chartIndex}"]`:``,f=u.querySelector(`style.highcharts-palette`)||a.box.ownerDocument.createElement(`style`);f.parentNode||(f.nonce=`highcharts`,f.className=`highcharts-palette`,u.appendChild(f)),n=(t=e=>{let t=``;return K(i.light,(n,r)=>{t+=e&&n!==i.dark[r]?` ${r}: light-dark(${n}, ${i.dark[r]});
3
+ `:` ${r}: ${n};
4
+ `}),t})(),r=t(!0),f.textContent=`${d||`:root`} {
5
+ ${n}
6
+ }
7
+ @supports (color: light-dark(#fff, #000)) {
8
+ ${d||`:root`} {
9
+ ${r}
10
+ }
11
+ }
12
+ .highcharts-container {
13
+ color-scheme: light dark;
14
+ }
15
+ .highcharts-light .highcharts-container {
16
+ color-scheme: light;
17
+ }
18
+ .highcharts-dark .highcharts-container {
19
+ color-scheme: dark;
20
+ }`}update(e){let t=this.renderer.box.parentElement,n=Tt?.[this.renderer.chartIndex];e=G(!0,this.options,e),n&&(n.options.palette=e),!1!==e.injectCSS&&this.injectCSS(e),t&&(H(e.colorScheme)&&[`light`,`dark`,`inherit`].includes(e.colorScheme)?t.style.colorScheme=e.colorScheme:t.style.removeProperty(`color-scheme`))}}class kt extends wt{constructor(e,t,n,r,i,a,o,s,c,l){let u;super(e,`g`),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.doUpdate=!1,this.textStr=t,this.x=n,this.y=r,this.anchorX=a,this.anchorY=o,this.baseline=c,this.className=l,this.addClass(l===`button`?`highcharts-no-tooltip`:`highcharts-label`),l&&this.addClass(`highcharts-`+l),this.text=e.text(void 0,0,0,s).attr({zIndex:1}),typeof i==`string`&&((u=/^url\((.*?)\)$/.test(i))||this.renderer.symbols[i])&&(this.symbolKey=i),this.bBox=kt.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=e.styledMode||u,this.deferredAttr={},this.alignFactor=0}alignSetter(e){let t=de(e);this.textAlign=e,t!==this.alignFactor&&(this.alignFactor=t,this.bBox&&V(this.xSetting)&&this.attr({x:this.xSetting}),this.updateTextPadding())}anchorXSetter(e,t){this.anchorX=e,this.boxAttr(t,Math.round(e)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(e,t){this.anchorY=e,this.boxAttr(t,e-this.ySetting)}boxAttr(e,t){this.box?this.box.attr(e,t):this.deferredAttr[e]=t}css(e){if(e){let t={};e=G(e),kt.textProps.forEach(n=>{e[n]!==void 0&&(t[n]=e[n],delete e[n])}),this.text.css(t),`fontSize`in t||`fontWeight`in t||`width`in t?this.updateTextPadding():`textOverflow`in t&&this.updateBoxSize(),`color`in t&&this.updateBackground()}return wt.prototype.css.call(this,e)}destroy(){De(this.element,`mouseenter`),De(this.element,`mouseleave`),this.text&&this.text.destroy(),this.box&&=this.box.destroy(),wt.prototype.destroy.call(this)}fillSetter(e,t){e&&(this.needsBox=!0),this.fill=e,this.boxAttr(t,e)}getBBox(e,t){(this.textStr&&this.bBox.width===0&&this.bBox.height===0||this.rotation)&&this.updateBoxSize();let{padding:n,height:r=0,translateX:i=0,translateY:a=0,width:o=0}=this,s=q(this.paddingLeft,n),c=t??(this.rotation||0),l={width:o,height:r,x:i+this.bBox.x-s,y:a+this.bBox.y-n+this.baselineOffset};return c&&(l=this.getRotatedBox(l,c)),l}getCrispAdjust(){return(this.renderer.styledMode&&this.box?this.box.strokeWidth():this[`stroke-width`]?parseInt(this[`stroke-width`],10):0)%2/2}heightSetter(e){this.heightSetting=e,this.doUpdate=!0}afterSetters(){super.afterSetters(),this.doUpdate&&=(this.updateBoxSize(),!1),this.updateBackground()}onAdd(){this.text.add(this),this.attr({text:q(this.textStr,``),x:this.x||0,y:this.y||0}),this.box&&R(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(e,t){V(e)?e!==this[t]&&(this[t]=e,this.updateTextPadding()):this[t]=void 0}rSetter(e,t){this.boxAttr(t,e)}strokeSetter(e,t){this.stroke=e,this.boxAttr(t,e)}"stroke-widthSetter"(e,t){e&&(this.needsBox=!0),this[`stroke-width`]=e,this.boxAttr(t,e)}"text-alignSetter"(e){this.textAlign=this[`text-align`]=e,this.updateTextPadding()}textSetter(e){e!==void 0&&this.text.attr({text:e}),this.updateTextPadding(),this.reAlign()}updateBackground(){this.fill===`contrast`&&this.box?.attr({fill:this.renderer.getContrast(this.text.styles.color||`#000`),"fill-opacity":.65})}updateBoxSize(){let e,t=this.text,n={},r=this.padding,i=this.bBox=(!V(this.widthSetting)||!V(this.heightSetting)||this.textAlign)&&R(t.textStr)?t.getBBox(void 0,0):kt.emptyBBox;this.width=this.getPaddedWidth(),this.height=(this.heightSetting||i.height||0)+2*r;let a=this.renderer.fontMetrics(t);if(this.baselineOffset=r+Math.min((this.text.firstLineMetrics||a).b,i.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-a.h)/2),this.needsBox&&!t.textPath){if(!this.box){let e=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();e.addClass((this.className===`button`?``:`highcharts-label-box`)+(this.className?` highcharts-`+this.className+`-box`:``)),e.add(this)}n.x=e=this.getCrispAdjust(),n.y=(this.baseline?-this.baselineOffset:0)+e,n.width=Math.round(this.width),n.height=Math.round(this.height),this.box.attr(z(n,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let e=this.text,t=e.styles.textAlign||this.textAlign;if(!e.textPath){this.updateBoxSize();let n=this.baseline?0:this.baselineOffset,r=(this.paddingLeft??this.padding)+de(t)*(this.widthSetting??this.bBox.width);(r!==e.x||n!==e.y)&&(e.attr({align:t,x:r}),n!==void 0&&e.attr(`y`,n)),e.x=r,e.y=n}}widthSetter(e){this.widthSetting=V(e)?e:void 0,this.doUpdate=!0}getPaddedWidth(){let e=this.padding,t=q(this.paddingLeft,e),n=q(this.paddingRight,e);return(this.widthSetting||this.bBox.width||0)+t+n}xSetter(e){this.x=e,this.alignFactor&&(e-=this.alignFactor*this.getPaddedWidth(),this[`forceAnimate:x`]=!0),this.anchorX&&(this[`forceAnimate:anchorX`]=!0),this.xSetting=Math.round(e),this.attr(`translateX`,this.xSetting)}ySetter(e){this.anchorY&&(this[`forceAnimate:anchorY`]=!0),this.ySetting=this.y=Math.round(e),this.attr(`translateY`,this.ySetting)}}function At(e,t,n,r,i){let a=[];if(i){let o=i.start||0,s=i.end||0,c=q(i.r,n),l=q(i.r,r||n),u=1e-4>Math.abs(s-o-2*Math.PI);u&&(o=Math.PI/2,s=2.5*Math.PI-1e-4);let d=i.innerR,f=q(i.open,u),p=u?0:Math.cos(o),m=u?1:Math.sin(o),h=u?0:Math.cos(s),g=u?1:Math.sin(s),_=q(i.longArc,s-o-Math.PI<1e-4?0:1),v=[`A`,c,l,0,_,q(i.clockwise,1),e+(u?.001:c*h),t+l*g];v.params={start:o,end:s,cx:e,cy:t},a.push([`M`,e+c*p,t+l*m],v),R(d)&&((v=[`A`,d,d,0,_,R(i.clockwise)?1-i.clockwise:0,e+(u?-.001:d*p),t+d*m]).params={start:s,end:o,cx:e,cy:t},a.push(f?[`M`,e+d*h,t+d*g]:[`L`,e+d*h,t+d*g],v)),f||a.push([`Z`])}return a}function jt(e,t,n,r,i){return i?.r?Mt(e,t,n,r,i):[[`M`,e,t],[`L`,e+n,t],[`L`,e+n,t+r],[`L`,e,t+r],[`Z`]]}function Mt(e,t,n,r,i){let a=i?.r||0;return[[`M`,e+a,t],[`L`,e+n-a,t],[`A`,a,a,0,0,1,e+n,t+a],[`L`,e+n,t+r-a],[`A`,a,a,0,0,1,e+n-a,t+r],[`L`,e+a,t+r],[`A`,a,a,0,0,1,e,t+r-a],[`L`,e,t+a],[`A`,a,a,0,0,1,e+a,t],[`Z`]]}kt.emptyBBox={width:0,height:0,x:0,y:0},kt.textProps=[`color`,`direction`,`fontFamily`,`fontSize`,`fontStyle`,`fontWeight`,`lineClamp`,`lineHeight`,`textAlign`,`textDecoration`,`textOutline`,`textOverflow`,`whiteSpace`,`width`];let Nt={arc:At,callout:function(e,t,n,r,i){let a=Math.min(i?.r||0,n,r),o=a+6,s=i?.anchorX,c=i?.anchorY||0,l=Mt(e,t,n,r,{r:a});if(!V(s)||s<n&&s>0&&c<r&&c>0)return l;if(e+s>n-o)if(c>t+o&&c<t+r-o)l.splice(3,1,[`L`,e+n,c-6],[`L`,e+n+6,c],[`L`,e+n,c+6],[`L`,e+n,t+r-a]);else if(s<n){let i=c<t+o,u=i?t:t+r;l.splice(i?2:5,0,[`L`,s,c],[`L`,e+n-a,u])}else l.splice(3,1,[`L`,e+n,r/2],[`L`,s,c],[`L`,e+n,r/2],[`L`,e+n,t+r-a]);else if(e+s<o)if(c>t+o&&c<t+r-o)l.splice(7,1,[`L`,e,c+6],[`L`,e-6,c],[`L`,e,c-6],[`L`,e,t+a]);else if(s>0){let n=c<t+o,i=n?t:t+r;l.splice(n?1:6,0,[`L`,s,c],[`L`,e+a,i])}else l.splice(7,1,[`L`,e,r/2],[`L`,s,c],[`L`,e,r/2],[`L`,e,t+a]);else c>r&&s<n-o?l.splice(5,1,[`L`,s+6,t+r],[`L`,s,t+r+6],[`L`,s-6,t+r],[`L`,e+a,t+r]):c<0&&s>o&&l.splice(1,1,[`L`,s-6,t],[`L`,s,t-6],[`L`,s+6,t],[`L`,n-a,t]);return l},circle:function(e,t,n,r){return At(e+n/2,t+r/2,n/2,r/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(e,t,n,r){return[[`M`,e+n/2,t],[`L`,e+n,t+r/2],[`L`,e+n/2,t+r],[`L`,e,t+r/2],[`Z`]]},rect:jt,roundedRect:Mt,square:jt,triangle:function(e,t,n,r){return[[`M`,e+n/2,t],[`L`,e+n,t+r],[`L`,e,t+r],[`Z`]]},"triangle-down":function(e,t,n,r){return[[`M`,e,t],[`L`,e+n,t],[`L`,e+n/2,t+r],[`Z`]]}},{doc:Pt,SVG_NS:Ft,win:It}=j,Lt=(e,t)=>e.substring(0,t)+`…`,Rt=class{constructor(e){let t=e.styles;this.renderer=e.renderer,this.svgElement=e,this.width=e.textWidth,this.textLineHeight=t?.lineHeight,this.textOutline=t?.textOutline,this.ellipsis=t?.textOverflow===`ellipsis`,this.lineClamp=t?.lineClamp,this.noWrap=t?.whiteSpace===`nowrap`}buildSVG(){let e=this.svgElement,t=e.element,n=e.renderer,r=q(e.textStr,``).toString(),i=r.indexOf(`<`)!==-1,a=t.childNodes,o=!e.added&&n.box,s=[r,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,e.getStyle(`font-size`),e.styles.lineClamp,this.width].join(`,`);if(s!==e.textCache){e.textCache=s,delete e.actualWidth;for(let e=a.length;e--;)t.removeChild(a[e]);if(i||this.ellipsis||this.width||e.textPath||r.indexOf(` `)!==-1&&(!this.noWrap||/<br.*?>/g.test(r))){if(r!==``){o&&o.appendChild(t);let n=new Q(r);this.modifyTree(n.nodes),n.addToDOM(t),this.modifyDOM(),this.ellipsis&&(t.textContent||``).indexOf(`…`)!==-1&&e.attr(`title`,this.unescapeEntities(e.textStr||``,[`&lt;`,`&gt;`])),o&&o.removeChild(t)}}else t.appendChild(Pt.createTextNode(this.unescapeEntities(r)));H(this.textOutline)&&e.applyTextOutline&&e.applyTextOutline(this.textOutline)}}modifyDOM(){let e,t=this.svgElement,n=P(t.element,`x`);for(t.firstLineMetrics=void 0;(e=t.element.firstChild)&&/^[\s\u200B]*$/.test(e.textContent||` `);)t.element.removeChild(e);[].forEach.call(t.element.querySelectorAll(`tspan.highcharts-br`),(e,r)=>{e.nextSibling&&e.previousSibling&&(r===0&&e.previousSibling.nodeType===1&&(t.firstLineMetrics=t.renderer.fontMetrics(e.previousSibling)),P(e,{dy:this.getLineHeight(e.nextSibling),x:n}))});let r=this.width||0;if(!r)return;let i=(e,i)=>{let a=e.textContent||``,o=a.replace(/([^\^])-/g,`$1- `).split(` `),s=!this.noWrap&&(o.length>1||t.element.childNodes.length>1),c=this.getLineHeight(i),l=Math.max(0,r-.8*c),u=0,d=t.actualWidth;if(s){let a=[],s=[];for(;i.firstChild&&i.firstChild!==e;)s.push(i.firstChild),i.removeChild(i.firstChild);for(;o.length;)if(o.length&&!this.noWrap&&u>0&&(a.push(e.textContent||``),e.textContent=o.join(` `).replace(/- /g,`-`)),this.truncate(e,void 0,o,u===0&&d||0,r,l,(e,t)=>o.slice(0,t).join(` `).replace(/- /g,`-`)),d=t.actualWidth,u++,this.lineClamp&&u>=this.lineClamp){o.length&&(this.truncate(e,e.textContent||``,void 0,0,r,l,Lt),e.textContent=e.textContent?.replace(`…`,``)+`…`);break}s.forEach(t=>{i.insertBefore(t,e)}),a.forEach(t=>{i.insertBefore(Pt.createTextNode(t),e);let r=Pt.createElementNS(Ft,`tspan`);r.textContent=`​`,P(r,{dy:c,x:n}),i.insertBefore(r,e)})}else this.ellipsis&&a&&this.truncate(e,a,void 0,0,r,l,Lt)},a=e=>{[].slice.call(e.childNodes).forEach(n=>{n.nodeType===It.Node.TEXT_NODE?i(n,e):(n.className.baseVal.indexOf(`highcharts-br`)!==-1&&(t.actualWidth=0),a(n))})};a(t.element)}getLineHeight(e){let t=e.nodeType===It.Node.TEXT_NODE?e.parentElement:e;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(t||this.svgElement.element).h}modifyTree(e){let t=(n,r)=>{let{attributes:i={},children:a,style:o={},tagName:s}=n,c=this.renderer.styledMode;if(s===`b`||s===`strong`?c?i.class=`highcharts-strong`:o.fontWeight=`bold`:(s===`i`||s===`em`)&&(c?i.class=`highcharts-emphasized`:o.fontStyle=`italic`),o?.color&&(o.fill=o.color),s===`br`){i.class=`highcharts-br`,n.textContent=`​`;let t=e[r+1];t?.textContent&&(t.textContent=t.textContent.replace(/^ +/gm,``))}else s===`a`&&a&&a.some(e=>e.tagName===`#text`)&&(n.children=[{children:a,tagName:`tspan`}]);s!==`#text`&&s!==`a`&&(n.tagName=`tspan`),z(n,{attributes:i,style:o}),a&&a.filter(e=>e.tagName!==`#text`).forEach(t)};e.forEach(t),B(this.svgElement,`afterModifyTree`,{nodes:e})}truncate(e,t,n,r,i,a,o){let s,c,l=this.svgElement,{rotation:u}=l,d=[],f=n&&!r?1:0,p=(t||n||``).length,m=p;n||(i=a);let h=function(t,i){let a=i||t,o=e.parentNode;if(o&&d[a]===void 0&&o.getSubStringLength)try{d[a]=r+o.getSubStringLength(0,n?a+1:a)}catch{}return d[a]};if(l.rotation=0,r+(c=h(e.textContent.length))>i){for(;f<=p;)m=Math.ceil((f+p)/2),n&&(s=o(n,m)),c=h(m,s&&s.length-1),f===p?f=p+1:c>i?p=m-1:f=m;p===0?e.textContent=``:t&&p===t.length-1||(e.textContent=s||o(t||n,m)),this.ellipsis&&c>i&&this.truncate(e,e.textContent||``,void 0,0,i,a,Lt)}n&&n.splice(0,m),l.actualWidth=c,l.rotation=u}unescapeEntities(e,t){return K(this.renderer.escapes,function(n,r){t&&t.indexOf(n)!==-1||(e=e.toString().replace(RegExp(n,`g`),r))}),e}},{defaultOptions:zt}=We,{charts:Bt,deg2rad:Vt,doc:Ht,isFirefox:Ut,isMS:Wt,isWebKit:Gt,noop:Kt,SVG_NS:qt,symbolSizes:Jt,win:Yt}=j;class Xt{constructor(e,t,n,r,i,a,o,s,c){let l,u;this.x=0,this.y=0;let d=this.createElement(`svg`).attr({version:`1.1`,class:`highcharts-root`}),f=d.element;e.appendChild(f),P(e,`dir`,`ltr`),e.innerHTML.indexOf(`xmlns`)===-1&&P(f,`xmlns`,this.SVG_NS),this.box=f,this.boxWrapper=d,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement(`desc`).add().element.appendChild(Ht.createTextNode(`Created with Highcharts 13.0.0`)),this.defs=this.createElement(`defs`).add(),this.allowHTML=a,this.forExport=i,this.styledMode=o,this.chartIndex=c||0,this.gradients={},this.cache={},this.cacheKeys=[],this.asyncCounter=0,this.rootFontSize=d.getStyle(`font-size`),this.setSize(t,n,!1),o||(d.css(this.getStyle(r||{})),this.palette=new Ot(this,s||zt.palette)),Ut&&e.getBoundingClientRect&&((l=function(){L(e,{left:0,top:0}),u=e.getBoundingClientRect(),L(e,{left:Math.ceil(u.left)-u.left+`px`,top:Math.ceil(u.top)-u.top+`px`})})(),this.unSubPixelFix=M(Yt,`resize`,l))}definition(e){return new Q([e]).addToDOM(this.defs.element)}getReferenceURL(){if((Ut||Gt)&&Ht.getElementsByTagName(`base`).length){if(!R(t)){let e=Fe(),n=new Q([{tagName:`svg`,attributes:{width:8,height:8},children:[{tagName:`defs`,children:[{tagName:`clipPath`,attributes:{id:e},children:[{tagName:`rect`,attributes:{width:4,height:4}}]}]},{tagName:`rect`,attributes:{id:`hitme`,width:8,height:8,"clip-path":`url(#${e})`,fill:`rgba(0,0,0,0.001)`}}]}]).addToDOM(Ht.body);L(n,{position:`fixed`,top:0,left:0,zIndex:9e5}),t=Ht.elementFromPoint(6,6)?.id===`hitme`,Ht.body.removeChild(n)}if(t)return Ee(Yt.location.href.split(`#`)[0],[/<[^>]*>/g,``],[/([\('\)])/g,`\\$1`],[/ /g,`%20`])}return``}getStyle(e){return this.style=z({fontFamily:`-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif`,fontSize:`1rem`},e),this.style}setStyle(e){this.boxWrapper.css(this.getStyle(e))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let e=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),oe(this.gradients||{}),this.gradients=null,this.defs=e.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects.length=0,null}createElement(e){return new this.Element(this,e)}getRadialAttr(e,t){return{cx:e[0]-e[2]/2+(t.cx||0)*e[2],cy:e[1]-e[2]/2+(t.cy||0)*e[2],r:(t.r||0)*e[2]}}shadowDefinition(e){let t=[`highcharts-drop-shadow-${this.chartIndex}`,...Object.keys(e).map(t=>`${t}-${e[t]}`)].join(`-`).toLowerCase().replace(/[^a-z\d\-]/g,``),n=G({color:`#000000`,offsetX:0,offsetY:2,opacity:.05,width:6},e);return this.defs.element.querySelector(`#${t}`)||this.definition({tagName:`filter`,attributes:{id:t,filterUnits:n.filterUnits},children:this.getShadowFilterContent(n)}),t}getShadowFilterContent(e){return[{tagName:`feDropShadow`,attributes:{dx:e.offsetX,dy:e.offsetY,"flood-color":e.color,"flood-opacity":Math.min(5*e.opacity,1),stdDeviation:e.width/2}}]}buildText(e){new Rt(e).buildSVG()}getContrast(e){if(e===`transparent`)return`#000000`;let t=Z.parse(e).rgba;if(V(t[0])||!Z.useColorMix){let e=t.map(e=>{let t=e/255;return t<=.04?t/12.92:((t+.055)/1.055)**2.4}),n=.2126*e[0]+.7152*e[1]+.0722*e[2];return 1.05/(n+.05)>(n+.05)/.05?`#FFFFFF`:`#000000`}return`color(from `+e+` srgb clamp(0,calc(9e9*(0.5 - (0.2126*r + 0.7152*g + 0.0722*b))),1) clamp(0,calc(9e9*(0.5 - (0.2126*r + 0.7152*g + 0.0722*b))),1) clamp(0,calc(9e9*(0.5 - (0.2126*r + 0.7152*g + 0.0722*b))),1))`}button(e,t,n,r,i={},a,o,s,c,l){let u=this.label(e,t,n,c,void 0,void 0,l,void 0,`button`),d=this.styledMode,f=arguments,p=0;i=G(zt.global.buttonTheme,i),d&&(delete i.fill,delete i.stroke,delete i[`stroke-width`]);let m=i.states||{},h=i.style||{};delete i.states,delete i.style;let g=[Q.filterUserAttributes(i)],_=[h];return d||[`hover`,`select`,`disabled`].forEach((e,t)=>{g.push(G(g[0],Q.filterUserAttributes(f[t+5]||m[e]||{}))),_.push(g[t+1].style),delete g[t+1].style}),M(u.element,Wt?`mouseover`:`mouseenter`,function(){p!==3&&u.setState(1)}),M(u.element,Wt?`mouseout`:`mouseleave`,function(){p!==3&&u.setState(p)}),u.setState=(e=0)=>{if(e!==1&&(u.state=p=e),u.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass(`highcharts-button-`+[`normal`,`hover`,`pressed`,`disabled`][e]),!d){u.attr(g[e]);let t=_[e];W(t)&&u.css(t)}},u.attr(g[0]),!d&&(u.css(z({cursor:`default`},h)),l&&u.text.css({pointerEvents:`none`})),u.on(`touchstart`,e=>e.stopPropagation()).on(`click`,function(e){p!==3&&r?.call(u,e)})}crispLine(e,t){let[n,r]=e;return R(n[1])&&n[1]===r[1]&&(n[1]=r[1]=ae(n[1],t)),R(n[2])&&n[2]===r[2]&&(n[2]=r[2]=ae(n[2],t)),e}path(e){let t=this.styledMode?{}:{fill:`none`};return U(e)?t.d=e:W(e)&&z(t,e),this.createElement(`path`).attr(t)}circle(e,t,n){let r=W(e)?e:e===void 0?{}:{x:e,y:t,r:n},i=this.createElement(`circle`);return i.xSetter=i.ySetter=function(e,t,n){n.setAttribute(`c`+t,e)},i.attr(r)}arc(e,t,n,r,i,a){let o;W(e)?(t=(o=e).y,n=o.r,r=o.innerR,i=o.start,a=o.end,e=o.x):o={innerR:r,start:i,end:a};let s=this.symbol(`arc`,e,t,n,n,o);return s.r=n,s}rect(e,t,n,r,i,a){let o=W(e)?e:e===void 0?{}:{x:e,y:t,r:i,width:Math.max(n||0,0),height:Math.max(r||0,0)},s=this.createElement(`rect`);return this.styledMode||(a!==void 0&&(o[`stroke-width`]=a,z(o,s.crisp(o))),o.fill=`none`),s.rSetter=function(e,t,n){s.r=e,P(n,{rx:e,ry:e})},s.rGetter=function(){return s.r||0},s.attr(o)}roundedRect(e){return this.symbol(`roundedRect`).attr(e)}setSize(e,t,n){this.width=e,this.height=t,this.boxWrapper.animate({width:e,height:t},{step:function(){this.attr({viewBox:`0 0 `+this.attr(`width`)+` `+this.attr(`height`)})},duration:q(n,!0)?void 0:0}),this.alignElements()}g(e){let t=this.createElement(`g`);return e?t.attr({class:`highcharts-`+e}):t}image(e,t,n,r,i,a){let o={preserveAspectRatio:`none`};V(t)&&(o.x=t),V(n)&&(o.y=n),V(r)&&(o.width=r),V(i)&&(o.height=i);let s=this.createElement(`image`).attr(o),c=function(t){s.attr({href:e}),a.call(s,t)};if(a){s.attr({href:`data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==`});let t=new Yt.Image;M(t,`load`,c),t.src=e,t.complete&&c({})}else s.attr({href:e});return s}symbol(e,t,n,r,i,a){let o,s,c,l,u=this,d=/^url\((.*?)\)$/,f=d.test(e),p=!f&&(this.symbols[e]?e:`circle`),m=p&&this.symbols[p];if(m)typeof t==`number`&&(s=m.call(this.symbols,t||0,n||0,r||0,i||0,a)),o=this.path(s),u.styledMode||o.attr(`fill`,`none`),z(o,{symbolName:p||void 0,x:t,y:n,width:r,height:i}),a&&z(o,a);else if(f){c=e.match(d)[1];let r=o=this.image(c);r.imgwidth=q(a?.width,Jt[c]?.width),r.imgheight=q(a?.height,Jt[c]?.height),l=e=>e.attr({width:e.width,height:e.height}),[`width`,`height`].forEach(e=>{r[`${e}Setter`]=function(e,t){this[t]=e;let{alignByTranslate:n,element:r,width:i,height:o,imgwidth:s,imgheight:c}=this,l=t===`width`?s:c,u=1;a&&a.backgroundSize===`within`&&i&&o&&s&&c?(u=Math.min(i/s,o/c),P(r,{width:Math.round(s*u),height:Math.round(c*u)})):r&&l&&r.setAttribute(t,l),!n&&s&&c&&this.translate(((i||0)-s*u)/2,((o||0)-c*u)/2)}}),R(t)&&r.attr({x:t,y:n}),r.isImg=!0,R(r.imgwidth)&&R(r.imgheight)?l(r):(r.attr({width:0,height:0}),ie(`img`,{onload:function(){let e=Bt[u.chartIndex];this.width===0&&(L(this,{position:`absolute`,top:`-999em`}),Ht.body.appendChild(this)),Jt[c]={width:this.width,height:this.height},r.imgwidth=this.width,r.imgheight=this.height,r.element&&l(r),this.parentNode&&this.parentNode.removeChild(this),u.asyncCounter--,u.asyncCounter||!e||e.hasLoaded||e.onload()},src:c}),this.asyncCounter++)}return o}clipRect(e,t,n,r){return this.rect(e,t,n,r,0)}text(e,t,n,r){let i={};if(r&&(this.allowHTML||!this.forExport))return this.html(e,t,n);i.x=Math.round(t||0),n&&(i.y=Math.round(n)),R(e)&&(i.text=e);let a=this.createElement(`text`).attr(i);return r&&(!this.forExport||this.allowHTML)||(a.xSetter=function(e,t,n){let r=n.getElementsByTagName(`tspan`),i=n.getAttribute(t);for(let n=0,a;n<r.length;n++)(a=r[n]).getAttribute(t)===i&&a.setAttribute(t,e);n.setAttribute(t,e)}),a}fontMetrics(e){let t=V(e)?e:J(wt.prototype.getStyle.call(e,`font-size`)||0),n=t<24?t+3:Math.round(1.2*t);return{h:n,b:Math.round(.8*n),f:t}}rotCorr(e,t,n){let r=e;return t&&n&&(r=Math.max(r*Math.cos(t*Vt),4)),{x:-e/3*Math.sin(t*Vt),y:r}}pathToSegments(e){let t=[],n=[],r={A:8,C:7,H:2,L:3,M:3,Q:5,S:5,T:3,V:2};for(let i=0;i<e.length;i++)H(n[0])&&V(e[i])&&n.length===r[n[0].toUpperCase()]&&e.splice(i,0,n[0].replace(`M`,`L`).replace(`m`,`l`)),typeof e[i]==`string`&&(n.length&&t.push(n.slice(0)),n.length=0),n.push(e[i]);return t.push(n.slice(0)),t}label(e,t,n,r,i,a,o,s,c){return new kt(this,e,t,n,r,i,a,o,s,c)}alignElements(){this.alignedObjects.forEach(e=>e.align())}}z(Xt.prototype,{Element:wt,SVG_NS:qt,escapes:{"&":`&amp;`,"<":`&lt;`,">":`&gt;`,"'":`&#39;`,'"':`&quot;`},symbols:Nt,draw:Kt}),j.Renderer=Xt;let{composed:Zt,isFirefox:Qt}=j;class $t extends wt{static compose(e){we(Zt,`HTMLElement`)&&(e.prototype.html=function(e,t,n){return new $t(this,`div`).attr({text:e,x:Math.round(t),y:Math.round(n)})})}constructor(e,t){super(e,t),this.foreignObject=e.createElement(`foreignObject`).attr({zIndex:2}),this.element.style.whiteSpace=`nowrap`}getSpanCorrection(e,t,n){this.xCorr=-e*n,this.yCorr=-t}css(e){let t,{element:n}=this,r=e&&`width`in e,i=r&&e.width;return r&&(delete e.width,this.textWidth=J(i)||void 0,t=!0),e?.textOverflow===`ellipsis`&&(e.overflow=`hidden`,e.whiteSpace=`nowrap`),e?.lineClamp?(e.display=`-webkit-box`,e.WebkitLineClamp=e.lineClamp,e.WebkitBoxOrient=`vertical`,e.overflow=`hidden`):e?.lineClamp===0&&(e.display=`inline-block`),V(Number(e?.fontSize))&&(e.fontSize+=`px`),z(this.styles,e),L(n,e),t&&this.updateTransform(),this}htmlGetBBox(){let{element:e}=this;return{x:e.offsetLeft,y:e.offsetTop,width:e.offsetWidth,height:e.offsetHeight}}updateTransform(){let e;if(!this.added){this.alignOnAdd=!0;return}let{element:t,foreignObject:n,oldTextWidth:r,renderer:i,rotation:a,scaleX:o,styles:{display:s=`inline-block`,whiteSpace:c},textAlign:l=`left`,textWidth:u,x:d=0,y:f=0}=this,p=()=>this.textPxLength?this.textPxLength:(L(t,{width:``,whiteSpace:c||`nowrap`}),t.offsetWidth),m=[a,l,t.innerHTML,u,this.textAlign].join(`,`);if(L(t,{display:`inline-block`,verticalAlign:`top`}),u!==r){let e=p(),n=u||0,l=!i.styledMode&&t.style.textOverflow===``&&t.style.webkitLineClamp;(n>r||e>n||l)&&(/[\-\s\u00AD]/.test(t.textContent||t.innerText)||t.style.textOverflow===`ellipsis`)&&(L(t,{width:(a||o||e>n)&&V(u)?u+`px`:l?Math.min(e+1,n)+`px`:`auto`,display:s,whiteSpace:c||`normal`}),this.oldTextWidth=u)}n.attr({width:i.width,height:i.height}),m!==this.cTT&&(e=i.fontMetrics(t).b,this.getSpanCorrection(!R(a)&&!this.textWidth&&this.textPxLength||t.offsetWidth,e,de(l))),super.updateTransform(),V(d)&&V(f)?(n.attr({x:d+(this.xCorr||0),y:f+(this.yCorr||0),width:t.offsetWidth+4,height:t.offsetHeight+1,"transform-origin":t.getAttribute(`transform-origin`)||`0 0`}),L(t,{display:s,textAlign:l})):Qt&&n.attr({width:0,height:0}),this.cTT=m}add(e){let{foreignObject:t,renderer:n}=this;return t.add(e),super.add(n.createElement(`body`).attr({xmlns:`http://www.w3.org/1999/xhtml`}).css({background:`transparent`,margin:`0 3px 0 0`}).add(t)),this.alignOnAdd&&this.updateTransform(),this}textSetter(e){e!==this.textStr&&(delete this.oldTextWidth,Q.setElementHTML(this.element,e??``),this.textStr=e,this.doTransform=!0)}alignSetter(e){this.alignValue=this.textAlign=e,this.doTransform=!0}xSetter(e,t){this[t]=e,this.doTransform=!0}}let en=$t.prototype;en.ySetter=en.xSetter,(o=h||={}).xAxis={alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:`%[HMSL]`,range:!1},second:{main:`%[HMS]`,range:!1},minute:{main:`%[HM]`,range:!1},hour:{main:`%[HM]`,boundary:void 0,range:!1},day:{main:`%[eb]`,boundary:`%[eb]`},week:{main:`%[eb]`},month:{main:`%[bY]`,boundary:void 0},year:{main:`%[Y]`,boundary:void 0}},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:`var(--highcharts-neutral-color-80)`,cursor:`default`,fontSize:`0.8em`,textOverflow:`ellipsis`}},maxPadding:.01,minorGridLineDashStyle:`Solid`,minorTickLength:2,minorTickPosition:`outside`,minorTicksPerMajor:5,minPadding:.01,offset:void 0,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickmarkPlacement:`between`,tickPixelInterval:100,tickPosition:`outside`,title:{align:`middle`,useHTML:!1,x:0,y:0,style:{color:`var(--highcharts-neutral-color-60)`,fontSize:`0.8em`}},visible:!0,minorGridLineColor:`var(--highcharts-neutral-color-5)`,minorGridLineWidth:1,minorTickColor:`var(--highcharts-neutral-color-40)`,lineColor:`var(--highcharts-neutral-color-80)`,lineWidth:1,gridLineColor:`var(--highcharts-neutral-color-10)`,gridLineWidth:void 0,tickColor:`var(--highcharts-neutral-color-80)`},o.yAxis={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:`justify`,formatter:function(){return this.axis.chart.numberFormatter(this.total||0,-1)},style:{color:`var(--highcharts-neutral-color-100)`,fontSize:`0.7em`,fontWeight:`bold`,textOutline:`1px contrast`}},gridLineWidth:1,lineWidth:0};let tn=h;(g||={}).registerEventOptions=function(e,t){e.eventOptions=e.eventOptions||{},K(t.events,function(t,n){e.eventOptions[n]!==t&&(e.eventOptions[n]&&(De(e,n,e.eventOptions[n]),delete e.eventOptions[n]),be(t)&&(e.eventOptions[n]=t,M(e,n,t,{order:0})))})};let nn=g,{deg2rad:rn}=j,an=class{constructor(e,t,n,r,i){this.isNew=!0,this.isNewLabel=!0,this.axis=e,this.pos=t,this.type=n||``,this.parameters=i||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,B(this,`init`),n||r||this.addLabel()}addLabel(){let e=this,t=e.axis,n=t.options,r=t.chart,i=t.categories,a=t.logarithmic,o=t.names,s=e.pos,c=q(e.options?.labels,n.labels),l=t.tickPositions,u=s===l[0],d=s===l[l.length-1],f=l.info,p=f?.boundaryTicks[s],m=n.dateTimeLabelFormats,h=e.label,g,_,v,y=this.parameters.category||(i?q(i[s],o[s],s):s);if(a&&V(y)&&(y=I(a.lin2log(y))),t.dateTime&&m)if(f){let e=f.unitName,t={millisecond:`hour`,second:`hour`,minute:`hour`,hour:`day`,day:`month`,week:`month`,month:`year`,year:`year`}[e],i=!n.grid?.enabled&&p&&t&&m[t]?.boundary||m[e];g=(_=r.time.resolveDTLFormat(i)).main}else V(y)&&(g=t.dateTime.getXDateFormat(y,m||{}));e.isFirst=u,e.isLast=d,e.boundary=p;let b={axis:t,chart:r,dateTimeLabelFormat:g,boundary:p,isFirst:u,isLast:d,pos:s,tick:e,tickPositionInfo:f,value:y};B(this,`labelFormat`,b);let x=e=>c.formatter?c.formatter.call(e,e):c.format?(e.text=t.defaultLabelFormatter.call(e),ft.format(c.format,e,r)):t.defaultLabelFormatter.call(e),S=x.call(b,b),C=_?.list;C?e.shortenLabel=function(){for(v=0;v<C.length;v++)if(z(b,{dateTimeLabelFormat:C[v]}),h.attr({text:x.call(b,b)}),h.getBBox().width<t.getSlotWidth(e)-2*(c.padding||0))return;h.attr({text:``})}:e.shortenLabel=void 0,h?h.textStr!==S&&(!h.textWidth||c.style.width||h.styles.width||h.css({width:void 0}),h.attr({text:S}),h.textPxLength=h.getBBox().width):(e.label=h=e.createLabel(S,c),e.rotation=0)}createLabel(e,t,n){let r=this.axis,{renderer:i,styledMode:a}=r.chart,o=t.style.whiteSpace,s=R(e)&&t.enabled?i.text(e,n?.x,n?.y,t.useHTML).add(r.labelGroup):void 0;return s&&(a||s.css(G(t.style)),s.textPxLength=s.getBBox().width,!a&&o&&s.css({whiteSpace:o})),s}destroy(){oe(this,this.axis)}getPosition(e,t,n,r){let i=this.axis,a=i.chart,o=r&&a.oldChartHeight||a.chartHeight,s={x:e?I(i.translate(t+n,void 0,void 0,r)+i.transB):i.left+i.offset+(i.opposite?(r&&a.oldChartWidth||a.chartWidth)-i.right-i.left:0),y:e?o-i.bottom+i.offset-(i.opposite?i.height:0):I(o-i.translate(t+n,void 0,void 0,r)-i.transB)};return s.y=F(s.y,-1e9,1e9),B(this,`afterGetPosition`,{pos:s}),s}getLabelPosition(e,t,n,r,i,a,o,s){let c,l,u=this.axis,d=u.transA,f=u.isLinked&&u.linkedParent?u.linkedParent.reversed:u.reversed,p=u.staggerLines,m=u.tickRotCorr||{x:0,y:0},h=r||u.reserveSpaceDefault?0:-u.labelOffset*(u.labelAlign===`center`?.5:1),g=i.distance,_={};return c=u.side===0?n.rotation?-g:-n.getBBox().height:u.side===2?m.y+g:Math.cos(n.rotation*rn)*(m.y-n.getBBox(!1,0).height/2),R(i.y)&&(c=u.side===0&&u.horiz?i.y+c:i.y),e=e+q(i.x,[0,1,0,-1][u.side]*g)+h+m.x-(a&&r?a*d*(f?-1:1):0),t=t+c-(a&&!r?a*d*(f?1:-1):0),p&&(l=o/(s||1)%p,u.opposite&&(l=p-l-1),t+=l*(u.labelOffset/p)),_.x=e,_.y=Math.round(t),B(this,`afterGetLabelPosition`,{pos:_,tickmarkOffset:a,index:o}),_}getLabelSize(){return this.label?this.label.getBBox()[this.axis.horiz?`height`:`width`]:0}getMarkPath(e,t,n,r,i=!1,a){return a.crispLine([[`M`,e,t],[`L`,e+(i?0:-n),t+(i?n:0)]],r)}handleOverflow(e){let t=this.axis,n=t.options.labels,r=e.x,i=t.chart.chartWidth,a=t.chart.spacing,o=q(t.labelLeft,Math.min(t.pos,a[3])),s=q(t.labelRight,Math.max(t.isRadial?0:t.pos+t.len,i-a[1])),c=this.label,l=this.rotation,u=de(t.labelAlign||c.attr(`align`)),d=c.getBBox().width,f=t.getSlotWidth(this),p=f,m=1,h;l||n.overflow!==`justify`?l<0&&r-u*d<o?h=Math.round(r/Math.cos(l*rn)-o):l>0&&r+u*d>s&&(h=Math.round((i-r)/Math.cos(l*rn))):(r-u*d<o?p=e.x+p*(1-u)-o:r+(1-u)*d>s&&(p=s-e.x+p*u,m=-1),(p=Math.min(f,p))<f&&t.labelAlign===`center`&&(e.x+=m*(f-p-u*(f-Math.min(d,p)))),(d>p||t.autoRotation&&c?.styles?.width)&&(h=p)),h&&c&&(this.shortenLabel?this.shortenLabel():c.css(z({},{width:Math.floor(h)+`px`,lineClamp:+!t.isRadial})))}render(e,t,n){let r=this.axis,i=r.horiz,a=this.pos,o=q(this.tickmarkOffset,r.tickmarkOffset),s=this.getPosition(i,a,o,t),c=s.x,l=s.y,u=r.pos,d=u+r.len,f=i?c:l,p=q(n,this.label?.newOpacity,1);!r.chart.polar&&(I(f)<u||f>d)&&(n=0),n??=1,this.isActive=!0,this.renderGridLine(t,n),this.renderMark(s,n),this.renderLabel(s,t,p,e),this.isNew=!1,B(this,`afterRender`)}renderGridLine(e,t){let n=this.axis,r=n.options,i={},a=this.pos,o=this.type,s=q(this.tickmarkOffset,n.tickmarkOffset),c=n.chart.renderer,l=this.gridLine,u,d=r.gridLineWidth,f=r.gridLineColor,p=r.gridLineDashStyle;this.type===`minor`&&(d=r.minorGridLineWidth,f=r.minorGridLineColor,p=r.minorGridLineDashStyle),l||(n.chart.styledMode||(i.stroke=f,i[`stroke-width`]=d||0,i.dashstyle=p),o||(i.zIndex=1),e&&(t=0),this.gridLine=l=c.path().attr(i).addClass(`highcharts-`+(o?o+`-`:``)+`grid-line`).add(n.gridGroup)),l&&(u=n.getPlotLinePath({value:a+s,lineWidth:l.strokeWidth(),force:`pass`,old:e,acrossPanes:!1}))&&l[e||this.isNew?`attr`:`animate`]({d:u,opacity:t})}renderMark(e,t){let n=this.axis,r=n.options,i=n.chart.renderer,a=this.type,o=n.tickSize(a?a+`Tick`:`tick`),s=e.x,c=e.y,l=q(r[a===`minor`?`minorTickWidth`:`tickWidth`],!a&&n.isXAxis?1:0),u=r[a===`minor`?`minorTickColor`:`tickColor`],d=this.mark,f=!d;o&&(n.opposite&&(o[0]=-o[0]),!d&&(this.mark=d=i.path().addClass(`highcharts-`+(a?a+`-`:``)+`tick`).add(n.axisGroup),n.chart.styledMode||d.attr({stroke:u,"stroke-width":l})),d[f?`attr`:`animate`]({d:this.getMarkPath(s,c,o[0],d.strokeWidth(),n.horiz,i),opacity:t}))}renderLabel(e,t,n,r){let i=this.axis,a=i.horiz,o=i.options,s=this.label,c=o.labels,l=c.step,u=q(this.tickmarkOffset,i.tickmarkOffset),d=e.x,f=e.y,p=!0;s&&V(d)&&(s.xy=e=this.getLabelPosition(d,f,s,a,c,u,r,l),(!this.isFirst||this.isLast||o.showFirstLabel)&&(!this.isLast||this.isFirst||o.showLastLabel)?a&&!t&&n!==0&&this.handleOverflow(e):p=!1,l&&r%l&&(p=!1),p&&V(e.y)?(e.opacity=n,s[this.isNewLabel?`attr`:`animate`](e).show(!0),this.isNewLabel=!1):(s.hide(),this.isNewLabel=!0))}},{animObject:on}=$e,{xAxis:sn,yAxis:cn}=tn,{parse:ln}=Z,{defaultOptions:un}=We,{registerEventOptions:dn}=nn,{deg2rad:fn}=j,pn=(e,t)=>xe(t,void 0,void 0,q(e.options.allowDecimals,t<.5||e.tickAmount!==void 0),!!e.tickAmount);z(un,{xAxis:sn,yAxis:G(sn,cn)});class mn{constructor(e,t,n){this.clippable=!0,this.init(e,t,n)}init(e,t,n=this.coll){let r=n===`xAxis`,i=this.isZAxis||(e.inverted?!r:r);this.chart=e,this.horiz=i,this.isXAxis=r,this.coll=n,B(this,`init`,{userOptions:t}),this.opposite=q(t.opposite,this.opposite),this.side=q(t.side,this.side,i?2*!this.opposite:this.opposite?1:3),this.setOptions(t);let a=this.options,o=a.labels;this.type??=a.type||`linear`,this.uniqueNames??=a.uniqueNames??!0,B(this,`afterSetType`),this.userOptions=t,this.minPixelPadding=0,this.reversed=q(a.reversed,this.reversed),this.visible=a.visible,this.zoomEnabled=a.zoomEnabled,this.hasNames=this.type===`category`||!0===a.categories,this.categories=U(a.categories)&&a.categories||(this.hasNames?[]:void 0),this.names||=[],this.namesMap||={},this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=R(a.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len??=0,this.minRange=this.userMinRange=a.minRange||a.maxZoom,this.range=a.range,this.max=void 0,this.min=void 0;let s=q(a.crosshair,Oe(e.options.tooltip.crosshairs)[+!r]);this.crosshair=!0===s?{}:s,e.axes.indexOf(this)===-1&&(r?e.axes.splice(e.xAxis.length,0,this):e.axes.push(this),Pe(this,e[this.coll])),e.orderItems(this.coll),this.series=this.series||[],e.inverted&&!this.isZAxis&&r&&!R(this.reversed)&&(this.reversed=!0),this.labelRotation=V(o.rotation)?o.rotation:void 0,dn(this,a),B(this,`afterInit`)}setOptions(e){let t=this.horiz?{labels:{autoRotation:[-45],padding:3},margin:15}:{labels:{padding:1},title:{rotation:90*this.side}};this.options=G(t,this.coll===`yAxis`?{title:{text:this.chart.options.lang.yAxisTitle}}:{},un[this.coll],e),B(this,`afterSetOptions`,{userOptions:e})}defaultLabelFormatter(){let e=this.axis,t=this.chart,{numberFormatter:n}=t,r=V(this.value)?this.value:NaN,i=e.chart.time,a=e.categories,o=this.dateTimeLabelFormat,s=un.lang,c=s.numericSymbols,l=s.numericSymbolMagnitude||1e3,u=e.logarithmic?Math.abs(r):e.tickInterval,d=c?.length,f,p;if(a)p=`${this.value}`;else if(o)p=i.dateFormat(o,r,!0);else if(d&&c&&u>=1e3)for(;d--&&p===void 0;)u>=(f=l**+(d+1))&&10*r%f==0&&c[d]!==null&&r!==0&&(p=n(r/f,-1,void 0,void 0,t)+c[d]);return p??=n(r,-1,void 0,1e4>Math.abs(r)?``:void 0,t),p}getSeriesExtremes(){let e,t=this;B(this,`getSeriesExtremes`,null,function(){t.hasVisibleSeries=!1,t.dataMin=t.dataMax=t.threshold=void 0,t.softThreshold=!t.isXAxis,t.series.forEach(n=>{if(n.reserveSpace()){let r=n.options,i,a=r.threshold,o,s;if(t.hasVisibleSeries=!0,t.positiveValuesOnly&&0>=(a||0)&&(a=void 0),t.isXAxis)(i=n.getColumn(`x`)).length&&(i=t.logarithmic?i.filter(e=>e>0):i,o=(e=n.getXExtremes(i)).min,s=e.max,V(o)||o instanceof Date||(i=i.filter(V),o=(e=n.getXExtremes(i)).min,s=e.max),i.length&&(t.dataMin=Math.min(q(t.dataMin,o),o),t.dataMax=Math.max(q(t.dataMax,s),s)));else{let e=n.applyExtremes();V(e.dataMin)&&(o=e.dataMin,t.dataMin=Math.min(q(t.dataMin,o),o)),V(e.dataMax)&&(s=e.dataMax,t.dataMax=Math.max(q(t.dataMax,s),s)),R(a)&&(t.threshold=a),(!r.softThreshold||t.positiveValuesOnly)&&(t.softThreshold=!1)}}})}),B(this,`afterGetSeriesExtremes`)}translate(e,t,n,r,i,a){let o=this.linkedParent||this,s=r&&o.old?o.old.min:o.min;if(!V(s))return NaN;let c=o.minPixelPadding,l=(o.isOrdinal||o.brokenAxis?.hasBreaks||o.logarithmic&&i)&&!!o.lin2val,u=1,d=0,f=r&&o.old?o.old.transA:o.transA,p=0;return f||=o.transA,n&&(u*=-1,d=o.len),o.reversed&&(u*=-1,d-=u*(o.sector||o.len)),t?(p=(e=e*u+d-c)/f+s,l&&(p=o.lin2val(p))):(l&&(e=o.val2lin(e)),p=u*(e-s)*f+d+u*c+(V(a)?f*a:0),o.isRadial||(p=I(p))),p}toPixels(e,t){return this.translate(this.chart?.time.parse(e)??NaN,!1,!this.horiz,void 0,!0)+(t?0:this.pos)}toValue(e,t){return this.translate(e-(t?0:this.pos),!0,!this.horiz,void 0,!0)}getPlotLinePath(e){let t=this,n=t.chart,r=t.left,i=t.top,a=e.old,o=e.value,s=e.lineWidth,c=a&&n.oldChartHeight||n.chartHeight,l=a&&n.oldChartWidth||n.chartWidth,u=t.transB,d=e.translatedValue,f=e.force,p,m,h,g,_;function v(e,t,n){return f!==`pass`&&(e<t||e>n)&&(f?e=F(e,t,n):_=!0),e}let y={value:o,lineWidth:s,old:a,force:f,acrossPanes:e.acrossPanes,translatedValue:d};return B(this,`getPlotLinePath`,y,function(e){p=h=(d=F(d=q(d,t.translate(o,void 0,void 0,a)),-1e9,1e9))+u,m=g=c-d-u,V(d)?t.horiz?(m=i,g=c-t.bottom+(t.options.isInternal?0:n.scrollablePixelsY||0),p=h=v(p,r,r+t.width)):(p=r,h=l-t.right+(n.scrollablePixelsX||0),m=g=v(m,i,i+t.height)):(_=!0,f=!1),e.path=_&&!f?void 0:n.renderer.crispLine([[`M`,p,m],[`L`,h,g]],s||1)}),y.path}getLinearTickPositions(e,t,n){let r,i,a,o=I(Math.floor(t/e)*e),s=I(Math.ceil(n/e)*e),c=[];if(I(o+e)===o&&(a=20),this.single)return[t];for(r=o;r<=s&&(c.push(r),(r=I(r+e,a))!==i);)i=r;return c}getMinorTickInterval(){let{minorTicks:e,minorTickInterval:t}=this.options;return!0===e?q(t,`auto`):!1===e?void 0:t}getMinorTickPositions(){let e=this.options,t=this.tickPositions,n=this.minorTickInterval,r=this.pointRangePadding||0,i=(this.min||0)-r,a=(this.max||0)+r,o=this.brokenAxis?.hasBreaks?this.brokenAxis.unitLength:a-i,s=[],c;if(o&&o/n<this.len/3){let r=this.logarithmic;if(r)this.paddedTicks.forEach(function(e,t,i){t&&s.push.apply(s,r.getLogTickPositions(n,i[t-1],i[t],!0))});else if(this.dateTime&&this.getMinorTickInterval()===`auto`)s=s.concat(this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(n),i,a,e.startOfWeek));else for(c=i+(t[0]-i)%n;c<=a&&c!==s[0];c+=n)s.push(c)}return s.length!==0&&this.trimTicks(s),s}adjustForMinRange(){let e=this.options,t=this.logarithmic,n=this.chart.time,{max:r,min:i,minRange:a}=this,o,s,c,l;this.isXAxis&&a===void 0&&!t&&(a=R(e.min)||R(e.max)||R(e.floor)||R(e.ceiling)?null:Math.min(5*(fe(this.series.map(e=>{let t=e.getColumn(`x`);return e.xIncrement?t.slice(0,2):t}))||0),this.dataMax-this.dataMin)),V(r)&&V(i)&&V(a)&&r-i<a&&(s=this.dataMax-this.dataMin>=a,o=(a-r+i)/2,c=[i-o,n.parse(e.min)??i-o],s&&(c[2]=t?t.log2lin(this.dataMin):this.dataMin),l=[(i=re(c))+a,n.parse(e.max)??i+a],s&&(l[2]=t?t.log2lin(this.dataMax):this.dataMax),(r=N(l))-i<a&&(c[0]=r-a,c[1]=n.parse(e.min)??r-a,i=re(c))),this.minRange=a,this.min=i,this.max=r}getClosest(){let e,t;if(this.categories)t=1;else{let n=[];this.series.forEach(function(e){let r=e.closestPointRange,i=e.getColumn(`x`);i.length===1?n.push(i[0]):e.sorted&&R(r)&&e.reserveSpace()&&(t=R(t)?Math.min(t,r):r)}),n.length&&(n.sort((e,t)=>e-t),e=fe([n]))}return e&&t?Math.min(e,t):e||t}nameToX(e,t){let n,r=U(this.options.categories),{name:i,series:a}=e,o=r?this.categories:this.names,s=this.namesMap;return a.requireSorting=!1,R(t)||(t=this.uniqueNames&&o?r?o.indexOf(i):s[i]??-1:a.autoIncrement()),t===-1?!r&&o&&(n=o.length):V(t)&&(n=t),n===void 0?n=V(e.x)?e.x:a.autoIncrement():(this.names[n]=e.name,s[e.name]=n),n}updateNames(){let e=this,{names:t,namesMap:n}=this;t.length>0&&(Object.keys(n).forEach(function(e){delete n[e]}),t.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(t=>{if(t.xIncrement=null,delete t.xColumn,!t.points||t.isDirtyData)e.max=Math.max(e.max||0,t.dataTable.rowCount-1),t.processData(),t.generatePoints();else{let e=t.getColumn(`x`);t.points?.forEach(t=>{t.x=e[t.index]})}}))}setAxisTranslation(){let e=this,t=e.max-e.min,n=e.linkedParent,r=!!e.categories,i=e.isXAxis,a=e.axisPointRange||0,o,s=0,c=0,l,u=e.transA;(i||r||a)&&(o=e.getClosest(),n?(s=n.minPointOffset,c=n.pointRangePadding):e.series.forEach(function(t){let n=r?1:i?q(t.options.pointRange,o,0):e.axisPointRange||0,l=t.options.pointPlacement;if(a=Math.max(a,n),!e.single||r){let e=t.is(`xrange`)?!i:i;s=Math.max(s,e&&H(l)?0:n/2),c=Math.max(c,e&&l===`on`?0:n)}}),l=e.ordinal?.slope&&o?e.ordinal.slope/o:1,e.minPointOffset=s*=l,e.pointRangePadding=c*=l,e.pointRange=Math.min(a,e.single&&r?1:t),i&&(e.closestPointRange=o)),e.translationSlope=e.transA=u=e.staticScale||e.len/(t+c||1),e.transB=e.horiz?e.left:e.bottom,e.minPixelPadding=u*s,B(this,`afterSetAxisTranslation`)}minFromRange(){let{max:e,min:t}=this;return V(e)&&V(t)&&e-t||void 0}setTickInterval(e){let{categories:t,chart:n,dataMax:r,dataMin:i,dateTime:a,isXAxis:o,logarithmic:s,options:c,softThreshold:l}=this,u=n.time,d=V(this.threshold)?this.threshold:void 0,f=this.minRange||0,{ceiling:p,floor:m,linkedTo:h,softMax:g,softMin:_}=c,v=V(h)&&n[this.coll]?.[h],y=c.tickPixelInterval,b=c.maxPadding,x=c.minPadding,S=0,C,w=V(c.tickInterval)&&c.tickInterval>=0?c.tickInterval:void 0,T,E,D,O;if(a||t||v||this.getTickAmount(),D=q(this.userMin,u.parse(c.min)),O=q(this.userMax,u.parse(c.max)),v?(this.linkedParent=v,C=v.getExtremes(),this.min=q(C.min,C.dataMin),this.max=q(C.max,C.dataMax),this.type!==v.type&&Y(11,!0,n)):(l&&R(d)&&V(r)&&V(i)&&(i>=d?(T=d,x=0):r<=d&&(E=d,b=0)),this.min=q(D,T,i),this.max=q(O,E,r)),V(this.max)&&V(this.min)&&(s&&(this.positiveValuesOnly&&!e&&0>=Math.min(this.min,q(i,this.min))&&Y(10,!0,n),this.min=I(s.log2lin(this.min),16),this.max=I(s.log2lin(this.max),16)),this.range&&V(i)&&(this.userMin=this.min=D=Math.max(i,this.minFromRange()||0),this.userMax=O=this.max,this.range=void 0)),B(this,`foundExtremes`),this.adjustForMinRange(),V(this.min)&&V(this.max)){if(!V(this.userMin)&&V(_)&&_<this.min&&(this.min=D=_),!V(this.userMax)&&V(g)&&g>this.max&&(this.max=O=g),t||this.axisPointRange||this.stacking?.usePercentage||v||(S=this.max-this.min)&&(!R(D)&&x&&(this.min-=S*x),!R(O)&&b&&(this.max+=S*b)),!V(this.userMin)&&V(m)&&(this.min=Math.max(this.min,m)),!V(this.userMax)&&V(p)&&(this.max=Math.min(this.max,p)),l&&V(i)&&V(r)){let e=d||0;!R(D)&&this.min<e&&i>=e?this.min=c.minRange?Math.min(e,this.max-f):e:!R(O)&&this.max>e&&r<=e&&(this.max=c.minRange?Math.max(e,this.min+f):e)}!n.polar&&this.min>this.max&&(R(c.min)?this.max=this.min:R(c.max)&&(this.min=this.max)),S=this.max-this.min}if(this.min!==this.max&&V(this.min)&&V(this.max)?v&&!w&&y===v.options.tickPixelInterval?this.tickInterval=w=v.tickInterval:this.tickInterval=q(w,this.tickAmount?S/Math.max(this.tickAmount-1,1):void 0,t?1:S*y/Math.max(this.len,y)):this.tickInterval=1,o&&!e){let e=this.min!==this.old?.min||this.max!==this.old?.max;this.series.forEach(function(t){t.forceCrop=t.forceCropping?.(),t.processData(e)}),B(this,`postProcessData`,{hasExtremesChanged:e})}this.setAxisTranslation(),B(this,`initialAxisTranslation`),this.pointRange&&!w&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));let k=q(c.minTickInterval,a&&!this.series.some(e=>!e.sorted)?this.closestPointRange:0);!w&&k&&this.tickInterval<k&&(this.tickInterval=k),a||s||w||(this.tickInterval=pn(this,this.tickInterval)),this.tickAmount||(this.tickInterval=this.unsquish()),this.setTickPositions()}setTickPositions(){let e=this.options,t=e.tickPositions,n=e.tickPositioner,r=this.getMinorTickInterval(),i=!this.isPanning,a=i&&e.startOnTick,o=i&&e.endOnTick,s=[],c;if(this.tickmarkOffset=this.categories&&e.tickmarkPlacement===`between`&&this.tickInterval===1?.5:0,this.single=this.min===this.max&&R(this.min)&&!this.tickAmount&&(this.min%1==0||!1!==e.allowDecimals),t)s=t.slice();else if(V(this.min)&&V(this.max)){if(!this.ordinal?.positions&&(this.max-this.min)/this.tickInterval>Math.max(2*this.len,200))s=[this.min,this.max],Y(19,!1,this.chart);else if(this.dateTime)s=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,e.units),this.min,this.max,e.startOfWeek,this.ordinal?.positions,this.closestPointRange,!0);else if(this.logarithmic)s=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let e=this.tickInterval,t=e;for(;t<=2*e&&(s=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&s.length>this.tickAmount);)this.tickInterval=pn(this,t*=1.1)}s.length>this.len&&(s=[s[0],s[s.length-1]])[0]===s[1]&&(s.length=1),n&&(this.tickPositions=s,(c=n.apply(this,[this.min,this.max,this]))&&(s=c))}this.isDirty||s.length===this.tickPositions?.length||(this.isDirty=!0),this.tickPositions=s,this.minorTickInterval=r===`auto`&&this.tickInterval?this.tickInterval/e.minorTicksPerMajor:r,this.paddedTicks=s.slice(0),this.trimTicks(s,a,o),!this.isLinked&&V(this.min)&&V(this.max)&&(this.single&&s.length<2&&!this.categories&&!this.series.some(e=>e.is(`heatmap`)&&e.options.pointPlacement===`between`)&&(this.min-=.5,this.max+=.5),t||c||this.adjustTickAmount()),B(this,`afterSetTickPositions`)}trimTicks(e,t,n){let r=e[0],i=e[e.length-1],a=!this.isOrdinal&&this.minPointOffset||0;if(B(this,`trimTicks`),!this.isLinked||!this.grid){if(t&&V(r))this.min=r;else if(e.length)for(;this.min-a>e[0];)e.shift();if(n&&V(i))this.max=i;else for(;this.max+a<e[e.length-1];)e.pop();e.length===0&&R(r)&&!this.options.tickPositions&&e.push((i+r)/2)}}alignToOthers(){let e,t=this,n=t.chart,r=[this],i=t.options,a=n.options.chart,o=this.coll===`yAxis`&&a.alignThresholds,s=[];if(t.thresholdAlignment=void 0,(!1!==a.alignTicks&&i.alignTicks||o)&&!1!==i.startOnTick&&!1!==i.endOnTick&&!t.logarithmic){let i=e=>{let{horiz:t,options:n}=e;return[t?n.left:n.top,n.width,n.height,n.pane].join(`,`)},a=i(this);n[this.coll].forEach(function(n){let{series:o}=n;o.length&&o.some(e=>e.visible)&&n!==t&&i(n)===a&&(e=!0,r.push(n))})}if(e&&o){r.forEach(e=>{let n=e.getThresholdAlignment(t);V(n)&&s.push(n)});let e=s.length>1?s.reduce((e,t)=>e+=t,0)/s.length:void 0;r.forEach(t=>{t.thresholdAlignment=e})}return e}getThresholdAlignment(e){if((!V(this.dataMin)||this!==e&&this.series.some(e=>e.isDirty||e.isDirtyData||e.xAxis?.isDirty))&&this.getSeriesExtremes(),V(this.threshold)){let e=F((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return this.options.reversed&&(e=1-e),e}}getTickAmount(){let e=this.options,t=e.tickPixelInterval,n=e.tickAmount;R(e.tickInterval)||n||!(this.len<t)||this.isRadial||this.logarithmic||!e.startOnTick||!e.endOnTick||(n=2),!n&&this.alignToOthers()&&(n=Math.ceil(this.len/t)+1),n<4&&(this.finalTickAmt=n,n=5),this.tickAmount=n}adjustTickAmount(){let e=this,{finalTickAmt:t,max:n,min:r,options:i,tickPositions:a,tickAmount:o,thresholdAlignment:s}=e,c=a?.length,l=q(e.threshold,e.softThreshold?0:null),u,d,f=e.tickInterval,p,m=()=>a.push(I(a[a.length-1]+f)),h=()=>a.unshift(I(a[0]-f));if(V(s)&&(p=s===0?0:s===1?o-1:Math.round(F(s*(o-1),1,o-2)),i.reversed&&(p=o-1-p)),e.hasData()&&V(r)&&V(n)){let s=()=>{e.transA*=(c-1)/(o-1),e.min=i.startOnTick?a[0]:Math.min(r,a[0]),e.max=i.endOnTick?a[a.length-1]:Math.max(n,a[a.length-1])};if(V(p)&&V(e.threshold)){for(;a[p]!==l||a.length!==o||a[0]>r||a[a.length-1]<n;){for(a.length=0,a.push(e.threshold);a.length<o;)a[p]===void 0||a[p]>e.threshold?h():m();if(f>8*e.tickInterval)break;f*=2}s()}else if(c<o){for(;a.length<o;)a.length%2||r===l?m():h();s()}if(R(t)){for(d=u=a.length;d--;)(t===3&&d%2==1||t<=2&&d>0&&d<u-1)&&a.splice(d,1);e.finalTickAmt=void 0}}}setScale(){let{coll:e,stacking:t}=this,n=!1,r=!1;this.series.forEach(e=>{n=n||e.isDirtyData||e.isDirty,r=r||e.xAxis?.isDirty||!1}),this.setAxisSize();let i=this.len!==this.old?.len;i||n||r||this.isLinked||this.forceRedraw||this.userMin!==this.old?.userMin||this.userMax!==this.old?.userMax||this.alignToOthers()?(t&&e===`yAxis`&&t.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),t&&e===`xAxis`&&t.buildStacks(),this.isDirty||=i||this.min!==this.old?.min||this.max!==this.old?.max):t&&t.cleanStacks(),n&&delete this.allExtremes,B(this,`afterSetScale`)}setExtremes(e,t,n=!0,r,i){let a=this.chart;this.series.forEach(e=>{delete e.kdTree}),e=a.time.parse(e),t=a.time.parse(t),B(this,`setExtremes`,i=z(i,{min:e,max:t}),e=>{this.userMin=e.min,this.userMax=e.max,this.eventArgs=e,n&&a.redraw(r)})}setAxisSize(){let e=this.chart,t=this.options,n=t.offsets||[0,0,0,0],r=this.horiz,i=this.width=Math.round(Te(q(t.width,e.plotWidth-n[3]+n[1]),e.plotWidth)),a=this.height=Math.round(Te(q(t.height,e.plotHeight-n[0]+n[2]),e.plotHeight)),o=this.top=Math.round(Te(q(t.top,e.plotTop+n[0]),e.plotHeight,e.plotTop)),s=this.left=Math.round(Te(q(t.left,e.plotLeft+n[3]),e.plotWidth,e.plotLeft));this.bottom=e.chartHeight-a-o,this.right=e.chartWidth-i-s,this.len=Math.max(r?i:a,0),this.pos=r?s:o}getExtremes(){let e=this.logarithmic;return{min:e?I(e.lin2log(this.min)):this.min,max:e?I(e.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(e){let t=this.logarithmic,n=t?t.lin2log(this.min):this.min,r=t?t.lin2log(this.max):this.max;return e===null||e===-1/0?e=n:e===1/0?e=r:n>e?e=n:r<e&&(e=r),this.translate(e,0,1,0,1)}autoLabelAlign(e){let t=((e-90*this.side)%360+360)%360,n={align:`center`};return B(this,`autoLabelAlign`,n,function(e){t>15&&t<165?e.align=`right`:t>195&&t<345&&(e.align=`left`)}),n.align}tickSize(e){let t=this.options,n=q(t[e===`tick`?`tickWidth`:`minorTickWidth`],e===`tick`&&this.isXAxis&&!this.categories?1:0),r=t[e===`tick`?`tickLength`:`minorTickLength`],i;n&&r&&(t[e+`Position`]===`inside`&&(r=-r),i=[r,n]);let a={tickSize:i,prefix:e};return B(this,`afterTickSize`,a),a.tickSize}labelMetrics(){let e=this.chart.renderer,t=this.ticks,n=t[Object.keys(t)[0]]||{};return this.chart.renderer.fontMetrics(n.label||e.box)}unsquish(){let e=this.options.labels,t=e.padding||0,n=this.horiz,r=this.tickInterval,i=this.len/((+!!this.categories+this.max-this.min)/r),a=e.rotation,o=I(.8*this.labelMetrics().h),s=Math.max(this.max-this.min,0),c=function(e){let n=(e+2*t)/(i||1);return(n=n>1?Math.ceil(n):1)*r>s&&e!==1/0&&i!==1/0&&s&&(n=Math.ceil(s/r)),I(n*r)},l=r,u,d=Number.MAX_VALUE,f;if(n){if(!e.staggerLines&&(V(a)?f=[a]:i<e.autoRotationLimit&&(f=e.autoRotation)),f){let e,t;for(let n of f)(n===a||n&&n>=-90&&n<=90)&&(t=(e=c(Math.abs(o/Math.sin(fn*n))))+Math.abs(n/360))<d&&(d=t,u=n,l=e)}}else l=c(.75*o);return this.autoRotation=f,this.labelRotation=q(u,V(a)?a:0),e.step?r:l}getSlotWidth(e){let t=this.chart,n=this.horiz,r=this.options.labels,i=Math.max(this.tickPositions.length-!this.categories,1),a=t.margin[3];if(e&&V(e.slotWidth))return e.slotWidth;if(n&&r.step<2&&!this.isRadial)return r.rotation?0:(this.staggerLines||1)*this.len/i;if(!n){let e=r.style.width;if(e!==void 0)return parseInt(String(e),10);if(!this.opposite&&a)return a-t.spacing[3]}return .33*t.chartWidth}renderUnsquish(){let e=this.chart,t=e.renderer,n=this.tickPositions,r=this.ticks,i=this.options.labels,a=i.style,o=this.horiz,s=this.getSlotWidth(),c=Math.max(1,Math.round(s-(o?2*(i.padding||0):i.distance||0))),l={},u=this.labelMetrics(),d=a.lineClamp,f,p=d??(Math.floor(this.len/(n.length*u.h))||1),m=0;H(i.rotation)||(l.rotation=i.rotation||0),n.forEach(function(e){m=Math.max(m,r[e].label?.textPxLength||0)}),this.maxLabelLength=m,this.autoRotation?m>c&&m>u.h?l.rotation=this.labelRotation:this.labelRotation=0:s&&(f=c),l.rotation&&(f=m>.5*e.chartHeight?.33*e.chartHeight:m,d||(p=1)),this.labelAlign=i.align||this.autoLabelAlign(this.labelRotation||0),this.labelAlign&&(l.align=this.labelAlign),n.forEach(function(e){let t=r[e],n=t?.label,i=a.width,o={};n&&(n.attr(l),t.shortenLabel?t.shortenLabel():f&&!i&&a.whiteSpace!==`nowrap`&&(f<(n.textPxLength||0)||n.element.tagName===`DIV`)?n.css(z(o,{width:`${f}px`,lineClamp:p})):(n.styles.width||n.textWidth||n.styles.lineClamp)&&!o.width&&!i&&n.css({width:`auto`,lineClamp:0}),t.rotation=l.rotation)},this),this.tickRotCorr=t.rotCorr(u.b,this.labelRotation||0,this.side!==0)}hasData(){return this.series.some(function(e){return e.hasData()})||this.options.showEmpty&&R(this.min)&&R(this.max)}addTitle(e){let t,n=this.chart.renderer,r=this.horiz,i=this.opposite,a=this.options.title,o=this.chart.styledMode;this.axisTitle||((t=a.textAlign)||(t=(r?{low:`left`,middle:`center`,high:`right`}:{low:i?`right`:`left`,middle:`center`,high:i?`left`:`right`})[a.align]),this.axisTitle=n.text(a.text||``,0,0,a.useHTML).attr({zIndex:7,rotation:a.rotation||0,align:t}).addClass(`highcharts-axis-title`),o||this.axisTitle.css(G(a.style)),this.axisTitle.add(this.axisGroup),this.axisTitle.isNew=!0),o||a.style.width||this.isRadial||this.axisTitle.css({width:this.len+`px`}),this.axisTitle[e?`show`:`hide`](e)}generateTick(e){let t=this.ticks;t[e]?t[e].addLabel():t[e]=new an(this,e)}createGroups(){let{axisParent:e,chart:t,coll:n,options:r}=this,i=t.renderer,a=(t,a,o)=>i.g(t).attr({zIndex:o}).addClass(`highcharts-${n.toLowerCase()}${a} `+(this.isRadial?`highcharts-radial-axis${a} `:``)+(r.className||``)).add(e);this.axisGroup||(this.gridGroup=a(`grid`,`-grid`,r.gridZIndex).clip(this.clippable?t.plotClipInner:void 0),this.axisGroup=a(`axis`,``,r.zIndex),this.labelGroup=a(`axis-labels`,`-labels`,r.labels.zIndex))}shuffleTicks(){let e=this.ticks,t=this.old?.names;if(this.type===`category`&&t){t.forEach((n,r)=>{let i=this.namesMap[n];R(i)&&r!==i&&(e[r]&&(e[r].pos=i,this.isDirty=!0),e[i]&&this.names.indexOf(t[i])===-1&&(e[i].pos=NaN))});let n=Object.values(e);Object.keys(e).forEach(t=>{delete e[t]}),n.forEach(t=>{isNaN(t.pos)?t.destroy():e[t.pos]=t})}}getOffset(){let{chart:e,horiz:t,options:n,side:r,ticks:i,tickPositions:a,coll:o}=this,s=this.hasData(),c=n.title,l=n.labels,u=V(n.crossing),d=e.axisOffset,f=e.clipOffset,p=[-1,1,1,-1][r],m=this.tickRotCorr||{x:0,y:0},h=0,g,_=0,v,y=0,b=0,x,S,C;if(this.showAxis=g=s||n.showEmpty,this.staggerLines=this.horiz&&l.staggerLines||void 0,this.createGroups(),s||this.isLinked?(this.shuffleTicks(),a.forEach(this.generateTick.bind(this)),this.renderUnsquish(),h=Math.abs((m=this.tickRotCorr).x),C=this.reserveSpaceDefault=r===0||r===2||{1:`left`,3:`right`}[r]===this.labelAlign,(l.reserveSpace??(!u&&null)??(this.labelAlign===`center`||null)??C)&&a.forEach(function(e){b=Math.max(i[e].getLabelSize(),b)}),this.staggerLines&&(b*=this.staggerLines),!t&&V(this.labelRotation)&&C&&(b-=h),this.labelOffset=b*(this.opposite?-1:1)):K(i,function(e,t){e.destroy(),delete i[t]}),c?.text&&!1!==c.enabled&&(this.addTitle(g),g&&!u&&!1!==c.reserveSpace&&(this.titleOffset=_=this.axisTitle.getBBox()[t?`height`:`width`],y=R(v=c.offset)?0:q(c.margin,t?5:10))),this.renderLine(),this.offset=p*(V(n.offset)?n.offset:d[r]?d[r]+(n.margin||0):0),S=r===0?-this.labelMetrics().h:r===2?m.y:0,x=Math.abs(b)+y,b&&(x-=S,x+=p*(t?l.y??m.y+p*l.distance:l.x??(C?p*(l.distance-h):m.x+p*l.distance)),!t&&!C&&this.labelAlign===`center`&&V(this.labelRotation)&&(x+=h)),this.axisTitleMargin=v??x,this.maxLabelDimensions=this.getMaxLabelDimensions?.(i,a),o!==`colorAxis`&&f){let e=this.tickSize(`tick`);d[r]=Math.max(d[r],(this.axisTitleMargin||0)+_+p*this.offset,x,a?.length&&e?e[0]+p*this.offset:0);let t=!this.axisLine||n.offset?0:this.axisLine.strokeWidth()/2;f[r]=Math.max(f[r],t)}B(this,`afterGetOffset`)}getLinePath(e){let t=this.chart,n=this.opposite,r=this.offset,i=this.horiz,a=this.left+(n?this.width:0)+r,o=t.chartHeight-this.bottom-(n?this.height:0)+r;return n&&(e*=-1),t.renderer.crispLine([[`M`,i?this.left:a,i?o:this.top],[`L`,i?t.chartWidth-this.right:a,i?o:t.chartHeight-this.bottom]],e)}renderLine(){let{chart:e,offset:t=0,options:n}=this;this.axisLine||=e.renderer.path().addClass(`highcharts-axis-line`).attr(e.styledMode?{}:{stroke:n.lineColor,"stroke-width":n.lineWidth,zIndex:7}).clip(this.clippable&&t<=0?e.plotClipOuter:void 0).add(this.axisGroup)}getTitlePosition(e){let t=this.horiz,n=this.left,r=this.top,i=this.len,a=this.options.title,o=t?n:r,s=this.opposite,c=this.offset,l=a.x,u=a.y,d=this.chart.renderer.fontMetrics(e),f=e?Math.max(e.getBBox(!1,0).height-d.h-1,0):0,p={low:o+(t?0:i),middle:o+i/2,high:o+(t?i:0)}[a.align],m=(t?r+this.height:n)+(t?1:-1)*(s?-1:1)*(this.axisTitleMargin||0)+[-f,f,d.f,-f][this.side],h={x:t?p+l:m+(s?this.width:0)+c+l,y:t?m+u-(s?this.height:0)+c:p+u};return B(this,`afterGetTitlePosition`,{titlePosition:h}),h}renderMinorTick(e,t){let n=this.minorTicks;n[e]||(n[e]=new an(this,e,`minor`)),t&&n[e].isNew&&n[e].render(null,!0),n[e].render(null,!1,1)}renderTick(e,t,n){let r=this.isLinked,i=this.ticks;(!r||e>=this.min&&e<=this.max||this.grid?.isColumn)&&(i[e]||(i[e]=new an(this,e)),n&&i[e].isNew&&i[e].render(t,!0,-1),i[e].render(t))}render(){let e,t,n=this,r=n.chart,i=n.logarithmic,a=r.renderer,o=n.options,s=n.isLinked,c=n.tickPositions,l=n.axisTitle,u=n.ticks,d=n.minorTicks,f=n.alternateBands,p=o.stackLabels,m=o.alternateGridColor,h=o.crossing,g=n.tickmarkOffset,_=n.axisLine,v=n.showAxis,y=on(a.globalAnimation);if(n.labelEdge.length=0,n.overlap=!1,[u,d,f].forEach(function(e){K(e,function(e){e.isActive=!1})}),V(h)){let e=this.isXAxis?r.yAxis[0]:r.xAxis[0],t=[1,-1,-1,1][this.side];if(e){let r=e.toPixels(h,!0);n.horiz&&(r=e.len-r),n.offset=t*r}}if(n.hasData()||s){let a=n.chart.hasRendered&&n.old&&V(n.old.min);n.minorTickInterval&&!n.categories&&n.getMinorTickPositions().forEach(function(e){n.renderMinorTick(e,a)}),c.length&&(c.forEach(function(e,t){n.renderTick(e,t,a)}),g&&(n.min===0||n.single)&&(u[-1]||=new an(n,-1,null,!0),u[-1].render(-1))),m&&c.forEach(function(a,o){t=c[o+1]===void 0?n.max-g:c[o+1]+g,o%2==0&&a<n.max&&t<=n.max+(r.polar?-g:g)&&(f[a]||(f[a]=new j.PlotLineOrBand(n,{})),e=a+g,f[a].options={from:i?i.lin2log(e):e,to:i?i.lin2log(t):t,color:m,className:`highcharts-alternate-grid`},f[a].render(),f[a].isActive=!0)}),n._addedPlotLB||(n._addedPlotLB=!0,(o.plotLines||[]).concat(o.plotBands||[]).forEach(function(e){n.addPlotBandOrLine(e)}))}[u,d,f].forEach(function(e){let t=[],n=y.duration;K(e,function(e,n){e.isActive||(e.render(n,!1,0),e.isActive=!1,t.push(n))}),Ae(function(){let n=t.length;for(;n--;)e[t[n]]&&!e[t[n]].isActive&&(e[t[n]].destroy(),delete e[t[n]])},e!==f&&r.hasRendered&&n?n:0)}),_&&(_[_.isPlaced?`animate`:`attr`]({d:this.getLinePath(_.strokeWidth())}),_.isPlaced=!0,_[v?`show`:`hide`](v)),l&&v&&(l[l.isNew?`attr`:`animate`](n.getTitlePosition(l)),l.isNew=!1),p?.enabled&&n.stacking&&n.stacking.renderStackTotals(),this.old||this.saveOld(),n.isDirty=!1,B(this,`afterRender`)}redraw(){this.visible&&(this.render(),this.plotLinesAndBands.forEach(function(e){e.render()})),this.series.forEach(function(e){e.isDirty=!0})}saveOld(){this.old=V(this.min)?{len:this.len,max:this.max,min:this.min,names:this.names.slice(),transA:this.transA,userMax:this.userMax,userMin:this.userMin}:void 0}getKeepProps(){return this.keepProps||mn.keepProps}destroy(e){let t=this,n=t.plotLinesAndBands,r=this.eventOptions;if(B(this,`destroy`,{keepEvents:e}),e||De(t),[t.ticks,t.minorTicks,t.alternateBands].forEach(function(e){oe(e)}),n){let e=n.length;for(;e--;)n[e].destroy()}for(let e in[`axisLine`,`axisTitle`,`axisGroup`,`gridGroup`,`labelGroup`,`cross`,`scrollbar`].forEach(function(e){t[e]&&(t[e]=t[e].destroy())}),t.plotLinesAndBandsGroups)t.plotLinesAndBandsGroups[e]=t.plotLinesAndBandsGroups[e].destroy();K(t,function(e,n){t.getKeepProps().indexOf(n)===-1&&delete t[n]}),this.eventOptions=r}drawCrosshair(e,t){let n,r,i,a,o=this.crosshair,s=o?.snap??!0,c=this.chart,l=this.cross;if(B(this,`drawCrosshair`,{e,point:t}),e||=this.cross?.e,o&&!1!==(R(t)||!s)){if(clearTimeout(this.crossShowTimer),s?R(t)&&(r=q(this.coll===`colorAxis`?null:t.crosshairPos,this.isXAxis?t.plotX:this.len-t.plotY)):r=e&&(this.horiz?e.chartX-this.pos:this.len-e.chartY+this.pos),R(r)&&(a={value:t&&(this.isXAxis?t.x:q(t.stackY,t.y)),translatedValue:r},c.polar&&z(a,{isCrosshair:!0,chartX:e?.chartX,chartY:e?.chartY,point:t}),n=this.getPlotLinePath(a)||null),!R(n))return void this.hideCrosshair();i=this.categories&&!this.isRadial,this.crossShowTimer=Ae(()=>{let t=this.cross;t||(this.cross=t=c.renderer.path().addClass(`highcharts-crosshair highcharts-crosshair-`+(i?`category `:`thin `)+(o.className||``)).attr({zIndex:q(o.zIndex,2)}).clip(!1===o.clip?void 0:c.plotClipInner).add(),!c.styledMode&&(t.attr({stroke:o.color||(i?ln(`var(--highcharts-highlight-color-20)`).setOpacity(.25).get():`var(--highcharts-neutral-color-20)`),"stroke-width":q(o.width,1)}).css({"pointer-events":`none`}),o.dashStyle&&t.attr({dashstyle:o.dashStyle}))),t.show().animate({d:n},on(o?.animation)),i&&!o.width&&t.attr({"stroke-width":this.transA}),this.cross&&(this.cross.e=e)},(!l||l.attr(`visibility`)===`hidden`)&&o.showDelay||0)}else this.hideCrosshair();B(this,`afterDrawCrosshair`,{e,point:t})}hideCrosshair(){clearTimeout(this.crossShowTimer),this.cross&&this.cross.hide(),B(this,`afterHideCrosshair`)}update(e,t){let n=this.chart;e=G(this.userOptions,e),this.destroy(!0),this.init(n,e),n.isDirtyBox=!0,q(t,!0)&&n.redraw()}remove(e){let t=this.chart,n=this.coll,r=this.series,i=r.length;for(;i--;)r[i]&&r[i].remove(!1);le(t.axes,this),le(t[n]||[],this),t.orderItems(n),this.destroy(),t.isDirtyBox=!0,q(e,!0)&&t.redraw()}setTitle(e,t){this.update({title:e},t)}setCategories(e,t){this.update({categories:e},t)}}mn.keepProps=[`coll`,`extKey`,`hcEvents`,`len`,`names`,`series`,`userMax`,`userMin`],function(e){function t(){return this.chart.time.getTimeTicks.apply(this.chart.time,arguments)}function n(){if(this.type!==`datetime`){this.dateTime=void 0;return}this.dateTime||=new r(this)}e.compose=function(e){return e.keepProps.includes(`dateTime`)||(e.keepProps.push(`dateTime`),e.prototype.getTimeTicks=t,M(e,`afterSetType`,n)),e};class r{constructor(e){this.axis=e}normalizeTimeTickInterval(e,t){let n=t||[[`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]],r=n[n.length-1],i=X[r[0]],a=r[1],o,s;for(o=0;o<n.length;o++)if(i=X[(r=n[o])[0]],a=r[1],n[o+1]){let t=(i*a[a.length-1]+X[n[o+1][0]])/2;if(e<=t){s=t/e;break}}i===X.year&&e<5*i&&(a=[1,2,5]);let c=xe(e/i,a,r[0]===`year`?Math.max(pe(e/i),1):1);return{unitRange:i,count:c,unitName:r[0],match:s}}getXDateFormat(e,t){let{axis:n}=this,r=n.chart.time;return n.closestPointRange?r.getDateFormat(n.closestPointRange,e,n.options.startOfWeek,t)||r.resolveDTLFormat(t.year).main:r.resolveDTLFormat(t.day).main}}e.Additions=r}(_||={});let hn=_;(function(e){function t(){this.type===`logarithmic`?this.logarithmic??=new r(this):this.logarithmic=void 0}function n(){let e=this.logarithmic;e&&(this.lin2val=function(t){return e.lin2log(t)},this.val2lin=function(t){return e.log2lin(t)})}e.compose=function(e){return e.keepProps.includes(`logarithmic`)||(e.keepProps.push(`logarithmic`),M(e,`afterSetType`,t),M(e,`afterInit`,n)),e};class r{constructor(e){this.axis=e}getLogTickPositions(e,t,n,r){let i=this.axis,a=i.len,o=i.options,s=[];if(r||(this.minorAutoInterval=void 0),e>=.5)e=Math.round(e),s=i.getLinearTickPositions(e,t,n);else if(e>=.08){let i,a,o,c,l,u,d,f=Math.floor(t);for(i=e>.3?[1,2,4]:e>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],a=f;a<n+1&&!d;a++)for(o=0,c=i.length;o<c&&!d;o++)(l=this.log2lin(this.lin2log(a)*i[o]))>t&&(!r||u<=n)&&u!==void 0&&s.push(u),u>n&&(d=!0),u=l}else{let c=this.lin2log(t),l=this.lin2log(n),u=r?i.getMinorTickInterval():o.tickInterval,d=o.tickPixelInterval/(r?5:1),f=r?a/i.tickPositions.length:a;e=xe(e=q(u===`auto`?null:u,this.minorAutoInterval,(l-c)*d/(f||1))),s=i.getLinearTickPositions(e,c,l).map(this.log2lin),r||(this.minorAutoInterval=e/5)}return r||(i.tickInterval=e),s}lin2log(e){return 10**e}log2lin(e){return Math.log(e)/Math.LN10}}e.Additions=r})(v||={});let gn=v;(function(e){let t;function n(e){return this.addPlotBandOrLine(e,`plotBands`)}function r(e,n){let r=this.userOptions,i=new t(this,e);if(this.visible&&(i=i.render()),i){if(this._addedPlotLB||(this._addedPlotLB=!0,(r.plotLines||[]).concat(r.plotBands||[]).forEach(e=>{this.addPlotBandOrLine(e)})),n){let t=r[n]||[];t.push(e),r[n]=t}this.plotLinesAndBands.push(i)}return i}function i(e){return this.addPlotBandOrLine(e,`plotLines`)}function a(e,t,n){n||=this.options;let r=this.getPlotLinePath({value:t,force:!0,acrossPanes:n.acrossPanes}),i=[],a=this.horiz,o=!V(this.min)||!V(this.max)||e<this.min&&t<this.min||e>this.max&&t>this.max,s=this.getPlotLinePath({value:e,force:!0,acrossPanes:n.acrossPanes}),c,l=1,u;if(s&&r)for(o&&(u=s.toString()===r.toString(),l=0),c=0;c<s.length;c+=2){let e=s[c],t=s[c+1],n=r[c],o=r[c+1];(e[0]===`M`||e[0]===`L`)&&(t[0]===`M`||t[0]===`L`)&&(n[0]===`M`||n[0]===`L`)&&(o[0]===`M`||o[0]===`L`)&&(a&&n[1]===e[1]?(n[1]+=l,o[1]+=l):a||n[2]!==e[2]||(n[2]+=l,o[2]+=l),i.push([`M`,e[1],e[2]],[`L`,t[1],t[2]],[`L`,o[1],o[2]],[`L`,n[1],n[2]],[`Z`])),i.isFlat=u}return i}function o(e){this.removePlotBandOrLine(e)}function s(e){let t=this.plotLinesAndBands,n=this.options,r=this.userOptions;if(t){let i=t.length;for(;i--;)t[i].id===e&&t[i].destroy();[n.plotLines||[],r.plotLines||[],n.plotBands||[],r.plotBands||[]].forEach(function(t){for(i=t.length;i--;)t[i]?.id===e&&le(t,t[i])})}}function c(e){this.removePlotBandOrLine(e)}e.compose=function(e,l){let u=l.prototype;return u.addPlotBand||(t=e,z(u,{addPlotBand:n,addPlotLine:i,addPlotBandOrLine:r,getPlotBandPath:a,removePlotBand:o,removePlotLine:c,removePlotBandOrLine:s})),l}})(y||={});let _n=y;class vn{static compose(e,t){return M(e,`afterInit`,function(){this.labelCollectors.push(()=>{let e=[];for(let t of this.axes)for(let{label:n,options:r}of t.plotLinesAndBands)n&&!r?.label?.allowOverlap&&e.push(n);return e})}),_n.compose(vn,t)}constructor(e,t){this.axis=e,this.options=t,this.id=t.id}render(){B(this,`render`);let{axis:e,options:t}=this,{chart:n,horiz:r,logarithmic:i}=e,{color:a,events:o,zIndex:s=0}=t,{renderer:c,time:l}=e.chart,u={},d=l.parse(t.to),f=l.parse(t.from),p=l.parse(t.value),m=t.borderWidth,h=t.label,{label:g,svgElem:_}=this,v=[],y,b=R(f)&&R(d),x=R(p),S=!_,C={class:`highcharts-plot-`+(b?`band `:`line `)+(t.className||``)},w=b?`bands`:`lines`;if(!n.styledMode&&(x?(C.stroke=a||`var(--highcharts-neutral-color-40)`,C[`stroke-width`]=q(t.width,1),t.dashStyle&&(C.dashstyle=t.dashStyle)):b&&(C.fill=a||`var(--highcharts-highlight-color-10)`,m&&(C.stroke=t.borderColor,C[`stroke-width`]=m))),u.zIndex=s,w+=`-`+s,(y=e.plotLinesAndBandsGroups[w])||(e.plotLinesAndBandsGroups[w]=y=c.g(`plot-`+w).clip(n.plotClipOuter).attr(u).add()),_||(this.svgElem=_=c.path().attr(C).add(y)),R(p))v=e.getPlotLinePath({value:i?.log2lin(p)??p,lineWidth:_.strokeWidth(),acrossPanes:t.acrossPanes});else{if(!(R(f)&&R(d)))return;v=e.getPlotBandPath(i?.log2lin(f)??f,i?.log2lin(d)??d,t)}return!this.eventsAdded&&o&&(K(o,(e,t)=>{_?.on(t,e=>{o[t].apply(this,[e,this])})}),this.eventsAdded=!0),(S||!_.d)&&v?.length?_.attr({d:v}):_&&(v?(_.show(),_.animate({d:v})):_.d&&(_.hide(),g&&(this.label=g=g.destroy()))),h&&(R(h.text)||R(h.formatter))&&v?.length&&e.width>0&&e.height>0&&!v.isFlat?(h=G({align:r&&b?`center`:void 0,x:r?!b&&4:10,verticalAlign:!r&&b?`middle`:void 0,y:r?b?16:10:b?6:-4,rotation:r&&!b?90:0,...b?{inside:!0}:{}},h),this.renderLabel(h,v,b,s)):g&&g.hide(),this}renderLabel(e,t,n,r){let i=this.axis,a=i.chart.renderer,o=e.inside,s=this.label;s||(this.label=s=a.text(this.getLabelText(e),0,0,e.useHTML).attr({align:e.textAlign||e.align,rotation:e.rotation,class:`highcharts-plot-`+(n?`band`:`line`)+`-label `+(e.className||``),zIndex:r}),i.chart.styledMode||s.css(G({color:i.chart.options.title?.style?.color,fontSize:`0.8em`,textOverflow:n&&!o?``:`ellipsis`},e.style)),s.add());let c=t.xBounds||[t[0][1],t[1][1],n?t[2][1]:t[0][1]],l=t.yBounds||[t[0][2],t[1][2],n?t[2][2]:t[0][2]],u=N(c),d=N(l),f=re(c)-u;s.align(e,!1,{x:u,y:d,width:f,height:re(l)-d}),s.alignAttr.y-=a.fontMetrics(s).b,(!s.alignValue||s.alignValue===`left`||R(o))&&s.css({width:(e.style?.width||(n&&o?f:s.rotation===90?i.height-(s.alignAttr.y-i.top):(e.clip?i.width+i.left:i.chart.chartWidth)-s.alignAttr.x))+`px`}),s.show(!0)}getLabelText(e){return R(e.formatter)?e.formatter.call(this,this):e.text}destroy(){le(this.axis.plotLinesAndBands,this),delete this.axis,oe(this)}}let{animObject:yn}=$e,{format:bn}=ft,{composed:xn,dateFormats:Sn,doc:Cn,isSafari:wn}=j,{distribute:Tn}=pt,En=e=>{clearTimeout(e.hideTimer),clearTimeout(e.showTimer)};class Dn{constructor(e,t,n){this.allowShared=!0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.options={},this.outside=!1,this.chart=e,this.init(e,t),this.pointer=n}bodyFormatter(e){return e.map(e=>{let t=e.series.tooltipOptions,n=e.formatPrefix||`point`;return(t[n+`Formatter`]||e.tooltipFormatter).call(e,t[n+`Format`]||``,e)})}cleanSplit(e){this.chart.series.forEach(function(t){let n=t?.tt;n&&(!n.isActive||e?t.tt=n.destroy():n.isActive=!1)})}defaultFormatter(e){let t,n=this.points||Oe(this);return(t=(t=[e.headerFooterFormatter(n[0])]).concat(e.bodyFormatter(n))).push(e.headerFooterFormatter(n[0],!0)),t}destroy(){this.label&&=this.label.destroy(),this.split&&(this.cleanSplit(!0),this.tt&&=this.tt.destroy()),this.renderer&&(this.renderer=this.renderer.destroy(),se(this.container)),_e(this.hideTimer),En(this)}getAnchor(e,t){let n,{chart:r,pointer:i}=this,a=r.inverted,o=r.plotTop,s=r.plotLeft;if(e=Oe(e),e[0].series?.yAxis&&!e[0].series.yAxis.options.reversedStacks&&(e=e.slice().reverse()),this.followPointer&&t)t.chartX===void 0&&(t=i.normalize(t)),n=[t.chartX-s,t.chartY-o];else if(e[0].tooltipPos)n=e[0].tooltipPos;else{let r=0,i=0;e.forEach(function(e){let t=e.pos(!0);t&&(r+=t[0],i+=t[1])}),r/=e.length,i/=e.length,this.shared&&e.length>1&&t&&(a?r=t.chartX:i=t.chartY),n=[r-s,i-o]}let c={point:e[0],ret:n};return B(this,`getAnchor`,c),c.ret.map(Math.round)}getClassName(e,t,n){let r=this.options,i=e.series,a=i.options;return[r.className,`highcharts-label`,n&&`highcharts-tooltip-header`,t?`highcharts-tooltip-box`:`highcharts-tooltip`,!n&&`highcharts-color-`+q(e.colorIndex,i.colorIndex),a?.className].filter(H).join(` `)}getLabel({anchorX:e,anchorY:t}={anchorX:0,anchorY:0}){let n=this,r=this.chart.styledMode,i=this.options,a=this.split&&this.allowShared,o=this.container,s=this.chart.renderer;if(this.label){let e=!this.label.hasClass(`highcharts-label`);(!a&&e||a&&!e)&&this.destroy()}if(!this.label){if(this.outside){let e=this.chart,t=e.options.chart.style;this.container=o=j.doc.createElement(`div`),o.className=`highcharts-container highcharts-tooltip-container `+(e.renderTo.className.match(/(highcharts[a-zA-Z0-9-]+)\s?/gm)||``),o.dataset.highchartsChart=e.index.toString(),L(o,{position:`absolute`,top:`1px`,pointerEvents:`none`,zIndex:Math.max(i.style.zIndex||0,(t?.zIndex||0)+3)}),this.renderer=s=new Xt(o,0,0,t,void 0,void 0,s.styledMode)}if(a?this.label=s.g(`tooltip`):(this.label=s.label(``,e,t,i.shape||`callout`,void 0,void 0,i.useHTML,void 0,`tooltip`).attr({padding:i.padding,r:i.borderRadius}),r||this.label.attr({fill:i.backgroundColor,"stroke-width":i.borderWidth??+!i.fixed}).css(i.style).css({pointerEvents:i.style.pointerEvents||(this.shouldStickOnContact()?`auto`:`none`)})),n.outside){let e=this.label;[e.xSetter,e.ySetter].forEach((t,r)=>{e[r?`ySetter`:`xSetter`]=i=>{t.call(e,n.distance),e[r?`y`:`x`]=i,o&&(o.style[r?`top`:`left`]=`${i}px`)}})}this.label.attr({zIndex:8}).shadow(i.shadow??!i.fixed).add()}return o&&!o.parentElement&&j.doc.body.appendChild(o),this.label}getPlayingField(){let{body:e,documentElement:t}=Cn,{chart:n,distance:r,outside:i}=this;return{width:i?Math.max(e.scrollWidth,t.scrollWidth,e.offsetWidth,t.offsetWidth,t.clientWidth)-2*r-2:n.chartWidth,height:i?Math.max(e.scrollHeight,t.scrollHeight,e.offsetHeight,t.offsetHeight,t.clientHeight):n.chartHeight}}getPosition(e,t,n){let{distance:r,chart:i,outside:a,pointer:o}=this,{inverted:s,plotLeft:c,plotTop:l,polar:u}=i,{plotX:d=0,plotY:f=0}=n,p={},m=s&&n.h||0,{height:h,width:g}=this.getPlayingField(),_=o.getChartPosition(),v=n=>{let o=n===`x`;return[n,o?g:h,o?e:t].concat(a?[o?e*_.scaleX:t*_.scaleY,o?_.left-r+(d+c)*_.scaleX:_.top-r+(f+l)*_.scaleY,0,o?g:h]:[o?e:t,o?d+c:f+l,o?c:l,o?c+i.plotWidth:l+i.plotHeight])},y=v(`y`),b=v(`x`),x,S=!!n.negative;!u&&i.hoverSeries?.yAxis?.reversed&&(S=!S);let C=!this.followPointer&&q(n.ttBelow,!u&&!s===S),w=function(e,t,n,i,o,s,c){let l=a?e===`y`?r*_.scaleY:r*_.scaleX:r,u=(n-i)/2,d=i<o-r,f=o+r+i<t,h=o-l-n+u,g=o+l-u;if(C&&f)p[e]=g;else if(!C&&d)p[e]=h;else if(d)p[e]=Math.min(c-i,h-m<0?h:h-m);else{if(!f)return p[e]=0,!1;p[e]=Math.max(s,g+m+n>t?g:g+m)}},T=function(e,t,n,i,a){if(a<r||a>t-r)return!1;a<n/2?p[e]=1:a>t-i/2?p[e]=t-i-2:p[e]=a-n/2},E=function(e){[y,b]=[b,y],x=e},D=()=>{!1===w.apply(0,y)?x?p.x=p.y=0:(E(!0),D()):!1!==T.apply(0,b)||x||(E(!0),D())};return(s&&!u||this.len>1)&&E(),D(),a&&(p.x-=_.left,p.y-=_.top),p}getFixedPosition(e,t,n){let r=n.series,{chart:i,options:a,split:o}=this,s=a.position,c=s.relativeTo,l=a.shared||r?.yAxis?.isRadial&&(c===`pane`||!c)?`plotBox`:c,u=l===`chart`?i.renderer:i[l]||i.getClipBox(r,!0);return{x:u.x+(u.width-e)*de(s.align)+s.x,y:u.y+(u.height-t)*de(s.verticalAlign)+(!o&&s.y||0)}}hide(e){let t=this;En(this),e=q(e,this.options.hideDelay),this.isHidden||(this.hideTimer=Ae(function(){let n=t.getLabel();t.getLabel().animate({opacity:0},{duration:e&&150,complete:()=>{n.hide(),t.container&&t.container.remove()}}),t.isHidden=!0},e))}init(e,t){this.chart=e,this.options=t,this.crosshairs=[],this.isHidden=!0,this.split=t.split&&!e.inverted&&!e.polar,this.shared=t.shared||this.split,this.outside=q(t.outside,!!(e.scrollablePixelsX||e.scrollablePixelsY))}shouldStickOnContact(e){return!!(!this.followPointer&&this.options.stickOnContact&&(!e||this.pointer.inClass(e.target,`highcharts-tooltip`)))}move(e,t,n,r){let{followPointer:i,options:a}=this,o=yn(!i&&!this.isHidden&&!a.fixed&&a.animation),s=i||(this.len||0)>1,c={x:e,y:t};s?c.anchorX=c.anchorY=NaN:(c.anchorX=n,c.anchorY=r),o.step=()=>this.drawTracker(),this.getLabel().animate(c,o)}refresh(e,t){let n=this,{chart:r,options:i,pointer:a,shared:o}=this,s=Oe(e),c=s[0],l=i.format,u=i.formatter||n.defaultFormatter,d=r.styledMode,f=n.allowShared;if(!i.enabled||!c.series)return;En(this),n.allowShared=!(!U(e)&&e.series&&e.series.noSharedTooltip),f&&=!n.allowShared,n.followPointer=!n.split&&c.series.tooltipOptions.followPointer;let p=n.getAnchor(e,t),m=p[0],h=p[1];o&&n.allowShared&&(a.applyInactiveState(s),s.forEach(e=>e.setState(`hover`)),c.points=s),this.len=s.length;let g=H(l)?bn(l,c,r):u.call(c,n,c);c.points=void 0;let _=c.series;this.distance=q(_.tooltipOptions.distance,16),!1===g?this.hide():this.showTimer=Ae(()=>{if(n.split&&n.allowShared)n.renderSplit(g,s);else{let e=m,o=h;if(t&&a.isDirectTouch&&(e=t.chartX-r.plotLeft,o=t.chartY-r.plotTop),!(r.polar||!1===_.options.clip||s.some(t=>a.isDirectTouch||t.series.shouldShowTooltip(e,o))))return void n.hide();{let e=n.getLabel(f&&n.tt||{});(!i.style.width||d)&&e.css({width:(this.outside?this.getPlayingField():r.spacingBox).width-2*i.padding+`px`}),e.attr({class:n.getClassName(c),text:U(g)?g.join(``):g}),this.outside&&e.attr({x:F(e.x||0,0,this.getPlayingField().width-(e.width||0)-1)}),d||e.attr({stroke:i.borderColor||c.color||_.color||`var(--highcharts-neutral-color-60)`}),n.updatePosition({plotX:m,plotY:h,negative:c.negative,ttBelow:c.ttBelow,series:_,h:p[2]||0})}}n.isHidden&&n.label&&n.label.attr({opacity:1}).show(),n.isHidden=!1},n.isHidden&&i.showDelay||0),B(this,`refresh`)}renderSplit(e,t){let n=this,{chart:r,chart:{chartWidth:i,chartHeight:a,plotHeight:o,plotLeft:s,plotTop:c,scrollablePixelsY:l=0,scrollablePixelsX:u,styledMode:d},distance:f,options:p,options:{fixed:m,position:h,positioner:g},pointer:_}=n,{scrollLeft:v=0,scrollTop:y=0}=r.scrollablePlotArea?.scrollingContainer||{},b=n.outside&&typeof u!=`number`?Cn.documentElement.getBoundingClientRect():{left:v,right:v+i,top:y,bottom:y+a},x=n.getLabel(),S=this.renderer||r.renderer,C=!!r.xAxis[0]?.opposite,{left:w,top:T}=_.getChartPosition(),E=g||m,D=c+y,O=0,k=o-l,A=function(e,t,r,i,a=[0,0],o=!0){let s,c;if(r.isHeader)c=C?0:k,s=F(a[0]-e/2,b.left,b.right-e-(n.outside?w:0));else if(m&&r){let i=n.getFixedPosition(e,t,r);s=i.x,c=i.y-D}else c=a[1]-D,s=F(s=o?a[0]-e-f:a[0]+f,o?s:b.left,b.right);return{x:s,y:c}};H(e)&&(e=[!1,e]);let j=e.slice(0,t.length+1).reduce(function(e,r,i){if(!1!==r&&r!==``){let a=t[i-1]||{isHeader:!0,plotX:t[0].plotX,plotY:o,series:{}},l=a.isHeader,u=l?n:a.series,h=u.tt=function(e,t,r){let i=e,{isHeader:a,series:o}=t,s=o.tooltipOptions||p,c=a?G(s,s.header):s;if(!i){let e={padding:s.padding,r:s.borderRadius};d||(e.fill=c.backgroundColor,e[`stroke-width`]=c.borderWidth??+!s.fixed),i=S.label(``,0,0,c.shape||(m&&!a?`rect`:`callout`),void 0,void 0,s.useHTML).addClass(n.getClassName(t,!0,a)).attr(e).add(x)}return i.isActive=!0,d||i.css(c.style),i.attr({text:r}),d||i.attr({stroke:c.borderColor||t.color||o.color||`var(--highcharts-neutral-color-80)`}),i}(u.tt,a,r.toString()),_=h.getBBox(),v=_.width+h.strokeWidth();l&&(O=_.height+p.header.distance,k+=O,C&&(D-=O));let{anchorX:y,anchorY:w}=function(e){let t,n,{isHeader:r,plotX:i=0,plotY:a=0,series:l}=e;if(r)t=Math.max(s+i,s),n=c+o/2;else{let{xAxis:e,yAxis:r}=l;t=e.pos+F(i,-f,e.len+f),l.shouldShowTooltip(0,r.pos-c+a,{ignoreX:!0})&&(n=r.pos+a)}return{anchorX:t=F(t,b.left-f,b.right+f),anchorY:n}}(a);if(typeof w==`number`){let t=_.height+1,r=(g||A).call(n,v,t,a,n,[y,w]);e.push({align:E?0:void 0,anchorX:y,anchorY:w,boxWidth:v,point:a,rank:q(r.rank,+!!l),size:t,target:r.y,tt:h,x:r.x})}else h.isActive=!1}return e},[]);!E&&j.some(e=>{let{outside:t}=n,r=(t?w:0)+e.anchorX;return r<b.left&&r+e.boxWidth<b.right||r<w-b.left+e.boxWidth&&b.right-r>r})&&(j=j.map(e=>{let{x:t,y:n}=A.call(this,e.boxWidth,e.size,e.point,void 0,[e.anchorX,e.anchorY],!1);return z(e,{target:n,x:t})})),n.cleanSplit(),Tn(j,k);let ee={left:w,right:w};j.forEach(function(e){let{x:t,boxWidth:r,isHeader:i}=e;!i&&(n.outside&&w+t<ee.left&&(ee.left=w+t),n.outside&&ee.left+r>ee.right&&(ee.right=w+t))}),j.forEach(function(e){let{x:t,anchorX:r,anchorY:i,pos:a,point:{isHeader:o}}=e,s={visibility:a===void 0?`hidden`:`inherit`,x:t,y:(a||0)+D+(m&&h.y||0),anchorX:r,anchorY:i};if(n.outside&&t<r){let e=w-ee.left;e>0&&(s.x=o?(ee.right-ee.left)/2:t+e,s.anchorX=r+e)}e.tt.attr(s)});let{container:te,outside:ne,renderer:M}=n;if(ne&&te&&M){let{width:e,height:t,x:n,y:r}=x.getBBox();M.setSize(e+n,t+r,!1),te.style.left=ee.left+`px`,te.style.top=T+`px`}wn&&x.attr({opacity:x.opacity===1?.999:1})}drawTracker(){let e=this;if(!this.shouldStickOnContact()){e.tracker&&=e.tracker.destroy();return}let t=e.chart,n=e.label,r=e.shared?t.hoverPoints:t.hoverPoint;if(!n||!r)return;let i={x:0,y:0,width:0,height:0},a=this.getAnchor(r),o=n.getBBox();a[0]+=t.plotLeft-(n.translateX||0),a[1]+=t.plotTop-(n.translateY||0),i.x=Math.min(0,a[0]),i.y=Math.min(0,a[1]),i.width=a[0]<0?Math.max(Math.abs(a[0]),o.width-a[0]):Math.max(Math.abs(a[0]),o.width),i.height=a[1]<0?Math.max(Math.abs(a[1]),o.height-Math.abs(a[1])):Math.max(Math.abs(a[1]),o.height),e.tracker?e.tracker.attr(i):(e.tracker=n.renderer.rect(i).addClass(`highcharts-tracker`).add(n),M(e.tracker.element,`mouseenter`,()=>En(e)),t.styledMode||e.tracker.attr({fill:`rgba(0,0,0,0)`}))}styledModeFormat(e){return e.replace(`style="font-size: 0.8em"`,`class="highcharts-header"`).replace(/style="color:{(point|series)\.color}"/g,`class="highcharts-color-{$1.colorIndex} {series.options.className} {point.options.className}"`)}headerFooterFormatter(e,t){let n=e.series,r=n.tooltipOptions,i=n.xAxis?.dateTime,a={isFooter:t,point:e},o=r.xDateFormat||``,s=r[t?`footerFormat`:`headerFormat`];return B(this,`headerFormatter`,a,function(t){if(i&&!o&&V(e.key)&&(o=i.getXDateFormat(e.key,r.dateTimeLabelFormats)),i&&o){if(W(o)){let e=o;Sn[0]=t=>n.chart.time.dateFormat(e,t),o=`%0`}(e.tooltipDateKeys||[`key`]).forEach(e=>{s=s.replace(RegExp(`point\\.`+e+`([ \\)}])`),`(point.${e}:${o})$1`)})}n.chart.styledMode&&(s=this.styledModeFormat(s)),t.text=bn(s,e,this.chart)}),a.text||``}update(e){this.destroy(),this.init(this.chart,G(!0,this.options,e))}updatePosition(e){let{chart:t,container:n,distance:r,options:i,pointer:a,renderer:o}=this,{height:s=0,width:c=0}=this.getLabel(),{fixed:l,positioner:u}=i,{left:d,top:f,scaleX:p,scaleY:m}=a.getChartPosition(),h=(u||l&&this.getFixedPosition||this.getPosition).call(this,c,s,e,this),g=j.doc,_=(e.plotX||0)+t.plotLeft,v=(e.plotY||0)+t.plotTop,y;if(o&&n){if(h.x+=d,h.y+=f,u||l){let{scrollLeft:e=0,scrollTop:n=0}=t.scrollablePlotArea?.scrollingContainer||{};h.x+=e,h.y+=n}y=(i.borderWidth??+!l)+2*r+2,o.setSize(F(c+y,0,g.documentElement.clientWidth)-1,s+y,!1),(p!==1||m!==1)&&(L(n,{transform:`scale(${p}, ${m})`}),_*=p,v*=m),_+=d-h.x,v+=f-h.y}this.move(Math.round(h.x),Math.round(h.y||0),_,v)}}(s=Dn||={}).compose=function(e){we(xn,`Core.Tooltip`)&&M(e,`afterInit`,function(){let e=this.chart;e.options.tooltip&&(e.tooltip=new s(e,e.options.tooltip,this))})};let On=Dn,{animObject:kn}=$e,{defaultOptions:An}=We,{format:jn}=ft;class Mn{constructor(e,t,n){this.formatPrefix=`point`,this.visible=!0,this.point=this,this.series=e,this.applyOptions(t,n),this.id??=Fe(),this.resolveColor(),this.dataLabelOnNull??=e.options.nullInteraction,e.chart.pointCount++,this.category=e.xAxis?.categories?.[this.x]??this.x,this.key=this.name??this.category,B(this,`afterInit`)}applyOptions(e,t,n){let r=this.series,i=r.options.pointValKey||r.pointValKey;return z(this,e=Mn.prototype.optionsToObject.call(this,e)),this.options?this.options=r.chart.options.chart.allowMutatingData?z(this.options,e):G(this.options,e):this.options=e,i&&(this.y=Mn.prototype.getNestedProperty.call(this,i)),V(t)&&(this.x=t),n||(this.selected&&(this.state=`select`),e.group&&delete this.group,e.dataLabels&&delete this.dataLabels,this.isNull=this.isValid&&!this.isValid(),this.formatPrefix=this.isNull?`null`:`point`),this}getOrigin({x:e=0,y:t=0},n={}){let{graphic:r,series:i}=this;if(i.chart.inverted&&r?.parentGroup&&!r?.parentGroup?.rotation){let n=this.pos(!1,e,t);n&&(e=n[0],t=n[1])}e-=(n.width||0)/2,t-=(n.height||0)/2;let a={x:e};return i.is(`column`)||this.plotHigh||(a.y=t),a}destroy(){if(!this.condemned){let e=this,t=e.series,n=t.chart,r=n.hoverPoints,{duration:i}=kn(e.series.chart.renderer.globalAnimation),a=()=>{for(let t in(e.graphic||e.graphics||e.dataLabel||e.dataLabels)&&(De(e),e.destroyElements()),e)delete e[t]};e.legendItem&&n.legend.destroyItem(e),r&&(e.setState(),le(r,e),r.length||(n.hoverPoints=void 0)),e===n.hoverPoint&&e.onMouseOut(),i&&t.condemnedPoints?(t.condemnedPoints.push(this),this.graphic?.addClass(`highcharts-point-condemned`),setTimeout(a,i)):a(),n.pointCount--}this.condemned=!0}destroyElements(e={graphic:1,dataLabel:1}){let t,n,r=this,i=[];for(e.graphic&&i.push(`graphic`,`connector`),e.dataLabel&&i.push(`dataLabel`,`dataLabelPath`,`dataLabelUpper`),n=i.length;n--;)r[t=i[n]]&&(r[t]=r[t].destroy());[`graphic`,`dataLabel`].forEach(t=>{let n=`${t}s`;e[t]&&r[n]&&(r[n].forEach(e=>{e?.element&&e.destroy()}),delete r[n])})}firePointEvent(e,t,n){let r=this,i=this.series.options;r.manageEvent(e),e===`click`&&i.allowPointSelect&&(n=function(e){!r.condemned&&r.select&&r.select(null,e.ctrlKey||e.metaKey||e.shiftKey)}),B(r,e,t,n)}getClassName(){return`highcharts-point`+(this.selected?` highcharts-point-select`:``)+(this.negative&&!1!==this.series.options.negativeColor?` highcharts-negative`:``)+(this.isNull?` highcharts-null-point`:``)+(this.colorIndex===void 0?``:` highcharts-color-`+this.colorIndex)+(this.options.className?` `+this.options.className:``)+(this.zone?.className?` `+this.zone.className.replace(`highcharts-negative`,``):``)}getNestedProperty(e){if(e)return e.indexOf(`custom.`)===0?me(e,this.options):this[e]}getZone(){let e=this.series,t=e.zones,n=e.zoneAxis||`y`,r,i=0;for(r=t[0];this[n]>=r.value;)r=t[++i];return this.nonZonedColor||=this.color,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}isValid(){return(V(this.x)||this.x instanceof Date)&&V(this.y)}optionsToObject(e){let t=this.series,n=t.options.keys,r=n||t.pointArrayMap||[`y`],i=r.length,a={},o,s=0,c=0;if(V(e)||e===null)a[r[0]]=e;else if(U(e))for(!n&&e.length>i&&((o=typeof e[0])==`string`?t.xAxis?.dateTime?a.x=t.chart.time.parse(e[0]):a[t.tupleKey||`name`]=e[0]:o===`number`&&(a.x=e[0]),s++);c<i;)n&&e[s]===void 0||(a[r[c]]=e[s]),s++,c++;else typeof e==`object`&&(a=e,e.dataLabels&&(t.hasDataLabels=()=>!0),e.marker&&(t._hasPointMarkers=!0));return(n||!t.options.data)&&Object.keys(a).forEach(e=>{e.indexOf(`.`)>0&&(Mn.prototype.setNestedProperty(a,a[e],e),delete a[e])}),a}pos(e,t=this.plotX,n=this.plotY){let{series:r}=this,{chart:i,xAxis:a,yAxis:o}=r||{},s=0,c=0;if(i&&V(t)&&V(n))return e&&(s=a?a.pos:i.plotLeft,c=o?o.pos:i.plotTop),i.inverted&&a&&o?[o.len-n+c,a.len-t+s]:[t+s,n+c]}resolveColor(){let{options:e,series:t}=this,n=t.chart,r=n.options.chart,i=n.styledMode,a,o=r.colorCount,s;if(delete this.nonZonedColor,t.options.colorByPoint){if(!i){let e=t.options.colors||n.options.colors;a=e?.[t.colorCounter],o=e?.length}s=t.colorCounter,t.colorCounter++,t.colorCounter===o&&(t.colorCounter=0)}else i||(a=t.color),s=t.colorIndex;this.colorIndex=e.colorIndex??s,this.color=e.color??a}setNestedProperty(e,t,n){return n.split(`.`).reduce(function(e,n,r,i){return e[n]=i.length-1===r?t:W(e[n],!0)?e[n]:{},e[n]},e),e}shouldDraw(){return!this.isNull}tooltipFormatter(e){let{chart:t,pointArrayMap:n=[`y`],tooltipOptions:r}=this.series,{valueDecimals:i=``,valuePrefix:a=``,valueSuffix:o=``}=r;return t.styledMode&&(e=t.tooltip?.styledModeFormat(e)||e),n.forEach(t=>{t=`{point.`+t,(a||o)&&(e=e.replace(RegExp(t+`}`,`g`),a+t+`}`+o)),e=e.replace(RegExp(t+`}`,`g`),t+`:,.`+i+`f}`)}),jn(e,this,t)}update(e,t=!0,n,r){let i=this,a=i.series,o=i.graphic,s=a.chart,c=a.options,l=c.data;function u(){i.applyOptions(e);let r=o&&i.hasMockGraphic,u=i.index,d=i.y===null?!r:r;o&&d&&(i.graphic=o.destroy(),delete i.hasMockGraphic),W(e,!0)&&(o?.element&&e?.marker&&e.marker.symbol!==void 0&&(i.graphic=o.destroy()),e?.dataLabels&&i.dataLabel&&(i.dataLabel=i.dataLabel.destroy()));let f=i.optionsToObject(e);!a.hasProcessedDataTable&&(a.dataTable.setRow(f,u),l&&(l[u]=W(l[u],!0)||W(e,!0)?i.options:e??l[u])),a.isDirty=a.isDirtyData=!0,`x`in f&&(H(f.x)&&(a.xColumnIsNumbers=void 0),i.x=a.getX(f.x),i.isNull=i.isValid&&!i.isValid(),a.xColumn&&(a.xColumn[u]=i.x)),!a.fixedBox&&a.hasCartesianSeries&&(s.isDirtyBox=!0),c.legendType===`point`&&(s.isDirtyLegend=!0),t&&s.redraw(n)}!1===r?u():i.firePointEvent(`update`,{options:e},u)}remove(e,t){this.series.removePoint(this.series.data.indexOf(this),e,t)}select(e,t){let n=this,r=n.series,i=r.chart;e=q(e,!n.selected),this.selectedStaging=e,n.firePointEvent(e?`select`:`unselect`,{accumulate:t},function(){n.selected=n.options.selected=e,r.options.data&&(r.options.data[r.data.indexOf(n)]=n.options),n.setState(e&&`select`),t||i.getSelectedPoints().forEach(function(e){let t=e.series,r=t.options;e.selected&&e!==n&&(e.selected=e.options.selected=!1,r.data&&(r.data[t.data.indexOf(e)]=e.options),e.setState(i.hoverPoints&&r.inactiveOtherPoints?`inactive`:``),e.firePointEvent(`unselect`))})}),delete this.selectedStaging}onMouseOver(e){let{inverted:t,pointer:n}=this.series.chart;n&&(e=e?n.normalize(e):n.getChartCoordinatesFromPoint(this,t),n.runPointActions(e,this))}onMouseOut(){if(!this.series)return;let e=this.series.chart;this.firePointEvent(`mouseOut`),this.series.options.inactiveOtherPoints||(e.hoverPoints||[]).forEach(function(e){e.setState()}),e.hoverPoints=e.hoverPoint=null}manageEvent(e){let t=G(this.series.options.point,this.options).events?.[e];be(t)&&(!this.hcEvents?.[e]||this.hcEvents?.[e]?.map(e=>e.fn).indexOf(t)===-1)?(this.importedUserEvent?.(),this.importedUserEvent=M(this,e,t),this.hcEvents&&(this.hcEvents[e].userEvent=!0)):this.importedUserEvent&&!t&&this.hcEvents?.[e]&&this.hcEvents?.[e].userEvent&&(De(this,e),delete this.hcEvents[e],Object.keys(this.hcEvents)||delete this.importedUserEvent)}setState(e,t){let n=this.series,r=this.state,i=n.options.states[e||`normal`]||{},a=An.plotOptions[n.type].marker&&n.options.marker,o=a&&!1===a.enabled,s=a?.states?.[e||`normal`]||{},c=!1===s.enabled,l=this.marker||{},u=n.chart,d=a&&n.markerAttribs,f=n.halo,p,m,h,g=n.stateMarkerGraphic,_;if((e||=``)===this.state&&!t||this.selected&&e!==`select`||!1===i.enabled||e&&(c||o&&!1===s.enabled)||e&&l.states&&l.states[e]&&!1===l.states[e].enabled)return;if(this.state=e,d&&(p=n.markerAttribs(this,e)),this.graphic&&!this.hasMockGraphic){if(r&&this.graphic.removeClass(`highcharts-point-`+r),e&&this.graphic.addClass(`highcharts-point-`+e),!u.styledMode){m=n.pointAttribs(this,e),h=q(u.options.chart.animation,i.animation);let t=m.opacity;n.options.inactiveOtherPoints&&V(t)&&(this.dataLabels||[]).forEach(function(e){e&&!e.hasClass(`highcharts-data-label-hidden`)&&(e.animate({opacity:t},h),e.connector&&e.connector.animate({opacity:t},h))}),this.graphic.animate(m,h)}p&&this.graphic.animate(p,q(u.options.chart.animation,s.animation,a.animation)),g&&g.hide()}else e&&s&&(_=l.symbol||n.symbol,g&&g.currentSymbol!==_&&(g=g.destroy()),p&&(g?g[t?`animate`:`attr`]({x:p.x,y:p.y}):_&&(n.stateMarkerGraphic=g=u.renderer.symbol(_,p.x,p.y,p.width,p.height,G(a,s)).add(n.markerGroup),g.currentSymbol=_)),!u.styledMode&&g&&this.state!==`inactive`&&g.attr(n.pointAttribs(this,e))),g&&(g[e&&this.isInside?`show`:`hide`](),g.element.point=this,g.addClass(this.getClassName(),!0));let v=i.halo,y=this.graphic||g,b=y?.visibility||`inherit`;v?.size&&y&&b!==`hidden`&&!this.isCluster?(f||(n.halo=f=u.renderer.path().add(y.parentGroup)),f.show()[t?`animate`:`attr`]({d:this.haloPath(v.size)}),f.attr({class:`highcharts-halo highcharts-color-`+q(this.colorIndex,n.colorIndex)+(this.className?` `+this.className:``),visibility:b,zIndex:-1}),f.point=this,u.styledMode||f.attr(z({fill:this.color||n.color,"fill-opacity":v.opacity},Q.filterUserAttributes(v.attributes||{})))):f?.point?.haloPath&&!f.point.destroyed&&f.animate({d:f.point.haloPath(0)},null,f.hide),B(this,`afterSetState`,{state:e})}haloPath(e){let t=this.pos();return t?this.series.chart.renderer.symbols.circle(ae(t[0],1)-e,t[1]-e,2*e,2*e):[]}}let Nn=Mn,{charts:Pn,composed:Fn,isTouchDevice:In}=j,Ln=(e,t)=>!R(t)||e[`${t}Key`];class Rn{applyInactiveState(e=[]){let t=[];for(let n of(e.forEach(e=>{let n=e.series;t.push(n),n.linkedParent&&t.push(n.linkedParent),n.linkedSeries&&t.push.apply(t,n.linkedSeries),n.navigatorSeries&&t.push(n.navigatorSeries),n.boosted&&n.markerGroup&&t.push.apply(t,this.chart.series.filter(e=>e.markerGroup===n.markerGroup))}),this.chart.series)){let e=n.options;e.states?.inactive?.enabled!==!1&&(t.indexOf(n)===-1?n.setState(`inactive`,!0):e.inactiveOtherPoints&&n.setAllPointsToState(`inactive`))}}destroy(){let e=this;this.eventsToUnbind.forEach(e=>e()),this.eventsToUnbind=[],!j.chartCount&&(Rn.unbindDocumentMouseUp.forEach(e=>e.unbind()),Rn.unbindDocumentMouseUp.length=0,Rn.unbindDocumentTouchEnd&&=Rn.unbindDocumentTouchEnd()),K(e,function(t,n){e[n]=void 0})}getSelectionMarkerAttrs(e,t){let n={args:{chartX:e,chartY:t},attrs:{},shapeType:`rect`};return B(this,`getSelectionMarkerAttrs`,n,n=>{let r,{chart:i,zoomHor:a,zoomVert:o}=this,{mouseDownX:s=0,mouseDownY:c=0}=i,l=n.attrs;l.x=i.plotLeft,l.y=i.plotTop,l.width=a?1:i.plotWidth,l.height=o?1:i.plotHeight,a&&(l.width=Math.max(1,Math.abs(r=e-s)),l.x=(r>0?0:r)+s),o&&(l.height=Math.max(1,Math.abs(r=t-c)),l.y=(r>0?0:r)+c)}),n}drag(e){let{chart:t}=this,{mouseDownX:n=0,mouseDownY:r=0}=t,{panning:i,panKey:a,selectionMarkerFill:o}=t.options.chart,s=t.plotLeft,c=t.plotTop,l=t.plotWidth,u=t.plotHeight,d=W(i)?i.enabled:i,f=a&&e[`${a}Key`],p=e.chartX,m=e.chartY,h,g=this.selectionMarker;if((!g||!g.touch)&&(p<s?p=s:p>s+l&&(p=s+l),m<c?m=c:m>c+u&&(m=c+u),this.hasDragged=Math.sqrt((n-p)**2+(r-m)**2),this.hasDragged>10)){h=t.isInsidePlot(n-s,r-c,{visiblePlotOnly:!0});let{shapeType:l,attrs:u}=this.getSelectionMarkerAttrs(p,m);this.hasZoom&&h&&!f&&!g&&(this.selectionMarker=g=t.renderer[l](),g.attr({class:`highcharts-selection-marker`,zIndex:7}).add(),t.styledMode||g.attr({fill:o})),g&&g.attr(u),h&&!g&&d&&Ln(e,a)&&t.pan(e,i)}}dragStart(e){let t=this.chart;t.mouseIsDown=e.type,t.cancelClick=!1,t.mouseDownX=e.chartX,t.mouseDownY=e.chartY}getSelectionBox(e){let t={args:{marker:e},result:e.getBBox()};return B(this,`getSelectionBox`,t),t.result}drop(e){let t,{chart:n,selectionMarker:r}=this;for(let e of n.axes)e.isPanning&&(e.isPanning=!1,(e.options.startOnTick||e.options.endOnTick||e.series.some(e=>e.boosted))&&(e.forceRedraw=!0,e.setExtremes(e.userMin,e.userMax,!1),t=!0));if(t&&n.redraw(),r&&e){if(this.hasDragged){let t=this.getSelectionBox(r);n.transform({axes:n.axes.filter(e=>e.zoomEnabled&&(e.coll===`xAxis`&&this.zoomX||e.coll===`yAxis`&&this.zoomY)),selection:{originalEvent:e,xAxis:[],yAxis:[],...t},from:t})}V(n.index)&&(this.selectionMarker=r.destroy())}n&&V(n.index)&&(L(n.container,{cursor:n._cursor}),n.cancelClick=this.hasDragged>10,n.mouseIsDown=!1,this.hasDragged=0,this.pinchDown=[],this.hasPinchMoved=!1)}findNearestKDPoint(e,t,n){let r;return e.forEach(function(e){var i;let a,o,s,c=!(e.noSharedTooltip&&t)&&0>e.options.findNearestPointBy.indexOf(`y`),l=e.searchPoint(n,c);W(l,!0)&&l.series&&(!W(r,!0)||(a=(i=r).distX-l.distX,o=i.dist-l.dist,s=l.series.group?.zIndex-i.series.group?.zIndex,(a!==0&&t?a:o===0?s===0?i.series.index>l.series.index?-1:1:s:o)>0))&&(r=l)}),r}getChartCoordinatesFromPoint(e,t){let{xAxis:n,yAxis:r}=e.series,i=e.shapeArgs;if(n&&r){let a=e.clientX??e.plotX??0,o=e.plotY||0;return e.isNode&&i&&V(i.x)&&V(i.y)&&(a=i.x,o=i.y),t?{chartX:r.len+r.pos-o,chartY:n.len+n.pos-a}:{chartX:a+n.pos,chartY:o+r.pos}}if(i?.x&&i.y)return{chartX:i.x,chartY:i.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;let{container:e}=this.chart,t=Se(e);this.chartPosition={left:t.left,top:t.top,scaleX:1,scaleY:1};let{offsetHeight:n,offsetWidth:r}=e;return r>2&&n>2&&(this.chartPosition.scaleX=t.width/r,this.chartPosition.scaleY=t.height/n),this.chartPosition}getCoordinates(e){let t={xAxis:[],yAxis:[]};for(let n of this.chart.axes)t[n.isXAxis?`xAxis`:`yAxis`].push({axis:n,value:n.toValue(e[n.horiz?`chartX`:`chartY`])});return t}getHoverData(e,t,n,r,i,a){let o=[],s=function(e){return e.visible&&!(!i&&e.directTouch)&&q(e.options.enableMouseTracking,!0)},c=t,l,u={chartX:a?a.chartX:void 0,chartY:a?a.chartY:void 0,shared:i};B(this,`beforeGetHoverData`,u),l=c&&!c.stickyTracking?[c]:n.filter(e=>e.stickyTracking&&(u.filter||s)(e));let d=r&&e||!a?e:this.findNearestKDPoint(l,i,a);return c=d?.series,d&&(i&&!c.noSharedTooltip?(l=n.filter(function(e){return u.filter?u.filter(e):s(e)&&!e.noSharedTooltip})).forEach(function(e){let t=e.options?.nullInteraction,n=ge(e.points,function(e){return e.x===d.x&&(!e.isNull||!!t)});W(n)&&(e.boosted&&e.boost&&(n=e.boost.getPoint(n)),o.push(n))}):o.push(d)),B(this,`afterGetHoverData`,u={hoverPoint:d}),{hoverPoint:u.hoverPoint,hoverSeries:c,hoverPoints:o}}getPointFromEvent(e){let t=e.target,n;for(;t&&!n;)n=t.point,t=t.parentNode;return n}onTrackerMouseOut(e){let t=this.chart,n=e.relatedTarget,r=t.hoverSeries;this.isDirectTouch=!1,!r||!n||r.stickyTracking||this.inClass(n,`highcharts-tooltip`)||this.inClass(n,`highcharts-series-`+r.index)&&this.inClass(n,`highcharts-tracker`)||r.onMouseOut()}inClass(e,t){let n=e,r;for(;n;){if(r=P(n,`class`)){if(r.indexOf(t)!==-1)return!0;if(r.indexOf(`highcharts-container`)!==-1)return!1}n=n.parentElement}}constructor(e,t){this.hasDragged=0,this.pointerCaptureEventsToUnbind=[],this.eventsToUnbind=[],this.options=t,this.chart=e,this.runChartClick=!!t.chart.events?.click,this.pinchDown=[],this.setDOMEvents(),B(this,`afterInit`)}normalize(e,t){let n=e.touches,r=n?n.length?n.item(0):q(n.changedTouches,e.changedTouches)[0]:e;t||=this.getChartPosition();let i=r.pageX-t.left,a=r.pageY-t.top;return z(e,{chartX:Math.round(i/=t.scaleX),chartY:Math.round(a/=t.scaleY)})}onContainerClick(e){let t=this.chart,n=t.hoverPoint,r=this.normalize(e),i=t.plotLeft,a=t.plotTop;!t.cancelClick&&(n&&this.inClass(r.target,`highcharts-tracker`)?(B(n.series,`click`,z(r,{point:n})),t.hoverPoint&&n.firePointEvent(`click`,r)):(z(r,this.getCoordinates(r)),t.isInsidePlot(r.chartX-i,r.chartY-a,{visiblePlotOnly:!0})&&B(t,`click`,r)))}onContainerMouseDown(e){let t=(1&(e.buttons||e.button))==1;e=this.normalize(e),j.isFirefox&&e.button!==0&&this.onContainerMouseMove(e),(e.button===void 0||t)&&(this.zoomOption(e),t&&e.preventDefault?.(),this.dragStart(e))}onContainerMouseLeave(e){let{pointer:t}=Pn[q(Rn.hoverChartIndex,-1)]||{};e=this.normalize(e),this.onContainerMouseMove(e),t&&!this.inClass(e.relatedTarget,`highcharts-tooltip`)&&(t.reset(),t.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(e){let t=this.chart,n=t.tooltip,r=this.normalize(e);this.setHoverChartIndex(e),(t.mouseIsDown===`mousedown`||this.touchSelect(r))&&this.drag(r),!t.exporting?.openMenu&&(this.inClass(r.target,`highcharts-tracker`)||t.isInsidePlot(r.chartX-t.plotLeft,r.chartY-t.plotTop,{visiblePlotOnly:!0}))&&!n?.shouldStickOnContact(r)&&(this.inClass(r.target,`highcharts-no-tooltip`)?this.reset(!1,0):this.runPointActions(r))}onDocumentTouchEnd(e){this.onDocumentMouseUp(e)}onContainerTouchMove(e){this.touchSelect(e)?this.onContainerMouseMove(e):this.touch(e)}onContainerTouchStart(e){this.touchSelect(e)?this.onContainerMouseDown(e):(this.zoomOption(e),this.touch(e,!0))}onDocumentMouseMove(e){let t=this.chart,n=t.tooltip,r=this.chartPosition,i=this.normalize(e,r);!r||t.isInsidePlot(i.chartX-t.plotLeft,i.chartY-t.plotTop,{visiblePlotOnly:!0})||n?.shouldStickOnContact(i)||i.target!==t.container.ownerDocument&&this.inClass(i.target,`highcharts-tracker`)||this.reset()}onDocumentMouseUp(e){e?.touches&&this.hasPinchMoved&&e?.preventDefault?.(),Pn[q(Rn.hoverChartIndex,-1)]?.pointer?.drop(e)}pinch(e){let t=this,{chart:n,hasZoom:r,lastTouches:i}=t,a=[].map.call(e.touches||[],e=>t.normalize(e)),o=a.length,s=o===1&&(t.inClass(e.target,`highcharts-tracker`)&&n.runTrackerClick||t.runChartClick),c=o===1&&(n.tooltip?.options.followTouchMove??!0);o>1?t.initiated=!0:c&&(t.initiated=!1),r&&t.initiated&&!s&&!1!==e.cancelable&&e.preventDefault(),e.type===`touchstart`?(t.pinchDown=a,t.res=!0,n.mouseDownX=e.chartX):c?this.runPointActions(t.normalize(e)):i&&(B(n,`touchpan`,{originalEvent:e,touches:a},()=>{let t=e=>{let t=e[0],n=e[1]||t;return{x:t.chartX,y:t.chartY,width:n.chartX-t.chartX,height:n.chartY-t.chartY}};n.transform({axes:n.axes.filter(e=>e.zoomEnabled&&(this.zoomHor&&e.horiz||this.zoomVert&&!e.horiz)),to:t(a),from:t(i),trigger:e.type})}),t.res&&(t.res=!1,this.reset(!1,0))),t.lastTouches=a}reset(e,t){let n=this.chart,r=n.hoverSeries,i=n.hoverPoint,a=n.hoverPoints,o=n.tooltip,s=o?.shared?a:i;e&&s&&Oe(s).forEach(function(t){t.series.isCartesian&&t.plotX===void 0&&(e=!1)}),e?o&&s&&Oe(s).length&&(o.refresh(s),o.shared&&a?a.forEach(function(e){e.setState(e.state,!0),e.series.isCartesian&&(e.series.xAxis.crosshair&&e.series.xAxis.drawCrosshair(null,e),e.series.yAxis.crosshair&&e.series.yAxis.drawCrosshair(null,e))}):i&&(i.setState(i.state,!0),n.axes.forEach(function(e){e.crosshair&&i.series[e.coll]===e&&e.drawCrosshair(null,i)}))):(i&&i.onMouseOut(),a&&a.forEach(function(e){e.setState()}),r&&r.onMouseOut(),o&&o.hide(t),this.unDocMouseMove&&=this.unDocMouseMove(),n.axes.forEach(function(e){e.hideCrosshair()}),n.hoverPoints=n.hoverPoint=void 0)}runPointActions(e,t,n){let r=this.chart,i=r.series,a=r.tooltip?.options.enabled?r.tooltip:void 0,o=!!a&&a.shared,s=t||r.hoverPoint,c=s?.series||r.hoverSeries,l=(!e||e.type!==`touchmove`)&&(!!t||c?.directTouch&&this.isDirectTouch),u=this.getHoverData(s,c,i,l,o,e);s=u.hoverPoint,c=u.hoverSeries;let d=u.hoverPoints,f=c?.tooltipOptions.followPointer&&!c.tooltipOptions.split,p=o&&c&&!c.noSharedTooltip;if(s&&(n||s!==r.hoverPoint||a?.isHidden)){if((r.hoverPoints||[]).forEach(function(e){d.indexOf(e)===-1&&e.setState()}),r.hoverSeries!==c&&c.onMouseOver(),this.applyInactiveState(d),(d||[]).forEach(function(e){e.setState(`hover`)}),r.hoverPoint&&r.hoverPoint.firePointEvent(`mouseOut`),!s.series)return;r.hoverPoints=d,r.hoverPoint=s,s.firePointEvent(`mouseOver`,void 0,()=>{a&&s&&a.refresh(p?d:s,e)})}else if(f&&a&&!a.isHidden){let t=a.getAnchor([{}],e);r.isInsidePlot(t[0],t[1],{visiblePlotOnly:!0})&&a.updatePosition({plotX:t[0],plotY:t[1]})}this.unDocMouseMove||(this.unDocMouseMove=M(r.container.ownerDocument,`mousemove`,e=>Pn[Rn.hoverChartIndex??-1]?.pointer?.onDocumentMouseMove(e)),this.eventsToUnbind.push(this.unDocMouseMove)),r.axes.forEach(function(t){let n,i=t.crosshair?.snap??!0;i&&((n=r.hoverPoint)&&n.series[t.coll]===t||(n=ge(d,e=>e.series?.[t.coll]===t))),n||!i?t.drawCrosshair(e,n):t.hideCrosshair()})}setDOMEvents(){let e=this.chart.container,t=e.ownerDocument,n=e=>e.parentElement||e.getRootNode()?.host?.parentElement;e.onmousedown=this.onContainerMouseDown.bind(this),e.onmousemove=this.onContainerMouseMove.bind(this),e.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(M(e,`mouseenter`,this.onContainerMouseEnter.bind(this)),M(e,`mouseleave`,this.onContainerMouseLeave.bind(this))),Rn.unbindDocumentMouseUp.some(e=>e.doc===t)||Rn.unbindDocumentMouseUp.push({doc:t,unbind:M(t,`mouseup`,this.onDocumentMouseUp.bind(this))});let r=n(this.chart.renderTo);for(;r&&r.tagName!==`BODY`;)this.eventsToUnbind.push(M(r,`scroll`,()=>{delete this.chartPosition})),r=n(r);this.eventsToUnbind.push(M(e,`touchstart`,this.onContainerTouchStart.bind(this),{passive:!1}),M(e,`touchmove`,this.onContainerTouchMove.bind(this),{passive:!1})),Rn.unbindDocumentTouchEnd||=M(t,`touchend`,this.onDocumentTouchEnd.bind(this),{passive:!1}),this.setPointerCapture(),M(this.chart,`redraw`,this.setPointerCapture.bind(this))}setPointerCapture(){if(!In)return;let e=this.pointerCaptureEventsToUnbind,t=this.chart,n=t.container,r=(t.options.tooltip?.followTouchMove??!0)&&t.series.some(e=>e.options.findNearestPointBy.indexOf(`y`)>-1);!this.hasPointerCapture&&r?(e.push(M(n,`pointerdown`,e=>{e.target?.hasPointerCapture(e.pointerId)&&e.target?.releasePointerCapture(e.pointerId)}),M(n,`pointermove`,e=>{t.pointer?.getPointFromEvent(e)?.onMouseOver(e)})),this.hasPointerCapture=!0):this.hasPointerCapture&&!r&&(e.forEach(e=>e()),e.length=0,this.hasPointerCapture=!1)}setHoverChartIndex(e){let t=this.chart,n=j.charts[q(Rn.hoverChartIndex,-1)];if(n&&n!==t){let r={relatedTarget:t.container};e&&!e?.relatedTarget&&Object.assign({},e,r),n.pointer?.onContainerMouseLeave(e||r)}n?.mouseIsDown||(Rn.hoverChartIndex=t.index)}touch(e,t){let n,r,{chart:i,pinchDown:a=[]}=this;this.setHoverChartIndex(),(e=this.normalize(e)).touches.length===1?((r=i.isInsidePlot(e.chartX-i.plotLeft,e.chartY-i.plotTop,{visiblePlotOnly:!0}))&&!i.exporting?.openMenu?(t&&this.runPointActions(e),e.type===`touchmove`&&(this.hasPinchMoved=n=!!a[0]&&(a[0].chartX-e.chartX)**2+(a[0].chartY-e.chartY)**2>=16),q(n,!0)&&this.pinch(e)):t&&this.reset(),(i.tooltip?.options.followTouchMove??!0)&&r&&e.preventDefault()):e.touches.length===2&&this.pinch(e)}touchSelect(e){return!!(this.chart.zooming.singleTouch&&e.touches&&e.touches.length===1)}zoomOption(e){let t=this.chart,n=t.inverted,r=t.zooming.type||``,i,a;/touch/.test(e.type)&&(r=q(t.zooming.pinchType,r)),this.zoomX=i=/x/.test(r),this.zoomY=a=/y/.test(r),this.zoomHor=i&&!n||a&&n,this.zoomVert=a&&!n||i&&n,this.hasZoom=(i||a)&&Ln(e,t.zooming.key)}}Rn.unbindDocumentMouseUp=[],(c=Rn||={}).compose=function(e){we(Fn,`Core.Pointer`)&&M(e,`beforeRender`,function(){this.pointer=new c(this,this.options)})};let zn=Rn,{setLength:Bn,splice:Vn}={convertToNumber:function(e,t){switch(typeof e){case`boolean`:return+!!e;case`number`:return isNaN(e)&&!t?null:e;default:return isNaN(e=parseFloat(`${e??``}`))&&!t?null:e}},setLength:function(e,t,n){return Array.isArray(e)?(e.length=t,e):e[n?`subarray`:`slice`](0,t)},splice:function(e,t,n,r,i=[]){if(Array.isArray(e))return Array.isArray(i)||(i=Array.from(i)),{removed:e.splice(t,n,...i),array:e};let a=Object.getPrototypeOf(e).constructor,o=e[r?`subarray`:`slice`](t,t+n),s=new a(e.length-n+i.length);return s.set(e.subarray(0,t),0),s.set(i,t),s.set(e.subarray(t+n),t+i.length),{removed:o,array:s}}},Hn=class{constructor(e={}){this.isDataTable=!0,this.autoId=!e.id,this.columns={},this.id=e.id||Fe(),this.rowCount=0,this.versionTag=Fe();let t=0;K(e.columns||{},(e,n)=>{this.columns[n]=e.slice(),t=Math.max(t,e.length)}),this.applyRowCount(t)}applyRowCount(e){this.rowCount=e,K(this.columns,(t,n)=>{t.length!==e&&(this.columns[n]=Bn(t,e))})}deleteRows(e,t=1){if(t>0&&e<this.rowCount){let n=0;K(this.columns,(r,i)=>{this.columns[i]=Vn(r,e,t).array,n=r.length}),this.rowCount=n}B(this,`afterDeleteRows`,{rowIndex:e,rowCount:t}),this.versionTag=Fe()}getColumn(e,t){return this.columns[e]}getColumns(e,t){return(e||Object.keys(this.columns)).reduce((e,t)=>(e[t]=this.columns[t],e),{})}getRowObject(e,t){let n={},r=this.columns;for(let i of(t??=Object.keys(this.columns),t))n[i]=r[i]?.[e];return n}setColumn(e,t=[],n=0,r){this.setColumns({[e]:t},n,r)}setColumns(e,t,n){let r=this.rowCount;K(e,(e,t)=>{this.columns[t]=e.slice(),r=e.length}),this.applyRowCount(r),n?.silent||(B(this,`afterSetColumns`),this.versionTag=Fe())}setRow(e,t=this.rowCount,n,r){var i;let{columns:a}=this,o=n?this.rowCount+1:t+1,s=Object.keys(e);if(r?.addColumns!==!1)for(let e=0,t=s.length;e<t;e++)a[i=s[e]]||(a[i]=Array(this.rowCount));K(a,(r,i)=>{r&&(n?r=Vn(r,t,0,!0,[e[i]]).array:r[t]=i in e?e[i]:r[t],a[i]=r)}),this.applyRowCount(Math.max(o,this.rowCount)),r?.silent||(B(this,`afterSetRows`,{rowIndex:t}),this.versionTag=Fe())}getModified(){return this.modified||this}};var Un=b||={};function Wn(e,t,n){let r=this.legendItem=this.legendItem||{},{chart:i,options:a}=this,{baseline:o=0,symbolWidth:s,symbolHeight:c}=e,l=this.symbol||`circle`,u=c/2,d=i.renderer,f=r.group,p=o-Math.round((e.fontMetrics?.b||c)*(n?.4:.3)),m={},h,g=a.marker,_=0;if(i.styledMode||(m[`stroke-width`]=Math.min(a.lineWidth||0,24),a.dashStyle?m.dashstyle=a.dashStyle:a.linecap!==`square`&&(m[`stroke-linecap`]=`round`)),r.line=d.path().addClass(`highcharts-graph`).attr(m).add(f),n&&(r.area=d.path().addClass(`highcharts-area`).add(f)),m[`stroke-linecap`]&&(_=Math.min(r.line.strokeWidth(),s)/2),s){let e=[[`M`,_,p],[`L`,s-_,p]];r.line.attr({d:e}),r.area?.attr({d:[...e,[`L`,s-_,o],[`L`,_,o]]})}if(g&&!1!==g.enabled&&s){let e=Math.min(q(g.radius,u),u);l.indexOf(`url`)===0&&(g=G(g,{width:c,height:c}),e=0),r.symbol=h=d.symbol(l,s/2-e,p-e,2*e,2*e,z({context:`legend`},g)).addClass(`highcharts-point`).add(f),h.isMarker=!0}}Un.areaMarker=function(e,t){Wn.call(this,e,t,!0)},Un.lineMarker=Wn;let Gn=b,{defaultOptions:Kn}=We;var qn=x||={};function Jn(e,t){let n=Kn.plotOptions||{},r=t.defaultOptions,i=t.prototype;return i.type=e,i.pointClass||=Nn,!qn.seriesTypes[e]&&(r&&(n[e]=r),qn.seriesTypes[e]=t,!0)}qn.seriesTypes=j.seriesTypes,qn.registerSeriesType=Jn,qn.seriesType=function(e,t,n,r,i){let a=Kn.plotOptions||{};if(t||=``,a[e]=G(a[t],n),delete qn.seriesTypes[e],Jn(e,ue(qn.seriesTypes[t]||j.Series,r)),qn.seriesTypes[e].prototype.type=e,i){class t extends Nn{}z(t.prototype,i),qn.seriesTypes[e].prototype.pointClass=t}return qn.seriesTypes[e]};let $=x,{animObject:Yn,setAnimation:Xn}=$e,{defaultOptions:Zn}=We,{registerEventOptions:Qn}=nn,{svg:$n,win:er}=j,{seriesTypes:tr}=$,{format:nr}=ft;class rr{constructor(){this.zoneAxis=`y`}init(e,t){let n;B(this,`init`,{options:t});let r=e.series;this.eventsToUnbind=[],this.condemnedPoints||=[],this.chart=e,this.options=this.setOptions(t);let i=this.options,a=!1!==i.visible;this.dataTable??=i.dataTable?.isDataTable?i.dataTable:new Hn(i.dataTable),this.linkedSeries=[],this.bindAxes(),z(this,{name:i.name,state:``,visible:a,selected:!0===i.selected}),Qn(this,i),(i.events?.click||i.point?.events?.click||i.allowPointSelect)&&(e.runTrackerClick=!0),this.getColor(),this.getSymbol(),this.isCartesian&&(e.hasCartesianSeries=!0),r.length&&(n=r[r.length-1]),this._i=q(n?._i,-1)+1,this.opacity=this.options.opacity,e.orderItems(`series`,Pe(this,r)),this.points||this.data||this.setData(i.data,!1),B(this,`afterInit`)}is(e){return tr[e]&&this instanceof tr[e]}bindAxes(){let e,t=this,n=t.options,r=t.chart;B(this,`bindAxes`,null,function(){(t.axisTypes||[]).forEach(function(i){(r[i]||[]).forEach(function(r){e=r.options,(q(n[i],0)===r.index||n[i]!==void 0&&n[i]===e.id)&&(Pe(t,r.series),t[i]=r,r.isDirty=!0)}),t[i]||t.optionalAxis===i||Y(18,!0,r)})}),B(this,`afterBindAxes`)}hasData(){return this.visible&&this.dataMax!==void 0&&this.dataMin!==void 0||this.visible&&this.dataTable.rowCount>0}hasMarkerChanged(e,t){let n=e.marker,r=t.marker||{};return n&&(r.enabled&&!n.enabled||r.symbol!==n.symbol||r.height!==n.height||r.width!==n.width)}autoIncrement(e){let t,n=this.options,{pointIntervalUnit:r,relativeXValue:i}=this.options,a=this.chart.time,o=this.xIncrement??a.parse(n.pointStart)??0;if(this.pointInterval=t=q(this.pointInterval,n.pointInterval,1),i&&V(e)&&(t*=e),r){let e=a.toParts(o);r===`day`?e[2]+=t:r===`month`?e[1]+=t:r===`year`&&(e[0]+=t),t=a.makeTime.apply(a,e)-o}return i&&V(e)?o+t:(this.xIncrement=o+t,o)}setOptions(e){let t,n=this.chart,r=n.options.plotOptions,i=n.userOptions||{},a=G(e),o=n.styledMode,s={plotOptions:r,userOptions:a};B(this,`setOptions`,s);let c=s.plotOptions[this.type],l=i.plotOptions||{},u=l.series||{},d=Zn.plotOptions[this.type]||{},f=l[this.type]||{};c.dataLabels=this.mergeArrays(d.dataLabels,c.dataLabels),this.userOptions=s.userOptions;let p=G(c,r.series,f,a),{negativeColor:m,negativeFillColor:h,zoneAxis:g=`y`,zones:_}=p,v=(_||[]).map(e=>({...e}));return this.tooltipOptions=G(Zn.tooltip,Zn.plotOptions.series?.tooltip,d?.tooltip,n.userOptions.tooltip,l.series?.tooltip,f.tooltip,a.tooltip),this.stickyTracking=q(a.stickyTracking,f.stickyTracking,u.stickyTracking,!!this.tooltipOptions.shared&&!this.noSharedTooltip||p.stickyTracking),c.marker===null&&delete p.marker,this.zones||=v,this.zoneAxis=g,(m||h)&&!_&&(t={value:p[g+`Threshold`]||p.threshold||0,className:`highcharts-negative`},o||(typeof m!=`boolean`&&(t.color=m),t.fillColor=h),v.push(t)),v.length&&R(v[v.length-1].value)&&v.push(o?{}:{color:this.color,fillColor:this.fillColor}),B(this,`afterSetOptions`,{options:p}),p}getName(){let{chart:e,options:t}=this,{dataMapping:n,name:r}=t,i=n?.y||n?.value,a=H(i)?i:i?.column;return r??(H(a)?a:nr(e.options.lang.seriesName,this,e))}getCyclic(e,t,n){let r,i,a=this.chart,o=`${e}Index`,s=`${e}Counter`,c=n?.length||a.options.chart.colorCount;!t&&(R(i=q(e===`color`?this.options.colorIndex:void 0,this[o]))?r=i:(a.series.length||(a[s]=0),r=a[s]%c,a[s]+=1),n&&(t=n[r])),r!==void 0&&(this[o]=r),this[e]=t}getColor(){let e=this.chart;e.styledMode?this.getCyclic(`color`):this.options.colorByPoint?this.color=`var(--highcharts-neutral-color-20)`:this.getCyclic(`color`,this.options.color||Zn.plotOptions[this.type]?.color,e.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){let e=this.options.marker;this.getCyclic(`symbol`,e.symbol,this.chart.options.symbols)}getColumn(e,t,n){let r=t?this.dataTable.getModified():this.dataTable,i=r.rowCount,a=this.dataTable!==r,o=r.getColumn(e,!0);if(e===`x`&&!a){if(this.xColumn)return this.xColumn;let e=r.getColumn(`name`,!0),t=this.options,n=e=>{if(this.xColumnIsNumbers!==void 0)return this.xColumnIsNumbers;for(let t of e)if(typeof t!=`number`)return this.xColumnIsNumbers=!1;return this.xColumnIsNumbers=!0};if(this.xIncrement=null,!o||this.xAxis?.hasNames||t.relativeXValue||o.length<(t.turboThreshold||1/0)&&!this.boosted&&!n(o)){let t=[];for(let n=0;n<i;n++){let r=o?.[n];R(r)||(this.xIncrement??=t[t.length-1]??null),t.push(this.getX(r,e?.[n]))}return this.xColumn=t}}return o||Array(n?i:0)}getX(e,t){return this.xAxis?.hasNames&&this.dataTable.getColumn(`name`,!0)&&R(t)?this.xAxis.nameToX({name:t,series:this},e):e===void 0||V(e)&&this.options.relativeXValue?this.autoIncrement(e):(typeof e==`string`&&(e=this.chart.time.parse(e)),e)}matchPoints(e,t,n,r){let{dataTable:i,options:a,requireSorting:o}=this,s=a.dataSorting,c=this.data,l=[],u=[],d=i.rowCount===c.length,f,p,m,h=0,g=!0;this.xIncrement=null,delete this.xColumn;let _=i.getColumn(`x`),v=i.getColumn(`id`),y=s?.matchByName?i.getColumn(`name`):void 0,b=i.getColumn(`index`);for(p=0;p<i.rowCount;p++){let a=_?.[p],m=v?.[p],g=y?.[p],x=b?.[p],[S,C]=m&&t?[m,t]:g&&n?[g,n]:R(x)&&r?[x,r]:R(a)&&e?[a,e]:[],w=-1;if(C){if((w=C.indexOf(S,h))===-1){let t=_?.[p],n=e?.length??i.rowCount;for(;n&&e&&typeof t==`number`&&e[n-1]>t;)n--;l.push({newIndex:n,oldIndex:p})}else c[w]&&(u.push({newIndex:w,oldIndex:p}),c[w].touched=!0,o&&(h=w+1));(!d||p!==w||s?.enabled||this.hasDerivedData)&&(f=!0)}else l.push({newIndex:p,oldIndex:p})}if(f){for(u.forEach(e=>{c[e.newIndex].applyOptions(i.getRowObject(e.oldIndex))}),l.sort((e,t)=>t.newIndex-e.newIndex),l.forEach(e=>{c.splice(e.newIndex,0,void 0)}),p=c.length;p--;)(m=c[p])&&!m.touched&&(m.destroy(),c.splice(p,1));this.isDirtyData=this.isDirty=!0}else if(d&&!s?.enabled){for(p=0;p<i.rowCount;p++)if(!c[p].destroyed&&!c[p].condemned){let e=i.getRowObject(p);e&&(Object.keys(e).forEach(t=>{R(e[t])||delete e[t]}),Object.keys(e).length&&c[p].update(e,!1,void 0,!1))}}else g=!1;if(c.forEach(e=>{e&&(e.touched=!1)}),!g)return!1;let x=this.getColumn(`x`);return this.xIncrement===null&&x.length&&(this.xIncrement=re(x),this.autoIncrement()),!0}getDataColumnKeys(){return this.dataColumnKeys||[`x`,...this.pointArrayMap||[`y`]]}setData(e,t=!0,n,r){let i,a,o,s=this.dataTable,c=this.options,l=this.points,u=l?.length||0,d=s.getColumn(`x`),f=s.getColumn(`id`),p=c.dataSorting?.matchByName&&l?.map(e=>e.name)||s.getColumn(`name`),m=s.getColumn(`index`),h=this.chart,g=this.xAxis;if(h.options.chart.allowMutatingData||(c.data&&delete this.options.data,this.userOptions.data&&delete this.userOptions.data,o=G(!0,e)),e=o||e,this.xIncrement=null,delete this.xColumn,delete this.xColumnIsNumbers,s!==c.dataTable&&delete s.columns.x,this.colorCounter=0,U(e)?this.setDataFromArray(e):this.setDataFromTable(e),!1===r||!u||this.cropped||this.hasGroupedData||!this.visible||this.boosted||(i=this.matchPoints(d,f,p,m)),!i){for(H(this.getColumn(`y`)[0])&&Y(14,!0,h),this.data=[],a=u;a--;)l[a]?.destroy();g&&(g.minRange=g.userMinRange),this.isDirty=h.isDirtyBox=!0,this.isDirtyData=!!l,n=!1}U(e)&&(this.options.data=this.userOptions.data=e),c.legendType===`point`&&(this.processData(),this.generatePoints()),t&&h.redraw(n)}setDataFromArray(e){let t=e.length,{keys:n,turboThreshold:r}=this.options,{pointValKey:i=`y`,pointArrayMap:a=[]}=this,o=a.length,s=this.dataTable,c=this.getDataColumnKeys(),l=r&&t>r,u=0,d=1;if(l){let r=this.getFirstValidPoint(e),f=this.getFirstValidPoint(e,t-1,-1),p=e=>!!(U(e)&&(n||V(e[0])));if(V(r)&&V(f))s.setColumn(i,e);else if(p(r)&&p(f))if(o){let t=r.length===o,n=Array(r.length).fill(0).map(()=>[]);for(let t of e)for(let e=0;e<=o;e++)n[e]?.push(t[e]);s.setColumns((t?a:c).reduce((e,t,r)=>(e[t]=n[r],e),{}))}else{n&&(u=n.indexOf(`x`),d=n.indexOf(`y`),u=u>=0?u:0,d=d>=0?d:1),r.length===1&&(d=0);let t=[],a=[];if(u===d){for(let t of e)a.push(t[d]);s.setColumn(i,a)}else{for(let n of e)t.push(n[u]),a.push(n[d]);s.setColumns({x:t,[i]:a})}}else l=!1}if(!l){let n={};for(let r=0;r<t;r++){let i=this.pointClass.prototype.optionsToObject.call({series:this},e[r]);for(let e of Object.keys(i))n[e]||(n[e]=Array(t)),n[e][r]=i[e]}t?s.setColumns(n):s.deleteRows(0,s.rowCount)}}setDataFromTable(e){let{chart:t,options:n,dataTable:r}=this,i=t.getDataTable(n),a=e?[e]:i.length?i:t.dataTable,o=this.getDataColumnKeys(),s=n.dataMapping,c=o.slice();s&&(Object.keys(s).forEach(e=>{we(c,e)}),this.dataColumnKeys=c),a.forEach((e,t)=>{let n=c.reduce((n,r)=>{let i=s?.[r],a=e.columns||{},o=e.id,c=H(i)?t===0&&a[i]:((i?.dataTable||0)===t||o&&i?.dataTable===o)&&(V(i?.column)?Object.values(a)[i.column]:a[i?.column||r]);return c&&(n[r]=c),n},{});(s||e)&&r.setColumns(n),e.isDataTable&&this.bindDataTableEvents(e,n)})}bindDataTableEvents(e,t){if(this.hasBoundDataTableEvents)return;let{chart:n,eventsToUnbind:r}=this,i=()=>{clearTimeout(n.redrawTimeout),n.redrawTimeout=setTimeout(()=>n.renderer&&n.redraw(),0)};r.push(M(e,`afterSetRows`,e=>{let n=e.rowIndex;if(V(n)){let e=Hn.prototype.getRowObject.call({columns:t},n),r=this.data[n];e&&(this.currentDataGrouping?this.setData():(r?r.update(e,!1):this.addPoint(e,!1),i()))}})),r.push(M(e,`afterDeleteRows`,e=>{let{rowCount:t,rowIndex:n}=e;if(V(n)){for(let e=n+t-1;e>=n;e--)this.removePoint(e,!1);i()}})),r.push(M(e,`afterSetColumns`,e=>{this.setData(e.target)})),this.hasBoundDataTableEvents=!0}getProcessedData(e){let t=this,{dataTable:n,isCartesian:r,options:i,xAxis:a}=t,o=i.cropThreshold,s=e||t.getExtremesFromAll,c=a?.logarithmic,l=n.rowCount,u,d,f=0,p,m,h,g=t.getColumn(`x`),_=n,v=!1;return a&&(m=(p=a.getExtremes()).min,h=p.max,v=!!(a.categories&&!a.names.length),r&&t.sorted&&!s&&(!o||l>o||t.forceCrop)&&(g[l-1]<m||g[0]>h?_=new Hn:t.getColumn(t.pointValKey||`y`).length&&(g[0]<m||g[l-1]>h)&&(_=(u=this.cropData(n,m,h)).modified,f=u.start,d=!0))),g=this.getColumn(`x`,!0),{modified:_,cropped:d,cropStart:f,closestPointRange:fe([c?g.map(c.log2lin):g],()=>t.requireSorting&&!v&&Y(15,!1,t.chart))}}processData(e){let t=this.xAxis,n=this.dataTable;if(this.isCartesian&&!this.isDirty&&!t.isDirty&&!this.yAxis.isDirty&&!e)return!1;let r=this.getProcessedData();n.modified=r.modified,this.cropped=r.cropped,this.cropStart=r.cropStart,this.closestPointRange=this.basePointRange=r.closestPointRange,B(this,`afterProcessData`)}cropData(e,t,n){let r=e===this.dataTable?this.getColumn(`x`):e.getColumn(`x`,!0),i=r.length,a,o,s=0,c=i;for(a=0;a<i;a++)if(r[a]>=t){s=Math.max(0,a-1);break}for(o=a;o<i;o++)if(r[o]>n){c=o+1;break}let l=Object.keys(e.columns).reduce((t,n)=>(t[n]=(e.getColumn(n,!0)||[]).slice(s,c),t),{});return l.x=r.slice(s,c),{modified:new Hn({columns:l}),start:s,end:c}}generatePoints(){let e=this.options,t=this.hasProcessedDataTable?void 0:e.data,n=this.dataTable.getModified(),r=this.getColumn(`x`,!0),i=this.pointClass,a=n.rowCount,o=this.cropStart||0,s=this.hasGroupedData,c=e.keys,l=[],u=e.dataGrouping?.groupAll?o:0,d=this.getDataColumnKeys(),f,p,m,h,g=this.data,_;if(!g&&!s){let e=[];e.length=t?.length||0,g=this.data=e}for(c&&s&&(this.options.keys=!1),h=0;h<a;h++)p=o+h,s?((m=new i(this,n.getRowObject(h,d))).dataGroup=this.groupMap?.[u+h],m.dataGroup?.options&&(m.options=m.dataGroup.options,z(m,m.dataGroup.options),delete m.dataLabels,m.key=m.name??m.category)):(m=g[p],_=t?t[p]:n.getRowObject(h),m||_===void 0?m&&(m.category=this.xAxis?.categories?.[m.x]??m.x,m.key=m.name??m.category):g[p]=m=new i(this,_,r[h])),m&&(m.index=s?u+h:p,l[h]=m);if(this.options.keys=c,g&&(a!==(f=g.length)||s))for(h=0;h<f;h++)h!==o||s||(h+=a),g[h]&&(g[h].destroyElements(),g[h].plotX=void 0);this.data=g,this.points=l,B(this,`afterGeneratePoints`)}getXExtremes(e){return{min:N(e),max:re(e)}}getExtremes(e,t){let{xAxis:n,yAxis:r}=this,i=t||this.getExtremesFromAll||this.options.getExtremesFromAll,a=i&&this.cropped?this.dataTable:this.dataTable.getModified(),o=a.rowCount,s=e||this.stackedYData,c=s?[s]:(this.keysAffectYAxis||this.pointArrayMap||[`y`])?.map(e=>a.getColumn(e,!0)||[])||[],l=this.getColumn(`x`,!0),u=[],d=this.requireSorting&&!this.is(`column`)?1:0,f=!!r&&r.positiveValuesOnly,p=i||this.cropped||!n,m,h,g,_=0,v=0;for(n&&(_=(m=n.getExtremes()).min,v=m.max),g=0;g<o;g++)if(h=l[g],p||(l[g+d]||h)>=_&&(l[g-d]||h)<=v)for(let e of c){let t=e[g];V(t)&&(t>0||!f)&&u.push(t)}let y={activeYData:u,dataMin:N(u),dataMax:re(u)};return B(this,`afterGetExtremes`,{dataExtremes:y}),y}applyExtremes(){let e=this.getExtremes();return this.dataMin=e.dataMin,this.dataMax=e.dataMax,e}getFirstValidPoint(e,t=0,n=1){let r=e.length,i=t;for(;i>=0&&i<r;){if(R(e[i]))return e[i];i+=n}}translate(){this.generatePoints();let{options:e,xAxis:t,yAxis:n}=this,{stacking:r,threshold:i}=e,{hasRendered:a,polar:o}=this.chart,s=this.points.concat(this.condemnedPoints),c=s.length,l=this.pointPlacementToXValue(),u=!!l,d=e.startFromThreshold?i:0,f=e?.nullInteraction&&n.len,p,m,h,g,_=Number.MAX_VALUE;function v(e){return F(e,-1e9,1e9)}let y=(e,n)=>{let r=t.translate(e,!1,!1,n,!0,l);return V(r)?I(v(r)):void 0},b=(e,t,r)=>{if(V(e)&&t.plotX!==void 0){let t=n.translate(e,!1,!0,r,!0);return V(t)?v(t):void 0}if(!V(e)&&f)return f};for(p=0;p<c;p++){let e=s[p],c=e.x,f,x,S=e.y,C=e.low,w=r&&n.stacking?.stacks[(this.negStacks&&S<(d?0:i)?`-`:``)+this.stackKey];e.plotX=m=y(c),r&&this.visible&&w&&w[c]&&(g=this.getStackIndicator(g,c,this.index),!e.isNull&&g.key&&(x=(f=w[c]).points[g.key]),f&&U(x)&&(C=x[0],S=x[1],C===d&&g.key===w[c].base&&(C=q(V(i)?i:n.min)),n.positiveValuesOnly&&R(C)&&C<=0&&(C=void 0),e.total=e.stackTotal=q(f.total),e.percentage=R(e.y)&&f.total?e.y/f.total*100:void 0,e.stackY=S,this.irregularWidths||f.setOffset(this.pointXOffset||0,this.barW||0,void 0,void 0,void 0,this.xAxis))),e.yBottom=R(C)?v(n.translate(C,!1,!0,!1,!0)):void 0,this.dataModify&&(S=this.dataModify.modifyValue(S,p)),e.plotY=b(S,e),e.origin=!a||e.graphic||o?void 0:{x:y(c,!0),y:b(S,e,!0)},e.isInside=this.isPointInside(e),e.clientX=u?I(t.translate(c,!1,!1,!1,!0,l)):m,e.negative=(e.y||0)<(i||0),!e.isNull&&!1!==e.visible&&V(m)&&(V(h)&&(_=Math.min(_,Math.abs(m-h))),h=m),e.zone=this.zones.length?e.getZone():void 0}this.closestPointRangePx=_,B(this,`afterTranslate`)}getValidPoints(e,t,n){let r=this.chart;return(e||this.points||[]).filter(function(e){let{plotX:i,plotY:a}=e;return(!!n||!e.isNull&&!!V(a))&&(!t||!!r.isInsidePlot(i,a,{inverted:r.inverted}))&&!1!==e.visible})}getSharedClipKey(){return this.sharedClipKey=(this.options.xAxis||0)+`,`+(this.options.yAxis||0),this.sharedClipKey}setClip(){let{chart:e,group:t,markerGroup:n,options:r,plotClipGroup:i}=this,a=e.sharedClips,o=e.renderer,s=e.getClipBox(this),c=r.clip??!0,l=this.getSharedClipKey(),u=a[l];u?u.animate(s):a[l]=u=o.clipRect(s),t?.clip(c?u:void 0),n?.clip(),i?.clip(c&&this.yAxis.clippable?e.plotClipInner:void 0)}animate(e){let{chart:t,group:n,markerGroup:r}=this,i=t.inverted,a=Yn(this.options.animation),o=[this.getSharedClipKey(),a.duration,a.easing,a.defer].join(`,`),s=t.sharedClips[o],c=t.sharedClips[o+`m`];if(e&&n){let e=t.getClipBox(this);if(s)s.attr(`height`,e.height);else{e.width=0,i&&(e.x=t.plotHeight),s=t.renderer.clipRect(e),t.sharedClips[o]=s;let n={x:-99,y:-99,width:i?t.plotWidth+199:99,height:i?99:t.plotHeight+199};c=t.renderer.clipRect(n),t.sharedClips[o+`m`]=c}n.clip(s),r?.clip(c)}else if(s&&!s.hasClass(`highcharts-animating`)){let e=t.getClipBox(this),n=a.step;(r?.element.childNodes.length||t.series.length>1)&&(a.step=function(e,t){n&&n.apply(t,arguments),t.prop===`width`&&c?.element&&c.attr(i?`height`:`width`,e+99)}),s.addClass(`highcharts-animating`).animate(e,a)}}afterAnimate(){this.setClip(),K(this.chart.sharedClips,(e,t,n)=>{e&&!this.chart.container.querySelector(`[clip-path="url(#${e.id})"]`)&&(e.destroy(),delete n[t])}),this.finishedAnimating=!0,B(this,`afterAnimate`)}drawPoints(e){let t,n,r,i,a,o,s;e||=this.points.concat(this.condemnedPoints);let c=this.chart,l=c.styledMode,{colorAxis:u,options:d}=this,f=d.marker,p=d.nullInteraction,m=this[this.specialGroup||`markerGroup`],h=this.xAxis,g=q(f.enabled,!h||!!h.isRadial||null,this.closestPointRangePx>=f.enabledThreshold*f.radius);if(!1!==f.enabled||this._hasPointMarkers)for(t=0;t<e.length;t++){i=(r=(n=e[t]).graphic)?`animate`:`attr`,a=n.marker||{},o=!!n.marker;let d=n.isNull;if((g&&!R(a.enabled)||a.enabled)&&(!d||p)&&!1!==n.visible){let e=q(a.symbol,this.symbol,`rect`);s=this.markerAttribs(n,n.selected&&`select`);let t=!1!==n.isInside;if(!r&&t&&((s.width||0)>0||n.hasImage)&&(n.graphic=r=c.renderer.symbol(e,s.x,s.y,s.width,s.height,o?a:f).add(m),n.origin)){let e=n.getOrigin(n.origin,s);l||(e.opacity=0),r.attr(e),i=`animate`}if(r){i===`animate`&&r?.animate(s);let e=this.pointAttribs(n,l||!n.selected?void 0:`select`);l?u&&r.css({fill:e.fill}):r[i](e),r.addClass(n.getClassName(),!0)}}else r&&(n.graphic=r.destroy())}}markerAttribs(e,t){let n=this.options,r=n.marker,i=e.marker||{},a=i.symbol||r.symbol,o={},s,c,l=q(i.radius,r?.radius);t&&(s=r?.states?.[t],c=i.states?.[t],l=q(c?.radius,s?.radius,l&&l+(s?.radiusPlus||0))),e.hasImage=a&&a.indexOf(`url`)===0,e.hasImage&&(l=0);let u=e.pos();return V(l)&&u&&(n.crisp&&(u[0]=ae(u[0],e.hasImage?0:a===`rect`?r?.lineWidth||0:1)),o.x=u[0]-l,o.y=u[1]-l),l&&(o.width=o.height=2*l),o}pointAttribs(e,t){let n=this.options,r=n.marker,i=e?.options,a=i?.marker||{},o=i?.color,s=e?.color,c=e?.zone?.color,l,u,d=this.color,f,p,m=q(a.lineWidth,r.lineWidth),h=e?.isNull&&n.nullInteraction?0:1;return d=o||c||s||d,f=a.fillColor||r.fillColor||d,p=a.lineColor||r.lineColor||d,t||=`normal`,l=r.states[t]||{},m=q((u=a.states&&a.states[t]||{}).lineWidth,l.lineWidth,m+q(u.lineWidthPlus,l.lineWidthPlus,0)),f=u.fillColor||l.fillColor||f,p=u.lineColor||l.lineColor||p,h=q(u.opacity,l.opacity,h),{stroke:p,"stroke-width":m,fill:f,opacity:e?.condemned||e?.isInside===!1?0:h}}destroy(e){let t,n,r=this,i=r.chart,a=/AppleWebKit\/533/.test(er.navigator.userAgent),o=r.data||[];for(B(r,`destroy`,{keepEventsForUpdate:e}),this.removeEvents(e),(r.axisTypes||[]).forEach(function(e){n=r[e],n?.series&&(le(n.series,r),n.isDirty=n.forceRedraw=!0)}),r.legendItem&&r.chart.legend.destroyItem(r),t=o.length;t--;)o[t]?.destroy?.();for(let e of r.zones||[])oe(e,void 0,!0);_e(r.animationTimeout),K(r,function(e,t){e instanceof wt&&!e.survive&&e[a&&t===`group`?`hide`:`destroy`]()}),i.hoverSeries===r&&(i.hoverSeries=void 0),le(i.series,r),i.orderItems(`series`),K(r,function(t,n){e&&n===`hcEvents`||delete r[n]})}applyZones(){let{area:e,chart:t,graph:n,zones:r,points:i,xAxis:a,yAxis:o,zoneAxis:s}=this,{inverted:c,renderer:l}=t,u=this[`${s}Axis`],{isXAxis:d,len:f=0,minPointOffset:p=0}=u||{},m=(n?.strokeWidth()||0)/2+1,h=(e,t=0,n=0)=>{c&&(n=f-n);let{translated:r=0,lineClip:i,value:a}=e,o=n-r;i?.push([`L`,t,Math.abs(o)<m?n-m*(o<0||o===0&&R(a)?-1:1):r])};if(r.length&&(n||e)&&u&&V(u.min)){let t=u.getExtremes().max+p,m=e=>{e.forEach((t,n)=>{(t[0]===`M`||t[0]===`L`)&&(e[n]=[t[0],d?f-t[1]:t[1],d?t[2]:f-t[2]])})};if(r.forEach(e=>{e.lineClip=[],e.translated=F(u.toPixels(q(e.value,t),!0)||0,0,f)}),n&&!this.showLine&&n.hide(),e&&e.hide(),s===`y`&&i.length<a.len)for(let e of i){let{plotX:t,plotY:n,zone:i}=e,a=i&&r[r.indexOf(i)-1];i&&h(i,t,n),a&&h(a,t,n)}let g=[],_=u.toPixels(u.getExtremes().min-p,!0);r.forEach(t=>{let r=t.lineClip||[],i=Math.round(t.translated||0);a.reversed&&r.reverse();let{clip:s,simpleClip:u}=t,f=0,p=0,h=a.len,v=o.len;d?(f=i,h=_):(p=i,v=_);let y=[[`M`,f,p],[`L`,h,p],[`L`,h,v],[`L`,f,v],[`Z`]],b=[y[0],...r,y[1],y[2],...g,y[3],y[4]];g=r.reverse(),_=i,c&&(m(b),e&&m(y)),s?(s.animate({d:b}),u?.animate({d:y})):(s=t.clip=l.path(b),e&&(u=t.simpleClip=l.path(y))),n&&t.graph?.clip(s),e&&t.area?.clip(u)})}else this.visible&&(n&&n.show(),e&&e.show())}plotGroup(e,t,n,r,i){let a=this[e],o=!a,s={visibility:n,zIndex:r||.1};return R(this.opacity)&&!this.chart.styledMode&&this.state!==`inactive`&&(s.opacity=this.opacity),a||(this[e]=a=this.chart.renderer.g().add(i)),a.addClass(`highcharts-`+t+` highcharts-series-`+this.index+` highcharts-`+this.type+`-series `+(R(this.colorIndex)?`highcharts-color-`+this.colorIndex+` `:``)+(this.options.className||``)+(a.hasClass(`highcharts-tracker`)?` highcharts-tracker`:``),!0),a.attr(s)[o?`attr`:`animate`](this.getPlotBox(t)),a}getPlotBox(e){let t=this.xAxis,n=this.yAxis,r=this.chart,i=r.inverted&&!r.polar&&t&&this.invertible&&e===`series`;r.inverted&&(t=n,n=this.xAxis);let a={scale:1,translateX:t?t.left:r.plotLeft,translateY:n?n.top:r.plotTop,name:e};B(this,`getPlotBox`,a);let{scale:o,translateX:s,translateY:c}=a;return{translateX:s,translateY:c,rotation:90*!!i,rotationOriginX:i?o*(t.len-n.len)/2:0,rotationOriginY:i?o*(t.len+n.len)/2:0,scaleX:i?-o:o,scaleY:o}}removeEvents(e){let{eventsToUnbind:t}=this;e||De(this),t.length&&=(t.forEach(e=>{e()}),0)}render(){let e=this,{chart:t,options:n,hasRendered:r}=e,i=Yn(n.animation),a=e.visible?`inherit`:`hidden`,o=n.zIndex,s=t.seriesGroup,c=e.finishedAnimating?0:i.duration;B(this,`render`),t.plotClipInner&&(e.plotClipGroup||=t.renderer.g().add(s)),e.plotGroup(`group`,`series`,a,o,e.plotClipGroup||s),e.markerGroup=e.plotGroup(`markerGroup`,`markers`,a,o,s),!1!==n.clip&&e.setClip(),c&&e.animate?.(!0),e.drawGraph&&(e.drawGraph(),e.applyZones()),e.visible&&e.drawPoints(),e.drawDataLabels?.(),e.redrawPoints?.(),n.enableMouseTracking&&e.drawTracker?.(),c&&e.animate?.(),r||(c&&i.defer&&(c+=i.defer),e.animationTimeout=Ae(()=>{e.afterAnimate()},c||0)),e.isDirty=!1,e.hasRendered=!0,B(e,`afterRender`)}redraw(){let e=this.isDirty||this.isDirtyData;this.translate(),this.render(),e&&delete this.kdTree,this.condemnedPoints.length=0}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(e,t){let{xAxis:n,yAxis:r}=this,i=this.chart.inverted;return this.searchKDTree({clientX:i?n.len-e.chartY+n.pos:e.chartX-n.pos,plotY:i?r.len-e.chartX+r.pos:e.chartY-r.pos},t,e)}buildKDTree(e){this.buildingKdTree=!0;let t=this,n=t.options,r=n.findNearestPointBy.indexOf(`y`)>-1?2:1;delete t.kdTree,Ae(function(){t.kdTree=function e(n,r,i){let a,o,s=n?.length;if(s)return a=t.kdAxisArray[r%i],n.sort((e,t)=>(e[a]||0)-(t[a]||0)),{point:n[o=Math.floor(s/2)],left:e(n.slice(0,o),r+1,i),right:e(n.slice(o+1),r+1,i)}}(t.getValidPoints(void 0,!t.directTouch,n?.nullInteraction),r,r),t.buildingKdTree=!1},n.kdNow||e?.type===`touchstart`?0:1)}searchKDTree(e,t,n,r,i){let a=this,[o,s]=this.kdAxisArray,c=t?`distX`:`dist`,l=(a.options.findNearestPointBy||``).indexOf(`y`)>-1?2:1,u=!!a.isBubble,d=r||((e,t,n)=>{let r=e[n]||0,i=t[n]||0;return[r===i&&e.index>t.index||r<i?e:t,!1]}),f=i||((e,t)=>e<t);if(this.kdTree||this.buildingKdTree||this.buildKDTree(n),this.kdTree)return function e(t,n,r,i){let l,p,m,h,g,_,v,y=n.point,b=a.kdAxisArray[r%i],x=y,S=!1;l=t[o],p=y[o],m=R(l)&&R(p)?l-p:null,h=t[s],g=y[s],_=R(h)&&R(g)?h-g:0,v=u&&y.marker?.radius||0,y.dist=Math.sqrt((m&&m*m||0)+_*_)-v,y.distX=R(m)?Math.abs(m)-v:Number.MAX_VALUE;let C=(t[b]||0)-(y[b]||0)+(u&&y.marker?.radius||0),w=C<0?`left`:`right`,T=C<0?`right`:`left`;return n[w]&&([x,S]=d(y,e(t,n[w],r+1,i),c)),n[T]&&f(Math.sqrt(C*C),x[c],S)&&(x=d(x,e(t,n[T],r+1,i),c)[0]),x}(e,this.kdTree,l,l)}pointPlacementToXValue(){let{options:e,xAxis:t}=this,n=e.pointPlacement;return n===`between`&&(n=t.reversed?-.5:.5),V(n)?n*(e.pointRange||t.pointRange):0}isPointInside(e){let{chart:t,xAxis:n,yAxis:r}=this,{plotX:i=-1,plotY:a=-1}=e;return a>=0&&a<=(r?r.len:t.plotHeight)&&i>=0&&i<=(n?n.len:t.plotWidth)}drawTracker(){let e=this,t=e.options,n=t.trackByArea,r=[].concat((n?e.areaPath:e.graphPath)||[]),i=e.chart,a=i.pointer,o=i.renderer,s=i.options.tooltip?.snap||0,c=()=>{t.enableMouseTracking&&i.hoverSeries!==e&&e.onMouseOver()},l=`rgba(192,192,192,`+($n?1e-4:.002)+`)`,u=e.tracker;u?u.attr({d:r}):e.graph&&(e.tracker=u=o.path(r).attr({visibility:e.visible?`inherit`:`hidden`,zIndex:2}).addClass(n?`highcharts-tracker-area`:`highcharts-tracker-line`).add(e.group),i.styledMode||u.attr({"stroke-linecap":`round`,"stroke-linejoin":`round`,stroke:l,fill:n?l:`none`,"stroke-width":e.graph.strokeWidth()+(n?0:2*s)}),[e.tracker,e.markerGroup,...e.dataLabelsGroups||[]].forEach(e=>{e&&(e.addClass(`highcharts-tracker`).on(`mouseover`,c).on(`mouseout`,e=>{a?.onTrackerMouseOut(e)}),t.cursor&&!i.styledMode&&e.css({cursor:t.cursor}),e.on(`touchstart`,c))})),B(this,`afterDrawTracker`)}addPoint(e,t,n,r,i){let a,o,s=this.options,{chart:c,data:l,dataTable:u,xAxis:d}=this,f=d?.hasNames&&d.names,p=s.data,m=this.getColumn(`x`);t=q(t,!0);let{applyOptions:h,optionsToObject:g}=this.pointClass.prototype,_={series:this},v=g.call(_,e);h.call(_,v,void 0,!1);let y=_.x;if(o=m.length,this.requireSorting&&y<m[o-1])for(a=!0;o&&m[o-1]>y;)o--;u.setRow(v,o,!0),this.xColumn?.splice(o,0,this.getX(y)),f&&_.name&&(f[y]=_.name),p?.splice(o,0,e),(a||this.hasProcessedDataTable)&&(this.data.splice(o,0,null),this.processData()),s.legendType===`point`&&this.generatePoints(),n&&(l[0]&&l[0].remove?l[0].remove(!1):([l,p,this.xColumn].filter(R).forEach(e=>{e.shift()}),u.deleteRows(0))),!1!==i&&B(this,`addPoint`,{point:_}),this.isDirty=!0,this.isDirtyData=!0,t&&c.redraw(r)}removePoint(e,t,n){let r=this,{chart:i,data:a,points:o,dataTable:s}=r,c=a[e],l=function(){[o?.length===a.length?o:void 0,a,r.options.data,r.xColumn].filter(R).forEach(t=>{t.splice(e,1)}),s.deleteRows(e),s.modified=s,c?.destroy(),r.isDirty=!0,r.isDirtyData=!0,t&&i.redraw()};Xn(n,i),t=q(t,!0),c?c.firePointEvent(`remove`,null,l):l()}remove(e,t,n,r){let i=this,a=i.chart;function o(){i.destroy(r),a.isDirtyLegend=a.isDirtyBox=!0,a.linkSeries(r),q(e,!0)&&a.redraw(t)}!1===n?o():B(i,`remove`,null,o)}update(e,t){B(this,`update`,{options:e=ce(e,this.userOptions)});let n=this,r=n.chart,i=n.userOptions,a=n.initialType||n.type,o=r.options.plotOptions,s=tr[a].prototype,c=n.finishedAnimating&&{animation:!1},l={},u=e.data||e.dataTable,d,f,p=rr.keepProps.slice(),m=e.type||i.type||r.options.chart.type,h=!(this.hasDerivedData||m&&m!==this.type||e.keys!==void 0||e.pointStart!==void 0||e.pointInterval!==void 0||e.relativeXValue!==void 0||e.joinBy||e.mapData||[`dataGrouping`,`pointStart`,`pointInterval`,`pointIntervalUnit`,`keys`].some(e=>n.hasOptionChanged(e)));m||=a,h?(p.push.apply(p,rr.keepPropsForPoints),!1!==e.visible&&(p.push(`area`,`graph`),`zones`in e||p.push(`zones`)),n.parallelArrays.forEach(function(e){p.push(e+`Data`)}),u&&(e.dataSorting&&z(n.options.dataSorting,e.dataSorting),this.setData(u,!1))):this.dataTable.modified=this.dataTable,e.dataLabels&&i.dataLabels&&(e.dataLabels=this.mergeArrays(i.dataLabels,e.dataLabels)),e=G(i,{index:i.index===void 0?n.index:i.index,pointStart:o?.series?.pointStart??i.pointStart},!h&&{data:n.options.data},e,c),h&&e.data&&(e.data=n.options.data),(p=[`dataLabelsGroup`,`dataLabelsGroups`,`dataLabelsParentGroups`,`group`,`markerGroup`,`plotClipGroup`,`transformGroup`].concat(p)).forEach(function(e){p[e]=n[e],delete n[e]});let g=!1;if(tr[m]){if(g=m!==n.type,n.remove(!1,!1,!1,!0),g)if(r.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(n,tr[m].prototype);else{let e=Object.hasOwnProperty.call(n,`hcEvents`)&&n.hcEvents;for(f in s)n[f]=void 0;z(n,tr[m].prototype),e?n.hcEvents=e:delete n.hcEvents}}else Y(17,!0,r,{missingModuleFor:m});if(p.forEach(function(e){n[e]=p[e]}),n.init(r,e),h&&this.points)for(let e of(!1===(d=n.options).visible?(l.graphic=1,l.dataLabel=1):(this.hasMarkerChanged(d,i)&&(l.graphic=1),n.hasDataLabels?.()||(l.dataLabel=1)),this.points))e?.series&&(e.resolveColor(),Object.keys(l).length&&e.destroyElements(l),!1===d.showInLegend&&e.legendItem&&r.legend.destroyItem(e));n.initialType=a,r.linkSeries(),g&&n.linkedSeries.length&&(n.isDirtyData=!0),B(this,`afterUpdate`),q(t,!0)&&r.redraw(!!h&&void 0)}setName(e){this.name=this.options.name=this.userOptions.name=e,this.chart.isDirtyLegend=!0}hasOptionChanged(e){let t=this.chart,n=this.options[e],r=t.options.plotOptions,i=this.userOptions[e],a=q(r?.[this.type]?.[e],r?.series?.[e]);return i&&!R(a)?n!==i:n!==q(a,n)}onMouseOver(){let e=this.chart,t=e.hoverSeries;e.pointer?.setHoverChartIndex(),t&&t!==this&&t.onMouseOut(),B(this,`mouseOver`),this.setState(`hover`),e.hoverSeries=this}onMouseOut(){let e=this.chart,t=e.tooltip,n=e.hoverPoint;e.hoverSeries=null,n&&n.onMouseOut(),B(this,`mouseOut`),t&&!this.stickyTracking&&(!t.shared||this.noSharedTooltip)&&t.hide(),e.series.forEach(function(e){e.setState(``,!0)})}setState(e,t){let n=this,{graph:r,options:i}=n,{inactiveOtherPoints:a,states:o}=i,s=q(o?.[e||`normal`]?.animation,n.chart.options.chart.animation),{lineWidth:c,opacity:l}=i;if(e||=``,n.state!==e&&([n.group,n.markerGroup,...n.dataLabelsGroups||[]].forEach(function(t){t&&(n.state&&t.removeClass(`highcharts-series-`+n.state),e&&t.addClass(`highcharts-series-`+e))}),n.state=e,!n.chart.styledMode)){if(o[e]?.enabled===!1)return;if(e&&(c=o[e].lineWidth||c+(o[e].lineWidthPlus||0),l=q(o[e].opacity,l)),r&&!r.dashstyle&&V(c))for(let e of[r,...this.zones.map(e=>e.graph)])e?.animate({"stroke-width":c},s);a||[n.group,n.markerGroup,...n.dataLabelsGroups||[],n.labelBySeries].forEach(function(e){e?.animate({opacity:l},s)})}t&&a&&n.points&&n.setAllPointsToState(e||void 0)}setAllPointsToState(e){this.points.forEach(function(t){t.setState&&t.setState(e)})}setVisible(e,t){let n=this,r=n.chart,i=r.options.chart.ignoreHiddenSeries,a=n.visible;n.visible=e=n.options.visible=n.userOptions.visible=e===void 0?!a:e;let o=e?`show`:`hide`;[`group`,`markerGroup`,`tracker`,`tt`].forEach(e=>{n[e]?.[o]()}),n.dataLabelsGroups?.forEach(e=>{e?.[o]()}),(r.hoverSeries===n||r.hoverPoint?.series===n)&&n.onMouseOut(),n.legendItem&&r.legend.colorizeItem(n,e),n.isDirty=!0,n.options.stacking&&r.series.forEach(e=>{e.options.stacking&&e.visible&&(e.isDirty=!0)}),n.linkedSeries.forEach(t=>{t.setVisible(e,!1)}),i&&(r.isDirtyBox=!0),B(n,o),!1!==t&&r.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(e){this.selected=e=this.options.selected=e===void 0?!this.selected:e,this.checkbox&&(this.checkbox.checked=e),B(this,e?`select`:`unselect`)}shouldShowTooltip(e,t,n={}){return n.series=this,n.visiblePlotOnly=!0,this.chart.isInsidePlot(e,t,n)}drawLegendSymbol(e,t){let n=this.chart.renderer,r=this.options.legendSymbol||`rectangle`,i=t.legendItem||{},{options:a,symbolHeight:o,symbolWidth:s}=e,c=a.squareSymbol,l=c?o:s,u=c?(s-o)/2:0,d=(e.baseline||0)-o+1,f=a.symbolRadius??o,p=r===`rectangle`?n.rect(u,d,l,o,f):n.symbols[r]&&n.symbol(r,u,d,l,o,{r:f});p?i.symbol=p.addClass(`highcharts-point`).attr({zIndex:3}).add(i.group):Gn[r]?.call(this,e,t)}}rr.defaultOptions={lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:`var(--highcharts-background-color)`,lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:`var(--highcharts-neutral-color-20)`,lineColor:`var(--highcharts-neutral-color-100)`,lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:`center`,borderWidth:0,defer:!0,distance:4,formatter:function(){let{numberFormatter:e}=this.series.chart;return typeof this.y==`number`?e(this.y,-1):``},padding:[1,3],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`},rr.types=$.seriesTypes,rr.registerType=$.registerSeriesType,rr.keepProps=[`colorIndex`,`eventOptions`,`navigatorSeries`,`symbolIndex`,`baseSeries`],rr.keepPropsForPoints=[`data`,`isDirtyData`,`isDirtyCanvas`,`points`,`condemnedPoints`,`dataTable`,`hasProcessedDataTable`,`xIncrement`,`cropped`,`_hasPointMarkers`,`hasDataLabels`,`nodes`,`layout`,`level`,`mapMap`,`mapData`,`minY`,`maxY`,`minX`,`maxX`,`transformGroups`],z(rr.prototype,{axisTypes:[`xAxis`,`yAxis`],coll:`series`,colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:[`clientX`,`plotY`],parallelArrays:[`x`,`y`],pointClass:Nn,requireSorting:!0,sorted:!0}),$.series=rr;let ir=rr,{animObject:ar,setAnimation:or}=$e,{registerEventOptions:sr}=nn,{composed:cr,marginNames:lr}=j,{distribute:ur}=pt,{format:dr}=ft;class fr{constructor(e,t){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=e,this.setOptions(t),t.enabled&&(this.render(),sr(this,t),M(this.chart,`endResize`,function(){this.legend.positionCheckboxes()})),M(this.chart,`render`,()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(e){let t=q(e.padding,8);this.options=e,this.chart.styledMode||(this.itemStyle=e.itemStyle,this.itemHiddenStyle=G(this.itemStyle,e.itemHiddenStyle)),this.itemMarginTop=e.itemMarginTop,this.itemMarginBottom=e.itemMarginBottom,this.padding=t,this.initialItemY=t-5,this.symbolWidth=q(e.symbolWidth,16),this.pages=[],this.proximate=e.layout===`proximate`&&!this.chart.inverted,this.baseline=void 0}update(e,t){let n=this.chart;this.setOptions(G(!0,this.options,e)),`events`in this.options&&sr(this,this.options),this.destroy(),n.isDirtyLegend=n.isDirtyBox=!0,q(t,!0)&&n.redraw(),B(this,`afterUpdate`,{redraw:t})}colorizeItem(e,t){let n=e.color,{area:r,group:i,label:a,line:o,symbol:s}=e.legendItem||{};if((e instanceof ir||e instanceof Nn)&&(e.color=e.options?.legendSymbolColor||n),i?.[t?`removeClass`:`addClass`](`highcharts-legend-item-hidden`),!this.chart.styledMode){let{itemHiddenStyle:n={}}=this,i=n.color,{fillColor:c,lineColor:l}=e.options,u=e=>(!t&&(e.fill&&=i,e.stroke&&=i),e);a?.css(G(t?this.itemStyle:n)),o?.attr(u({stroke:l||e.color})),s?.attr(u(e.series?e.series.pointAttribs?.(e):e.pointAttribs?.()||{fill:e.color})),r?.attr(u({fill:c||e.color,"fill-opacity":c?1:e.options.fillOpacity??.75}))}e.color=n,B(this,`afterColorizeItem`,{item:e,visible:t})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(e){let{group:t,x:n=0,y:r=0}=e.legendItem||{},i=this.options,a=i.symbolPadding,o=!i.rtl,s=e.checkbox;if(t?.element){let i={translateX:o?n:this.legendWidth-n-2*a-4,translateY:r};t[R(t.translateY)?`animate`:`attr`](i,void 0,()=>{B(this,`afterPositionItem`,{item:e})})}s&&(s.x=n,s.y=r)}destroyItem(e){let t=e.legendItem||{};for(let e of[`group`,`label`,`line`,`symbol`])t[e]&&(t[e]=t[e].destroy());e.checkbox=se(e.checkbox),e.legendItem=void 0}destroy(){for(let e of this.getAllItems())this.destroyItem(e);for(let e of[`clipRect`,`up`,`down`,`pager`,`nav`,`box`,`title`,`group`])this[e]&&(this[e]=this[e].destroy());this.display=null}positionCheckboxes(){let e,t=this.group?.alignAttr,n=this.clipHeight||this.legendHeight,r=this.titleHeight;t&&(e=t.translateY,this.allItems.forEach(function(i){let a,o=i.checkbox;o&&(a=e+r+o.y+(this.scrollOffset||0)+3,L(o,{left:t.translateX+i.checkboxOffset+o.x-20+`px`,top:a+`px`,display:this.proximate||a>e-6&&a<e+n-6?``:`none`}))},this))}renderTitle(){let e=this.options,t=this.padding,n=e.title,r,i=0;n.text&&(this.title||(this.title=this.chart.renderer.label(n.text,t-3,t-4,void 0,void 0,void 0,e.useHTML,void 0,`legend-title`).attr({zIndex:1}),this.chart.styledMode||this.title.css(n.style),this.title.add(this.group)),n.width||this.title.css({width:this.maxLegendWidth+`px`}),i=(r=this.title.getBBox()).height,this.offsetWidth=r.width,this.contentGroup.attr({translateY:i})),this.titleHeight=i}setText(e){let t=this.options;e.legendItem.label.attr({text:t.labelFormat?dr(t.labelFormat,e,this.chart):t.labelFormatter.call(e,e)})}renderItem(e){let t=e.legendItem=e.legendItem||{},n=this.chart,r=n.renderer,i=this.options,a=i.layout===`horizontal`,o=this.symbolWidth,s=i.symbolPadding||0,c=this.itemStyle,l=this.itemHiddenStyle,u=a?q(i.itemDistance,20):0,d=!i.rtl,f=!e.series,p=!f&&e.series.drawLegendSymbol?e.series:e,m=p.options,h=!!this.createCheckboxForItem&&m&&m.showCheckbox,g=i.useHTML,_=e.options.className,v=t.label,y=o+s+u+20*!!h;!v&&(t.group=r.g(`legend-item`).addClass(`highcharts-`+p.type+`-series highcharts-color-`+e.colorIndex+(_?` `+_:``)+(f?` highcharts-series-`+e.index:``)).attr({zIndex:1}).add(this.scrollGroup),t.label=v=r.text(``,d?o+s:-s,this.baseline||0,g),n.styledMode||v.css(G(e.visible?c:l)),v.attr({align:d?`left`:`right`,zIndex:2}).add(t.group),!this.baseline&&(this.fontMetrics=r.fontMetrics(v),this.baseline=this.fontMetrics.f+3+this.itemMarginTop,v.attr(`y`,this.baseline),this.symbolHeight=q(i.symbolHeight,this.fontMetrics.f),i.squareSymbol&&(this.symbolWidth=q(i.symbolWidth,Math.max(this.symbolHeight,16)),y=this.symbolWidth+s+u+20*!!h,d&&v.attr(`x`,this.symbolWidth+s))),p.drawLegendSymbol(this,e),this.setItemEvents&&this.setItemEvents(e,v,g)),h&&!e.checkbox&&this.createCheckboxForItem&&this.createCheckboxForItem(e),this.colorizeItem(e,e.visible),(n.styledMode||!c.width)&&v.css({width:Math.min(i.itemWidth||this.widthOption||n.spacingBox.width,i.maxWidth?Te(i.maxWidth,n.chartWidth):1/0)-y+`px`}),this.setText(e);let b=v.getBBox(),x=this.fontMetrics?.h||0;e.itemWidth=e.checkboxOffset=i.itemWidth||t.labelWidth||b.width+y,this.maxItemWidth=Math.max(this.maxItemWidth,e.itemWidth),this.totalItemWidth+=e.itemWidth,this.itemHeight=e.itemHeight=Math.round(t.labelHeight||(b.height>1.5*x?b.height:x))}layoutItem(e){let t=this.options,n=this.padding,r=t.layout===`horizontal`,i=e.itemHeight,a=this.itemMarginBottom,o=this.itemMarginTop,s=r?q(t.itemDistance,20):0,c=this.maxLegendWidth,l=t.alignColumns&&this.totalItemWidth>c?this.maxItemWidth:e.itemWidth,u=e.legendItem||{};r&&this.itemX-n+l>c&&(this.itemX=n,this.lastLineHeight&&(this.itemY+=o+this.lastLineHeight+a),this.lastLineHeight=0),this.lastItemY=o+this.itemY+a,this.lastLineHeight=Math.max(i,this.lastLineHeight),u.x=this.itemX,u.y=this.itemY,r?this.itemX+=l:(this.itemY+=o+i+a,this.lastLineHeight=i),this.offsetWidth=this.widthOption||Math.max((r?this.itemX-n-(e.checkbox?0:s):l)+n,this.offsetWidth)}getAllItems(){let e=[];return this.chart.series.forEach(function(t){let n=t?.options;t&&q(n.showInLegend,!R(n.linkedTo)&&void 0,!0)&&(e=e.concat(t.legendItem?.labels||(n.legendType===`point`?t.data:t)))}),B(this,`afterGetAllItems`,{allItems:e}),e}getAlignment(){let e=this.options;return this.proximate?e.align.charAt(0)+`tv`:e.floating?``:e.align.charAt(0)+e.verticalAlign.charAt(0)+e.layout.charAt(0)}adjustMargins(e,t){let n=this.chart,r=this.options,i=this.getAlignment();i&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach((a,o)=>{a.test(i)&&!R(e[o])&&(n[lr[o]]=Math.max(n[lr[o]],n.legend[(o+1)%2?`legendHeight`:`legendWidth`]+[1,-1,-1,1][o]*r[o%2?`x`:`y`]+(r.margin??12)+t[o]+(n.titleOffset[o]||0)))})}proximatePositions(){let e,t=this.chart,n=[],r=this.options.align===`left`;for(let i of(this.allItems.forEach(function(e){let i,a,o=r,s,c;e.yAxis&&(e.xAxis.options.reversed&&(o=!o),e.points&&(i=ge(o?e.points:e.points.slice(0).reverse(),function(e){return V(e.plotY)})),a=this.itemMarginTop+e.legendItem.label.getBBox().height+this.itemMarginBottom,c=e.yAxis.top-t.plotTop,s=e.visible?(i?i.plotY:e.yAxis.height)+(c-.3*a):c+e.yAxis.height,n.push({target:s,size:a,item:e}))},this),ur(n,t.plotHeight)))e=i.item.legendItem||{},V(i.pos)&&(e.y=t.plotTop-t.spacing[0]+i.pos)}render(){let e=this.chart,t=e.spacingBox.width,n=e.renderer,r=this.options,i=this.padding,a=this.getAllItems(),o,s,c,l=this.group,u,d=this.box;this.itemX=i,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=Te(r.width,t-i),u=t-2*i-r.x,[`rm`,`lm`].indexOf(this.getAlignment().substring(0,2))>-1&&(u/=2),this.maxLegendWidth=this.widthOption||u,l||(this.group=l=n.g(`legend`).addClass(r.className||``).attr({zIndex:7}).add(),this.contentGroup=n.g().attr({zIndex:1}).add(l),this.scrollGroup=n.g().add(this.contentGroup)),this.renderTitle(),ke(a,(e,t)=>(e.options?.legendIndex||0)-(t.options?.legendIndex||0)),r.reversed&&a.reverse(),this.allItems=a,this.display=o=!!a.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,a.forEach(this.renderItem,this),a.forEach(this.layoutItem,this),s=(r.maxWidth?Math.min(this.widthOption||this.offsetWidth,u,Te(r.maxWidth,e.chartWidth)||1/0):this.widthOption||this.offsetWidth)+i,c=this.lastItemY+this.lastLineHeight+this.titleHeight,c=this.handleOverflow(c)+i,d||(this.box=d=n.rect().addClass(`highcharts-legend-box`).attr({r:r.borderRadius}).add(l)),e.styledMode||d.attr({stroke:r.borderColor,"stroke-width":r.borderWidth||0,fill:r.backgroundColor||`none`}).shadow(r.shadow),s>0&&c>0&&d[d.placed?`animate`:`attr`](d.crisp.call({},{x:0,y:0,width:s,height:c},d.strokeWidth())),l[o?`show`:`hide`](),e.styledMode&&l.getStyle(`display`)===`none`&&(s=c=0),this.legendWidth=s,this.legendHeight=c,o&&this.align(),this.proximate||this.positionItems(),B(this,`afterRender`)}align(e=this.chart.spacingBox){let t=this.chart,n=this.options,r=e.y;/(lth|ct|rth)/.test(this.getAlignment())&&t.titleOffset[0]>0?r+=t.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&t.titleOffset[2]>0&&(r-=t.titleOffset[2]),r!==e.y&&(e=G(e,{y:r})),t.hasRendered||(this.group.placed=!1),this.group.align(G(n,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?`top`:n.verticalAlign}),!0,e)}handleOverflow(e){let t=this,n=this.chart,r=n.renderer,i=this.options,a=i.y,o=i.verticalAlign===`top`,s=this.padding,c=i.maxHeight,l=i.navigation,u=q(l.animation,!0),d=l.arrowSize||12,f=this.pages,p=this.allItems,m=function(e){typeof e==`number`?S.attr({height:e}):S&&(t.clipRect=S.destroy(),t.contentGroup.clip()),t.contentGroup.div&&(t.contentGroup.div.style.clip=e?`rect(`+s+`px,9999px,`+(s+e)+`px,0)`:`auto`)},h=function(e){return t[e]=r.circle(0,0,1.3*d).translate(d/2,d/2).add(x),n.styledMode||t[e].attr(`fill`,`rgba(0,0,0,0.0001)`),t[e]},g,_,v,y,b=n.spacingBox.height+(o?-a:a)-s,x=this.nav,S=this.clipRect;return i.layout!==`horizontal`||i.verticalAlign===`middle`||i.floating||(b/=2),c&&(b=Math.min(b,c)),f.length=0,e&&b>0&&e>b&&!1!==l.enabled?(this.clipHeight=g=Math.max(b-20-this.titleHeight-s,0),this.currentPage=q(this.currentPage,1),this.fullHeight=e,p.forEach((e,t)=>{let n=(v=e.legendItem||{}).y||0,r=Math.round(v.label.getBBox().height),i=f.length;(!i||n-f[i-1]>g&&(_||n)!==f[i-1])&&(f.push(_||n),i++),v.pageIx=i-1,_&&y&&(y.pageIx=i-1),t===p.length-1&&n+r-f[i-1]>g&&n>f[i-1]&&(f.push(n),v.pageIx=i),n!==_&&(_=n),y=v}),S||(S=t.clipRect=r.clipRect(0,s-2,9999,0),t.contentGroup.clip(S)),m(g),x||(this.nav=x=r.g().attr({zIndex:1}).add(this.group),this.up=r.symbol(`triangle`,0,0,d,d).add(x),h(`upTracker`).on(`click`,function(){t.scroll(-1,u)}),this.pager=r.text(``,15,10).addClass(`highcharts-legend-navigation`),!n.styledMode&&l.style&&this.pager.css(l.style),this.pager.add(x),this.down=r.symbol(`triangle-down`,0,0,d,d).add(x),h(`downTracker`).on(`click`,function(){t.scroll(1,u)})),t.scroll(0),e=b):x&&(m(),this.nav=x.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),e}scroll(e,t){let n=this.chart,r=this.pages,i=r.length,a=this.clipHeight,o=this.options.navigation,s=this.pager,c=this.padding,l=this.currentPage+e;l>i&&(l=i),l>0&&(t!==void 0&&or(t,n),this.nav.attr({translateX:c,translateY:a+this.padding+7+this.titleHeight,visibility:`inherit`}),[this.up,this.upTracker].forEach(function(e){e.attr({class:l===1?`highcharts-legend-nav-inactive`:`highcharts-legend-nav-active`})}),s.attr({text:l+`/`+i}),[this.down,this.downTracker].forEach(function(e){e.attr({x:18+this.pager.getBBox().width,class:l===i?`highcharts-legend-nav-inactive`:`highcharts-legend-nav-active`})},this),n.styledMode||(this.up.attr({fill:l===1?o.inactiveColor:o.activeColor}),this.upTracker.css({cursor:l===1?`default`:`pointer`}),this.down.attr({fill:l===i?o.inactiveColor:o.activeColor}),this.downTracker.css({cursor:l===i?`default`:`pointer`})),this.scrollOffset=-r[l-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=l,this.positionCheckboxes(),Ae(()=>{B(this,`afterScroll`,{currentPage:l})},ar(q(t,n.renderer.globalAnimation,!0)).duration))}setItemEvents(e,t,n){let r=this,i=e.legendItem||{},a=r.chart.renderer.boxWrapper,o=e instanceof Nn,s=e instanceof ir,c=`highcharts-legend-`+(o?`point`:`series`)+`-active`,l=r.chart.styledMode,u=n?[t,i.symbol]:[i.group],d=t=>{r.allItems.forEach(n=>{e!==n&&[n].concat(n.linkedSeries||[]).forEach(e=>{e.setState(t,!o)})})};for(let n of u)n&&n.on(`mouseover`,function(){e.visible&&d(`inactive`),e.setState(`hover`),e.visible&&a.addClass(c),l||t.css(r.options.itemHoverStyle)}).on(`mouseout`,function(){r.chart.styledMode||t.css(G(e.visible?r.itemStyle:r.itemHiddenStyle)),d(``),a.removeClass(c),e.setState()}).on(`click`,function(t){a.removeClass(c),B(r,`itemClick`,{browserEvent:t,legendItem:e,context:r},function(){e.setVisible&&e.setVisible(),d(e.visible?`inactive`:``)}),o?e.firePointEvent(`legendItemClick`,{browserEvent:t}):s&&B(e,`legendItemClick`,{browserEvent:t})})}createCheckboxForItem(e){e.checkbox=ie(`input`,{type:`checkbox`,className:`highcharts-legend-checkbox`,checked:e.selected,defaultChecked:e.selected},this.options.itemCheckboxStyle,this.chart.container),M(e.checkbox,`click`,function(t){let n=t.target;B(e.series||e,`checkboxClick`,{checked:n.checked,item:e},function(){e.select()})})}}(l=fr||={}).compose=function(e){we(cr,`Core.Legend`)&&M(e,`beforeMargins`,function(){this.legend=new l(this,this.options.legend)})};let pr=fr,{animate:mr,animObject:hr,setAnimation:gr}=$e,{defaultOptions:_r}=We,{numberFormat:vr}=ft,{registerEventOptions:yr}=nn,{charts:br,doc:xr,marginNames:Sr,win:Cr}=j,{seriesTypes:wr}=$;class Tr{static chart(e,t,n){let r=new Tr(e,t,n);return r.promise||r}constructor(e,t,n){if(this.sharedClips={},!xr)return void Y(36,!1,this);let r=[...arguments];(H(e)||e.nodeName)&&(this.renderTo=r.shift()),this.init(r[0],r[1])}setZoomOptions(){let e=this.options.chart,t=e.zooming;this.zooming={...t,type:q(e.zoomType,t.type),key:q(e.zoomKey,t.key),pinchType:q(e.pinchType,t.pinchType),singleTouch:q(e.zoomBySingleTouch,t.singleTouch,!1),resetButton:G(t.resetButton,e.resetZoomButton)}}init(e,t){B(this,`init`,{args:arguments},function(){let n=G(_r,e),r=n.chart,i=this.renderTo||r.renderTo;this.userOptions=z({},e),(this.renderTo=H(i)?xr.getElementById(i):i)||Y(13,!0,this),this.margin=[],this.spacing=[],this.labelCollectors=[],!0===t?this.promise=new Promise(e=>{this.callback=e}):this.callback=t,this.isResizing=0,this.options=n,this.axes=[],this.series=[],this.locale=n.lang.locale??this.renderTo.closest(`[lang]`)?.lang,this.time=new Be(z(n.time||{},{locale:this.locale}),n.lang),n.time=this.time.options,this.numberFormatter=(r.numberFormatter||vr).bind(this),this.styledMode=r.styledMode,this.hasCartesianSeries=r.showAxes,this.index=br.length,this.dataTable=this.getDataTable(n),br.push(this),j.chartCount++,yr(this,r),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),B(this,`afterInit`),this.firstRender()})}getDataTable(e){return(e.dataTable?Oe(e.dataTable):[]).map(e=>e.isDataTable?e:new Hn(e))}initSeries(e){let t=this.options.chart,n=e.type||t.type,r=wr[n];r||Y(17,!0,this,{missingModuleFor:n});let i=new r;return typeof i.init==`function`&&i.init(this,e),i}orderItems(e,t=0){let n=this[e],r=this.options[e]=Oe(this.options[e]).slice(),i=this.userOptions[e]=this.userOptions[e]?Oe(this.userOptions[e]).slice():[];if(this.hasRendered&&(r.splice(t),i.splice(t)),n)for(let e=t,a=n.length;e<a;++e){let t=n[e];t&&(t.index=e,t instanceof ir&&(t.name=t.getName()),t.options.isInternal||(r[e]=t.options,i[e]=t.userOptions))}}getClipBox(e,t){let n=this.inverted,{xAxis:r,yAxis:i}=e||{},{x:a,y:o,width:s,height:c}=G(this.clipBox);return e&&(r&&r.len!==this.plotSizeX&&!r.isRadial&&(s=r.len),i&&i.len!==this.plotSizeY&&!i.isRadial&&(c=i.len),n&&!e.invertible&&([s,c]=[c,s])),t&&(a+=(n?i:r)?.pos??this.plotLeft,o+=(n?r:i)?.pos??this.plotTop),{x:a,y:o,width:s,height:c}}isInsidePlot(e,t,n={}){let{inverted:r,plotBox:i,plotLeft:a,plotTop:o,scrollablePlotBox:s}=this,{scrollLeft:c=0,scrollTop:l=0}=n.visiblePlotOnly&&this.scrollablePlotArea?.scrollingContainer||{},u=n.series,d=n.visiblePlotOnly&&s||i,f=n.inverted?t:e,p=n.inverted?e:t,m={x:f,y:p,isInsidePlot:!0,options:n};if(!n.ignoreX){let e=u&&(r&&!this.polar?u.yAxis:u.xAxis)||{pos:a,len:1/0},t=n.paneCoordinates?e.pos+f:a+f;t>=Math.max(c+a,e.pos)&&t<=Math.min(c+a+d.width,e.pos+e.len)||(m.isInsidePlot=!1)}if(!n.ignoreY&&m.isInsidePlot){let e=!r&&n.axis&&!n.axis.isXAxis&&n.axis||u&&(r?u.xAxis:u.yAxis)||{pos:o,len:1/0},t=n.paneCoordinates?e.pos+p:o+p;t>=Math.max(l+o,e.pos)&&t<=Math.min(l+o+d.height,e.pos+e.len)||(m.isInsidePlot=!1)}return B(this,`afterIsInsidePlot`,m),m.isInsidePlot}redraw(e){B(this,`beforeRedraw`);let t=this.hasCartesianSeries?this.axes:this.colorAxis||[],n=this.series,r=this.pointer,i=this.legend,a=this.userOptions.legend,o=this.renderer,s=o.isHidden(),c=[],l,u,d,f=this.isDirtyBox,p=this.isDirtyLegend,m;for(o.rootFontSize=o.boxWrapper.getStyle(`font-size`),this.setResponsive&&this.setResponsive(!1),gr(!!this.hasRendered&&e,this),s&&this.temporaryDisplay(),this.layOutTitles(!1),d=n.length;d--;)if(((m=n[d]).options.stacking||m.options.centerInCategory)&&(u=!0,m.isDirty)){l=!0;break}if(l)for(d=n.length;d--;)(m=n[d]).options.stacking&&(m.isDirty=!0);n.forEach(function(e){e.isDirty&&(e.options.legendType===`point`?(typeof e.updateTotals==`function`&&e.updateTotals(),p=!0):a&&(a.labelFormatter||a.labelFormat)&&(p=!0)),e.isDirtyData&&B(e,`updatedData`)}),p&&i&&i.options.enabled&&(i.render(),this.isDirtyLegend=!1),u&&this.getStacks(),t.forEach(function(e){e.updateNames(),e.setScale()}),this.getMargins(),t.forEach(function(e){e.isDirty&&(f=!0)}),t.forEach(function(e){let t=e.min+`,`+e.max;e.extKey!==t&&(e.extKey=t,c.push(function(){B(e,`afterSetExtremes`,z(e.eventArgs,e.getExtremes())),delete e.eventArgs})),(f||u)&&e.redraw()}),f&&this.drawChartBox(),B(this,`predraw`),n.forEach(function(e){(f||e.isDirty)&&e.visible&&e.redraw(),e.isDirtyData=!1}),r&&r.reset(!0),o.draw(),t.forEach(e=>{e.saveOld()}),B(this,`redraw`),B(this,`render`),s&&this.temporaryDisplay(!0),c.forEach(function(e){e.call()})}get(e){let t=this.series;function n(t){return t.id===e||t.options&&t.options.id===e}let r=ge(this.axes,n)||ge(this.series,n);for(let e=0;!r&&e<t.length;e++)r=ge(t[e].points||[],n);return r}createAxes(){let e=this.userOptions;for(let t of(B(this,`createAxes`),[`xAxis`,`yAxis`]))for(let n of e[t]=Oe(e[t]||{}))new mn(this,n,t);B(this,`afterCreateAxes`)}getSelectedPoints(){return this.series.reduce((e,t)=>(t.getPointsCollection().forEach(t=>{q(t.selectedStaging,t.selected)&&e.push(t)}),e),[])}getSelectedSeries(){return this.series.filter(e=>e.selected)}setTitle(e,t,n){this.applyDescription(`title`,e),this.applyDescription(`subtitle`,t),this.applyDescription(`caption`,void 0),this.layOutTitles(n)}applyDescription(e,t){let n=this,r=this.options[e]=G(this.options[e],t),i=this[e];i&&t&&(this[e]=i=i.destroy()),r&&!i&&((i=this.renderer.text(r.text,0,0,r.useHTML).attr({align:r.align,class:`highcharts-`+e,zIndex:r.zIndex||4}).css({textOverflow:`ellipsis`,whiteSpace:`nowrap`}).add()).update=function(t,r){n.applyDescription(e,t),n.layOutTitles(r)},this.styledMode||i.css(z(e===`title`?{fontSize:this.options.isStock?`1em`:`1.2em`}:{},r.style)),i.textPxLength=i.getBBox().width,i.css({whiteSpace:r.style?.whiteSpace}),this[e]=i)}layOutTitles(e=!0){let t=[0,0,0],{options:n,renderer:r,spacingBox:i}=this;[`title`,`subtitle`,`caption`].forEach(e=>{let n=this[e],a=this.options[e],o=G(i),s=n?.textPxLength||0;if(n&&a){B(this,`layOutTitle`,{alignTo:o,key:e,textPxLength:s});let i=r.fontMetrics(n),c=i.b,l=i.h,u=a.verticalAlign||`top`,d=u===`top`,f=d&&a.minScale||1,p=e===`title`?d?-3:0:d?t[0]+2:0,m=Math.min(o.width/s,1),h=Math.max(f,m),g=G({y:u===`bottom`?c:p+c},a),_=(a.width||(m>f?this.chartWidth:o.width)/h)+`px`;g.align??=e===`title`?m<f?`left`:`center`:this.title?.alignValue,n.alignValue!==g.align&&(n.placed=!1);let v=Math.round(n.css({width:_}).getBBox(a.useHTML).height);if(g.height=v,n.align(g,!1,o).attr({align:g.align,scaleX:h,scaleY:h,"transform-origin":`${o.x+s*h*de(g.align)} ${l}`}),!a.floating){let e=v*(v<1.2*l?1:h);u===`top`?t[0]=Math.ceil(t[0]+e):u===`bottom`&&(t[2]=Math.ceil(t[2]+e))}}},this),t[0]&&(n.title?.verticalAlign||`top`)===`top`&&(t[0]+=n.title?.margin||0),t[2]&&n.caption?.verticalAlign===`bottom`&&(t[2]+=n.caption?.margin||0);let a=!this.titleOffset||this.titleOffset.join(`,`)!==t.join(`,`);this.titleOffset=t,B(this,`afterLayOutTitles`),!this.isDirtyBox&&a&&(this.isDirtyBox=this.isDirtyLegend=a,this.hasRendered&&e&&this.isDirtyBox&&this.redraw())}getContainerBox(){let e=[].map.call(this.renderTo.children,e=>{if(e!==this.container){let t=e.style.display;return e.style.display=`none`,[e,t]}}),t={width:he(this.renderTo,`width`,!0)||0,height:he(this.renderTo,`height`,!0)||0};return e.filter(Boolean).forEach(([e,t])=>{e.style.display=t}),t}getChartSize(){let e=this.options.chart,t=e.width,n=e.height,r=this.getContainerBox(),i=r.height<=1||!this.renderTo.parentElement?.style.height&&this.renderTo.style.height===`100%`;this.chartWidth=Math.max(0,t||r.width||600),this.chartHeight=Math.max(0,Te(n,this.chartWidth)||(i?400:r.height)),this.containerBox=r}temporaryDisplay(e){let t=this.renderTo,n;if(e)for(;t?.style;)t.hcOrigStyle&&(L(t,t.hcOrigStyle),delete t.hcOrigStyle),t.hcOrigDetached&&(xr.body.removeChild(t),t.hcOrigDetached=!1),t=t.parentNode;else for(;t?.style&&(xr.body.contains(t)||t.parentNode||(t.hcOrigDetached=!0,xr.body.appendChild(t)),(he(t,`display`,!1)===`none`||t.hcOrigDetached)&&(t.hcOrigStyle={display:t.style.display,height:t.style.height,overflow:t.style.overflow},n={display:`block`,overflow:`hidden`},t!==this.renderTo&&(n.height=0),L(t,n),t.offsetWidth||t.style.setProperty(`display`,`block`,`important`)),(t=t.parentNode)!==xr.body););}setClassName(e){this.container.className=`highcharts-container `+(e||``)}getContainer(){let e,t=this.options,n=t.chart,r=`data-highcharts-chart`,i=Fe(),a=this.renderTo,o=J(P(a,r));V(o)&&br[o]&&br[o].hasRendered&&br[o].destroy(),P(a,r,this.index),a.innerHTML=Q.emptyHTML,n.skipClone||a.offsetWidth||this.temporaryDisplay(),this.getChartSize();let s=this.chartHeight,c=this.chartWidth;this.styledMode||L(a,{overflow:`hidden`}),this.styledMode||(e=z({position:`relative`,overflow:`hidden`,width:c+`px`,height:s+`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`},n.style||{}));let l=ie(`div`,{id:i},e,a);if(this.container=l,this.getChartSize(),c!==this.chartWidth&&(c=this.chartWidth,this.styledMode||L(l,{width:q(n.style?.width,c+`px`)})),this._cursor=l.style.cursor,this.renderer=new Xt(l,c,s,void 0,n.forExport,t.exporting?.allowHTML,this.styledMode,t.palette,this.index),this.containerBox=this.getContainerBox(),gr(void 0,this),this.setClassName(n.className),this.styledMode)for(let e in t.defs)this.renderer.definition(t.defs[e]);else this.renderer.setStyle(n.style),this.palette=this.renderer.palette;B(this,`afterGetContainer`)}getMargins(e){let{spacing:t,margin:n,titleOffset:r}=this;this.resetMargins(),r[0]&&!R(n[0])&&(this.plotTop=Math.max(this.plotTop,r[0]+t[0])),r[2]&&!R(n[2])&&(this.marginBottom=Math.max(this.marginBottom,r[2]+t[2])),this.legend?.display&&this.legend.adjustMargins(n,t),B(this,`getMargins`),e||this.getAxisMargins()}getAxisMargins(){let e=this,t=e.axisOffset=[0,0,0,0],n=e.colorAxis,r=e.margin,i=e=>{e.forEach(e=>{e.visible&&e.getOffset()})};e.hasCartesianSeries?i(e.axes):n?.length&&i(n),Sr.forEach((n,i)=>{R(r[i])||(e[n]+=t[i])}),e.setChartSize()}getOptions(){return ce(this.userOptions,_r)}reflow(e){let t=this,n=t.containerBox,r=t.getContainerBox();delete t.pointer?.chartPosition,!t.exporting?.isPrinting&&!t.isResizing&&n&&r.width&&((r.width!==n.width||r.height!==n.height)&&(_e(t.reflowTimeout),t.reflowTimeout=Ae(function(){if(t.container){t.setSize(void 0,void 0,!1);let e=t.containerBox;e&&(e.height=t.chartHeight)}},100*!!e)),t.containerBox=r)}setReflow(){let e=this,t=t=>{e.options?.chart.reflow&&e.hasLoaded&&e.reflow(t)};if(typeof ResizeObserver==`function`)new ResizeObserver(t).observe(e.renderTo);else{let e=M(Cr,`resize`,t);M(this,`destroy`,e)}}setSize(e,t,n){let r=this,i=r.renderer;r.isResizing+=1,gr(n,r);let a=i.globalAnimation;r.oldChartHeight=r.chartHeight,r.oldChartWidth=r.chartWidth,e!==void 0&&(r.options.chart.width=e),t!==void 0&&(r.options.chart.height=t),r.getChartSize();let{chartWidth:o,chartHeight:s,scrollablePixelsX:c=0,scrollablePixelsY:l=0}=r;(r.isDirtyBox||o!==r.oldChartWidth||s!==r.oldChartHeight)&&(r.styledMode||(a?mr:L)(r.container,{width:`${o+c}px`,height:`${s+l}px`},a),r.setChartSize(!0),i.setSize(o,s,a),r.axes.forEach(function(e){e.isDirty=!0,e.setScale()}),r.isDirtyLegend=!0,r.isDirtyBox=!0,r.layOutTitles(),r.getMargins(),r.redraw(a),r.oldChartHeight=void 0,B(r,`resize`),setTimeout(()=>{r&&B(r,`endResize`)},hr(a).duration)),--r.isResizing}setChartSize(e){let t,n,r,i,{chartHeight:a,chartWidth:o,clipOffset:s,inverted:c,spacing:l,renderer:u}=this,d=Math[c?`floor`:`round`];if(this.plotLeft=t=Math.round(this.plotLeft),this.plotTop=n=Math.round(this.plotTop),this.plotWidth=r=Math.max(0,Math.round(o-t-(this.marginRight??0))),this.plotHeight=i=Math.max(0,Math.round(a-n-(this.marginBottom??0))),this.plotSizeX=c?i:r,this.plotSizeY=c?r:i,this.spacingBox=u.spacingBox={x:l[3],y:l[0],width:o-l[3]-l[1],height:a-l[0]-l[2]},this.plotBox=u.plotBox={x:t,y:n,width:r,height:i},s&&(this.clipBox={x:d(s[c?2:3]),y:d(s[+!!c]),width:d(this.plotSizeX-s[+!c]-s[c?2:3]),height:d(this.plotSizeY-s[+!!c]-s[c?3:2])}),!e){for(let e of this.axes)e.setAxisSize(),e.setAxisTranslation();u.alignElements()}B(this,`afterSetChartSize`,{skipAxes:e})}resetMargins(){B(this,`resetMargins`);let e=this,t=e.options.chart,n=t.plotBorderWidth||0,r=Math.round(n)/2;[`margin`,`spacing`].forEach(n=>{let r=t[n],i=W(r)?r:[r,r,r,r];[`Top`,`Right`,`Bottom`,`Left`].forEach((r,a)=>{e[n][a]=t[`${n}${r}`]??i[a]})}),Sr.forEach((t,n)=>{e[t]=e.margin[n]??e.spacing[n]}),e.axisOffset=[0,0,0,0],e.clipOffset=[r,r,r,r],e.plotBorderWidth=n}drawChartBox(){let e=this,t=e.options.chart,{backgroundColor:n,plotBackgroundColor:r,plotBackgroundImage:i,plotBorderRadius:a=0,shadow:o}=t,{chartWidth:s,chartHeight:c,clipBox:l,clipOffset:u,clipRect:d,plotBGImage:f,plotBox:p,plotLeft:m,plotTop:h,plotWidth:g,plotHeight:_,renderer:v,styledMode:y}=e,b=e.chartBackground,x=e.plotBackground,S=e.plotBorder,C,w,T,E=`animate`;b||(e.chartBackground=b=v.rect().addClass(`highcharts-background`).add(),E=`attr`),y?C=w=b.strokeWidth():(w=(C=t.borderWidth||0)+8*!!o,T={fill:n||`none`},(C||b[`stroke-width`])&&(T.stroke=t.borderColor,T[`stroke-width`]=C),b.attr(T).shadow(o)),b[E]({x:w/2,y:w/2,width:s-w-C%2,height:c-w-C%2,r:t.borderRadius}),E=`animate`,x||(E=`attr`,e.plotBackground=x=v.rect().addClass(`highcharts-plot-background`).add()),x[E]({...p,r:a}),!y&&(x.attr({fill:r||`none`}).shadow(t.plotShadow),i&&(f?(i!==f.attr(`href`)&&f.attr(`href`,i),f.animate(p)):e.plotBGImage=v.image(i,m,h,g,_).add())),d?d.animate({width:l.width,height:l.height}):e.clipRect=v.clipRect(l),E=`animate`,S||(E=`attr`,e.plotBorder=S=v.rect().addClass(`highcharts-plot-border`).attr({zIndex:1.5}).add()),S.attr(y?void 0:{stroke:t.plotBorderColor,"stroke-width":t.plotBorderWidth||0,fill:`none`})[E]({r:a});let D=S.strokeWidth(),O=G(S.crisp(p,-D));if(u&&!y){let e=u[0]-D/2,t=u[3]-D/2;O.x-=t,O.y-=e,O.width+=t+u[1]-D/2,O.height+=e+u[2]-D/2}S[E](O),[`plotClipOuter`,`plotClipInner`].forEach((t,n)=>{let r=e[t],i=n?-D:D;r?.[a?E:`attr`]({x:O.x-i/2,y:O.y-i/2,width:O.width+i,height:O.height+i,r:a?a+i/2:0}),r?.parentGroup?.attr({display:a?``:`none`})}),e.isDirtyBox=!1,B(this,`afterDrawChartBox`)}propFromSeries(){let e,t,n,r=this,i=r.options.chart,a=r.options.series;[`inverted`,`angular`,`polar`].forEach(function(o){for(t=wr[i.type],n=i[o]||t&&t.prototype[o],e=a?.length;!n&&e--;)(t=wr[a[e].type])&&t.prototype[o]&&(n=!0);r[o]=n})}linkSeries(e){let t=this,n=t.series;n.forEach(function(e){e.linkedSeries.length=0}),n.forEach(function(e){let{linkedTo:r}=e.options,i=H(r)&&(r===`:previous`?n[e.index-1]:t.get(r));i&&i.linkedParent!==e&&(i.linkedSeries.push(e),e.linkedParent=i,e.visible=e.options.visible??i.options.visible??e.visible)}),B(this,`afterLinkSeries`,{isUpdating:e})}renderSeries(){this.series.forEach(function(e){e.translate(),e.render()})}render(){let e=this.axes,t=this.colorAxis,n=this.renderer,{axisLayoutRuns:r=2,plotBorderRadius:i}=this.options.chart,a=e=>{e.forEach(e=>{e.visible&&e.render()})},o=0,s=!0,c,l=0;for(let t of(i&&(this.plotClipOuter||=n.clipRect(),this.plotClipInner||=n.clipRect()),this.setTitle(),B(this,`beforeMargins`),this.getStacks?.(),this.getMargins(!0),this.setChartSize(),e)){let{options:e}=t,{labels:n,offset:r}=e;if(this.hasCartesianSeries&&t.horiz&&t.visible&&n.enabled&&t.series.length&&t.coll!==`colorAxis`&&!t.isRadial){o=e.tickLength,t.createGroups();let i=new an(t,0,``,!0),a=i.createLabel(`x`,n);if(i.destroy(),a&&q(n.reserveSpace,!V(e.crossing))&&(o=a.getBBox().height+n.distance+Math.max(V(r)?r:0,0)),o){a?.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-o,0);(s||c||r>1)&&l<r;){let t=this.plotWidth,n=this.plotHeight,r=[1.05,1.1];for(let t of e){let e=+(t.horiz||0);if(l===0){t.setScale();let n=t.tickPositions?.info?.match;n&&(r[e]=Math.min(n,r[e]))}else (e&&s||!e&&c)&&t.setTickInterval(!0)}l===0?this.getAxisMargins():this.getMargins(),s=t/this.plotWidth>(l?1:r[1]),c=n/this.plotHeight>(l?1:r[0]),l++}this.drawChartBox(),this.hasCartesianSeries?a(e):t?.length&&a(t),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(e){let t=this,n=G(!0,this.options.credits,e);n.enabled&&!this.credits&&(this.credits=this.renderer.text(n.text+(this.mapCredits||``),0,0,n.useHTML).addClass(`highcharts-credits`).on(`click`,function(e){B(t,`creditsClick`,e,()=>{n.href&&(Cr.location.href=n.href)})}).attr({align:n.position.align,zIndex:8}),n.events?.click&&M(t,`creditsClick`,n.events.click),t.styledMode||this.credits.css(n.style),this.credits.add().align(n.position),this.credits.update=function(e){t.credits=t.credits.destroy(),t.addCredits(e)})}destroy(){let e,t=this,n=t.axes,r=t.series,i=t.container,a=i?.parentNode;for(B(t,`destroy`),t.renderer.forExport?le(br,t):br[t.index]=void 0,j.chartCount--,t.renderTo.removeAttribute(`data-highcharts-chart`),De(t),e=n.length;e--;)n[e]=n[e].destroy();for(this.scroller?.destroy?.(),e=r.length;e--;)r[e]=r[e].destroy();[`title`,`subtitle`,`chartBackground`,`plotBackground`,`plotBGImage`,`plotBorder`,`seriesGroup`,`clipRect`,`credits`,`pointer`,`rangeSelector`,`legend`,`resetZoomButton`,`tooltip`,`renderer`].forEach(e=>{t[e]=t[e]?.destroy?.()}),i&&(i.innerHTML=Q.emptyHTML,De(i),a&&se(i)),K(t,function(e,n){delete t[n]})}firstRender(){let e=this,t=e.options;e.getContainer(),e.resetMargins(),e.setChartSize(),e.propFromSeries(),e.createAxes();let n=U(t.series)?t.series:[];t.series=[],n.forEach(function(t){e.initSeries(t)}),e.linkSeries(),B(e,`beforeRender`),e.render(),e.pointer?.getChartPosition(),e.renderer.asyncCounter||e.hasLoaded||e.onload(),e.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach(function(e){e&&this.index!==void 0&&e.apply(this,[this])},this),B(this,`load`),B(this,`render`),R(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.warnIfCSSNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:e,title:t}=this;e&&!this.accessibility&&(this.renderer.boxWrapper.attr({role:`img`,"aria-label":(t?.element.textContent||``).replace(/</g,`&lt;`)}),e.accessibility&&!1===e.accessibility.enabled||Y(`Highcharts warning: Consider including the "accessibility.js" module to make your chart more usable for people with disabilities. Set the "accessibility.enabled" option to false to remove this warning. See https://www.highcharts.com/docs/accessibility/accessibility-module.`,!1,this))}warnIfCSSNotLoaded(){this.styledMode&&Cr.getComputedStyle(this.container).zIndex!==`0`&&Y(35,!1,this)}addSeries(e,t,n){let r,i=this;return e&&(t=q(t,!0),B(i,`addSeries`,{options:e},function(){r=i.initSeries(e),i.isDirtyLegend=!0,i.linkSeries(),B(i,`afterAddSeries`,{series:r}),t&&i.redraw(n)})),r}addAxis(e,t,n,r){return this.createAxis(t?`xAxis`:`yAxis`,{axis:e,redraw:n,animation:r})}addColorAxis(e,t,n){return this.createAxis(`colorAxis`,{axis:e,redraw:t,animation:n})}createAxis(e,t){let n=new mn(this,t.axis,e);return q(t.redraw,!0)&&this.redraw(t.animation),n}showLoading(e){let t=this,n=t.options,r=n.loading,i=r?.style??{},a=function(){o&&L(o,{left:i.left??t.plotLeft+`px`,top:i.top??t.plotTop+`px`,width:i.width??t.plotWidth+`px`,height:i.height??t.plotHeight+`px`})},o=t.loadingDiv,s=t.loadingSpan;o||(t.loadingDiv=o=ie(`div`,{className:`highcharts-loading highcharts-loading-hidden`},null,t.container)),s||(t.loadingSpan=s=ie(`span`,{className:`highcharts-loading-inner`},null,o),M(t,`redraw`,a)),o.className=`highcharts-loading`,Q.setElementHTML(s,q(e,n.lang.loading,``)),!t.styledMode&&(L(o,z(i,{zIndex:10})),L(s,r?.labelStyle??{}),t.loadingShown||(L(o,{opacity:0,display:``}),mr(o,{opacity:i.opacity??.5},{duration:r?.showDuration??0}))),t.loadingShown=!0,a()}hideLoading(){let e=this.options,t=this.loadingDiv;t&&(t.className=`highcharts-loading highcharts-loading-hidden`,this.styledMode||mr(t,{opacity:0},{duration:e.loading?.hideDuration??100,complete:function(){L(t,{display:`none`})}})),this.loadingShown=!1}update(e,t,n,r){let i,a,o,s=this,c={credits:`addCredits`,title:`setTitle`,subtitle:`setSubtitle`,caption:`setCaption`},l=e.isResponsiveOptions,u=[];B(s,`update`,{options:e}),l||s.setResponsive(!1,!0),e=ce(e,s.options),s.userOptions=G(s.userOptions,e);let d=e.chart;d&&(G(!0,s.options.chart,d),this.setZoomOptions(),`className`in d&&s.setClassName(d.className),(`inverted`in d||`polar`in d||`type`in d)&&(s.propFromSeries(),i=!0),`alignTicks`in d&&(i=!0),`events`in d&&yr(this,d),K(d,function(e,t){s.propsRequireUpdateSeries.indexOf(`chart.`+t)!==-1&&(a=!0),s.propsRequireDirtyBox.indexOf(t)!==-1&&(s.isDirtyBox=!0),s.propsRequireReflow.indexOf(t)!==-1&&(s.isDirtyBox=!0,l||(o=!0))}),!s.styledMode&&d.style&&s.renderer.setStyle(s.options.chart.style||{})),!s.styledMode&&e.colors&&(this.options.colors=e.colors),K(e,function(t,n){s[n]&&typeof s[n].update==`function`?s[n].update(t,!1):typeof s[c[n]]==`function`?s[c[n]](t):n!==`colors`&&s.collectionsWithUpdate.indexOf(n)===-1&&G(!0,s.options[n],e[n]),n!==`chart`&&s.propsRequireUpdateSeries.indexOf(n)!==-1&&(a=!0)}),this.collectionsWithUpdate.forEach(t=>{e[t]&&(Oe(e[t]).forEach((e,r)=>{let i;if(!e)return;let a=R(e.id);a&&(i=s.get(e.id)),!i&&s[t]&&(i=s[t][q(e.index,r)])&&(a&&R(i.options.id)||i.options.isInternal)&&(i=void 0),i&&i.coll===t&&(i.update(e,!1),n&&(i.touched=!0)),!i&&n&&s.collectionsWithInit[t]&&(s.collectionsWithInit[t][0].apply(s,[e].concat(s.collectionsWithInit[t][1]||[],[!1])).touched=!0)}),n&&s[t].forEach(e=>{e.touched||e.options.isInternal?delete e.touched:u.push(e)}))}),u.forEach(e=>{e.chart&&e.remove&&e.remove(!1)}),i&&s.axes.forEach(function(e){e.update({},!1)}),a&&s.series.forEach(e=>{e.chart&&e.update({},!1)});let f=d?.width,p=d&&(H(d.height)?Te(d.height,f||s.chartWidth):d.height);o||V(f)&&f!==s.chartWidth||V(p)&&p!==s.chartHeight?s.setSize(f,p,r):q(t,!0)&&s.redraw(r),B(s,`afterUpdate`,{options:e,redraw:t,animation:r})}setSubtitle(e,t){this.applyDescription(`subtitle`,e),this.layOutTitles(t)}setCaption(e,t){this.applyDescription(`caption`,e),this.layOutTitles(t)}showResetZoom(){let e=this,t=e.options.lang,n=e.zooming.resetButton,r=n.theme,i=n.relativeTo===`chart`||n.relativeTo===`spacingBox`?null:`plotBox`;function a(){e.zoomOut()}B(this,`beforeShowResetZoom`,null,function(){e.resetZoomButton=e.renderer.button(t.resetZoom,null,null,a,r).attr({align:n.position.align,title:t.resetZoomTitle}).addClass(`highcharts-reset-zoom`).add().align(n.position,!1,i)}),B(this,`afterShowResetZoom`)}zoomOut(){B(this,`selection`,{resetSelection:!0},()=>this.transform({reset:!0,trigger:`zoom`}))}pan(e,t){let n=this,r=typeof t==`object`?t:{enabled:t,type:`x`},i=r.type,a=i&&n[{x:`xAxis`,xy:`axes`,y:`yAxis`}[i]].filter(e=>e.options.panningEnabled&&!e.options.isInternal),o=n.options.chart;o?.panning&&(o.panning=r),B(this,`pan`,{originalEvent:e},()=>{n.transform({axes:a,event:e,to:{x:e.chartX-(n.mouseDownX||0),y:e.chartY-(n.mouseDownY||0)},trigger:`pan`}),L(n.container,{cursor:`move`})})}transform(e){let{axes:t=this.axes,event:n,from:r={},reset:i,selection:a,to:o={},trigger:s,allowResetButton:c=!0}=e,{inverted:l,time:u}=this;this.hoverPoints?.forEach(e=>e.setState()),B(this,`transform`,e);let d=e.hasZoomed||!1,f,p;for(let e of t){let{horiz:t,len:m,minPointOffset:h=0,options:g,reversed:_}=e,v=t?`width`:`height`,y=t?`x`:`y`,b=q(o[v],e.len),x=q(r[v],e.len),S=10>Math.abs(b)?1:b/x,C=(r[y]||0)+x/2-e.pos,w=C-((o[y]??e.pos)+b/2-e.pos)/S,T=_&&!l||!_&&l?-1:1;if(!i&&(C<0||C>e.len))continue;let E=e.chart.polar||e.isOrdinal&&S<=1?0:h*T||0,D=e.toValue(w,!0),O=e.toValue(w+m/S,!0),k=D+E,A=O-E,j=e.allExtremes;if(a&&a[e.coll].push({axis:e,min:Math.min(D,O),max:Math.max(D,O)}),k>A&&([k,A]=[A,k]),S===1&&!i&&e.coll===`yAxis`&&!j){for(let t of e.series){let e=t.getExtremes(t.getProcessedData(!0).modified.getColumn(t.pointValKey||`y`)||[],!0);j??={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE},V(e.dataMin)&&V(e.dataMax)&&(j.dataMin=Math.min(e.dataMin,j.dataMin),j.dataMax=Math.max(e.dataMax,j.dataMax))}e.allExtremes=j}let{dataMin:ee,dataMax:te,min:ne,max:M}=z(e.getExtremes(),j||{}),N=u.parse(g.min),re=u.parse(g.max),P=ee??N,F=te??re,I=A-k,ie=e.categories?0:Math.min(I,F-P),ae=P-ie*(R(N)?0:g.minPadding),L=F+ie*(R(re)?0:g.maxPadding),oe=e.allowZoomOutside||S===1||s!==`zoom`&&S>1,se=Math.min(N??ae,ae,oe?ne:ae),ce=Math.max(re??L,L,oe?M:L);(!e.isOrdinal||S!==1||i)&&(k<se&&(k=se,S>=1&&(A=k+I)),A>ce&&(A=ce,S>=1&&(k=A-I)),(i||e.series.length&&(k!==ne||A!==M)&&k>=se&&A<=ce)&&(a?a[e.coll].push({axis:e,min:k,max:A}):(e.isPanning=s!==`zoom`,e.isPanning&&s!==`mousewheel`&&(p=!0),e.setExtremes(i?void 0:k,i?void 0:A,!1,!1,{move:w,trigger:s,scale:S}),!i&&(k>se||A<ce)&&(f=c)),d=!0),this.hasCartesianSeries||i||(f=c),n&&(this[t?`mouseDownX`:`mouseDownY`]=n[t?`chartX`:`chartY`]))}return d&&(a?B(this,`selection`,a,()=>{delete e.selection,e.trigger=`zoom`,this.transform(e)}):(!f||p||this.resetZoomButton?!f&&this.resetZoomButton&&(this.resetZoomButton=this.resetZoomButton.destroy()):this.showResetZoom(),this.redraw(s===`zoom`&&(this.options.chart.animation??this.pointCount<100)))),d}}z(Tr.prototype,{callbacks:[],collectionsWithInit:{xAxis:[Tr.prototype.addAxis,[!0]],yAxis:[Tr.prototype.addAxis,[!1]],series:[Tr.prototype.addSeries]},collectionsWithUpdate:[`xAxis`,`yAxis`,`series`],propsRequireDirtyBox:[`backgroundColor`,`borderColor`,`borderWidth`,`borderRadius`,`plotBackgroundColor`,`plotBackgroundImage`,`plotBorderColor`,`plotBorderRadius`,`plotBorderWidth`,`plotShadow`,`shadow`],propsRequireReflow:[`margin`,`marginTop`,`marginRight`,`marginBottom`,`marginLeft`,`spacing`,`spacingTop`,`spacingRight`,`spacingBottom`,`spacingLeft`],propsRequireUpdateSeries:[`chart.inverted`,`chart.polar`,`chart.ignoreHiddenSeries`,`chart.type`,`colors`,`plotOptions`,`time`,`tooltip`]});let{stop:Er}=$e,{composed:Dr}=j;function Or(){(this.scrollablePixelsX||this.scrollablePixelsY)&&!this.scrollablePlotArea&&(this.scrollablePlotArea=new Ar(this)),this.scrollablePlotArea?.applyFixed()}function kr(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class Ar{static compose(e,t,n){we(Dr,`ScrollablePlotArea`)&&(M(e,`afterInit`,kr),M(t,`afterSetChartSize`,e=>this.afterSetSize(e.target,e)),M(t,`render`,Or),M(n,`show`,kr))}static afterSetSize(e,t){let n,r,i,{minWidth:a,minHeight:o}=e.options.chart.scrollablePlotArea||{},{clipBox:s,plotBox:c,inverted:l,renderer:u}=e;if(!u.forExport)if(a?(e.scrollablePixelsX=n=Math.max(0,a-e.chartWidth),n&&(e.scrollablePlotBox=G(e.plotBox),c.width=e.plotWidth+=n,s[l?`height`:`width`]+=n,i=!0)):o&&(e.scrollablePixelsY=r=Math.max(0,o-e.chartHeight),R(r)&&(e.scrollablePlotBox=G(e.plotBox),c.height=e.plotHeight+=r,s[l?`width`:`height`]+=r,i=!1)),R(i)){if(!t.skipAxes)for(let t of e.axes)(t.horiz===i||e.hasParallelCoordinates&&t.coll===`yAxis`)&&(t.setAxisSize(),t.setAxisTranslation())}else delete e.scrollablePlotBox}constructor(e){let t,n=e.options.chart,r=n.scrollablePlotArea||{},i=this.moveFixedElements.bind(this),a={WebkitOverflowScrolling:`touch`,overflowX:`hidden`,overflowY:`hidden`};e.scrollablePixelsX&&(a.overflowX=`auto`),e.scrollablePixelsY&&(a.overflowY=`auto`),this.chart=e;let o=this.parentDiv=ie(`div`,{className:`highcharts-scrolling-parent`},{position:`relative`},e.renderTo),s=this.scrollingContainer=ie(`div`,{className:`highcharts-scrolling`},a,o),c=this.innerContainer=ie(`div`,{className:`highcharts-inner-container`},void 0,s),l=this.fixedDiv=ie(`div`,{className:`highcharts-fixed`},{position:`absolute`,overflow:`hidden`,pointerEvents:`none`,zIndex:(n.style?.zIndex||0)+2,top:0},void 0,!0),u=this.fixedRenderer=new Xt(l,e.chartWidth,e.chartHeight,n.style);this.mask=u.path().attr({fill:n.backgroundColor||`#fff`,"fill-opacity":r.opacity??.85,zIndex:-1}).addClass(`highcharts-scrollable-mask`).add(),s.parentNode.insertBefore(l,s),L(e.renderTo,{overflow:`visible`}),M(e,`afterShowResetZoom`,i),M(e,`afterApplyDrilldown`,i),M(e,`afterLayOutTitles`,i),M(s,`scroll`,()=>{let{pointer:n,hoverPoint:r}=e;n&&(delete n.chartPosition,r&&(t=r),n.runPointActions(void 0,t,!0))}),c.appendChild(e.container)}applyFixed(){let{chart:e,fixedRenderer:t,isDirty:n,scrollingContainer:r}=this,{axisOffset:i,chartWidth:a,chartHeight:o,container:s,plotHeight:c,plotLeft:l,plotTop:u,plotWidth:d,scrollablePixelsX:f=0,scrollablePixelsY:p=0}=e,{scrollPositionX:m=0,scrollPositionY:h=0}=e.options.chart.scrollablePlotArea||{},g=a+f,_=o+p;t.setSize(a,o),(n??!0)&&(this.isDirty=!1,this.moveFixedElements()),Er(e.container),L(s,{width:`${g}px`,height:`${_}px`}),e.renderer.boxWrapper.attr({width:g,height:_,viewBox:[`0 0`,g,_].join(` `)}),e.chartBackground?.attr({width:g,height:_}),L(r,{width:`${a}px`,height:`${o}px`}),R(n)||(r.scrollLeft=f*m,r.scrollTop=p*h);let v=u-i[0]-1,y=l-i[3]-1,b=u+c+i[2]+1,x=l+d+i[1]+1,S=l+d-f,C=u+c-p,w=[[`M`,0,0]];f?w=[[`M`,0,v],[`L`,l-1,v],[`L`,l-1,b],[`L`,0,b],[`Z`],[`M`,S,v],[`L`,a,v],[`L`,a,b],[`L`,S,b],[`Z`]]:p&&(w=[[`M`,y,0],[`L`,y,u-1],[`L`,x,u-1],[`L`,x,0],[`Z`],[`M`,y,C],[`L`,y,o],[`L`,x,o],[`L`,x,C],[`Z`]]),e.redrawTrigger!==`adjustHeight`&&this.mask.attr({d:w})}moveFixedElements(){let e,{container:t,inverted:n,scrollablePixelsX:r,scrollablePixelsY:i}=this.chart,a=this.fixedRenderer,o=Ar.fixedSelectors.slice();if(r&&!n?e=`.highcharts-yaxis`:r&&n||i&&!n?e=`.highcharts-xaxis`:i&&n&&(e=`.highcharts-yaxis`),e&&!(this.chart.hasParallelCoordinates&&e===`.highcharts-yaxis`))for(let t of[`${e}:not(.highcharts-radial-axis)`,`${e}-labels:not(.highcharts-radial-axis-labels)`])we(o,t);else for(let e of[`.highcharts-xaxis`,`.highcharts-yaxis`])for(let t of[`${e}:not(.highcharts-radial-axis)`,`${e}-labels:not(.highcharts-radial-axis-labels)`])le(o,t);for(let e of o)[].forEach.call(t.querySelectorAll(e),e=>{(e.namespaceURI===a.SVG_NS?a.box:a.box.parentNode).appendChild(e),e.style.pointerEvents=`auto`})}}Ar.fixedSelectors=[`.highcharts-breadcrumbs-group`,`.highcharts-contextbutton`,`.highcharts-caption`,`.highcharts-credits`,`.highcharts-drillup-button`,`.highcharts-legend`,`.highcharts-legend-checkbox`,`.highcharts-navigator-series`,`.highcharts-navigator-xaxis`,`.highcharts-navigator-yaxis`,`.highcharts-navigator`,`.highcharts-range-selector-group`,`.highcharts-reset-zoom`,`.highcharts-scrollbar`,`.highcharts-subtitle`,`.highcharts-title`];let{format:jr}=ft,{series:Mr}=$,Nr=class{constructor(e,t,n,r,i){let a=e.chart.inverted,o=e.reversed;this.axis=e;let s=this.isNegative=!!n!=!!o;this.options=t||={},this.x=r,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=i,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:t.align||(a?s?`left`:`right`:`center`),verticalAlign:t.verticalAlign||(a?`middle`:s?`bottom`:`top`),y:t.y,x:t.x},this.textAlign=t.textAlign||(a?s?`right`:`left`:`center`)}destroy(){oe(this,this.axis)}render(e){let t=this.axis.chart,n=this.options,r=n.format,i=(r?jr(r,this,t):n.formatter?.call(this,this))||``;if(this.label)this.label.attr({text:i,visibility:`hidden`});else{this.label=t.renderer.label(i,null,void 0,n.shape,void 0,void 0,n.useHTML,!1,`stack-labels`);let r={r:n.borderRadius||0,text:i,padding:q(n.padding,5),visibility:`hidden`};t.styledMode||(r.fill=n.backgroundColor,r.stroke=n.borderColor,r[`stroke-width`]=n.borderWidth,this.label.css(n.style||{})),this.label.attr(r),this.label.added||this.label.add(e)}this.label.labelrank=t.plotSizeY,B(this,`afterRender`)}setOffset(e,t,n,r,i,a){let{alignOptions:o,axis:s,label:c,options:l,textAlign:u}=this,d=s.chart,f=this.getStackBox({xOffset:e,width:t,boxBottom:n,boxTop:r,defaultX:i,xAxis:a}),{verticalAlign:p}=o;if(c&&f){let e=c.getBBox(void 0,0),t=c.padding,n=q(l.overflow,`justify`)===`justify`,r;o.x=l.x||0,o.y=l.y||0;let{x:i,y:a}=this.adjustStackPosition({labelBox:e,verticalAlign:p,textAlign:u});f.x-=i,f.y-=a,c.align(o,!1,f),(r=d.isInsidePlot(c.alignAttr.x+o.x+i,c.alignAttr.y+o.y+a))||(n=!1),n&&Mr.prototype.justifyDataLabel.call(s,c,o,c.alignAttr,e,f),c.attr({x:c.alignAttr.x,y:c.alignAttr.y,rotation:l.rotation,rotationOriginX:e.width*de(l.textAlign||`center`),rotationOriginY:e.height/2}),q(!n&&l.crop,!0)&&(r=V(c.x)&&V(c.y)&&d.isInsidePlot(c.x-t+(c.width||0),c.y)&&d.isInsidePlot(c.x+t,c.y)),c[r?`show`:`hide`]()}B(this,`afterSetOffset`,{xOffset:e,width:t})}adjustStackPosition({labelBox:e,verticalAlign:t,textAlign:n}){return{x:e.width/2+e.width/2*(2*de(n)-1),y:e.height/2*2*(1-de(t))}}getStackBox(e){let t=this.axis,n=t.chart,{boxTop:r,defaultX:i,xOffset:a,width:o,boxBottom:s}=e,c=t.stacking.usePercentage?100:q(r,this.total,0),l=t.toPixels(c),u=e.xAxis||n.xAxis[0],d=q(i,u.translate(this.x))+a,f=Math.abs(l-t.toPixels(s||V(t.min)&&t.logarithmic&&t.logarithmic.lin2log(t.min)||0)),p=n.inverted,m=this.isNegative;return p?{x:(m?l:l-f)-n.plotLeft,y:u.height-d-o+u.top-n.plotTop,width:f,height:o}:{x:d+u.transB-n.plotLeft,y:(m?l-f:l)-n.plotTop,width:o,height:f}}},{getDeferredAnimation:Pr}=$e,{series:{prototype:Fr}}=$;function Ir(){let e=this.inverted;this.axes.forEach(e=>{e.stacking?.stacks&&e.hasVisibleSeries&&(e.stacking.oldStacks=e.stacking.stacks)}),this.series.forEach(t=>{let n=t.xAxis?.options||{};t.options.stacking&&t.reserveSpace()&&(t.stackKey=[t.type,q(t.options.stack,``),e?n.top:n.left,e?n.height:n.width].join(`,`))})}function Lr(){let e=this.stacking;if(e){let t=e.stacks;K(t,(e,n)=>{oe(e),delete t[n]}),e.stackTotalGroup?.destroy()}}function Rr(){this.stacking||=new Wr(this)}function zr(e,t,n,r){return!R(e)||e.x!==t||r&&e.stackKey!==r?e={x:t,index:0,key:r,stackKey:r}:e.index++,e.key=[n,t,e.index].join(`,`),e}function Br(){let e,t=this,n=t.yAxis,r=t.stackKey||``,i=n.stacking.stacks,a=t.getColumn(`x`,!0),o=t[t.options.stacking+`Stacker`];o&&[r,`-`+r].forEach(n=>{let r=a.length,s,c,l;for(;r--;)s=a[r],e=t.getStackIndicator(e,s,t.index,n),c=i[n]?.[s],(l=c?.points[e.key||``])&&o.call(t,l,c,r)})}function Vr(e,t,n){let r=t.total?100/t.total:0;e[0]=I(e[0]*r),e[1]=I(e[1]*r),this.stackedYData[n]=e[1]}function Hr(e){(this.is(`column`)||this.is(`columnrange`))&&(this.options.centerInCategory&&this.chart.series.length>1?Fr.setStackedPoints.call(this,e,`group`):e.stacking.resetStacks())}function Ur(e,t){let n,r,i,a,o,s,c,l=t||this.options.stacking;if(!l||!this.reserveSpace()||({group:`xAxis`}[l]||`yAxis`)!==e.coll)return;let u=this.getColumn(`x`,!0),d=this.getColumn(this.pointValKey||`y`,!0),f=[],p=d.length,m=this.options,h=m.threshold||0,g=m.startFromThreshold?h:0,_=m.stack,v=t?`${this.type},${l}`:this.stackKey||``,y=`-`+v,b=this.negStacks,x=e.stacking,S=x.stacks,C=x.oldStacks;for(x.stacksTouched+=1,c=0;c<p;c++){let t=u[c]||0,p=d[c],m=V(p)&&p||0;s=(n=this.getStackIndicator(n,t,this.index)).key||``,S[o=(r=b&&m<(g?0:h))?y:v]||(S[o]={}),S[o][t]||(C[o]?.[t]?(S[o][t]=C[o][t],S[o][t].total=null):S[o][t]=new Nr(e,e.options.stackLabels,!!r,t,_)),i=S[o][t],p===null?(delete i.points[s],delete i.points[this.index]):(i.points[s]=i.points[this.index]=[q(i.cumulative,g)],R(i.cumulative)||(i.base=s),i.touched=x.stacksTouched,n.index>0&&!1===this.singleStacks&&(i.points[s][0]=i.points[this.index+`,`+t+`,0`][0]));let w=i.total||0;l===`percent`?(a=r?v:y,w=b&&S[a]?.[t]?(a=S[a][t]).total=Math.max(a.total||0,w)+Math.abs(m):I(w+Math.abs(m))):l===`group`?V(p)&&w++:w=I(w+m),l===`group`?i.cumulative=(w||1)-1:i.cumulative=I(q(i.cumulative,g)+m),i.total=w,p!==null&&(i.points[s].push(i.cumulative),f[c]=i.cumulative,i.hasValidPoints=!0)}l===`percent`&&(x.usePercentage=!0),l!==`group`&&(this.stackedYData=f),x.oldStacks={}}class Wr{constructor(e){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=e}buildStacks(){let e,t,n=this.axis,r=n.series,i=n.coll===`xAxis`,a=n.options.reversedStacks,o=r.length;for(this.resetStacks(),this.usePercentage=!1,t=o;t--;)e=r[a?t:o-t-1],i&&e.setGroupedPoints(n),e.setStackedPoints(n);if(!i)for(t=0;t<o;t++)r[t].modifyStacks();B(n,`afterBuildStacks`)}cleanStacks(){this.oldStacks&&(this.stacks=this.oldStacks,K(this.stacks,e=>{K(e,e=>{e.cumulative=e.total})}))}resetStacks(){K(this.stacks,e=>{K(e,(t,n)=>{V(t.touched)&&t.touched<this.stacksTouched?(t.destroy(),delete e[n]):(t.total=null,t.cumulative=null)})})}renderStackTotals(){let e=this.axis,t=e.chart,n=t.renderer,r=this.stacks,i=Pr(t,e.options.stackLabels?.animation||!1),a=this.stackTotalGroup=this.stackTotalGroup||n.g(`stack-labels`).attr({zIndex:6,opacity:0}).add();a.translate(t.plotLeft,t.plotTop),K(r,e=>{K(e,e=>{e.render(a)})}),a.animate({opacity:1},i)}}(S||={}).compose=function(e,t,n){let r=t.prototype,i=n.prototype;r.getStacks||(M(e,`init`,Rr),M(e,`destroy`,Lr),r.getStacks=Ir,i.getStackIndicator=zr,i.modifyStacks=Br,i.percentStacker=Vr,i.setGroupedPoints=Hr,i.setStackedPoints=Ur)};let Gr=S;class Kr extends ir{drawGraph(){let e=this.options,t=(this.gappedPath||this.getGraphPath).call(this),n=this.chart.styledMode;[this,...this.zones].forEach((r,i)=>{let a,o=r.graph,s=o?`animate`:`attr`,c=r.dashStyle||e.dashStyle;if(o?(o.endX=this.preventGraphAnimation?null:t.xMap,o.animate({d:t})):t.length&&(r.graph=o=this.chart.renderer.path(t).addClass(`highcharts-graph`+(i?` highcharts-zone-graph-${i-1} `:` `)+(i&&r.className||``)).attr({zIndex:1}).add(this.group)),o&&!n&&(a={stroke:!i&&e.lineColor||r.color||this.color||`var(--highcharts-neutral-color-20)`,"stroke-width":e.lineWidth||0,fill:this.fillGraph&&this.color||`none`},c?a.dashstyle=c:e.linecap!==`square`&&(a[`stroke-linecap`]=a[`stroke-linejoin`]=`round`),o[s](a),e.shadow)){let t=this.chart.inverted,n={filterUnits:`userSpaceOnUse`},r=W(e.shadow)?G(t?{}:n,e.shadow):!!t||n;o.shadow(r)}o&&(o.startX=t.xMap,o.isArea=t.isArea)})}getGraphPath(e,t,n){let r=this,i=r.options,a=[],o=[],s,c=i.step,l=(e||=r.points).reversed;return l&&e.reverse(),(c={right:1,center:2}[c]||c&&3)&&l&&(c=4-c),(e=this.getValidPoints(e,!1,i.nullInteraction||!(i.connectNulls&&!t&&!n))).forEach(function(l,u){let d,f=l.plotX,p=l.plotY,m=e[u-1],h=l.isNull||typeof p!=`number`;(l.leftCliff||m?.rightCliff)&&!n&&(s=!0),h&&!R(t)&&u>0?s=!i.connectNulls:h&&!t?s=!0:(u===0||s?d=[[`M`,l.plotX,l.plotY]]:r.getPointSpline?d=[r.getPointSpline(e,l,u)]:c?(d=c===1?[[`L`,m.plotX,p]]:c===2?[[`L`,(m.plotX+f)/2,m.plotY],[`L`,(m.plotX+f)/2,p]]:[[`L`,f,m.plotY]]).push([`L`,f,p]):d=[[`L`,f,p]],o.push(l.x),c&&(o.push(l.x),c===2&&o.push(l.x)),a.push.apply(a,d),s=!1)}),a.xMap=o,r.graphPath=a,a}}Kr.defaultOptions=G(ir.defaultOptions,{legendSymbol:`lineMarker`}),$.registerSeriesType(`line`,Kr);let{seriesTypes:{line:qr}}=$;class Jr extends qr{drawGraph(){this.areaPath=[],super.drawGraph.apply(this);let{areaPath:e,options:t}=this;[this,...this.zones].forEach((n,r)=>{let i={},a=n.fillColor||t.fillColor,o=n.area,s=o?`animate`:`attr`;o?(o.endX=this.preventGraphAnimation?null:e.xMap,o.animate({d:e})):(i.zIndex=0,(o=n.area=this.chart.renderer.path(e).addClass(`highcharts-area`+(r?` highcharts-zone-area-${r-1} `:` `)+(r&&n.className||``)).add(this.group)).isArea=!0),this.chart.styledMode||(i.fill=a||n.color||this.color,i[`fill-opacity`]=a?1:t.fillOpacity??.75,o.css({pointerEvents:this.stickyTracking?`none`:`auto`})),o[s](i),o.startX=e.xMap,o.shiftUnit=t.step?2:1})}getGraphPath(e){let t,n,r,i=qr.prototype.getGraphPath,a=this.options,o=a.stacking,s=this.yAxis,c=[],l=[],u=this.index,d=s.stacking.stacks[this.stackKey],f=a.threshold,p=Math.round(s.getThreshold(a.threshold)),m=q(a.connectNulls,o===`percent`),h=function(n,r,i){let a=e[n],m=e[r],h=o&&d[a.x].points[u],g=a[i+`Null`]||0,_=a[i+`Cliff`]||0,v,y,b=!0;h&&(_||g)?(v=(g?h[0]:h[1])+_,y=h[0]+_,b=!!g):!o&&m&&(m.isNull||!R(m.plotY))&&(v=y=f),v!==void 0&&(l.push({plotX:t,plotY:v===null?p:s.getThreshold(v),isNull:b,isCliff:!0}),c.push({plotX:t,plotY:y===null?p:s.getThreshold(y),doCurve:!1}))};e||=this.points,o&&(e=this.getStackPoints(e));for(let i=0,a=e.length;i<a;++i)o||(e[i].leftCliff=e[i].rightCliff=e[i].leftNull=e[i].rightNull=void 0),n=e[i].isNull||!R(e[i].plotY),t=q(e[i].rectPlotX,e[i].plotX),r=o?q(e[i].yBottom,p):p,(!n||m)&&(m||h(i,i-1,`left`),n&&!o&&m||(l.push(e[i]),c.push({x:i,plotX:t,plotY:r})),m||h(i,i+1,`right`));let g=i.call(this,l,!0,!0);c.reversed=!0;let _=i.call(this,c,!0,!0),v=_[0];v&&v[0]===`M`&&(_[0]=[`L`,v[1],v[2]]);let y=g.concat(_);y.length&&y.push([`Z`]);let b=i.call(this,l,!1,m);return this.chart.series.length>1&&o&&l.some(e=>e.isCliff)&&(y.hasStackedCliffs=b.hasStackedCliffs=!0),y.xMap=g.xMap,this.areaPath=y,b}getStackPoints(e){let t=this,n=[],r=[],i=this.xAxis,a=this.yAxis,o=a.stacking.stacks[this.stackKey],s={},c=a.series,l=c.length,u=a.options.reversedStacks?1:-1,d=c.indexOf(t),f=a.getThreshold(t.options.threshold||0);if(e||=this.points,this.options.stacking){for(let t=0;t<e.length;t++)e[t].leftNull=e[t].rightNull=void 0,s[e[t].x]=e[t];K(o,function(e,t){e.total!==null&&r.push(t)}),r.sort(function(e,t){return e-t});let p=c.map(e=>e.visible);r.forEach(function(e,m){let h=0,g,_;if(s[e]&&!s[e].isNull)n.push(s[e]),[-1,1].forEach(function(n){let i=n===1?`rightNull`:`leftNull`,a=o[r[m+n]],f=0;if(a){let n=d;for(;n>=0&&n<l;){let r=c[n].index;!(g=a.points[r])&&(r===t.index?s[e][i]=!0:p[n]&&(_=o[e].points[r])&&(f-=_[1]-_[0])),n+=u}}s[e][n===1?`rightCliff`:`leftCliff`]=f});else{let t=d;for(;t>=0&&t<l;){let n=c[t].index;if(g=o[e].points[n]){h=g[1];break}t+=u}h||=0;let r=a.positiveValuesOnly&&h<=0?f:a.translate(h,!1,!0,!1,!0);n.push({isNull:!0,plotX:i.translate(e,!1,!1,!1,!0),x:e,plotY:r,yBottom:r})}})}return n}}Jr.defaultOptions=G(qr.defaultOptions,{threshold:0,legendSymbol:`areaMarker`}),z(Jr.prototype,{singleStacks:!1}),$.registerSeriesType(`area`,Jr);let{line:Yr}=$.seriesTypes;class Xr extends Yr{getPointSpline(e,t,n){let r,i,a,o,s=t.plotX||0,c=t.plotY||0,l=e[n-1],u=e[n+1];function d(e){return e&&!e.isNull&&!1!==e.doCurve&&!t.isCliff}if(d(l)&&d(u)){let e=l.plotX||0,n=l.plotY||0,d=u.plotX||0,f=u.plotY||0,p=0;r=(1.5*s+e)/2.5,i=(1.5*c+n)/2.5,a=(1.5*s+d)/2.5,o=(1.5*c+f)/2.5,a!==r&&(p=(o-i)*(a-s)/(a-r)+c-o),i+=p,o+=p,i>n&&i>c?(i=Math.max(n,c),o=2*c-i):i<n&&i<c&&(i=Math.min(n,c),o=2*c-i),o>f&&o>c?(o=Math.max(f,c),i=2*c-o):o<f&&o<c&&(o=Math.min(f,c),i=2*c-o),t.rightContX=a,t.rightContY=o,t.controlPoints={low:[r,i],high:[a,o]}}let f=[`C`,q(l.rightContX,l.plotX,0),q(l.rightContY,l.plotY,0),q(r,s,0),q(i,c,0),s,c];return l.rightContX=l.rightContY=void 0,f}}Xr.defaultOptions=G(Yr.defaultOptions),$.registerSeriesType(`spline`,Xr);let Zr=Xr,{area:Qr,area:{prototype:$r}}=$.seriesTypes;class ei extends Zr{}ei.defaultOptions=G(Zr.defaultOptions,Qr.defaultOptions),z(ei.prototype,{getGraphPath:$r.getGraphPath,getStackPoints:$r.getStackPoints,drawGraph:$r.drawGraph}),$.registerSeriesType(`areaspline`,ei);let{animObject:ti}=$e,{parse:ni}=Z,{noop:ri}=j;class ii extends ir{animate(e){let t,n,r=this,i=this.yAxis,a=i.pos,o=i.reversed,s=r.options,{clipOffset:c,inverted:l}=this.chart,u={},d=l?`translateX`:`translateY`;e&&c?(u.scaleY=.001,n=F(i.toPixels(s.threshold||0),a,a+i.len),l?u.translateX=(n+=o?-Math.floor(c[+!!l]):Math.ceil(c[l?3:2]))-i.len:u.translateY=n+=o?Math.ceil(c[+!!l]):-Math.floor(c[l?3:2]),r.clipBox&&r.setClip(),r.group.attr(u)):(t=Number(r.group.attr(d)),r.group.animate({scaleY:1},z(ti(r.options.animation),{step:function(e,n){r.group&&(u[d]=t+n.pos*(a-t),r.group.attr(u))}})))}init(e,t){super.init.apply(this,arguments);let n=this;(e=n.chart).hasRendered&&e.series.forEach(function(e){e.type===n.type&&(e.isDirty=!0)})}getColumnMetrics(){let e=this,t=e.options,n=e.xAxis,r=e.yAxis,i=n.options.reversedStacks,a=n.reversed&&!i||!n.reversed&&i,o={},s,c=0;!1===t.grouping?c=1:e.chart.series.forEach(function(t){let n,i=t.yAxis,a=t.options;t.type===e.type&&t.reserveSpace()&&r.len===i.len&&r.pos===i.pos&&(a.stacking&&a.stacking!==`group`?(o[s=t.stackKey]===void 0&&(o[s]=c++),n=o[s]):!1!==a.grouping&&(n=c++),t.columnIndex=n)});let l=Math.min(Math.abs(n.transA)*(!n.brokenAxis?.hasBreaks&&n.ordinal?.slope||t.pointRange||n.closestPointRange||n.tickInterval||1),n.len),u=l*t.groupPadding,d=(l-2*u)/(c||1),f=Math.min(t.maxPointWidth||n.len,q(t.pointWidth,d*(1-2*t.pointPadding))),p=(e.columnIndex||0)+ +!!a;return e.columnMetrics={width:f,offset:(d-f)/2+(u+p*d-l/2)*(a?-1:1),paddedWidth:d,columnCount:c},e.columnMetrics}crispCol(e,t,n,r){let i=this.borderWidth,a=this.chart.inverted;return r=ae(t+r,i,a)-(t=ae(t,i,a)),this.options.crisp&&(n=ae(e+n,i)-(e=ae(e,i))),{x:e,y:t,width:n,height:r}}adjustForMissingColumns(e,t,n,r){if(!n.isNull&&r.columnCount>1){let i=this.xAxis.series.filter(e=>e.visible).map(e=>e.index),a=0,o=0;K(this.xAxis.stacking?.stacks,e=>{let t=typeof n.x==`number`?e[n.x.toString()]?.points:void 0,r=t?.[this.index],s={};if(t&&U(r)){let e=this.index,n=Object.keys(t).filter(e=>!e.match(`,`)&&t[e]&&t[e].length>1).map(parseFloat).filter(e=>i.indexOf(e)!==-1).filter(t=>{let n=this.chart.series[t].options,r=n.stacking&&n.stack;if(R(r)){if(V(s[r]))return e===t&&(e=s[r]),!1;s[r]=t}return!0}).sort((e,t)=>t-e);a=n.indexOf(e),o=n.length}}),a=this.xAxis.reversed?o-1-a:a;let s=(o-1)*r.paddedWidth+t;e=(n.plotX||0)+s/2-t-a*r.paddedWidth}return e}translate(){let e=this,t=e.chart,n=e.options,r=e.dense=e.closestPointRange*e.xAxis.transA<2,i=e.borderWidth=n.borderWidth??+!r,a=e.xAxis,o=e.yAxis,s=n.threshold,c=n.minPointLength??5,l=e.getColumnMetrics(),u=l.width,d=e.pointXOffset=l.offset,f=e.dataMin,p=e.dataMax,m=e.translatedThreshold=o.getThreshold(s),h=e.barW=Math.max(u,1+2*i);n.pointPadding&&n.crisp&&(h=Math.ceil(h)),ir.prototype.translate.apply(e),e.points.concat(e.condemnedPoints).forEach(function(r){let i=r.yBottom??m,g=999+Math.abs(i),_=r.plotX||0,v=F(r.plotY,-g,o.len+g),y,b=Math.min(v,i),x=Math.max(v,i)-b,S=u,C=_+d,w=h;c&&Math.abs(x)<c&&(x=c,y=!o.reversed&&!r.negative||o.reversed&&r.negative,V(s)&&V(p)&&r.y===s&&p<=s&&(o.min||0)<s&&(f!==p||(o.max||0)<=s)&&(y=!y,r.negative=!r.negative),b=Math.abs(b-m)>c?i-(y?c:0):m-(y?c:0)),R(r.options.pointWidth)&&(C-=Math.round(((S=w=Math.ceil(r.options.pointWidth))-u)/2)),n.centerInCategory&&(C=e.adjustForMissingColumns(C,S,r,l)),r.barX=C,r.pointWidth=S,r.tooltipPos=t.inverted?[F(o.len+o.pos-t.plotLeft-v,o.pos-t.plotLeft,o.len+o.pos-t.plotLeft),a.len+a.pos-t.plotTop-C-w/2,x]:[a.left-t.plotLeft+C+w/2,F(v+o.pos-t.plotTop,o.pos-t.plotTop,o.len+o.pos-t.plotTop),x],r.shapeType=e.pointClass.prototype.shapeType||`roundedRect`,r.shapeArgs=e.crispCol(C,b,w,r.isNull?0:x)}),B(this,`afterColumnTranslate`)}drawGraph(){this.group[this.dense?`addClass`:`removeClass`](`highcharts-dense-data`)}pointAttribs(e,t){let n=this.options,r=this.pointAttrToOptions||{},i=r.stroke||`borderColor`,a=r[`stroke-width`]||`borderWidth`,o,s,c,l=e&&e.color||this.color,u=e&&e[i]||n[i]||l,d=e&&e.options.dashStyle||n.dashStyle,f=e?.[a]??n[a]??this[a]??1,p=e?.isNull&&n.nullInteraction?0:e?.opacity??n.opacity??1;e&&this.zones.length&&(s=e.getZone(),l=e.options.color||s&&(s.color||e.nonZonedColor)||this.color,s&&(u=s.borderColor||u,d=s.dashStyle||d,f=s.borderWidth||f)),t&&e&&(c=(o=G(n.states[t],e.options.states?.[t]||{})).brightness,l=o.color||c!==void 0&&ni(l).brighten(o.brightness).get()||l,u=o[i]||u,f=o[a]||f,d=o.dashStyle||d,p=q(o.opacity,p));let m={fill:l,stroke:u,"stroke-width":f,opacity:e?.condemned?0:p};return d&&(m.dashstyle=d),m}drawPoints(e){let t;e||=this.points.concat(this.condemnedPoints);let n=this,r=this.chart,i=n.options,a=i.nullInteraction,{styledMode:o,renderer:s}=r,c=i.animationLimit||250;e.forEach(function(e){let l=e.plotY,u=e.graphic,d=!!u,f=u&&r.pointCount<c?`animate`:`attr`;if(V(l)&&(e.y!==null||a)){if(t=e.shapeArgs,u&&e.hasNewShapeType()&&(u=u.destroy()),!u){let i=t;e.origin&&r.pointCount<c&&(i=G(t,e.getOrigin(e.origin,t)),o||(i.opacity=0),d=!0,f=`animate`),e.graphic=u=s[e.shapeType](i).add(e.group||n.group)}d&&u[f](G(t)),o||u[f](n.pointAttribs(e,e.selected&&`select`)).shadow(!1!==e.allowShadow&&i.shadow),u.addClass(e.getClassName(),!0).attr({visibility:e.visible?`inherit`:`hidden`})}else u&&(e.graphic=u.destroy())})}drawTracker(e=this.points){let t,n=this,r=n.chart,i=r.pointer,a=function(e){i?.normalize(e);let t=i?.getPointFromEvent(e);i&&t&&n.options.enableMouseTracking&&(r.isInsidePlot(e.chartX-r.plotLeft,e.chartY-r.plotTop,{visiblePlotOnly:!0})||n.allowOutsidePlotInteraction&&i?.inClass(e.target,`highcharts-point`)||i?.inClass(e.target,`highcharts-data-label`))&&(i.isDirectTouch=!0,t.onMouseOver(e))};e.forEach(function(e){t=U(e.dataLabels)?e.dataLabels:e.dataLabel?[e.dataLabel]:[],e.graphic&&(e.graphic.element.point=e),t.forEach(function(t){(t.div||t.element).point=e})}),n._hasTracking||=(n.trackerGroups?.reduce((e,t)=>(t===`dataLabelsGroup`?e.push(...n.dataLabelsGroups||[]):e.push(n[t]),e),[]).forEach(e=>{e&&(e.addClass(`highcharts-tracker`).on(`mouseover`,a).on(`mouseout`,function(e){i?.onTrackerMouseOut(e)}).on(`touchstart`,a),!r.styledMode&&n.options.cursor&&e.css({cursor:n.options.cursor}))}),!0),B(this,`afterDrawTracker`)}remove(){let e=this,t=e.chart;t.hasRendered&&t.series.forEach(function(t){t.type===e.type&&(t.isDirty=!0)}),ir.prototype.remove.apply(e,arguments)}}ii.defaultOptions=G(ir.defaultOptions,{borderRadius:3,centerInCategory:!1,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{halo:!1,brightness:.2},select:{color:`var(--highcharts-neutral-color-20)`,borderColor:`var(--highcharts-neutral-color-100)`}},dataLabels:{align:void 0,verticalAlign:void 0,y:void 0},startFromThreshold:!0,stickyTracking:!1,tooltip:{distance:6},threshold:0,borderColor:`var(--highcharts-background-color)`}),z(ii.prototype,{directTouch:!0,getSymbol:ri,negStacks:!0,trackerGroups:[`group`,`dataLabelsGroup`]}),$.registerSeriesType(`column`,ii);let ai=ii,{getDeferredAnimation:oi}=$e,{format:si}=ft;(function(e){function t(){return c(this).some(e=>e?.enabled)}function n(e,t,n,r,i){let{chart:a}=this,o=this.isCartesian&&a.inverted,{condemned:s,origin:c,plotX:l,plotY:u}=e,{crop:d=!0,distance:f,overflow:p=`justify`,rotation:m=0}=n,h=de(n.align),g=de(n.verticalAlign),_=e.pos(),v=R(l)&&R(u)&&a.isInsidePlot(l,Math.round(u),{inverted:o,paneCoordinates:!0,series:this}),y=this.visible&&e.visible&&R(l)&&(this.forceDL||s||v||q(n.inside,!!this.options.stacking)&&r&&a.isInsidePlot(l,o?r.x+1:r.y+r.height-1,{inverted:o,paneCoordinates:!0,series:this}));if(_){let l=t.getBBox(),u=t.getBBox(void 0,0);r=z({x:_[0],y:Math.round(_[1]),width:0,height:0},r||{}),n.alignTo===`plotEdges`&&this.isCartesian&&(r[o?`x`:`y`]=0,r[o?`width`:`height`]=this.yAxis?.len||0),z(n,{width:l.width,height:l.height});let v=0,b=0;V(f)&&!n.inside&&(v=f*(1-2*h),b=f*(1-2*g)),t.align(G(n,{x:(n.x||0)+v,y:(n.y||0)+b,width:u.width,height:u.height}),!1,r,!1),t.distX=v,t.distY=b,t.alignAttr.x+=h*(u.width-l.width),t.alignAttr.y+=g*(u.height-l.height);let x=t.alignAttr.x+(l.width-u.width)/2,S=t.alignAttr.y+(l.height-u.height)/2;if(c){let n=e.pos(!1,c.x,c.y);if(n){let r=[n[0]-_[0],n[1]-_[1]];(this.is(`column`)||e.plotHigh)&&(r[+!o]=0),t.attr({x:x+r[0],y:S+r[1],opacity:.01}),t.placed=!0,i=!1}}let C={"text-align":t.alignAttr[`text-align`]||`center`,x,y:S,rotationOriginX:(t.width||0)/2,rotationOriginY:(t.height||0)/2};if((s||!y)&&(C.opacity=0),t[t.placed?`animate`:`attr`](C),m===0&&!s&&p===`justify`&&y&&r.height>=0)this.justifyDataLabel(t,n,t.alignAttr,l,r,i);else if(d&&!s){let{x:e,y:n}=t.alignAttr;y=a.isInsidePlot(e,n,{paneCoordinates:!0,series:this})&&a.isInsidePlot(e+l.width-1,n+l.height-1,{paneCoordinates:!0,series:this})}n.shape&&!m&&t[i?`attr`:`animate`]({anchorX:_[0],anchorY:_[1]})}t[i?`attr`:`animate`]({visibility:y?`inherit`:`hidden`}),t.placed=y}function r(e,t){B(this,`initDataLabelsGroup`,{index:e,zIndex:t?.zIndex}),this.dataLabelsGroup=this.dataLabelsGroups?.[e];let n=this.plotGroup(`dataLabelsGroup`,`data-labels`,this.hasRendered?`inherit`:`hidden`,t?.zIndex??6,this.dataLabelsParentGroups?.[e]);return this.dataLabelsGroups||=[],this.dataLabelsGroups[e]=n,this.dataLabelsGroup=this.dataLabelsGroups[0],n}function i(e,t,n){let r=!!this.hasRendered,i=this.initDataLabelsGroup(e,n).attr({opacity:+r});return!r&&i&&(this.visible&&i.show(),this.options.animation?i.animate({opacity:1},t):i.attr({opacity:1})),i}function a(e){e||=this.points;let t=this,n=t.chart,r=t.options,i=n.renderer,{backgroundColor:a,plotBackgroundColor:o}=n.options.chart,l=i.getContrast(H(o)&&o||H(a)&&a||`var(--highcharts-background-color)`),u=[],d=c(t),{animation:f,defer:p}=d[0],m=p?oi(n,f,t):{defer:0,duration:0};B(this,`drawDataLabels`),t.hasDataLabels?.()&&e.concat(t.condemnedPoints).forEach(e=>{let a=e.dataLabels||[],o=e.color||t.color;Oe(s(d,e.dlOptions||e.options?.dataLabels)).forEach((s,c)=>{let d=s.enabled&&(e.visible||e.dataLabelOnHidden)&&(!e.isNull||e.dataLabelOnNull)&&function(e,t){let n=t.filter;if(n){let t=n.operator,r=e[n.property],i=n.value;return t===`>`&&r>i||t===`<`&&r<i||t===`>=`&&r>=i||t===`<=`&&r<=i||t===`==`&&r==i||t===`===`&&r===i||t===`!=`&&r!=i||t===`!==`&&r!==i||!1}return!0}(e,s),{backgroundColor:f,borderColor:p,distance:h,style:g={}}=s,_=Oe(s.padding||0),v,y,b,x={},S=a[c],C=!S,w;if(d&&(y=R(v=q(s[e.formatPrefix+`Format`],s.format))?si(v,e,n):(s[e.formatPrefix+`Formatter`]||s.formatter).call(e,s,e),b=s.rotation,!n.styledMode&&(g.color=q(s.color,g.color,H(t.color)?t.color:void 0,`var(--highcharts-neutral-color-100)`),g.color===`contrast`?(f!==`none`&&(w=f),e.contrastColor=i.getContrast(w!==`auto`&&w!==`contrast`&&H(w)&&w||(H(o)?o:``)),g.color=w&&w!==`contrast`||s.inside||0>J(h||0)||r.stacking?e.contrastColor:l):delete e.contrastColor,r.cursor&&(g.cursor=r.cursor)),x={r:s.borderRadius??3,rotation:b,padding:_[0],paddingLeft:_[3%_.length],paddingRight:_[1%_.length],zIndex:1},n.styledMode||(x.fill=f===`auto`?e.color:f,x.stroke=p===`auto`?e.color:p,x[`stroke-width`]=s.borderWidth),K(x,(e,t)=>{e===void 0&&delete x[t]})),!S||d&&R(y)&&!!(S.div||S.text?.foreignObject)==!!s.useHTML&&(S.rotation&&s.rotation||S.rotation===s.rotation)||(S=void 0,C=!0),d&&R(y)&&y!==``&&(S?x.text=y:(S=i.label(y,0,0,s.shape,void 0,void 0,s.useHTML,void 0,`data-label`)).addClass(` highcharts-data-label-color-`+e.colorIndex+` `+(s.className||``)+(s.useHTML?` highcharts-tracker`:``)),S)){S.options=s,S.attr(x),n.styledMode?g.width&&S.css({width:g.width,textOverflow:g.textOverflow,whiteSpace:g.whiteSpace}):S.css(g).shadow(s.shadow),B(S,`beforeAddingDataLabel`,{labelOptions:s,point:e});let r=u[c]=u[c]||this.initDataLabels(c,m,s);S.added||S.add(r),t.alignDataLabel(e,S,s,void 0,C),S.isActive=!0,a[c]&&a[c]!==S&&a[c].destroy(),a[c]=S}});let c=a.length;for(;c--;)a[c]?.isActive?a[c].isActive=!1:(a[c]?.destroy(),a.splice(c,1));e.dataLabel=a[0],e.dataLabels=a}),B(this,`afterDrawDataLabels`)}function o(e,t,n,r,i,a){let o=this.chart,{align:s,verticalAlign:c}=t,{distX:l=0,distY:u=0}=e,d=e.box?0:e.padding||0,f=o.inverted?this.yAxis:this.xAxis,p=f?f.left-o.plotLeft:0,m=o.inverted?this.xAxis:this.yAxis,h=m?m.top-o.plotTop:0,{x:g=0,y:_=0}=t,v,y,b;return(v=(n.x||0)-l+d+p)<0&&(s===`right`&&g>=0?(t.align=`left`,t.inside=!0,g-=l):g-=v,y=!0),(v=(n.x||0)+r.width-l-d+p)>o.plotWidth&&(s===`left`&&g<=0?(t.align=`right`,t.inside=!0,g-=l):g+=o.plotWidth-v,y=!0),(v=(n.y||0)-u+d+h)<0&&(c===`bottom`&&_>=0?(t.verticalAlign=`top`,t.inside=!0,_-=u):_-=v,b=!0),(v=(n.y||0)+r.height-u-d+h)>o.plotHeight&&(c===`top`&&_<=0?(t.verticalAlign=`bottom`,t.inside=!0,_-=u):_+=o.plotHeight-v,b=!0),(y||b)&&(t.x=y?g:g+l,t.y=b?_:_+u,e.placed=!a,e.align(t,void 0,i)),y||b}function s(e,t){let n=[],r;if(U(e)&&!U(t))n=e.map(function(e){return G(e,t)});else if(U(t)&&!U(e))n=t.map(function(t){return G(e,t)});else if(U(e)||U(t)){if(U(e)&&U(t))for(r=Math.max(e.length,t.length);r--;)n[r]=G(e[r],t[r])}else n=G(e,t);return n}function c(e){let t=e.chart.options.plotOptions;return Oe(s(s(t?.series?.dataLabels,t?.[e.type]?.dataLabels),e.options.dataLabels))}e.compose=function(e){let c=e.prototype;c.initDataLabels||(c.initDataLabels=i,c.initDataLabelsGroup=r,c.alignDataLabel=n,c.drawDataLabels=a,c.justifyDataLabel=o,c.mergeArrays=s,c.hasDataLabels=t)}})(C||={});let ci=C,{composed:li}=j,{series:ui}=$;function di(e,t,n,r,i){let{chart:a,options:o}=this,s=a.inverted,c=this.xAxis?.len||a.plotSizeX||0,l=this.yAxis?.len||a.plotSizeY||0,u=e.dlBox||e.shapeArgs,d=e.below??(e.plotY||0)>(this.translatedThreshold??l),f=n.inside??!!o.stacking;if(u){if(r=G(u),n.overflow!==`allow`||!1!==n.crop||!1!==o.clip){r.y<0&&(r.height+=r.y,r.y=0);let e=r.y+r.height-l;e>0&&e<r.height-1&&(r.height-=e)}s&&(r={x:l-r.y-r.height,y:c-r.x-r.width,width:r.height,height:r.width}),f||(s?(r.x+=d?0:r.width,r.width=0):(r.y+=d?r.height:0,r.height=0))}n.align??=!s||f?`center`:d?`right`:`left`,n.verticalAlign??=s||f?`middle`:d?`top`:`bottom`,ui.prototype.alignDataLabel.call(this,e,t,n,r,i),n.inside&&e.contrastColor&&t.css({color:e.contrastColor})}(w||={}).compose=function(e){ci.compose(ui),we(li,`ColumnDataLabel`)&&(e.prototype.alignDataLabel=di)};let fi=w;class pi extends ai{}pi.defaultOptions=G(ai.defaultOptions,{}),z(pi.prototype,{inverted:!0}),$.registerSeriesType(`bar`,pi);let{column:mi,line:hi}=$.seriesTypes;class gi extends hi{applyJitter(){let e=this,t=this.options.jitter,n=this.points.length;t&&this.points.forEach(function(r,i){[`x`,`y`].forEach(function(a,o){if(t[a]&&!r.isNull){let s=`plot${a.toUpperCase()}`,c=e[`${a}Axis`],l=t[a]*c.transA;if(c&&!c.logarithmic){let e,t=Math.max(0,(r[s]||0)-l);r[s]=t+(Math.min(c.len,(r[s]||0)+l)-t)*((e=1e4*Math.sin(i+o*n))-Math.floor(e)),a===`x`&&(r.clientX=r.plotX)}}})})}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&=this.graph.destroy()}}gi.defaultOptions=G(hi.defaultOptions,{lineWidth:0,findNearestPointBy:`xy`,jitter:{x:0,y:0},marker:{enabled:!0},tooltip:{headerFormat:`<span style="color:{point.color}">●</span> <span style="font-size: 0.8em"> {series.name}</span><br/>`,pointFormat:`x: <b>{point.x}</b><br/>y: <b>{point.y}</b><br/>`}}),z(gi.prototype,{allowOutsidePlotInteraction:!0,drawTracker:mi.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:[`group`,`markerGroup`,`dataLabelsGroup`]}),M(gi,`afterTranslate`,function(){this.applyJitter()}),$.registerSeriesType(`scatter`,gi);let{deg2rad:_i}=j;(u=T||={}).getCenter=function(){let e=this.options,t=this.chart,n=2*(e.slicedOffset||0),r=t.plotWidth-2*n,i=t.plotHeight-2*n,a=e.center,o=Math.min(r,i),s=e.thickness,c,l=e.size,u=e.innerSize||0,d,f;typeof l==`string`&&(l=parseFloat(l)),typeof u==`string`&&(u=parseFloat(u));let p=[q(a?.[0],`50%`),q(a?.[1],`50%`),q(l&&l<0?void 0:e.size,`100%`),q(u&&u<0?void 0:e.innerSize||0,`0%`)];for(d=0;d<4;++d)f=p[d],c=d<2||d===2&&/%$/.test(f),p[d]=Te(f,[r,i,o,p[2]][d])+(c?n:0);return p[3]>p[2]&&(p[3]=p[2]),V(s)&&2*s<p[2]&&s>0&&(p[3]=p[2]-2*s),B(this,`afterGetCenter`,{positions:p}),p},u.getStartAndEndRadians=function(e,t){let n=V(e)?e:0,r=V(t)&&t>n&&t-n<360?t:n+360;return{start:_i*(n+-90),end:_i*(r+-90)}};let vi=T,{setAnimation:yi}=$e;class bi extends Nn{getConnectorPath(e){let t=e.dataLabelPosition,n=e.options||{},r=n.connectorShape,i=this.connectorShapes[r]||r;return t&&i.call(this,{...t.computed,alignment:t.alignment},t.connectorPosition,n)||[]}getTranslate(){return this.sliced&&this.slicedTranslation||{translateX:0,translateY:0}}haloPath(e){let t=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(t.x,t.y,t.r+e,t.r+e,{innerR:t.r-1,start:t.start,end:t.end,borderRadius:t.borderRadius})}constructor(e,t,n){super(e,t,n),this.half=0,this.name??=e.chart.options.lang.pieSliceName;let r=e=>{this.slice(e.type===`select`)};M(this,`select`,r),M(this,`unselect`,r)}isValid(){return V(this.y)&&this.y>=0}setVisible(e,t=!0){e!==this.visible&&this.update({visible:e??!this.visible},t,void 0,!1)}slice(e,t,n){let r=this.series;yi(n,r.chart),t=q(t,!0),this.sliced=this.options.sliced=e??!this.sliced,r.options.data&&(r.options.data[r.data.indexOf(this)]=this.options),this.graphic?.animate(this.getTranslate())}}z(bi.prototype,{connectorShapes:{fixedOffset:function(e,t,n){let r=t.breakAt,i=t.touchingSliceAt,a=n.softConnector?[`C`,e.x+(e.alignment===`left`?-5:5),e.y,2*r.x-i.x,2*r.y-i.y,r.x,r.y]:[`L`,r.x,r.y];return[[`M`,e.x,e.y],a,[`L`,i.x,i.y]]},straight:function(e,t){let n=t.touchingSliceAt;return[[`M`,e.x,e.y],[`L`,n.x,n.y]]},crookedLine:function(e,t,n){let{angle:r=this.angle||0,breakAt:i,touchingSliceAt:a}=t,{series:o}=this,[s,c,l]=o.center,u=l/2,{plotLeft:d,plotWidth:f}=o.chart,p=e.alignment===`left`,{x:m,y:h}=e,g=i.x;if(n.crookDistance){let e=Te(n.crookDistance,1);g=p?s+u+(f+d-s-u)*(1-e):d+(s-u)*e}else g=s+(c-h)*Math.tan(r-Math.PI/2);let _=[[`M`,m,h]];return(p?g<=m&&g>=i.x:g>=m&&g<=i.x)&&_.push([`L`,g,h]),_.push([`L`,i.x,i.y],[`L`,a.x,a.y]),_}}});let{getStartAndEndRadians:xi}=vi,{noop:Si}=j;class Ci extends ir{animate(e){let t=this,n=t.points,r=t.startAngleRad;e||n.forEach(function(e){let n=e.graphic,i=e.shapeArgs;n&&i&&(n.attr({r:q(e.startR,t.center&&t.center[3]/2),start:r,end:r}),n.animate({r:i.r,start:i.start,end:i.end},t.options.animation))})}drawEmpty(){let e,t,n=this.startAngleRad,r=this.endAngleRad,i=this.options;this.total===0&&this.center?(e=this.center[0],t=this.center[1],this.graph||=this.chart.renderer.arc(e,t,this.center[1]/2,0,n,r).addClass(`highcharts-empty-series`).add(this.group),this.graph.attr({d:Nt.arc(e,t,this.center[2]/2,0,{start:n,end:r,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":i.borderWidth,fill:i.fillColor||`none`,stroke:i.color||`var(--highcharts-neutral-color-20)`})):this.graph&&=this.graph.destroy()}drawPoints(){let e=this.chart.renderer;this.points.forEach(function(t){t.graphic&&t.hasNewShapeType()&&(t.graphic=t.graphic.destroy()),t.graphic||(t.graphic=e[t.shapeType](t.shapeArgs).add(t.series.group),t.delayedRendering=!0)})}generatePoints(){super.generatePoints(),this.updateTotals()}getXPos(e,t,n,r){let i=this.center,a=this.radii?this.radii[n.index]||0:i[2]/2,o=r.dataLabelPosition?.distance||0,s=Math.asin(F((e-i[1])/(a+o),-1,1));return i[0]+Math.cos(s)*(a+o)*(t?-1:1)+(o>0?t?-5:5:0)}hasData(){return this.points.some(e=>e.visible)}redrawPoints(){let e,t,n,r,i=this,a=i.chart;this.drawEmpty(),i.group&&!a.styledMode&&i.group.shadow(i.options.shadow),i.points.forEach(function(o){let s={};t=o.graphic,!o.isNull&&t?(r=o.shapeArgs,e=o.getTranslate(),a.styledMode||(n=i.pointAttribs(o,o.selected&&`select`)),o.delayedRendering?(t.setRadialReference(i.center).attr(r).attr(e),a.styledMode||t.attr(n).attr({"stroke-linejoin":`round`}),o.delayedRendering=!1):(t.setRadialReference(i.center),a.styledMode||G(!0,s,n),G(!0,s,r,e),t.animate(s)),t.attr({visibility:o.visible?`inherit`:`hidden`}),t.addClass(o.getClassName(),!0)):t&&(o.graphic=t.destroy())})}sortByAngle(e,t){e.sort(function(e,n){return e.angle!==void 0&&(n.angle-e.angle)*t})}translate(e){B(this,`translate`),this.generatePoints();let t=this.options,n=t.slicedOffset,r=xi(t.startAngle,t.endAngle),i=this.startAngleRad=r.start,a=(this.endAngleRad=r.end)-i,o=this.points,s=t.ignoreHiddenPoint,c=o.length,l,u,d,f,p,m,h,g=0;for(e||(this.center=e=this.getCenter()),m=0;m<c;m++){h=o[m],l=i+g*a,h.isValid()&&(!s||h.visible)&&(g+=h.percentage/100),u=i+g*a;let t={x:e[0],y:e[1],r:e[2]/2,innerR:e[3]/2,start:l,end:u};h.shapeType=`arc`,h.shapeArgs=t,(d=(u+l)/2)>1.5*Math.PI?d-=2*Math.PI:d<-Math.PI/2&&(d+=2*Math.PI),h.slicedTranslation={translateX:Math.round(Math.cos(d)*n),translateY:Math.round(Math.sin(d)*n)},f=Math.cos(d)*e[2]/2,p=Math.sin(d)*e[2]/2,h.tooltipPos=[e[0]+.7*f,e[1]+.7*p],h.half=+(d<-Math.PI/2||d>Math.PI/2),h.angle=d}B(this,`afterTranslate`)}updateTotals(){let e=this.points,t=e.length,n=this.options.ignoreHiddenPoint,r,i,a=0;for(r=0;r<t;r++)(i=e[r]).isValid()&&(!n||i.visible)&&(a+=i.y);for(r=0,this.total=a;r<t;r++)(i=e[r]).percentage=a>0&&(i.visible||!n)?i.y/a*100:0,i.total=a}}Ci.defaultOptions=G(ir.defaultOptions,{borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{connectorPadding:5,connectorShape:`crookedLine`,crookDistance:void 0,distance:30,enabled:!0,formatter:function(){return this.isNull?void 0:this.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:`point`,marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:`var(--highcharts-background-color)`,borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}),z(Ci.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:ai.prototype.drawTracker,getCenter:vi.getCenter,getSymbol:Si,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointAttribs:ai.prototype.pointAttribs,pointClass:bi,requireSorting:!1,searchPoint:Si,trackerGroups:[`group`,`dataLabelsGroup`]}),$.registerSeriesType(`pie`,Ci);let{composed:wi,noop:Ti}=j,{distribute:Ei}=pt,{series:Di}=$;(function(e){let t={radialDistributionY:function(e,t){return(t.dataLabelPosition?.top||0)+e.distributeBox.pos},radialDistributionX:function(e,t,n,r,i){let a=i.dataLabelPosition;return e.getXPos(n<(a?.top||0)+2||n>(a?.bottom||0)-2?r:n,t.half,t,i)},justify:function(e,t,n,r){return r[0]+(e.half?-1:1)*(n+(t.dataLabelPosition?.distance||0))},alignToPlotEdges:function(e,t,n,r){let i=e.getBBox().width;return t?i+r:n-i-r},alignToConnectors:function(e,t,n,r){let i=0,a;return e.forEach(function(e){(a=e.dataLabel.getBBox().width)>i&&(i=a)}),t?i+r:n-i-r}};function n(e,t){let n=Math.PI/2,{start:r=0,end:i=0}=e.shapeArgs||{},a=e.angle||0;t>0&&r<n&&i>n&&a>n/2&&a<1.5*n&&(a=a<=n?Math.max(n/2,(r+n)/2):Math.min(1.5*n,(n+i)/2));let{center:o,options:s}=this,c=o[2]/2,l=Math.cos(a),u=Math.sin(a),d=o[0]+l*c,f=o[1]+u*c,p=Math.min((s.slicedOffset||0)+(s.borderWidth||0),t/5);return{natural:{x:d+l*t,y:f+u*t},computed:{},alignment:t<0?`center`:e.half?`right`:`left`,connectorPosition:{angle:a,breakAt:{x:d+l*p,y:f+u*p},touchingSliceAt:{x:d,y:f}},distance:t}}function r(){let e=this,t=e.points,n=e.chart,r=n.plotWidth,i=n.plotHeight,a=n.plotLeft,o=Math.round(n.chartWidth/3),s=e.center,c=s[2]/2,l=s[1],u=[[],[]],d=[0,0,0,0],f=e.dataLabelPositioners,p,m,h,g=0;e.visible&&e.hasDataLabels?.()&&(t.forEach(e=>{(e.dataLabels||[]).forEach(e=>{e.shortened&&=(e.attr({width:`auto`}).css({width:`auto`,textOverflow:`clip`}),!1)})}),Di.prototype.drawDataLabels.apply(e),t.forEach(e=>{(e.dataLabels||[]).forEach((t,n)=>{let r=s[2]/2,i=t.options,a=Te(i?.distance||0,r);n===0&&u[e.half].push(e),!R(i?.style?.width)&&t.getBBox().width>o&&(t.css({width:Math.round(.7*o)+`px`}),t.shortened=!0),t.dataLabelPosition=this.getDataLabelPosition(e,a),g=Math.max(g,a)})}),u.forEach((t,o)=>{let u=t.length,p=[],_,v,y=0,b;u&&(e.sortByAngle(t,o-.5),g>0&&(_=Math.max(0,l-c-g),v=Math.min(l+c+g,n.plotHeight),t.forEach(e=>{(e.dataLabels||[]).forEach(t=>{let r=t.dataLabelPosition;r&&r.distance>0&&(r.top=Math.max(0,l-c-r.distance),r.bottom=Math.min(l+c+r.distance,n.plotHeight),y=t.getBBox().height||21,t.lineHeight=n.renderer.fontMetrics(t.text||t).h+2*t.padding,e.distributeBox={target:(t.dataLabelPosition?.natural.y||0)-r.top+t.lineHeight/2,size:y,rank:e.y},p.push(e.distributeBox))})}),Ei(p,b=v+y-_,b/5)),t.forEach(n=>{(n.dataLabels||[]).forEach(l=>{let u=l.options||{},g=n.distributeBox,_=l.dataLabelPosition,v=_?.natural.y||0,y=u.connectorPadding||0,b=l.lineHeight||21,x=(b-l.getBBox().height)/2,S=0,C=v,w=`inherit`;if(_){if(p&&R(g)&&_.distance>0&&(g.pos===void 0?w=`hidden`:(h=g.size,C=f.radialDistributionY(n,l))),u.justify)S=f.justify(n,l,c,s);else switch(u.alignTo){case`connectors`:S=f.alignToConnectors(t,o,r,a);break;case`plotEdges`:S=f.alignToPlotEdges(l,o,r,a);break;default:S=f.radialDistributionX(e,n,C-x,v,l)}if(_.attribs={visibility:w,align:_.alignment},_.posAttribs={x:S+(u.x||0)+({left:y,right:-y}[_.alignment]||0),y:C+(u.y||0)-b/2},_.computed.x=S,_.computed.y=C-x,q(u.crop,!0)){let e;S-(m=l.getBBox().width)<y&&o===1?(e=Math.round(m-S+y),d[3]=Math.max(e,d[3])):S+m>r-y&&o===0&&(e=Math.round(S+m-r+y),d[1]=Math.max(e,d[1])),C-h/2<0?d[0]=Math.max(Math.round(-C+h/2),d[0]):C+h/2>i&&(d[2]=Math.max(Math.round(C+h/2-i),d[2])),_.sideOverflow=e}}})}))}),(re(d)===0||this.verifyDataLabelOverflow(d))&&(this.placeDataLabels(),this.points.forEach(t=>{t.dataLabels?.forEach((r,i)=>{let{connectorColor:a,connectorWidth:o=1}=r.options||{},s=r.dataLabelPosition;if(V(o)){let c;p=r.connector,s&&s.distance>0?(c=!p,p||(r.connector=p=n.renderer.path().addClass(`highcharts-data-label-connector highcharts-color-`+t.colorIndex+(t.className?` `+t.className:``)).add(e.dataLabelsGroups?.[i])),n.styledMode||p.attr({"stroke-width":o,stroke:a||t.color||`var(--highcharts-neutral-color-60)`}),p[c?`attr`:`animate`]({d:t.getConnectorPath(r)}),p.attr({visibility:s.attribs?.visibility})):p&&(r.connector=p.destroy())}})})))}function i(){this.points.forEach(e=>{(e.dataLabels||[]).forEach(e=>{let t=e.dataLabelPosition;t?(t.sideOverflow&&(e.css({width:Math.max(e.getBBox().width-t.sideOverflow,0)+`px`,textOverflow:e.options?.style?.textOverflow||`ellipsis`}),e.shortened=!0),e.attr(t.attribs),e[e.moved?`animate`:`attr`](t.posAttribs),e.moved=!0):e&&e.attr({y:-9999})}),delete e.distributeBox},this)}function a(e){let t=this.center,n=this.options,r=n.center,i=n.minSize||80,a=i,o=n.size!==null;return!o&&(r[0]===null?(a=Math.max(t[2]-e[1]-e[3],i),t[0]+=(e[3]-e[1])/2):a=Math.max(t[2]-Math.max(e[1],e[3]),i),r[1]===null?(a=F(a,i,t[2]-e[0]-e[2]),t[1]+=(e[0]-e[2])/2):a=F(a,i,t[2]-Math.max(e[0],e[2])),a<t[2]?(t[2]=a,t[3]=Math.min(n.thickness?Math.max(0,a-2*n.thickness):Math.max(0,Te(n.innerSize||0,a)),a),this.translate(t),this.drawDataLabels&&this.drawDataLabels()):o=!0),o}e.compose=function(e){if(ci.compose(Di),we(wi,`PieDataLabel`)){let o=e.prototype;o.dataLabelPositioners=t,o.alignDataLabel=Ti,o.drawDataLabels=r,o.getDataLabelPosition=n,o.placeDataLabels=i,o.verifyDataLabelOverflow=a}}})(E||={});let Oi=E;(d=D||={}).getCenterOfPoints=function(e){let t=e.reduce((e,t)=>(e.x+=t.x,e.y+=t.y,e),{x:0,y:0});return{x:t.x/e.length,y:t.y/e.length}},d.getDistanceBetweenPoints=function(e,t){return Math.sqrt((t.x-e.x)**2+(t.y-e.y)**2)},d.getAngleBetweenPoints=function(e,t){return Math.atan2(t.x-e.x,t.y-e.y)},d.pointInPolygon=function({x:e,y:t},n){let r=n.length,i,a,o=!1;for(i=0,a=r-1;i<r;a=i++){let[r,s]=n[i],[c,l]=n[a];s>t!=l>t&&e<(c-r)*(t-s)/(l-s)+r&&(o=!o)}return o};let{pointInPolygon:ki}=D;function Ai(e,t){let n,r=!1;return e&&(n=e.newOpacity,e.oldOpacity!==n&&(e.hasClass(`highcharts-data-label`)?(e[n?`removeClass`:`addClass`](`highcharts-data-label-hidden`),r=!0,e[e.isOld||e.placed?`animate`:`attr`]({opacity:n},void 0,function(){t.styledMode||e.css({pointerEvents:n?`auto`:`none`})}),B(t,`afterHideOverlappingLabel`)):e.attr({opacity:n})),e.isOld=!0),r}let{defaultOptions:ji}=We,{noop:Mi}=j,Ni={radius:0,scope:`stack`,where:void 0},Pi=Mi,Fi=Mi;function Ii(e,t,n,r,i={}){let a=Pi(e,t,n,r,i),{brStart:o=!0,brEnd:s=!0,innerR:c=0,r:l=n,start:u=0,end:d=0}=i;if(i.open||!i.borderRadius)return a;let f=d-u,p=Math.sin(f/2),m=Math.max(Math.min(Te(i.borderRadius||0,l-c),(l-c)/2,l*p/(1+p)),0),h=Math.min(m,f/Math.PI*2*c),g=a.length-1;for(;g--;)(o||g!==0&&g!==3)&&(s||g!==1&&g!==2)&&function(e,t,n){let r,i,a,o=e[t],s=e[t+1];if(s[0]===`Z`&&(s=e[0]),(o[0]===`M`||o[0]===`L`)&&s[0]===`A`?(r=o,i=s,a=!0):o[0]===`A`&&(s[0]===`M`||s[0]===`L`)&&(r=s,i=o),r&&i&&i.params){let o=i[1],s=i[5],c=i.params,{start:l,end:u,cx:d,cy:f}=c,p=s?o-n:o+n,m=p?Math.asin(n/p):0,h=s?m:-m,g=Math.cos(m)*p;a?(c.start=l+h,r[1]=d+g*Math.cos(l),r[2]=f+g*Math.sin(l),e.splice(t+1,0,[`A`,n,n,0,0,1,d+o*Math.cos(c.start),f+o*Math.sin(c.start)])):(c.end=u-h,i[6]=d+o*Math.cos(c.end),i[7]=f+o*Math.sin(c.end),e.splice(t+1,0,[`A`,n,n,0,0,1,d+g*Math.cos(u),f+g*Math.sin(u)])),i[4]=Math.abs(c.end-c.start)<Math.PI?0:1}}(a,g,g>1?h:m);return a}function Li(){if(this.options.borderRadius&&!(this.chart.is3d&&this.chart.is3d())){let{options:e,yAxis:t}=this,n=e.stacking===`percent`,r=ji.plotOptions?.[this.type]?.borderRadius,i=Ri(e.borderRadius,W(r)?r:{}),a=t.options.reversed;for(let r of this.points){let{shapeArgs:o}=r;if(r.shapeType===`roundedRect`&&o){let{width:s=0,height:c=0,y:l=0}=o,u=l,d=c;if(i.scope===`stack`&&r.stackTotal){let i=t.translate(n?100:r.stackTotal,!1,!0,!1,!0),a=t.translate(e.threshold||0,!1,!0,!1,!0),o=this.crispCol(0,Math.min(i,a),0,Math.abs(i-a));u=o.y,d=o.height}let f=(r.negative?-1:1)*(a?-1:1)==-1,p=i.where;!p&&this.is(`waterfall`)&&Math.abs((r.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(p=`all`),p||=`end`;let m=Math.min(Te(i.radius,s),s/2,p===`all`?d/2:1/0)||0;p===`end`&&(f&&(u-=m),d+=m),z(o,{brBoxHeight:d,brBoxY:u,r:m})}}}}function Ri(e,t){return W(e)||(e={radius:e||0}),G(Ni,t,e)}function zi(){let e=Ri(this.options.borderRadius);for(let t of this.points){let n=t.shapeArgs;n&&(n.borderRadius=Te(e.radius,(n.r||0)-(n.innerR||0)))}}function Bi(e,t,n,r,i={}){let a=Fi(e,t,n,r,i),{r:o=0,brBoxHeight:s=r,brBoxY:c=t}=i,l=t-c,u=c+s-(t+r),d=l-o>-.1?0:o,f=u-o>-.1?0:o,p=Math.max(d&&l,0),m=Math.max(f&&u,0),h=[e+d,t],g=[e+n-d,t],_=[e+n,t+d],v=[e+n,t+r-f],y=[e+n-f,t+r],b=[e+f,t+r],x=[e,t+r-f],S=[e,t+d],C=(e,t)=>Math.sqrt(e**2-t**2);if(p){let e=C(d,d-p);h[0]-=e,g[0]+=e,_[1]=S[1]=t+d-p}if(r<d-p){let i=C(d,d-p-r);_[0]=v[0]=e+n-d+i,y[0]=Math.min(_[0],y[0]),b[0]=Math.max(v[0],b[0]),x[0]=S[0]=e+d-i,_[1]=S[1]=t+r}if(m){let e=C(f,f-m);y[0]+=e,b[0]-=e,v[1]=x[1]=t+r-f+m}if(r<f-m){let i=C(f,f-m-r);_[0]=v[0]=e+n-f+i,g[0]=Math.min(_[0],g[0]),h[0]=Math.max(v[0],h[0]),x[0]=S[0]=e+f-i,v[1]=x[1]=t}return a.length=0,a.push([`M`,...h],[`L`,...g],[`A`,d,d,0,0,1,..._],[`L`,...v],[`A`,f,f,0,0,1,...y],[`L`,...b],[`A`,f,f,0,0,1,...x],[`L`,...S],[`A`,d,d,0,0,1,...h],[`Z`]),a}function Vi(e,t){let n=e.condition;(n.callback||function(){return this.chartWidth<=q(n.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=q(n.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=q(n.minWidth,0)&&this.chartHeight>=q(n.minHeight,0)}).call(this,this)&&t.push(e._id)}function Hi(e,t){let n=this.options.responsive,r=this.currentResponsive,i=[],a;!t&&n&&n.rules&&n.rules.forEach(e=>{e._id===void 0&&(e._id=Fe()),this.matchResponsiveRule(e,i)},this);let o=G(...i.map(e=>ge(n?.rules||[],t=>t._id===e)).map(e=>e?.chartOptions));o.isResponsiveOptions=!0,i=i.toString()||void 0;let s=r?.ruleIds;i!==s&&(r&&(this.currentResponsive=void 0,this.updatingResponsive=!0,this.update(r.undoOptions,e,!0),this.updatingResponsive=!1),i?((a=ce(o,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:i,mergedOptions:o,undoOptions:a},this.updatingResponsive||this.update(o,e,!0)):this.currentResponsive=void 0)}(O||={}).compose=function(e){let t=e.prototype;return t.matchResponsiveRule||z(t,{matchResponsiveRule:Vi,setResponsive:Hi}),e};let Ui=O;j.AST=Q,j.Axis=mn,j.Chart=Tr,j.Color=Z,j.DataLabel=ci,j.DataTable=Hn,j.DataTableCore=Hn,j.Fx=Xe,j.HTMLElement=$t,j.Legend=pr,j.LegendSymbol=Gn,j.PlotLineOrBand=vn,j.Point=Nn,j.Pointer=zn,j.Series=ir,j.SeriesRegistry=$,j.StackItem=Nr,j.SVGElement=wt,j.SVGRenderer=Xt,j.Templating=ft,j.Tick=an,j.Time=Be,j.Tooltip=On,j.addEvent=M,j.animObject=$e.animObject,j.animate=$e.animate,j.arrayMax=re,j.arrayMin=N,j.attr=P,j.chart=Tr.chart,j.clamp=F,j.color=Z.parse,j.correctFloat=I,j.createElement=ie,j.css=L,j.crisp=ae,j.dateFormat=ft.dateFormat,j.defaultOptions=We.defaultOptions,j.defined=R,j.destroyObjectProperties=oe,j.diffObjects=ce,j.discardElement=se,j.distribute=pt.distribute,j.erase=le,j.error=Y,j.extend=z,j.extendClass=ue,j.find=ge,j.fireEvent=B,j.format=ft.format,j.getAlignFactor=de,j.getClosestDistance=fe,j.getDeferredAnimation=$e.getDeferredAnimation,j.getMagnitude=pe,j.getNestedProperty=me,j.getOptions=We.getOptions,j.getStyle=he,j.insertItem=Pe,j.isArray=U,j.isClass=ye,j.isDOMElement=ve,j.isFunction=be,j.isNumber=V,j.isObject=W,j.isString=H,j.internalClearTimeout=_e,j.merge=G,j.normalizeTickInterval=xe,j.numberFormat=ft.numberFormat,j.objectEach=K,j.offset=Se,j.pad=Ce,j.pick=q,j.pushUnique=we,j.pInt=J,j.relativeLength=Te,j.removeEvent=De,j.replaceNested=Ee,j.seriesType=$.seriesType,j.setAnimation=$e.setAnimation,j.setOptions=We.setOptions,j.splat=Oe,j.stableSort=ke,j.stop=$e.stop,j.syncTimeout=Ae,j.time=We.defaultTime,j.ucfirst=je,j.timers=Xe.timers,j.timeUnits=X,j.uniqueKey=Fe,j.useSerialIds=function(t){return e=q(t,e)},j.wrap=function(e,t,n){let r=e[t];e[t]=function(){let e=arguments,t=this;return n.apply(this,[function(){return r.apply(t,arguments.length?arguments:e)}].concat([].slice.call(arguments)))}},function(e,t,n){let r=e.types.pie;if(!t.symbolCustomAttribs.includes(`borderRadius`)){let i=n.prototype.symbols;M(e,`afterColumnTranslate`,Li,{order:9}),M(r,`afterTranslate`,zi),t.symbolCustomAttribs.push(`borderRadius`,`brBoxHeight`,`brBoxY`,`brEnd`,`brStart`),Pi=i.arc,Fi=i.roundedRect,i.arc=Ii,i.roundedRect=Bi}}(j.Series,j.SVGElement,j.SVGRenderer),fi.compose(j.Series.types.column),ci.compose(j.Series),hn.compose(j.Axis),$t.compose(j.SVGRenderer),pr.compose(j.Chart),gn.compose(j.Axis),(i=(f=j.Chart).prototype).hideOverlappingLabels||(i.hideOverlappingLabels=function(e){let t=e.length,n=(e,t)=>!(t.x>=e.x+e.width||t.x+t.width<=e.x||t.y>=e.y+e.height||t.y+t.height<=e.y),r=(e,t)=>{for(let n of e)if(ki({x:n[0],y:n[1]},t))return!0;return!1},i,a,o,s,c,l=!1;for(let n=0;n<t;n++)(i=e[n])&&(i.oldOpacity=i.opacity,i.newOpacity=1,i.absoluteBox=function(e){if(e&&(!e.alignAttr||e.placed)){let t=e.box?0:e.padding||0,n=e.dataLabelPosition?.posAttribs||e.alignAttr||{x:e.attr(`x`),y:e.attr(`y`)},{height:r,polygon:i,width:a}=e.getBBox(),o=de(e.alignValue)*a;return e.width=a,e.height=r,{x:n.x+(e.parentGroup?.translateX||0)+t-o,y:n.y+(e.parentGroup?.translateY||0)+t,width:a-2*t,height:r-2*t,polygon:i}}}(i));e.sort((e,t)=>(t?.labelrank||0)-(e?.labelrank||0));for(let i=0;i<t;++i){s=(a=e[i])&&a.absoluteBox;let l=s?.polygon;for(let u=i+1;u<t;++u){c=(o=e[u])&&o.absoluteBox;let t=!1;if(s&&c&&a!==o&&a?.newOpacity!==0&&o?.newOpacity!==0&&a?.visibility!==`hidden`&&o?.visibility!==`hidden`){let e=c.polygon;if(l&&e&&l!==e?r(l,e)&&(t=!0):n(s,c)&&(t=!0),t){let e=a?.labelrank<o?.labelrank?a:o,t=e?.text;e&&(e.newOpacity=0),t?.element.querySelector(`textPath`)&&t.hide()}}}}for(let t of e)t&&Ai(t,this)&&(l=!0);l&&B(this,`afterHideAllOverlappingLabels`)},M(f,`render`,function(){let e=this,t=[];for(let n of e.labelCollectors||[])t=t.concat(n());for(let n of e.yAxis||[])n.stacking&&n.options.stackLabels&&!n.options.stackLabels.allowOverlap&&K(n.stacking.stacks,e=>{K(e,e=>{e.label&&t.push(e.label)})});for(let n of e.series||[])if(n.visible&&n.hasDataLabels?.()){let r=r=>{for(let i of r)i.visible&&(i.dataLabels||[]).forEach(r=>{let a=r.options||{};r.labelrank=q(a.labelrank,i.labelrank,i.shapeArgs?.height),a.allowOverlap??(n.is(`pie`)&&Number(a.distance)>0)?(r.oldOpacity=r.opacity,r.newOpacity=1,Ai(r,e)):t.push(r)})};r(n.nodes||[]),r(n.points)}this.hideOverlappingLabels(t)})),Oi.compose(j.Series.types.pie),vn.compose(j.Chart,j.Axis),zn.compose(j.Chart),Ui.compose(j.Chart),Ar.compose(j.Axis,j.Chart,j.Series),Gr.compose(j.Axis,j.Chart,j.Series),On.compose(j.Pointer);let Wi=j;return A.default})())})),ge=l(((e,t)=>{(function(n,r){typeof e==`object`&&typeof t==`object`?t.exports=r(he(),O()):typeof define==`function`&&define.amd?define([`highcharts`,`vue`],r):typeof e==`object`?e.HighchartsVue=r(he(),O()):n.HighchartsVue=r(n.Highcharts,n.Vue)})(self,((e,t)=>(()=>{var n={879:t=>{t.exports=e},744:e=>{e.exports=t}},r={};function i(e){var t=r[e];if(t!==void 0)return t.exports;var a=r[e]={exports:{}};return n[e](a,a.exports,i),a.exports}i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},i.d=(e,t)=>{for(var n in t)i.o(t,n)&&!i.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),i.r=e=>{typeof Symbol<`u`&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:`Module`}),Object.defineProperty(e,"__esModule",{value:!0})};var a={};return(()=>{i.r(a),i.d(a,{Chart:()=>l,default:()=>u});var e=i(879),t=i.n(e),n=function e(n,r){var i=t().isArray(n)?[]:{};function a(n,a){!t().isObject(n,!r)||t().isClass(n)||t().isDOMElement(n)?i[a]=n:i[a]=e(n,r)}return t().isArray(n)?n.forEach((function(e,t){return a(e,t)})):t().objectEach(n,a),i},r=i(744);function o(e){return function(e){if(Array.isArray(e))return s(e)}(e)||function(e){if(typeof Symbol<`u`&&e[Symbol.iterator]!=null||e[`@@iterator`]!=null)return Array.from(e)}(e)||function(e,t){if(e){if(typeof e==`string`)return s(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`)return Array.from(e);if(n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return s(e,t)}}(e)||function(){throw TypeError(`Invalid attempt to spread non-iterable instance.
21
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function s(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}let c=function(e){var t=this;return{render:function(){return(0,r.h)(`div`,{ref:`chart`})},beforeUnmount:function(){var e;return t==null||(e=t.chart)==null?void 0:e.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(e){var t;(t=this.chart).update.apply(t,[n(e,this.deepCopyOnUpdate)].concat(o(this.updateArgs)))},deep:!0}},mounted:function(){var t=this.highcharts||e;t[this.constructorType]?this.options?this.chart=t[this.constructorType](this.$refs.chart,n(this.options,!0),this.callback?this.callback:null):console.error(`The "options" parameter was not passed.`):console.error(`'${this.constructorType}' constructor-type is incorrect. Sometimes this error is caused by the fact, that the corresponding module wasn't imported.`)}}};var l=c(t());function u(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};e.component(n.tagName||`highcharts`,c(n.highcharts||t()))}})(),a})()))}));t(),u(),w();var _e={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`},ye={class:`font-semibold text-gray-900 dark:text-white`},V={class:`font-semibold text-gray-900 dark:text-white`},H={class:`inline-flex items-stretch font-mono -space-x-px`},U={key:0},be=[`onClick`],W={"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`},G=[`onClick`],xe={key:1},K=`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`,Se=T({__name:`TablePagination`,props:{pagination:null},emits:[`update:pagination`],setup(e,{emit:t}){let r=e,i=t,o=y({get(){return r.pagination},set(e){i(`update:pagination`,e)}});return(e,t)=>(n(),C(`nav`,_e,[g(`span`,ve,[t[4]||=E(` Showing `,-1),g(`span`,ye,a(S(o).currentLeft)+`-`+a(Math.max(0,S(o).currentRight-1)),1),t[5]||=E(` of `,-1),g(`span`,V,a(S(o).totalSize),1)]),g(`ul`,H,[g(`li`,null,[g(`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:t[0]||=e=>S(o).onPageChange({diff:-1})},[...t[6]||=[g(`span`,{class:`sr-only`},`Previous`,-1),g(`svg`,{class:`h-5 w-5`,"aria-hidden":`true`,fill:`currentColor`,viewbox:`0 0 20 20`,xmlns:`http://www.w3.org/2000/svg`},[g(`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)]])]),S(o).currentPage===0?d(``,!0):(n(),C(`li`,U,[g(`a`,{class:_(K),hover:`cursor-pointer`,onClick:t[1]||=e=>S(o).onPageChange({to:0})},` 1 `)])),(n(!0),C(m,null,D(S(o).leftDecrPage,e=>(n(),C(`li`,{key:e},[g(`a`,{class:_(K),hover:`cursor-pointer`,onClick:t=>S(o).onPageChange({to:e})},a(e+1),9,be)]))),128)),g(`li`,null,[g(`a`,W,a(S(o).currentPage+1),1)]),(n(!0),C(m,null,D(S(o).rightIncrPage,e=>(n(),C(`li`,{key:e},[g(`a`,{hover:`cursor-pointer`,class:_(K),onClick:t=>S(o).onPageChange({to:e})},a(e+1),9,G)]))),128)),S(o).currentPage!==S(o).totalPage-1&&S(o).totalPage>1?(n(),C(`li`,xe,[g(`a`,{hover:`cursor-pointer`,class:_(K),onClick:t[2]||=e=>S(o).onPageChange({to:S(o).totalPage-1})},a(S(o).totalPage),1)])):d(``,!0),g(`li`,null,[g(`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:t[3]||=e=>S(o).onPageChange({diff:1})},[...t[7]||=[g(`span`,{class:`sr-only`},`Next`,-1),g(`svg`,{class:`h-5 w-5`,"aria-hidden":`true`,fill:`currentColor`,viewbox:`0 0 20 20`,xmlns:`http://www.w3.org/2000/svg`},[g(`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)]])])])]))}}),Ce=class{constructor(){this.totalSize=0,this.currentPage=0,this.pageSize=16}get totalPage(){return Math.floor((this.totalSize+this.pageSize-1)/this.pageSize)}get currentLeft(){return this.currentPage*this.pageSize}get currentRight(){return Math.min(this.totalSize,(this.currentPage+1)*this.pageSize)}get leftDecrPage(){let e=[],t=1,n=this.currentPage-t;for(;n>0;)e.push(n),t<<=1,n-=t;return e.reverse()}get rightIncrPage(){let e=[],t=1,n=this.currentPage+t;for(;n+1<this.totalPage;)e.push(n),t<<=1,n+=t;return e}onPageChange(e){let t=this.totalPage,n=this.currentPage;if(e?.to!==void 0&&(n=e.to),e?.diff!==void 0){let t=e.diff;n+=t}n<0||n>=t||(this.currentPage=n)}};export{se as a,me as i,Se as n,M as o,ge as r,j as s,Ce as t};