dealpos 25.48.1 → 25.48.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/browser/{chunk-DZ6FWYAF.js → chunk-2RYEXHZV.js} +1 -1
- package/browser/{chunk-YLLLGS4S.js → chunk-356KM5DR.js} +1 -1
- package/browser/{chunk-4RYYICV5.js → chunk-36NP63VM.js} +2 -2
- package/browser/{chunk-HS44M5L3.js → chunk-3DAJFE6H.js} +1 -1
- package/browser/{chunk-UILJOKEL.js → chunk-3ESMPFFS.js} +1 -1
- package/browser/{chunk-P6LF5RPW.js → chunk-3G264AW4.js} +1 -1
- package/browser/{chunk-HUYWGTVQ.js → chunk-3VQBBLWE.js} +1 -1
- package/browser/{chunk-SVECNUUA.js → chunk-3YHMSAWW.js} +1 -1
- package/browser/{chunk-YU4JSVLL.js → chunk-4ISL77CE.js} +1 -1
- package/browser/{chunk-NDSWUR7R.js → chunk-4NNOZ2BP.js} +1 -1
- package/browser/{chunk-2YJP5PQJ.js → chunk-4VSJH5SL.js} +1 -1
- package/browser/{chunk-GHBBRGW2.js → chunk-5K7KFVM3.js} +1 -1
- package/browser/{chunk-4KLLS7S5.js → chunk-6EJSHQWL.js} +1 -1
- package/browser/{chunk-22Q4GFCS.js → chunk-6ONTAEOO.js} +1 -1
- package/browser/{chunk-3N7EBSCG.js → chunk-6PR53KNR.js} +1 -1
- package/browser/{chunk-N7SUEV3C.js → chunk-6YHYVBRQ.js} +1 -1
- package/browser/{chunk-BWEEC6HM.js → chunk-7HRIPBOK.js} +1 -1
- package/browser/{chunk-DEOVGQZC.js → chunk-7MD5PKPB.js} +2 -2
- package/browser/{chunk-RDAIK2LU.js → chunk-7NEKXENA.js} +1 -1
- package/browser/{chunk-T2IWW7SS.js → chunk-7V3SLYOQ.js} +1 -1
- package/browser/{chunk-KR2YGW5S.js → chunk-7ZUYXNKP.js} +2 -2
- package/browser/{chunk-GTJDUG56.js → chunk-ANPUR4EP.js} +1 -1
- package/browser/{chunk-NETNL55X.js → chunk-BJF3WGIP.js} +1 -1
- package/browser/{chunk-M3CGB5RK.js → chunk-BOLUBS5R.js} +2 -2
- package/browser/{chunk-MP4RQSWT.js → chunk-BYFPLENU.js} +2 -2
- package/browser/{chunk-CDFNRJAQ.js → chunk-CFU6YCXT.js} +1 -1
- package/browser/{chunk-QA67WF7E.js → chunk-CLX7PIH6.js} +1 -1
- package/browser/{chunk-6QBYWFJ4.js → chunk-DHY5NYN2.js} +1 -1
- package/browser/{chunk-7DCWSNUN.js → chunk-DV63TLIP.js} +1 -1
- package/browser/{chunk-62V34GYI.js → chunk-DWNXML7N.js} +1 -1
- package/browser/{chunk-IMSDBLRH.js → chunk-E55DAXRW.js} +1 -1
- package/browser/{chunk-GEMHTJVB.js → chunk-E5IXDLDT.js} +1 -1
- package/browser/{chunk-UAIR26OK.js → chunk-E7AQSX2U.js} +1 -1
- package/browser/{chunk-REBD6XHD.js → chunk-EIHC54J5.js} +1 -1
- package/browser/{chunk-KQYNW4DG.js → chunk-F7KTXCW4.js} +2 -2
- package/browser/{chunk-HVFAKTAO.js → chunk-FO5ZTXDH.js} +1 -1
- package/browser/{chunk-GZ7UUU3F.js → chunk-G4G5P6ZQ.js} +1 -1
- package/browser/{chunk-CZYGX5TM.js → chunk-GCP2MGQL.js} +1 -1
- package/browser/{chunk-T2ECIFZW.js → chunk-HCCADOVL.js} +1 -1
- package/browser/{chunk-HNK3XQEI.js → chunk-I7FZGSZZ.js} +1 -1
- package/browser/{chunk-3VKLSTEH.js → chunk-IVJVUXLS.js} +1 -1
- package/browser/{chunk-M4HEF65P.js → chunk-IVVSNJJ3.js} +1 -1
- package/browser/{chunk-L5KVMIM3.js → chunk-J76F72FK.js} +1 -1
- package/browser/{chunk-O5CTER4C.js → chunk-K6CUAFH7.js} +2 -2
- package/browser/{chunk-W4ZCLNTU.js → chunk-KD24MXAU.js} +1 -1
- package/browser/{chunk-3ALHEPKV.js → chunk-KPHOGUDM.js} +1 -1
- package/browser/{chunk-5U73W2IZ.js → chunk-KRPYY55C.js} +1 -1
- package/browser/{chunk-ETLWM6MW.js → chunk-KZBNUY2K.js} +1 -1
- package/browser/{chunk-A4TTSCQT.js → chunk-LELZTT7A.js} +1 -1
- package/browser/{chunk-X2JCAGKP.js → chunk-LLHBXZ6B.js} +1 -1
- package/browser/{chunk-EHJXCRPX.js → chunk-MFLQHYOR.js} +1 -1
- package/browser/{chunk-FY3CQQFL.js → chunk-N3L2CE6S.js} +1 -1
- package/browser/{chunk-IMM4P55U.js → chunk-NJD4GKTM.js} +1 -1
- package/browser/{chunk-4OD3JW2M.js → chunk-NZ4SK6LY.js} +1 -1
- package/browser/{chunk-33ZBZA3U.js → chunk-OTUYSGSK.js} +1 -1
- package/browser/{chunk-LVC4ZU2C.js → chunk-OWGJVIYJ.js} +1 -1
- package/browser/{chunk-S3K63CGI.js → chunk-P7BRWWWC.js} +1 -1
- package/browser/{chunk-QFWPOP7L.js → chunk-R36QPCUA.js} +1 -1
- package/browser/{chunk-ZQGXWDT6.js → chunk-RJMVCGIG.js} +1 -1
- package/browser/{chunk-7T6YO3VY.js → chunk-S7X7547X.js} +1 -1
- package/browser/{chunk-FYMATMVS.js → chunk-SLDKONZE.js} +1 -1
- package/browser/{chunk-THUJIHI7.js → chunk-TARA6KGA.js} +1 -1
- package/browser/{chunk-6F4WKG7M.js → chunk-TON7E347.js} +1 -1
- package/browser/{chunk-CSURZQS6.js → chunk-TT2F5I7H.js} +1 -1
- package/browser/{chunk-37E4SNZ3.js → chunk-U4N5AZIO.js} +1 -1
- package/browser/{chunk-E7ISSVA3.js → chunk-U5LNORQV.js} +1 -1
- package/browser/{chunk-3DZLNGPO.js → chunk-UAQU4IQS.js} +1 -1
- package/browser/{chunk-BXOQMC5N.js → chunk-UCOXEQFM.js} +1 -1
- package/browser/{chunk-HIQKF5X3.js → chunk-UQ5F3YKZ.js} +1 -1
- package/browser/{chunk-P32JEM3L.js → chunk-USMW7JHL.js} +1 -1
- package/browser/{chunk-EX6JLLRB.js → chunk-UZKEO2IO.js} +1 -1
- package/browser/{chunk-A5WQMHVO.js → chunk-VNBCF2XF.js} +1 -1
- package/browser/{chunk-UHVNH2XA.js → chunk-VVYOMXKJ.js} +1 -1
- package/browser/{chunk-PD5SVXID.js → chunk-WBFJWUUR.js} +1 -1
- package/browser/{chunk-D2JKYGM3.js → chunk-WKXWWL55.js} +1 -1
- package/browser/{chunk-W7CJ25G5.js → chunk-WQMNK3UX.js} +1 -1
- package/browser/{chunk-N5SEZOII.js → chunk-WXH4A4T7.js} +1 -1
- package/browser/{chunk-NHWTJY64.js → chunk-X3UFVTIQ.js} +1 -1
- package/browser/{chunk-VAVKHKIO.js → chunk-XSHCTIUH.js} +1 -1
- package/browser/{chunk-327LILIU.js → chunk-YBIA6E5J.js} +1 -1
- package/browser/{chunk-4F6J35GL.js → chunk-YBVDBTTE.js} +1 -1
- package/browser/{chunk-CUU2G2CM.js → chunk-YQOU4WGG.js} +1 -1
- package/browser/{chunk-OU7YY2CV.js → chunk-YV4LSCS5.js} +1 -1
- package/browser/index.html +2 -2
- package/browser/{main-NN7FZ4DK.js → main-BTMX7TBF.js} +2 -2
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{b as un}from"./chunk-GDRHD33K.js";import{a as si}from"./chunk-3GPGJFQV.js";import{c as Ro}from"./chunk-NSNUUKNK.js";import"./chunk-BYXBJQAS.js";import{c as Bo}from"./chunk-
|
|
1
|
+
import{b as un}from"./chunk-GDRHD33K.js";import{a as si}from"./chunk-3GPGJFQV.js";import{c as Ro}from"./chunk-NSNUUKNK.js";import"./chunk-BYXBJQAS.js";import{c as Bo}from"./chunk-MFLQHYOR.js";import"./chunk-QFON23YX.js";import"./chunk-FIUZN6JU.js";import{e as Io,f as _o}from"./chunk-356KM5DR.js";import"./chunk-P7BRWWWC.js";import"./chunk-JEL3OND6.js";import"./chunk-X57HWGVJ.js";import"./chunk-5SFUSWFY.js";import"./chunk-534MIVWD.js";import"./chunk-TGEQUV6Z.js";import"./chunk-IVJVUXLS.js";import{a as Eo,b as Lo}from"./chunk-UQ5F3YKZ.js";import"./chunk-CS6HBROS.js";import"./chunk-JUS6LLVX.js";import"./chunk-BA3BDB5Y.js";import{b as Oo,c as Ao}from"./chunk-C4WJKF7R.js";import{N as ii,O as He}from"./chunk-T25N3EEG.js";import"./chunk-RLQLFW36.js";import"./chunk-EQLHPWVB.js";import"./chunk-A45GTZVV.js";import"./chunk-NWSIPELM.js";import"./chunk-6SGN7MNX.js";import"./chunk-L76WVZW6.js";import"./chunk-2FWFPV5I.js";import"./chunk-O5SLP4JK.js";import{F as Mo,h as Po,o as ko}from"./chunk-RNLSEEMX.js";import"./chunk-U5LNORQV.js";import"./chunk-FO5ZTXDH.js";import{a as rs,d as ei}from"./chunk-USJ6ILEE.js";import"./chunk-BJF3WGIP.js";import{$ as Ti,$b as fe,$d as Ut,Ab as ee,Bb as ie,Bc as j,Bd as Do,Cb as H,Cc as Se,Db as D,Dc as G,Eb as P,Fb as Ct,Ha as ve,Hc as Lt,Ib as bo,Jb as ln,Kb as hn,Lb as Wt,Mb as se,Nb as vo,Ob as de,Pc as ns,Qb as z,Xa as O,Y as Ne,Ya as es,Zd as Gt,_b as bt,aa as Fe,cd as Ht,db as Vt,dc as A,ec as vt,ed as Co,fc as $,fd as So,gc as is,hb as Mt,ic as cn,jc as dn,jd as Te,kc as fn,kd as To,la as mo,lb as xo,md as ti,nb as ft,o as uo,od as zt,pa as go,rd as It,sc as Je,t as Kt,ta as Zt,tc as pt,ua as Qt,uc as at,vb as ht,vc as pn,wc as ss,xb as ct,yb as yo,yd as wo,zb as Ce}from"./chunk-JYZTRN6N.js";import"./chunk-WFMAM73Y.js";import{a as yt,b as Rt}from"./chunk-SNAKHGZS.js";var mn;(function(l){l.SVG_NS="http://www.w3.org/2000/svg",l.product="Highcharts",l.version="12.2.0",l.win=typeof window<"u"?window:{},l.doc=l.win.document,l.svg=!!l.doc?.createElementNS?.(l.SVG_NS,"svg")?.createSVGRect,l.pageLang=l.doc?.documentElement?.closest("[lang]")?.lang,l.userAgent=l.win.navigator?.userAgent||"",l.isChrome=l.win.chrome,l.isFirefox=l.userAgent.indexOf("Firefox")!==-1,l.isMS=/(edge|msie|trident)/i.test(l.userAgent)&&!l.win.opera,l.isSafari=!l.isChrome&&l.userAgent.indexOf("Safari")!==-1,l.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(l.userAgent),l.isWebKit=l.userAgent.indexOf("AppleWebKit")!==-1,l.deg2rad=Math.PI*2/360,l.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],l.noop=function(){},l.supportsPassiveEvents=(function(){let i=!1;if(!l.isMS){let t=Object.defineProperty({},"passive",{get:function(){i=!0}});l.win.addEventListener&&l.win.removeEventListener&&(l.win.addEventListener("testPassive",l.noop,t),l.win.removeEventListener("testPassive",l.noop,t))}return i})(),l.charts=[],l.composed=[],l.dateFormats={},l.seriesTypes={},l.symbolSizes={},l.chartCount=0})(mn||(mn={}));var W=mn;var{charts:Bh,doc:os,win:ze}=W;function Di(l,i,t,e){let s=i?"Highcharts error":"Highcharts warning";l===32&&(l=`${s}: Deprecated member`);let n=bn(l),r=n?`${s} #${l}: www.highcharts.com/errors/${l}/`:l.toString(),o=function(){if(i)throw new Error(r);ze.console&&Di.messages.indexOf(r)===-1&&console.warn(r)};if(typeof e<"u"){let a="";n&&(r+="?"),Xe(e,function(h,c){a+=`
|
|
2
2
|
- ${c}: ${h}`,n&&(r+=encodeURI(c)+"="+encodeURI(h))}),r+=a}jo(W,"displayError",{chart:t,code:l,message:r,params:e},o),Di.messages.push(r)}(function(l){l.messages=[]})(Di||(Di={}));function Rh(l,...i){let t,e=[l,...i],s={},n=function(o,a){return typeof o!="object"&&(o={}),Xe(a,function(h,c){c==="__proto__"||c==="constructor"||(oi(h,!0)&&!No(h)&&!yn(h)?o[c]=n(o[c]||{},h):o[c]=a[c])}),o};l===!0&&(s=e[1],e=Array.prototype.slice.call(e,2));let r=e.length;for(t=0;t<r;t++)s=n(s,e[t]);return s}function Wh(l,i,t){return l>i?l<t?l:t:i}function Nh(l,i=0,t){let e=i%2/2,s=t?-1:1;return(Math.round(l*s-e)+e)*s}function Fh(l,i,t,e){let s={};function n(r,o,a,h){let c=t?o:r;Xe(r,function(f,d){if(!h&&e&&e.indexOf(d)>-1&&o[d]){f=Ho(f),a[d]=[];for(let p=0;p<Math.max(f.length,o[d].length);p++)o[d][p]&&(f[p]===void 0?a[d][p]=o[d][p]:(a[d][p]={},n(f[p],o[d][p],a[d][p],h+1)))}else oi(f,!0)&&!f.nodeType?(a[d]=as(f)?[]:{},n(f,o[d]||{},a[d],h+1),Object.keys(a[d]).length===0&&!(d==="colorAxis"&&h===0)&&delete a[d]):(r[d]!==o[d]||d in r&&!(d in o))&&d!=="__proto__"&&d!=="constructor"&&(a[d]=c[d])})}return n(l,i,s,0),s}function Wo(l,i){return parseInt(l,i||10)}function Pi(l){return typeof l=="string"}function as(l){let i=Object.prototype.toString.call(l);return i==="[object Array]"||i==="[object Array Iterator]"}function oi(l,i){return!!l&&typeof l=="object"&&(!i||!as(l))}function yn(l){return oi(l)&&typeof l.nodeType=="number"}function No(l){let i=l?.constructor;return!!(oi(l,!0)&&!yn(l)&&i?.name&&i.name!=="Object")}function bn(l){return typeof l=="number"&&!isNaN(l)&&l<1/0&&l>-1/0}function Hh(l,i){let t=l.length;for(;t--;)if(l[t]===i){l.splice(t,1);break}}function zh(l,i){let t=l.options.index,e=i.length,s;for(s=l.options.isInternal?e:0;s<e+1;s++)if(!i[s]||bn(t)&&t<ki(i[s].options.index,i[s]._i)||i[s].options.isInternal){i.splice(s,0,l);break}return s}function Xh(l,i){return l.indexOf(i)<0&&!!l.push(i)}function ni(l){return typeof l<"u"&&l!==null}function Fo(l,i,t){let e=Pi(i)&&!ni(t),s,n=(r,o)=>{ni(r)?l.setAttribute(o,r):e?(s=l.getAttribute(o),!s&&o==="class"&&(s=l.getAttribute(o+"Name"))):l.removeAttribute(o)};return Pi(i)?n(t,i):Xe(i,n),s}function Ho(l){return as(l)?l:[l]}function Yh(l,i,t){return i>0?setTimeout(l,i,t):(l.call(0,t),-1)}function jh(l){ni(l)&&clearTimeout(l)}function ri(l,i){let t;l||(l={});for(t in i)l[t]=i[t];return l}function ki(){let l=arguments,i=l.length;for(let t=0;t<i;t++){let e=l[t];if(typeof e<"u"&&e!==null)return e}}function gn(l,i){ri(l.style,i)}function Vh(l,i,t,e,s){let n=os.createElement(l);return i&&ri(n,i),s&&gn(n,{padding:"0",border:"none",margin:"0"}),t&&gn(n,t),e&&e.appendChild(n),n}function Gh(l,i){let t=function(){};return t.prototype=new l,ri(t.prototype,i),t}function Uh(l,i,t){return new Array((i||2)+1-String(l).replace("-","").length).join(t||"0")+l}function $h(l,i,t){return/%$/.test(l)?i*parseFloat(l)/100+(t||0):parseFloat(l)}function qh(l,...i){let t,e;do{t=l;for(e of i)l=l.replace(e[0],e[1])}while(l!==t);return l}function Kh(l,i,t){let e=l[i];l[i]=function(){let s=arguments,n=this;return t.apply(this,[function(){return e.apply(n,arguments.length?arguments:s)}].concat([].slice.call(arguments)))}}function zo(l){return Math.pow(10,Math.floor(Math.log(l)/Math.LN10))}function Zh(l,i,t,e,s){let n,r=l;t=ki(t,zo(l));let o=l/t;for(i||(i=s?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],e===!1&&(t===1?i=i.filter(function(a){return a%1===0}):t<=.1&&(i=[1/t]))),n=0;n<i.length&&(r=i[n],!(s&&r*t>=l||!s&&o<=(i[n]+(i[n+1]||i[n]))/2));n++);return r=Xo(r*t,-Math.round(Math.log(.001)/Math.LN10)),r}function Qh(l,i){let t=l.length,e,s;for(s=0;s<t;s++)l[s].safeI=s;for(l.sort(function(n,r){return e=i(n,r),e===0?n.safeI-r.safeI:e}),s=0;s<t;s++)delete l[s].safeI}function Jh(l){let i=l.length,t=l[0];for(;i--;)l[i]<t&&(t=l[i]);return t}function tc(l){let i=l.length,t=l[0];for(;i--;)l[i]>t&&(t=l[i]);return t}function ec(l,i,t){Xe(l,function(e,s){e!==i&&e?.destroy&&e.destroy(),(e?.destroy||!t)&&delete l[s]})}function ic(l){l?.parentElement?.removeChild(l)}function Xo(l,i){return l>1e14?l:parseFloat(l.toPrecision(i||14))}var sc={millisecond:1,second:1e3,minute:6e4,hour:36e5,day:24*36e5,week:168*36e5,month:672*36e5,year:364*24*36e5};Math.easeInOutSine=function(l){return-.5*(Math.cos(Math.PI*l)-1)};var nc=(l="")=>({center:.5,right:1,middle:.5,bottom:1})[l]||0;function rc(l,i){let t=!i,e,s,n,r;return l.forEach(o=>{if(o.length>1)for(s=o.length-1,r=s;r>0;r--)n=o[r]-o[r-1],n<0&&!t?(i?.(),i=void 0):n&&(typeof e>"u"||n<e)&&(e=n)}),e}function oc(l,i){let t=l.split(".");for(;t.length&&ni(i);){let e=t.shift();if(typeof e>"u"||e==="__proto__")return;if(e==="this"){let n;return oi(i)&&(n=i["@this"]),n??i}let s=i[e.replace(/[\\'"]/g,"")];if(!ni(s)||typeof s=="function"||typeof s.nodeType=="number"||s===ze)return;i=s}return i}function wi(l,i,t){let e;if(i==="width"){let n=Math.min(l.offsetWidth,l.scrollWidth),r=l.getBoundingClientRect?.().width;return r<n&&r>=n-1&&(n=Math.floor(r)),Math.max(0,n-(wi(l,"padding-left",!0)||0)-(wi(l,"padding-right",!0)||0))}if(i==="height")return Math.max(0,Math.min(l.offsetHeight,l.scrollHeight)-(wi(l,"padding-top",!0)||0)-(wi(l,"padding-bottom",!0)||0));let s=ze.getComputedStyle(l,void 0);return s&&(e=s.getPropertyValue(i),ki(t,i!=="opacity")&&(e=Wo(e))),e}var ac=Array.prototype.find?function(l,i){return l.find(i)}:function(l,i){let t,e=l.length;for(t=0;t<e;t++)if(i(l[t],t))return l[t]};function lc(l){let i=os.documentElement,t=l.parentElement||l.parentNode?l.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:t.top+(ze.pageYOffset||i.scrollTop)-(i.clientTop||0),left:t.left+(ze.pageXOffset||i.scrollLeft)-(i.clientLeft||0),width:t.width,height:t.height}}function Xe(l,i,t){for(let e in l)Object.hasOwnProperty.call(l,e)&&i.call(t||l[e],l[e],e,l)}function hc(l,i,t,e={}){let s=typeof l=="function"&&l.prototype||l;Object.hasOwnProperty.call(s,"hcEvents")||(s.hcEvents={});let n=s.hcEvents;W.Point&&l instanceof W.Point&&l.series&&l.series.chart&&(l.series.chart.runTrackerClick=!0);let r=l.addEventListener;r&&r.call(l,i,t,W.supportsPassiveEvents?{passive:e.passive===void 0?i.indexOf("touch")!==-1:e.passive,capture:!1}:!1),n[i]||(n[i]=[]);let o={fn:t,order:typeof e.order=="number"?e.order:1/0};return n[i].push(o),n[i].sort((a,h)=>a.order-h.order),function(){Yo(l,i,t)}}function Yo(l,i,t){function e(r,o){let a=l.removeEventListener;a&&a.call(l,r,o,!1)}function s(r){let o,a;l.nodeName&&(i?(o={},o[i]=!0):o=r,Xe(o,function(h,c){if(r[c])for(a=r[c].length;a--;)e(c,r[c][a].fn)}))}let n=typeof l=="function"&&l.prototype||l;if(Object.hasOwnProperty.call(n,"hcEvents")){let r=n.hcEvents;if(i){let o=r[i]||[];t?(r[i]=o.filter(function(a){return t!==a.fn}),e(i,t)):(s(r),r[i]=[])}else s(r),delete n.hcEvents}}function jo(l,i,t,e){if(t=t||{},os?.createEvent&&(l.dispatchEvent||l.fireEvent&&l!==W)){let s=os.createEvent("Events");s.initEvent(i,!0,!0),t=ri(s,t),l.dispatchEvent?l.dispatchEvent(t):l.fireEvent(i,t)}else if(l.hcEvents){t.target||ri(t,{preventDefault:function(){t.defaultPrevented=!0},target:l,type:i});let s=[],n=l,r=!1;for(;n.hcEvents;)Object.hasOwnProperty.call(n,"hcEvents")&&n.hcEvents[i]&&(s.length&&(r=!0),s.unshift.apply(s,n.hcEvents[i])),n=Object.getPrototypeOf(n);r&&s.sort((o,a)=>o.order-a.order),s.forEach(o=>{o.fn.call(l,t)===!1&&t.preventDefault()})}e&&!t.defaultPrevented&&e.call(l,t)}var xn,cc=(function(){let l=Math.random().toString(36).substring(2,9)+"-",i=0;return function(){return"highcharts-"+(xn?"":l)+i++}})();function dc(l){return xn=ki(l,xn)}function fc(l){return typeof l=="function"}function pc(l){return Pi(l)?l.substring(0,1).toUpperCase()+l.substring(1):String(l)}ze.jQuery&&(ze.jQuery.fn.highcharts=function(){let l=[].slice.call(arguments);if(this[0])return l[0]?(new W[Pi(l[0])?l.shift():"Chart"](this[0],l[0],l[1]),this):Bh[Fo(this[0],"data-highcharts-chart")]});var uc={addEvent:hc,arrayMax:tc,arrayMin:Jh,attr:Fo,clamp:Wh,clearTimeout:jh,correctFloat:Xo,createElement:Vh,crisp:Nh,css:gn,defined:ni,destroyObjectProperties:ec,diffObjects:Fh,discardElement:ic,erase:Hh,error:Di,extend:ri,extendClass:Gh,find:ac,fireEvent:jo,getAlignFactor:nc,getClosestDistance:rc,getMagnitude:zo,getNestedProperty:oc,getStyle:wi,insertItem:zh,isArray:as,isClass:No,isDOMElement:yn,isFunction:fc,isNumber:bn,isObject:oi,isString:Pi,merge:Rh,normalizeTickInterval:Zh,objectEach:Xe,offset:lc,pad:Uh,pick:ki,pInt:Wo,pushUnique:Xh,relativeLength:$h,removeEvent:Yo,replaceNested:qh,splat:Ho,stableSort:Qh,syncTimeout:Yh,timeUnits:sc,ucfirst:pc,uniqueKey:cc,useSerialIds:dc,wrap:Kh},L=uc;var mc={alignThresholds:!1,panning:{enabled:!1,type:"x"},styledMode:!1,borderRadius:0,colorCount:10,allowMutatingData:!0,ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{},position:{}},reflow:!0,type:"line",zooming:{singleTouch:!1,resetButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}}},width:null,height:null,borderColor:"#334eff",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"},Vo=mc;var gc={colors:["#2caffe","#544fc5","#00e272","#fe6a35","#6b8abc","#d568fb","#2ee0ca","#fa4b42","#feb56a","#91e8e1"]},Go=gc;var{pageLang:xc,win:ls}=W,{defined:Uo,error:$o,extend:vn,isNumber:qo,isObject:Cn,isString:Mi,merge:yc,objectEach:bc,pad:we,splat:vc,timeUnits:Sn,ucfirst:Cc}=L,Sc=W.isSafari&&ls.Intl&&!ls.Intl.DateTimeFormat.prototype.formatRange,Tc=l=>l.main===void 0,Tn=class{constructor(i,t){this.options={timezone:"UTC"},this.variableTimezone=!1,this.Date=ls.Date,this.update(i),this.lang=t}update(i={}){this.dTLCache={},this.options=i=yc(!0,this.options,i);let{timezoneOffset:t,useUTC:e}=i;this.Date=i.Date||ls.Date||Date;let s=i.timezone;Uo(e)&&(s=e?"UTC":void 0),t&&t%60===0&&(s="Etc/GMT"+(t>0?"+":"")+t/60),this.variableTimezone=s!=="UTC"&&s?.indexOf("Etc/GMT")!==0,this.timezone=s,["months","shortMonths","weekdays","shortWeekdays"].forEach(n=>{let r=/months/i.test(n),o=/short/.test(n),a={timeZone:"UTC"};a[r?"month":"weekday"]=o?"short":"long",this[n]=(r?[0,1,2,3,4,5,6,7,8,9,10,11]:[3,4,5,6,7,8,9]).map(h=>this.dateFormat(a,(r?31:1)*24*36e5*h))})}toParts(i){let[t,e,s,n,r,o,a]=this.dateTimeFormat({weekday:"narrow",day:"numeric",month:"numeric",year:"numeric",hour:"numeric",minute:"numeric",second:"numeric"},i,"es").split(/(?:, | |\/|:)/g);return[n,+s-1,e,r,o,a,Math.floor(Number(i)||0)%1e3,"DLMXJVS".indexOf(t)].map(Number)}dateTimeFormat(i,t,e=this.options.locale||xc){let s=JSON.stringify(i)+e;Mi(i)&&(i=this.str2dtf(i));let n=this.dTLCache[s];if(!n){i.timeZone??(i.timeZone=this.timezone);try{n=new Intl.DateTimeFormat(e,i)}catch(r){/Invalid time zone/i.test(r.message)?($o(34),i.timeZone="UTC",n=new Intl.DateTimeFormat(e,i)):$o(r.message,!1)}}return this.dTLCache[s]=n,n?.format(t)||""}str2dtf(i,t={}){let e={L:{fractionalSecondDigits:3},S:{second:"2-digit"},M:{minute:"numeric"},H:{hour:"2-digit"},k:{hour:"numeric"},E:{weekday:"narrow"},a:{weekday:"short"},A:{weekday:"long"},d:{day:"2-digit"},e:{day:"numeric"},b:{month:"short"},B:{month:"long"},m:{month:"2-digit"},o:{month:"numeric"},y:{year:"2-digit"},Y:{year:"numeric"}};return Object.keys(e).forEach(s=>{i.indexOf(s)!==-1&&vn(t,e[s])}),t}makeTime(i,t,e=1,s=0,n,r,o){let a=this.Date.UTC(i,t,e,s,n||0,r||0,o||0);if(this.timezone!=="UTC"){let h=this.getTimezoneOffset(a);if(a+=h,[2,3,8,9,10,11].indexOf(t)!==-1&&(s<5||s>20)){let c=this.getTimezoneOffset(a);h!==c?a+=c-h:h-36e5===this.getTimezoneOffset(a-36e5)&&!Sc&&(a-=36e5)}}return a}parse(i){if(!Mi(i))return i??void 0;i=i.replace(/\//g,"-").replace(/(GMT|UTC)/,"");let t=i.indexOf("Z")>-1||/([+-][0-9]{2}):?[0-9]{2}$/.test(i),e=/^[0-9]{4}-[0-9]{2}(-[0-9]{2}|)$/.test(i);!t&&!e&&(i+="Z");let s=Date.parse(i);if(qo(s))return s+(!t||e?this.getTimezoneOffset(s):0)}getTimezoneOffset(i){if(this.timezone!=="UTC"){let[t,e,s,n,r=0]=this.dateTimeFormat({timeZoneName:"shortOffset"},i,"en").split(/(GMT|:)/).map(Number),o=-(s+r/60)*60*6e4;if(qo(o))return o}return 0}dateFormat(i,t,e){let s=this.lang;if(!Uo(t)||isNaN(t))return s?.invalidDate||"";if(i=i??"%Y-%m-%d %H:%M:%S",Mi(i)){let n=/%\[([a-zA-Z]+)\]/g,r;for(;r=n.exec(i);)i=i.replace(r[0],this.dateTimeFormat(r[1],t,s?.locale))}if(Mi(i)&&i.indexOf("%")!==-1){let n=this,[r,o,a,h,c,f,d,p]=this.toParts(t),m=s?.weekdays||this.weekdays,u=s?.shortWeekdays||this.shortWeekdays,g=s?.months||this.months,x=s?.shortMonths||this.shortMonths,y=vn({a:u?u[p]:m[p].substr(0,3),A:m[p],d:we(a),e:we(a,2," "),w:p,v:s?.weekFrom??"",b:x[o],B:g[o],m:we(o+1),o:o+1,y:r.toString().substr(2,2),Y:r,H:we(h),k:h,I:we(h%12||12),l:h%12||12,M:we(c),p:h<12?"AM":"PM",P:h<12?"am":"pm",S:we(f),L:we(d,3)},W.dateFormats);bc(y,function(b,v){if(Mi(i))for(;i.indexOf("%"+v)!==-1;)i=i.replace("%"+v,typeof b=="function"?b.call(n,t):b)})}else if(Cn(i)){let n=(this.getTimezoneOffset(t)||0)/36e5,r=this.timezone||"Etc/GMT"+(n>=0?"+":"")+n,{prefix:o="",suffix:a=""}=i;i=o+this.dateTimeFormat(vn({timeZone:r},i),t)+a}return e?Cc(i):i}resolveDTLFormat(i){return Cn(i,!0)?Cn(i,!0)&&Tc(i)?{main:i}:i:(i=vc(i),{main:i[0],from:i[1],to:i[2]})}getDateFormat(i,t,e,s){let n=this.dateFormat("%m-%d %H:%M:%S.%L",t),r="01-01 00:00:00.000",o={millisecond:15,second:12,minute:9,hour:6,day:3},a="millisecond",h=a;for(a in Sn){if(i&&i===Sn.week&&+this.dateFormat("%w",t)===e&&n.substr(6)===r.substr(6)){a="week";break}if(i&&Sn[a]>i){a=h;break}if(o[a]&&n.substr(o[a])!==r.substr(o[a]))break;a!=="week"&&(h=a)}return this.resolveDTLFormat(s[a]).main}},Ko=Tn;var{defined:Zo,extend:wc,timeUnits:St}=L,wn=class extends Ko{getTimeTicks(i,t,e,s){let n=this,r=[],o={},{count:a=1,unitRange:h}=i,[c,f,d,p,m,u]=n.toParts(t),g=(t||0)%1e3,x;if(s??(s=1),Zo(t)){if(g=h>=St.second?0:a*Math.floor(g/a),h>=St.second&&(u=h>=St.minute?0:a*Math.floor(u/a)),h>=St.minute&&(m=h>=St.hour?0:a*Math.floor(m/a)),h>=St.hour&&(p=h>=St.day?0:a*Math.floor(p/a)),h>=St.day&&(d=h>=St.month?1:Math.max(1,a*Math.floor(d/a))),h>=St.month&&(f=h>=St.year?0:a*Math.floor(f/a)),h>=St.year&&(c-=c%a),h===St.week){a&&(t=n.makeTime(c,f,d,p,m,u,g));let v=this.dateTimeFormat({timeZone:this.timezone,weekday:"narrow"},t,"es"),C="DLMXJVS".indexOf(v);d+=-C+s+(C<s?-7:0)}t=n.makeTime(c,f,d,p,m,u,g),n.variableTimezone&&Zo(e)&&(x=e-t>4*St.month||n.getTimezoneOffset(t)!==n.getTimezoneOffset(e));let y=t,b=1;for(;y<e;)r.push(y),h===St.year?y=n.makeTime(c+b*a,0):h===St.month?y=n.makeTime(c,f+b*a):x&&(h===St.day||h===St.week)?y=n.makeTime(c,f,d+b*a*(h===St.day?1:7)):x&&h===St.hour&&a>1?y=n.makeTime(c,f,d,p+b*a):y+=h*a,b++;r.push(y),h<=St.hour&&r.length<1e4&&r.forEach(v=>{v%18e5===0&&n.dateFormat("%H%M%S%L",v)==="000000000"&&(o[v]="day")})}return r.info=wc(i,{higherRanks:o,totalRange:h*a}),r}},ai=wn;var{isTouchDevice:Dc}=W,{fireEvent:Pc,merge:kc}=L,pe={colors:Go.colors,symbols:["circle","diamond","square","triangle","triangle-down"],lang:{weekFrom:"week from",chartTitle:"Chart title",locale:void 0,loading:"Loading...",months:void 0,seriesName:"Series {add index 1}",shortMonths:void 0,weekdays:void 0,numericSymbols:["k","M","G","T","P","E"],pieSliceName:"Slice",resetZoom:"Reset zoom",yAxisTitle:"Values",resetZoomTitle:"Reset zoom level 1:1"},global:{buttonTheme:{fill:"#f7f7f7",padding:8,r:2,stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},states:{hover:{fill:"#e6e6e6"},select:{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},disabled:{style:{color:"#cccccc"}}}}},time:{Date:void 0,timezone:"UTC",timezoneOffset:0,useUTC:void 0},chart:Vo,title:{style:{color:"#333333",fontWeight:"bold"},text:"Chart title",margin:15,minScale:.67},subtitle:{style:{color:"#666666",fontSize:"0.8em"},text:""},caption:{margin:15,style:{color:"#666666",fontSize:"0.8em"},text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",events:{},layout:"horizontal",itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"#0022ff",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#666666",textDecoration:"line-through"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontSize:"0.8em",fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:{duration:300,easing:l=>Math.sqrt(1-Math.pow(l-1,2))},borderRadius:3,dateTimeLabelFormats:{millisecond:"%[AebHMSL]",second:"%[AebHMS]",minute:"%[AebHM]",hour:"%[AebHM]",day:"%[AebY]",week:"%v %[AebY]",month:"%[BY]",year:"%Y"},footerFormat:"",headerShape:"callout",hideDelay:500,padding:8,position:{x:0,y:3},shared:!1,snap:Dc?25:10,headerFormat:'<span style="font-size: 0.8em">{ucfirst point.key}</span><br/>',pointFormat:'<span style="color:{point.color}">\u25CF</span> {series.name}: <b>{point.y}</b><br/>',backgroundColor:"#ffffff",borderWidth:void 0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"0.8em"},useHTML:!1},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"0.6em"},text:"Highcharts.com"}},Dn=new ai(pe.time,pe.lang);function Mc(){return pe}function Oc(l){return Pc(W,"setOptions",{options:l}),kc(!0,pe,l),l.time&&Dn.update(pe.time),l.lang&&"locale"in l.lang&&Dn.update({locale:l.lang.locale}),l.lang?.chartTitle&&(pe.title=Rt(yt({},pe.title),{text:l.lang.chartTitle})),pe}var Ac={defaultOptions:pe,defaultTime:Dn,getOptions:Mc,setOptions:Oc},Tt=Ac;var{win:Ec}=W,{isNumber:Oi,isString:Lc,merge:Ic,pInt:Nt,defined:Qo}=L,Jo=(l,i,t)=>`color-mix(in srgb,${l},${i} ${t*100}%)`,Pn=l=>Lc(l)&&!!l&&l!=="none",De=class l{static parse(i){return i?new l(i):l.None}constructor(i){this.rgba=[NaN,NaN,NaN,NaN],this.input=i;let t=W.Color;if(t&&t!==l)return new t(i);let e,s,n,r;if(typeof i=="object"&&typeof i.stops<"u")this.stops=i.stops.map(o=>new l(o[1]));else if(typeof i=="string")for(this.input=i=l.names[i.toLowerCase()]||i,n=l.parsers.length;n--&&!s;)r=l.parsers[n],e=r.regex.exec(i),e&&(s=r.parse(e));s&&(this.rgba=s)}get(i){let t=this.input,e=this.rgba;if(this.output)return this.output;if(typeof t=="object"&&typeof this.stops<"u"){let s=Ic(t);return s.stops=[].slice.call(s.stops),this.stops.forEach((n,r)=>{s.stops[r]=[s.stops[r][0],n.get(i)]}),s}return e&&Oi(e[0])?i==="rgb"||!i&&e[3]===1?"rgb("+e[0]+","+e[1]+","+e[2]+")":i==="a"?`${e[3]}`:"rgba("+e.join(",")+")":t}brighten(i){let t=this.rgba;if(this.stops)this.stops.forEach(function(e){e.brighten(i)});else if(Oi(i)&&i!==0)if(Oi(t[0]))for(let e=0;e<3;e++)t[e]+=Nt(i*255),t[e]<0&&(t[e]=0),t[e]>255&&(t[e]=255);else l.useColorMix&&Pn(this.input)&&(this.output=Jo(this.input,i>0?"white":"black",Math.abs(i)));return this}setOpacity(i){return this.rgba[3]=i,this}tweenTo(i,t){let e=this.rgba,s=i.rgba;if(!Oi(e[0])||!Oi(s[0]))return l.useColorMix&&Pn(this.input)&&Pn(i.input)&&t<.99?Jo(this.input,i.input,t):i.input||"none";let n=s[3]!==1||e[3]!==1,r=(a,h)=>a+(e[h]-a)*(1-t),o=s.slice(0,3).map(r).map(Math.round);return n&&o.push(r(s[3],3)),(n?"rgba(":"rgb(")+o.join(",")+")"}};De.names={white:"#ffffff",black:"#000000"};De.parsers=[{regex:/rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d?(?:\.\d+)?)\s*\)/,parse:function(l){return[Nt(l[1]),Nt(l[2]),Nt(l[3]),parseFloat(l[4],10)]}},{regex:/rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)/,parse:function(l){return[Nt(l[1]),Nt(l[2]),Nt(l[3]),1]}},{regex:/^#([a-f0-9])([a-f0-9])([a-f0-9])([a-f0-9])?$/i,parse:function(l){return[Nt(l[1]+l[1],16),Nt(l[2]+l[2],16),Nt(l[3]+l[3],16),Qo(l[4])?Nt(l[4]+l[4],16)/255:1]}},{regex:/^#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})?$/i,parse:function(l){return[Nt(l[1],16),Nt(l[2],16),Nt(l[3],16),Qo(l[4])?Nt(l[4],16)/255:1]}}];De.useColorMix=Ec.CSS?.supports("color","color-mix(in srgb,red,blue 9%)");De.None=new De("");var _t=De;var{parse:ta}=_t,{win:_c}=W,{isNumber:kn,objectEach:Bc}=L,Rc=(()=>{class l{constructor(t,e,s){this.pos=NaN,this.options=e,this.elem=t,this.prop=s}dSetter(){let t=this.paths,e=t?.[0],s=t?.[1],n=this.now||0,r=[];if(n===1||!e||!s)r=this.toD||[];else if(e.length===s.length&&n<1)for(let o=0;o<s.length;o++){let a=e[o],h=s[o],c=[];for(let f=0;f<h.length;f++){let d=a[f],p=h[f];kn(d)&&kn(p)&&!(h[0]==="A"&&(f===4||f===5))?c[f]=d+n*(p-d):c[f]=p}r.push(c)}else r=s;this.elem.attr("d",r,void 0,!0)}update(){let t=this.elem,e=this.prop,s=this.now,n=this.options.step;this[e+"Setter"]?this[e+"Setter"]():t.attr?t.element&&t.attr(e,s,null,!0):t.style[e]=s+this.unit,n&&n.call(t,s,this)}run(t,e,s){let n=this,r=n.options,o=function(c){return o.stopped?!1:n.step(c)},a=_c.requestAnimationFrame||function(c){setTimeout(c,13)},h=function(){for(let c=0;c<l.timers.length;c++)l.timers[c]()||l.timers.splice(c--,1);l.timers.length&&a(h)};t===e&&!this.elem["forceAnimate:"+this.prop]?(delete r.curAnim[this.prop],r.complete&&Object.keys(r.curAnim).length===0&&r.complete.call(this.elem)):(this.startTime=+new Date,this.start=t,this.end=e,this.unit=s,this.now=this.start,this.pos=0,o.elem=this.elem,o.prop=this.prop,o()&&l.timers.push(o)===1&&a(h))}step(t){let e=+new Date,s=this.options,n=this.elem,r=s.complete,o=s.duration,a=s.curAnim,h,c;return n.attr&&!n.element?h=!1:t||e>=o+this.startTime?(this.now=this.end,this.pos=1,this.update(),a[this.prop]=!0,c=!0,Bc(a,function(f){f!==!0&&(c=!1)}),c&&r&&r.call(n),h=!1):(this.pos=s.easing((e-this.startTime)/o),this.now=this.start+(this.end-this.start)*this.pos,this.update(),h=!0),h}initPath(t,e,s){let n=t.startX,r=t.endX,o=s.slice(),a=t.isArea,h=a?2:1,c=e&&s.length>e.length&&s.hasStackedCliffs,f,d,p,m,u=e?.slice();if(!u||c)return[o,o];function g(y,b){for(;y.length<d;){let v=y[0],C=b[d-y.length];if(C&&v[0]==="M"&&(C[0]==="C"?y[0]=["C",v[1],v[2],v[1],v[2],v[1],v[2]]:y[0]=["L",v[1],v[2]]),y.unshift(v),a){let S=y.pop();y.push(y[y.length-1],S)}}}function x(y){for(;y.length<d;){let b=y[Math.floor(y.length/h)-1].slice();if(b[0]==="C"&&(b[1]=b[5],b[2]=b[6]),!a)y.push(b);else{let v=y[Math.floor(y.length/h)].slice();y.splice(y.length/2,0,b,v)}}}if(n&&r&&r.length){for(p=0;p<n.length;p++)if(n[p]===r[0]){f=p;break}else if(n[0]===r[r.length-n.length+p]){f=p,m=!0;break}else if(n[n.length-1]===r[r.length-n.length+p]){f=n.length-p;break}typeof f>"u"&&(u=[])}return u.length&&kn(f)&&(d=o.length+f*h,m?(g(u,o),x(o)):(g(o,u),x(u))),[u,o]}fillSetter(){l.prototype.strokeSetter.apply(this,arguments)}strokeSetter(){this.elem.attr(this.prop,ta(this.start).tweenTo(ta(this.end),this.pos),void 0,!0)}}return l.timers=[],l})(),ue=Rc;var{defined:Wc,getStyle:Nc,isArray:Fc,isNumber:Hc,isObject:On,merge:ea,objectEach:zc,pick:Xc}=L;function Yc(l,i){i.renderer.globalAnimation=Xc(l,i.options.chart.animation,!0)}function Mn(l){return On(l)?ea({duration:500,defer:0},l):{duration:l?500:0,defer:0}}function jc(l,i,t){let e=Mn(i),s=t?[t]:l.series,n=0,r=0;return s.forEach(a=>{let h=Mn(a.options.animation);n=On(i)&&Wc(i.defer)?e.defer:Math.max(n,h.duration+h.defer),r=Math.min(e.duration,h.duration)}),l.renderer.forExport&&(n=0),{defer:Math.max(0,n-r),duration:Math.min(n,r)}}function Vc(l,i,t){let e,s="",n,r,o;On(t)||(o=arguments,t={duration:o[2],easing:o[3],complete:o[4]}),Hc(t.duration)||(t.duration=400),t.easing=typeof t.easing=="function"?t.easing:Math[t.easing]||Math.easeInOutSine,t.curAnim=ea(i),zc(i,function(a,h){ia(l,h),r=new ue(l,t,h),n=void 0,h==="d"&&Fc(i.d)?(r.paths=r.initPath(l,l.pathArray,i.d),r.toD=i.d,e=0,n=1):l.attr?e=l.attr(h):(e=parseFloat(Nc(l,h))||0,h!=="opacity"&&(s="px")),n||(n=a),typeof n=="string"&&n.match("px")&&(n=n.replace(/px/g,"")),r.run(e,n,s)})}function ia(l,i){let t=ue.timers.length;for(;t--;)ue.timers[t].elem===l&&(!i||i===ue.timers[t].prop)&&(ue.timers[t].stopped=!0)}var Gc={animate:Vc,animObject:Mn,getDeferredAnimation:jc,setAnimation:Yc,stop:ia},ot=Gc;var{SVG_NS:sa,win:Uc}=W,{attr:$c,createElement:qc,css:Kc,error:na,isFunction:Zc,isString:ra,objectEach:oa,splat:Qc}=L,{trustedTypes:An}=Uc,hs=An&&Zc(An.createPolicy)&&An.createPolicy("highcharts",{createHTML:l=>l}),Jc=hs?hs.createHTML(""):"",td=(()=>{class l{static filterUserAttributes(t){return oa(t,(e,s)=>{let n=!0;l.allowedAttributes.indexOf(s)===-1&&(n=!1),["background","dynsrc","href","lowsrc","src"].indexOf(s)!==-1&&(n=ra(e)&&l.allowedReferences.some(r=>e.indexOf(r)===0)),n||(na(33,!1,void 0,{"Invalid attribute in config":`${s}`}),delete t[s]),ra(e)&&t[s]&&(t[s]=e.replace(/</g,"<"))}),t}static parseStyle(t){return t.split(";").reduce((e,s)=>{let n=s.split(":").map(o=>o.trim()),r=n.shift();return r&&n.length&&(e[r.replace(/-([a-z])/g,o=>o[1].toUpperCase())]=n.join(":")),e},{})}static setElementHTML(t,e){t.innerHTML=l.emptyHTML,e&&new l(e).addToDOM(t)}constructor(t){this.nodes=typeof t=="string"?this.parseMarkup(t):t}addToDOM(t){function e(s,n){let r;return Qc(s).forEach(function(o){let a=o.tagName,h=o.textContent?W.doc.createTextNode(o.textContent):void 0,c=l.bypassHTMLFiltering,f;if(a)if(a==="#text")f=h;else if(l.allowedTags.indexOf(a)!==-1||c){let d=a==="svg"?sa:n.namespaceURI||sa,p=W.doc.createElementNS(d,a),m=o.attributes||{};oa(o,function(u,g){g!=="tagName"&&g!=="attributes"&&g!=="children"&&g!=="style"&&g!=="textContent"&&(m[g]=u)}),$c(p,c?m:l.filterUserAttributes(m)),o.style&&Kc(p,o.style),h&&p.appendChild(h),e(o.children||[],p),f=p}else na(33,!1,void 0,{"Invalid tagName in config":a});f&&n.appendChild(f),r=f}),r}return e(this.nodes,t)}parseMarkup(t){let e=[];t=t.trim().replace(/ style=(["'])/g," data-style=$1");let s;try{s=new DOMParser().parseFromString(hs?hs.createHTML(t):t,"text/html")}catch{}if(!s){let r=qc("div");r.innerHTML=t,s={body:r}}let n=(r,o)=>{let a=r.nodeName.toLowerCase(),h={tagName:a};a==="#text"&&(h.textContent=r.textContent||"");let c=r.attributes;if(c){let f={};[].forEach.call(c,d=>{d.name==="data-style"?h.style=l.parseStyle(d.value):f[d.name]=d.value}),h.attributes=f}if(r.childNodes.length){let f=[];[].forEach.call(r.childNodes,d=>{n(d,f)}),f.length&&(h.children=f)}o.push(h)};return[].forEach.call(s.body.childNodes,r=>n(r,e)),e}}return l.allowedAttributes=["alt","aria-controls","aria-describedby","aria-expanded","aria-haspopup","aria-hidden","aria-label","aria-labelledby","aria-live","aria-pressed","aria-readonly","aria-roledescription","aria-selected","class","clip-path","color","colspan","cx","cy","d","dx","dy","disabled","fill","filterUnits","flood-color","flood-opacity","height","href","id","in","in2","markerHeight","markerWidth","offset","opacity","operator","orient","padding","paddingLeft","paddingRight","patternUnits","r","radius","refX","refY","role","scope","slope","src","startOffset","stdDeviation","stroke","stroke-linecap","stroke-width","style","tableValues","result","rowspan","summary","target","tabindex","text-align","text-anchor","textAnchor","textLength","title","type","valign","width","x","x1","x2","xlink:href","y","y1","y2","zIndex"],l.allowedReferences=["https://","http://","mailto:","/","../","./","#"],l.allowedTags=["a","abbr","b","br","button","caption","circle","clipPath","code","dd","defs","div","dl","dt","em","feComponentTransfer","feComposite","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feMorphology","feOffset","feMerge","feMergeNode","filter","h1","h2","h3","h4","h5","h6","hr","i","img","li","linearGradient","marker","ol","p","path","pattern","pre","rect","small","span","stop","strong","style","sub","sup","svg","table","text","textPath","thead","title","tbody","tspan","td","th","tr","u","ul","#text"],l.emptyHTML=Jc,l.bypassHTMLFiltering=!1,l})(),At=td;var{defaultOptions:ca,defaultTime:da}=Tt,{pageLang:ed}=W,{extend:id,getNestedProperty:sd,isArray:nd,isNumber:aa,isObject:rd,isString:od,pick:ad,ucfirst:ld}=L,cs={add:(l,i)=>l+i,divide:(l,i)=>i!==0?l/i:"",eq:(l,i)=>l==i,each:function(l){let i=arguments[arguments.length-1];return nd(l)?l.map((t,e)=>ds(i.body,id(rd(t)?t:{"@this":t},{"@index":e,"@first":e===0,"@last":e===l.length-1}))).join(""):!1},ge:(l,i)=>l>=i,gt:(l,i)=>l>i,if:l=>!!l,le:(l,i)=>l<=i,lt:(l,i)=>l<i,multiply:(l,i)=>l*i,ne:(l,i)=>l!=i,subtract:(l,i)=>l-i,ucfirst:ld,unless:l=>!l},la={},ha=l=>/^["'].+["']$/.test(l);function hd(l,i,t){return da.dateFormat(l,i,t)}function ds(l="",i,t){let e=/\{([a-zA-Z\u00C0-\u017F\d:\.,;\-\/<>\[\]%_@+"'’= #\(\)]+)\}/g,s=/\(([a-zA-Z\u00C0-\u017F\d:\.,;\-\/<>\[\]%_@+"'= ]+)\)/g,n=[],r=/f$/,o=/\.(\d)/,a=t?.options?.lang||ca.lang,h=t?.time||da,c=t?.numberFormatter||fa,f=(g="")=>{let x;return g==="true"?!0:g==="false"?!1:(x=Number(g)).toString()===g?x:ha(g)?g.slice(1,-1):sd(g,i)},d,p,m=0,u;for(;(d=e.exec(l))!==null;){let g=d,x=s.exec(d[1]);x&&(d=x,u=!0),p?.isBlock||(p={ctx:i,expression:d[1],find:d[0],isBlock:d[1].charAt(0)==="#",start:d.index,startInner:d.index+d[0].length,length:d[0].length});let y=(p.isBlock?g:d)[1].split(" ")[0].replace("#","");cs[y]&&(p.isBlock&&y===p.fn&&m++,p.fn||(p.fn=y));let b=d[1]==="else";if(p.isBlock&&p.fn&&(d[1]===`/${p.fn}`||b))if(m)b||m--;else{let v=p.startInner,C=l.substr(v,d.index-v);p.body===void 0?(p.body=C,p.startInner=d.index+d[0].length):p.elseBody=C,p.find+=C+d[0],b||(n.push(p),p=void 0)}else p.isBlock||n.push(p);if(x&&!p?.isBlock)break}return n.forEach(g=>{let{body:x,elseBody:y,expression:b,fn:v}=g,C,S;if(v){let w=[g],T=[],k=b.length,M=0,E;for(S=0;S<=k;S++){let I=b.charAt(S);!E&&(I==='"'||I==="'")?E=I:E===I&&(E=""),!E&&(I===" "||S===k)&&(T.push(b.substr(M,S-M)),M=S+1)}for(S=cs[v].length;S--;)w.unshift(f(T[S+1]));C=cs[v].apply(i,w),g.isBlock&&typeof C=="boolean"&&(C=ds(C?x:y,i,t))}else{let w=ha(b)?[b]:b.split(":");if(C=f(w.shift()||""),w.length&&typeof C=="number"){let T=w.join(":");if(r.test(T)){let k=parseInt((T.match(o)||["","-1"])[1],10);C!==null&&(C=c(C,k,a.decimalPoint,T.indexOf(",")>-1?a.thousandsSep:""))}else C=h.dateFormat(T,C)}s.lastIndex=0,s.test(g.find)&&od(C)&&(C=`"${C}"`)}l=l.replace(g.find,ad(C,""))}),u?ds(l,i,t):l}function fa(l,i,t,e){l=+l||0,i=+i;let s,n,[r,o]=l.toString().split("e").map(Number),a=this?.options?.lang||ca.lang,h=(l.toString().split(".")[1]||"").split("e")[0].length,c=i,f={};t??(t=a.decimalPoint),e??(e=a.thousandsSep),i===-1?i=Math.min(h,20):aa(i)?i&&o<0&&(n=i+o,n>=0?(r=+r.toExponential(n).split("e")[0],i=n):(r=Math.floor(r),i<20?l=+(r*Math.pow(10,o)).toFixed(i):l=0,o=0)):i=2,o&&(i??(i=2),l=r),aa(i)&&i>=0&&(f.minimumFractionDigits=i,f.maximumFractionDigits=i),e===""&&(f.useGrouping=!1);let d=e||t,p=d?"en":this?.locale||a.locale||ed,m=JSON.stringify(f)+p;return s=(la[m]??(la[m]=new Intl.NumberFormat(p,f))).format(l),d&&(s=s.replace(/([,\.])/g,"_$1").replace(/_\,/g,e??",").replace("_.",t??".")),(!i&&+s==0||o<0&&!c)&&(s="0"),o&&+s!=0&&(s+="e"+(o<0?"":"+")+o),s}var cd={dateFormat:hd,format:ds,helpers:cs,numberFormat:fa},wt=cd;var En;(function(l){l.rendererTypes={};let i;function t(s=i){return l.rendererTypes[s]||l.rendererTypes[i]}l.getRendererType=t;function e(s,n,r){l.rendererTypes[s]=n,(!i||r)&&(i=s,W.Renderer=n)}l.registerRendererType=e})(En||(En={}));var ne=En;var{clamp:dd,pick:fd,pushUnique:pd,stableSort:Ln}=L,In;(function(l){function i(t,e,s){let n=t,r=n.reducedLen||e,o=(C,S)=>(S.rank||0)-(C.rank||0),a=(C,S)=>C.target-S.target,h=[],c=t.length,f=[],d=h.push,p,m,u,g=!0,x,y,b=0,v;for(p=c;p--;)b+=t[p].size;if(b>r){for(Ln(t,o),v=t[0].rank===t[t.length-1].rank,u=v?c/2:-1,m=v?u:c-1;u&&b>r;)p=Math.floor(m),x=t[p],pd(f,p)&&(b-=x.size),m+=u,v&&m>=t.length&&(u/=2,m=u);f.sort((C,S)=>S-C).forEach(C=>d.apply(h,t.splice(C,1)))}for(Ln(t,a),t=t.map(C=>({size:C.size,targets:[C.target],align:fd(C.align,.5)}));g;){for(p=t.length;p--;)x=t[p],y=(Math.min.apply(0,x.targets)+Math.max.apply(0,x.targets))/2,x.pos=dd(y-x.size*x.align,0,e-x.size);for(p=t.length,g=!1;p--;)p>0&&t[p-1].pos+t[p-1].size>t[p].pos&&(t[p-1].size+=t[p].size,t[p-1].targets=t[p-1].targets.concat(t[p].targets),t[p-1].align=.5,t[p-1].pos+t[p-1].size>e&&(t[p-1].pos=e-t[p-1].size),t.splice(p,1),g=!0)}return d.apply(n,h),p=0,t.some(C=>{let S=0;return(C.targets||[]).some(()=>(n[p].pos=C.pos+S,typeof s<"u"&&Math.abs(n[p].pos-n[p].target)>s?(n.slice(0,p+1).forEach(w=>delete w.pos),n.reducedLen=(n.reducedLen||e)-e*.1,n.reducedLen>e*.1&&i(n,e,s),!0):(S+=n[p].size,p++,!1)))}),Ln(n,a),n}l.distribute=i})(In||(In={}));var Pe=In;var{animate:ud,animObject:md,stop:pa}=ot,{deg2rad:ua,doc:li,svg:gd,SVG_NS:fs,win:xd,isFirefox:yd}=W,{addEvent:bd,attr:_n,createElement:vd,crisp:ps,css:ma,defined:re,erase:Cd,extend:Ai,fireEvent:Bn,getAlignFactor:Rn,isArray:ga,isFunction:xa,isNumber:Sd,isObject:Td,isString:ya,merge:Wn,objectEach:hi,pick:me,pInt:us,pushUnique:wd,replaceNested:Dd,syncTimeout:Pd,uniqueKey:ba}=L,Xt=(()=>{class l{_defaultGetter(t){let e=me(this[t+"Value"],this[t],this.element?this.element.getAttribute(t):null,0);return/^-?[\d\.]+$/.test(e)&&(e=parseFloat(e)),e}_defaultSetter(t,e,s){s.setAttribute(e,t)}add(t){let e=this.renderer,s=this.element,n;return t&&(this.parentGroup=t),typeof this.textStr<"u"&&this.element.nodeName==="text"&&e.buildText(this),this.added=!0,(!t||t.handleZ||this.zIndex)&&(n=this.zIndexSetter()),n||(t?t.element:e.box).appendChild(s),this.onAdd&&this.onAdd(),this}addClass(t,e){let s=e?"":this.attr("class")||"";return t=(t||"").split(/ /g).reduce(function(n,r){return s.indexOf(r)===-1&&n.push(r),n},s?[s]:[]).join(" "),t!==s&&this.attr("class",t),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(t,e,s,n=!0){let r=this.renderer,o=r.alignedObjects,a=!!t;t?(this.alignOptions=t,this.alignByTranslate=e,this.alignTo=s):(t=this.alignOptions||{},e=this.alignByTranslate,s=this.alignTo);let h=!s||ya(s)?s||"renderer":void 0;h&&(a&&wd(o,this),s=void 0);let c=me(s,r[h],r),f=(c.x||0)+(t.x||0)+((c.width||0)-(t.width||0))*Rn(t.align),d=(c.y||0)+(t.y||0)+((c.height||0)-(t.height||0))*Rn(t.verticalAlign),p={"text-align":t?.align};return p[e?"translateX":"x"]=Math.round(f),p[e?"translateY":"y"]=Math.round(d),n&&(this[this.placed?"animate":"attr"](p),this.placed=!0),this.alignAttr=p,this}alignSetter(t){let e={left:"start",center:"middle",right:"end"};e[t]&&(this.alignValue=t,this.element.setAttribute("text-anchor",e[t]))}animate(t,e,s){let n=md(me(e,this.renderer.globalAnimation,!0)),r=n.defer;return li.hidden&&(n.duration=0),n.duration!==0?(s&&(n.complete=s),Pd(()=>{this.element&&ud(this,t,n)},r)):(this.attr(t,void 0,s||n.complete),hi(t,function(o,a){n.step&&n.step.call(this,o,{prop:a,pos:1,elem:this})},this)),this}applyTextOutline(t){let e=this.element,s=t.indexOf("contrast")!==-1,n={};s&&(n.textOutline=t=t.replace(/contrast/g,this.renderer.getContrast(e.style.fill)));let r=t.indexOf(" "),o=t.substring(r+1),a=t.substring(0,r);if(a&&a!=="none"&&W.svg){this.fakeTS=!0,a=a.replace(/(^[\d\.]+)(.*?)$/g,function(p,m,u){return 2*Number(m)+u}),this.removeTextOutline();let h=li.createElementNS(fs,"tspan");_n(h,{class:"highcharts-text-outline",fill:o,stroke:o,"stroke-width":a,"stroke-linejoin":"round"});let c=e.querySelector("textPath")||e;[].forEach.call(c.childNodes,p=>{let m=p.cloneNode(!0);m.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(u=>m.removeAttribute(u)),h.appendChild(m)});let f=0;[].forEach.call(c.querySelectorAll("text tspan"),p=>{f+=Number(p.getAttribute("dy"))});let d=li.createElementNS(fs,"tspan");d.textContent="\u200B",_n(d,{x:Number(e.getAttribute("x")),dy:-f}),h.appendChild(d),c.insertBefore(h,c.firstChild)}}attr(t,e,s,n){let{element:r}=this,o=l.symbolCustomAttribs,a,h,c=this,f,d;return typeof t=="string"&&typeof e<"u"&&(a=t,t={},t[a]=e),typeof t=="string"?c=(this[t+"Getter"]||this._defaultGetter).call(this,t,r):(hi(t,function(m,u){f=!1,n||pa(this,u),this.symbolName&&o.indexOf(u)!==-1&&(h||(this.symbolAttr(t),h=!0),f=!0),this.rotation&&(u==="x"||u==="y")&&(this.doTransform=!0),f||(d=this[u+"Setter"]||this._defaultSetter,d.call(this,m,u,r))},this),this.afterSetters()),s&&s.call(this),c}clip(t){if(t&&!t.clipPath){let e=ba()+"-",s=this.renderer.createElement("clipPath").attr({id:e}).add(this.renderer.defs);Ai(t,{clipPath:s,id:e,count:0}),t.add(s)}return this.attr("clip-path",t?`url(${this.renderer.url}#${t.id})`:"none")}crisp(t,e){e=Math.round(e||t.strokeWidth||0);let s=t.x||this.x||0,n=t.y||this.y||0,r=(t.width||this.width||0)+s,o=(t.height||this.height||0)+n,a=ps(s,e),h=ps(n,e),c=ps(r,e),f=ps(o,e);return Ai(t,{x:a,y:h,width:c-a,height:f-h}),re(t.strokeWidth)&&(t.strokeWidth=e),t}complexColor(t,e,s){let n=this.renderer,r,o,a,h,c,f,d,p,m,u,g=[],x;Bn(this.renderer,"complexColor",{args:arguments},function(){if(t.radialGradient?o="radialGradient":t.linearGradient&&(o="linearGradient"),o){if(a=t[o],c=n.gradients,f=t.stops,m=s.radialReference,ga(a)&&(t[o]=a={x1:a[0],y1:a[1],x2:a[2],y2:a[3],gradientUnits:"userSpaceOnUse"}),o==="radialGradient"&&m&&!re(a.gradientUnits)&&(h=a,a=Wn(a,n.getRadialAttr(m,h),{gradientUnits:"userSpaceOnUse"})),hi(a,function(y,b){b!=="id"&&g.push(b,y)}),hi(f,function(y){g.push(y)}),g=g.join(","),c[g])u=c[g].attr("id");else{a.id=u=ba();let y=c[g]=n.createElement(o).attr(a).add(n.defs);y.radAttr=h,y.stops=[],f.forEach(function(b){b[1].indexOf("rgba")===0?(r=_t.parse(b[1]),d=r.get("rgb"),p=r.get("a")):(d=b[1],p=1);let v=n.createElement("stop").attr({offset:b[0],"stop-color":d,"stop-opacity":p}).add(y);y.stops.push(v)})}x="url("+n.url+"#"+u+")",s.setAttribute(e,x),s.gradient=g,t.toString=function(){return x}}})}css(t){let e=this.styles,s={},n=this.element,r,o=!e;if(e&&hi(t,function(a,h){e&&e[h]!==a&&(s[h]=a,o=!0)}),o){e&&(t=Ai(e,s)),t.width===null||t.width==="auto"?delete this.textWidth:n.nodeName.toLowerCase()==="text"&&t.width&&(r=this.textWidth=us(t.width)),Ai(this.styles,t),r&&!gd&&this.renderer.forExport&&delete t.width;let a=yd&&t.fontSize||null;a&&(Sd(a)||/^\d+$/.test(a))&&(t.fontSize+="px");let h=Wn(t);n.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","whiteSpace","width"].forEach(c=>h&&delete h[c]),h.color&&(h.fill=h.color,delete h.color)),ma(n,h)}return this.added&&(this.element.nodeName==="text"&&this.renderer.buildText(this),t.textOutline&&this.applyTextOutline(t.textOutline)),this}dashstyleSetter(t){let e,s=this["stroke-width"];if(s==="inherit"&&(s=1),t){t=t.toLowerCase();let n=t.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(e=n.length;e--;)n[e]=""+us(n[e])*me(s,NaN);t=n.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",t)}}destroy(){let t=this,e=t.element||{},s=t.renderer,n=e.ownerSVGElement,r=e.nodeName==="SPAN"&&t.parentGroup||void 0,o,a;if(e.onclick=e.onmouseout=e.onmouseover=e.onmousemove=e.point=null,pa(t),t.clipPath&&n){let h=t.clipPath;[].forEach.call(n.querySelectorAll("[clip-path],[CLIP-PATH]"),function(c){c.getAttribute("clip-path").indexOf(h.element.id)>-1&&c.removeAttribute("clip-path")}),t.clipPath=h.destroy()}if(t.stops){for(a=0;a<t.stops.length;a++)t.stops[a].destroy();t.stops.length=0,t.stops=void 0}for(t.safeRemoveChild(e);r?.div&&r.div.childNodes.length===0;)o=r.parentGroup,t.safeRemoveChild(r.div),delete r.div,r=o;t.alignOptions&&Cd(s.alignedObjects,t),hi(t,(h,c)=>{(t[c]?.parentGroup===t||["connector","foreignObject"].indexOf(c)!==-1)&&t[c]?.destroy?.(),delete t[c]})}dSetter(t,e,s){ga(t)&&(typeof t[0]=="string"&&(t=this.renderer.pathToSegments(t)),this.pathArray=t,t=t.reduce((n,r,o)=>r?.join?(o?n+" ":"")+r.join(" "):(r||"").toString(),"")),/(NaN| {2}|^$)/.test(t)&&(t="M 0 0"),this[e]!==t&&(s.setAttribute(e,t),this[e]=t)}fillSetter(t,e,s){typeof t=="string"?s.setAttribute(e,t):t&&this.complexColor(t,e,s)}hrefSetter(t,e,s){s.setAttributeNS("http://www.w3.org/1999/xlink",e,t)}getBBox(t,e){let s=this,{alignValue:n,element:r,renderer:o,styles:a,textStr:h}=s,{cache:c,cacheKeys:f}=o,d=r.namespaceURI===s.SVG_NS,p=me(e,s.rotation,0),m=o.styledMode?r&&l.prototype.getStyle.call(r,"font-size"):a.fontSize,u,g,x,y;if(re(h)&&(y=h.toString(),y.indexOf("<")===-1&&(y=y.replace(/\d/g,"0")),y+=["",o.rootFontSize,m,p,s.textWidth,n,a.lineClamp,a.textOverflow,a.fontWeight].join(",")),y&&!t&&(u=c[y]),!u||u.polygon){if(d||o.forExport){try{x=this.fakeTS&&function(v){let C=r.querySelector(".highcharts-text-outline");C&&ma(C,{display:v})},xa(x)&&x("none"),u=r.getBBox?Ai({},r.getBBox()):{width:r.offsetWidth,height:r.offsetHeight,x:0,y:0},xa(x)&&x("")}catch{}(!u||u.width<0)&&(u={x:0,y:0,width:0,height:0})}else u=s.htmlGetBBox();g=u.height,d&&(u.height=g={"11px,17":14,"13px,20":16}[`${m||""},${Math.round(g)}`]||g),p&&(u=this.getRotatedBox(u,p));let b={bBox:u};Bn(this,"afterGetBBox",b),u=b.bBox}if(y&&(h===""||u.height>0)){for(;f.length>250;)delete c[f.shift()];c[y]||f.push(y),c[y]=u}return u}getRotatedBox(t,e){let{x:s,y:n,width:r,height:o}=t,{alignValue:a,translateY:h,rotationOriginX:c=0,rotationOriginY:f=0}=this,d=Rn(a),p=Number(this.element.getAttribute("y")||0)-(h?0:n),m=e*ua,u=(e-90)*ua,g=Math.cos(m),x=Math.sin(m),y=r*g,b=r*x,v=Math.cos(u),C=Math.sin(u),[[S,w],[T,k]]=[c,f].map(q=>[q-q*g,q*x]),M=s+d*(r-y)+S+k,E=n+p-d*b-w+T,I=M+p*v,R=I+y,_=R-o*v,B=_-y,N=E+p*C,Y=N+b,K=Y-o*C,st=K-b,nt=Math.min(I,R,_,B),Ot=Math.min(N,Y,K,st),dt=Math.max(I,R,_,B)-nt,Z=Math.max(N,Y,K,st)-Ot;return{x:nt,y:Ot,width:dt,height:Z,polygon:[[I,N],[R,Y],[_,K],[B,st]]}}getStyle(t){return xd.getComputedStyle(this.element||this,"").getPropertyValue(t)}hasClass(t){return(""+this.attr("class")).split(" ").indexOf(t)!==-1}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(t,e){this.onEvents={},this.opacity=1,this.SVG_NS=fs,this.element=e==="span"||e==="body"?vd(e):li.createElementNS(this.SVG_NS,e),this.renderer=t,this.styles={},Bn(this,"afterInit")}on(t,e){let{onEvents:s}=this;return s[t]&&s[t](),s[t]=bd(this.element,t,e),this}opacitySetter(t,e,s){let n=Number(Number(t).toFixed(3));this.opacity=n,s.setAttribute(e,n)}reAlign(){this.alignOptions?.width&&this.alignOptions.align!=="left"&&(this.alignOptions.width=this.getBBox().width,this.placed=!1,this.align())}removeClass(t){return this.attr("class",(""+this.attr("class")).replace(ya(t)?new RegExp(`(^| )${t}( |$)`):t," ").replace(/ +/g," ").trim())}removeTextOutline(){let t=this.element.querySelector("tspan.highcharts-text-outline");t&&this.safeRemoveChild(t)}safeRemoveChild(t){let e=t.parentNode;e&&e.removeChild(t)}setRadialReference(t){let e=this.element.gradient&&this.renderer.gradients[this.element.gradient]||void 0;return this.element.radialReference=t,e?.radAttr&&e.animate(this.renderer.getRadialAttr(t,e.radAttr)),this}shadow(t){let{renderer:e}=this,s=Wn(this.parentGroup?.rotation===90?{offsetX:-1,offsetY:-1}:{},Td(t)?t:{}),n=e.shadowDefinition(s);return this.attr({filter:t?`url(${e.url}#${n})`:"none"})}show(t=!0){return this.attr({visibility:t?"inherit":"visible"})}"stroke-widthSetter"(t,e,s){this[e]=t,s.setAttribute(e,t)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let t=this.getStyle("stroke-width"),e=0,s;return/px$/.test(t)?e=us(t):t!==""&&(s=li.createElementNS(fs,"rect"),_n(s,{width:t,"stroke-width":0}),this.element.parentNode.appendChild(s),e=s.getBBox().width,s.parentNode.removeChild(s)),e}symbolAttr(t){let e=this;l.symbolCustomAttribs.forEach(function(s){e[s]=me(t[s],e[s])}),e.attr({d:e.renderer.symbols[e.symbolName](e.x,e.y,e.width,e.height,e)})}textSetter(t){t!==this.textStr&&(delete this.textPxLength,this.textStr=t,this.added&&this.renderer.buildText(this),this.reAlign())}titleSetter(t){let e=this.element,s=e.getElementsByTagName("title")[0]||li.createElementNS(this.SVG_NS,"title");e.insertBefore?e.insertBefore(s,e.firstChild):e.appendChild(s),s.textContent=Dd(me(t,""),[/<[^>]*>/g,""]).replace(/</g,"<").replace(/>/g,">")}toFront(){let t=this.element;return t.parentNode.appendChild(t),this}translate(t,e){return this.attr({translateX:t,translateY:e})}updateTransform(t="transform"){let{element:e,foreignObject:s,matrix:n,padding:r,rotation:o=0,rotationOriginX:a,rotationOriginY:h,scaleX:c,scaleY:f,text:d,translateX:p=0,translateY:m=0}=this,u=["translate("+p+","+m+")"];re(n)&&u.push("matrix("+n.join(",")+")"),o&&(u.push("rotate("+o+" "+(a??e.getAttribute("x")??this.x??0)+" "+(h??e.getAttribute("y")??this.y??0)+")"),d?.element.tagName==="SPAN"&&!d?.foreignObject&&d.attr({rotation:o,rotationOriginX:(a||0)-r,rotationOriginY:(h||0)-r})),(re(c)||re(f))&&u.push("scale("+me(c,1)+" "+me(f,1)+")"),u.length&&!(d||this).textPath&&(s?.element||e).setAttribute(t,u.join(" "))}visibilitySetter(t,e,s){t==="inherit"?s.removeAttribute(e):this[e]!==t&&s.setAttribute(e,t),this[e]=t}xGetter(t){return this.element.nodeName==="circle"&&(t==="x"?t="cx":t==="y"&&(t="cy")),this._defaultGetter(t)}zIndexSetter(t,e){let s=this.renderer,n=this.parentGroup,r=n||s,o=r.element||s.box,a=this.element,h=o===s.box,c,f,d,p=!1,m,u=this.added,g;if(re(t)?(a.setAttribute("data-z-index",t),t=+t,this[e]===t&&(u=!1)):re(this[e])&&a.removeAttribute("data-z-index"),this[e]=t,u){for(t=this.zIndex,t&&n&&(n.handleZ=!0),c=o.childNodes,g=c.length-1;g>=0&&!p;g--)f=c[g],d=f.getAttribute("data-z-index"),m=!re(d),f!==a&&(t<0&&m&&!h&&!g?(o.insertBefore(a,c[g]),p=!0):(us(d)<=t||m&&(!re(t)||t>=0))&&(o.insertBefore(a,c[g+1]),p=!0));p||(o.insertBefore(a,c[h?3:0]),p=!0)}return p}}return l.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],l})();Xt.prototype.strokeSetter=Xt.prototype.fillSetter;Xt.prototype.yGetter=Xt.prototype.xGetter;Xt.prototype.matrixSetter=Xt.prototype.rotationOriginXSetter=Xt.prototype.rotationOriginYSetter=Xt.prototype.rotationSetter=Xt.prototype.scaleXSetter=Xt.prototype.scaleYSetter=Xt.prototype.translateXSetter=Xt.prototype.translateYSetter=Xt.prototype.verticalAlignSetter=function(l,i){this[i]=l,this.doTransform=!0};var Ft=Xt;var{defined:va,extend:kd,getAlignFactor:Ca,isNumber:Ei,merge:Md,pick:ms,removeEvent:Sa}=L,Od=(()=>{class l extends Ft{constructor(t,e,s,n,r,o,a,h,c,f){super(t,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.doUpdate=!1,this.textStr=e,this.x=s,this.y=n,this.anchorX=o,this.anchorY=a,this.baseline=c,this.className=f,this.addClass(f==="button"?"highcharts-no-tooltip":"highcharts-label"),f&&this.addClass("highcharts-"+f),this.text=t.text(void 0,0,0,h).attr({zIndex:1});let d;typeof r=="string"&&(d=/^url\((.*?)\)$/.test(r),(d||this.renderer.symbols[r])&&(this.symbolKey=r)),this.bBox=l.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=t.styledMode||d,this.deferredAttr={},this.alignFactor=0}alignSetter(t){let e=Ca(t);this.textAlign=t,e!==this.alignFactor&&(this.alignFactor=e,this.bBox&&Ei(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(t,e){this.anchorX=t,this.boxAttr(e,Math.round(t)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(t,e){this.anchorY=t,this.boxAttr(e,t-this.ySetting)}boxAttr(t,e){this.box?this.box.attr(t,e):this.deferredAttr[t]=e}css(t){if(t){let e={};t=Md(t),l.textProps.forEach(s=>{typeof t[s]<"u"&&(e[s]=t[s],delete t[s])}),this.text.css(e),"fontSize"in e||"fontWeight"in e?this.updateTextPadding():("width"in e||"textOverflow"in e)&&this.updateBoxSize()}return Ft.prototype.css.call(this,t)}destroy(){Sa(this.element,"mouseenter"),Sa(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),Ft.prototype.destroy.call(this)}fillSetter(t,e){t&&(this.needsBox=!0),this.fill=t,this.boxAttr(e,t)}getBBox(t,e){this.textStr&&this.bBox.width===0&&this.bBox.height===0&&this.updateBoxSize();let{padding:s,height:n=0,translateX:r=0,translateY:o=0,width:a=0}=this,h=ms(this.paddingLeft,s),c=e??(this.rotation||0),f={width:a,height:n,x:r+this.bBox.x-h,y:o+this.bBox.y-s+this.baselineOffset};return c&&(f=this.getRotatedBox(f,c)),f}getCrispAdjust(){return(this.renderer.styledMode&&this.box?this.box.strokeWidth():this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(t){this.heightSetting=t,this.doUpdate=!0}afterSetters(){super.afterSetters(),this.doUpdate&&(this.updateBoxSize(),this.doUpdate=!1)}onAdd(){this.text.add(this),this.attr({text:ms(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&va(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(t,e){Ei(t)?t!==this[e]&&(this[e]=t,this.updateTextPadding()):this[e]=void 0}rSetter(t,e){this.boxAttr(e,t)}strokeSetter(t,e){this.stroke=t,this.boxAttr(e,t)}"stroke-widthSetter"(t,e){t&&(this.needsBox=!0),this["stroke-width"]=t,this.boxAttr(e,t)}"text-alignSetter"(t){this.textAlign=this["text-align"]=t,this.updateTextPadding()}textSetter(t){typeof t<"u"&&this.text.attr({text:t}),this.updateTextPadding(),this.reAlign()}updateBoxSize(){let t=this.text,e={},s=this.padding,n=this.bBox=(!Ei(this.widthSetting)||!Ei(this.heightSetting)||this.textAlign)&&va(t.textStr)?t.getBBox(void 0,0):l.emptyBBox,r;this.width=this.getPaddedWidth(),this.height=(this.heightSetting||n.height||0)+2*s;let o=this.renderer.fontMetrics(t);if(this.baselineOffset=s+Math.min((this.text.firstLineMetrics||o).b,n.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-o.h)/2),this.needsBox&&!t.textPath){if(!this.box){let a=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();a.addClass((this.className==="button"?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),a.add(this)}r=this.getCrispAdjust(),e.x=r,e.y=(this.baseline?-this.baselineOffset:0)+r,e.width=Math.round(this.width),e.height=Math.round(this.height),this.box.attr(kd(e,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let t=this.text,e=t.styles.textAlign||this.textAlign;if(!t.textPath){this.updateBoxSize();let s=this.baseline?0:this.baselineOffset,n=(this.paddingLeft??this.padding)+Ca(e)*(this.widthSetting??this.bBox.width);(n!==t.x||s!==t.y)&&(t.attr({align:e,x:n}),typeof s<"u"&&t.attr("y",s)),t.x=n,t.y=s}}widthSetter(t){this.widthSetting=Ei(t)?t:void 0,this.doUpdate=!0}getPaddedWidth(){let t=this.padding,e=ms(this.paddingLeft,t),s=ms(this.paddingRight,t);return(this.widthSetting||this.bBox.width||0)+e+s}xSetter(t){this.x=t,this.alignFactor&&(t-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(t),this.attr("translateX",this.xSetting)}ySetter(t){this.ySetting=this.y=Math.round(t),this.attr("translateY",this.ySetting)}}return l.emptyBBox={width:0,height:0,x:0,y:0},l.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineClamp","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"],l})(),Ta=Od;var{defined:wa,isNumber:Ad,pick:Li}=L;function Pa(l,i,t,e,s){let n=[];if(s){let r=s.start||0,o=s.end||0,a=Li(s.r,t),h=Li(s.r,e||t),c=2e-4/(s.borderRadius?1:Math.max(a,1)),f=Math.abs(o-r-2*Math.PI)<c;f&&(r=Math.PI/2,o=Math.PI*2.5-c);let d=s.innerR,p=Li(s.open,f),m=Math.cos(r),u=Math.sin(r),g=Math.cos(o),x=Math.sin(o),y=Li(s.longArc,o-r-Math.PI<c?0:1),b=["A",a,h,0,y,Li(s.clockwise,1),l+a*g,i+h*x];b.params={start:r,end:o,cx:l,cy:i},n.push(["M",l+a*m,i+h*u],b),wa(d)&&(b=["A",d,d,0,y,wa(s.clockwise)?1-s.clockwise:0,l+d*m,i+d*u],b.params={start:o,end:r,cx:l,cy:i},n.push(p?["M",l+d*g,i+d*x]:["L",l+d*g,i+d*x],b)),p||n.push(["Z"])}return n}function Ed(l,i,t,e,s){let o=Math.min(s?.r||0,t,e),a=o+6,h=s?.anchorX,c=s?.anchorY||0,f=Nn(l,i,t,e,{r:o});if(!Ad(h)||h<t&&h>0&&c<e&&c>0)return f;if(l+h>t-a)if(c>i+a&&c<i+e-a)f.splice(3,1,["L",l+t,c-6],["L",l+t+6,c],["L",l+t,c+6],["L",l+t,i+e-o]);else if(h<t){let d=c<i+a,p=d?i:i+e,m=d?2:5;f.splice(m,0,["L",h,c],["L",l+t-o,p])}else f.splice(3,1,["L",l+t,e/2],["L",h,c],["L",l+t,e/2],["L",l+t,i+e-o]);else if(l+h<a)if(c>i+a&&c<i+e-a)f.splice(7,1,["L",l,c+6],["L",l-6,c],["L",l,c-6],["L",l,i+o]);else if(h>0){let d=c<i+a,p=d?i:i+e,m=d?1:6;f.splice(m,0,["L",h,c],["L",l+o,p])}else f.splice(7,1,["L",l,e/2],["L",h,c],["L",l,e/2],["L",l,i+o]);else c>e&&h<t-a?f.splice(5,1,["L",h+6,i+e],["L",h,i+e+6],["L",h-6,i+e],["L",l+o,i+e]):c<0&&h>a&&f.splice(1,1,["L",h-6,i],["L",h,i-6],["L",h+6,i],["L",t-o,i]);return f}function Ld(l,i,t,e){return Pa(l+t/2,i+e/2,t/2,e/2,{start:Math.PI*.5,end:Math.PI*2.5,open:!1})}function Id(l,i,t,e){return[["M",l+t/2,i],["L",l+t,i+e/2],["L",l+t/2,i+e],["L",l,i+e/2],["Z"]]}function Da(l,i,t,e,s){return s?.r?Nn(l,i,t,e,s):[["M",l,i],["L",l+t,i],["L",l+t,i+e],["L",l,i+e],["Z"]]}function Nn(l,i,t,e,s){let n=s?.r||0;return[["M",l+n,i],["L",l+t-n,i],["A",n,n,0,0,1,l+t,i+n],["L",l+t,i+e-n],["A",n,n,0,0,1,l+t-n,i+e],["L",l+n,i+e],["A",n,n,0,0,1,l,i+e-n],["L",l,i+n],["A",n,n,0,0,1,l+n,i],["Z"]]}function _d(l,i,t,e){return[["M",l+t/2,i],["L",l+t,i+e],["L",l,i+e],["Z"]]}function Bd(l,i,t,e){return[["M",l,i],["L",l+t,i],["L",l+t/2,i+e],["Z"]]}var Rd={arc:Pa,callout:Ed,circle:Ld,diamond:Id,rect:Da,roundedRect:Nn,square:Da,triangle:_d,"triangle-down":Bd},gs=Rd;var{doc:Fn,SVG_NS:Wd,win:ka}=W,{attr:Hn,extend:Nd,fireEvent:Fd,isString:Hd,objectEach:zd,pick:Xd}=L,zn=(l,i)=>l.substring(0,i)+"\u2026",Xn=class{constructor(i){let t=i.styles;this.renderer=i.renderer,this.svgElement=i,this.width=i.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 i=this.svgElement,t=i.element,e=i.renderer,s=Xd(i.textStr,"").toString(),n=s.indexOf("<")!==-1,r=t.childNodes,o=!i.added&&e.box,a=/<br.*?>/g,h=[s,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,i.getStyle("font-size"),i.styles.lineClamp,this.width].join(",");if(h!==i.textCache){i.textCache=h,delete i.actualWidth;for(let c=r.length;c--;)t.removeChild(r[c]);if(!n&&!this.ellipsis&&!this.width&&!i.textPath&&(s.indexOf(" ")===-1||this.noWrap&&!a.test(s)))t.appendChild(Fn.createTextNode(this.unescapeEntities(s)));else if(s!==""){o&&o.appendChild(t);let c=new At(s);this.modifyTree(c.nodes),c.addToDOM(t),this.modifyDOM(),this.ellipsis&&(t.textContent||"").indexOf("\u2026")!==-1&&i.attr("title",this.unescapeEntities(i.textStr||"",["<",">"])),o&&o.removeChild(t)}Hd(this.textOutline)&&i.applyTextOutline&&i.applyTextOutline(this.textOutline)}}modifyDOM(){let i=this.svgElement,t=Hn(i.element,"x");i.firstLineMetrics=void 0;let e;for(;(e=i.element.firstChild)&&/^[\s\u200B]*$/.test(e.textContent||" ");)i.element.removeChild(e);[].forEach.call(i.element.querySelectorAll("tspan.highcharts-br"),(o,a)=>{o.nextSibling&&o.previousSibling&&(a===0&&o.previousSibling.nodeType===1&&(i.firstLineMetrics=i.renderer.fontMetrics(o.previousSibling)),Hn(o,{dy:this.getLineHeight(o.nextSibling),x:t}))});let s=this.width||0;if(!s)return;let n=(o,a)=>{let h=o.textContent||"",c=h.replace(/([^\^])-/g,"$1- ").split(" "),f=!this.noWrap&&(c.length>1||i.element.childNodes.length>1),d=this.getLineHeight(a),p=Math.max(0,s-.8*d),m=0,u=i.actualWidth;if(f){let g=[],x=[];for(;a.firstChild&&a.firstChild!==o;)x.push(a.firstChild),a.removeChild(a.firstChild);for(;c.length;)if(c.length&&!this.noWrap&&m>0&&(g.push(o.textContent||""),o.textContent=c.join(" ").replace(/- /g,"-")),this.truncate(o,void 0,c,m===0&&u||0,s,p,(y,b)=>c.slice(0,b).join(" ").replace(/- /g,"-")),u=i.actualWidth,m++,this.lineClamp&&m>=this.lineClamp){c.length&&(this.truncate(o,o.textContent||"",void 0,0,s,p,zn),o.textContent=o.textContent?.replace("\u2026","")+"\u2026");break}x.forEach(y=>{a.insertBefore(y,o)}),g.forEach(y=>{a.insertBefore(Fn.createTextNode(y),o);let b=Fn.createElementNS(Wd,"tspan");b.textContent="\u200B",Hn(b,{dy:d,x:t}),a.insertBefore(b,o)})}else this.ellipsis&&h&&this.truncate(o,h,void 0,0,s,p,zn)},r=o=>{[].slice.call(o.childNodes).forEach(h=>{h.nodeType===ka.Node.TEXT_NODE?n(h,o):(h.className.baseVal.indexOf("highcharts-br")!==-1&&(i.actualWidth=0),r(h))})};r(i.element)}getLineHeight(i){let t=i.nodeType===ka.Node.TEXT_NODE?i.parentElement:i;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(t||this.svgElement.element).h}modifyTree(i){let t=(e,s)=>{let{attributes:n={},children:r,style:o={},tagName:a}=e,h=this.renderer.styledMode;if(a==="b"||a==="strong"?h?n.class="highcharts-strong":o.fontWeight="bold":(a==="i"||a==="em")&&(h?n.class="highcharts-emphasized":o.fontStyle="italic"),o?.color&&(o.fill=o.color),a==="br"){n.class="highcharts-br",e.textContent="\u200B";let c=i[s+1];c?.textContent&&(c.textContent=c.textContent.replace(/^ +/gm,""))}else a==="a"&&r&&r.some(c=>c.tagName==="#text")&&(e.children=[{children:r,tagName:"tspan"}]);a!=="#text"&&a!=="a"&&(e.tagName="tspan"),Nd(e,{attributes:n,style:o}),r&&r.filter(c=>c.tagName!=="#text").forEach(t)};i.forEach(t),Fd(this.svgElement,"afterModifyTree",{nodes:i})}truncate(i,t,e,s,n,r,o){let a=this.svgElement,{rotation:h}=a,c=[],f=e&&!s?1:0,d=(t||e||"").length,p=d,m,u;e||(n=r);let g=function(x,y){let b=y||x,v=i.parentNode;if(v&&typeof c[b]>"u"&&v.getSubStringLength)try{c[b]=s+v.getSubStringLength(0,e?b+1:b)}catch{}return c[b]};if(a.rotation=0,u=g(i.textContent.length),s+u>n){for(;f<=d;)p=Math.ceil((f+d)/2),e&&(m=o(e,p)),u=g(p,m&&m.length-1),f===d?f=d+1:u>n?d=p-1:f=p;d===0?i.textContent="":t&&d===t.length-1||(i.textContent=m||o(t||e,p)),this.ellipsis&&u>n&&this.truncate(i,i.textContent||"",void 0,0,n,r,zn)}e&&e.splice(0,p),a.actualWidth=u,a.rotation=h}unescapeEntities(i,t){return zd(this.renderer.escapes,function(e,s){(!t||t.indexOf(e)===-1)&&(i=i.toString().replace(new RegExp(e,"g"),s))}),i}},Ma=Xn;var{defaultOptions:Yd}=Tt,{charts:jd,deg2rad:Oa,doc:ci,isFirefox:Aa,isMS:Ea,isWebKit:Vd,noop:Gd,SVG_NS:Ud,symbolSizes:Yn,win:jn}=W,{addEvent:xs,attr:ys,createElement:$d,crisp:La,css:bs,defined:Ye,destroyObjectProperties:qd,extend:je,isArray:Kd,isNumber:di,isObject:Ii,isString:Zd,merge:Vn,pick:Gn,pInt:Qd,replaceNested:Jd,uniqueKey:tf}=L,Un,_i=class{constructor(i,t,e,s,n,r,o){this.x=0,this.y=0;let a=this,h=a.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),c=h.element;o||h.css(this.getStyle(s||{})),i.appendChild(c),ys(i,"dir","ltr"),i.innerHTML.indexOf("xmlns")===-1&&ys(c,"xmlns",this.SVG_NS),this.box=c,this.boxWrapper=h,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(ci.createTextNode("Created with Highcharts 12.2.0")),this.defs=this.createElement("defs").add(),this.allowHTML=r,this.forExport=n,this.styledMode=o,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=h.getStyle("font-size"),a.setSize(t,e,!1);let d,p;Aa&&i.getBoundingClientRect&&(d=function(){bs(i,{left:0,top:0}),p=i.getBoundingClientRect(),bs(i,{left:Math.ceil(p.left)-p.left+"px",top:Math.ceil(p.top)-p.top+"px"})},d(),a.unSubPixelFix=xs(jn,"resize",d))}definition(i){return new At([i]).addToDOM(this.defs.element)}getReferenceURL(){if((Aa||Vd)&&ci.getElementsByTagName("base").length){if(!Ye(Un)){let i=tf(),e=new At([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:i},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${i})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(ci.body);bs(e,{position:"fixed",top:0,left:0,zIndex:9e5}),Un=ci.elementFromPoint(6,6)?.id==="hitme",ci.body.removeChild(e)}if(Un)return Jd(jn.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"])}return""}getStyle(i){return this.style=je({fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif',fontSize:"1rem"},i),this.style}setStyle(i){this.boxWrapper.css(this.getStyle(i))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let i=this,t=i.defs;return i.box=null,i.boxWrapper=i.boxWrapper.destroy(),qd(i.gradients||{}),i.gradients=null,i.defs=t.destroy(),i.unSubPixelFix&&i.unSubPixelFix(),i.alignedObjects=null,null}createElement(i){return new this.Element(this,i)}getRadialAttr(i,t){return{cx:i[0]-i[2]/2+(t.cx||0)*i[2],cy:i[1]-i[2]/2+(t.cy||0)*i[2],r:(t.r||0)*i[2]}}shadowDefinition(i){let t=[`highcharts-drop-shadow-${this.chartIndex}`,...Object.keys(i).map(s=>`${s}-${i[s]}`)].join("-").toLowerCase().replace(/[^a-z\d\-]/g,""),e=Vn({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},i);return this.defs.element.querySelector(`#${t}`)||this.definition({tagName:"filter",attributes:{id:t,filterUnits:e.filterUnits},children:this.getShadowFilterContent(e)}),t}getShadowFilterContent(i){return[{tagName:"feDropShadow",attributes:{dx:i.offsetX,dy:i.offsetY,"flood-color":i.color,"flood-opacity":Math.min(i.opacity*5,1),stdDeviation:i.width/2}}]}buildText(i){new Ma(i).buildSVG()}getContrast(i){let t=_t.parse(i).rgba,e=" clamp(0,calc(9e9*(0.5 - (0.2126*r + 0.7152*g + 0.0722*b))),1)";if(di(t[0])||!_t.useColorMix){let s=t.map(r=>{let o=r/255;return o<=.04?o/12.92:Math.pow((o+.055)/1.055,2.4)}),n=.2126*s[0]+.7152*s[1]+.0722*s[2];return 1.05/(n+.05)>(n+.05)/.05?"#FFFFFF":"#000000"}return"color(from "+i+" srgb"+e+e+e+")"}button(i,t,e,s,n={},r,o,a,h,c){let f=this.label(i,t,e,h,void 0,void 0,c,void 0,"button"),d=this.styledMode,p=arguments,m=0;n=Vn(Yd.global.buttonTheme,n),d&&(delete n.fill,delete n.stroke,delete n["stroke-width"]);let u=n.states||{},g=n.style||{};delete n.states,delete n.style;let x=[At.filterUserAttributes(n)],y=[g];return d||["hover","select","disabled"].forEach((b,v)=>{x.push(Vn(x[0],At.filterUserAttributes(p[v+5]||u[b]||{}))),y.push(x[v+1].style),delete x[v+1].style}),xs(f.element,Ea?"mouseover":"mouseenter",function(){m!==3&&f.setState(1)}),xs(f.element,Ea?"mouseout":"mouseleave",function(){m!==3&&f.setState(m)}),f.setState=(b=0)=>{if(b!==1&&(f.state=m=b),f.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][b]),!d){f.attr(x[b]);let v=y[b];Ii(v)&&f.css(v)}},f.attr(x[0]),d||(f.css(je({cursor:"default"},g)),c&&f.text.css({pointerEvents:"none"})),f.on("touchstart",b=>b.stopPropagation()).on("click",function(b){m!==3&&s?.call(f,b)})}crispLine(i,t){let[e,s]=i;return Ye(e[1])&&e[1]===s[1]&&(e[1]=s[1]=La(e[1],t)),Ye(e[2])&&e[2]===s[2]&&(e[2]=s[2]=La(e[2],t)),i}path(i){let t=this.styledMode?{}:{fill:"none"};return Kd(i)?t.d=i:Ii(i)&&je(t,i),this.createElement("path").attr(t)}circle(i,t,e){let s=Ii(i)?i:typeof i>"u"?{}:{x:i,y:t,r:e},n=this.createElement("circle");return n.xSetter=n.ySetter=function(r,o,a){a.setAttribute("c"+o,r)},n.attr(s)}arc(i,t,e,s,n,r){let o;Ii(i)?(o=i,t=o.y,e=o.r,s=o.innerR,n=o.start,r=o.end,i=o.x):o={innerR:s,start:n,end:r};let a=this.symbol("arc",i,t,e,e,o);return a.r=e,a}rect(i,t,e,s,n,r){let o=Ii(i)?i:typeof i>"u"?{}:{x:i,y:t,r:n,width:Math.max(e||0,0),height:Math.max(s||0,0)},a=this.createElement("rect");return this.styledMode||(typeof r<"u"&&(o["stroke-width"]=r,je(o,a.crisp(o))),o.fill="none"),a.rSetter=function(h,c,f){a.r=h,ys(f,{rx:h,ry:h})},a.rGetter=function(){return a.r||0},a.attr(o)}roundedRect(i){return this.symbol("roundedRect").attr(i)}setSize(i,t,e){let s=this;s.width=i,s.height=t,s.boxWrapper.animate({width:i,height:t},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:Gn(e,!0)?void 0:0}),s.alignElements()}g(i){let t=this.createElement("g");return i?t.attr({class:"highcharts-"+i}):t}image(i,t,e,s,n,r){let o={preserveAspectRatio:"none"};di(t)&&(o.x=t),di(e)&&(o.y=e),di(s)&&(o.width=s),di(n)&&(o.height=n);let a=this.createElement("image").attr(o),h=function(c){a.attr({href:i}),r.call(a,c)};if(r){a.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let c=new jn.Image;xs(c,"load",h),c.src=i,c.complete&&h({})}else a.attr({href:i});return a}symbol(i,t,e,s,n,r){let o=this,a=/^url\((.*?)\)$/,h=a.test(i),c=!h&&(this.symbols[i]?i:"circle"),f=c&&this.symbols[c],d,p,m,u;if(f)typeof t=="number"&&(p=f.call(this.symbols,t||0,e||0,s||0,n||0,r)),d=this.path(p),o.styledMode||d.attr("fill","none"),je(d,{symbolName:c||void 0,x:t,y:e,width:s,height:n}),r&&je(d,r);else if(h){m=i.match(a)[1];let g=d=this.image(m);g.imgwidth=Gn(r?.width,Yn[m]?.width),g.imgheight=Gn(r?.height,Yn[m]?.height),u=x=>x.attr({width:x.width,height:x.height}),["width","height"].forEach(x=>{g[`${x}Setter`]=function(y,b){this[b]=y;let{alignByTranslate:v,element:C,width:S,height:w,imgwidth:T,imgheight:k}=this,M=b==="width"?T:k,E=1;r&&r.backgroundSize==="within"&&S&&w&&T&&k?(E=Math.min(S/T,w/k),ys(C,{width:Math.round(T*E),height:Math.round(k*E)})):C&&M&&C.setAttribute(b,M),!v&&T&&k&&this.translate(((S||0)-T*E)/2,((w||0)-k*E)/2)}}),Ye(t)&&g.attr({x:t,y:e}),g.isImg=!0,g.symbolUrl=i,Ye(g.imgwidth)&&Ye(g.imgheight)?u(g):(g.attr({width:0,height:0}),$d("img",{onload:function(){let x=jd[o.chartIndex];this.width===0&&(bs(this,{position:"absolute",top:"-999em"}),ci.body.appendChild(this)),Yn[m]={width:this.width,height:this.height},g.imgwidth=this.width,g.imgheight=this.height,g.element&&u(g),this.parentNode&&this.parentNode.removeChild(this),o.imgCount--,!o.imgCount&&x&&!x.hasLoaded&&x.onload()},src:m}),this.imgCount++)}return d}clipRect(i,t,e,s){return this.rect(i,t,e,s,0)}text(i,t,e,s){let n=this,r={};if(s&&(n.allowHTML||!n.forExport))return n.html(i,t,e);r.x=Math.round(t||0),e&&(r.y=Math.round(e)),Ye(i)&&(r.text=i);let o=n.createElement("text").attr(r);return(!s||n.forExport&&!n.allowHTML)&&(o.xSetter=function(a,h,c){let f=c.getElementsByTagName("tspan"),d=c.getAttribute(h);for(let p=0,m;p<f.length;p++)m=f[p],m.getAttribute(h)===d&&m.setAttribute(h,a);c.setAttribute(h,a)}),o}fontMetrics(i){let t=Qd(Ft.prototype.getStyle.call(i,"font-size")||0),e=t<24?t+3:Math.round(t*1.2),s=Math.round(e*.8);return{h:e,b:s,f:t}}rotCorr(i,t,e){let s=i;return t&&e&&(s=Math.max(s*Math.cos(t*Oa),4)),{x:-i/3*Math.sin(t*Oa),y:s}}pathToSegments(i){let t=[],e=[],s={A:8,C:7,H:2,L:3,M:3,Q:5,S:5,T:3,V:2};for(let n=0;n<i.length;n++)Zd(e[0])&&di(i[n])&&e.length===s[e[0].toUpperCase()]&&i.splice(n,0,e[0].replace("M","L").replace("m","l")),typeof i[n]=="string"&&(e.length&&t.push(e.slice(0)),e.length=0),e.push(i[n]);return t.push(e.slice(0)),t}label(i,t,e,s,n,r,o,a,h){return new Ta(this,i,t,e,s,n,r,o,a,h)}alignElements(){this.alignedObjects.forEach(i=>i.align())}};je(_i.prototype,{Element:Ft,SVG_NS:Ud,escapes:{"&":"&","<":"<",">":">","'":"'",'"':"""},symbols:gs,draw:Gd});ne.registerRendererType("svg",_i,!0);var vs=_i;var{composed:ef,isFirefox:sf}=W,{attr:nf,css:ke,createElement:rf,defined:Ia,extend:of,getAlignFactor:af,isNumber:Cs,pInt:lf,pushUnique:hf}=L;function _a(l,i,t){let e=this.div?.style||t.style;Ft.prototype[`${i}Setter`].call(this,l,i,t),e&&(e[i]=l)}var cf=(l,i)=>{if(!l.div){let t=nf(l.element,"class"),e=l.css,s=rf("div",t?{className:t}:void 0,Rt(yt({position:"absolute",left:`${l.translateX||0}px`,top:`${l.translateY||0}px`},l.styles),{display:l.display,opacity:l.opacity,visibility:l.visibility}),l.parentGroup?.div||i);l.classSetter=(n,r,o)=>{o.setAttribute("class",n),s.className=n},l.translateXSetter=l.translateYSetter=(n,r)=>{l[r]=n,s.style[r==="translateX"?"left":"top"]=`${n}px`,l.doTransform=!0},l.opacitySetter=l.visibilitySetter=_a,l.css=n=>(e.call(l,n),n.cursor&&(s.style.cursor=n.cursor),n.pointerEvents&&(s.style.pointerEvents=n.pointerEvents),l),l.on=function(){return Ft.prototype.on.apply({element:s,onEvents:l.onEvents},arguments),l},l.div=s}return l.div},Ss=class l extends Ft{static compose(i){hf(ef,this.compose)&&(i.prototype.html=function(t,e,s){return new l(this,"span").attr({text:t,x:Math.round(e),y:Math.round(s)})})}constructor(i,t){super(i,t),l.useForeignObject?this.foreignObject=i.createElement("foreignObject").attr({zIndex:2}):this.css(yt({position:"absolute"},i.styledMode?{}:{fontFamily:i.style.fontFamily,fontSize:i.style.fontSize})),this.element.style.whiteSpace="nowrap"}getSpanCorrection(i,t,e){this.xCorr=-i*e,this.yCorr=-t}css(i){let{element:t}=this,e=t.tagName==="SPAN"&&i&&"width"in i,s=e&&i.width,n;return e&&(delete i.width,this.textWidth=lf(s)||void 0,n=!0),i?.textOverflow==="ellipsis"&&(i.overflow="hidden",i.whiteSpace="nowrap"),i?.lineClamp&&(i.display="-webkit-box",i.WebkitLineClamp=i.lineClamp,i.WebkitBoxOrient="vertical",i.overflow="hidden"),Cs(Number(i?.fontSize))&&(i.fontSize+="px"),of(this.styles,i),ke(t,i),n&&this.updateTransform(),this}htmlGetBBox(){let{element:i}=this;return{x:i.offsetLeft,y:i.offsetTop,width:i.offsetWidth,height:i.offsetHeight}}updateTransform(){if(!this.added){this.alignOnAdd=!0;return}let{element:i,foreignObject:t,oldTextWidth:e,renderer:s,rotation:n,rotationOriginX:r,rotationOriginY:o,scaleX:a,scaleY:h,styles:{display:c="inline-block",whiteSpace:f},textAlign:d="left",textWidth:p,translateX:m=0,translateY:u=0,x:g=0,y:x=0}=this,y=()=>this.textPxLength?this.textPxLength:(ke(i,{width:"",whiteSpace:f||"nowrap"}),i.offsetWidth);if(t||ke(i,{marginLeft:`${m}px`,marginTop:`${u}px`}),i.tagName==="SPAN"){let b=[n,d,i.innerHTML,p,this.textAlign].join(","),v=this.parentGroup?.padding*-1||0,C;if(p!==e){let E=y(),I=p||0,R=i.style.textOverflow===""&&i.style.webkitLineClamp;if((I>e||E>I||R)&&(/[\-\s\u00AD]/.test(i.textContent||i.innerText)||i.style.textOverflow==="ellipsis")){let _=n||a||E>I||R;ke(i,{width:_&&Cs(p)?p+"px":"auto",display:c,whiteSpace:f||"normal"}),this.oldTextWidth=p}}t&&(ke(i,{display:"inline-block",verticalAlign:"top"}),t.attr({width:s.width,height:s.height})),b!==this.cTT&&(C=s.fontMetrics(i).b,Ia(n)&&!t&&(n!==(this.oldRotation||0)||d!==this.oldAlign)&&ke(i,{transform:`rotate(${n}deg)`,transformOrigin:`${v}% ${v}px`}),this.getSpanCorrection(!Ia(n)&&!this.textWidth&&this.textPxLength||i.offsetWidth,C,af(d)));let{xCorr:S=0,yCorr:w=0}=this,T=(r??g)-S-g-v,k=(o??x)-w-x-v,M={left:`${g+S}px`,top:`${x+w}px`,textAlign:d,transformOrigin:`${T}px ${k}px`};(a||h)&&(M.transform=`scale(${a??1},${h??1})`),t?(super.updateTransform(),Cs(g)&&Cs(x)?(t.attr({x:g+S,y:x+w,width:i.offsetWidth+3,height:i.offsetHeight,"transform-origin":i.getAttribute("transform-origin")||"0 0"}),ke(i,{display:c,textAlign:d})):sf&&t.attr({width:0,height:0})):ke(i,M),this.cTT=b,this.oldRotation=n,this.oldAlign=d}}add(i){let{foreignObject:t,renderer:e}=this,s=e.box.parentNode,n=[];if(t)t.add(i),super.add(e.createElement("body").attr({xmlns:"http://www.w3.org/1999/xhtml"}).css({background:"transparent",margin:"0 3px 0 0"}).add(t));else{let r;if(this.parentGroup=i,i&&(r=i.div,!r)){let o=i;for(;o;)n.push(o),o=o.parentGroup;for(let a of n.reverse())r=cf(a,s)}(r||s).appendChild(this.element)}return this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(i){i!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,At.setElementHTML(this.element,i??""),this.textStr=i,this.doTransform=!0)}alignSetter(i){this.alignValue=this.textAlign=i,this.doTransform=!0}xSetter(i,t){this[t]=i,this.doTransform=!0}},Ve=Ss.prototype;Ve.visibilitySetter=Ve.opacitySetter=_a;Ve.ySetter=Ve.rotationSetter=Ve.rotationOriginXSetter=Ve.rotationOriginYSetter=Ve.xSetter;var $n=Ss;var Ba=(function(l){return l.xAxis={alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:"%[HMSL]",range:!1},second:{main:"%[HMS]",range:!1},minute:{main:"%[HM]",range:!1},hour:{main:"%[HM]",range:!1},day:{main:"%[eb]"},week:{main:"%[eb]"},month:{main:"%[bY]"},year:{main:"%Y"}},endOnTick:!1,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotationLimit:80,distance:15,enabled:!0,indentation:10,overflow:"justify",reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:"#333333",cursor:"default",fontSize:"0.8em",textOverflow:"ellipsis"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minorTicksPerMajor:5,minPadding:.01,offset:void 0,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",useHTML:!1,x:0,y:0,style:{color:"#666666",fontSize:"0.8em"}},visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#333333",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#333333"},l.yAxis={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){let{numberFormatter:i}=this.axis.chart;return i(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},l})(Ba||{}),Ra=Ba;var{addEvent:df,isFunction:ff,objectEach:pf,removeEvent:uf}=L,qn;(function(l){function i(t,e){t.eventOptions=t.eventOptions||{},pf(e.events,function(s,n){t.eventOptions[n]!==s&&(t.eventOptions[n]&&(uf(t,n,t.eventOptions[n]),delete t.eventOptions[n]),ff(s)&&(t.eventOptions[n]=s,df(t,n,s,{order:0})))})}l.registerEventOptions=i})(qn||(qn={}));var Me=qn;var{deg2rad:Kn}=W,{clamp:mf,correctFloat:Ts,defined:Zn,destroyObjectProperties:gf,extend:Wa,fireEvent:Bi,getAlignFactor:xf,isNumber:ws,merge:yf,objectEach:bf,pick:oe}=L,Qn=class{constructor(i,t,e,s,n){this.isNew=!0,this.isNewLabel=!0,this.axis=i,this.pos=t,this.type=e||"",this.parameters=n||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,Bi(this,"init"),!e&&!s&&this.addLabel()}addLabel(){let i=this,t=i.axis,e=t.options,s=t.chart,n=t.categories,r=t.logarithmic,o=t.names,a=i.pos,h=oe(i.options?.labels,e.labels),c=t.tickPositions,f=a===c[0],d=a===c[c.length-1],p=(!h.step||h.step===1)&&t.tickInterval===1,m=c.info,u=i.label,g,x,y,b=this.parameters.category||(n?oe(n[a],o[a],a):a);r&&ws(b)&&(b=Ts(r.lin2log(b))),t.dateTime&&(m?(x=s.time.resolveDTLFormat(e.dateTimeLabelFormats[!e.grid&&m.higherRanks[a]||m.unitName]),g=x.main):ws(b)&&(g=t.dateTime.getXDateFormat(b,e.dateTimeLabelFormats||{}))),i.isFirst=f,i.isLast=d;let v={axis:t,chart:s,dateTimeLabelFormat:g,isFirst:f,isLast:d,pos:a,tick:i,tickPositionInfo:m,value:b};Bi(this,"labelFormat",v);let C=T=>h.formatter?h.formatter.call(T,T):h.format?(T.text=t.defaultLabelFormatter.call(T),wt.format(h.format,T,s)):t.defaultLabelFormatter.call(T),S=C.call(v,v),w=x?.list;w?i.shortenLabel=function(){for(y=0;y<w.length;y++)if(Wa(v,{dateTimeLabelFormat:w[y]}),u.attr({text:C.call(v,v)}),u.getBBox().width<t.getSlotWidth(i)-2*(h.padding||0))return;u.attr({text:""})}:i.shortenLabel=void 0,p&&t._addedPlotLB&&i.moveLabel(S,h),!Zn(u)&&!i.movedLabel?(i.label=u=i.createLabel(S,h),i.rotation=0):u&&u.textStr!==S&&!p&&(u.textWidth&&!h.style.width&&!u.styles.width&&u.css({width:null}),u.attr({text:S}),u.textPxLength=u.getBBox().width)}createLabel(i,t,e){let s=this.axis,{renderer:n,styledMode:r}=s.chart,o=t.style.whiteSpace,a=Zn(i)&&t.enabled?n.text(i,e?.x,e?.y,t.useHTML).add(s.labelGroup):void 0;return a&&(r||a.css(yf(t.style)),a.textPxLength=a.getBBox().width,!r&&o&&a.css({whiteSpace:o})),a}destroy(){gf(this,this.axis)}getPosition(i,t,e,s){let n=this.axis,r=n.chart,o=s&&r.oldChartHeight||r.chartHeight,a={x:i?Ts(n.translate(t+e,void 0,void 0,s)+n.transB):n.left+n.offset+(n.opposite?(s&&r.oldChartWidth||r.chartWidth)-n.right-n.left:0),y:i?o-n.bottom+n.offset-(n.opposite?n.height:0):Ts(o-n.translate(t+e,void 0,void 0,s)-n.transB)};return a.y=mf(a.y,-1e9,1e9),Bi(this,"afterGetPosition",{pos:a}),a}getLabelPosition(i,t,e,s,n,r,o,a){let h=this.axis,c=h.transA,f=h.isLinked&&h.linkedParent?h.linkedParent.reversed:h.reversed,d=h.staggerLines,p=h.tickRotCorr||{x:0,y:0},m=!s&&!h.reserveSpaceDefault?-h.labelOffset*(h.labelAlign==="center"?.5:1):0,u=n.distance,g={},x,y;return h.side===0?x=e.rotation?-u:-e.getBBox().height:h.side===2?x=p.y+u:x=Math.cos(e.rotation*Kn)*(p.y-e.getBBox(!1,0).height/2),Zn(n.y)&&(x=h.side===0&&h.horiz?n.y+x:n.y),i=i+oe(n.x,[0,1,0,-1][h.side]*u)+m+p.x-(r&&s?r*c*(f?-1:1):0),t=t+x-(r&&!s?r*c*(f?1:-1):0),d&&(y=o/(a||1)%d,h.opposite&&(y=d-y-1),t+=y*(h.labelOffset/d)),g.x=i,g.y=Math.round(t),Bi(this,"afterGetLabelPosition",{pos:g,tickmarkOffset:r,index:o}),g}getLabelSize(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0}getMarkPath(i,t,e,s,n=!1,r){return r.crispLine([["M",i,t],["L",i+(n?0:-e),t+(n?e:0)]],s)}handleOverflow(i){let t=this,e=this.axis,s=e.options.labels,n=i.x,r=e.chart.chartWidth,o=e.chart.spacing,a=oe(e.labelLeft,Math.min(e.pos,o[3])),h=oe(e.labelRight,Math.max(e.isRadial?0:e.pos+e.len,r-o[1])),c=this.label,f=this.rotation,d=xf(e.labelAlign||c.attr("align")),p=c.getBBox().width,m=e.getSlotWidth(t),u=d,g={},x=m,y=1,b,v,C;!f&&s.overflow==="justify"?(b=n-d*p,v=n+(1-d)*p,b<a?x=i.x+x*(1-d)-a:v>h&&(x=h-i.x+x*d,y=-1),x=Math.min(m,x),x<m&&e.labelAlign==="center"&&(i.x+=y*(m-x-u*(m-Math.min(p,x)))),(p>x||e.autoRotation&&c?.styles?.width)&&(C=x)):f<0&&n-d*p<a?C=Math.round(n/Math.cos(f*Kn)-a):f>0&&n+d*p>h&&(C=Math.round((r-n)/Math.cos(f*Kn))),C&&c&&(t.shortenLabel?t.shortenLabel():c.css(Wa(g,{width:Math.floor(C)+"px",lineClamp:e.isRadial?0:1})))}moveLabel(i,t){let e=this,s=e.label,n=e.axis,r=!1,o;s&&s.textStr===i?(e.movedLabel=s,r=!0,delete e.label):bf(n.ticks,function(a){!r&&!a.isNew&&a!==e&&a.label&&a.label.textStr===i&&(e.movedLabel=a.label,r=!0,a.labelPos=e.movedLabel.xy,delete a.label)}),!r&&(e.labelPos||s)&&(o=e.labelPos||s.xy,e.movedLabel=e.createLabel(i,t,o),e.movedLabel&&e.movedLabel.attr({opacity:0}))}render(i,t,e){let s=this,n=s.axis,r=n.horiz,o=s.pos,a=oe(s.tickmarkOffset,n.tickmarkOffset),h=s.getPosition(r,o,a,t),c=h.x,f=h.y,d=n.pos,p=d+n.len,m=r?c:f,u=oe(e,s.label?.newOpacity,1);!n.chart.polar&&(Ts(m)<d||m>p)&&(e=0),e??(e=1),this.isActive=!0,this.renderGridLine(t,e),this.renderMark(h,e),this.renderLabel(h,t,u,i),s.isNew=!1,Bi(this,"afterRender")}renderGridLine(i,t){let e=this,s=e.axis,n=s.options,r={},o=e.pos,a=e.type,h=oe(e.tickmarkOffset,s.tickmarkOffset),c=s.chart.renderer,f=e.gridLine,d,p=n.gridLineWidth,m=n.gridLineColor,u=n.gridLineDashStyle;e.type==="minor"&&(p=n.minorGridLineWidth,m=n.minorGridLineColor,u=n.minorGridLineDashStyle),f||(s.chart.styledMode||(r.stroke=m,r["stroke-width"]=p||0,r.dashstyle=u),a||(r.zIndex=1),i&&(t=0),e.gridLine=f=c.path().attr(r).addClass("highcharts-"+(a?a+"-":"")+"grid-line").add(s.gridGroup)),f&&(d=s.getPlotLinePath({value:o+h,lineWidth:f.strokeWidth(),force:"pass",old:i,acrossPanes:!1}),d&&f[i||e.isNew?"attr":"animate"]({d,opacity:t}))}renderMark(i,t){let e=this,s=e.axis,n=s.options,r=s.chart.renderer,o=e.type,a=s.tickSize(o?o+"Tick":"tick"),h=i.x,c=i.y,f=oe(n[o!=="minor"?"tickWidth":"minorTickWidth"],!o&&s.isXAxis?1:0),d=n[o!=="minor"?"tickColor":"minorTickColor"],p=e.mark,m=!p;a&&(s.opposite&&(a[0]=-a[0]),p||(e.mark=p=r.path().addClass("highcharts-"+(o?o+"-":"")+"tick").add(s.axisGroup),s.chart.styledMode||p.attr({stroke:d,"stroke-width":f})),p[m?"attr":"animate"]({d:e.getMarkPath(h,c,a[0],p.strokeWidth(),s.horiz,r),opacity:t}))}renderLabel(i,t,e,s){let n=this,r=n.axis,o=r.horiz,a=r.options,h=n.label,c=a.labels,f=c.step,d=oe(n.tickmarkOffset,r.tickmarkOffset),p=i.x,m=i.y,u=!0;h&&ws(p)&&(h.xy=i=n.getLabelPosition(p,m,h,o,c,d,s,f),n.isFirst&&!n.isLast&&!a.showFirstLabel||n.isLast&&!n.isFirst&&!a.showLastLabel?u=!1:o&&!c.step&&!c.rotation&&!t&&e!==0&&n.handleOverflow(i),f&&s%f&&(u=!1),u&&ws(i.y)?(i.opacity=e,h[n.isNewLabel?"attr":"animate"](i).show(!0),n.isNewLabel=!1):(h.hide(),n.isNewLabel=!0))}replaceMovedLabel(){let i=this,t=i.label,e=i.axis;t&&!i.isNew&&(t.animate({opacity:0},void 0,t.destroy),delete i.label),e.isDirty=!0,i.label=i.movedLabel,delete i.movedLabel}},ge=Qn;var{animObject:vf}=ot,{xAxis:Na,yAxis:Cf}=Ra,{defaultOptions:er}=Tt,{registerEventOptions:Sf}=Me,{deg2rad:Tf}=W,{arrayMax:Fa,arrayMin:wf,clamp:Jn,correctFloat:Yt,defined:lt,destroyObjectProperties:Df,erase:Ha,error:tr,extend:ks,fireEvent:ut,getClosestDistance:za,insertItem:Pf,isArray:Xa,isNumber:V,isString:Ya,merge:Ms,normalizeTickInterval:kf,objectEach:Ds,pick:Q,relativeLength:Ps,removeEvent:Mf,splat:Of,syncTimeout:Af}=L,ja=(l,i)=>kf(i,void 0,void 0,Q(l.options.allowDecimals,i<.5||l.tickAmount!==void 0),!!l.tickAmount);ks(er,{xAxis:Na,yAxis:Ms(Na,Cf)});var Ef=(()=>{class l{constructor(t,e,s){this.init(t,e,s)}init(t,e,s=this.coll){let n=s==="xAxis",r=this,o=r.isZAxis||(t.inverted?!n:n);r.chart=t,r.horiz=o,r.isXAxis=n,r.coll=s,ut(this,"init",{userOptions:e}),r.opposite=Q(e.opposite,r.opposite),r.side=Q(e.side,r.side,o?r.opposite?0:2:r.opposite?1:3),r.setOptions(e);let a=r.options,h=a.labels;r.type??(r.type=a.type||"linear"),r.uniqueNames??(r.uniqueNames=a.uniqueNames??!0),ut(r,"afterSetType"),r.userOptions=e,r.minPixelPadding=0,r.reversed=Q(a.reversed,r.reversed),r.visible=a.visible,r.zoomEnabled=a.zoomEnabled,r.hasNames=this.type==="category"||a.categories===!0,r.categories=Xa(a.categories)&&a.categories||(r.hasNames?[]:void 0),r.names||(r.names=[],r.names.keys={}),r.plotLinesAndBandsGroups={},r.positiveValuesOnly=!!r.logarithmic,r.isLinked=lt(a.linkedTo),r.ticks={},r.labelEdge=[],r.minorTicks={},r.plotLinesAndBands=[],r.alternateBands={},r.len??(r.len=0),r.minRange=r.userMinRange=a.minRange||a.maxZoom,r.range=a.range,r.offset=a.offset||0,r.max=void 0,r.min=void 0;let c=Q(a.crosshair,Of(t.options.tooltip.crosshairs)[n?0:1]);r.crosshair=c===!0?{}:c,t.axes.indexOf(r)===-1&&(n?t.axes.splice(t.xAxis.length,0,r):t.axes.push(r),Pf(this,t[this.coll])),t.orderItems(r.coll),r.series=r.series||[],t.inverted&&!r.isZAxis&&n&&!lt(r.reversed)&&(r.reversed=!0),r.labelRotation=V(h.rotation)?h.rotation:void 0,Sf(r,a),ut(this,"afterInit")}setOptions(t){let e=this.horiz?{labels:{autoRotation:[-45],padding:3},margin:15}:{labels:{padding:1},title:{rotation:90*this.side}};this.options=Ms(e,this.coll==="yAxis"?{title:{text:this.chart.options.lang.yAxisTitle}}:{},er[this.coll],t),ut(this,"afterSetOptions",{userOptions:t})}defaultLabelFormatter(){let t=this.axis,e=this.chart,{numberFormatter:s}=e,n=V(this.value)?this.value:NaN,r=t.chart.time,o=t.categories,a=this.dateTimeLabelFormat,h=er.lang,c=h.numericSymbols,f=h.numericSymbolMagnitude||1e3,d=t.logarithmic?Math.abs(n):t.tickInterval,p=c?.length,m,u;if(o)u=`${this.value}`;else if(a)u=r.dateFormat(a,n,!0);else if(p&&c&&d>=1e3)for(;p--&&typeof u>"u";)m=Math.pow(f,p+1),d>=m&&n*10%m===0&&c[p]!==null&&n!==0&&(u=s(n/m,-1)+c[p]);return typeof u>"u"&&(Math.abs(n)>=1e4?u=s(n,-1):u=s(n,-1,void 0,"")),u}getSeriesExtremes(){let t=this,e;ut(this,"getSeriesExtremes",null,function(){t.hasVisibleSeries=!1,t.dataMin=t.dataMax=t.threshold=void 0,t.softThreshold=!t.isXAxis,t.series.forEach(s=>{if(s.reserveSpace()){let n=s.options,r,o=n.threshold,a,h;if(t.hasVisibleSeries=!0,t.positiveValuesOnly&&(o||0)<=0&&(o=void 0),t.isXAxis)r=s.getColumn("x"),r.length&&(r=t.logarithmic?r.filter(c=>c>0):r,e=s.getXExtremes(r),a=e.min,h=e.max,!V(a)&&!(a instanceof Date)&&(r=r.filter(V),e=s.getXExtremes(r),a=e.min,h=e.max),r.length&&(t.dataMin=Math.min(Q(t.dataMin,a),a),t.dataMax=Math.max(Q(t.dataMax,h),h)));else{let c=s.applyExtremes();V(c.dataMin)&&(a=c.dataMin,t.dataMin=Math.min(Q(t.dataMin,a),a)),V(c.dataMax)&&(h=c.dataMax,t.dataMax=Math.max(Q(t.dataMax,h),h)),lt(o)&&(t.threshold=o),(!n.softThreshold||t.positiveValuesOnly)&&(t.softThreshold=!1)}}})}),ut(this,"afterGetSeriesExtremes")}translate(t,e,s,n,r,o){let a=this.linkedParent||this,h=n&&a.old?a.old.min:a.min;if(!V(h))return NaN;let c=a.minPixelPadding,f=(a.isOrdinal||a.brokenAxis?.hasBreaks||a.logarithmic&&r)&&a.lin2val,d=1,p=0,m=n&&a.old?a.old.transA:a.transA,u=0;return m||(m=a.transA),s&&(d*=-1,p=a.len),a.reversed&&(d*=-1,p-=d*(a.sector||a.len)),e?(t=t*d+p,t-=c,u=t/m+h,f&&(u=a.lin2val(u))):(f&&(t=a.val2lin(t)),u=d*(t-h)*m+p+d*c+(V(o)?m*o:0),a.isRadial||(u=Yt(u))),u}toPixels(t,e){return this.translate(this.chart?.time.parse(t)??NaN,!1,!this.horiz,void 0,!0)+(e?0:this.pos)}toValue(t,e){return this.translate(t-(e?0:this.pos),!0,!this.horiz,void 0,!0)}getPlotLinePath(t){let e=this,s=e.chart,n=e.left,r=e.top,o=t.old,a=t.value,h=t.lineWidth,c=o&&s.oldChartHeight||s.chartHeight,f=o&&s.oldChartWidth||s.chartWidth,d=e.transB,p=t.translatedValue,m=t.force,u,g,x,y,b;function v(S,w,T){return m!=="pass"&&(S<w||S>T)&&(m?S=Jn(S,w,T):b=!0),S}let C={value:a,lineWidth:h,old:o,force:m,acrossPanes:t.acrossPanes,translatedValue:p};return ut(this,"getPlotLinePath",C,function(S){p=Q(p,e.translate(a,void 0,void 0,o)),p=Jn(p,-1e9,1e9),u=x=p+d,g=y=c-p-d,V(p)?e.horiz?(g=r,y=c-e.bottom+(e.options.isInternal?0:s.scrollablePixelsY||0),u=x=v(u,n,n+e.width)):(u=n,x=f-e.right+(s.scrollablePixelsX||0),g=y=v(g,r,r+e.height)):(b=!0,m=!1),S.path=b&&!m?void 0:s.renderer.crispLine([["M",u,g],["L",x,y]],h||1)}),C.path}getLinearTickPositions(t,e,s){let n=Yt(Math.floor(e/t)*t),r=Yt(Math.ceil(s/t)*t),o=[],a,h,c;if(Yt(n+t)===n&&(c=20),this.single)return[e];for(a=n;a<=r&&(o.push(a),a=Yt(a+t,c),a!==h);)h=a;return o}getMinorTickInterval(){let{minorTicks:t,minorTickInterval:e}=this.options;if(t===!0)return Q(e,"auto");if(t!==!1)return e}getMinorTickPositions(){let t=this,e=t.options,s=t.tickPositions,n=t.minorTickInterval,r=t.pointRangePadding||0,o=(t.min||0)-r,a=(t.max||0)+r,h=t.brokenAxis?.hasBreaks?t.brokenAxis.unitLength:a-o,c=[],f;if(h&&h/n<t.len/3){let d=t.logarithmic;if(d)this.paddedTicks.forEach(function(p,m,u){m&&c.push.apply(c,d.getLogTickPositions(n,u[m-1],u[m],!0))});else if(t.dateTime&&this.getMinorTickInterval()==="auto")c=c.concat(t.getTimeTicks(t.dateTime.normalizeTimeTickInterval(n),o,a,e.startOfWeek));else for(f=o+(s[0]-o)%n;f<=a&&f!==c[0];f+=n)c.push(f)}return c.length!==0&&t.trimTicks(c),c}adjustForMinRange(){let t=this,e=t.options,s=t.logarithmic,n=t.chart.time,{max:r,min:o,minRange:a}=t,h,c,f,d,p;t.isXAxis&&typeof a>"u"&&!s&&(lt(e.min)||lt(e.max)||lt(e.floor)||lt(e.ceiling)?a=null:(f=za(t.series.map(m=>{let u=m.getColumn("x");return m.xIncrement?u.slice(0,2):u}))||0,a=Math.min(f*5,t.dataMax-t.dataMin))),V(r)&&V(o)&&V(a)&&r-o<a&&(c=t.dataMax-t.dataMin>=a,h=(a-r+o)/2,d=[o-h,n.parse(e.min)??o-h],c&&(d[2]=s?s.log2lin(t.dataMin):t.dataMin),o=Fa(d),p=[o+a,n.parse(e.max)??o+a],c&&(p[2]=s?s.log2lin(t.dataMax):t.dataMax),r=wf(p),r-o<a&&(d[0]=r-a,d[1]=n.parse(e.min)??r-a,o=Fa(d))),t.minRange=a,t.min=o,t.max=r}getClosest(){let t,e;if(this.categories)e=1;else{let s=[];this.series.forEach(function(n){let r=n.closestPointRange,o=n.getColumn("x");o.length===1?s.push(o[0]):n.sorted&<(r)&&n.reserveSpace()&&(e=lt(e)?Math.min(e,r):r)}),s.length&&(s.sort((n,r)=>n-r),t=za([s]))}return t&&e?Math.min(t,e):t||e}nameToX(t){let e=Xa(this.options.categories),s=e?this.categories:this.names,n=t.options.x,r;return t.series.requireSorting=!1,lt(n)||(n=this.uniqueNames&&s?e?s.indexOf(t.name):Q(s.keys[t.name],-1):t.series.autoIncrement()),n===-1?!e&&s&&(r=s.length):V(n)&&(r=n),typeof r<"u"?(this.names[r]=t.name,this.names.keys[t.name]=r):t.x&&(r=t.x),r}updateNames(){let t=this,e=this.names;e.length>0&&(Object.keys(e.keys).forEach(function(n){delete e.keys[n]}),e.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(n=>{n.xIncrement=null,(!n.points||n.isDirtyData)&&(t.max=Math.max(t.max||0,n.dataTable.rowCount-1),n.processData(),n.generatePoints());let r=n.getColumn("x").slice();n.data.forEach((o,a)=>{let h=r[a];o?.options&&typeof o.name<"u"&&(h=t.nameToX(o),typeof h<"u"&&h!==o.x&&(r[a]=o.x=h))}),n.dataTable.setColumn("x",r)}))}setAxisTranslation(){let t=this,e=t.max-t.min,s=t.linkedParent,n=!!t.categories,r=t.isXAxis,o=t.axisPointRange||0,a,h=0,c=0,f,d=t.transA;(r||n||o)&&(a=t.getClosest(),s?(h=s.minPointOffset,c=s.pointRangePadding):t.series.forEach(function(p){let m=n?1:r?Q(p.options.pointRange,a,0):t.axisPointRange||0,u=p.options.pointPlacement;if(o=Math.max(o,m),!t.single||n){let g=p.is("xrange")?!r:r;h=Math.max(h,g&&Ya(u)?0:m/2),c=Math.max(c,g&&u==="on"?0:m)}}),f=t.ordinal?.slope&&a?t.ordinal.slope/a:1,t.minPointOffset=h=h*f,t.pointRangePadding=c=c*f,t.pointRange=Math.min(o,t.single&&n?1:e),r&&(t.closestPointRange=a)),t.translationSlope=t.transA=d=t.staticScale||t.len/(e+c||1),t.transB=t.horiz?t.left:t.bottom,t.minPixelPadding=d*h,ut(this,"afterSetAxisTranslation")}minFromRange(){let{max:t,min:e}=this;return V(t)&&V(e)&&t-e||void 0}setTickInterval(t){let e=this,{categories:s,chart:n,dataMax:r,dataMin:o,dateTime:a,isXAxis:h,logarithmic:c,options:f,softThreshold:d}=e,p=n.time,m=V(e.threshold)?e.threshold:void 0,u=e.minRange||0,{ceiling:g,floor:x,linkedTo:y,softMax:b,softMin:v}=f,C=V(y)&&n[e.coll]?.[y],S=f.tickPixelInterval,w=f.maxPadding,T=f.minPadding,k=0,M,E=V(f.tickInterval)&&f.tickInterval>=0?f.tickInterval:void 0,I,R,_,B;if(!a&&!s&&!C&&this.getTickAmount(),_=Q(e.userMin,p.parse(f.min)),B=Q(e.userMax,p.parse(f.max)),C?(e.linkedParent=C,M=C.getExtremes(),e.min=Q(M.min,M.dataMin),e.max=Q(M.max,M.dataMax),this.type!==C.type&&tr(11,!0,n)):(d&<(m)&&V(r)&&V(o)&&(o>=m?(I=m,T=0):r<=m&&(R=m,w=0)),e.min=Q(_,I,o),e.max=Q(B,R,r)),V(e.max)&&V(e.min)&&(c&&(e.positiveValuesOnly&&!t&&Math.min(e.min,Q(o,e.min))<=0&&tr(10,!0,n),e.min=Yt(c.log2lin(e.min),16),e.max=Yt(c.log2lin(e.max),16)),e.range&&V(o)&&(e.userMin=e.min=_=Math.max(o,e.minFromRange()||0),e.userMax=B=e.max,e.range=void 0)),ut(e,"foundExtremes"),e.adjustForMinRange(),V(e.min)&&V(e.max)){if(!V(e.userMin)&&V(v)&&v<e.min&&(e.min=_=v),!V(e.userMax)&&V(b)&&b>e.max&&(e.max=B=b),!s&&!e.axisPointRange&&!e.stacking?.usePercentage&&!C&&(k=e.max-e.min,k&&(!lt(_)&&T&&(e.min-=k*T),!lt(B)&&w&&(e.max+=k*w))),!V(e.userMin)&&V(x)&&(e.min=Math.max(e.min,x)),!V(e.userMax)&&V(g)&&(e.max=Math.min(e.max,g)),d&&V(o)&&V(r)){let Y=m||0;!lt(_)&&e.min<Y&&o>=Y?e.min=f.minRange?Math.min(Y,e.max-u):Y:!lt(B)&&e.max>Y&&r<=Y&&(e.max=f.minRange?Math.max(Y,e.min+u):Y)}!n.polar&&e.min>e.max&&(lt(f.min)?e.max=e.min:lt(f.max)&&(e.min=e.max)),k=e.max-e.min}if(e.min===e.max||!V(e.min)||!V(e.max)?e.tickInterval=1:C&&!E&&S===C.options.tickPixelInterval?e.tickInterval=E=C.tickInterval:e.tickInterval=Q(E,this.tickAmount?k/Math.max(this.tickAmount-1,1):void 0,s?1:k*S/Math.max(e.len,S)),h&&!t){let Y=e.min!==e.old?.min||e.max!==e.old?.max;e.series.forEach(function(K){K.forceCrop=K.forceCropping?.(),K.processData(Y)}),ut(this,"postProcessData",{hasExtremesChanged:Y})}e.setAxisTranslation(),ut(this,"initialAxisTranslation"),e.pointRange&&!E&&(e.tickInterval=Math.max(e.pointRange,e.tickInterval));let N=Q(f.minTickInterval,a&&!e.series.some(Y=>!Y.sorted)?e.closestPointRange:0);!E&&N&&e.tickInterval<N&&(e.tickInterval=N),!a&&!c&&!E&&(e.tickInterval=ja(e,e.tickInterval)),this.tickAmount||(e.tickInterval=e.unsquish()),this.setTickPositions()}setTickPositions(){let t=this,e=this.options,s=e.tickPositions,n=e.tickPositioner,r=this.getMinorTickInterval(),o=!this.isPanning,a=o&&e.startOnTick,h=o&&e.endOnTick,c=[],f;if(this.tickmarkOffset=this.categories&&e.tickmarkPlacement==="between"&&this.tickInterval===1?.5:0,this.single=this.min===this.max&<(this.min)&&!this.tickAmount&&(this.min%1===0||e.allowDecimals!==!1),s)c=s.slice();else if(V(this.min)&&V(this.max)){if(!t.ordinal?.positions&&(this.max-this.min)/this.tickInterval>Math.max(2*this.len,200))c=[this.min,this.max],tr(19,!1,this.chart);else if(t.dateTime)c=t.getTimeTicks(t.dateTime.normalizeTimeTickInterval(this.tickInterval,e.units),this.min,this.max,e.startOfWeek,t.ordinal?.positions,this.closestPointRange,!0);else if(t.logarithmic)c=t.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let d=this.tickInterval,p=d;for(;p<=d*2&&(c=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&c.length>this.tickAmount);)this.tickInterval=ja(this,p*=1.1)}c.length>this.len&&(c=[c[0],c[c.length-1]],c[0]===c[1]&&(c.length=1)),n&&(this.tickPositions=c,f=n.apply(t,[this.min,this.max]),f&&(c=f))}this.tickPositions=c,this.minorTickInterval=r==="auto"&&this.tickInterval?this.tickInterval/e.minorTicksPerMajor:r,this.paddedTicks=c.slice(0),this.trimTicks(c,a,h),!this.isLinked&&V(this.min)&&V(this.max)&&(this.single&&c.length<2&&!this.categories&&!this.series.some(d=>d.is("heatmap")&&d.options.pointPlacement==="between")&&(this.min-=.5,this.max+=.5),!s&&!f&&this.adjustTickAmount()),ut(this,"afterSetTickPositions")}trimTicks(t,e,s){let n=t[0],r=t[t.length-1],o=!this.isOrdinal&&this.minPointOffset||0;if(ut(this,"trimTicks"),!this.isLinked||!this.grid){if(e&&n!==-1/0)this.min=n;else for(;this.min-o>t[0];)t.shift();if(s)this.max=r;else for(;this.max+o<t[t.length-1];)t.pop();t.length===0&<(n)&&!this.options.tickPositions&&t.push((r+n)/2)}}alignToOthers(){let t=this,e=t.chart,s=[this],n=t.options,r=e.options.chart,o=this.coll==="yAxis"&&r.alignThresholds,a=[],h;if(t.thresholdAlignment=void 0,(r.alignTicks!==!1&&n.alignTicks||o)&&n.startOnTick!==!1&&n.endOnTick!==!1&&!t.logarithmic){let c=d=>{let{horiz:p,options:m}=d;return[p?m.left:m.top,m.width,m.height,m.pane].join(",")},f=c(this);e[this.coll].forEach(function(d){let{series:p}=d;p.length&&p.some(m=>m.visible)&&d!==t&&c(d)===f&&(h=!0,s.push(d))})}if(h&&o){s.forEach(f=>{let d=f.getThresholdAlignment(t);V(d)&&a.push(d)});let c=a.length>1?a.reduce((f,d)=>f+=d,0)/a.length:void 0;s.forEach(f=>{f.thresholdAlignment=c})}return h}getThresholdAlignment(t){if((!V(this.dataMin)||this!==t&&this.series.some(e=>e.isDirty||e.isDirtyData))&&this.getSeriesExtremes(),V(this.threshold)){let e=Jn((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return this.options.reversed&&(e=1-e),e}}getTickAmount(){let t=this,e=this.options,s=e.tickPixelInterval,n=e.tickAmount;!lt(e.tickInterval)&&!n&&this.len<s&&!this.isRadial&&!t.logarithmic&&e.startOnTick&&e.endOnTick&&(n=2),!n&&this.alignToOthers()&&(n=Math.ceil(this.len/s)+1),n<4&&(this.finalTickAmt=n,n=5),this.tickAmount=n}adjustTickAmount(){let t=this,{finalTickAmt:e,max:s,min:n,options:r,tickPositions:o,tickAmount:a,thresholdAlignment:h}=t,c=o?.length,f=Q(t.threshold,t.softThreshold?0:null),d,p,m=t.tickInterval,u,g=()=>o.push(Yt(o[o.length-1]+m)),x=()=>o.unshift(Yt(o[0]-m));if(V(h)&&(u=h<.5?Math.ceil(h*(a-1)):Math.floor(h*(a-1)),r.reversed&&(u=a-1-u)),t.hasData()&&V(n)&&V(s)){let y=()=>{t.transA*=(c-1)/(a-1),t.min=r.startOnTick?o[0]:Math.min(n,o[0]),t.max=r.endOnTick?o[o.length-1]:Math.max(s,o[o.length-1])};if(V(u)&&V(t.threshold)){for(;o[u]!==f||o.length!==a||o[0]>n||o[o.length-1]<s;){for(o.length=0,o.push(t.threshold);o.length<a;)o[u]===void 0||o[u]>t.threshold?x():g();if(m>t.tickInterval*8)break;m*=2}y()}else if(c<a){for(;o.length<a;)o.length%2||n===f?g():x();y()}if(lt(e)){for(p=d=o.length;p--;)(e===3&&p%2===1||e<=2&&p>0&&p<d-1)&&o.splice(p,1);t.finalTickAmt=void 0}}}setScale(){let t=this,{coll:e,stacking:s}=t,n=!1,r=!1;t.series.forEach(a=>{n=n||a.isDirtyData||a.isDirty,r=r||a.xAxis?.isDirty||!1}),t.setAxisSize();let o=t.len!==t.old?.len;o||n||r||t.isLinked||t.forceRedraw||t.userMin!==t.old?.userMin||t.userMax!==t.old?.userMax||t.alignToOthers()?(s&&e==="yAxis"&&s.buildStacks(),t.forceRedraw=!1,t.userMinRange||(t.minRange=void 0),t.getSeriesExtremes(),t.setTickInterval(),s&&e==="xAxis"&&s.buildStacks(),t.isDirty||(t.isDirty=o||t.min!==t.old?.min||t.max!==t.old?.max)):s&&s.cleanStacks(),n&&delete t.allExtremes,ut(this,"afterSetScale")}setExtremes(t,e,s=!0,n,r){let o=this.chart;this.series.forEach(a=>{delete a.kdTree}),t=o.time.parse(t),e=o.time.parse(e),r=ks(r,{min:t,max:e}),ut(this,"setExtremes",r,a=>{this.userMin=a.min,this.userMax=a.max,this.eventArgs=a,s&&o.redraw(n)})}setAxisSize(){let t=this.chart,e=this.options,s=e.offsets||[0,0,0,0],n=this.horiz,r=this.width=Math.round(Ps(Q(e.width,t.plotWidth-s[3]+s[1]),t.plotWidth)),o=this.height=Math.round(Ps(Q(e.height,t.plotHeight-s[0]+s[2]),t.plotHeight)),a=this.top=Math.round(Ps(Q(e.top,t.plotTop+s[0]),t.plotHeight,t.plotTop)),h=this.left=Math.round(Ps(Q(e.left,t.plotLeft+s[3]),t.plotWidth,t.plotLeft));this.bottom=t.chartHeight-o-a,this.right=t.chartWidth-r-h,this.len=Math.max(n?r:o,0),this.pos=n?h:a}getExtremes(){let t=this,e=t.logarithmic;return{min:e?Yt(e.lin2log(t.min)):t.min,max:e?Yt(e.lin2log(t.max)):t.max,dataMin:t.dataMin,dataMax:t.dataMax,userMin:t.userMin,userMax:t.userMax}}getThreshold(t){let e=this,s=e.logarithmic,n=s?s.lin2log(e.min):e.min,r=s?s.lin2log(e.max):e.max;return t===null||t===-1/0?t=n:t===1/0?t=r:n>t?t=n:r<t&&(t=r),e.translate(t,0,1,0,1)}autoLabelAlign(t){let e=(Q(t,0)-this.side*90+720)%360,s={align:"center"};return ut(this,"autoLabelAlign",s,function(n){e>15&&e<165?n.align="right":e>195&&e<345&&(n.align="left")}),s.align}tickSize(t){let e=this.options,s=Q(e[t==="tick"?"tickWidth":"minorTickWidth"],t==="tick"&&this.isXAxis&&!this.categories?1:0),n=e[t==="tick"?"tickLength":"minorTickLength"],r;s&&n&&(e[t+"Position"]==="inside"&&(n=-n),r=[n,s]);let o={tickSize:r};return ut(this,"afterTickSize",o),o.tickSize}labelMetrics(){let t=this.chart.renderer,e=this.ticks,s=e[Object.keys(e)[0]]||{};return this.chart.renderer.fontMetrics(s.label||s.movedLabel||t.box)}unsquish(){let t=this.options.labels,e=t.padding||0,s=this.horiz,n=this.tickInterval,r=this.len/(((this.categories?1:0)+this.max-this.min)/n),o=t.rotation,a=Yt(this.labelMetrics().h*.8),h=Math.max(this.max-this.min,0),c=function(u){let g=(u+2*e)/(r||1);return g=g>1?Math.ceil(g):1,g*n>h&&u!==1/0&&r!==1/0&&h&&(g=Math.ceil(h/n)),Yt(g*n)},f=n,d,p=Number.MAX_VALUE,m;if(s){if(t.staggerLines||(V(o)?m=[o]:r<t.autoRotationLimit&&(m=t.autoRotation)),m){let u,g;for(let x of m)(x===o||x&&x>=-90&&x<=90)&&(u=c(Math.abs(a/Math.sin(Tf*x))),g=u+Math.abs(x/360),g<p&&(p=g,d=x,f=u))}}else f=c(a*.75);return this.autoRotation=m,this.labelRotation=Q(d,V(o)?o:0),t.step?n:f}getSlotWidth(t){let e=this.chart,s=this.horiz,n=this.options.labels,r=Math.max(this.tickPositions.length-(this.categories?0:1),1),o=e.margin[3];if(t&&V(t.slotWidth))return t.slotWidth;if(s&&n.step<2&&!this.isRadial)return n.rotation?0:(this.staggerLines||1)*this.len/r;if(!s){let a=n.style.width;if(a!==void 0)return parseInt(String(a),10);if(o)return o-e.spacing[3]}return e.chartWidth*.33}renderUnsquish(){let t=this.chart,e=t.renderer,s=this.tickPositions,n=this.ticks,r=this.options.labels,o=r.style,a=this.horiz,h=this.getSlotWidth(),c=Math.max(1,Math.round(h-(a?2*(r.padding||0):r.distance||0))),f={},d=this.labelMetrics(),p=o.lineClamp,m,u=p??(Math.floor(this.len/(s.length*d.h))||1),g=0;Ya(r.rotation)||(f.rotation=r.rotation||0),s.forEach(function(x){let y=n[x];y.movedLabel&&y.replaceMovedLabel();let b=y.label?.textPxLength||0;b>g&&(g=b)}),this.maxLabelLength=g,this.autoRotation?g>c&&g>d.h?f.rotation=this.labelRotation:this.labelRotation=0:h&&(m=c),f.rotation&&(m=g>t.chartHeight*.5?t.chartHeight*.33:g,p||(u=1)),this.labelAlign=r.align||this.autoLabelAlign(this.labelRotation),this.labelAlign&&(f.align=this.labelAlign),s.forEach(function(x){let y=n[x],b=y?.label,v=o.width,C={};b&&(b.attr(f),y.shortenLabel?y.shortenLabel():m&&!v&&o.whiteSpace!=="nowrap"&&(m<(b.textPxLength||0)||b.element.tagName==="SPAN")?b.css(ks(C,{width:`${m}px`,lineClamp:u})):b.styles.width&&!C.width&&!v&&b.css({width:"auto"}),y.rotation=f.rotation)},this),this.tickRotCorr=e.rotCorr(d.b,this.labelRotation||0,this.side!==0)}hasData(){return this.series.some(function(t){return t.hasData()})||this.options.showEmpty&<(this.min)&<(this.max)}addTitle(t){let e=this,s=e.chart.renderer,n=e.horiz,r=e.opposite,o=e.options,a=o.title,h=e.chart.styledMode,c;e.axisTitle||(c=a.textAlign,c||(c=(n?{low:"left",middle:"center",high:"right"}:{low:r?"right":"left",middle:"center",high:r?"left":"right"})[a.align]),e.axisTitle=s.text(a.text||"",0,0,a.useHTML).attr({zIndex:7,rotation:a.rotation||0,align:c}).addClass("highcharts-axis-title"),h||e.axisTitle.css(Ms(a.style)),e.axisTitle.add(e.axisGroup),e.axisTitle.isNew=!0),!h&&!a.style.width&&!e.isRadial&&e.axisTitle.css({width:e.len+"px"}),e.axisTitle[t?"show":"hide"](t)}generateTick(t){let e=this,s=e.ticks;s[t]?s[t].addLabel():s[t]=new ge(e,t)}createGroups(){let{axisParent:t,chart:e,coll:s,options:n}=this,r=e.renderer,o=(a,h,c)=>r.g(a).attr({zIndex:c}).addClass(`highcharts-${s.toLowerCase()}${h} `+(this.isRadial?`highcharts-radial-axis${h} `:"")+(n.className||"")).add(t);this.axisGroup||(this.gridGroup=o("grid","-grid",n.gridZIndex),this.axisGroup=o("axis","",n.zIndex),this.labelGroup=o("axis-labels","-labels",n.labels.zIndex))}getOffset(){let t=this,{chart:e,horiz:s,options:n,side:r,ticks:o,tickPositions:a,coll:h}=t,c=e.inverted&&!t.isZAxis?[1,0,3,2][r]:r,f=t.hasData(),d=n.title,p=n.labels,m=V(n.crossing),u=e.axisOffset,g=e.clipOffset,x=[-1,1,1,-1][r],y,b=0,v,C=0,S=0,w,T;if(t.showAxis=y=f||n.showEmpty,t.staggerLines=t.horiz&&p.staggerLines||void 0,t.createGroups(),f||t.isLinked?(a.forEach(function(k){t.generateTick(k)}),t.renderUnsquish(),t.reserveSpaceDefault=r===0||r===2||{1:"left",3:"right"}[r]===t.labelAlign,Q(p.reserveSpace,m?!1:null,t.labelAlign==="center"?!0:null,t.reserveSpaceDefault)&&a.forEach(function(k){S=Math.max(o[k].getLabelSize(),S)}),t.staggerLines&&(S*=t.staggerLines),t.labelOffset=S*(t.opposite?-1:1)):Ds(o,function(k,M){k.destroy(),delete o[M]}),d?.text&&d.enabled!==!1&&(t.addTitle(y),y&&!m&&d.reserveSpace!==!1&&(t.titleOffset=b=t.axisTitle.getBBox()[s?"height":"width"],v=d.offset,C=lt(v)?0:Q(d.margin,s?5:10))),t.renderLine(),t.offset=x*Q(n.offset,u[r]?u[r]+(n.margin||0):0),t.tickRotCorr=t.tickRotCorr||{x:0,y:0},r===0?T=-t.labelMetrics().h:r===2?T=t.tickRotCorr.y:T=0,w=Math.abs(S)+C,S&&(w-=T,w+=x*(s?Q(p.y,t.tickRotCorr.y+x*p.distance):Q(p.x,x*p.distance))),t.axisTitleMargin=Q(v,w),t.getMaxLabelDimensions&&(t.maxLabelDimensions=t.getMaxLabelDimensions(o,a)),h!=="colorAxis"&&g){let k=this.tickSize("tick");u[r]=Math.max(u[r],(t.axisTitleMargin||0)+b+x*t.offset,w,a?.length&&k?k[0]+x*t.offset:0);let M=!t.axisLine||n.offset?0:t.axisLine.strokeWidth()/2;g[c]=Math.max(g[c],M)}ut(this,"afterGetOffset")}getLinePath(t){let e=this.chart,s=this.opposite,n=this.offset,r=this.horiz,o=this.left+(s?this.width:0)+n,a=e.chartHeight-this.bottom-(s?this.height:0)+n;return s&&(t*=-1),e.renderer.crispLine([["M",r?this.left:o,r?a:this.top],["L",r?e.chartWidth-this.right:o,r?a:e.chartHeight-this.bottom]],t)}renderLine(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.chart.styledMode||this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))}getTitlePosition(t){let e=this.horiz,s=this.left,n=this.top,r=this.len,o=this.options.title,a=e?s:n,h=this.opposite,c=this.offset,f=o.x,d=o.y,p=this.chart.renderer.fontMetrics(t),m=t?Math.max(t.getBBox(!1,0).height-p.h-1,0):0,u={low:a+(e?0:r),middle:a+r/2,high:a+(e?r:0)}[o.align],g=(e?n+this.height:s)+(e?1:-1)*(h?-1:1)*(this.axisTitleMargin||0)+[-m,m,p.f,-m][this.side],x={x:e?u+f:g+(h?this.width:0)+c+f,y:e?g+d-(h?this.height:0)+c:u+d};return ut(this,"afterGetTitlePosition",{titlePosition:x}),x}renderMinorTick(t,e){let s=this,n=s.minorTicks;n[t]||(n[t]=new ge(s,t,"minor")),e&&n[t].isNew&&n[t].render(null,!0),n[t].render(null,!1,1)}renderTick(t,e,s){let n=this,r=n.isLinked,o=n.ticks;(!r||t>=n.min&&t<=n.max||n.grid?.isColumn)&&(o[t]||(o[t]=new ge(n,t)),s&&o[t].isNew&&o[t].render(e,!0,-1),o[t].render(e))}render(){let t=this,e=t.chart,s=t.logarithmic,n=e.renderer,r=t.options,o=t.isLinked,a=t.tickPositions,h=t.axisTitle,c=t.ticks,f=t.minorTicks,d=t.alternateBands,p=r.stackLabels,m=r.alternateGridColor,u=r.crossing,g=t.tickmarkOffset,x=t.axisLine,y=t.showAxis,b=vf(n.globalAnimation),v,C;if(t.labelEdge.length=0,t.overlap=!1,[c,f,d].forEach(function(S){Ds(S,function(w){w.isActive=!1})}),V(u)){let S=this.isXAxis?e.yAxis[0]:e.xAxis[0],w=[1,-1,-1,1][this.side];if(S){let T=S.toPixels(u,!0);t.horiz&&(T=S.len-T),t.offset=w*T}}if(t.hasData()||o){let S=t.chart.hasRendered&&t.old&&V(t.old.min);t.minorTickInterval&&!t.categories&&t.getMinorTickPositions().forEach(function(w){t.renderMinorTick(w,S)}),a.length&&(a.forEach(function(w,T){t.renderTick(w,T,S)}),g&&(t.min===0||t.single)&&(c[-1]||(c[-1]=new ge(t,-1,null,!0)),c[-1].render(-1))),m&&a.forEach(function(w,T){C=typeof a[T+1]<"u"?a[T+1]+g:t.max-g,T%2===0&&w<t.max&&C<=t.max+(e.polar?-g:g)&&(d[w]||(d[w]=new W.PlotLineOrBand(t,{})),v=w+g,d[w].options={from:s?s.lin2log(v):v,to:s?s.lin2log(C):C,color:m,className:"highcharts-alternate-grid"},d[w].render(),d[w].isActive=!0)}),t._addedPlotLB||(t._addedPlotLB=!0,(r.plotLines||[]).concat(r.plotBands||[]).forEach(function(w){t.addPlotBandOrLine(w)}))}[c,f,d].forEach(function(S){let w=[],T=b.duration,k=function(){let M=w.length;for(;M--;)S[w[M]]&&!S[w[M]].isActive&&(S[w[M]].destroy(),delete S[w[M]])};Ds(S,function(M,E){M.isActive||(M.render(E,!1,0),M.isActive=!1,w.push(E))}),Af(k,S===d||!e.hasRendered||!T?0:T)}),x&&(x[x.isPlaced?"animate":"attr"]({d:this.getLinePath(x.strokeWidth())}),x.isPlaced=!0,x[y?"show":"hide"](y)),h&&y&&(h[h.isNew?"attr":"animate"](t.getTitlePosition(h)),h.isNew=!1),p?.enabled&&t.stacking&&t.stacking.renderStackTotals(),t.old={len:t.len,max:t.max,min:t.min,transA:t.transA,userMax:t.userMax,userMin:t.userMin},t.isDirty=!1,ut(this,"afterRender")}redraw(){this.visible&&(this.render(),this.plotLinesAndBands.forEach(function(t){t.render()})),this.series.forEach(function(t){t.isDirty=!0})}getKeepProps(){return this.keepProps||l.keepProps}destroy(t){let e=this,s=e.plotLinesAndBands,n=this.eventOptions;if(ut(this,"destroy",{keepEvents:t}),t||Mf(e),[e.ticks,e.minorTicks,e.alternateBands].forEach(function(r){Df(r)}),s){let r=s.length;for(;r--;)s[r].destroy()}["axisLine","axisTitle","axisGroup","gridGroup","labelGroup","cross","scrollbar"].forEach(function(r){e[r]&&(e[r]=e[r].destroy())});for(let r in e.plotLinesAndBandsGroups)e.plotLinesAndBandsGroups[r]=e.plotLinesAndBandsGroups[r].destroy();Ds(e,function(r,o){e.getKeepProps().indexOf(o)===-1&&delete e[o]}),this.eventOptions=n}drawCrosshair(t,e){let s=this.crosshair,n=s?.snap??!0,r=this.chart,o,a,h,c=this.cross,f;if(ut(this,"drawCrosshair",{e:t,point:e}),t||(t=this.cross?.e),!s||(lt(e)||!n)===!1)this.hideCrosshair();else{if(n?lt(e)&&(a=Q(this.coll!=="colorAxis"?e.crosshairPos:null,this.isXAxis?e.plotX:this.len-e.plotY)):a=t&&(this.horiz?t.chartX-this.pos:this.len-t.chartY+this.pos),lt(a)&&(f={value:e&&(this.isXAxis?e.x:Q(e.stackY,e.y)),translatedValue:a},r.polar&&ks(f,{isCrosshair:!0,chartX:t?.chartX,chartY:t?.chartY,point:e}),o=this.getPlotLinePath(f)||null),!lt(o)){this.hideCrosshair();return}h=this.categories&&!this.isRadial,c||(this.cross=c=r.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+(h?"category ":"thin ")+(s.className||"")).attr({zIndex:Q(s.zIndex,2)}).add(),r.styledMode||(c.attr({stroke:s.color||(h?_t.parse("#ccd3ff").setOpacity(.25).get():"#cccccc"),"stroke-width":Q(s.width,1)}).css({"pointer-events":"none"}),s.dashStyle&&c.attr({dashstyle:s.dashStyle}))),c.show().attr({d:o}),h&&!s.width&&c.attr({"stroke-width":this.transA}),this.cross.e=t}ut(this,"afterDrawCrosshair",{e:t,point:e})}hideCrosshair(){this.cross&&this.cross.hide(),ut(this,"afterHideCrosshair")}update(t,e){let s=this.chart;t=Ms(this.userOptions,t),this.destroy(!0),this.init(s,t),s.isDirtyBox=!0,Q(e,!0)&&s.redraw()}remove(t){let e=this.chart,s=this.coll,n=this.series,r=n.length;for(;r--;)n[r]&&n[r].remove(!1);Ha(e.axes,this),Ha(e[s]||[],this),e.orderItems(s),this.destroy(),e.isDirtyBox=!0,Q(t,!0)&&e.redraw()}setTitle(t,e){this.update({title:t},e)}setCategories(t,e){this.update({categories:t},e)}}return l.keepProps=["coll","extKey","hcEvents","len","names","series","userMax","userMin"],l})(),Ri=Ef;var{addEvent:Lf,getMagnitude:If,normalizeTickInterval:_f,timeUnits:Os}=L,ir;(function(l){function i(n){if(!n.keepProps.includes("dateTime")){n.keepProps.push("dateTime");let r=n.prototype;r.getTimeTicks=t,Lf(n,"afterSetType",e)}return n}l.compose=i;function t(){return this.chart.time.getTimeTicks.apply(this.chart.time,arguments)}function e(){if(this.type!=="datetime"){this.dateTime=void 0;return}this.dateTime||(this.dateTime=new s(this))}class s{constructor(r){this.axis=r}normalizeTimeTickInterval(r,o){let a=o||[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2]],["week",[1,2]],["month",[1,2,3,4,6]],["year",null]],h=a[a.length-1],c=Os[h[0]],f=h[1],d;for(d=0;d<a.length;d++)if(h=a[d],c=Os[h[0]],f=h[1],a[d+1]){let m=(c*f[f.length-1]+Os[a[d+1][0]])/2;if(r<=m)break}c===Os.year&&r<5*c&&(f=[1,2,5]);let p=_f(r/c,f,h[0]==="year"?Math.max(If(r/c),1):1);return{unitRange:c,count:p,unitName:h[0]}}getXDateFormat(r,o){let{axis:a}=this,h=a.chart.time;return a.closestPointRange?h.getDateFormat(a.closestPointRange,r,a.options.startOfWeek,o)||h.resolveDTLFormat(o.year).main:h.resolveDTLFormat(o.day).main}}l.Additions=s})(ir||(ir={}));var Va=ir;var{addEvent:Ga,normalizeTickInterval:Bf,pick:Rf}=L,sr;(function(l){function i(n){return n.keepProps.includes("logarithmic")||(n.keepProps.push("logarithmic"),Ga(n,"afterSetType",t),Ga(n,"afterInit",e)),n}l.compose=i;function t(){this.type!=="logarithmic"?this.logarithmic=void 0:this.logarithmic??(this.logarithmic=new s(this))}function e(){let n=this,r=n.logarithmic;r&&(n.lin2val=function(o){return r.lin2log(o)},n.val2lin=function(o){return r.log2lin(o)})}class s{constructor(r){this.axis=r}getLogTickPositions(r,o,a,h){let c=this,f=c.axis,d=f.len,p=f.options,m=[];if(h||(c.minorAutoInterval=void 0),r>=.5)r=Math.round(r),m=f.getLinearTickPositions(r,o,a);else if(r>=.08){let u=Math.floor(o),g,x,y,b,v,C,S;for(r>.3?g=[1,2,4]:r>.15?g=[1,2,4,6,8]:g=[1,2,3,4,5,6,7,8,9],x=u;x<a+1&&!S;x++)for(b=g.length,y=0;y<b&&!S;y++)v=c.log2lin(c.lin2log(x)*g[y]),v>o&&(!h||C<=a)&&typeof C<"u"&&m.push(C),C>a&&(S=!0),C=v}else{let u=c.lin2log(o),g=c.lin2log(a),x=h?f.getMinorTickInterval():p.tickInterval,y=x==="auto"?null:x,b=p.tickPixelInterval/(h?5:1),v=h?d/f.tickPositions.length:d;r=Rf(y,c.minorAutoInterval,(g-u)*b/(v||1)),r=Bf(r),m=f.getLinearTickPositions(r,u,g).map(c.log2lin),h||(c.minorAutoInterval=r/5)}return h||(f.tickInterval=r),m}lin2log(r){return Math.pow(10,r)}log2lin(r){return Math.log(r)/Math.LN10}}l.Additions=s})(sr||(sr={}));var Ua=sr;var{erase:Wf,extend:Nf,isNumber:$a}=L,nr;(function(l){let i;function t(c){return this.addPlotBandOrLine(c,"plotBands")}function e(c,f){let d=this.userOptions,p=new i(this,c);if(this.visible&&(p=p.render()),p){if(this._addedPlotLB||(this._addedPlotLB=!0,(d.plotLines||[]).concat(d.plotBands||[]).forEach(m=>{this.addPlotBandOrLine(m)})),f){let m=d[f]||[];m.push(c),d[f]=m}this.plotLinesAndBands.push(p)}return p}function s(c){return this.addPlotBandOrLine(c,"plotLines")}function n(c,f){let d=f.prototype;return d.addPlotBand||(i=c,Nf(d,{addPlotBand:t,addPlotLine:s,addPlotBandOrLine:e,getPlotBandPath:r,removePlotBand:o,removePlotLine:h,removePlotBandOrLine:a})),f}l.compose=n;function r(c,f,d){d=d||this.options;let p=this.getPlotLinePath({value:f,force:!0,acrossPanes:d.acrossPanes}),m=[],u=this.horiz,g=!$a(this.min)||!$a(this.max)||c<this.min&&f<this.min||c>this.max&&f>this.max,x=this.getPlotLinePath({value:c,force:!0,acrossPanes:d.acrossPanes}),y,b=1,v;if(x&&p)for(g&&(v=x.toString()===p.toString(),b=0),y=0;y<x.length;y+=2){let C=x[y],S=x[y+1],w=p[y],T=p[y+1];(C[0]==="M"||C[0]==="L")&&(S[0]==="M"||S[0]==="L")&&(w[0]==="M"||w[0]==="L")&&(T[0]==="M"||T[0]==="L")&&(u&&w[1]===C[1]?(w[1]+=b,T[1]+=b):!u&&w[2]===C[2]&&(w[2]+=b,T[2]+=b),m.push(["M",C[1],C[2]],["L",S[1],S[2]],["L",T[1],T[2]],["L",w[1],w[2]],["Z"])),m.isFlat=v}return m}function o(c){this.removePlotBandOrLine(c)}function a(c){let f=this.plotLinesAndBands,d=this.options,p=this.userOptions;if(f){let m=f.length;for(;m--;)f[m].id===c&&f[m].destroy();[d.plotLines||[],p.plotLines||[],d.plotBands||[],p.plotBands||[]].forEach(function(u){for(m=u.length;m--;)u[m]?.id===c&&Wf(u,u[m])})}}function h(c){this.removePlotBandOrLine(c)}})(nr||(nr={}));var qa=nr;var{addEvent:Ff,arrayMax:Ka,arrayMin:Za,defined:ae,destroyObjectProperties:Hf,erase:zf,fireEvent:Xf,merge:Qa,objectEach:Yf,pick:jf}=L,rr=class l{static compose(i,t){return Ff(i,"afterInit",function(){this.labelCollectors.push(()=>{let e=[];for(let s of this.axes)for(let{label:n,options:r}of s.plotLinesAndBands)n&&!r?.label?.allowOverlap&&e.push(n);return e})}),qa.compose(l,t)}constructor(i,t){this.axis=i,this.options=t,this.id=t.id}render(){Xf(this,"render");let{axis:i,options:t}=this,{horiz:e,logarithmic:s}=i,{color:n,events:r,zIndex:o=0}=t,{renderer:a,time:h}=i.chart,c={},f=h.parse(t.to),d=h.parse(t.from),p=h.parse(t.value),m=t.borderWidth,u=t.label,{label:g,svgElem:x}=this,y=[],b,v=ae(d)&&ae(f),C=ae(p),S=!x,w={class:"highcharts-plot-"+(v?"band ":"line ")+(t.className||"")},T=v?"bands":"lines";if(i.chart.styledMode||(C?(w.stroke=n||"#999999",w["stroke-width"]=jf(t.width,1),t.dashStyle&&(w.dashstyle=t.dashStyle)):v&&(w.fill=n||"#e6e9ff",m&&(w.stroke=t.borderColor,w["stroke-width"]=m))),c.zIndex=o,T+="-"+o,b=i.plotLinesAndBandsGroups[T],b||(i.plotLinesAndBandsGroups[T]=b=a.g("plot-"+T).attr(c).add()),x||(this.svgElem=x=a.path().attr(w).add(b)),ae(p))y=i.getPlotLinePath({value:s?.log2lin(p)??p,lineWidth:x.strokeWidth(),acrossPanes:t.acrossPanes});else if(ae(d)&&ae(f))y=i.getPlotBandPath(s?.log2lin(d)??d,s?.log2lin(f)??f,t);else return;return!this.eventsAdded&&r&&(Yf(r,(k,M)=>{x?.on(M,E=>{r[M].apply(this,[E])})}),this.eventsAdded=!0),(S||!x.d)&&y?.length?x.attr({d:y}):x&&(y?(x.show(),x.animate({d:y})):x.d&&(x.hide(),g&&(this.label=g=g.destroy()))),u&&(ae(u.text)||ae(u.formatter))&&y?.length&&i.width>0&&i.height>0&&!y.isFlat?(u=Qa(yt({align:e&&v?"center":void 0,x:e?!v&&4:10,verticalAlign:!e&&v?"middle":void 0,y:e?v?16:10:v?6:-4,rotation:e&&!v?90:0},v?{inside:!0}:{}),u),this.renderLabel(u,y,v,o)):g&&g.hide(),this}renderLabel(i,t,e,s){let n=this,r=n.axis,o=r.chart.renderer,a=i.inside,h=n.label;h||(n.label=h=o.text(this.getLabelText(i),0,0,i.useHTML).attr({align:i.textAlign||i.align,rotation:i.rotation,class:"highcharts-plot-"+(e?"band":"line")+"-label "+(i.className||""),zIndex:s}),r.chart.styledMode||h.css(Qa({fontSize:"0.8em",textOverflow:e&&!a?"":"ellipsis"},i.style)),h.add());let c=t.xBounds||[t[0][1],t[1][1],e?t[2][1]:t[0][1]],f=t.yBounds||[t[0][2],t[1][2],e?t[2][2]:t[0][2]],d=Za(c),p=Za(f),m=Ka(c)-d;h.align(i,!1,{x:d,y:p,width:m,height:Ka(f)-p}),h.alignAttr.y-=o.fontMetrics(h).b,(!h.alignValue||h.alignValue==="left"||ae(a))&&h.css({width:(i.style?.width||(!e||!a?h.rotation===90?r.height-(h.alignAttr.y-r.top):(i.clip?r.width:r.chart.chartWidth)-(h.alignAttr.x-r.left):m))+"px"}),h.show(!0)}getLabelText(i){return ae(i.formatter)?i.formatter.call(this):i.text}destroy(){zf(this.axis.plotLinesAndBands,this),delete this.axis,Hf(this)}},or=rr;var{animObject:Vf}=ot,{format:Ja}=wt,{composed:Gf,dateFormats:Uf,doc:tl,isSafari:$f}=W,{distribute:qf}=Pe,{addEvent:Kf,clamp:fi,css:el,discardElement:Zf,extend:Qf,fireEvent:il,getAlignFactor:sl,isArray:Jf,isNumber:tp,isObject:ep,isString:ar,merge:ip,pick:pi,pushUnique:sp,splat:lr,syncTimeout:np}=L,Wi=class{constructor(i,t,e){this.allowShared=!0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.options={},this.outside=!1,this.chart=i,this.init(i,t),this.pointer=e}bodyFormatter(i){return i.map(t=>{let e=t.series.tooltipOptions,s=t.formatPrefix||"point";return(e[s+"Formatter"]||t.tooltipFormatter).call(t,e[s+"Format"]||"")})}cleanSplit(i){this.chart.series.forEach(function(t){let e=t?.tt;e&&(!e.isActive||i?t.tt=e.destroy():e.isActive=!1)})}defaultFormatter(i){let t=this.points||lr(this),e;return e=[i.headerFooterFormatter(t[0])],e=e.concat(i.bodyFormatter(t)),e.push(i.headerFooterFormatter(t[0],!0)),e}destroy(){this.label&&(this.label=this.label.destroy()),this.split&&(this.cleanSplit(!0),this.tt&&(this.tt=this.tt.destroy())),this.renderer&&(this.renderer=this.renderer.destroy(),Zf(this.container)),L.clearTimeout(this.hideTimer)}getAnchor(i,t){let{chart:e,pointer:s}=this,n=e.inverted,r=e.plotTop,o=e.plotLeft,a;if(i=lr(i),i[0].series?.yAxis&&!i[0].series.yAxis.options.reversedStacks&&(i=i.slice().reverse()),this.followPointer&&t)typeof t.chartX>"u"&&(t=s.normalize(t)),a=[t.chartX-o,t.chartY-r];else if(i[0].tooltipPos)a=i[0].tooltipPos;else{let h=0,c=0;i.forEach(function(f){let d=f.pos(!0);d&&(h+=d[0],c+=d[1])}),h/=i.length,c/=i.length,this.shared&&i.length>1&&t&&(n?h=t.chartX:c=t.chartY),a=[h-o,c-r]}return a.map(Math.round)}getClassName(i,t,e){let s=this.options,n=i.series,r=n.options;return[s.className,"highcharts-label",e&&"highcharts-tooltip-header",t?"highcharts-tooltip-box":"highcharts-tooltip",!e&&"highcharts-color-"+pi(i.colorIndex,n.colorIndex),r?.className].filter(ar).join(" ")}getLabel({anchorX:i,anchorY:t}={anchorX:0,anchorY:0}){let e=this,s=this.chart.styledMode,n=this.options,r=this.split&&this.allowShared,o=this.container,a=this.chart.renderer;if(this.label){let h=!this.label.hasClass("highcharts-label");(!r&&h||r&&!h)&&this.destroy()}if(!this.label){if(this.outside){let h=this.chart,c=h.options.chart.style,f=ne.getRendererType();this.container=o=W.doc.createElement("div"),o.className="highcharts-tooltip-container "+(h.renderTo.className.match(/(highcharts[a-zA-Z0-9-]+)\s?/gm)||[].join(" ")),el(o,{position:"absolute",top:"1px",pointerEvents:"none",zIndex:Math.max(this.options.style.zIndex||0,(c?.zIndex||0)+3)}),this.renderer=a=new f(o,0,0,c,void 0,void 0,a.styledMode)}if(r?this.label=a.g("tooltip"):(this.label=a.label("",i,t,n.shape||"callout",void 0,void 0,n.useHTML,void 0,"tooltip").attr({padding:n.padding,r:n.borderRadius}),s||this.label.attr({fill:n.backgroundColor,"stroke-width":n.borderWidth||0}).css(n.style).css({pointerEvents:n.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none")})),e.outside){let h=this.label;[h.xSetter,h.ySetter].forEach((c,f)=>{h[f?"ySetter":"xSetter"]=d=>{c.call(h,e.distance),h[f?"y":"x"]=d,o&&(o.style[f?"top":"left"]=`${d}px`)}})}this.label.attr({zIndex:8}).shadow(n.shadow??!n.fixed).add()}return o&&!o.parentElement&&W.doc.body.appendChild(o),this.label}getPlayingField(){let{body:i,documentElement:t}=tl,{chart:e,distance:s,outside:n}=this;return{width:n?Math.max(i.scrollWidth,t.scrollWidth,i.offsetWidth,t.offsetWidth,t.clientWidth)-2*s-2:e.chartWidth,height:n?Math.max(i.scrollHeight,t.scrollHeight,i.offsetHeight,t.offsetHeight,t.clientHeight):e.chartHeight}}getPosition(i,t,e){let{distance:s,chart:n,outside:r,pointer:o}=this,{inverted:a,plotLeft:h,plotTop:c,polar:f}=n,{plotX:d=0,plotY:p=0}=e,m={},u=a&&e.h||0,{height:g,width:x}=this.getPlayingField(),y=o.getChartPosition(),b=B=>B*y.scaleX,v=B=>B*y.scaleY,C=B=>{let N=B==="x";return[B,N?x:g,N?i:t].concat(r?[N?b(i):v(t),N?y.left-s+b(d+h):y.top-s+v(p+c),0,N?x:g]:[N?i:t,N?d+h:p+c,N?h:c,N?h+n.plotWidth:c+n.plotHeight])},S=C("y"),w=C("x"),T,k=!!e.negative;!f&&n.hoverSeries?.yAxis?.reversed&&(k=!k);let M=!this.followPointer&&pi(e.ttBelow,f?!1:!a===k),E=function(B,N,Y,K,st,nt,Ot){let dt=r?B==="y"?v(s):b(s):s,Z=(Y-K)/2,q=K<st-s,X=st+s+K<N,U=st-dt-Y+Z,J=st+dt-Z;if(M&&X)m[B]=J;else if(!M&&q)m[B]=U;else if(q)m[B]=Math.min(Ot-K,U-u<0?U:U-u);else if(X)m[B]=Math.max(nt,J+u+Y>N?J:J+u);else return m[B]=0,!1},I=function(B,N,Y,K,st){if(st<s||st>N-s)return!1;st<Y/2?m[B]=1:st>N-K/2?m[B]=N-K-2:m[B]=st-Y/2},R=function(B){[S,w]=[w,S],T=B},_=()=>{E.apply(0,S)!==!1?I.apply(0,w)===!1&&!T&&(R(!0),_()):T?m.x=m.y=0:(R(!0),_())};return(a&&!f||this.len>1)&&R(),_(),m}getFixedPosition(i,t,e){let s=e.series,{chart:n,options:r,split:o}=this,a=r.position,h=a.relativeTo,c=r.shared||s?.yAxis?.isRadial&&(h==="pane"||!h),f=c?"plotBox":h,d=f==="chart"?n.renderer:n[f]||n.getClipBox(s,!0);return{x:d.x+(d.width-i)*sl(a.align)+a.x,y:d.y+(d.height-t)*sl(a.verticalAlign)+(!o&&a.y||0)}}hide(i){let t=this;L.clearTimeout(this.hideTimer),i=pi(i,this.options.hideDelay),this.isHidden||(this.hideTimer=np(function(){let e=t.getLabel();t.getLabel().animate({opacity:0},{duration:i&&150,complete:()=>{e.hide(),t.container&&t.container.remove()}}),t.isHidden=!0},i))}init(i,t){this.chart=i,this.options=t,this.crosshairs=[],this.isHidden=!0,this.split=t.split&&!i.inverted&&!i.polar,this.shared=t.shared||this.split,this.outside=pi(t.outside,!!(i.scrollablePixelsX||i.scrollablePixelsY))}shouldStickOnContact(i){return!!(!this.followPointer&&this.options.stickOnContact&&(!i||this.pointer.inClass(i.target,"highcharts-tooltip")))}move(i,t,e,s){let{followPointer:n,options:r}=this,o=Vf(!n&&!this.isHidden&&!r.fixed&&r.animation),a=n||(this.len||0)>1,h={x:i,y:t};a?h.anchorX=h.anchorY=NaN:(h.anchorX=e,h.anchorY=s),o.step=()=>this.drawTracker(),this.getLabel().animate(h,o)}refresh(i,t){let e=this,{chart:s,options:n,pointer:r,shared:o}=this,a=lr(i),h=a[0],c=n.format,f=n.formatter||e.defaultFormatter,d=s.styledMode,p=e.allowShared;if(!n.enabled||!h.series)return;L.clearTimeout(this.hideTimer),e.allowShared=!(!Jf(i)&&i.series&&i.series.noSharedTooltip),p=p&&!e.allowShared,e.followPointer=!e.split&&h.series.tooltipOptions.followPointer;let m=e.getAnchor(i,t),u=m[0],g=m[1];o&&e.allowShared&&(r.applyInactiveState(a),a.forEach(b=>b.setState("hover")),h.points=a),this.len=a.length;let x=ar(c)?Ja(c,h,s):f.call(h,e);h.points=void 0;let y=h.series;if(this.distance=pi(y.tooltipOptions.distance,16),x===!1)this.hide();else{if(e.split&&e.allowShared)this.renderSplit(x,a);else{let b=u,v=g;if(t&&r.isDirectTouch&&(b=t.chartX-s.plotLeft,v=t.chartY-s.plotTop),s.polar||y.options.clip===!1||a.some(C=>r.isDirectTouch||C.series.shouldShowTooltip(b,v))){let C=e.getLabel(p&&e.tt||{});(!n.style.width||d)&&C.css({width:(this.outside?this.getPlayingField():s.spacingBox).width+"px"}),C.attr({class:e.getClassName(h),text:x&&x.join?x.join(""):x}),this.outside&&C.attr({x:fi(C.x||0,0,this.getPlayingField().width-(C.width||0)-1)}),d||C.attr({stroke:n.borderColor||h.color||y.color||"#666666"}),e.updatePosition({plotX:u,plotY:g,negative:h.negative,ttBelow:h.ttBelow,series:y,h:m[2]||0})}else{e.hide();return}}e.isHidden&&e.label&&e.label.attr({opacity:1}).show(),e.isHidden=!1}il(this,"refresh")}renderSplit(i,t){let e=this,{chart:s,chart:{chartWidth:n,chartHeight:r,plotHeight:o,plotLeft:a,plotTop:h,scrollablePixelsY:c=0,scrollablePixelsX:f,styledMode:d},distance:p,options:m,options:{fixed:u,position:g,positioner:x},pointer:y}=e,{scrollLeft:b=0,scrollTop:v=0}=s.scrollablePlotArea?.scrollingContainer||{},C=e.outside&&typeof f!="number"?tl.documentElement.getBoundingClientRect():{left:b,right:b+n,top:v,bottom:v+r},S=e.getLabel(),w=this.renderer||s.renderer,T=!!s.xAxis[0]?.opposite,{left:k,top:M}=y.getChartPosition(),E=x||u,I=h+v,R=0,_=o-c;function B(Z){let{isHeader:q,plotX:X=0,plotY:U=0,series:J}=Z,rt,tt;if(q)rt=Math.max(a+X,a),tt=h+o/2;else{let{xAxis:gt,yAxis:te}=J;rt=gt.pos+fi(X,-p,gt.len+p),J.shouldShowTooltip(0,te.pos-h+U,{ignoreX:!0})&&(tt=te.pos+U)}return rt=fi(rt,C.left-p,C.right+p),{anchorX:rt,anchorY:tt}}let N=function(Z,q,X,U=[0,0],J=!0){let rt,tt;if(X.isHeader)tt=T?0:_,rt=fi(U[0]-Z/2,C.left,C.right-Z-(e.outside?k:0));else if(u&&X){let gt=e.getFixedPosition(Z,q,X);rt=gt.x,tt=gt.y-I}else tt=U[1]-I,rt=J?U[0]-Z-p:U[0]+p,rt=fi(rt,J?rt:C.left,C.right);return{x:rt,y:tt}};function Y(Z,q,X){let U=Z,{isHeader:J,series:rt}=q,tt=rt.tooltipOptions||m;if(!U){let gt={padding:tt.padding,r:tt.borderRadius};d||(gt.fill=tt.backgroundColor,gt["stroke-width"]=tt.borderWidth??(u&&!J?0:1)),U=w.label("",0,0,tt[J?"headerShape":"shape"]||(u&&!J?"rect":"callout"),void 0,void 0,tt.useHTML).addClass(e.getClassName(q,!0,J)).attr(gt).add(S)}return U.isActive=!0,U.attr({text:X}),d||U.css(tt.style).attr({stroke:tt.borderColor||q.color||rt.color||"#333333"}),U}ar(i)&&(i=[!1,i]);let K=i.slice(0,t.length+1).reduce(function(Z,q,X){if(q!==!1&&q!==""){let U=t[X-1]||{isHeader:!0,plotX:t[0].plotX,plotY:o,series:{}},J=U.isHeader,rt=J?e:U.series,tt=rt.tt=Y(rt.tt,U,q.toString()),gt=tt.getBBox(),te=gt.width+tt.strokeWidth();J&&(R=gt.height,_+=R,T&&(I-=R));let{anchorX:Si,anchorY:be}=B(U);if(typeof be=="number"){let po=gt.height+1,an=(x||N).call(e,te,po,U,[Si,be]);Z.push({align:E?0:void 0,anchorX:Si,anchorY:be,boxWidth:te,point:U,rank:pi(an.rank,J?1:0),size:po,target:an.y,tt,x:an.x})}else tt.isActive=!1}return Z},[]);!E&&K.some(Z=>{let{outside:q}=e,X=(q?k:0)+Z.anchorX;return X<C.left&&X+Z.boxWidth<C.right?!0:X<k-C.left+Z.boxWidth&&C.right-X>X})&&(K=K.map(Z=>{let{x:q,y:X}=N.call(this,Z.boxWidth,Z.size,Z.point,[Z.anchorX,Z.anchorY],!1);return Qf(Z,{target:X,x:q})})),e.cleanSplit(),qf(K,_);let st={left:k,right:k};K.forEach(function(Z){let{x:q,boxWidth:X,isHeader:U}=Z;U||(e.outside&&k+q<st.left&&(st.left=k+q),!U&&e.outside&&st.left+X>st.right&&(st.right=k+q))}),K.forEach(function(Z){let{x:q,anchorX:X,anchorY:U,pos:J,point:{isHeader:rt}}=Z,tt={visibility:typeof J>"u"?"hidden":"inherit",x:q,y:(J||0)+I+(u&&g.y||0),anchorX:X,anchorY:U};if(e.outside&&q<X){let gt=k-st.left;gt>0&&(rt||(tt.x=q+gt,tt.anchorX=X+gt),rt&&(tt.x=(st.right-st.left)/2,tt.anchorX=X+gt))}Z.tt.attr(tt)});let{container:nt,outside:Ot,renderer:dt}=e;if(Ot&&nt&&dt){let{width:Z,height:q,x:X,y:U}=S.getBBox();dt.setSize(Z+X,q+U,!1),nt.style.left=st.left+"px",nt.style.top=M+"px"}$f&&S.attr({opacity:S.opacity===1?.999:1})}drawTracker(){let i=this;if(!this.shouldStickOnContact()){i.tracker&&(i.tracker=i.tracker.destroy());return}let t=i.chart,e=i.label,s=i.shared?t.hoverPoints:t.hoverPoint;if(!e||!s)return;let n={x:0,y:0,width:0,height:0},r=this.getAnchor(s),o=e.getBBox();r[0]+=t.plotLeft-(e.translateX||0),r[1]+=t.plotTop-(e.translateY||0),n.x=Math.min(0,r[0]),n.y=Math.min(0,r[1]),n.width=r[0]<0?Math.max(Math.abs(r[0]),o.width-r[0]):Math.max(Math.abs(r[0]),o.width),n.height=r[1]<0?Math.max(Math.abs(r[1]),o.height-Math.abs(r[1])):Math.max(Math.abs(r[1]),o.height),i.tracker?i.tracker.attr(n):(i.tracker=e.renderer.rect(n).addClass("highcharts-tracker").add(e),t.styledMode||i.tracker.attr({fill:"rgba(0,0,0,0)"}))}styledModeFormat(i){return i.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(i,t){let e=i.series,s=e.tooltipOptions,n=e.xAxis,r=n?.dateTime,o={isFooter:t,point:i},a=s.xDateFormat||"",h=s[t?"footerFormat":"headerFormat"];return il(this,"headerFormatter",o,function(c){if(r&&!a&&tp(i.key)&&(a=r.getXDateFormat(i.key,s.dateTimeLabelFormats)),r&&a){if(ep(a)){let f=a;Uf[0]=d=>e.chart.time.dateFormat(f,d),a="%0"}(i.tooltipDateKeys||["key"]).forEach(f=>{h=h.replace(new RegExp("point\\."+f+"([ \\)}])"),`(point.${f}:${a})$1`)})}e.chart.styledMode&&(h=this.styledModeFormat(h)),c.text=Ja(h,i,this.chart)}),o.text||""}update(i){this.destroy(),this.init(this.chart,ip(!0,this.options,i))}updatePosition(i){let{chart:t,container:e,distance:s,options:n,pointer:r,renderer:o}=this,a=this.getLabel(),{height:h=0,width:c=0}=a,{fixed:f,positioner:d}=n,{left:p,top:m,scaleX:u,scaleY:g}=r.getChartPosition(),x=(d||f&&this.getFixedPosition||this.getPosition).call(this,c,h,i),y=W.doc,b=(i.plotX||0)+t.plotLeft,v=(i.plotY||0)+t.plotTop,C;if(o&&e){if(d||f){let{scrollLeft:S=0,scrollTop:w=0}=t.scrollablePlotArea?.scrollingContainer||{};x.x+=S+p-s,x.y+=w+m-s}C=(n.borderWidth||0)+2*s+2,o.setSize(fi(c+C,0,y.documentElement.clientWidth)-1,h+C,!1),(u!==1||g!==1)&&(el(e,{transform:`scale(${u}, ${g})`}),b*=u,v*=g),b+=p-x.x,v+=m-x.y}this.move(Math.round(x.x),Math.round(x.y||0),b,v)}};(function(l){function i(t){sp(Gf,"Core.Tooltip")&&Kf(t,"afterInit",function(){let e=this.chart;e.options.tooltip&&(e.tooltip=new l(e,e.options.tooltip,this))})}l.compose=i})(Wi||(Wi={}));var hr=Wi;var{animObject:rp}=ot,{defaultOptions:op}=Tt,{format:ap}=wt,{addEvent:lp,crisp:hp,erase:cp,extend:As,fireEvent:cr,getNestedProperty:dp,isArray:fp,isFunction:pp,isNumber:Oe,isObject:Es,merge:nl,pick:Ae,syncTimeout:up,removeEvent:rl,uniqueKey:mp}=L,dr=class l{animateBeforeDestroy(){let i=this,t={x:i.startXPos,opacity:0},e=i.getGraphicalProps();e.singular.forEach(function(s){let n=s==="dataLabel";i[s]=i[s].animate(n?{x:i[s].startXPos,y:i[s].startYPos,opacity:0}:t)}),e.plural.forEach(function(s){i[s].forEach(function(n){n.element&&n.animate(As({x:i.startXPos},n.startYPos?{x:n.startXPos,y:n.startYPos}:{}))})})}applyOptions(i,t){let e=this,s=e.series,n=s.options.pointValKey||s.pointValKey;return i=l.prototype.optionsToObject.call(this,i),As(e,i),e.options=e.options?As(e.options,i):i,i.group&&delete e.group,i.dataLabels&&delete e.dataLabels,n&&(e.y=l.prototype.getNestedProperty.call(e,n)),e.selected&&(e.state="select"),"name"in e&&typeof t>"u"&&s.xAxis&&s.xAxis.hasNames&&(e.x=s.xAxis.nameToX(e)),typeof e.x>"u"&&s?e.x=t??s.autoIncrement():Oe(i.x)&&s.options.relativeXValue?e.x=s.autoIncrement(i.x):typeof e.x=="string"&&(t??(t=s.chart.time.parse(e.x)),Oe(t)&&(e.x=t)),e.isNull=this.isValid&&!this.isValid(),e.formatPrefix=e.isNull?"null":"point",e}destroy(){if(!this.destroyed){let i=this,t=i.series,e=t.chart,s=t.options.dataSorting,n=e.hoverPoints,r=i.series.chart.renderer.globalAnimation,o=rp(r),a=()=>{(i.graphic||i.graphics||i.dataLabel||i.dataLabels)&&(rl(i),i.destroyElements());for(let h in i)delete i[h]};i.legendItem&&e.legend.destroyItem(i),n&&(i.setState(),cp(n,i),n.length||(e.hoverPoints=null)),i===e.hoverPoint&&i.onMouseOut(),s?.enabled?(this.animateBeforeDestroy(),up(a,o.duration)):a(),e.pointCount--}this.destroyed=!0}destroyElements(i){let t=this,e=t.getGraphicalProps(i);e.singular.forEach(function(s){t[s]=t[s].destroy()}),e.plural.forEach(function(s){t[s].forEach(function(n){n?.element&&n.destroy()}),delete t[s]})}firePointEvent(i,t,e){let s=this,n=this.series,r=n.options;s.manageEvent(i),i==="click"&&r.allowPointSelect&&(e=function(o){!s.destroyed&&s.select&&s.select(null,o.ctrlKey||o.metaKey||o.shiftKey)}),cr(s,i,t,e)}getClassName(){let i=this;return"highcharts-point"+(i.selected?" highcharts-point-select":"")+(i.negative?" highcharts-negative":"")+(i.isNull?" highcharts-null-point":"")+(typeof i.colorIndex<"u"?" highcharts-color-"+i.colorIndex:"")+(i.options.className?" "+i.options.className:"")+(i.zone?.className?" "+i.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(i){let t=this,e=[],s={singular:[],plural:[]},n,r;for(i=i||{graphic:1,dataLabel:1},i.graphic&&e.push("graphic","connector"),i.dataLabel&&e.push("dataLabel","dataLabelPath","dataLabelUpper"),r=e.length;r--;)n=e[r],t[n]&&s.singular.push(n);return["graphic","dataLabel"].forEach(function(o){let a=o+"s";i[o]&&t[a]&&s.plural.push(a)}),s}getNestedProperty(i){if(i)return i.indexOf("custom.")===0?dp(i,this.options):this[i]}getZone(){let i=this.series,t=i.zones,e=i.zoneAxis||"y",s,n=0;for(s=t[n];this[e]>=s.value;)s=t[++n];return this.nonZonedColor||(this.nonZonedColor=this.color),s?.color&&!this.options.color?this.color=s.color:this.color=this.nonZonedColor,s}hasNewShapeType(){let i=this;return(i.graphic&&(i.graphic.symbolName||i.graphic.element.nodeName))!==this.shapeType}constructor(i,t,e){this.formatPrefix="point",this.visible=!0,this.point=this,this.series=i,this.applyOptions(t,e),this.id??(this.id=mp()),this.resolveColor(),this.dataLabelOnNull??(this.dataLabelOnNull=i.options.nullInteraction),i.chart.pointCount++,cr(this,"afterInit")}isValid(){return(Oe(this.x)||this.x instanceof Date)&&Oe(this.y)}optionsToObject(i){let t=this.series,e=t.options.keys,s=e||t.pointArrayMap||["y"],n=s.length,r={},o,a=0,h=0;if(Oe(i)||i===null)r[s[0]]=i;else if(fp(i))for(!e&&i.length>n&&(o=typeof i[0],o==="string"?t.xAxis?.dateTime?r.x=t.chart.time.parse(i[0]):r.name=i[0]:o==="number"&&(r.x=i[0]),a++);h<n;)(!e||typeof i[a]<"u")&&(s[h].indexOf(".")>0?l.prototype.setNestedProperty(r,i[a],s[h]):r[s[h]]=i[a]),a++,h++;else typeof i=="object"&&(r=i,i.dataLabels&&(t.hasDataLabels=()=>!0),i.marker&&(t._hasPointMarkers=!0));return r}pos(i,t=this.plotY){if(!this.destroyed){let{plotX:e,series:s}=this,{chart:n,xAxis:r,yAxis:o}=s,a=0,h=0;if(Oe(e)&&Oe(t))return i&&(a=r?r.pos:n.plotLeft,h=o?o.pos:n.plotTop),n.inverted&&r&&o?[o.len-t+h,r.len-e+a]:[e+a,t+h]}}resolveColor(){let i=this.series,t=i.chart.options.chart,e=i.chart.styledMode,s,n,r=t.colorCount,o;delete this.nonZonedColor,i.options.colorByPoint?(e||(n=i.options.colors||i.chart.options.colors,s=n[i.colorCounter],r=n.length),o=i.colorCounter,i.colorCounter++,i.colorCounter===r&&(i.colorCounter=0)):(e||(s=i.color),o=i.colorIndex),this.colorIndex=Ae(this.options.colorIndex,o),this.color=Ae(this.options.color,s)}setNestedProperty(i,t,e){return e.split(".").reduce(function(n,r,o,a){let h=a.length-1===o;return n[r]=h?t:Es(n[r],!0)?n[r]:{},n[r]},i),i}shouldDraw(){return!this.isNull}tooltipFormatter(i){let{chart:t,pointArrayMap:e=["y"],tooltipOptions:s}=this.series,{valueDecimals:n="",valuePrefix:r="",valueSuffix:o=""}=s;return t.styledMode&&(i=t.tooltip?.styledModeFormat(i)||i),e.forEach(a=>{a="{point."+a,(r||o)&&(i=i.replace(RegExp(a+"}","g"),r+a+"}"+o)),i=i.replace(RegExp(a+"}","g"),a+":,."+n+"f}")}),ap(i,this,t)}update(i,t,e,s){let n=this,r=n.series,o=n.graphic,a=r.chart,h=r.options,c;t=Ae(t,!0);function f(){n.applyOptions(i);let d=o&&n.hasMockGraphic,p=n.y===null?!d:d;o&&p&&(n.graphic=o.destroy(),delete n.hasMockGraphic),Es(i,!0)&&(o?.element&&i&&i.marker&&typeof i.marker.symbol<"u"&&(n.graphic=o.destroy()),i?.dataLabels&&n.dataLabel&&(n.dataLabel=n.dataLabel.destroy())),c=n.index;let m={};for(let u of r.dataColumnKeys())m[u]=n[u];r.dataTable.setRow(m,c),h.data[c]=Es(h.data[c],!0)||Es(i,!0)?n.options:Ae(i,h.data[c]),r.isDirty=r.isDirtyData=!0,!r.fixedBox&&r.hasCartesianSeries&&(a.isDirtyBox=!0),h.legendType==="point"&&(a.isDirtyLegend=!0),t&&a.redraw(e)}s===!1?f():n.firePointEvent("update",{options:i},f)}remove(i,t){this.series.removePoint(this.series.data.indexOf(this),i,t)}select(i,t){let e=this,s=e.series,n=s.chart;i=Ae(i,!e.selected),this.selectedStaging=i,e.firePointEvent(i?"select":"unselect",{accumulate:t},function(){e.selected=e.options.selected=i,s.options.data[s.data.indexOf(e)]=e.options,e.setState(i&&"select"),t||n.getSelectedPoints().forEach(function(r){let o=r.series;r.selected&&r!==e&&(r.selected=r.options.selected=!1,o.options.data[o.data.indexOf(r)]=r.options,r.setState(n.hoverPoints&&o.options.inactiveOtherPoints?"inactive":""),r.firePointEvent("unselect"))})}),delete this.selectedStaging}onMouseOver(i){let t=this,e=t.series,{inverted:s,pointer:n}=e.chart;n&&(i=i?n.normalize(i):n.getChartCoordinatesFromPoint(t,s),n.runPointActions(i,t))}onMouseOut(){let i=this,t=i.series.chart;i.firePointEvent("mouseOut"),i.series.options.inactiveOtherPoints||(t.hoverPoints||[]).forEach(function(e){e.setState()}),t.hoverPoints=t.hoverPoint=null}manageEvent(i){let t=this,e=nl(t.series.options.point,t.options),s=e.events?.[i];pp(s)&&(!t.hcEvents?.[i]||t.hcEvents?.[i]?.map(n=>n.fn).indexOf(s)===-1)?(t.importedUserEvent?.(),t.importedUserEvent=lp(t,i,s),t.hcEvents&&(t.hcEvents[i].userEvent=!0)):t.importedUserEvent&&!s&&t.hcEvents?.[i]&&t.hcEvents?.[i].userEvent&&(rl(t,i),delete t.hcEvents[i],Object.keys(t.hcEvents)||delete t.importedUserEvent)}setState(i,t){let e=this,s=e.series,n=e.state,r=s.options.states[i||"normal"]||{},o=op.plotOptions[s.type].marker&&s.options.marker,a=o&&o.enabled===!1,h=o?.states?.[i||"normal"]||{},c=h.enabled===!1,f=e.marker||{},d=s.chart,p=o&&s.markerAttribs,m=s.halo,u,g,x,y=s.stateMarkerGraphic,b;if(i=i||"",i===e.state&&!t||e.selected&&i!=="select"||r.enabled===!1||i&&(c||a&&h.enabled===!1)||i&&f.states&&f.states[i]&&f.states[i].enabled===!1)return;if(e.state=i,p&&(u=s.markerAttribs(e,i)),e.graphic&&!e.hasMockGraphic){if(n&&e.graphic.removeClass("highcharts-point-"+n),i&&e.graphic.addClass("highcharts-point-"+i),!d.styledMode){g=s.pointAttribs(e,i),x=Ae(d.options.chart.animation,r.animation);let w=g.opacity;s.options.inactiveOtherPoints&&Oe(w)&&(e.dataLabels||[]).forEach(function(T){T&&!T.hasClass("highcharts-data-label-hidden")&&(T.animate({opacity:w},x),T.connector&&T.connector.animate({opacity:w},x))}),e.graphic.animate(g,x)}u&&e.graphic.animate(u,Ae(d.options.chart.animation,h.animation,o.animation)),y&&y.hide()}else i&&h&&(b=f.symbol||s.symbol,y&&y.currentSymbol!==b&&(y=y.destroy()),u&&(y?y[t?"animate":"attr"]({x:u.x,y:u.y}):b&&(s.stateMarkerGraphic=y=d.renderer.symbol(b,u.x,u.y,u.width,u.height,nl(o,h)).add(s.markerGroup),y.currentSymbol=b)),!d.styledMode&&y&&e.state!=="inactive"&&y.attr(s.pointAttribs(e,i))),y&&(y[i&&e.isInside?"show":"hide"](),y.element.point=e,y.addClass(e.getClassName(),!0));let v=r.halo,C=e.graphic||y,S=C?.visibility||"inherit";v?.size&&C&&S!=="hidden"&&!e.isCluster?(m||(s.halo=m=d.renderer.path().add(C.parentGroup)),m.show()[t?"animate":"attr"]({d:e.haloPath(v.size)}),m.attr({class:"highcharts-halo highcharts-color-"+Ae(e.colorIndex,s.colorIndex)+(e.className?" "+e.className:""),visibility:S,zIndex:-1}),m.point=e,d.styledMode||m.attr(As({fill:e.color||s.color,"fill-opacity":v.opacity},At.filterUserAttributes(v.attributes||{})))):m?.point?.haloPath&&!m.point.destroyed&&m.animate({d:m.point.haloPath(0)},null,m.hide),cr(e,"afterSetState",{state:i})}haloPath(i){let t=this.pos();return t?this.series.chart.renderer.symbols.circle(hp(t[0],1)-i,t[1]-i,i*2,i*2):[]}},jt=dr;var{parse:gp}=_t,{charts:fr,composed:xp,isTouchDevice:yp}=W,{addEvent:$t,attr:bp,css:pr,extend:ur,find:ol,fireEvent:Ee,isNumber:Ls,isObject:Is,objectEach:vp,offset:Cp,pick:le,pushUnique:Sp,splat:al}=L,mr=(()=>{class l{applyInactiveState(t=[]){let e=[];t.forEach(s=>{let n=s.series;e.push(n),n.linkedParent&&e.push(n.linkedParent),n.linkedSeries&&e.push.apply(e,n.linkedSeries),n.navigatorSeries&&e.push(n.navigatorSeries),n.boosted&&n.markerGroup&&e.push.apply(e,this.chart.series.filter(r=>r.markerGroup===n.markerGroup))}),this.chart.series.forEach(s=>{e.indexOf(s)===-1?s.setState("inactive",!0):s.options.inactiveOtherPoints&&s.setAllPointsToState("inactive")})}destroy(){let t=this;this.eventsToUnbind.forEach(e=>e()),this.eventsToUnbind=[],W.chartCount||(l.unbindDocumentMouseUp.forEach(e=>e.unbind()),l.unbindDocumentMouseUp.length=0,l.unbindDocumentTouchEnd&&(l.unbindDocumentTouchEnd=l.unbindDocumentTouchEnd())),clearInterval(t.tooltipTimeout),vp(t,function(e,s){t[s]=void 0})}getSelectionMarkerAttrs(t,e){let s={args:{chartX:t,chartY:e},attrs:{},shapeType:"rect"};return Ee(this,"getSelectionMarkerAttrs",s,n=>{let{chart:r,zoomHor:o,zoomVert:a}=this,{mouseDownX:h=0,mouseDownY:c=0}=r,f=n.attrs,d;f.x=r.plotLeft,f.y=r.plotTop,f.width=o?1:r.plotWidth,f.height=a?1:r.plotHeight,o&&(d=t-h,f.width=Math.max(1,Math.abs(d)),f.x=(d>0?0:d)+h),a&&(d=e-c,f.height=Math.max(1,Math.abs(d)),f.y=(d>0?0:d)+c)}),s}drag(t){let{chart:e}=this,{mouseDownX:s=0,mouseDownY:n=0}=e,{panning:r,panKey:o,selectionMarkerFill:a}=e.options.chart,h=e.plotLeft,c=e.plotTop,f=e.plotWidth,d=e.plotHeight,p=Is(r)?r.enabled:r,m=o&&t[`${o}Key`],u=t.chartX,g=t.chartY,x,y=this.selectionMarker;if(!(y&&y.touch)&&(u<h?u=h:u>h+f&&(u=h+f),g<c?g=c:g>c+d&&(g=c+d),this.hasDragged=Math.sqrt(Math.pow(s-u,2)+Math.pow(n-g,2)),this.hasDragged>10)){x=e.isInsidePlot(s-h,n-c,{visiblePlotOnly:!0});let{shapeType:b,attrs:v}=this.getSelectionMarkerAttrs(u,g);(e.hasCartesianSeries||e.mapView)&&this.hasZoom&&x&&!m&&(y||(this.selectionMarker=y=e.renderer[b](),y.attr({class:"highcharts-selection-marker",zIndex:7}).add(),e.styledMode||y.attr({fill:a||gp("#334eff").setOpacity(.25).get()}))),y&&y.attr(v),x&&!y&&p&&e.pan(t,r)}}dragStart(t){let e=this.chart;e.mouseIsDown=t.type,e.cancelClick=!1,e.mouseDownX=t.chartX,e.mouseDownY=t.chartY}getSelectionBox(t){let e={args:{marker:t},result:t.getBBox()};return Ee(this,"getSelectionBox",e),e.result}drop(t){let{chart:e,selectionMarker:s}=this,n;for(let r of e.axes)r.isPanning&&(r.isPanning=!1,(r.options.startOnTick||r.options.endOnTick||r.series.some(o=>o.boosted))&&(r.forceRedraw=!0,r.setExtremes(r.userMin,r.userMax,!1),n=!0));if(n&&e.redraw(),s&&t){if(this.hasDragged){let r=this.getSelectionBox(s);e.transform({axes:e.axes.filter(o=>o.zoomEnabled&&(o.coll==="xAxis"&&this.zoomX||o.coll==="yAxis"&&this.zoomY)),selection:yt({originalEvent:t,xAxis:[],yAxis:[]},r),from:r})}Ls(e.index)&&(this.selectionMarker=s.destroy())}e&&Ls(e.index)&&(pr(e.container,{cursor:e._cursor}),e.cancelClick=this.hasDragged>10,e.mouseIsDown=!1,this.hasDragged=0,this.pinchDown=[])}findNearestKDPoint(t,e,s){let n;function r(o,a){let h=o.distX-a.distX,c=o.dist-a.dist,f=a.series.group?.zIndex-o.series.group?.zIndex,d;return h!==0&&e?d=h:c!==0?d=c:f!==0?d=f:d=o.series.index>a.series.index?-1:1,d}return t.forEach(function(o){let a=o.noSharedTooltip&&e,h=!a&&o.options.findNearestPointBy.indexOf("y")<0,c=o.searchPoint(s,h);Is(c,!0)&&c.series&&(!Is(n,!0)||r(n,c)>0)&&(n=c)}),n}getChartCoordinatesFromPoint(t,e){let{xAxis:s,yAxis:n}=t.series,r=t.shapeArgs;if(s&&n){let o=t.clientX??t.plotX??0,a=t.plotY||0;return t.isNode&&r&&Ls(r.x)&&Ls(r.y)&&(o=r.x,a=r.y),e?{chartX:n.len+n.pos-a,chartY:s.len+s.pos-o}:{chartX:o+s.pos,chartY:a+n.pos}}if(r?.x&&r.y)return{chartX:r.x,chartY:r.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;let{container:t}=this.chart,e=Cp(t);this.chartPosition={left:e.left,top:e.top,scaleX:1,scaleY:1};let{offsetHeight:s,offsetWidth:n}=t;return n>2&&s>2&&(this.chartPosition.scaleX=e.width/n,this.chartPosition.scaleY=e.height/s),this.chartPosition}getCoordinates(t){let e={xAxis:[],yAxis:[]};for(let s of this.chart.axes)e[s.isXAxis?"xAxis":"yAxis"].push({axis:s,value:s.toValue(t[s.horiz?"chartX":"chartY"])});return e}getHoverData(t,e,s,n,r,o){let a=[],h=!!(n&&t),c=function(g){return g.visible&&!(!r&&g.directTouch)&&le(g.options.enableMouseTracking,!0)},f=e,d,p={chartX:o?o.chartX:void 0,chartY:o?o.chartY:void 0,shared:r};Ee(this,"beforeGetHoverData",p),d=f&&!f.stickyTracking?[f]:s.filter(g=>g.stickyTracking&&(p.filter||c)(g));let u=h||!o?t:this.findNearestKDPoint(d,r,o);return f=u?.series,u&&(r&&!f.noSharedTooltip?(d=s.filter(function(g){return p.filter?p.filter(g):c(g)&&!g.noSharedTooltip}),d.forEach(function(g){let x=g.options?.nullInteraction,y=ol(g.points,function(b){return b.x===u.x&&(!b.isNull||!!x)});Is(y)&&(g.boosted&&g.boost&&(y=g.boost.getPoint(y)),a.push(y))})):a.push(u)),p={hoverPoint:u},Ee(this,"afterGetHoverData",p),{hoverPoint:p.hoverPoint,hoverSeries:f,hoverPoints:a}}getPointFromEvent(t){let e=t.target,s;for(;e&&!s;)s=e.point,e=e.parentNode;return s}onTrackerMouseOut(t){let e=this.chart,s=t.relatedTarget,n=e.hoverSeries;this.isDirectTouch=!1,n&&s&&!n.stickyTracking&&!this.inClass(s,"highcharts-tooltip")&&(!this.inClass(s,"highcharts-series-"+n.index)||!this.inClass(s,"highcharts-tracker"))&&n.onMouseOut()}inClass(t,e){let s=t,n;for(;s;){if(n=bp(s,"class"),n){if(n.indexOf(e)!==-1)return!0;if(n.indexOf("highcharts-container")!==-1)return!1}s=s.parentElement}}constructor(t,e){this.hasDragged=0,this.pointerCaptureEventsToUnbind=[],this.eventsToUnbind=[],this.options=e,this.chart=t,this.runChartClick=!!e.chart.events?.click,this.pinchDown=[],this.setDOMEvents(),Ee(this,"afterInit")}normalize(t,e){let s=t.touches,n=s?s.length?s.item(0):le(s.changedTouches,t.changedTouches)[0]:t;e||(e=this.getChartPosition());let r=n.pageX-e.left,o=n.pageY-e.top;return r/=e.scaleX,o/=e.scaleY,ur(t,{chartX:Math.round(r),chartY:Math.round(o)})}onContainerClick(t){let e=this.chart,s=e.hoverPoint,n=this.normalize(t),r=e.plotLeft,o=e.plotTop;e.cancelClick||(s&&this.inClass(n.target,"highcharts-tracker")?(Ee(s.series,"click",ur(n,{point:s})),e.hoverPoint&&s.firePointEvent("click",n)):(ur(n,this.getCoordinates(n)),e.isInsidePlot(n.chartX-r,n.chartY-o,{visiblePlotOnly:!0})&&Ee(e,"click",n)))}onContainerMouseDown(t){let e=((t.buttons||t.button)&1)===1;t=this.normalize(t),W.isFirefox&&t.button!==0&&this.onContainerMouseMove(t),(typeof t.button>"u"||e)&&(this.zoomOption(t),e&&t.preventDefault?.(),this.dragStart(t))}onContainerMouseLeave(t){let{pointer:e}=fr[le(l.hoverChartIndex,-1)]||{};t=this.normalize(t),this.onContainerMouseMove(t),e&&!this.inClass(t.relatedTarget,"highcharts-tooltip")&&(e.reset(),e.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(t){let e=this.chart,s=e.tooltip,n=this.normalize(t);this.setHoverChartIndex(t),(e.mouseIsDown==="mousedown"||this.touchSelect(n))&&this.drag(n),!e.openMenu&&(this.inClass(n.target,"highcharts-tracker")||e.isInsidePlot(n.chartX-e.plotLeft,n.chartY-e.plotTop,{visiblePlotOnly:!0}))&&!s?.shouldStickOnContact(n)&&(this.inClass(n.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(n))}onDocumentTouchEnd(t){this.onDocumentMouseUp(t)}onContainerTouchMove(t){this.touchSelect(t)?this.onContainerMouseMove(t):this.touch(t)}onContainerTouchStart(t){this.touchSelect(t)?this.onContainerMouseDown(t):(this.zoomOption(t),this.touch(t,!0))}onDocumentMouseMove(t){let e=this.chart,s=e.tooltip,n=this.chartPosition,r=this.normalize(t,n);n&&!e.isInsidePlot(r.chartX-e.plotLeft,r.chartY-e.plotTop,{visiblePlotOnly:!0})&&!s?.shouldStickOnContact(r)&&(r.target===e.container.ownerDocument||!this.inClass(r.target,"highcharts-tracker"))&&this.reset()}onDocumentMouseUp(t){fr[le(l.hoverChartIndex,-1)]?.pointer?.drop(t)}pinch(t){let e=this,{chart:s,hasZoom:n,lastTouches:r}=e,o=[].map.call(t.touches||[],d=>e.normalize(d)),a=o.length,h=a===1&&(e.inClass(t.target,"highcharts-tracker")&&s.runTrackerClick||e.runChartClick),c=s.tooltip,f=a===1&&le(c?.options.followTouchMove,!0);a>1?e.initiated=!0:f&&(e.initiated=!1),n&&e.initiated&&!h&&t.cancelable!==!1&&t.preventDefault(),t.type==="touchstart"?(e.pinchDown=o,e.res=!0,s.mouseDownX=t.chartX):f?this.runPointActions(e.normalize(t)):r&&(Ee(s,"touchpan",{originalEvent:t,touches:o},()=>{let d=p=>{let m=p[0],u=p[1]||m;return{x:m.chartX,y:m.chartY,width:u.chartX-m.chartX,height:u.chartY-m.chartY}};s.transform({axes:s.axes.filter(p=>p.zoomEnabled&&(this.zoomHor&&p.horiz||this.zoomVert&&!p.horiz)),to:d(o),from:d(r),trigger:t.type})}),e.res&&(e.res=!1,this.reset(!1,0))),e.lastTouches=o}reset(t,e){let s=this,n=s.chart,r=n.hoverSeries,o=n.hoverPoint,a=n.hoverPoints,h=n.tooltip,c=h?.shared?a:o;t&&c&&al(c).forEach(function(f){f.series.isCartesian&&typeof f.plotX>"u"&&(t=!1)}),t?h&&c&&al(c).length&&(h.refresh(c),h.shared&&a?a.forEach(function(f){f.setState(f.state,!0),f.series.isCartesian&&(f.series.xAxis.crosshair&&f.series.xAxis.drawCrosshair(null,f),f.series.yAxis.crosshair&&f.series.yAxis.drawCrosshair(null,f))}):o&&(o.setState(o.state,!0),n.axes.forEach(function(f){f.crosshair&&o.series[f.coll]===f&&f.drawCrosshair(null,o)}))):(o&&o.onMouseOut(),a&&a.forEach(function(f){f.setState()}),r&&r.onMouseOut(),h&&h.hide(e),s.unDocMouseMove&&(s.unDocMouseMove=s.unDocMouseMove()),n.axes.forEach(function(f){f.hideCrosshair()}),n.hoverPoints=n.hoverPoint=void 0)}runPointActions(t,e,s){let n=this,r=n.chart,o=r.series,a=r.tooltip?.options.enabled?r.tooltip:void 0,h=a?a.shared:!1,c=e||r.hoverPoint,f=c?.series||r.hoverSeries,d=(!t||t.type!=="touchmove")&&(!!e||f?.directTouch&&n.isDirectTouch),p=this.getHoverData(c,f,o,d,h,t);c=p.hoverPoint,f=p.hoverSeries;let m=p.hoverPoints,u=f?.tooltipOptions.followPointer&&!f.tooltipOptions.split,g=h&&f&&!f.noSharedTooltip;if(c&&(s||c!==r.hoverPoint||a?.isHidden)){if((r.hoverPoints||[]).forEach(function(x){m.indexOf(x)===-1&&x.setState()}),r.hoverSeries!==f&&f.onMouseOver(),n.applyInactiveState(m),(m||[]).forEach(function(x){x.setState("hover")}),r.hoverPoint&&r.hoverPoint.firePointEvent("mouseOut"),!c.series)return;r.hoverPoints=m,r.hoverPoint=c,c.firePointEvent("mouseOver",void 0,()=>{a&&c&&a.refresh(g?m:c,t)})}else if(u&&a&&!a.isHidden){let x=a.getAnchor([{}],t);r.isInsidePlot(x[0],x[1],{visiblePlotOnly:!0})&&a.updatePosition({plotX:x[0],plotY:x[1]})}n.unDocMouseMove||(n.unDocMouseMove=$t(r.container.ownerDocument,"mousemove",x=>fr[l.hoverChartIndex??-1]?.pointer?.onDocumentMouseMove(x)),n.eventsToUnbind.push(n.unDocMouseMove)),r.axes.forEach(function(y){let b=y.crosshair?.snap??!0,v;b&&(v=r.hoverPoint,(!v||v.series[y.coll]!==y)&&(v=ol(m,C=>C.series?.[y.coll]===y))),v||!b?y.drawCrosshair(t,v):y.hideCrosshair()})}setDOMEvents(){let t=this.chart.container,e=t.ownerDocument;t.onmousedown=this.onContainerMouseDown.bind(this),t.onmousemove=this.onContainerMouseMove.bind(this),t.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push($t(t,"mouseenter",this.onContainerMouseEnter.bind(this)),$t(t,"mouseleave",this.onContainerMouseLeave.bind(this))),l.unbindDocumentMouseUp.some(n=>n.doc===e)||l.unbindDocumentMouseUp.push({doc:e,unbind:$t(e,"mouseup",this.onDocumentMouseUp.bind(this))});let s=this.chart.renderTo.parentElement;for(;s&&s.tagName!=="BODY";)this.eventsToUnbind.push($t(s,"scroll",()=>{delete this.chartPosition})),s=s.parentElement;this.eventsToUnbind.push($t(t,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),$t(t,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),l.unbindDocumentTouchEnd||(l.unbindDocumentTouchEnd=$t(e,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})),this.setPointerCapture(),$t(this.chart,"redraw",this.setPointerCapture.bind(this))}setPointerCapture(){if(!yp)return;let t=this,e=t.pointerCaptureEventsToUnbind,s=t.chart,n=s.container,r=le(s.options.tooltip?.followTouchMove,!0),o=r&&s.series.some(a=>a.options.findNearestPointBy.indexOf("y")>-1);!t.hasPointerCapture&&o?(e.push($t(n,"pointerdown",a=>{a.target?.hasPointerCapture(a.pointerId)&&a.target?.releasePointerCapture(a.pointerId)}),$t(n,"pointermove",a=>{s.pointer?.getPointFromEvent(a)?.onMouseOver(a)})),s.styledMode||pr(n,{"touch-action":"none"}),n.className+=" highcharts-no-touch-action",t.hasPointerCapture=!0):t.hasPointerCapture&&!o&&(e.forEach(a=>a()),e.length=0,s.styledMode||pr(n,{"touch-action":le(s.options.chart.style?.["touch-action"],"manipulation")}),n.className=n.className.replace(" highcharts-no-touch-action",""),t.hasPointerCapture=!1)}setHoverChartIndex(t){let e=this.chart,s=W.charts[le(l.hoverChartIndex,-1)];if(s&&s!==e){let n={relatedTarget:e.container};t&&!t?.relatedTarget&&Object.assign({},t,n),s.pointer?.onContainerMouseLeave(t||n)}s?.mouseIsDown||(l.hoverChartIndex=e.index)}touch(t,e){let{chart:s,pinchDown:n=[]}=this,r,o;this.setHoverChartIndex(),t=this.normalize(t),t.touches.length===1?(o=s.isInsidePlot(t.chartX-s.plotLeft,t.chartY-s.plotTop,{visiblePlotOnly:!0}),o&&!s.openMenu?(e&&this.runPointActions(t),t.type==="touchmove"&&(r=n[0]?Math.pow(n[0].chartX-t.chartX,2)+Math.pow(n[0].chartY-t.chartY,2)>=16:!1),le(r,!0)&&this.pinch(t)):e&&this.reset()):t.touches.length===2&&this.pinch(t)}touchSelect(t){return!!(this.chart.zooming.singleTouch&&t.touches&&t.touches.length===1)}zoomOption(t){let e=this.chart,s=e.inverted,n=e.zooming.type||"",r,o;/touch/.test(t.type)&&(n=le(e.zooming.pinchType,n)),this.zoomX=r=/x/.test(n),this.zoomY=o=/y/.test(n),this.zoomHor=r&&!s||o&&s,this.zoomVert=o&&!s||r&&s,this.hasZoom=r||o}}return l.unbindDocumentMouseUp=[],l})();(function(l){function i(t){Sp(xp,"Core.Pointer")&&$t(t,"beforeRender",function(){this.pointer=new l(this,this.options)})}l.compose=i})(mr||(mr={}));var gr=mr;var xr;(function(l){function i(e,s,n){return Array.isArray(e)?(e.length=s,e):e[n?"subarray":"slice"](0,s)}l.setLength=i;function t(e,s,n,r,o=[]){if(Array.isArray(e))return Array.isArray(o)||(o=Array.from(o)),{removed:e.splice(s,n,...o),array:e};let a=Object.getPrototypeOf(e).constructor,h=e[r?"subarray":"slice"](s,s+n),c=e.length-n+o.length,f=new a(c);return f.set(e.subarray(0,s),0),f.set(o,s),f.set(e.subarray(s+n),s+o.length),{removed:h,array:f}}l.splice=t})(xr||(xr={}));var ll=xr;var{setLength:Tp,splice:hl}=ll,{fireEvent:yr,objectEach:Ni,uniqueKey:Fi}=L,br=class{constructor(i={}){this.autoId=!i.id,this.columns={},this.id=i.id||Fi(),this.modified=this,this.rowCount=0,this.versionTag=Fi();let t=0;Ni(i.columns||{},(e,s)=>{this.columns[s]=e.slice(),t=Math.max(t,e.length)}),this.applyRowCount(t)}applyRowCount(i){this.rowCount=i,Ni(this.columns,(t,e)=>{t.length!==i&&(this.columns[e]=Tp(t,i))})}deleteRows(i,t=1){if(t>0&&i<this.rowCount){let e=0;Ni(this.columns,(s,n)=>{this.columns[n]=hl(s,i,t).array,e=s.length}),this.rowCount=e}yr(this,"afterDeleteRows",{rowIndex:i,rowCount:t}),this.versionTag=Fi()}getColumn(i,t){return this.columns[i]}getColumns(i,t){return(i||Object.keys(this.columns)).reduce((e,s)=>(e[s]=this.columns[s],e),{})}getRow(i,t){return(t||Object.keys(this.columns)).map(e=>this.columns[e]?.[i])}setColumn(i,t=[],e=0,s){this.setColumns({[i]:t},e,s)}setColumns(i,t,e){let s=this.rowCount;Ni(i,(n,r)=>{this.columns[r]=n.slice(),s=n.length}),this.applyRowCount(s),e?.silent||(yr(this,"afterSetColumns"),this.versionTag=Fi())}setRow(i,t=this.rowCount,e,s){let{columns:n}=this,r=e?this.rowCount+1:t+1;Ni(i,(o,a)=>{let h=n[a]||s?.addColumns!==!1&&new Array(r);h&&(e?h=hl(h,t,0,!0,[o]).array:h[t]=o,n[a]=h)}),r>this.rowCount&&this.applyRowCount(r),s?.silent||(yr(this,"afterSetRows"),this.versionTag=Fi())}},ui=br;var{extend:wp,merge:Dp,pick:cl}=L,vr;(function(l){function i(s,n){t.call(this,s,n,!0)}l.areaMarker=i;function t(s,n,r){let o=this.legendItem=this.legendItem||{},{chart:a,options:h}=this,{baseline:c=0,symbolWidth:f,symbolHeight:d}=s,p=this.symbol||"circle",m=d/2,u=a.renderer,g=o.group,x=c-Math.round((s.fontMetrics?.b||d)*(r?.4:.3)),y={},b,v=h.marker,C=0;if(a.styledMode||(y["stroke-width"]=Math.min(h.lineWidth||0,24),h.dashStyle?y.dashstyle=h.dashStyle:h.linecap!=="square"&&(y["stroke-linecap"]="round")),o.line=u.path().addClass("highcharts-graph").attr(y).add(g),r&&(o.area=u.path().addClass("highcharts-area").add(g)),y["stroke-linecap"]&&(C=Math.min(o.line.strokeWidth(),f)/2),f){let S=[["M",C,x],["L",f-C,x]];o.line.attr({d:S}),o.area?.attr({d:[...S,["L",f-C,c],["L",C,c]]})}if(v&&v.enabled!==!1&&f){let S=Math.min(cl(v.radius,m),m);p.indexOf("url")===0&&(v=Dp(v,{width:d,height:d}),S=0),o.symbol=b=u.symbol(p,f/2-S,x-S,2*S,2*S,wp({context:"legend"},v)).addClass("highcharts-point").add(g),b.isMarker=!0}}l.lineMarker=t;function e(s,n){let r=n.legendItem||{},o=s.options,a=s.symbolHeight,h=o.squareSymbol,c=h?a:s.symbolWidth;r.symbol=this.chart.renderer.rect(h?(s.symbolWidth-a)/2:0,s.baseline-a+1,c,a,cl(s.options.symbolRadius,a/2)).addClass("highcharts-point").attr({zIndex:3}).add(r.group)}l.rectangle=e})(vr||(vr={}));var _s=vr;var Pp={lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,formatter:function(){let{numberFormatter:l}=this.series.chart;return typeof this.y!="number"?"":l(this.y,-1)},padding:5,style:{fontSize:"0.7em",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:150},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:150},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"},dl=Pp;var{defaultOptions:fl}=Tt,{extend:kp,extendClass:Mp,merge:Op}=L,Cr;(function(l){l.seriesTypes=W.seriesTypes;function i(e,s){let n=fl.plotOptions||{},r=s.defaultOptions,o=s.prototype;return o.type=e,o.pointClass||(o.pointClass=jt),l.seriesTypes[e]?!1:(r&&(n[e]=r),l.seriesTypes[e]=s,!0)}l.registerSeriesType=i;function t(e,s,n,r,o){let a=fl.plotOptions||{};if(s=s||"",a[e]=Op(a[s],n),delete l.seriesTypes[e],i(e,Mp(l.seriesTypes[s]||function(){},r)),l.seriesTypes[e].prototype.type=e,o){class h extends jt{}kp(h.prototype,o),l.seriesTypes[e].prototype.pointClass=h}return l.seriesTypes[e]}l.seriesType=t})(Cr||(Cr={}));var et=Cr;var{animObject:pl,setAnimation:Ap}=ot,{defaultOptions:Bs}=Tt,{registerEventOptions:Ep}=Me,{svg:Lp,win:Ip}=W,{seriesTypes:mi}=et,{format:_p}=wt,{arrayMax:Sr,arrayMin:ul,clamp:ml,correctFloat:gl,crisp:Bp,defined:Dt,destroyObjectProperties:Rp,diffObjects:Wp,erase:xl,error:Rs,extend:gi,find:Np,fireEvent:xt,getClosestDistance:Fp,getNestedProperty:yl,insertItem:bl,isArray:vl,isNumber:kt,isString:Hp,merge:Hi,objectEach:Tr,pick:mt,removeEvent:zp,syncTimeout:Cl}=L,he=class l{constructor(){this.zoneAxis="y"}init(i,t){xt(this,"init",{options:t}),this.dataTable??(this.dataTable=new ui);let e=this,s=i.series;this.eventsToUnbind=[],e.chart=i,e.options=e.setOptions(t);let n=e.options,r=n.visible!==!1;e.linkedSeries=[],e.bindAxes(),gi(e,{name:n.name,state:"",visible:r,selected:n.selected===!0}),Ep(this,n),(n.events?.click||n.point?.events?.click||n.allowPointSelect)&&(i.runTrackerClick=!0),e.getColor(),e.getSymbol(),e.isCartesian&&(i.hasCartesianSeries=!0);let a;s.length&&(a=s[s.length-1]),e._i=mt(a?._i,-1)+1,e.opacity=e.options.opacity,i.orderItems("series",bl(this,s)),n.dataSorting?.enabled?e.setDataSortingOptions():!e.points&&!e.data&&e.setData(n.data,!1),xt(this,"afterInit")}is(i){return mi[i]&&this instanceof mi[i]}bindAxes(){let i=this,t=i.options,e=i.chart,s;xt(this,"bindAxes",null,function(){(i.axisTypes||[]).forEach(function(n){(e[n]||[]).forEach(function(r){s=r.options,(mt(t[n],0)===r.index||typeof t[n]<"u"&&t[n]===s.id)&&(bl(i,r.series),i[n]=r,r.isDirty=!0)}),!i[n]&&i.optionalAxis!==n&&Rs(18,!0,e)})}),xt(this,"afterBindAxes")}hasData(){return this.visible&&typeof this.dataMax<"u"&&typeof this.dataMin<"u"||this.visible&&this.dataTable.rowCount>0}hasMarkerChanged(i,t){let e=i.marker,s=t.marker||{};return e&&(s.enabled&&!e.enabled||s.symbol!==e.symbol||s.height!==e.height||s.width!==e.width)}autoIncrement(i){let t=this.options,{pointIntervalUnit:e,relativeXValue:s}=this.options,n=this.chart.time,r=this.xIncrement??n.parse(t.pointStart)??0,o;if(this.pointInterval=o=mt(this.pointInterval,t.pointInterval,1),s&&kt(i)&&(o*=i),e){let a=n.toParts(r);e==="day"?a[2]+=o:e==="month"?a[1]+=o:e==="year"&&(a[0]+=o),o=n.makeTime.apply(n,a)-r}return s&&kt(i)?r+o:(this.xIncrement=r+o,r)}setDataSortingOptions(){let i=this.options;gi(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),Dt(i.pointRange)||(i.pointRange=1)}setOptions(i){let t=this.chart,e=t.options,s=e.plotOptions,n=t.userOptions||{},r=Hi(i),o=t.styledMode,a={plotOptions:s,userOptions:r},h;xt(this,"setOptions",a);let c=a.plotOptions[this.type],f=n.plotOptions||{},d=f.series||{},p=Bs.plotOptions[this.type]||{},m=f[this.type]||{};c.dataLabels=this.mergeArrays(p.dataLabels,c.dataLabels),this.userOptions=a.userOptions;let u=Hi(c,s.series,m,r);this.tooltipOptions=Hi(Bs.tooltip,Bs.plotOptions.series?.tooltip,p?.tooltip,t.userOptions.tooltip,f.series?.tooltip,m.tooltip,r.tooltip),this.stickyTracking=mt(r.stickyTracking,m.stickyTracking,d.stickyTracking,this.tooltipOptions.shared&&!this.noSharedTooltip?!0:u.stickyTracking),c.marker===null&&delete u.marker,this.zoneAxis=u.zoneAxis||"y";let g=this.zones=(u.zones||[]).map(x=>yt({},x));return(u.negativeColor||u.negativeFillColor)&&!u.zones&&(h={value:u[this.zoneAxis+"Threshold"]||u.threshold||0,className:"highcharts-negative"},o||(h.color=u.negativeColor,h.fillColor=u.negativeFillColor),g.push(h)),g.length&&Dt(g[g.length-1].value)&&g.push(o?{}:{color:this.color,fillColor:this.fillColor}),xt(this,"afterSetOptions",{options:u}),u}getName(){return this.options.name??_p(this.chart.options.lang.seriesName,this,this.chart)}getCyclic(i,t,e){let s=this.chart,n=`${i}Index`,r=`${i}Counter`,o=e?.length||s.options.chart.colorCount,a,h;t||(h=mt(i==="color"?this.options.colorIndex:void 0,this[n]),Dt(h)?a=h:(s.series.length||(s[r]=0),a=s[r]%o,s[r]+=1),e&&(t=e[a])),typeof a<"u"&&(this[n]=a),this[i]=t}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||Bs.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){let i=this.options.marker;this.getCyclic("symbol",i.symbol,this.chart.options.symbols)}getColumn(i,t){return(t?this.dataTable.modified:this.dataTable).getColumn(i,!0)||[]}findPointIndex(i,t){let{id:e,x:s}=i,n=this.points,r=this.options.dataSorting,o=this.cropStart||0,a,h,c;if(e){let f=this.chart.get(e);f instanceof jt&&(a=f)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let f=d=>!d.touched&&d.index===i.index;if(r?.matchByName?f=d=>!d.touched&&d.name===i.name:this.options.relativeXValue&&(f=d=>!d.touched&&d.options.x===i.x),a=Np(n,f),!a)return}return a&&(c=a?.index,typeof c<"u"&&(h=!0)),typeof c>"u"&&kt(s)&&(c=this.getColumn("x").indexOf(s,t)),c!==-1&&typeof c<"u"&&this.cropped&&(c=c>=o?c-o:c),!h&&kt(c)&&n[c]?.touched&&(c=void 0),c}updateData(i,t){let{options:e,requireSorting:s}=this,n=e.dataSorting,r=this.points,o=[],a=i.length===r.length,h,c,f,d,p=!0;if(this.xIncrement=null,i.forEach((u,g)=>{let x=Dt(u)&&this.pointClass.prototype.optionsToObject.call({series:this},u)||{},{id:y,x:b}=x,v;y||kt(b)?(v=this.findPointIndex(x,d),v===-1||typeof v>"u"?o.push(u):r[v]&&u!==e.data?.[v]?(r[v].update(u,!1,void 0,!1),r[v].touched=!0,s&&(d=v+1)):r[v]&&(r[v].touched=!0),(!a||g!==v||n?.enabled||this.hasDerivedData)&&(h=!0)):o.push(u)},this),h)for(c=r.length;c--;)f=r[c],f&&!f.touched&&f.remove?.(!1,t);else a&&!n?.enabled?(i.forEach((u,g)=>{u!==r[g].y&&!r[g].destroyed&&r[g].update(u,!1,void 0,!1)}),o.length=0):p=!1;if(r.forEach(u=>{u&&(u.touched=!1)}),!p)return!1;o.forEach(u=>{this.addPoint(u,!1,void 0,void 0,!1)},this);let m=this.getColumn("x");return this.xIncrement===null&&m.length&&(this.xIncrement=Sr(m),this.autoIncrement()),!0}dataColumnKeys(){return["x",...this.pointArrayMap||["y"]]}setData(i,t=!0,e,s){let n=this,r=n.points,o=r?.length||0,a=n.options,h=n.chart,c=a.dataSorting,f=n.xAxis,d=a.turboThreshold,p=this.dataTable,m=this.dataColumnKeys(),u=n.pointValKey||"y",g=n.pointArrayMap||[],x=g.length,y=a.keys,b,v,C=0,S=1,w;h.options.chart.allowMutatingData||(a.data&&delete n.options.data,n.userOptions.data&&delete n.userOptions.data,w=Hi(!0,i)),i=w||i||[];let T=i.length;if(c?.enabled&&(i=this.sortData(i)),h.options.chart.allowMutatingData&&s!==!1&&T&&o&&!n.cropped&&!n.hasGroupedData&&n.visible&&!n.boosted&&(v=this.updateData(i,e)),!v){n.xIncrement=null,n.colorCounter=0;let k=d&&T>d;if(k){let M=n.getFirstValidPoint(i),E=n.getFirstValidPoint(i,T-1,-1),I=R=>!!(vl(R)&&(y||kt(R[0])));if(kt(M)&&kt(E)){let R=[],_=[];for(let B of i)R.push(this.autoIncrement()),_.push(B);p.setColumns({x:R,[u]:_})}else if(I(M)&&I(E))if(x){let R=M.length===x?1:0,_=new Array(m.length).fill(0).map(()=>[]);for(let B of i){R&&_[0].push(this.autoIncrement());for(let N=R;N<=x;N++)_[N]?.push(B[N-R])}p.setColumns(m.reduce((B,N,Y)=>(B[N]=_[Y],B),{}))}else{y&&(C=y.indexOf("x"),S=y.indexOf("y"),C=C>=0?C:0,S=S>=0?S:1),M.length===1&&(S=0);let R=[],_=[];if(C===S)for(let B of i)R.push(this.autoIncrement()),_.push(B[S]);else for(let B of i)R.push(B[C]),_.push(B[S]);p.setColumns({x:R,[u]:_})}else k=!1}if(!k){let M=m.reduce((E,I)=>(E[I]=[],E),{});for(b=0;b<T;b++){let E=n.pointClass.prototype.applyOptions.apply({series:n},[i[b]]);for(let I of m)M[I][b]=E[I]}p.setColumns(M)}for(Hp(this.getColumn("y")[0])&&Rs(14,!0,h),n.data=[],n.options.data=n.userOptions.data=i,b=o;b--;)r[b]?.destroy();f&&(f.minRange=f.userMinRange),n.isDirty=h.isDirtyBox=!0,n.isDirtyData=!!r,e=!1}a.legendType==="point"&&(this.processData(),this.generatePoints()),t&&h.redraw(e)}sortData(i){let t=this,e=t.options,s=e.dataSorting,n=s.sortKey||"y",r=function(a,h){return Dt(h)&&a.pointClass.prototype.optionsToObject.call({series:a},h)||{}};return i.forEach(function(a,h){i[h]=r(t,a),i[h].index=h},this),i.concat().sort((a,h)=>{let c=yl(n,a),f=yl(n,h);return f<c?-1:f>c?1:0}).forEach(function(a,h){a.x=h},this),t.linkedSeries&&t.linkedSeries.forEach(function(a){let h=a.options,c=h.data;!h.dataSorting?.enabled&&c&&(c.forEach(function(f,d){c[d]=r(a,f),i[d]&&(c[d].x=i[d].x,c[d].index=d)}),a.setData(c,!1))}),i}getProcessedData(i){let t=this,{dataTable:e,isCartesian:s,options:n,xAxis:r}=t,o=n.cropThreshold,a=i||t.getExtremesFromAll,h=r?.logarithmic,c=e.rowCount,f,d,p=0,m,u,g,x=t.getColumn("x"),y=e,b=!1;r&&(m=r.getExtremes(),u=m.min,g=m.max,b=!!(r.categories&&!r.names.length),s&&t.sorted&&!a&&(!o||c>o||t.forceCrop)&&(x[c-1]<u||x[0]>g?y=new ui:t.getColumn(t.pointValKey||"y").length&&(x[0]<u||x[c-1]>g)&&(f=this.cropData(e,u,g),y=f.modified,p=f.start,d=!0))),x=y.getColumn("x")||[];let v=Fp([h?x.map(h.log2lin):x],()=>t.requireSorting&&!b&&Rs(15,!1,t.chart));return{modified:y,cropped:d,cropStart:p,closestPointRange:v}}processData(i){let t=this,e=t.xAxis,s=t.dataTable;if(t.isCartesian&&!t.isDirty&&!e.isDirty&&!t.yAxis.isDirty&&!i)return!1;let n=t.getProcessedData();s.modified=n.modified,t.cropped=n.cropped,t.cropStart=n.cropStart,t.closestPointRange=t.basePointRange=n.closestPointRange,xt(t,"afterProcessData")}cropData(i,t,e){let s=i.getColumn("x",!0)||[],n=s.length,r={},o,a,h=0,c=n;for(o=0;o<n;o++)if(s[o]>=t){h=Math.max(0,o-1);break}for(a=o;a<n;a++)if(s[a]>e){c=a+1;break}for(let f of this.dataColumnKeys()){let d=i.getColumn(f,!0);d&&(r[f]=d.slice(h,c))}return{modified:new ui({columns:r}),start:h,end:c}}generatePoints(){let i=this,t=i.options,e=i.processedData||t.data,s=i.dataTable.modified,n=i.getColumn("x",!0),r=i.pointClass,o=s.rowCount,a=i.cropStart||0,h=i.hasGroupedData,c=t.keys,f=[],d=t.dataGrouping?.groupAll?a:0,p=i.xAxis?.categories,m=i.pointArrayMap||["y"],u=this.dataColumnKeys(),g,x,y,b,v=i.data,C;if(!v&&!h){let S=[];S.length=e?.length||0,v=i.data=S}for(c&&h&&(i.options.keys=!1),b=0;b<o;b++)x=a+b,h?(y=new r(i,s.getRow(b,u)||[]),y.dataGroup=i.groupMap[d+b],y.dataGroup?.options&&(y.options=y.dataGroup.options,gi(y,y.dataGroup.options),delete y.dataLabels)):(y=v[x],C=e?e[x]:s.getRow(b,m),!y&&C!==void 0&&(v[x]=y=new r(i,C,n[b]))),y&&(y.index=h?d+b:x,f[b]=y,y.category=p?.[y.x]??y.x,y.key=y.name??y.category);if(i.options.keys=c,v&&(o!==(g=v.length)||h))for(b=0;b<g;b++)b===a&&!h&&(b+=o),v[b]&&(v[b].destroyElements(),v[b].plotX=void 0);i.data=v,i.points=f,xt(this,"afterGeneratePoints")}getXExtremes(i){return{min:ul(i),max:Sr(i)}}getExtremes(i,t){let{xAxis:e,yAxis:s}=this,n=t||this.getExtremesFromAll||this.options.getExtremesFromAll,r=n&&this.cropped?this.dataTable:this.dataTable.modified,o=r.rowCount,a=i||this.stackedYData,h=a?[a]:(this.keysAffectYAxis||this.pointArrayMap||["y"])?.map(C=>r.getColumn(C,!0)||[])||[],c=this.getColumn("x",!0),f=[],d=this.requireSorting&&!this.is("column")?1:0,p=s?s.positiveValuesOnly:!1,m=n||this.cropped||!e,u,g,x,y=0,b=0;for(e&&(u=e.getExtremes(),y=u.min,b=u.max),x=0;x<o;x++)if(g=c[x],m||(c[x+d]||g)>=y&&(c[x-d]||g)<=b)for(let C of h){let S=C[x];kt(S)&&(S>0||!p)&&f.push(S)}let v={activeYData:f,dataMin:ul(f),dataMax:Sr(f)};return xt(this,"afterGetExtremes",{dataExtremes:v}),v}applyExtremes(){let i=this.getExtremes();return this.dataMin=i.dataMin,this.dataMax=i.dataMax,i}getFirstValidPoint(i,t=0,e=1){let s=i.length,n=t;for(;n>=0&&n<s;){if(Dt(i[n]))return i[n];n+=e}}translate(){this.generatePoints();let i=this,t=i.options,e=t.stacking,s=i.xAxis,n=i.enabledDataSorting,r=i.yAxis,o=i.points,a=o.length,h=i.pointPlacementToXValue(),c=!!h,f=t.threshold,d=t.startFromThreshold?f:0,p=t?.nullInteraction&&r.len,m,u,g,x,y=Number.MAX_VALUE;function b(v){return ml(v,-1e9,1e9)}for(m=0;m<a;m++){let v=o[m],C=v.x,S,w,T=v.y,k=v.low,M=e&&r.stacking?.stacks[(i.negStacks&&T<(d?0:f)?"-":"")+i.stackKey];u=s.translate(C,!1,!1,!1,!0,h),v.plotX=kt(u)?gl(b(u)):void 0,e&&i.visible&&M&&M[C]&&(x=i.getStackIndicator(x,C,i.index),!v.isNull&&x.key&&(S=M[C],w=S.points[x.key]),S&&vl(w)&&(k=w[0],T=w[1],k===d&&x.key===M[C].base&&(k=mt(kt(f)?f:r.min)),r.positiveValuesOnly&&Dt(k)&&k<=0&&(k=void 0),v.total=v.stackTotal=mt(S.total),v.percentage=Dt(v.y)&&S.total?v.y/S.total*100:void 0,v.stackY=T,i.irregularWidths||S.setOffset(i.pointXOffset||0,i.barW||0,void 0,void 0,void 0,i.xAxis))),v.yBottom=Dt(k)?b(r.translate(k,!1,!0,!1,!0)):void 0,i.dataModify&&(T=i.dataModify.modifyValue(T,m));let E;kt(T)&&v.plotX!==void 0?(E=r.translate(T,!1,!0,!1,!0),E=kt(E)?b(E):void 0):!kt(T)&&p&&(E=p),v.plotY=E,v.isInside=this.isPointInside(v),v.clientX=c?gl(s.translate(C,!1,!1,!1,!0,h)):u,v.negative=(v.y||0)<(f||0),!v.isNull&&v.visible!==!1&&(typeof g<"u"&&(y=Math.min(y,Math.abs(u-g))),g=u),v.zone=this.zones.length?v.getZone():void 0,!v.graphic&&i.group&&n&&(v.isNew=!0)}i.closestPointRangePx=y,xt(this,"afterTranslate")}getValidPoints(i,t,e){let s=this.chart;return(i||this.points||[]).filter(function(n){let{plotX:r,plotY:o}=n;return!e&&(n.isNull||!kt(o))||t&&!s.isInsidePlot(r,o,{inverted:s.inverted})?!1:n.visible!==!1})}getSharedClipKey(){return this.sharedClipKey=(this.options.xAxis||0)+","+(this.options.yAxis||0),this.sharedClipKey}setClip(){let{chart:i,group:t,markerGroup:e}=this,s=i.sharedClips,n=i.renderer,r=i.getClipBox(this),o=this.getSharedClipKey(),a=s[o];a?a.animate(r):s[o]=a=n.clipRect(r),t&&t.clip(this.options.clip===!1?void 0:a),e&&e.clip()}animate(i){let{chart:t,group:e,markerGroup:s}=this,n=t.inverted,r=pl(this.options.animation),o=[this.getSharedClipKey(),r.duration,r.easing,r.defer].join(","),a=t.sharedClips[o],h=t.sharedClips[o+"m"];if(i&&e){let c=t.getClipBox(this);if(a)a.attr("height",c.height);else{c.width=0,n&&(c.x=t.plotHeight),a=t.renderer.clipRect(c),t.sharedClips[o]=a;let f={x:-99,y:-99,width:n?t.plotWidth+199:99,height:n?99:t.plotHeight+199};h=t.renderer.clipRect(f),t.sharedClips[o+"m"]=h}e.clip(a),s?.clip(h)}else if(a&&!a.hasClass("highcharts-animating")){let c=t.getClipBox(this),f=r.step;(s?.element.childNodes.length||t.series.length>1)&&(r.step=function(d,p){f&&f.apply(p,arguments),p.prop==="width"&&h?.element&&h.attr(n?"height":"width",d+99)}),a.addClass("highcharts-animating").animate(c,r)}}afterAnimate(){this.setClip(),Tr(this.chart.sharedClips,(i,t,e)=>{i&&!this.chart.container.querySelector(`[clip-path="url(#${i.id})"]`)&&(i.destroy(),delete e[t])}),this.finishedAnimating=!0,xt(this,"afterAnimate")}drawPoints(i=this.points){let t=this,e=t.chart,s=e.styledMode,{colorAxis:n,options:r}=t,o=r.marker,a=r.nullInteraction,h=t[t.specialGroup||"markerGroup"],c=t.xAxis,f=mt(o.enabled,!c||c.isRadial?!0:null,t.closestPointRangePx>=o.enabledThreshold*o.radius),d,p,m,u,g,x,y;if(o.enabled!==!1||t._hasPointMarkers)for(d=0;d<i.length;d++){p=i[d],m=p.graphic,u=m?"animate":"attr",g=p.marker||{},x=!!p.marker;let b=p.isNull;if((f&&!Dt(g.enabled)||g.enabled)&&(!b||a)&&p.visible!==!1){let C=mt(g.symbol,t.symbol,"rect");y=t.markerAttribs(p,p.selected&&"select"),t.enabledDataSorting&&(p.startXPos=c.reversed?-(y.width||0):c.width);let S=p.isInside!==!1;if(!m&&S&&((y.width||0)>0||p.hasImage)&&(p.graphic=m=e.renderer.symbol(C,y.x,y.y,y.width,y.height,x?g:o).add(h),t.enabledDataSorting&&e.hasRendered&&(m.attr({x:p.startXPos}),u="animate")),m&&u==="animate"&&m[S?"show":"hide"](S).animate(y),m){let w=t.pointAttribs(p,s||!p.selected?void 0:"select");s?n&&m.css({fill:w.fill}):m[u](w)}m&&m.addClass(p.getClassName(),!0)}else m&&(p.graphic=m.destroy())}}markerAttribs(i,t){let e=this.options,s=e.marker,n=i.marker||{},r=n.symbol||s.symbol,o={},a,h,c=mt(n.radius,s?.radius);t&&(a=s.states[t],h=n.states&&n.states[t],c=mt(h?.radius,a?.radius,c&&c+(a?.radiusPlus||0))),i.hasImage=r&&r.indexOf("url")===0,i.hasImage&&(c=0);let f=i.pos();return kt(c)&&f&&(e.crisp&&(f[0]=Bp(f[0],i.hasImage?0:r==="rect"?s?.lineWidth||0:1)),o.x=f[0]-c,o.y=f[1]-c),c&&(o.width=o.height=2*c),o}pointAttribs(i,t){let e=this.options,s=e.marker,n=i?.options,r=n?.marker||{},o=n?.color,a=i?.color,h=i?.zone?.color,c,f,d=this.color,p,m,u=mt(r.lineWidth,s.lineWidth),g=i?.isNull&&e.nullInteraction?0:1;return d=o||h||a||d,p=r.fillColor||s.fillColor||d,m=r.lineColor||s.lineColor||d,t=t||"normal",t&&(c=s.states[t]||{},f=r.states&&r.states[t]||{},u=mt(f.lineWidth,c.lineWidth,u+mt(f.lineWidthPlus,c.lineWidthPlus,0)),p=f.fillColor||c.fillColor||p,m=f.lineColor||c.lineColor||m,g=mt(f.opacity,c.opacity,g)),{stroke:m,"stroke-width":u,fill:p,opacity:g}}destroy(i){let t=this,e=t.chart,s=/AppleWebKit\/533/.test(Ip.navigator.userAgent),n=t.data||[],r,o,a;for(xt(t,"destroy",{keepEventsForUpdate:i}),this.removeEvents(i),(t.axisTypes||[]).forEach(function(h){a=t[h],a?.series&&(xl(a.series,t),a.isDirty=a.forceRedraw=!0)}),t.legendItem&&t.chart.legend.destroyItem(t),o=n.length;o--;)n[o]?.destroy?.();for(let h of t.zones)Rp(h,void 0,!0);L.clearTimeout(t.animationTimeout),Tr(t,function(h,c){h instanceof Ft&&!h.survive&&(r=s&&c==="group"?"hide":"destroy",h[r]())}),e.hoverSeries===t&&(e.hoverSeries=void 0),xl(e.series,t),e.orderItems("series"),Tr(t,function(h,c){(!i||c!=="hcEvents")&&delete t[c]})}applyZones(){let i=this,{area:t,chart:e,graph:s,zones:n,points:r,xAxis:o,yAxis:a,zoneAxis:h}=i,{inverted:c,renderer:f}=e,d=this[`${h}Axis`],{isXAxis:p,len:m=0,minPointOffset:u=0}=d||{},g=(s?.strokeWidth()||0)/2+1,x=(y,b=0,v=0)=>{c&&(v=m-v);let{translated:C=0,lineClip:S}=y,w=v-C;S?.push(["L",b,Math.abs(w)<g?v-g*(w<=0?-1:1):C])};if(n.length&&(s||t)&&d&&kt(d.min)){let y=d.getExtremes().max+u,b=S=>{S.forEach((w,T)=>{(w[0]==="M"||w[0]==="L")&&(S[T]=[w[0],p?m-w[1]:w[1],p?w[2]:m-w[2]])})};if(n.forEach(S=>{S.lineClip=[],S.translated=ml(d.toPixels(mt(S.value,y),!0)||0,0,m)}),s&&!this.showLine&&s.hide(),t&&t.hide(),h==="y"&&r.length<o.len)for(let S of r){let{plotX:w,plotY:T,zone:k}=S,M=k&&n[n.indexOf(k)-1];k&&x(k,w,T),M&&x(M,w,T)}let v=[],C=d.toPixels(d.getExtremes().min-u,!0);n.forEach(S=>{let w=S.lineClip||[],T=Math.round(S.translated||0);o.reversed&&w.reverse();let{clip:k,simpleClip:M}=S,E=0,I=0,R=o.len,_=a.len;p?(E=T,R=C):(I=T,_=C);let B=[["M",E,I],["L",R,I],["L",R,_],["L",E,_],["Z"]],N=[B[0],...w,B[1],B[2],...v,B[3],B[4]];v=w.reverse(),C=T,c&&(b(N),t&&b(B)),k?(k.animate({d:N}),M?.animate({d:B})):(k=S.clip=f.path(N),t&&(M=S.simpleClip=f.path(B))),s&&S.graph?.clip(k),t&&S.area?.clip(M)})}else i.visible&&(s&&s.show(),t&&t.show())}plotGroup(i,t,e,s,n){let r=this[i],o=!r,a={visibility:e,zIndex:s||.1};return Dt(this.opacity)&&!this.chart.styledMode&&this.state!=="inactive"&&(a.opacity=this.opacity),r||(this[i]=r=this.chart.renderer.g().add(n)),r.addClass("highcharts-"+t+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(Dt(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(r.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),r.attr(a)[o?"attr":"animate"](this.getPlotBox(t)),r}getPlotBox(i){let t=this.xAxis,e=this.yAxis,s=this.chart,n=s.inverted&&!s.polar&&t&&this.invertible&&i==="series";return s.inverted&&(t=e,e=this.xAxis),{translateX:t?t.left:s.plotLeft,translateY:e?e.top:s.plotTop,rotation:n?90:0,rotationOriginX:n?(t.len-e.len)/2:0,rotationOriginY:n?(t.len+e.len)/2:0,scaleX:n?-1:1,scaleY:1}}removeEvents(i){let{eventsToUnbind:t}=this;i||zp(this),t.length&&(t.forEach(e=>{e()}),t.length=0)}render(){let i=this,{chart:t,options:e,hasRendered:s}=i,n=pl(e.animation),r=i.visible?"inherit":"hidden",o=e.zIndex,a=t.seriesGroup,h=i.finishedAnimating?0:n.duration;xt(this,"render"),i.plotGroup("group","series",r,o,a),i.markerGroup=i.plotGroup("markerGroup","markers",r,o,a),e.clip!==!1&&i.setClip(),h&&i.animate?.(!0),i.drawGraph&&(i.drawGraph(),i.applyZones()),i.visible&&i.drawPoints(),i.drawDataLabels?.(),i.redrawPoints?.(),e.enableMouseTracking&&i.drawTracker?.(),h&&i.animate?.(),s||(h&&n.defer&&(h+=n.defer),i.animationTimeout=Cl(()=>{i.afterAnimate()},h||0)),i.isDirty=!1,i.hasRendered=!0,xt(i,"afterRender")}redraw(){let i=this.isDirty||this.isDirtyData;this.translate(),this.render(),i&&delete this.kdTree}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(i,t){let{xAxis:e,yAxis:s}=this,n=this.chart.inverted;return this.searchKDTree({clientX:n?e.len-i.chartY+e.pos:i.chartX-e.pos,plotY:n?s.len-i.chartX+s.pos:i.chartY-s.pos},t,i)}buildKDTree(i){this.buildingKdTree=!0;let t=this,e=t.options,s=e.findNearestPointBy.indexOf("y")>-1?2:1;function n(o,a,h){let c=o?.length,f,d;if(c)return f=t.kdAxisArray[a%h],o.sort((p,m)=>(p[f]||0)-(m[f]||0)),d=Math.floor(c/2),{point:o[d],left:n(o.slice(0,d),a+1,h),right:n(o.slice(d+1),a+1,h)}}function r(){t.kdTree=n(t.getValidPoints(void 0,!t.directTouch,e?.nullInteraction),s,s),t.buildingKdTree=!1}delete t.kdTree,Cl(r,e.kdNow||i?.type==="touchstart"?0:1)}searchKDTree(i,t,e,s,n){let r=this,[o,a]=this.kdAxisArray,h=t?"distX":"dist",c=(r.options.findNearestPointBy||"").indexOf("y")>-1?2:1,f=!!r.isBubble,d=s||((g,x,y)=>{let b=g[y]||0,v=x[y]||0;return[b===v&&g.index>x.index||b<v?g:x,!1]}),p=n||((g,x)=>g<x);function m(g,x){let y=g[o],b=x[o],v=Dt(y)&&Dt(b)?y-b:null,C=g[a],S=x[a],w=Dt(C)&&Dt(S)?C-S:0,T=f&&x.marker?.radius||0;x.dist=Math.sqrt((v&&v*v||0)+w*w)-T,x.distX=Dt(v)?Math.abs(v)-T:Number.MAX_VALUE}function u(g,x,y,b){let v=x.point,C=r.kdAxisArray[y%b],S=v,w=!1;m(g,v);let T=(g[C]||0)-(v[C]||0)+(f&&v.marker?.radius||0),k=T<0?"left":"right",M=T<0?"right":"left";if(x[k]&&([S,w]=d(v,u(g,x[k],y+1,b),h)),x[M]){let E=Math.sqrt(T*T),I=S[h];p(E,I,w)&&(S=d(S,u(g,x[M],y+1,b),h)[0])}return S}if(!this.kdTree&&!this.buildingKdTree&&this.buildKDTree(e),this.kdTree)return u(i,this.kdTree,c,c)}pointPlacementToXValue(){let{options:i,xAxis:t}=this,e=i.pointPlacement;return e==="between"&&(e=t.reversed?-.5:.5),kt(e)?e*(i.pointRange||t.pointRange):0}isPointInside(i){let{chart:t,xAxis:e,yAxis:s}=this,{plotX:n=-1,plotY:r=-1}=i;return r>=0&&r<=(s?s.len:t.plotHeight)&&n>=0&&n<=(e?e.len:t.plotWidth)}drawTracker(){let i=this,t=i.options,e=t.trackByArea,s=[].concat((e?i.areaPath:i.graphPath)||[]),n=i.chart,r=n.pointer,o=n.renderer,a=n.options.tooltip?.snap||0,h=()=>{t.enableMouseTracking&&n.hoverSeries!==i&&i.onMouseOver()},c="rgba(192,192,192,"+(Lp?1e-4:.002)+")",f=i.tracker;f?f.attr({d:s}):i.graph&&(i.tracker=f=o.path(s).attr({visibility:i.visible?"inherit":"hidden",zIndex:2}).addClass(e?"highcharts-tracker-area":"highcharts-tracker-line").add(i.group),n.styledMode||f.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:c,fill:e?c:"none","stroke-width":i.graph.strokeWidth()+(e?0:2*a)}),[i.tracker,i.markerGroup,i.dataLabelsGroup].forEach(d=>{d&&(d.addClass("highcharts-tracker").on("mouseover",h).on("mouseout",p=>{r?.onTrackerMouseOut(p)}),t.cursor&&!n.styledMode&&d.css({cursor:t.cursor}),d.on("touchstart",h))})),xt(this,"afterDrawTracker")}addPoint(i,t,e,s,n){let r=this,o=r.options,{chart:a,data:h,dataTable:c,xAxis:f}=r,d=f?.hasNames&&f.names,p=o.data,m=r.getColumn("x"),u,g;t=mt(t,!0);let x={series:r};r.pointClass.prototype.applyOptions.apply(x,[i]);let y=x.x;if(g=m.length,r.requireSorting&&y<m[g-1])for(u=!0;g&&m[g-1]>y;)g--;c.setRow(x,g,!0,{addColumns:!1}),d&&x.name&&(d[y]=x.name),p?.splice(g,0,i),(u||r.processedData)&&(r.data.splice(g,0,null),r.processData()),o.legendType==="point"&&r.generatePoints(),e&&(h[0]&&h[0].remove?h[0].remove(!1):([h,p].filter(Dt).forEach(b=>{b.shift()}),c.deleteRows(0))),n!==!1&&xt(r,"addPoint",{point:x}),r.isDirty=!0,r.isDirtyData=!0,t&&a.redraw(s)}removePoint(i,t,e){let s=this,{chart:n,data:r,points:o,dataTable:a}=s,h=r[i],c=function(){[o?.length===r.length?o:void 0,r,s.options.data].filter(Dt).forEach(f=>{f.splice(i,1)}),a.deleteRows(i),h?.destroy(),s.isDirty=!0,s.isDirtyData=!0,t&&n.redraw()};Ap(e,n),t=mt(t,!0),h?h.firePointEvent("remove",null,c):c()}remove(i,t,e,s){let n=this,r=n.chart;function o(){n.destroy(s),r.isDirtyLegend=r.isDirtyBox=!0,r.linkSeries(s),mt(i,!0)&&r.redraw(t)}e!==!1?xt(n,"remove",null,o):o()}update(i,t){i=Wp(i,this.userOptions),xt(this,"update",{options:i});let e=this,s=e.chart,n=e.userOptions,r=e.initialType||e.type,o=s.options.plotOptions,a=mi[r].prototype,h=["group","markerGroup","dataLabelsGroup","transformGroup"],c=["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"],f=e.finishedAnimating&&{animation:!1},d={},p,m,u=l.keepProps.slice(),g=i.type||n.type||s.options.chart.type,x=!(this.hasDerivedData||g&&g!==this.type||typeof i.keys<"u"||typeof i.pointStart<"u"||typeof i.pointInterval<"u"||typeof i.relativeXValue<"u"||i.joinBy||i.mapData||c.some(b=>e.hasOptionChanged(b)));g=g||r,x?(u.push.apply(u,l.keepPropsForPoints),i.visible!==!1&&u.push("area","graph"),e.parallelArrays.forEach(function(b){u.push(b+"Data")}),i.data&&(i.dataSorting&&gi(e.options.dataSorting,i.dataSorting),this.setData(i.data,!1))):this.dataTable.modified=this.dataTable,i=Hi(n,{index:n.index===void 0?e.index:n.index,pointStart:o?.series?.pointStart??n.pointStart??e.getColumn("x")[0]},!x&&{data:e.options.data},i,f),x&&i.data&&(i.data=e.options.data),u=h.concat(u),u.forEach(function(b){u[b]=e[b],delete e[b]});let y=!1;if(mi[g]){if(y=g!==e.type,e.remove(!1,!1,!1,!0),y)if(s.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(e,mi[g].prototype);else{let b=Object.hasOwnProperty.call(e,"hcEvents")&&e.hcEvents;for(m in a)e[m]=void 0;gi(e,mi[g].prototype),b?e.hcEvents=b:delete e.hcEvents}}else Rs(17,!0,s,{missingModuleFor:g});if(u.forEach(function(b){e[b]=u[b]}),e.init(s,i),x&&this.points){p=e.options,p.visible===!1?(d.graphic=1,d.dataLabel=1):(this.hasMarkerChanged(p,n)&&(d.graphic=1),e.hasDataLabels?.()||(d.dataLabel=1));for(let b of this.points)b?.series&&(b.resolveColor(),Object.keys(d).length&&b.destroyElements(d),p.showInLegend===!1&&b.legendItem&&s.legend.destroyItem(b))}e.initialType=r,s.linkSeries(),s.setSortedData(),y&&e.linkedSeries.length&&(e.isDirtyData=!0),xt(this,"afterUpdate"),mt(t,!0)&&s.redraw(x?void 0:!1)}setName(i){this.name=this.options.name=this.userOptions.name=i,this.chart.isDirtyLegend=!0}hasOptionChanged(i){let t=this.chart,e=this.options[i],s=t.options.plotOptions,n=this.userOptions[i],r=mt(s?.[this.type]?.[i],s?.series?.[i]);return n&&!Dt(r)?e!==n:e!==mt(r,e)}onMouseOver(){let i=this,t=i.chart,e=t.hoverSeries;t.pointer?.setHoverChartIndex(),e&&e!==i&&e.onMouseOut(),i.options.events.mouseOver&&xt(i,"mouseOver"),i.setState("hover"),t.hoverSeries=i}onMouseOut(){let i=this,t=i.options,e=i.chart,s=e.tooltip,n=e.hoverPoint;e.hoverSeries=null,n&&n.onMouseOut(),i&&t.events.mouseOut&&xt(i,"mouseOut"),s&&!i.stickyTracking&&(!s.shared||i.noSharedTooltip)&&s.hide(),e.series.forEach(function(r){r.setState("",!0)})}setState(i,t){let e=this,s=e.options,n=e.graph,r=s.inactiveOtherPoints,o=s.states,a=mt(o[i||"normal"]&&o[i||"normal"].animation,e.chart.options.chart.animation),h=s.lineWidth,c=s.opacity;if(i=i||"",e.state!==i&&([e.group,e.markerGroup,e.dataLabelsGroup].forEach(function(f){f&&(e.state&&f.removeClass("highcharts-series-"+e.state),i&&f.addClass("highcharts-series-"+i))}),e.state=i,!e.chart.styledMode)){if(o[i]&&o[i].enabled===!1)return;if(i&&(h=o[i].lineWidth||h+(o[i].lineWidthPlus||0),c=mt(o[i].opacity,c)),n&&!n.dashstyle&&kt(h))for(let f of[n,...this.zones.map(d=>d.graph)])f?.animate({"stroke-width":h},a);r||[e.group,e.markerGroup,e.dataLabelsGroup,e.labelBySeries].forEach(function(f){f&&f.animate({opacity:c},a)})}t&&r&&e.points&&e.setAllPointsToState(i||void 0)}setAllPointsToState(i){this.points.forEach(function(t){t.setState&&t.setState(i)})}setVisible(i,t){let e=this,s=e.chart,n=s.options.chart.ignoreHiddenSeries,r=e.visible;e.visible=i=e.options.visible=e.userOptions.visible=typeof i>"u"?!r:i;let o=i?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(a=>{e[a]?.[o]()}),(s.hoverSeries===e||s.hoverPoint?.series===e)&&e.onMouseOut(),e.legendItem&&s.legend.colorizeItem(e,i),e.isDirty=!0,e.options.stacking&&s.series.forEach(a=>{a.options.stacking&&a.visible&&(a.isDirty=!0)}),e.linkedSeries.forEach(a=>{a.setVisible(i,!1)}),n&&(s.isDirtyBox=!0),xt(e,o),t!==!1&&s.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(i){let t=this;t.selected=i=this.options.selected=typeof i>"u"?!t.selected:i,t.checkbox&&(t.checkbox.checked=i),xt(t,i?"select":"unselect")}shouldShowTooltip(i,t,e={}){return e.series=this,e.visiblePlotOnly=!0,this.chart.isInsidePlot(i,t,e)}drawLegendSymbol(i,t){_s[this.options.legendSymbol||"rectangle"]?.call(this,i,t)}};he.defaultOptions=dl;he.types=et.seriesTypes;he.registerType=et.registerSeriesType;he.keepProps=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"];he.keepPropsForPoints=["data","isDirtyData","isDirtyCanvas","points","dataTable","processedData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"];gi(he.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:jt,requireSorting:!0,sorted:!0});et.series=he;var Pt=he;var{animObject:Xp,setAnimation:Yp}=ot,{registerEventOptions:Sl}=Me,{composed:jp,marginNames:Tl}=W,{distribute:Vp}=Pe,{format:Gp}=wt,{addEvent:Ws,createElement:Up,css:$p,defined:wr,discardElement:qp,find:Kp,fireEvent:xe,isNumber:wl,merge:Ge,pick:qt,pushUnique:Zp,relativeLength:Qp,stableSort:Jp,syncTimeout:tu}=L,zi=class{constructor(i,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=i,this.setOptions(t),t.enabled&&(this.render(),Sl(this,t),Ws(this.chart,"endResize",function(){this.legend.positionCheckboxes()})),Ws(this.chart,"render",()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(i){let t=qt(i.padding,8);this.options=i,this.chart.styledMode||(this.itemStyle=i.itemStyle,this.itemHiddenStyle=Ge(this.itemStyle,i.itemHiddenStyle)),this.itemMarginTop=i.itemMarginTop,this.itemMarginBottom=i.itemMarginBottom,this.padding=t,this.initialItemY=t-5,this.symbolWidth=qt(i.symbolWidth,16),this.pages=[],this.proximate=i.layout==="proximate"&&!this.chart.inverted,this.baseline=void 0}update(i,t){let e=this.chart;this.setOptions(Ge(!0,this.options,i)),"events"in this.options&&Sl(this,this.options),this.destroy(),e.isDirtyLegend=e.isDirtyBox=!0,qt(t,!0)&&e.redraw(),xe(this,"afterUpdate",{redraw:t})}colorizeItem(i,t){let e=i.color,{area:s,group:n,label:r,line:o,symbol:a}=i.legendItem||{};if((i instanceof Pt||i instanceof jt)&&(i.color=i.options?.legendSymbolColor||e),n?.[t?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:h={}}=this,c=h.color,{fillColor:f,fillOpacity:d,lineColor:p,marker:m}=i.options,u=g=>(t||(g.fill&&(g.fill=c),g.stroke&&(g.stroke=c)),g);r?.css(Ge(t?this.itemStyle:h)),o?.attr(u({stroke:p||i.color})),a&&a.attr(u(m&&a.isMarker?i.pointAttribs():{fill:i.color})),s?.attr(u({fill:f||i.color,"fill-opacity":f?1:d??.75}))}i.color=e,xe(this,"afterColorizeItem",{item:i,visible:t})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(i){let t=this,{group:e,x:s=0,y:n=0}=i.legendItem||{},r=t.options,o=r.symbolPadding,a=!r.rtl,h=i.checkbox;if(e?.element){let c={translateX:a?s:t.legendWidth-s-2*o-4,translateY:n},f=()=>{xe(this,"afterPositionItem",{item:i})};e[wr(e.translateY)?"animate":"attr"](c,void 0,f)}h&&(h.x=s,h.y=n)}destroyItem(i){let t=i.checkbox,e=i.legendItem||{};for(let s of["group","label","line","symbol"])e[s]&&(e[s]=e[s].destroy());t&&qp(t),i.legendItem=void 0}destroy(){let i=this;for(let t of this.getAllItems())this.destroyItem(t);for(let t of["clipRect","up","down","pager","nav","box","title","group"])i[t]&&(i[t]=i[t].destroy());this.display=null}positionCheckboxes(){let i=this.group?.alignAttr,t=this.clipHeight||this.legendHeight,e=this.titleHeight,s;i&&(s=i.translateY,this.allItems.forEach(function(n){let r=n.checkbox,o;r&&(o=s+e+r.y+(this.scrollOffset||0)+3,$p(r,{left:i.translateX+n.checkboxOffset+r.x-20+"px",top:o+"px",display:this.proximate||o>s-6&&o<s+t-6?"":"none"}))},this))}renderTitle(){let i=this.options,t=this.padding,e=i.title,s,n=0;e.text&&(this.title||(this.title=this.chart.renderer.label(e.text,t-3,t-4,void 0,void 0,void 0,i.useHTML,void 0,"legend-title").attr({zIndex:1}),this.chart.styledMode||this.title.css(e.style),this.title.add(this.group)),e.width||this.title.css({width:this.maxLegendWidth+"px"}),s=this.title.getBBox(),n=s.height,this.offsetWidth=s.width,this.contentGroup.attr({translateY:n})),this.titleHeight=n}setText(i){let t=this.options;i.legendItem.label.attr({text:t.labelFormat?Gp(t.labelFormat,i,this.chart):t.labelFormatter.call(i)})}renderItem(i){let t=this,e=i.legendItem=i.legendItem||{},s=t.chart,n=s.renderer,r=t.options,o=r.layout==="horizontal",a=t.symbolWidth,h=r.symbolPadding||0,c=t.itemStyle,f=t.itemHiddenStyle,d=o?qt(r.itemDistance,20):0,p=!r.rtl,m=!i.series,u=!m&&i.series.drawLegendSymbol?i.series:i,g=u.options,x=!!t.createCheckboxForItem&&g&&g.showCheckbox,y=r.useHTML,b=i.options.className,v=e.label,C=a+h+d+(x?20:0);v||(e.group=n.g("legend-item").addClass("highcharts-"+u.type+"-series highcharts-color-"+i.colorIndex+(b?" "+b:"")+(m?" highcharts-series-"+i.index:"")).attr({zIndex:1}).add(t.scrollGroup),e.label=v=n.text("",p?a+h:-h,t.baseline||0,y),s.styledMode||v.css(Ge(i.visible?c:f)),v.attr({align:p?"left":"right",zIndex:2}).add(e.group),t.baseline||(t.fontMetrics=n.fontMetrics(v),t.baseline=t.fontMetrics.f+3+t.itemMarginTop,v.attr("y",t.baseline),t.symbolHeight=qt(r.symbolHeight,t.fontMetrics.f),r.squareSymbol&&(t.symbolWidth=qt(r.symbolWidth,Math.max(t.symbolHeight,16)),C=t.symbolWidth+h+d+(x?20:0),p&&v.attr("x",t.symbolWidth+h))),u.drawLegendSymbol(t,i),t.setItemEvents&&t.setItemEvents(i,v,y)),x&&!i.checkbox&&t.createCheckboxForItem&&t.createCheckboxForItem(i),t.colorizeItem(i,i.visible),(s.styledMode||!c.width)&&v.css({width:(r.itemWidth||t.widthOption||s.spacingBox.width)-C+"px"}),t.setText(i);let S=v.getBBox(),w=t.fontMetrics?.h||0;i.itemWidth=i.checkboxOffset=r.itemWidth||e.labelWidth||S.width+C,t.maxItemWidth=Math.max(t.maxItemWidth,i.itemWidth),t.totalItemWidth+=i.itemWidth,t.itemHeight=i.itemHeight=Math.round(e.labelHeight||(S.height>w*1.5?S.height:w))}layoutItem(i){let t=this.options,e=this.padding,s=t.layout==="horizontal",n=i.itemHeight,r=this.itemMarginBottom,o=this.itemMarginTop,a=s?qt(t.itemDistance,20):0,h=this.maxLegendWidth,c=t.alignColumns&&this.totalItemWidth>h?this.maxItemWidth:i.itemWidth,f=i.legendItem||{};s&&this.itemX-e+c>h&&(this.itemX=e,this.lastLineHeight&&(this.itemY+=o+this.lastLineHeight+r),this.lastLineHeight=0),this.lastItemY=o+this.itemY+r,this.lastLineHeight=Math.max(n,this.lastLineHeight),f.x=this.itemX,f.y=this.itemY,s?this.itemX+=c:(this.itemY+=o+n+r,this.lastLineHeight=n),this.offsetWidth=this.widthOption||Math.max((s?this.itemX-e-(i.checkbox?0:a):c)+e,this.offsetWidth)}getAllItems(){let i=[];return this.chart.series.forEach(function(t){let e=t?.options;t&&qt(e.showInLegend,wr(e.linkedTo)?!1:void 0,!0)&&(i=i.concat(t.legendItem?.labels||(e.legendType==="point"?t.data:t)))}),xe(this,"afterGetAllItems",{allItems:i}),i}getAlignment(){let i=this.options;return this.proximate?i.align.charAt(0)+"tv":i.floating?"":i.align.charAt(0)+i.verticalAlign.charAt(0)+i.layout.charAt(0)}adjustMargins(i,t){let e=this.chart,s=this.options,n=this.getAlignment();n&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(r,o){r.test(n)&&!wr(i[o])&&(e[Tl[o]]=Math.max(e[Tl[o]],e.legend[(o+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][o]*s[o%2?"x":"y"]+qt(s.margin,12)+t[o]+(e.titleOffset[o]||0)))})}proximatePositions(){let i=this.chart,t=[],e=this.options.align==="left";this.allItems.forEach(function(n){let r,o,a=e,h,c;n.yAxis&&(n.xAxis.options.reversed&&(a=!a),n.points&&(r=Kp(a?n.points:n.points.slice(0).reverse(),function(f){return wl(f.plotY)})),o=this.itemMarginTop+n.legendItem.label.getBBox().height+this.itemMarginBottom,c=n.yAxis.top-i.plotTop,n.visible?(h=r?r.plotY:n.yAxis.height,h+=c-.3*o):h=c+n.yAxis.height,t.push({target:h,size:o,item:n}))},this);let s;for(let n of Vp(t,i.plotHeight))s=n.item.legendItem||{},wl(n.pos)&&(s.y=i.plotTop-i.spacing[0]+n.pos)}render(){let i=this,t=i.chart,e=t.renderer,s=i.options,n=i.padding,r=i.getAllItems(),o,a,h,c=i.group,f,d=i.box;i.itemX=n,i.itemY=i.initialItemY,i.offsetWidth=0,i.lastItemY=0,i.widthOption=Qp(s.width,t.spacingBox.width-n),f=t.spacingBox.width-2*n-s.x,["rm","lm"].indexOf(i.getAlignment().substring(0,2))>-1&&(f/=2),i.maxLegendWidth=i.widthOption||f,c||(i.group=c=e.g("legend").addClass(s.className||"").attr({zIndex:7}).add(),i.contentGroup=e.g().attr({zIndex:1}).add(c),i.scrollGroup=e.g().add(i.contentGroup)),i.renderTitle(),Jp(r,(p,m)=>(p.options?.legendIndex||0)-(m.options?.legendIndex||0)),s.reversed&&r.reverse(),i.allItems=r,i.display=o=!!r.length,i.lastLineHeight=0,i.maxItemWidth=0,i.totalItemWidth=0,i.itemHeight=0,r.forEach(i.renderItem,i),r.forEach(i.layoutItem,i),a=(i.widthOption||i.offsetWidth)+n,h=i.lastItemY+i.lastLineHeight+i.titleHeight,h=i.handleOverflow(h),h+=n,d||(i.box=d=e.rect().addClass("highcharts-legend-box").attr({r:s.borderRadius}).add(c)),t.styledMode||d.attr({stroke:s.borderColor,"stroke-width":s.borderWidth||0,fill:s.backgroundColor||"none"}).shadow(s.shadow),a>0&&h>0&&d[d.placed?"animate":"attr"](d.crisp.call({},{x:0,y:0,width:a,height:h},d.strokeWidth())),c[o?"show":"hide"](),t.styledMode&&c.getStyle("display")==="none"&&(a=h=0),i.legendWidth=a,i.legendHeight=h,o&&i.align(),this.proximate||this.positionItems(),xe(this,"afterRender")}align(i=this.chart.spacingBox){let t=this.chart,e=this.options,s=i.y;/(lth|ct|rth)/.test(this.getAlignment())&&t.titleOffset[0]>0?s+=t.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&t.titleOffset[2]>0&&(s-=t.titleOffset[2]),s!==i.y&&(i=Ge(i,{y:s})),t.hasRendered||(this.group.placed=!1),this.group.align(Ge(e,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":e.verticalAlign}),!0,i)}handleOverflow(i){let t=this,e=this.chart,s=e.renderer,n=this.options,r=n.y,o=n.verticalAlign==="top",a=this.padding,h=n.maxHeight,c=n.navigation,f=qt(c.animation,!0),d=c.arrowSize||12,p=this.pages,m=this.allItems,u=function(T){typeof T=="number"?w.attr({height:T}):w&&(t.clipRect=w.destroy(),t.contentGroup.clip()),t.contentGroup.div&&(t.contentGroup.div.style.clip=T?"rect("+a+"px,9999px,"+(a+T)+"px,0)":"auto")},g=function(T){return t[T]=s.circle(0,0,d*1.3).translate(d/2,d/2).add(S),e.styledMode||t[T].attr("fill","rgba(0,0,0,0.0001)"),t[T]},x,y,b,v,C=e.spacingBox.height+(o?-r:r)-a,S=this.nav,w=this.clipRect;return n.layout==="horizontal"&&n.verticalAlign!=="middle"&&!n.floating&&(C/=2),h&&(C=Math.min(C,h)),p.length=0,i&&C>0&&i>C&&c.enabled!==!1?(this.clipHeight=x=Math.max(C-20-this.titleHeight-a,0),this.currentPage=qt(this.currentPage,1),this.fullHeight=i,m.forEach((T,k)=>{b=T.legendItem||{};let M=b.y||0,E=Math.round(b.label.getBBox().height),I=p.length;(!I||M-p[I-1]>x&&(y||M)!==p[I-1])&&(p.push(y||M),I++),b.pageIx=I-1,y&&v&&(v.pageIx=I-1),k===m.length-1&&M+E-p[I-1]>x&&M>p[I-1]&&(p.push(M),b.pageIx=I),M!==y&&(y=M),v=b}),w||(w=t.clipRect=s.clipRect(0,a-2,9999,0),t.contentGroup.clip(w)),u(x),S||(this.nav=S=s.g().attr({zIndex:1}).add(this.group),this.up=s.symbol("triangle",0,0,d,d).add(S),g("upTracker").on("click",function(){t.scroll(-1,f)}),this.pager=s.text("",15,10).addClass("highcharts-legend-navigation"),!e.styledMode&&c.style&&this.pager.css(c.style),this.pager.add(S),this.down=s.symbol("triangle-down",0,0,d,d).add(S),g("downTracker").on("click",function(){t.scroll(1,f)})),t.scroll(0),i=C):S&&(u(),this.nav=S.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),i}scroll(i,t){let e=this.chart,s=this.pages,n=s.length,r=this.clipHeight,o=this.options.navigation,a=this.pager,h=this.padding,c=this.currentPage+i;if(c>n&&(c=n),c>0){typeof t<"u"&&Yp(t,e),this.nav.attr({translateX:h,translateY:r+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(d){d.attr({class:c===1?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),a.attr({text:c+"/"+n}),[this.down,this.downTracker].forEach(function(d){d.attr({x:18+this.pager.getBBox().width,class:c===n?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),e.styledMode||(this.up.attr({fill:c===1?o.inactiveColor:o.activeColor}),this.upTracker.css({cursor:c===1?"default":"pointer"}),this.down.attr({fill:c===n?o.inactiveColor:o.activeColor}),this.downTracker.css({cursor:c===n?"default":"pointer"})),this.scrollOffset=-s[c-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=c,this.positionCheckboxes();let f=Xp(qt(t,e.renderer.globalAnimation,!0));tu(()=>{xe(this,"afterScroll",{currentPage:c})},f.duration)}}setItemEvents(i,t,e){let s=this,n=i.legendItem||{},r=s.chart.renderer.boxWrapper,o=i instanceof jt,a=i instanceof Pt,h="highcharts-legend-"+(o?"point":"series")+"-active",c=s.chart.styledMode,f=e?[t,n.symbol]:[n.group],d=p=>{s.allItems.forEach(m=>{i!==m&&[m].concat(m.linkedSeries||[]).forEach(u=>{u.setState(p,!o)})})};for(let p of f)p&&p.on("mouseover",function(){i.visible&&d("inactive"),i.setState("hover"),i.visible&&r.addClass(h),c||t.css(s.options.itemHoverStyle)}).on("mouseout",function(){s.chart.styledMode||t.css(Ge(i.visible?s.itemStyle:s.itemHiddenStyle)),d(""),r.removeClass(h),i.setState()}).on("click",function(m){let u=function(){i.setVisible&&i.setVisible(),d(i.visible?"inactive":"")};r.removeClass(h),xe(s,"itemClick",{browserEvent:m,legendItem:i},u),o?i.firePointEvent("legendItemClick",{browserEvent:m}):a&&xe(i,"legendItemClick",{browserEvent:m})})}createCheckboxForItem(i){let t=this;i.checkbox=Up("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:i.selected,defaultChecked:i.selected},t.options.itemCheckboxStyle,t.chart.container),Ws(i.checkbox,"click",function(e){let s=e.target;xe(i.series||i,"checkboxClick",{checked:s.checked,item:i},function(){i.select()})})}};(function(l){function i(t){Zp(jp,"Core.Legend")&&Ws(t,"beforeMargins",function(){this.legend=new l(this,this.options.legend)})}l.compose=i})(zi||(zi={}));var Dr=zi;var{animate:Pr,animObject:eu,setAnimation:kr}=ot,{defaultOptions:Mr}=Tt,{numberFormat:iu}=wt,{registerEventOptions:Dl}=Me,{charts:Ue,doc:Xi,marginNames:Pl,svg:su,win:kl}=W,{seriesTypes:Or}=et,{addEvent:Ar,attr:Ml,createElement:Er,css:Jt,defined:Le,diffObjects:Ol,discardElement:nu,erase:ru,error:Lr,extend:Ie,find:Ir,fireEvent:it,getAlignFactor:ou,getStyle:_r,isArray:au,isNumber:xi,isObject:lu,isString:Ns,merge:ce,objectEach:Br,pick:Et,pInt:hu,relativeLength:Al,removeEvent:El,splat:Fs,syncTimeout:cu,uniqueKey:du}=L,$e=class l{static chart(i,t,e){return new l(i,t,e)}constructor(i,t,e){this.sharedClips={};let s=[...arguments];(Ns(i)||i.nodeName)&&(this.renderTo=s.shift()),this.init(s[0],s[1])}setZoomOptions(){let i=this,t=i.options.chart,e=t.zooming;i.zooming=Rt(yt({},e),{type:Et(t.zoomType,e.type),key:Et(t.zoomKey,e.key),pinchType:Et(t.pinchType,e.pinchType),singleTouch:Et(t.zoomBySingleTouch,e.singleTouch,!1),resetButton:ce(e.resetButton,t.resetZoomButton)})}init(i,t){it(this,"init",{args:arguments},function(){let e=ce(Mr,i),s=e.chart,n=this.renderTo||s.renderTo;this.userOptions=Ie({},i),(this.renderTo=Ns(n)?Xi.getElementById(n):n)||Lr(13,!0,this),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=t,this.isResizing=0,this.options=e,this.axes=[],this.series=[],this.locale=e.lang.locale??this.renderTo.closest("[lang]")?.lang,this.time=new ai(Ie(e.time||{},{locale:this.locale}),e.lang),e.time=this.time.options,this.numberFormatter=(s.numberFormatter||iu).bind(this),this.styledMode=s.styledMode,this.hasCartesianSeries=s.showAxes;let r=this;r.index=Ue.length,Ue.push(r),W.chartCount++,Dl(this,s),r.xAxis=[],r.yAxis=[],r.pointCount=r.colorCounter=r.symbolCounter=0,this.setZoomOptions(),it(r,"afterInit"),r.firstRender()})}initSeries(i){let t=this,e=t.options.chart,s=i.type||e.type,n=Or[s];n||Lr(17,!0,t,{missingModuleFor:s});let r=new n;return typeof r.init=="function"&&r.init(t,i),r}setSortedData(){this.getSeriesOrderByLinks().forEach(function(i){!i.points&&!i.data&&i.enabledDataSorting&&i.setData(i.options.data,!1)})}getSeriesOrderByLinks(){return this.series.concat().sort(function(i,t){return i.linkedSeries.length||t.linkedSeries.length?t.linkedSeries.length-i.linkedSeries.length:0})}orderItems(i,t=0){let e=this[i],s=this.options[i]=Fs(this.options[i]).slice(),n=this.userOptions[i]=this.userOptions[i]?Fs(this.userOptions[i]).slice():[];if(this.hasRendered&&(s.splice(t),n.splice(t)),e)for(let r=t,o=e.length;r<o;++r){let a=e[r];a&&(a.index=r,a instanceof Pt&&(a.name=a.getName()),a.options.isInternal||(s[r]=a.options,n[r]=a.userOptions))}}getClipBox(i,t){let e=this.inverted,{xAxis:s,yAxis:n}=i||{},{x:r,y:o,width:a,height:h}=ce(this.clipBox);return i&&(s&&s.len!==this.plotSizeX&&(a=s.len),n&&n.len!==this.plotSizeY&&(h=n.len),e&&!i.invertible&&([a,h]=[h,a])),t&&(r+=(e?n:s)?.pos??this.plotLeft,o+=(e?s:n)?.pos??this.plotTop),{x:r,y:o,width:a,height:h}}isInsidePlot(i,t,e={}){let{inverted:s,plotBox:n,plotLeft:r,plotTop:o,scrollablePlotBox:a}=this,{scrollLeft:h=0,scrollTop:c=0}=e.visiblePlotOnly&&this.scrollablePlotArea?.scrollingContainer||{},f=e.series,d=e.visiblePlotOnly&&a||n,p=e.inverted?t:i,m=e.inverted?i:t,u={x:p,y:m,isInsidePlot:!0,options:e};if(!e.ignoreX){let g=f&&(s&&!this.polar?f.yAxis:f.xAxis)||{pos:r,len:1/0},x=e.paneCoordinates?g.pos+p:r+p;x>=Math.max(h+r,g.pos)&&x<=Math.min(h+r+d.width,g.pos+g.len)||(u.isInsidePlot=!1)}if(!e.ignoreY&&u.isInsidePlot){let g=!s&&e.axis&&!e.axis.isXAxis&&e.axis||f&&(s?f.xAxis:f.yAxis)||{pos:o,len:1/0},x=e.paneCoordinates?g.pos+m:o+m;x>=Math.max(c+o,g.pos)&&x<=Math.min(c+o+d.height,g.pos+g.len)||(u.isInsidePlot=!1)}return it(this,"afterIsInsidePlot",u),u.isInsidePlot}redraw(i){it(this,"beforeRedraw");let t=this,e=t.hasCartesianSeries?t.axes:t.colorAxis||[],s=t.series,n=t.pointer,r=t.legend,o=t.userOptions.legend,a=t.renderer,h=a.isHidden(),c=[],f,d,p,m=t.isDirtyBox,u=t.isDirtyLegend,g;for(a.rootFontSize=a.boxWrapper.getStyle("font-size"),t.setResponsive&&t.setResponsive(!1),kr(t.hasRendered?i:!1,t),h&&t.temporaryDisplay(),t.layOutTitles(!1),p=s.length;p--;)if(g=s[p],(g.options.stacking||g.options.centerInCategory)&&(d=!0,g.isDirty)){f=!0;break}if(f)for(p=s.length;p--;)g=s[p],g.options.stacking&&(g.isDirty=!0);s.forEach(function(x){x.isDirty&&(x.options.legendType==="point"?(typeof x.updateTotals=="function"&&x.updateTotals(),u=!0):o&&(o.labelFormatter||o.labelFormat)&&(u=!0)),x.isDirtyData&&it(x,"updatedData")}),u&&r&&r.options.enabled&&(r.render(),t.isDirtyLegend=!1),d&&t.getStacks(),e.forEach(function(x){x.updateNames(),x.setScale()}),t.getMargins(),e.forEach(function(x){x.isDirty&&(m=!0)}),e.forEach(function(x){let y=x.min+","+x.max;x.extKey!==y&&(x.extKey=y,c.push(function(){it(x,"afterSetExtremes",Ie(x.eventArgs,x.getExtremes())),delete x.eventArgs})),(m||d)&&x.redraw()}),m&&t.drawChartBox(),it(t,"predraw"),s.forEach(function(x){(m||x.isDirty)&&x.visible&&x.redraw(),x.isDirtyData=!1}),n&&n.reset(!0),a.draw(),it(t,"redraw"),it(t,"render"),h&&t.temporaryDisplay(!0),c.forEach(function(x){x.call()})}get(i){let t=this.series;function e(n){return n.id===i||n.options&&n.options.id===i}let s=Ir(this.axes,e)||Ir(this.series,e);for(let n=0;!s&&n<t.length;n++)s=Ir(t[n].points||[],e);return s}createAxes(){let i=this.userOptions;it(this,"createAxes");for(let t of["xAxis","yAxis"]){let e=i[t]=Fs(i[t]||{});for(let s of e)new Ri(this,s,t)}it(this,"afterCreateAxes")}getSelectedPoints(){return this.series.reduce((i,t)=>(t.getPointsCollection().forEach(e=>{Et(e.selectedStaging,e.selected)&&i.push(e)}),i),[])}getSelectedSeries(){return this.series.filter(i=>i.selected)}setTitle(i,t,e){this.applyDescription("title",i),this.applyDescription("subtitle",t),this.applyDescription("caption",void 0),this.layOutTitles(e)}applyDescription(i,t){let e=this,s=this.options[i]=ce(this.options[i],t),n=this[i];n&&t&&(this[i]=n=n.destroy()),s&&!n&&(n=this.renderer.text(s.text,0,0,s.useHTML).attr({align:s.align,class:"highcharts-"+i,zIndex:s.zIndex||4}).css({textOverflow:"ellipsis",whiteSpace:"nowrap"}).add(),n.update=function(r,o){e.applyDescription(i,r),e.layOutTitles(o)},this.styledMode||n.css(Ie(i==="title"?{fontSize:this.options.isStock?"1em":"1.2em"}:{},s.style)),n.textPxLength=n.getBBox().width,n.css({whiteSpace:s.style?.whiteSpace}),this[i]=n)}layOutTitles(i=!0){let t=[0,0,0],{options:e,renderer:s,spacingBox:n}=this;["title","subtitle","caption"].forEach(o=>{let a=this[o],h=this.options[o],c=ce(n),f=a?.textPxLength||0;if(a&&h){it(this,"layOutTitle",{alignTo:c,key:o,textPxLength:f});let d=s.fontMetrics(a),p=d.b,m=d.h,u=h.verticalAlign||"top",g=u==="top",x=g&&h.minScale||1,y=o==="title"?g?-3:0:g?t[0]+2:0,b=Math.min(c.width/f,1),v=Math.max(x,b),C=ce({y:u==="bottom"?p:y+p},{align:o==="title"?b<x?"left":"center":this.title?.alignValue},h),S=(h.width||(b>x?this.chartWidth:c.width)/v)+"px";a.alignValue!==C.align&&(a.placed=!1);let w=Math.round(a.css({width:S}).getBBox(h.useHTML).height);if(C.height=w,a.align(C,!1,c).attr({align:C.align,scaleX:v,scaleY:v,"transform-origin":`${c.x+f*v*ou(C.align)} ${m}`}),!h.floating){let T=w*(w<m*1.2?1:v);u==="top"?t[0]=Math.ceil(t[0]+T):u==="bottom"&&(t[2]=Math.ceil(t[2]+T))}}},this),t[0]&&(e.title?.verticalAlign||"top")==="top"&&(t[0]+=e.title?.margin||0),t[2]&&e.caption?.verticalAlign==="bottom"&&(t[2]+=e.caption?.margin||0);let r=!this.titleOffset||this.titleOffset.join(",")!==t.join(",");this.titleOffset=t,it(this,"afterLayOutTitles"),!this.isDirtyBox&&r&&(this.isDirtyBox=this.isDirtyLegend=r,this.hasRendered&&i&&this.isDirtyBox&&this.redraw())}getContainerBox(){let i=[].map.call(this.renderTo.children,e=>{if(e!==this.container){let s=e.style.display;return e.style.display="none",[e,s]}}),t={width:_r(this.renderTo,"width",!0)||0,height:_r(this.renderTo,"height",!0)||0};return i.filter(Boolean).forEach(([e,s])=>{e.style.display=s}),t}getChartSize(){let i=this,t=i.options.chart,e=t.width,s=t.height,n=i.getContainerBox(),r=n.height<=1||!i.renderTo.parentElement?.style.height&&i.renderTo.style.height==="100%";i.chartWidth=Math.max(0,e||n.width||600),i.chartHeight=Math.max(0,Al(s,i.chartWidth)||(r?400:n.height)),i.containerBox=n}temporaryDisplay(i){let t=this.renderTo,e;if(i)for(;t?.style;)t.hcOrigStyle&&(Jt(t,t.hcOrigStyle),delete t.hcOrigStyle),t.hcOrigDetached&&(Xi.body.removeChild(t),t.hcOrigDetached=!1),t=t.parentNode;else for(;t?.style&&(!Xi.body.contains(t)&&!t.parentNode&&(t.hcOrigDetached=!0,Xi.body.appendChild(t)),(_r(t,"display",!1)==="none"||t.hcOricDetached)&&(t.hcOrigStyle={display:t.style.display,height:t.style.height,overflow:t.style.overflow},e={display:"block",overflow:"hidden"},t!==this.renderTo&&(e.height=0),Jt(t,e),t.offsetWidth||t.style.setProperty("display","block","important")),t=t.parentNode,t!==Xi.body););}setClassName(i){this.container.className="highcharts-container "+(i||"")}getContainer(){let i=this,t=i.options,e=t.chart,s="data-highcharts-chart",n=du(),r=i.renderTo,o,a=hu(Ml(r,s));xi(a)&&Ue[a]&&Ue[a].hasRendered&&Ue[a].destroy(),Ml(r,s,i.index),r.innerHTML=At.emptyHTML,!e.skipClone&&!r.offsetWidth&&i.temporaryDisplay(),i.getChartSize();let h=i.chartHeight,c=i.chartWidth;Jt(r,{overflow:"hidden"}),i.styledMode||(o=Ie({position:"relative",overflow:"hidden",width:c+"px",height:h+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none",padding:"0px"},e.style||{}));let f=Er("div",{id:n},o,r);i.container=f,i.getChartSize(),c!==i.chartWidth&&(c=i.chartWidth,i.styledMode||Jt(f,{width:Et(e.style?.width,c+"px")})),i.containerBox=i.getContainerBox(),i._cursor=f.style.cursor;let d=e.renderer||!su?ne.getRendererType(e.renderer):vs;if(i.renderer=new d(f,c,h,void 0,e.forExport,t.exporting?.allowHTML,i.styledMode),kr(void 0,i),i.setClassName(e.className),!i.styledMode)i.renderer.setStyle(e.style);else for(let p in t.defs)this.renderer.definition(t.defs[p]);i.renderer.chartIndex=i.index,it(this,"afterGetContainer")}getMargins(i){let{spacing:t,margin:e,titleOffset:s}=this;this.resetMargins(),s[0]&&!Le(e[0])&&(this.plotTop=Math.max(this.plotTop,s[0]+t[0])),s[2]&&!Le(e[2])&&(this.marginBottom=Math.max(this.marginBottom,s[2]+t[2])),this.legend?.display&&this.legend.adjustMargins(e,t),it(this,"getMargins"),i||this.getAxisMargins()}getAxisMargins(){let i=this,t=i.axisOffset=[0,0,0,0],e=i.colorAxis,s=i.margin,n=function(r){r.forEach(function(o){o.visible&&o.getOffset()})};i.hasCartesianSeries?n(i.axes):e?.length&&n(e),Pl.forEach(function(r,o){Le(s[o])||(i[r]+=t[o])}),i.setChartSize()}getOptions(){return Ol(this.userOptions,Mr)}reflow(i){let t=this,e=t.containerBox,s=t.getContainerBox();delete t.pointer?.chartPosition,!t.isPrinting&&!t.isResizing&&e&&s.width&&((s.width!==e.width||s.height!==e.height)&&(L.clearTimeout(t.reflowTimeout),t.reflowTimeout=cu(function(){t.container&&t.setSize(void 0,void 0,!1)},i?100:0)),t.containerBox=s)}setReflow(){let i=this,t=e=>{i.options?.chart.reflow&&i.hasLoaded&&i.reflow(e)};if(typeof ResizeObserver=="function")new ResizeObserver(t).observe(i.renderTo);else{let e=Ar(kl,"resize",t);Ar(this,"destroy",e)}}setSize(i,t,e){let s=this,n=s.renderer;s.isResizing+=1,kr(e,s);let r=n.globalAnimation;s.oldChartHeight=s.chartHeight,s.oldChartWidth=s.chartWidth,typeof i<"u"&&(s.options.chart.width=i),typeof t<"u"&&(s.options.chart.height=t),s.getChartSize();let{chartWidth:o,chartHeight:a,scrollablePixelsX:h=0,scrollablePixelsY:c=0}=s;(s.isDirtyBox||o!==s.oldChartWidth||a!==s.oldChartHeight)&&(s.styledMode||(r?Pr:Jt)(s.container,{width:`${o+h}px`,height:`${a+c}px`},r),s.setChartSize(!0),n.setSize(o,a,r),s.axes.forEach(function(f){f.isDirty=!0,f.setScale()}),s.isDirtyLegend=!0,s.isDirtyBox=!0,s.layOutTitles(),s.getMargins(),s.redraw(r),s.oldChartHeight=void 0,it(s,"resize"),setTimeout(()=>{s&&it(s,"endResize")},eu(r).duration)),s.isResizing-=1}setChartSize(i){let t=this,{chartHeight:e,chartWidth:s,inverted:n,spacing:r,renderer:o}=t,a=t.clipOffset,h=Math[n?"floor":"round"],c,f,d,p;t.plotLeft=c=Math.round(t.plotLeft),t.plotTop=f=Math.round(t.plotTop),t.plotWidth=d=Math.max(0,Math.round(s-c-(t.marginRight??0))),t.plotHeight=p=Math.max(0,Math.round(e-f-(t.marginBottom??0))),t.plotSizeX=n?p:d,t.plotSizeY=n?d:p,t.spacingBox=o.spacingBox={x:r[3],y:r[0],width:s-r[3]-r[1],height:e-r[0]-r[2]},t.plotBox=o.plotBox={x:c,y:f,width:d,height:p},a&&(t.clipBox={x:h(a[3]),y:h(a[0]),width:h(t.plotSizeX-a[1]-a[3]),height:h(t.plotSizeY-a[0]-a[2])}),i||(t.axes.forEach(function(m){m.setAxisSize(),m.setAxisTranslation()}),o.alignElements()),it(t,"afterSetChartSize",{skipAxes:i})}resetMargins(){it(this,"resetMargins");let i=this,t=i.options.chart,e=t.plotBorderWidth||0,s=Math.round(e)/2;["margin","spacing"].forEach(function(r){let o=t[r],a=lu(o)?o:[o,o,o,o];["Top","Right","Bottom","Left"].forEach(function(h,c){i[r][c]=Et(t[r+h],a[c])})}),Pl.forEach(function(n,r){i[n]=Et(i.margin[r],i.spacing[r])}),i.axisOffset=[0,0,0,0],i.clipOffset=[s,s,s,s],i.plotBorderWidth=e}drawChartBox(){let i=this,t=i.options.chart,e=i.renderer,s=i.chartWidth,n=i.chartHeight,r=i.styledMode,o=i.plotBGImage,a=t.backgroundColor,h=t.plotBackgroundColor,c=t.plotBackgroundImage,f=i.plotLeft,d=i.plotTop,p=i.plotWidth,m=i.plotHeight,u=i.plotBox,g=i.clipRect,x=i.clipBox,y=i.chartBackground,b=i.plotBackground,v=i.plotBorder,C,S,w,T="animate";y||(i.chartBackground=y=e.rect().addClass("highcharts-background").add(),T="attr"),r?C=S=y.strokeWidth():(C=t.borderWidth||0,S=C+(t.shadow?8:0),w={fill:a||"none"},(C||y["stroke-width"])&&(w.stroke=t.borderColor,w["stroke-width"]=C),y.attr(w).shadow(t.shadow)),y[T]({x:S/2,y:S/2,width:s-S-C%2,height:n-S-C%2,r:t.borderRadius}),T="animate",b||(T="attr",i.plotBackground=b=e.rect().addClass("highcharts-plot-background").add()),b[T](u),r||(b.attr({fill:h||"none"}).shadow(t.plotShadow),c&&(o?(c!==o.attr("href")&&o.attr("href",c),o.animate(u)):i.plotBGImage=e.image(c,f,d,p,m).add())),g?g.animate({width:x.width,height:x.height}):i.clipRect=e.clipRect(x),T="animate",v||(T="attr",i.plotBorder=v=e.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),r||v.attr({stroke:t.plotBorderColor,"stroke-width":t.plotBorderWidth||0,fill:"none"}),v[T](v.crisp(u,-v.strokeWidth())),i.isDirtyBox=!1,it(this,"afterDrawChartBox")}propFromSeries(){let i=this,t=i.options.chart,e=i.options.series,s,n,r;["inverted","angular","polar"].forEach(function(o){for(n=Or[t.type],r=t[o]||n&&n.prototype[o],s=e?.length;!r&&s--;)n=Or[e[s].type],n&&n.prototype[o]&&(r=!0);i[o]=r})}linkSeries(i){let t=this,e=t.series;e.forEach(function(s){s.linkedSeries.length=0}),e.forEach(function(s){let{linkedTo:n}=s.options;if(Ns(n)){let r;n===":previous"?r=t.series[s.index-1]:r=t.get(n),r&&r.linkedParent!==s&&(r.linkedSeries.push(s),s.linkedParent=r,r.enabledDataSorting&&s.setDataSortingOptions(),s.visible=Et(s.options.visible,r.options.visible,s.visible))}}),it(this,"afterLinkSeries",{isUpdating:i})}renderSeries(){this.series.forEach(function(i){i.translate(),i.render()})}render(){let i=this,t=i.axes,e=i.colorAxis,s=i.renderer,n=i.options.chart.axisLayoutRuns||2,r=f=>{f.forEach(d=>{d.visible&&d.render()})},o=0,a=!0,h,c=0;i.setTitle(),it(i,"beforeMargins"),i.getStacks?.(),i.getMargins(!0),i.setChartSize();for(let f of t){let{options:d}=f,{labels:p}=d;if(i.hasCartesianSeries&&f.horiz&&f.visible&&p.enabled&&f.series.length&&f.coll!=="colorAxis"&&!i.polar){o=d.tickLength,f.createGroups();let m=new ge(f,0,"",!0),u=m.createLabel("x",p);if(m.destroy(),u&&Et(p.reserveSpace,!xi(d.crossing))&&(o=u.getBBox().height+p.distance+Math.max(d.offset||0,0)),o){u?.destroy();break}}}for(i.plotHeight=Math.max(i.plotHeight-o,0);(a||h||n>1)&&c<n;){let f=i.plotWidth,d=i.plotHeight;for(let p of t)c===0?p.setScale():(p.horiz&&a||!p.horiz&&h)&&p.setTickInterval(!0);c===0?i.getAxisMargins():i.getMargins(),a=f/i.plotWidth>(c?1:1.1),h=d/i.plotHeight>(c?1:1.05),c++}i.drawChartBox(),i.hasCartesianSeries?r(t):e?.length&&r(e),i.seriesGroup||(i.seriesGroup=s.g("series-group").attr({zIndex:3}).shadow(i.options.chart.seriesGroupShadow).add()),i.renderSeries(),i.addCredits(),i.setResponsive&&i.setResponsive(),i.hasRendered=!0}addCredits(i){let t=this,e=ce(!0,this.options.credits,i);e.enabled&&!this.credits&&(this.credits=this.renderer.text(e.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){e.href&&(kl.location.href=e.href)}).attr({align:e.position.align,zIndex:8}),t.styledMode||this.credits.css(e.style),this.credits.add().align(e.position),this.credits.update=function(s){t.credits=t.credits.destroy(),t.addCredits(s)})}destroy(){let i=this,t=i.axes,e=i.series,s=i.container,n=s?.parentNode,r;for(it(i,"destroy"),i.renderer.forExport?ru(Ue,i):Ue[i.index]=void 0,W.chartCount--,i.renderTo.removeAttribute("data-highcharts-chart"),El(i),r=t.length;r--;)t[r]=t[r].destroy();for(this.scroller?.destroy?.(),r=e.length;r--;)e[r]=e[r].destroy();["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach(o=>{i[o]=i[o]?.destroy?.()}),s&&(s.innerHTML=At.emptyHTML,El(s),n&&nu(s)),Br(i,function(o,a){delete i[a]})}firstRender(){let i=this,t=i.options;i.getContainer(),i.resetMargins(),i.setChartSize(),i.propFromSeries(),i.createAxes();let e=au(t.series)?t.series:[];t.series=[],e.forEach(function(s){i.initSeries(s)}),i.linkSeries(),i.setSortedData(),it(i,"beforeRender"),i.render(),i.pointer?.getChartPosition(),!i.renderer.imgCount&&!i.hasLoaded&&i.onload(),i.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach(function(i){i&&typeof this.index<"u"&&i.apply(this,[this])},this),it(this,"load"),it(this,"render"),Le(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:i,title:t}=this;i&&!this.accessibility&&(this.renderer.boxWrapper.attr({role:"img","aria-label":(t?.element.textContent||"").replace(/</g,"<")}),i.accessibility&&i.accessibility.enabled===!1||Lr('Highcharts warning: Consider including the "accessibility.js" module to make your chart more usable for people with disabilities. Set the "accessibility.enabled" option to false to remove this warning. See https://www.highcharts.com/docs/accessibility/accessibility-module.',!1,this))}addSeries(i,t,e){let s=this,n;return i&&(t=Et(t,!0),it(s,"addSeries",{options:i},function(){n=s.initSeries(i),s.isDirtyLegend=!0,s.linkSeries(),n.enabledDataSorting&&n.setData(i.data,!1),it(s,"afterAddSeries",{series:n}),t&&s.redraw(e)})),n}addAxis(i,t,e,s){return this.createAxis(t?"xAxis":"yAxis",{axis:i,redraw:e,animation:s})}addColorAxis(i,t,e){return this.createAxis("colorAxis",{axis:i,redraw:t,animation:e})}createAxis(i,t){let e=new Ri(this,t.axis,i);return Et(t.redraw,!0)&&this.redraw(t.animation),e}showLoading(i){let t=this,e=t.options,s=e.loading,n=function(){r&&Jt(r,{left:t.plotLeft+"px",top:t.plotTop+"px",width:t.plotWidth+"px",height:t.plotHeight+"px"})},r=t.loadingDiv,o=t.loadingSpan;r||(t.loadingDiv=r=Er("div",{className:"highcharts-loading highcharts-loading-hidden"},null,t.container)),o||(t.loadingSpan=o=Er("span",{className:"highcharts-loading-inner"},null,r),Ar(t,"redraw",n)),r.className="highcharts-loading",At.setElementHTML(o,Et(i,e.lang.loading,"")),t.styledMode||(Jt(r,Ie(s.style,{zIndex:10})),Jt(o,s.labelStyle),t.loadingShown||(Jt(r,{opacity:0,display:""}),Pr(r,{opacity:s.style.opacity||.5},{duration:s.showDuration||0}))),t.loadingShown=!0,n()}hideLoading(){let i=this.options,t=this.loadingDiv;t&&(t.className="highcharts-loading highcharts-loading-hidden",this.styledMode||Pr(t,{opacity:0},{duration:i.loading.hideDuration||100,complete:function(){Jt(t,{display:"none"})}})),this.loadingShown=!1}update(i,t,e,s){let n=this,r={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle",caption:"setCaption"},o=i.isResponsiveOptions,a=[],h,c,f;it(n,"update",{options:i}),o||n.setResponsive(!1,!0),i=Ol(i,n.options),n.userOptions=ce(n.userOptions,i);let d=i.chart;d&&(ce(!0,n.options.chart,d),this.setZoomOptions(),"className"in d&&n.setClassName(d.className),("inverted"in d||"polar"in d||"type"in d)&&(n.propFromSeries(),h=!0),"alignTicks"in d&&(h=!0),"events"in d&&Dl(this,d),Br(d,function(u,g){n.propsRequireUpdateSeries.indexOf("chart."+g)!==-1&&(c=!0),n.propsRequireDirtyBox.indexOf(g)!==-1&&(n.isDirtyBox=!0),n.propsRequireReflow.indexOf(g)!==-1&&(n.isDirtyBox=!0,o||(f=!0))}),!n.styledMode&&d.style&&n.renderer.setStyle(n.options.chart.style||{})),!n.styledMode&&i.colors&&(this.options.colors=i.colors),Br(i,function(u,g){n[g]&&typeof n[g].update=="function"?n[g].update(u,!1):typeof n[r[g]]=="function"?n[r[g]](u):g!=="colors"&&n.collectionsWithUpdate.indexOf(g)===-1&&ce(!0,n.options[g],i[g]),g!=="chart"&&n.propsRequireUpdateSeries.indexOf(g)!==-1&&(c=!0)}),this.collectionsWithUpdate.forEach(function(u){i[u]&&(Fs(i[u]).forEach(function(g,x){let y=Le(g.id),b;y&&(b=n.get(g.id)),!b&&n[u]&&(b=n[u][Et(g.index,x)],b&&(y&&Le(b.options.id)||b.options.isInternal)&&(b=void 0)),b&&b.coll===u&&(b.update(g,!1),e&&(b.touched=!0)),!b&&e&&n.collectionsWithInit[u]&&(n.collectionsWithInit[u][0].apply(n,[g].concat(n.collectionsWithInit[u][1]||[]).concat([!1])).touched=!0)}),e&&n[u].forEach(function(g){!g.touched&&!g.options.isInternal?a.push(g):delete g.touched}))}),a.forEach(function(u){u.chart&&u.remove&&u.remove(!1)}),h&&n.axes.forEach(function(u){u.update({},!1)}),c&&n.getSeriesOrderByLinks().forEach(function(u){u.chart&&u.update({},!1)},this);let p=d?.width,m=d&&(Ns(d.height)?Al(d.height,p||n.chartWidth):d.height);f||xi(p)&&p!==n.chartWidth||xi(m)&&m!==n.chartHeight?n.setSize(p,m,s):Et(t,!0)&&n.redraw(s),it(n,"afterUpdate",{options:i,redraw:t,animation:s})}setSubtitle(i,t){this.applyDescription("subtitle",i),this.layOutTitles(t)}setCaption(i,t){this.applyDescription("caption",i),this.layOutTitles(t)}showResetZoom(){let i=this,t=Mr.lang,e=i.zooming.resetButton,s=e.theme,n=e.relativeTo==="chart"||e.relativeTo==="spacingBox"?null:"plotBox";function r(){i.zoomOut()}it(this,"beforeShowResetZoom",null,function(){i.resetZoomButton=i.renderer.button(t.resetZoom,null,null,r,s).attr({align:e.position.align,title:t.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(e.position,!1,n)}),it(this,"afterShowResetZoom")}zoomOut(){it(this,"selection",{resetSelection:!0},()=>this.transform({reset:!0,trigger:"zoom"}))}pan(i,t){let e=this,s=typeof t=="object"?t:{enabled:t,type:"x"},n=s.type,r=n&&e[{x:"xAxis",xy:"axes",y:"yAxis"}[n]].filter(a=>a.options.panningEnabled&&!a.options.isInternal),o=e.options.chart;o?.panning&&(o.panning=s),it(this,"pan",{originalEvent:i},()=>{e.transform({axes:r,event:i,to:{x:i.chartX-(e.mouseDownX||0),y:i.chartY-(e.mouseDownY||0)},trigger:"pan"}),Jt(e.container,{cursor:"move"})})}transform(i){let{axes:t=this.axes,event:e,from:s={},reset:n,selection:r,to:o={},trigger:a}=i,{inverted:h,time:c}=this,f=!1,d,p;this.hoverPoints?.forEach(m=>m.setState());for(let m of t){let{horiz:u,len:g,minPointOffset:x=0,options:y,reversed:b}=m,v=u?"width":"height",C=u?"x":"y",S=Et(o[v],m.len),w=Et(s[v],m.len),T=Math.abs(S)<10?1:S/w,k=(s[C]||0)+w/2-m.pos,M=(o[C]??m.pos)+S/2-m.pos,E=k-M/T,I=b&&!h||!b&&h?-1:1,R=E;if(!n&&(k<0||k>m.len))continue;let _=m.toValue(R,!0)+(r||m.isOrdinal?0:x*I),B=m.toValue(R+g/T,!0)-(r||m.isOrdinal?0:x*I||0),N=m.allExtremes;if(_>B&&([_,B]=[B,_]),T===1&&!n&&m.coll==="yAxis"&&!N){for(let Si of m.series){let be=Si.getExtremes(Si.getProcessedData(!0).modified.getColumn("y")||[],!0);N??(N={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE}),xi(be.dataMin)&&xi(be.dataMax)&&(N.dataMin=Math.min(be.dataMin,N.dataMin),N.dataMax=Math.max(be.dataMax,N.dataMax))}m.allExtremes=N}let{dataMin:Y,dataMax:K,min:st,max:nt}=Ie(m.getExtremes(),N||{}),Ot=c.parse(y.min),dt=c.parse(y.max),Z=Y??Ot,q=K??dt,X=B-_,U=m.categories?0:Math.min(X,q-Z),J=Z-U*(Le(Ot)?0:y.minPadding),rt=q+U*(Le(dt)?0:y.maxPadding),tt=m.allowZoomOutside||T===1||a!=="zoom"&&T>1,gt=Math.min(Ot??J,J,tt?st:J),te=Math.max(dt??rt,rt,tt?nt:rt);(!m.isOrdinal||m.options.overscroll||T!==1||n)&&(_<gt&&(_=gt,T>=1&&(B=_+X)),B>te&&(B=te,T>=1&&(_=B-X)),(n||m.series.length&&(_!==st||B!==nt)&&_>=gt&&B<=te)&&(r?r[m.coll].push({axis:m,min:_,max:B}):(m.isPanning=a!=="zoom",m.isPanning&&(p=!0),m.setExtremes(n?void 0:_,n?void 0:B,!1,!1,{move:E,trigger:a,scale:T}),!n&&(_>gt||B<te)&&a!=="mousewheel"&&(d=!0)),f=!0),e&&(this[u?"mouseDownX":"mouseDownY"]=e[u?"chartX":"chartY"]))}return f&&(r?it(this,"selection",r,()=>{delete i.selection,i.trigger="zoom",this.transform(i)}):(d&&!p&&!this.resetZoomButton?this.showResetZoom():!d&&this.resetZoomButton&&(this.resetZoomButton=this.resetZoomButton.destroy()),this.redraw(a==="zoom"&&(this.options.chart.animation??this.pointCount<100)))),f}};Ie($e.prototype,{callbacks:[],collectionsWithInit:{xAxis:[$e.prototype.addAxis,[!0]],yAxis:[$e.prototype.addAxis,[!1]],series:[$e.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:["backgroundColor","borderColor","borderWidth","borderRadius","plotBackgroundColor","plotBackgroundImage","plotBorderColor","plotBorderWidth","plotShadow","shadow"],propsRequireReflow:["margin","marginTop","marginRight","marginBottom","marginLeft","spacing","spacingTop","spacingRight","spacingBottom","spacingLeft"],propsRequireUpdateSeries:["chart.inverted","chart.polar","chart.ignoreHiddenSeries","chart.type","colors","plotOptions","time","tooltip"]});var Rr=$e;var{stop:fu}=ot,{composed:pu}=W,{addEvent:_e,createElement:Hs,css:Wr,defined:Nr,erase:uu,merge:Ll,pushUnique:Il}=L;function mu(){let l=this.scrollablePlotArea;(this.scrollablePixelsX||this.scrollablePixelsY)&&!l&&(this.scrollablePlotArea=l=new Bl(this)),l?.applyFixed()}function _l(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}var Bl=(()=>{class l{static compose(t,e,s){Il(pu,this.compose)&&(_e(t,"afterInit",_l),_e(e,"afterSetChartSize",n=>this.afterSetSize(n.target,n)),_e(e,"render",mu),_e(s,"show",_l))}static afterSetSize(t,e){let{minWidth:s,minHeight:n}=t.options.chart.scrollablePlotArea||{},{clipBox:r,plotBox:o,inverted:a,renderer:h}=t,c,f,d;if(!h.forExport&&(s?(t.scrollablePixelsX=c=Math.max(0,s-t.chartWidth),c&&(t.scrollablePlotBox=Ll(t.plotBox),o.width=t.plotWidth+=c,r[a?"height":"width"]+=c,d=!0)):n&&(t.scrollablePixelsY=f=Math.max(0,n-t.chartHeight),Nr(f)&&(t.scrollablePlotBox=Ll(t.plotBox),o.height=t.plotHeight+=f,r[a?"width":"height"]+=f,d=!1)),Nr(d)&&!e.skipAxes))for(let p of t.axes)(p.horiz===d||t.hasParallelCoordinates&&p.coll==="yAxis")&&(p.setAxisSize(),p.setAxisTranslation())}constructor(t){let e=t.options.chart,s=ne.getRendererType(),n=e.scrollablePlotArea||{},r=this.moveFixedElements.bind(this),o={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};t.scrollablePixelsX&&(o.overflowX="auto"),t.scrollablePixelsY&&(o.overflowY="auto"),this.chart=t;let a=this.parentDiv=Hs("div",{className:"highcharts-scrolling-parent"},{position:"relative"},t.renderTo),h=this.scrollingContainer=Hs("div",{className:"highcharts-scrolling"},o,a),c=this.innerContainer=Hs("div",{className:"highcharts-inner-container"},void 0,h),f=this.fixedDiv=Hs("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(e.style?.zIndex||0)+2,top:0},void 0,!0),d=this.fixedRenderer=new s(f,t.chartWidth,t.chartHeight,e.style);this.mask=d.path().attr({fill:e.backgroundColor||"#fff","fill-opacity":n.opacity??.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),h.parentNode.insertBefore(f,h),Wr(t.renderTo,{overflow:"visible"}),_e(t,"afterShowResetZoom",r),_e(t,"afterApplyDrilldown",r),_e(t,"afterLayOutTitles",r);let p;_e(h,"scroll",()=>{let{pointer:m,hoverPoint:u}=t;m&&(delete m.chartPosition,u&&(p=u),m.runPointActions(void 0,p,!0))}),c.appendChild(t.container)}applyFixed(){let{chart:t,fixedRenderer:e,isDirty:s,scrollingContainer:n}=this,{axisOffset:r,chartWidth:o,chartHeight:a,container:h,plotHeight:c,plotLeft:f,plotTop:d,plotWidth:p,scrollablePixelsX:m=0,scrollablePixelsY:u=0}=t,g=t.options.chart,x=g.scrollablePlotArea||{},{scrollPositionX:y=0,scrollPositionY:b=0}=x,v=o+m,C=a+u;e.setSize(o,a),(s??!0)&&(this.isDirty=!1,this.moveFixedElements()),fu(t.container),Wr(h,{width:`${v}px`,height:`${C}px`}),t.renderer.boxWrapper.attr({width:v,height:C,viewBox:[0,0,v,C].join(" ")}),t.chartBackground?.attr({width:v,height:C}),Wr(n,{width:`${o}px`,height:`${a}px`}),Nr(s)||(n.scrollLeft=m*y,n.scrollTop=u*b);let S=d-r[0]-1,w=f-r[3]-1,T=d+c+r[2]+1,k=f+p+r[1]+1,M=f+p-m,E=d+c-u,I=[["M",0,0]];m?I=[["M",0,S],["L",f-1,S],["L",f-1,T],["L",0,T],["Z"],["M",M,S],["L",o,S],["L",o,T],["L",M,T],["Z"]]:u&&(I=[["M",w,0],["L",w,d-1],["L",k,d-1],["L",k,0],["Z"],["M",w,E],["L",w,a],["L",k,a],["L",k,E],["Z"]]),t.redrawTrigger!=="adjustHeight"&&this.mask.attr({d:I})}moveFixedElements(){let{container:t,inverted:e,scrollablePixelsX:s,scrollablePixelsY:n}=this.chart,r=this.fixedRenderer,o=l.fixedSelectors,a;if(s&&!e?a=".highcharts-yaxis":s&&e||n&&!e?a=".highcharts-xaxis":n&&e&&(a=".highcharts-yaxis"),a&&!(this.chart.hasParallelCoordinates&&a===".highcharts-yaxis"))for(let h of[`${a}:not(.highcharts-radial-axis)`,`${a}-labels:not(.highcharts-radial-axis-labels)`])Il(o,h);else for(let h of[".highcharts-xaxis",".highcharts-yaxis"])for(let c of[`${h}:not(.highcharts-radial-axis)`,`${h}-labels:not(.highcharts-radial-axis-labels)`])uu(o,c);for(let h of o)[].forEach.call(t.querySelectorAll(h),c=>{(c.namespaceURI===r.SVG_NS?r.box:r.box.parentNode).appendChild(c),c.style.pointerEvents="auto"})}}return l.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"],l})(),Rl=Bl;var{format:gu}=wt,{series:xu}=et,{destroyObjectProperties:yu,fireEvent:Wl,getAlignFactor:Fr,isNumber:Hr,pick:Yi}=L,zr=class{constructor(i,t,e,s,n){let r=i.chart.inverted,o=i.reversed;this.axis=i;let a=this.isNegative=!!e!=!!o;this.options=t=t||{},this.x=s,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=n,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:t.align||(r?a?"left":"right":"center"),verticalAlign:t.verticalAlign||(r?"middle":a?"bottom":"top"),y:t.y,x:t.x},this.textAlign=t.textAlign||(r?a?"right":"left":"center")}destroy(){yu(this,this.axis)}render(i){let t=this.axis.chart,e=this.options,s=e.format,n=s?gu(s,this,t):e.formatter.call(this);if(this.label)this.label.attr({text:n,visibility:"hidden"});else{this.label=t.renderer.label(n,null,void 0,e.shape,void 0,void 0,e.useHTML,!1,"stack-labels");let r={r:e.borderRadius||0,text:n,padding:Yi(e.padding,5),visibility:"hidden"};t.styledMode||(r.fill=e.backgroundColor,r.stroke=e.borderColor,r["stroke-width"]=e.borderWidth,this.label.css(e.style||{})),this.label.attr(r),this.label.added||this.label.add(i)}this.label.labelrank=t.plotSizeY,Wl(this,"afterRender")}setOffset(i,t,e,s,n,r){let{alignOptions:o,axis:a,label:h,options:c,textAlign:f}=this,d=a.chart,p=this.getStackBox({xOffset:i,width:t,boxBottom:e,boxTop:s,defaultX:n,xAxis:r}),{verticalAlign:m}=o;if(h&&p){let u=h.getBBox(void 0,0),g=h.padding,x=Yi(c.overflow,"justify")==="justify",y;o.x=c.x||0,o.y=c.y||0;let{x:b,y:v}=this.adjustStackPosition({labelBox:u,verticalAlign:m,textAlign:f});p.x-=b,p.y-=v,h.align(o,!1,p),y=d.isInsidePlot(h.alignAttr.x+o.x+b,h.alignAttr.y+o.y+v),y||(x=!1),x&&xu.prototype.justifyDataLabel.call(a,h,o,h.alignAttr,u,p),h.attr({x:h.alignAttr.x,y:h.alignAttr.y,rotation:c.rotation,rotationOriginX:u.width*Fr(c.textAlign||"center"),rotationOriginY:u.height/2}),Yi(!x&&c.crop,!0)&&(y=Hr(h.x)&&Hr(h.y)&&d.isInsidePlot(h.x-g+(h.width||0),h.y)&&d.isInsidePlot(h.x+g,h.y)),h[y?"show":"hide"]()}Wl(this,"afterSetOffset",{xOffset:i,width:t})}adjustStackPosition({labelBox:i,verticalAlign:t,textAlign:e}){return{x:i.width/2+i.width/2*(2*Fr(e)-1),y:i.height/2*2*(1-Fr(t))}}getStackBox(i){let t=this,e=this.axis,s=e.chart,{boxTop:n,defaultX:r,xOffset:o,width:a,boxBottom:h}=i,c=e.stacking.usePercentage?100:Yi(n,this.total,0),f=e.toPixels(c),d=i.xAxis||s.xAxis[0],p=Yi(r,d.translate(this.x))+o,m=e.toPixels(h||Hr(e.min)&&e.logarithmic&&e.logarithmic.lin2log(e.min)||0),u=Math.abs(f-m),g=s.inverted,x=t.isNegative;return g?{x:(x?f:f-u)-s.plotLeft,y:d.height-p-a+d.top-s.plotTop,width:u,height:a}:{x:p+d.transB-s.plotLeft,y:(x?f-u:f)-s.plotTop,width:a,height:u}}},zs=zr;var{getDeferredAnimation:bu}=ot,{series:{prototype:vu}}=et,{addEvent:Nl,correctFloat:ji,defined:Fl,destroyObjectProperties:Cu,fireEvent:Su,isNumber:Xr,objectEach:qe,pick:Yr}=L;function Tu(){let l=this,i=l.inverted;l.axes.forEach(t=>{t.stacking?.stacks&&t.hasVisibleSeries&&(t.stacking.oldStacks=t.stacking.stacks)}),l.series.forEach(t=>{let e=t.xAxis?.options||{};t.options.stacking&&t.reserveSpace()&&(t.stackKey=[t.type,Yr(t.options.stack,""),i?e.top:e.left,i?e.height:e.width].join(","))})}function wu(){let l=this.stacking;if(l){let i=l.stacks;qe(i,(t,e)=>{Cu(t),delete i[e]}),l.stackTotalGroup?.destroy()}}function Du(){this.stacking||(this.stacking=new jr(this))}function Pu(l,i,t,e){return!Fl(l)||l.x!==i||e&&l.stackKey!==e?l={x:i,index:0,key:e,stackKey:e}:l.index++,l.key=[t,i,l.index].join(","),l}function ku(){let l=this,i=l.yAxis,t=l.stackKey||"",e=i.stacking.stacks,s=l.getColumn("x",!0),n=l.options.stacking,r=l[n+"Stacker"],o;r&&[t,"-"+t].forEach(a=>{let h=s.length,c,f,d;for(;h--;)c=s[h],o=l.getStackIndicator(o,c,l.index,a),f=e[a]?.[c],d=f?.points[o.key||""],d&&r.call(l,d,f,h)})}function Mu(l,i,t){let e=i.total?100/i.total:0;l[0]=ji(l[0]*e),l[1]=ji(l[1]*e),this.stackedYData[t]=l[1]}function Ou(l){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&this.chart.series.length>1?vu.setStackedPoints.call(this,l,"group"):l.stacking.resetStacks())}function Au(l,i){let t=i||this.options.stacking;if(!t||!this.reserveSpace()||({group:"xAxis"}[t]||"yAxis")!==l.coll)return;let e=this,s=e.getColumn("x",!0),n=e.getColumn(e.pointValKey||"y",!0),r=[],o=n.length,a=e.options,h=a.threshold||0,c=a.startFromThreshold?h:0,f=a.stack,d=i?`${e.type},${t}`:e.stackKey||"",p="-"+d,m=e.negStacks,u=l.stacking,g=u.stacks,x=u.oldStacks,y,b,v,C,S,w,T;for(u.stacksTouched+=1,T=0;T<o;T++){let k=s[T]||0,M=n[T],E=Xr(M)&&M||0;y=e.getStackIndicator(y,k,e.index),w=y.key||"",b=m&&E<(c?0:h),S=b?p:d,g[S]||(g[S]={}),g[S][k]||(x[S]?.[k]?(g[S][k]=x[S][k],g[S][k].total=null):g[S][k]=new zs(l,l.options.stackLabels,!!b,k,f)),v=g[S][k],M!==null?(v.points[w]=v.points[e.index]=[Yr(v.cumulative,c)],Fl(v.cumulative)||(v.base=w),v.touched=u.stacksTouched,y.index>0&&e.singleStacks===!1&&(v.points[w][0]=v.points[e.index+","+k+",0"][0])):(delete v.points[w],delete v.points[e.index]);let I=v.total||0;t==="percent"?(C=b?d:p,m&&g[C]?.[k]?(C=g[C][k],I=C.total=Math.max(C.total||0,I)+Math.abs(E)):I=ji(I+Math.abs(E))):t==="group"?Xr(M)&&I++:I=ji(I+E),t==="group"?v.cumulative=(I||1)-1:v.cumulative=ji(Yr(v.cumulative,c)+E),v.total=I,M!==null&&(v.points[w].push(v.cumulative),r[T]=v.cumulative,v.hasValidPoints=!0)}t==="percent"&&(u.usePercentage=!0),t!=="group"&&(this.stackedYData=r),u.oldStacks={}}var jr=class{constructor(i){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=i}buildStacks(){let i=this,t=i.axis,e=t.series,s=t.coll==="xAxis",n=t.options.reversedStacks,r=e.length,o,a;for(this.resetStacks(),i.usePercentage=!1,a=r;a--;)o=e[n?a:r-a-1],s&&o.setGroupedPoints(t),o.setStackedPoints(t);if(!s)for(a=0;a<r;a++)e[a].modifyStacks();Su(t,"afterBuildStacks")}cleanStacks(){this.oldStacks&&(this.stacks=this.oldStacks,qe(this.stacks,i=>{qe(i,t=>{t.cumulative=t.total})}))}resetStacks(){qe(this.stacks,i=>{qe(i,(t,e)=>{Xr(t.touched)&&t.touched<this.stacksTouched?(t.destroy(),delete i[e]):(t.total=null,t.cumulative=null)})})}renderStackTotals(){let i=this,t=i.axis,e=t.chart,s=e.renderer,n=i.stacks,r=t.options.stackLabels?.animation,o=bu(e,r||!1),a=i.stackTotalGroup=i.stackTotalGroup||s.g("stack-labels").attr({zIndex:6,opacity:0}).add();a.translate(e.plotLeft,e.plotTop),qe(n,h=>{qe(h,c=>{c.render(a)})}),a.animate({opacity:1},o)}},Vr;(function(l){function i(t,e,s){let n=e.prototype,r=s.prototype;n.getStacks||(Nl(t,"init",Du),Nl(t,"destroy",wu),n.getStacks=Tu,r.getStackIndicator=Pu,r.modifyStacks=ku,r.percentStacker=Mu,r.setGroupedPoints=Ou,r.setStackedPoints=Au)}l.compose=i})(Vr||(Vr={}));var Hl=Vr;var{defined:Eu,merge:zl,isObject:Lu}=L,Xs=class extends Pt{drawGraph(){let i=this.options,t=(this.gappedPath||this.getGraphPath).call(this),e=this.chart.styledMode;[this,...this.zones].forEach((s,n)=>{let r,o=s.graph,a=o?"animate":"attr",h=s.dashStyle||i.dashStyle;o?(o.endX=this.preventGraphAnimation?null:t.xMap,o.animate({d:t})):t.length&&(s.graph=o=this.chart.renderer.path(t).addClass("highcharts-graph"+(n?` highcharts-zone-graph-${n-1} `:" ")+(n&&s.className||"")).attr({zIndex:1}).add(this.group)),o&&!e&&(r={stroke:!n&&i.lineColor||s.color||this.color||"#cccccc","stroke-width":i.lineWidth||0,fill:this.fillGraph&&this.color||"none"},h?r.dashstyle=h:i.linecap!=="square"&&(r["stroke-linecap"]=r["stroke-linejoin"]="round"),o[a](r).shadow(i.shadow&&zl({filterUnits:"userSpaceOnUse"},Lu(i.shadow)?i.shadow:{}))),o&&(o.startX=t.xMap,o.isArea=t.isArea)})}getGraphPath(i,t,e){let s=this,n=s.options,r=[],o=[],a,h=n.step;i=i||s.points;let c=i.reversed;return c&&i.reverse(),h={right:1,center:2}[h]||h&&3,h&&c&&(h=4-h),i=this.getValidPoints(i,!1,n.nullInteraction||!(n.connectNulls&&!t&&!e)),i.forEach(function(f,d){let p=f.plotX,m=f.plotY,u=i[d-1],g=f.isNull||typeof m!="number",x;(f.leftCliff||u?.rightCliff)&&!e&&(a=!0),g&&!Eu(t)&&d>0?a=!n.connectNulls:g&&!t?a=!0:(d===0||a?x=[["M",f.plotX,f.plotY]]:s.getPointSpline?x=[s.getPointSpline(i,f,d)]:h?(h===1?x=[["L",u.plotX,m]]:h===2?x=[["L",(u.plotX+p)/2,u.plotY],["L",(u.plotX+p)/2,m]]:x=[["L",p,u.plotY]],x.push(["L",p,m])):x=[["L",p,m]],o.push(f.x),h&&(o.push(f.x),h===2&&o.push(f.x)),r.push.apply(r,x),a=!1)}),r.xMap=o,s.graphPath=r,r}};Xs.defaultOptions=zl(Pt.defaultOptions,{legendSymbol:"lineMarker"});et.registerSeriesType("line",Xs);var Iu={threshold:0,legendSymbol:"areaMarker"},Xl=Iu;var{seriesTypes:{line:Gr}}=et,{extend:_u,merge:Bu,objectEach:Ru,pick:Ys}=L,Vi=class extends Gr{drawGraph(){this.areaPath=[],super.drawGraph.apply(this);let{areaPath:i,options:t}=this;[this,...this.zones].forEach((e,s)=>{let n={},r=e.fillColor||t.fillColor,o=e.area,a=o?"animate":"attr";o?(o.endX=this.preventGraphAnimation?null:i.xMap,o.animate({d:i})):(n.zIndex=0,o=e.area=this.chart.renderer.path(i).addClass("highcharts-area"+(s?` highcharts-zone-area-${s-1} `:" ")+(s&&e.className||"")).add(this.group),o.isArea=!0),this.chart.styledMode||(n.fill=r||e.color||this.color,n["fill-opacity"]=r?1:t.fillOpacity??.75,o.css({pointerEvents:this.stickyTracking?"none":"auto"})),o[a](n),o.startX=i.xMap,o.shiftUnit=t.step?2:1})}getGraphPath(i){let t=Gr.prototype.getGraphPath,e=this.options,s=e.stacking,n=this.yAxis,r=[],o=[],a=this.index,h=n.stacking.stacks[this.stackKey],c=e.threshold,f=Math.round(n.getThreshold(e.threshold)),d=Ys(e.connectNulls,s==="percent"),p=function(S,w,T){let k=i[S],M=s&&h[k.x].points[a],E=k[T+"Null"]||0,I=k[T+"Cliff"]||0,R,_,B=!0;I||E?(R=(E?M[0]:M[1])+I,_=M[0]+I,B=!!E):!s&&i[w]&&i[w].isNull&&(R=_=c),typeof R<"u"&&(o.push({plotX:m,plotY:R===null?f:n.getThreshold(R),isNull:B,isCliff:!0}),r.push({plotX:m,plotY:_===null?f:n.getThreshold(_),doCurve:!1}))},m,u,g;i=i||this.points,s&&(i=this.getStackPoints(i));for(let S=0,w=i.length;S<w;++S)s||(i[S].leftCliff=i[S].rightCliff=i[S].leftNull=i[S].rightNull=void 0),u=i[S].isNull,m=Ys(i[S].rectPlotX,i[S].plotX),g=s?Ys(i[S].yBottom,f):f,(!u||d)&&(d||p(S,S-1,"left"),u&&!s&&d||(o.push(i[S]),r.push({x:S,plotX:m,plotY:g})),d||p(S,S+1,"right"));let x=t.call(this,o,!0,!0);r.reversed=!0;let y=t.call(this,r,!0,!0),b=y[0];b&&b[0]==="M"&&(y[0]=["L",b[1],b[2]]);let v=x.concat(y);v.length&&v.push(["Z"]);let C=t.call(this,o,!1,d);return this.chart.series.length>1&&s&&o.some(S=>S.isCliff)&&(v.hasStackedCliffs=C.hasStackedCliffs=!0),v.xMap=x.xMap,this.areaPath=v,C}getStackPoints(i){let t=this,e=[],s=[],n=this.xAxis,r=this.yAxis,o=r.stacking.stacks[this.stackKey],a={},h=r.series,c=h.length,f=r.options.reversedStacks?1:-1,d=h.indexOf(t);if(i=i||this.points,this.options.stacking){for(let m=0;m<i.length;m++)i[m].leftNull=i[m].rightNull=void 0,a[i[m].x]=i[m];Ru(o,function(m,u){m.total!==null&&s.push(u)}),s.sort(function(m,u){return m-u});let p=h.map(m=>m.visible);s.forEach(function(m,u){let g=0,x,y;if(a[m]&&!a[m].isNull)e.push(a[m]),[-1,1].forEach(function(b){let v=b===1?"rightNull":"leftNull",C=b===1?"rightCliff":"leftCliff",S=o[s[u+b]],w=0;if(S){let T=d;for(;T>=0&&T<c;){let k=h[T].index;x=S.points[k],x||(k===t.index?a[m][v]=!0:p[T]&&(y=o[m].points[k],y&&(w-=y[1]-y[0]))),T+=f}}a[m][C]=w});else{let b=d;for(;b>=0&&b<c;){let v=h[b].index;if(x=o[m].points[v],x){g=x[1];break}b+=f}g=Ys(g,0),g=r.translate(g,0,1,0,1),e.push({isNull:!0,plotX:n.translate(m,0,0,0,1),x:m,plotY:g,yBottom:g})}})}return e}};Vi.defaultOptions=Bu(Gr.defaultOptions,Xl);_u(Vi.prototype,{singleStacks:!1});et.registerSeriesType("area",Vi);var{line:Yl}=et.seriesTypes,{merge:Wu,pick:js}=L,Gi=class extends Yl{getPointSpline(i,t,e){let r=t.plotX||0,o=t.plotY||0,a=i[e-1],h=i[e+1],c,f,d,p;function m(g){return g&&!g.isNull&&g.doCurve!==!1&&!t.isCliff}if(m(a)&&m(h)){let g=a.plotX||0,x=a.plotY||0,y=h.plotX||0,b=h.plotY||0,v=0;c=(1.5*r+g)/2.5,f=(1.5*o+x)/2.5,d=(1.5*r+y)/2.5,p=(1.5*o+b)/2.5,d!==c&&(v=(p-f)*(d-r)/(d-c)+o-p),f+=v,p+=v,f>x&&f>o?(f=Math.max(x,o),p=2*o-f):f<x&&f<o&&(f=Math.min(x,o),p=2*o-f),p>b&&p>o?(p=Math.max(b,o),f=2*o-p):p<b&&p<o&&(p=Math.min(b,o),f=2*o-p),t.rightContX=d,t.rightContY=p,t.controlPoints={low:[c,f],high:[d,p]}}let u=["C",js(a.rightContX,a.plotX,0),js(a.rightContY,a.plotY,0),js(c,r,0),js(f,o,0),r,o];return a.rightContX=a.rightContY=void 0,u}};Gi.defaultOptions=Wu(Yl.defaultOptions);et.registerSeriesType("spline",Gi);var Ur=Gi;var{area:Nu,area:{prototype:$r}}=et.seriesTypes,{extend:Fu,merge:Hu}=L,Ui=class extends Ur{};Ui.defaultOptions=Hu(Ur.defaultOptions,Nu.defaultOptions);Fu(Ui.prototype,{getGraphPath:$r.getGraphPath,getStackPoints:$r.getStackPoints,drawGraph:$r.drawGraph});et.registerSeriesType("areaspline",Ui);var zu={borderRadius:3,centerInCategory:!1,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{halo:!1,brightness:.1},select:{color:"#cccccc",borderColor:"#000000"}},dataLabels:{align:void 0,verticalAlign:void 0,y:void 0},startFromThreshold:!0,stickyTracking:!1,tooltip:{distance:6},threshold:0,borderColor:"#ffffff"},jl=zu;var{animObject:Xu}=ot,{parse:Yu}=_t,{noop:ju}=W,{clamp:Vs,crisp:Gs,defined:Vl,extend:$l,fireEvent:Gl,isArray:Ul,isNumber:Us,merge:qr,pick:$i,objectEach:Vu}=L,yi=class extends Pt{animate(i){let t=this,e=this.yAxis,s=e.pos,n=e.reversed,r=t.options,{clipOffset:o,inverted:a}=this.chart,h={},c=a?"translateX":"translateY",f,d;i&&o?(h.scaleY=.001,d=Vs(e.toPixels(r.threshold||0),s,s+e.len),a?(d+=n?-Math.floor(o[0]):Math.ceil(o[2]),h.translateX=d-e.len):(d+=n?Math.ceil(o[0]):-Math.floor(o[2]),h.translateY=d),t.clipBox&&t.setClip(),t.group.attr(h)):(f=Number(t.group.attr(c)),t.group.animate({scaleY:1},$l(Xu(t.options.animation),{step:function(p,m){t.group&&(h[c]=f+m.pos*(s-f),t.group.attr(h))}})))}init(i,t){super.init.apply(this,arguments);let e=this;i=e.chart,i.hasRendered&&i.series.forEach(function(s){s.type===e.type&&(s.isDirty=!0)})}getColumnMetrics(){let i=this,t=i.options,e=i.xAxis,s=i.yAxis,n=e.options.reversedStacks,r=e.reversed&&!n||!e.reversed&&n,o={},a,h=0;t.grouping===!1?h=1:i.chart.series.forEach(function(y){let b=y.yAxis,v=y.options,C;y.type===i.type&&y.reserveSpace()&&s.len===b.len&&s.pos===b.pos&&(v.stacking&&v.stacking!=="group"?(a=y.stackKey,typeof o[a]>"u"&&(o[a]=h++),C=o[a]):v.grouping!==!1&&(C=h++),y.columnIndex=C)});let c=Math.min(Math.abs(e.transA)*(!e.brokenAxis?.hasBreaks&&e.ordinal?.slope||t.pointRange||e.closestPointRange||e.tickInterval||1),e.len),f=c*t.groupPadding,d=c-2*f,p=d/(h||1),m=Math.min(t.maxPointWidth||e.len,$i(t.pointWidth,p*(1-2*t.pointPadding))),u=(p-m)/2,g=(i.columnIndex||0)+(r?1:0),x=u+(f+g*p-c/2)*(r?-1:1);return i.columnMetrics={width:m,offset:x,paddedWidth:p,columnCount:h},i.columnMetrics}crispCol(i,t,e,s){let n=this.borderWidth,r=this.chart.inverted,o=Gs(t+s,n,r);if(t=Gs(t,n,r),s=o-t,this.options.crisp){let a=Gs(i+e,n);i=Gs(i,n),e=a-i}return{x:i,y:t,width:e,height:s}}adjustForMissingColumns(i,t,e,s){if(!e.isNull&&s.columnCount>1){let n=this.xAxis.series.filter(h=>h.visible).map(h=>h.index),r=0,o=0;Vu(this.xAxis.stacking?.stacks,h=>{let c=typeof e.x=="number"?h[e.x.toString()]?.points:void 0,f=c?.[this.index],d={};if(c&&Ul(f)){let p=this.index,m=Object.keys(c).filter(u=>!u.match(",")&&c[u]&&c[u].length>1).map(parseFloat).filter(u=>n.indexOf(u)!==-1).filter(u=>{let g=this.chart.series[u].options,x=g.stacking&&g.stack;if(Vl(x)){if(Us(d[x]))return p===u&&(p=d[x]),!1;d[x]=u}return!0}).sort((u,g)=>g-u);r=m.indexOf(p),o=m.length}}),r=this.xAxis.reversed?o-1-r:r;let a=(o-1)*s.paddedWidth+t;i=(e.plotX||0)+a/2-t-r*s.paddedWidth}return i}translate(){let i=this,t=i.chart,e=i.options,s=i.dense=i.closestPointRange*i.xAxis.transA<2,n=i.borderWidth=$i(e.borderWidth,s?0:1),r=i.xAxis,o=i.yAxis,a=e.threshold,h=$i(e.minPointLength,5),c=i.getColumnMetrics(),f=c.width,d=i.pointXOffset=c.offset,p=i.dataMin,m=i.dataMax,u=i.translatedThreshold=o.getThreshold(a),g=i.barW=Math.max(f,1+2*n);e.pointPadding&&e.crisp&&(g=Math.ceil(g)),Pt.prototype.translate.apply(i),i.points.forEach(function(x){let y=$i(x.yBottom,u),b=999+Math.abs(y),v=x.plotX||0,C=Vs(x.plotY,-b,o.len+b),S,w=Math.min(C,y),T=Math.max(C,y)-w,k=f,M=v+d,E=g;h&&Math.abs(T)<h&&(T=h,S=!o.reversed&&!x.negative||o.reversed&&x.negative,Us(a)&&Us(m)&&x.y===a&&m<=a&&(o.min||0)<a&&(p!==m||(o.max||0)<=a)&&(S=!S,x.negative=!x.negative),w=Math.abs(w-u)>h?y-h:u-(S?h:0)),Vl(x.options.pointWidth)&&(k=E=Math.ceil(x.options.pointWidth),M-=Math.round((k-f)/2)),e.centerInCategory&&(M=i.adjustForMissingColumns(M,k,x,c)),x.barX=M,x.pointWidth=k,x.tooltipPos=t.inverted?[Vs(o.len+o.pos-t.plotLeft-C,o.pos-t.plotLeft,o.len+o.pos-t.plotLeft),r.len+r.pos-t.plotTop-M-E/2,T]:[r.left-t.plotLeft+M+E/2,Vs(C+o.pos-t.plotTop,o.pos-t.plotTop,o.len+o.pos-t.plotTop),T],x.shapeType=i.pointClass.prototype.shapeType||"roundedRect",x.shapeArgs=i.crispCol(M,w,E,x.isNull?0:T)}),Gl(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(i,t){let e=this.options,s=this.pointAttrToOptions||{},n=s.stroke||"borderColor",r=s["stroke-width"]||"borderWidth",o,a,h,c=i&&i.color||this.color,f=i&&i[n]||e[n]||c,d=i&&i.options.dashStyle||e.dashStyle,p=i&&i[r]||e[r]||this[r]||0,m=i?.isNull&&e.nullInteraction?0:i?.opacity??e.opacity??1;i&&this.zones.length&&(a=i.getZone(),c=i.options.color||a&&(a.color||i.nonZonedColor)||this.color,a&&(f=a.borderColor||f,d=a.dashStyle||d,p=a.borderWidth||p)),t&&i&&(o=qr(e.states[t],i.options.states&&i.options.states[t]||{}),h=o.brightness,c=o.color||typeof h<"u"&&Yu(c).brighten(o.brightness).get()||c,f=o[n]||f,p=o[r]||p,d=o.dashStyle||d,m=$i(o.opacity,m));let u={fill:c,stroke:f,"stroke-width":p,opacity:m};return d&&(u.dashstyle=d),u}drawPoints(i=this.points){let t=this,e=this.chart,s=t.options,n=s.nullInteraction,r=e.renderer,o=s.animationLimit||250,a;i.forEach(function(h){let c=h.plotY,f=h.graphic,d=!!f,p=f&&e.pointCount<o?"animate":"attr";Us(c)&&(h.y!==null||n)?(a=h.shapeArgs,f&&h.hasNewShapeType()&&(f=f.destroy()),t.enabledDataSorting&&(h.startXPos=t.xAxis.reversed?-(a&&a.width||0):t.xAxis.width),f||(h.graphic=f=r[h.shapeType](a).add(h.group||t.group),f&&t.enabledDataSorting&&e.hasRendered&&e.pointCount<o&&(f.attr({x:h.startXPos}),d=!0,p="animate")),f&&d&&f[p](qr(a)),e.styledMode||f[p](t.pointAttribs(h,h.selected&&"select")).shadow(h.allowShadow!==!1&&s.shadow),f&&(f.addClass(h.getClassName(),!0),f.attr({visibility:h.visible?"inherit":"hidden"}))):f&&(h.graphic=f.destroy())})}drawTracker(i=this.points){let t=this,e=t.chart,s=e.pointer,n=function(o){s?.normalize(o);let a=s?.getPointFromEvent(o);s&&a&&t.options.enableMouseTracking&&(e.isInsidePlot(o.chartX-e.plotLeft,o.chartY-e.plotTop,{visiblePlotOnly:!0})||s?.inClass(o.target,"highcharts-data-label"))&&(s.isDirectTouch=!0,a.onMouseOver(o))},r;i.forEach(function(o){r=Ul(o.dataLabels)?o.dataLabels:o.dataLabel?[o.dataLabel]:[],o.graphic&&(o.graphic.element.point=o),r.forEach(function(a){(a.div||a.element).point=o})}),t._hasTracking||(t.trackerGroups.forEach(function(o){t[o]&&(t[o].addClass("highcharts-tracker").on("mouseover",n).on("mouseout",function(a){s?.onTrackerMouseOut(a)}).on("touchstart",n),!e.styledMode&&t.options.cursor&&t[o].css({cursor:t.options.cursor}))}),t._hasTracking=!0),Gl(this,"afterDrawTracker")}remove(){let i=this,t=i.chart;t.hasRendered&&t.series.forEach(function(e){e.type===i.type&&(e.isDirty=!0)}),Pt.prototype.remove.apply(i,arguments)}};yi.defaultOptions=qr(Pt.defaultOptions,jl);$l(yi.prototype,{directTouch:!0,getSymbol:ju,negStacks:!0,trackerGroups:["group","dataLabelsGroup"]});et.registerSeriesType("column",yi);var bi=yi;var{getDeferredAnimation:Gu}=ot,{format:Uu}=wt,{defined:Ke,extend:ql,fireEvent:Kr,getAlignFactor:Kl,isArray:Be,isString:qi,merge:Ki,objectEach:$u,pick:Zi,pInt:qu,splat:Zl}=L,Zr;(function(l){function i(){return c(this).some(d=>d?.enabled)}function t(d,p,m,u,g){let x=this,{chart:y,enabledDataSorting:b}=this,v=this.isCartesian&&y.inverted,C=d.plotX,S=d.plotY,w=m.rotation||0,T=Ke(C)&&Ke(S)&&y.isInsidePlot(C,Math.round(S),{inverted:v,paneCoordinates:!0,series:x}),k=R=>{b&&x.xAxis&&!M&&x.setDataLabelStartPos(d,p,g,T,R)},M=w===0?Zi(m.overflow,b?"none":"justify")==="justify":!1,E=this.visible&&d.visible!==!1&&Ke(C)&&(d.series.forceDL||b&&!M||T||Zi(m.inside,!!this.options.stacking)&&u&&y.isInsidePlot(C,v?u.x+1:u.y+u.height-1,{inverted:v,paneCoordinates:!0,series:x})),I=d.pos();if(E&&I){let R=p.getBBox(),_=p.getBBox(void 0,0);if(u=ql({x:I[0],y:Math.round(I[1]),width:0,height:0},u||{}),m.alignTo==="plotEdges"&&x.isCartesian&&(u[v?"x":"y"]=0,u[v?"width":"height"]=this.yAxis?.len||0),ql(m,{width:R.width,height:R.height}),k(u),p.align(Ki(m,{width:_.width,height:_.height}),!1,u,!1),p.alignAttr.x+=Kl(m.align)*(_.width-R.width),p.alignAttr.y+=Kl(m.verticalAlign)*(_.height-R.height),p[p.placed?"animate":"attr"]({"text-align":p.alignAttr["text-align"]||"center",x:p.alignAttr.x+(R.width-_.width)/2,y:p.alignAttr.y+(R.height-_.height)/2,rotationOriginX:(p.width||0)/2,rotationOriginY:(p.height||0)/2}),M&&u.height>=0)this.justifyDataLabel(p,m,p.alignAttr,R,u,g);else if(Zi(m.crop,!0)){let{x:B,y:N}=p.alignAttr,Y=1;E=y.isInsidePlot(B,N,{paneCoordinates:!0,series:x})&&y.isInsidePlot(B+R.width-Y,N+R.height-Y,{paneCoordinates:!0,series:x})}m.shape&&!w&&p[g?"attr":"animate"]({anchorX:I[0],anchorY:I[1]})}g&&b&&(p.placed=!1),!E&&(!b||M)?(p.hide(),p.placed=!1):(p.show(),p.placed=!0)}function e(d,p){let m=p.filter;if(m){let u=m.operator,g=d[m.property],x=m.value;return u===">"&&g>x||u==="<"&&g<x||u===">="&&g>=x||u==="<="&&g<=x||u==="=="&&g==x||u==="==="&&g===x||u==="!="&&g!=x||u==="!=="&&g!==x}return!0}function s(d){let p=d.prototype;p.initDataLabels||(p.initDataLabels=r,p.initDataLabelsGroup=n,p.alignDataLabel=t,p.drawDataLabels=o,p.justifyDataLabel=a,p.mergeArrays=h,p.setDataLabelStartPos=f,p.hasDataLabels=i)}l.compose=s;function n(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",this.options.dataLabels.zIndex||6)}function r(d){let p=this,m=p.hasRendered||0,u=this.initDataLabelsGroup().attr({opacity:+m});return!m&&u&&(p.visible&&u.show(),p.options.animation?u.animate({opacity:1},d):u.attr({opacity:1})),u}function o(d){d=d||this.points;let p=this,m=p.chart,u=p.options,g=m.renderer,{backgroundColor:x,plotBackgroundColor:y}=m.options.chart,b=g.getContrast(qi(y)&&y||qi(x)&&x||"#000000"),v=c(p),C,S,{animation:w,defer:T}=v[0],k=T?Gu(m,w,p):{defer:0,duration:0};Kr(this,"drawDataLabels"),p.hasDataLabels?.()&&(S=this.initDataLabels(k),d.forEach(M=>{let E=M.dataLabels||[],I=M.color||p.color;C=Zl(h(v,M.dlOptions||M.options?.dataLabels)),C.forEach((_,B)=>{let N=_.enabled&&(M.visible||M.dataLabelOnHidden)&&(!M.isNull||M.dataLabelOnNull)&&e(M,_),{backgroundColor:Y,borderColor:K,distance:st,style:nt={}}=_,Ot,dt,Z,q={},X=E[B],U=!X,J;N&&(Ot=Zi(_[M.formatPrefix+"Format"],_.format),dt=Ke(Ot)?Uu(Ot,M,m):(_[M.formatPrefix+"Formatter"]||_.formatter).call(M,_),Z=_.rotation,m.styledMode||(nt.color=Zi(_.color,nt.color,qi(p.color)?p.color:void 0,"#000000"),nt.color==="contrast"?(Y!=="none"&&(J=Y),M.contrastColor=g.getContrast(J!=="auto"&&qi(J)&&J||(qi(I)?I:"")),nt.color=J||!Ke(st)&&_.inside||qu(st||0)<0||u.stacking?M.contrastColor:b):delete M.contrastColor,u.cursor&&(nt.cursor=u.cursor)),q={r:_.borderRadius||0,rotation:Z,padding:_.padding,zIndex:1},m.styledMode||(q.fill=Y==="auto"?M.color:Y,q.stroke=K==="auto"?M.color:K,q["stroke-width"]=_.borderWidth),$u(q,(rt,tt)=>{typeof rt>"u"&&delete q[tt]})),X&&(!N||!Ke(dt)||!!(X.div||X.text?.foreignObject)!=!!_.useHTML||(!X.rotation||!_.rotation)&&X.rotation!==_.rotation)&&(X=void 0,U=!0),N&&Ke(dt)&&(X?q.text=dt:(X=g.label(dt,0,0,_.shape,void 0,void 0,_.useHTML,void 0,"data-label"),X.addClass(" highcharts-data-label-color-"+M.colorIndex+" "+(_.className||"")+(_.useHTML?" highcharts-tracker":""))),X&&(X.options=_,X.attr(q),m.styledMode?nt.width&&X.css({width:nt.width,textOverflow:nt.textOverflow,whiteSpace:nt.whiteSpace}):X.css(nt).shadow(_.shadow),Kr(X,"beforeAddingDataLabel",{labelOptions:_,point:M}),X.added||X.add(S),p.alignDataLabel(M,X,_,void 0,U),X.isActive=!0,E[B]&&E[B]!==X&&E[B].destroy(),E[B]=X))});let R=E.length;for(;R--;)E[R]?.isActive?E[R].isActive=!1:(E[R]?.destroy(),E.splice(R,1));M.dataLabel=E[0],M.dataLabels=E})),Kr(this,"afterDrawDataLabels")}function a(d,p,m,u,g,x){let y=this.chart,b=p.align,v=p.verticalAlign,C=d.box?0:d.padding||0,S=y.inverted?this.yAxis:this.xAxis,w=S?S.left-y.plotLeft:0,T=y.inverted?this.xAxis:this.yAxis,k=T?T.top-y.plotTop:0,{x:M=0,y:E=0}=p,I,R;return I=(m.x||0)+C+w,I<0&&(b==="right"&&M>=0?(p.align="left",p.inside=!0):M-=I,R=!0),I=(m.x||0)+u.width-C+w,I>y.plotWidth&&(b==="left"&&M<=0?(p.align="right",p.inside=!0):M+=y.plotWidth-I,R=!0),I=m.y+C+k,I<0&&(v==="bottom"&&E>=0?(p.verticalAlign="top",p.inside=!0):E-=I,R=!0),I=(m.y||0)+u.height-C+k,I>y.plotHeight&&(v==="top"&&E<=0?(p.verticalAlign="bottom",p.inside=!0):E+=y.plotHeight-I,R=!0),R&&(p.x=M,p.y=E,d.placed=!x,d.align(p,void 0,g)),R}function h(d,p){let m=[],u;if(Be(d)&&!Be(p))m=d.map(function(g){return Ki(g,p)});else if(Be(p)&&!Be(d))m=p.map(function(g){return Ki(d,g)});else if(!Be(d)&&!Be(p))m=Ki(d,p);else if(Be(d)&&Be(p))for(u=Math.max(d.length,p.length);u--;)m[u]=Ki(d[u],p[u]);return m}function c(d){let p=d.chart.options.plotOptions;return Zl(h(h(p?.series?.dataLabels,p?.[d.type]?.dataLabels),d.options.dataLabels))}function f(d,p,m,u,g){let x=this.chart,y=x.inverted,b=this.xAxis,v=b.reversed,C=((y?p.height:p.width)||0)/2,S=d.pointWidth,w=S?S/2:0;p.startXPos=y?g.x:v?-C-w:b.width-C+w,p.startYPos=y?v?this.yAxis.height-C+w:-C-w:g.y,u?p.visibility==="hidden"&&(p.show(),p.attr({opacity:0}).animate({opacity:1})):p.attr({opacity:1}).animate({opacity:0},void 0,p.hide),x.hasRendered&&(m&&p.attr({x:p.startXPos,y:p.startYPos}),p.placed=!0)}})(Zr||(Zr={}));var Ze=Zr;var{composed:Ku}=W,{series:Ql}=et,{merge:Zu,pushUnique:Qu}=L,Qr;(function(l){function i(e,s,n,r,o){let{chart:a,options:h}=this,c=a.inverted,f=this.xAxis?.len||a.plotSizeX||0,d=this.yAxis?.len||a.plotSizeY||0,p=e.dlBox||e.shapeArgs,m=e.below??(e.plotY||0)>(this.translatedThreshold??d),u=n.inside??!!h.stacking;if(p){if(r=Zu(p),n.overflow!=="allow"||n.crop!==!1||h.clip!==!1){r.y<0&&(r.height+=r.y,r.y=0);let g=r.y+r.height-d;g>0&&g<r.height-1&&(r.height-=g)}c&&(r={x:d-r.y-r.height,y:f-r.x-r.width,width:r.height,height:r.width}),u||(c?(r.x+=m?0:r.width,r.width=0):(r.y+=m?r.height:0,r.height=0))}n.align??(n.align=!c||u?"center":m?"right":"left"),n.verticalAlign??(n.verticalAlign=c||u?"middle":m?"top":"bottom"),Ql.prototype.alignDataLabel.call(this,e,s,n,r,o),n.inside&&e.contrastColor&&s.css({color:e.contrastColor})}function t(e){Ze.compose(Ql),Qu(Ku,"ColumnDataLabel")&&(e.prototype.alignDataLabel=i)}l.compose=t})(Qr||(Qr={}));var Jl=Qr;var{extend:Ju,merge:tm}=L,Qi=class extends bi{};Qi.defaultOptions=tm(bi.defaultOptions,{});Ju(Qi.prototype,{inverted:!0});et.registerSeriesType("bar",Qi);var em={lineWidth:0,findNearestPointBy:"xy",jitter:{x:0,y:0},marker:{enabled:!0},tooltip:{headerFormat:'<span style="color:{point.color}">\u25CF</span> <span style="font-size: 0.8em"> {series.name}</span><br/>',pointFormat:"x: <b>{point.x}</b><br/>y: <b>{point.y}</b><br/>"}},th=em;var{column:im,line:eh}=et.seriesTypes,{addEvent:sm,extend:nm,merge:rm}=L,vi=class extends eh{applyJitter(){let i=this,t=this.options.jitter,e=this.points.length;function s(n){let r=Math.sin(n)*1e4;return r-Math.floor(r)}t&&this.points.forEach(function(n,r){["x","y"].forEach(function(o,a){if(t[o]&&!n.isNull){let h=`plot${o.toUpperCase()}`,c=i[`${o}Axis`],f=t[o]*c.transA;if(c&&!c.logarithmic){let d=Math.max(0,(n[h]||0)-f),p=Math.min(c.len,(n[h]||0)+f);n[h]=d+(p-d)*s(r+a*e),o==="x"&&(n.clientX=n.plotX)}}})})}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}};vi.defaultOptions=rm(eh.defaultOptions,th);nm(vi.prototype,{drawTracker:im.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]});sm(vi,"afterTranslate",function(){this.applyJitter()});et.registerSeriesType("scatter",vi);var{deg2rad:ih}=W,{fireEvent:om,isNumber:Jr,pick:$s,relativeLength:am}=L,to;(function(l){function i(){let e=this.options,s=this.chart,n=2*(e.slicedOffset||0),r=s.plotWidth-2*n,o=s.plotHeight-2*n,a=e.center,h=Math.min(r,o),c=e.thickness,f,d=e.size,p=e.innerSize||0,m,u;typeof d=="string"&&(d=parseFloat(d)),typeof p=="string"&&(p=parseFloat(p));let g=[$s(a?.[0],"50%"),$s(a?.[1],"50%"),$s(d&&d<0?void 0:e.size,"100%"),$s(p&&p<0?void 0:e.innerSize||0,"0%")];for(s.angular&&!(this instanceof Pt)&&(g[3]=0),m=0;m<4;++m)u=g[m],f=m<2||m===2&&/%$/.test(u),g[m]=am(u,[r,o,h,g[2]][m])+(f?n:0);return g[3]>g[2]&&(g[3]=g[2]),Jr(c)&&c*2<g[2]&&c>0&&(g[3]=g[2]-c*2),om(this,"afterGetCenter",{positions:g}),g}l.getCenter=i;function t(e,s){let n=Jr(e)?e:0,r=Jr(s)&&s>n&&s-n<360?s:n+360,o=-90;return{start:ih*(n+o),end:ih*(r+o)}}l.getStartAndEndRadians=t})(to||(to={}));var eo=to;var{setAnimation:lm}=ot,{addEvent:sh,defined:hm,extend:cm,isNumber:dm,pick:fm,relativeLength:pm}=L,qs=class extends jt{getConnectorPath(i){let t=i.dataLabelPosition,e=i.options||{},s=e.connectorShape,n=this.connectorShapes[s]||s;return t&&n.call(this,Rt(yt({},t.computed),{alignment:t.alignment}),t.connectorPosition,e)||[]}getTranslate(){return this.sliced&&this.slicedTranslation||{translateX:0,translateY:0}}haloPath(i){let t=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(t.x,t.y,t.r+i,t.r+i,{innerR:t.r-1,start:t.start,end:t.end,borderRadius:t.borderRadius})}constructor(i,t,e){super(i,t,e),this.half=0,this.name??(this.name=i.chart.options.lang.pieSliceName);let s=n=>{this.slice(n.type==="select")};sh(this,"select",s),sh(this,"unselect",s)}isValid(){return dm(this.y)&&this.y>=0}setVisible(i,t=!0){i!==this.visible&&this.update({visible:i??!this.visible},t,void 0,!1)}slice(i,t,e){let s=this.series,n=s.chart;lm(e,n),t=fm(t,!0),this.sliced=this.options.sliced=i=hm(i)?i:!this.sliced,s.options.data[s.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}};cm(qs.prototype,{connectorShapes:{fixedOffset:function(l,i,t){let e=i.breakAt,s=i.touchingSliceAt,n=t.softConnector?["C",l.x+(l.alignment==="left"?-5:5),l.y,2*e.x-s.x,2*e.y-s.y,e.x,e.y]:["L",e.x,e.y];return[["M",l.x,l.y],n,["L",s.x,s.y]]},straight:function(l,i){let t=i.touchingSliceAt;return[["M",l.x,l.y],["L",t.x,t.y]]},crookedLine:function(l,i,t){let{angle:e=this.angle||0,breakAt:s,touchingSliceAt:n}=i,{series:r}=this,[o,a,h]=r.center,c=h/2,{plotLeft:f,plotWidth:d}=r.chart,p=l.alignment==="left",{x:m,y:u}=l,g=s.x;if(t.crookDistance){let y=pm(t.crookDistance,1);g=p?o+c+(d+f-o-c)*(1-y):f+(o-c)*y}else g=o+(a-u)*Math.tan(e-Math.PI/2);let x=[["M",m,u]];return(p?g<=m&&g>=s.x:g>=m&&g<=s.x)&&x.push(["L",g,u]),x.push(["L",s.x,s.y],["L",n.x,n.y]),x}}});var nh=qs;var um={borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{connectorPadding:5,connectorShape:"crookedLine",crookDistance:void 0,distance:30,enabled:!0,formatter:function(){return this.isNull?void 0:this.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}},rh=um;var{getStartAndEndRadians:mm}=eo,{noop:oh}=W,{clamp:gm,extend:xm,fireEvent:ah,merge:io,pick:ym}=L,Ji=class extends Pt{animate(i){let t=this,e=t.points,s=t.startAngleRad;i||e.forEach(function(n){let r=n.graphic,o=n.shapeArgs;r&&o&&(r.attr({r:ym(n.startR,t.center&&t.center[3]/2),start:s,end:s}),r.animate({r:o.r,start:o.start,end:o.end},t.options.animation))})}drawEmpty(){let i=this.startAngleRad,t=this.endAngleRad,e=this.options,s,n;this.total===0&&this.center?(s=this.center[0],n=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(s,n,this.center[1]/2,0,i,t).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:gs.arc(s,n,this.center[2]/2,0,{start:i,end:t,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":e.borderWidth,fill:e.fillColor||"none",stroke:e.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let i=this.chart.renderer;this.points.forEach(function(t){t.graphic&&t.hasNewShapeType()&&(t.graphic=t.graphic.destroy()),t.graphic||(t.graphic=i[t.shapeType](t.shapeArgs).add(t.series.group),t.delayedRendering=!0)})}generatePoints(){super.generatePoints(),this.updateTotals()}getX(i,t,e,s){let n=this.center,r=this.radii?this.radii[e.index]||0:n[2]/2,o=s.dataLabelPosition,a=o?.distance||0,h=Math.asin(gm((i-n[1])/(r+a),-1,1));return n[0]+(t?-1:1)*(Math.cos(h)*(r+a))+(a>0?(t?-1:1)*(s.padding||0):0)}hasData(){return!!this.dataTable.rowCount}redrawPoints(){let i=this,t=i.chart,e,s,n,r;this.drawEmpty(),i.group&&!t.styledMode&&i.group.shadow(i.options.shadow),i.points.forEach(function(o){let a={};s=o.graphic,!o.isNull&&s?(r=o.shapeArgs,e=o.getTranslate(),t.styledMode||(n=i.pointAttribs(o,o.selected&&"select")),o.delayedRendering?(s.setRadialReference(i.center).attr(r).attr(e),t.styledMode||s.attr(n).attr({"stroke-linejoin":"round"}),o.delayedRendering=!1):(s.setRadialReference(i.center),t.styledMode||io(!0,a,n),io(!0,a,r,e),s.animate(a)),s.attr({visibility:o.visible?"inherit":"hidden"}),s.addClass(o.getClassName(),!0)):s&&(o.graphic=s.destroy())})}sortByAngle(i,t){i.sort(function(e,s){return typeof e.angle<"u"&&(s.angle-e.angle)*t})}translate(i){ah(this,"translate"),this.generatePoints();let t=this,e=1e3,s=t.options,n=s.slicedOffset,r=mm(s.startAngle,s.endAngle),o=t.startAngleRad=r.start,a=t.endAngleRad=r.end,h=a-o,c=t.points,f=s.ignoreHiddenPoint,d=c.length,p,m,u,g,x,y,b,v=0;for(i||(t.center=i=t.getCenter()),y=0;y<d;y++){b=c[y],p=o+v*h,b.isValid()&&(!f||b.visible)&&(v+=b.percentage/100),m=o+v*h;let C={x:i[0],y:i[1],r:i[2]/2,innerR:i[3]/2,start:Math.round(p*e)/e,end:Math.round(m*e)/e};b.shapeType="arc",b.shapeArgs=C,u=(m+p)/2,u>1.5*Math.PI?u-=2*Math.PI:u<-Math.PI/2&&(u+=2*Math.PI),b.slicedTranslation={translateX:Math.round(Math.cos(u)*n),translateY:Math.round(Math.sin(u)*n)},g=Math.cos(u)*i[2]/2,x=Math.sin(u)*i[2]/2,b.tooltipPos=[i[0]+g*.7,i[1]+x*.7],b.half=u<-Math.PI/2||u>Math.PI/2?1:0,b.angle=u}ah(t,"afterTranslate")}updateTotals(){let i=this.points,t=i.length,e=this.options.ignoreHiddenPoint,s,n,r=0;for(s=0;s<t;s++)n=i[s],n.isValid()&&(!e||n.visible)&&(r+=n.y);for(this.total=r,s=0;s<t;s++)n=i[s],n.percentage=r>0&&(n.visible||!e)?n.y/r*100:0,n.total=r}};Ji.defaultOptions=io(Pt.defaultOptions,rh);xm(Ji.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:bi.prototype.drawTracker,getCenter:eo.getCenter,getSymbol:oh,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointAttribs:bi.prototype.pointAttribs,pointClass:nh,requireSorting:!1,searchPoint:oh,trackerGroups:["group","dataLabelsGroup"]});et.registerSeriesType("pie",Ji);var{composed:bm,noop:vm}=W,{distribute:Cm}=Pe,{series:lh}=et,{arrayMax:Sm,clamp:hh,defined:ch,pick:Tm,pushUnique:wm,relativeLength:dh}=L,so;(function(l){let i={radialDistributionY:function(o,a){return(a.dataLabelPosition?.top||0)+o.distributeBox.pos},radialDistributionX:function(o,a,h,c,f){let d=f.dataLabelPosition;return o.getX(h<(d?.top||0)+2||h>(d?.bottom||0)-2?c:h,a.half,a,f)},justify:function(o,a,h,c){return c[0]+(o.half?-1:1)*(h+(a.dataLabelPosition?.distance||0))},alignToPlotEdges:function(o,a,h,c){let f=o.getBBox().width;return a?f+c:h-f-c},alignToConnectors:function(o,a,h,c){let f=0,d;return o.forEach(function(p){d=p.dataLabel.getBBox().width,d>f&&(f=d)}),a?f+c:h-f-c}};function t(o){if(Ze.compose(lh),wm(bm,"PieDataLabel")){let a=o.prototype;a.dataLabelPositioners=i,a.alignDataLabel=vm,a.drawDataLabels=s,a.getDataLabelPosition=e,a.placeDataLabels=n,a.verifyDataLabelOverflow=r}}l.compose=t;function e(o,a){let h=Math.PI/2,{start:c=0,end:f=0}=o.shapeArgs||{},d=o.angle||0;a>0&&c<h&&f>h&&d>h/2&&d<h*1.5&&(d=d<=h?Math.max(h/2,(c+h)/2):Math.min(h*1.5,(h+f)/2));let{center:p,options:m}=this,u=p[2]/2,g=Math.cos(d),x=Math.sin(d),y=p[0]+g*u,b=p[1]+x*u,v=Math.min((m.slicedOffset||0)+(m.borderWidth||0),a/5);return{natural:{x:y+g*a,y:b+x*a},computed:{},alignment:a<0?"center":o.half?"right":"left",connectorPosition:{angle:d,breakAt:{x:y+g*v,y:b+x*v},touchingSliceAt:{x:y,y:b}},distance:a}}function s(){let o=this,a=o.points,h=o.chart,c=h.plotWidth,f=h.plotHeight,d=h.plotLeft,p=Math.round(h.chartWidth/3),m=o.center,u=m[2]/2,g=m[1],x=[[],[]],y=[0,0,0,0],b=o.dataLabelPositioners,v,C,S,w=0;!o.visible||!o.hasDataLabels?.()||(a.forEach(T=>{(T.dataLabels||[]).forEach(k=>{k.shortened&&(k.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),k.shortened=!1)})}),lh.prototype.drawDataLabels.apply(o),a.forEach(T=>{(T.dataLabels||[]).forEach((k,M)=>{let E=m[2]/2,I=k.options,R=dh(I?.distance||0,E);M===0&&x[T.half].push(T),ch(I?.style?.width)||k.getBBox().width>p&&(k.css({width:Math.round(p*.7)+"px"}),k.shortened=!0),k.dataLabelPosition=this.getDataLabelPosition(T,R),w=Math.max(w,R)})}),x.forEach((T,k)=>{let M=T.length,E=[],I,R,_=0,B;M&&(o.sortByAngle(T,k-.5),w>0&&(I=Math.max(0,g-u-w),R=Math.min(g+u+w,h.plotHeight),T.forEach(N=>{(N.dataLabels||[]).forEach(Y=>{let K=Y.dataLabelPosition;K&&K.distance>0&&(K.top=Math.max(0,g-u-K.distance),K.bottom=Math.min(g+u+K.distance,h.plotHeight),_=Y.getBBox().height||21,Y.lineHeight=h.renderer.fontMetrics(Y.text||Y).h+2*Y.padding,N.distributeBox={target:(Y.dataLabelPosition?.natural.y||0)-K.top+Y.lineHeight/2,size:_,rank:N.y},E.push(N.distributeBox))})}),B=R+_-I,Cm(E,B,B/5)),T.forEach(N=>{(N.dataLabels||[]).forEach(Y=>{let K=Y.options||{},st=N.distributeBox,nt=Y.dataLabelPosition,Ot=nt?.natural.y||0,dt=K.connectorPadding||0,Z=Y.lineHeight||21,q=Y.getBBox(),X=(Z-q.height)/2,U=0,J=Ot,rt="inherit";if(nt){if(E&&ch(st)&&nt.distance>0&&(typeof st.pos>"u"?rt="hidden":(S=st.size,J=b.radialDistributionY(N,Y))),K.justify)U=b.justify(N,Y,u,m);else switch(K.alignTo){case"connectors":U=b.alignToConnectors(T,k,c,d);break;case"plotEdges":U=b.alignToPlotEdges(Y,k,c,d);break;default:U=b.radialDistributionX(o,N,J-X,Ot,Y)}if(nt.attribs={visibility:rt,align:nt.alignment},nt.posAttribs={x:U+(K.x||0)+({left:dt,right:-dt}[nt.alignment]||0),y:J+(K.y||0)-Z/2},nt.computed.x=U,nt.computed.y=J-X,Tm(K.crop,!0)){C=Y.getBBox().width;let tt;U-C<dt&&k===1?(tt=Math.round(C-U+dt),y[3]=Math.max(tt,y[3])):U+C>c-dt&&k===0&&(tt=Math.round(U+C-c+dt),y[1]=Math.max(tt,y[1])),J-S/2<0?y[0]=Math.max(Math.round(-J+S/2),y[0]):J+S/2>f&&(y[2]=Math.max(Math.round(J+S/2-f),y[2])),nt.sideOverflow=tt}}})}))}),(Sm(y)===0||this.verifyDataLabelOverflow(y))&&(this.placeDataLabels(),this.points.forEach(T=>{(T.dataLabels||[]).forEach(k=>{let{connectorColor:M,connectorWidth:E=1}=k.options||{},I=k.dataLabelPosition;if(E){let R;v=k.connector,I&&I.distance>0?(R=!v,v||(k.connector=v=h.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+T.colorIndex+(T.className?" "+T.className:"")).add(o.dataLabelsGroup)),h.styledMode||v.attr({"stroke-width":E,stroke:M||T.color||"#666666"}),v[R?"attr":"animate"]({d:T.getConnectorPath(k)}),v.attr({visibility:I.attribs?.visibility})):v&&(k.connector=v.destroy())}})})))}function n(){this.points.forEach(o=>{(o.dataLabels||[]).forEach(a=>{let h=a.dataLabelPosition;h?(h.sideOverflow&&(a.css({width:Math.max(a.getBBox().width-h.sideOverflow,0)+"px",textOverflow:a.options?.style?.textOverflow||"ellipsis"}),a.shortened=!0),a.attr(h.attribs),a[a.moved?"animate":"attr"](h.posAttribs),a.moved=!0):a&&a.attr({y:-9999})}),delete o.distributeBox},this)}function r(o){let a=this.center,h=this.options,c=h.center,f=h.minSize||80,d=f,p=h.size!==null;return p||(c[0]!==null?d=Math.max(a[2]-Math.max(o[1],o[3]),f):(d=Math.max(a[2]-o[1]-o[3],f),a[0]+=(o[3]-o[1])/2),c[1]!==null?d=hh(d,f,a[2]-Math.max(o[0],o[2])):(d=hh(d,f,a[2]-o[0]-o[2]),a[1]+=(o[0]-o[2])/2),d<a[2]?(a[2]=d,a[3]=Math.min(h.thickness?Math.max(0,d-h.thickness*2):Math.max(0,dh(h.innerSize||0,d)),d),this.translate(a),this.drawDataLabels&&this.drawDataLabels()):p=!0),p}})(so||(so={}));var fh=so;var no;(function(l){function i(n){let r=n.reduce((o,a)=>(o.x+=a.x,o.y+=a.y,o),{x:0,y:0});return{x:r.x/n.length,y:r.y/n.length}}l.getCenterOfPoints=i;function t(n,r){return Math.sqrt(Math.pow(r.x-n.x,2)+Math.pow(r.y-n.y,2))}l.getDistanceBetweenPoints=t;function e(n,r){return Math.atan2(r.x-n.x,r.y-n.y)}l.getAngleBetweenPoints=e;function s({x:n,y:r},o){let a=o.length,h,c,f=!1;for(h=0,c=a-1;h<a;c=h++){let[d,p]=o[h],[m,u]=o[c];p>r!=u>r&&n<(m-d)*(r-p)/(u-p)+d&&(f=!f)}return f}l.pointInPolygon=s})(no||(no={}));var ph=no;var{pointInPolygon:Dm}=ph,{addEvent:Pm,getAlignFactor:km,fireEvent:mh,objectEach:uh,pick:Mm}=L;function Om(l){let i=this,t=l.length,e=(d,p)=>!(p.x>=d.x+d.width||p.x+p.width<=d.x||p.y>=d.y+d.height||p.y+p.height<=d.y),s=(d,p)=>{for(let m of d)if(Dm({x:m[0],y:m[1]},p))return!0;return!1};function n(d){if(d&&(!d.alignAttr||d.placed)){let p=d.box?0:d.padding||0,m=d.alignAttr||{x:d.attr("x"),y:d.attr("y")},{height:u,polygon:g,width:x}=d.getBBox(),y=km(d.alignValue)*x;return d.width=x,d.height=u,{x:m.x+(d.parentGroup?.translateX||0)+p-y,y:m.y+(d.parentGroup?.translateY||0)+p,width:x-2*p,height:u-2*p,polygon:g}}}let r,o,a,h,c,f=!1;for(let d=0;d<t;d++)r=l[d],r&&(r.oldOpacity=r.opacity,r.newOpacity=1,r.absoluteBox=n(r));l.sort((d,p)=>(p.labelrank||0)-(d.labelrank||0));for(let d=0;d<t;++d){o=l[d],h=o&&o.absoluteBox;let p=h?.polygon;for(let m=d+1;m<t;++m){a=l[m],c=a&&a.absoluteBox;let u=!1;if(h&&c&&o!==a&&o.newOpacity!==0&&a.newOpacity!==0&&o.visibility!=="hidden"&&a.visibility!=="hidden"){let g=c.polygon;if(p&&g&&p!==g?s(p,g)&&(u=!0):e(h,c)&&(u=!0),u){let x=o.labelrank<a.labelrank?o:a,y=x.text;x.newOpacity=0,y?.element.querySelector("textPath")&&y.hide()}}}}for(let d of l)gh(d,i)&&(f=!0);f&&mh(i,"afterHideAllOverlappingLabels")}function Am(l){let i=l.prototype;i.hideOverlappingLabels||(i.hideOverlappingLabels=Om,Pm(l,"render",Em))}function gh(l,i){let t,e,s=!1;return l&&(e=l.newOpacity,l.oldOpacity!==e&&(l.hasClass("highcharts-data-label")?(l[e?"removeClass":"addClass"]("highcharts-data-label-hidden"),t=function(){i.styledMode||l.css({pointerEvents:e?"auto":"none"})},s=!0,l[l.isOld?"animate":"attr"]({opacity:e},void 0,t),mh(i,"afterHideOverlappingLabel")):l.attr({opacity:e})),l.isOld=!0),s}function Em(){let l=this,i=[];for(let t of l.labelCollectors||[])i=i.concat(t());for(let t of l.yAxis||[])t.stacking&&t.options.stackLabels&&!t.options.stackLabels.allowOverlap&&uh(t.stacking.stacks,e=>{uh(e,s=>{s.label&&i.push(s.label)})});for(let t of l.series||[])if(t.visible&&t.hasDataLabels?.()){let e=s=>{for(let n of s)n.visible&&(n.dataLabels||[]).forEach(r=>{let o=r.options||{};r.labelrank=Mm(o.labelrank,n.labelrank,n.shapeArgs?.height),o.allowOverlap??Number(o.distance)>0?(r.oldOpacity=r.opacity,r.newOpacity=1,gh(r,l)):i.push(r)})};e(t.nodes||[]),e(t.points)}this.hideOverlappingLabels(i)}var Lm={compose:Am},ro=Lm;var{defaultOptions:Im}=Tt,{noop:yh}=W,{addEvent:xh,extend:_m,isObject:bh,merge:Bm,relativeLength:oo}=L,Rm={radius:0,scope:"stack",where:void 0},vh=yh,Ch=yh;function Wm(l,i,t){let e=l[i],s=l[i+1];s[0]==="Z"&&(s=l[0]);let n,r,o;if((e[0]==="M"||e[0]==="L")&&s[0]==="A"?(n=e,r=s,o=!0):e[0]==="A"&&(s[0]==="M"||s[0]==="L")&&(n=s,r=e),n&&r&&r.params){let a=r[1],h=r[5],c=r.params,{start:f,end:d,cx:p,cy:m}=c,u=h?a-t:a+t,g=u?Math.asin(t/u):0,x=h?g:-g,y=Math.cos(g)*u;o?(c.start=f+x,n[1]=p+y*Math.cos(f),n[2]=m+y*Math.sin(f),l.splice(i+1,0,["A",t,t,0,0,1,p+a*Math.cos(c.start),m+a*Math.sin(c.start)])):(c.end=d-x,r[6]=p+a*Math.cos(c.end),r[7]=m+a*Math.sin(c.end),l.splice(i+1,0,["A",t,t,0,0,1,p+y*Math.cos(d),m+y*Math.sin(d)])),r[4]=Math.abs(c.end-c.start)<Math.PI?0:1}}function Nm(l,i,t,e,s={}){let n=vh(l,i,t,e,s),{innerR:r=0,r:o=t,start:a=0,end:h=0}=s;if(s.open||!s.borderRadius)return n;let c=h-a,f=Math.sin(c/2),d=Math.max(Math.min(oo(s.borderRadius||0,o-r),(o-r)/2,o*f/(1+f)),0),p=Math.min(d,2*(c/Math.PI)*r),m=n.length-1;for(;m--;)Wm(n,m,m>1?p:d);return n}function Fm(){if(this.options.borderRadius&&!(this.chart.is3d&&this.chart.is3d())){let{options:l,yAxis:i}=this,t=l.stacking==="percent",e=Im.plotOptions?.[this.type]?.borderRadius,s=ao(l.borderRadius,bh(e)?e:{}),n=i.options.reversed;for(let r of this.points){let{shapeArgs:o}=r;if(r.shapeType==="roundedRect"&&o){let{width:a=0,height:h=0,y:c=0}=o,f=c,d=h;if(s.scope==="stack"&&r.stackTotal){let g=i.translate(t?100:r.stackTotal,!1,!0,!1,!0),x=i.translate(l.threshold||0,!1,!0,!1,!0),y=this.crispCol(0,Math.min(g,x),0,Math.abs(g-x));f=y.y,d=y.height}let p=(r.negative?-1:1)*(n?-1:1)===-1,m=s.where;!m&&this.is("waterfall")&&Math.abs((r.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(m="all"),m||(m="end");let u=Math.min(oo(s.radius,a),a/2,m==="all"?h/2:1/0)||0;m==="end"&&(p&&(f-=u),d+=u),_m(o,{brBoxHeight:d,brBoxY:f,r:u})}}}}function Hm(l,i,t){let e=l.types.pie;if(!i.symbolCustomAttribs.includes("borderRadius")){let s=t.prototype.symbols;xh(l,"afterColumnTranslate",Fm,{order:9}),xh(e,"afterTranslate",zm),i.symbolCustomAttribs.push("borderRadius","brBoxHeight","brBoxY"),vh=s.arc,Ch=s.roundedRect,s.arc=Nm,s.roundedRect=Xm}}function ao(l,i){return bh(l)||(l={radius:l||0}),Bm(Rm,i,l)}function zm(){let l=ao(this.options.borderRadius);for(let i of this.points){let t=i.shapeArgs;t&&(t.borderRadius=oo(l.radius,(t.r||0)-(t.innerR||0)))}}function Xm(l,i,t,e,s={}){let n=Ch(l,i,t,e,s),{r=0,brBoxHeight:o=e,brBoxY:a=i}=s,h=i-a,c=a+o-(i+e),f=h-r>-.1?0:r,d=c-r>-.1?0:r,p=Math.max(f&&h,0),m=Math.max(d&&c,0),u=[l+f,i],g=[l+t-f,i],x=[l+t,i+f],y=[l+t,i+e-d],b=[l+t-d,i+e],v=[l+d,i+e],C=[l,i+e-d],S=[l,i+f],w=(T,k)=>Math.sqrt(Math.pow(T,2)-Math.pow(k,2));if(p){let T=w(f,f-p);u[0]-=T,g[0]+=T,x[1]=S[1]=i+f-p}if(e<f-p){let T=w(f,f-p-e);x[0]=y[0]=l+t-f+T,b[0]=Math.min(x[0],b[0]),v[0]=Math.max(y[0],v[0]),C[0]=S[0]=l+f-T,x[1]=S[1]=i+e}if(m){let T=w(d,d-m);b[0]+=T,v[0]-=T,y[1]=C[1]=i+e-d+m}if(e<d-m){let T=w(d,d-m-e);x[0]=y[0]=l+t-d+T,g[0]=Math.min(x[0],g[0]),u[0]=Math.max(y[0],u[0]),C[0]=S[0]=l+d-T,y[1]=C[1]=i}return n.length=0,n.push(["M",...u],["L",...g],["A",f,f,0,0,1,...x],["L",...y],["A",d,d,0,0,1,...b],["L",...v],["A",d,d,0,0,1,...C],["L",...S],["A",f,f,0,0,1,...u],["Z"]),n}var Ym={compose:Hm,optionsToObject:ao},Sh=Ym;var{diffObjects:jm,extend:Vm,find:Gm,merge:Um,pick:Ks,uniqueKey:$m}=L,lo;(function(l){function i(s){let n=s.prototype;return n.matchResponsiveRule||Vm(n,{matchResponsiveRule:t,setResponsive:e}),s}l.compose=i;function t(s,n){let r=s.condition;(r.callback||function(){return this.chartWidth<=Ks(r.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=Ks(r.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=Ks(r.minWidth,0)&&this.chartHeight>=Ks(r.minHeight,0)}).call(this)&&n.push(s._id)}function e(s,n){let r=this.options.responsive,o=this.currentResponsive,a=[],h;!n&&r&&r.rules&&r.rules.forEach(d=>{typeof d._id>"u"&&(d._id=$m()),this.matchResponsiveRule(d,a)},this);let c=Um(...a.map(d=>Gm(r?.rules||[],p=>p._id===d)).map(d=>d?.chartOptions));c.isResponsiveOptions=!0,a=a.toString()||void 0;let f=o?.ruleIds;a!==f&&(o&&(this.currentResponsive=void 0,this.updatingResponsive=!0,this.update(o.undoOptions,s,!0),this.updatingResponsive=!1),a?(h=jm(c,this.options,!0,this.collectionsWithUpdate),h.isResponsiveOptions=!0,this.currentResponsive={ruleIds:a,mergedOptions:c,undoOptions:h},this.updatingResponsive||this.update(c,s,!0)):this.currentResponsive=void 0)}})(lo||(lo={}));var Th=lo;var F=W;F.AST=At;F.Axis=Ri;F.Chart=Rr;F.Color=_t;F.DataLabel=Ze;F.DataTableCore=ui;F.Fx=ue;F.HTMLElement=$n;F.Legend=Dr;F.LegendSymbol=_s;F.OverlappingDataLabels=F.OverlappingDataLabels||ro;F.PlotLineOrBand=or;F.Point=jt;F.Pointer=gr;F.RendererRegistry=ne;F.Series=Pt;F.SeriesRegistry=et;F.StackItem=zs;F.SVGElement=Ft;F.SVGRenderer=vs;F.Templating=wt;F.Tick=ge;F.Time=ai;F.Tooltip=hr;F.animate=ot.animate;F.animObject=ot.animObject;F.chart=Rr.chart;F.color=_t.parse;F.dateFormat=wt.dateFormat;F.defaultOptions=Tt.defaultOptions;F.distribute=Pe.distribute;F.format=wt.format;F.getDeferredAnimation=ot.getDeferredAnimation;F.getOptions=Tt.getOptions;F.numberFormat=wt.numberFormat;F.seriesType=et.seriesType;F.setAnimation=ot.setAnimation;F.setOptions=Tt.setOptions;F.stop=ot.stop;F.time=Tt.defaultTime;F.timers=ue.timers;Sh.compose(F.Series,F.SVGElement,F.SVGRenderer);Jl.compose(F.Series.types.column);Ze.compose(F.Series);Va.compose(F.Axis);$n.compose(F.SVGRenderer);Dr.compose(F.Chart);Ua.compose(F.Axis);ro.compose(F.Chart);fh.compose(F.Series.types.pie);or.compose(F.Chart,F.Axis);gr.compose(F.Chart);Th.compose(F.Chart);Rl.compose(F.Axis,F.Chart,F.Series);Hl.compose(F.Axis,F.Chart,F.Series);hr.compose(F.Pointer);L.extend(F,L);var wh=F;var Bt=class l{httpClient=go(Do);widgets$=uo([{id:"SALES",title:"Sales",value:null,showValue:!0,tooltip:"Total Sales Today"},{id:"PAYMENT",title:"Payment",value:null,showValue:!0,tooltip:"Total Payment Today"},{id:"PURCHASE",title:"Purchase",value:null,showValue:!0,tooltip:"Total Purchase Today"},{id:"DEBT",title:"Receivable",value:null,showValue:!0},{id:"PRODUCT",title:"Product",showValue:!1},{id:"INVENTORY",title:"Inventory",showValue:!1}]);setWidgetData(i,t){return this.widgets$=this.widgets$.pipe(Kt(e=>e.map(s=>(s.id==t&&(s.value=i),s)))),this.widgets$}getDashboardSales(i){let t={headers:this.getHttpheaders()};return this.httpClient.post(He.GetDashboardSales,i,t)}getDashboardPayment(i){let t={headers:this.getHttpheaders()};return this.httpClient.post(He.GetDashboardPayment,i,t)}getDashboardPurchase(i){let t={headers:this.getHttpheaders()};return this.httpClient.post(He.GetDashboardPurchase,i,t)}getDashboardDebt(i){let t={headers:this.getHttpheaders()};return this.httpClient.post(He.GetDashboardDebt,i,t)}getDashboardProduct(i){let t={headers:this.getHttpheaders()};return this.httpClient.post(He.GetDashboardProduct,i,t)}getDashboardInventory(i){let t={headers:this.getHttpheaders()};return this.httpClient.post(He.GetDashboardInventory,i,t)}getHttpheaders(){let i=localStorage.getItem("Token"),t=new wo({"Content-Type":"application/json","Cache-Control":"no-cache"});return i?t=t.append("Authorization","Bearer "+i):window.location.href="/",t}getLineChartConfig(){return{credits:{enabled:!1},accessibility:{enabled:!1},chart:{type:"areaspline",ignoreHiddenSeries:!1,height:410,spacingTop:-20,spacingRight:15},title:{text:"<br/>"},legend:{enabled:!0,squareSymbol:!0},xAxis:{type:"datetime",labels:{style:{color:"gray"}},lineColor:"gray",tickColor:"gray"},yAxis:{min:0,title:{text:""},labels:{formatter:function(){let t=this.value;if(t==0)return"";var e=parseInt(t).toString();if(e.length<=4)return parseFloat(t).toString();if(e.length>=5&&e.length<=6)return t/1e3+" k";if(e.length>=7&&e.length<=9)return t/1e6+" MM";if(e.length>=10)return t/1e9+" BN"},style:{color:"gray"}}},plotOptions:{series:{pointInterval:864e5,dataLabels:{enabled:!1}},areaspline:{fillOpacity:.1,lineWidth:1.5,marker:{enabled:!0}}},tooltip:{shared:!0},series:[]}}getLinierGradient(i){let t=new wh.Color(i);return{linearGradient:[0,0,0,290],stops:[[0,t.setOpacity(.1).get("rgba")],[1,"#ffffff70"]]}}setSeriesPointStart(i,t){let e=new Date(i);return t.plotOptions.series.pointStart=Date.UTC(e.getFullYear(),e.getMonth(),e.getDate()),t}getTotalData(i,t,e=1){let s=0;if(i!="All"){let n=this.filterSeriesByName(i,t);s=n?.data?.slice(n?.data?.length-e,n?.data?.length).reduce((r,o)=>r+o,0)}else s=t.reduce((n,r)=>n+r?.data?.slice(r?.data?.length-e,r?.data?.length).reduce((o,a)=>o+a,0),0);return s}filterSeriesByName(i,t){return t?.find(s=>s.name==i)}static \u0275fac=function(t){return new(t||l)};static \u0275prov=mo({token:l,factory:l.\u0275fac})};var Ci=class{Cost;Profit;Sales;SalesWithTax;Tax;Count;TopOutlet};var Re=class l{config;containerId;htmlIsRendered=!1;constructor(){}ngAfterViewInit(){rs.IsNotEmpty(this.containerId)&&(this.initChart(),this.htmlIsRendered=!0)}ngOnChanges(i){i.config&&i.config.currentValue&&this.htmlIsRendered&&this.initChart()}initChart(){un.chart(this.containerId,this.config);let i={lang:{thousandsSep:","}};un.setOptions(i)}static \u0275fac=function(t){return new(t||l)};static \u0275cmp=Mt({type:l,selectors:[["app-chart-container"]],inputs:{config:"config",containerId:"containerId"},features:[ve],decls:1,vars:1,consts:[[3,"id"]],template:function(t,e){t&1&&bo(0,"div",0),t&2&&vo("id",e.containerId)},encapsulation:2})};var co=l=>({"border-bottom":l}),ho=()=>["/menu/Reports/Sales_Report/Standard/Summary"],qm=(l,i,t)=>({From:l,To:i,ListIDs:t}),Km=l=>({today:l}),Dh=(l,i)=>({From:l,To:i});function Zm(l,i){if(l&1){let t=se();D(0,"div",6)(1,"a",15),A(2),P(),D(3,"ul",16)(4,"li")(5,"a",17),de("click",function(){Zt(t);let s=z();return s.isTodayFilter=!s.isTodayFilter,Qt(s.onChangeFilterPeriod())}),A(6),P()()()()}if(l&2){let t=z();O(2),$(" ",t.isTodayFilter?"Today":"Last 7 Days"," "),O(),H("ngClass",at(3,Km,!t.isTodayFilter)),O(3),$(" ",t.isTodayFilter?"Last 7 Days":"Today"," ")}}function Qm(l,i){l&1&&(D(0,"span",7),A(1,"Today"),P())}function Jm(l,i){if(l&1&&(D(0,"div",18)(1,"a",9),j(2,"date"),j(3,"date"),D(4,"div",10),A(5,"Tax"),P(),D(6,"div",19)(7,"small",20),A(8),P(),D(9,"h2",11),A(10),j(11,"number"),P()()()(),D(12,"div",8)(13,"a",9),j(14,"date"),j(15,"date"),D(16,"div",10),A(17,"Sales + Tax"),P(),D(18,"div",19)(19,"small",20),A(20),P(),D(21,"h2",11),A(22),j(23,"number"),P()()()()),l&2){let t=z();O(),H("routerLink",pt(27,ho))("queryParams",pn(28,Dh,G(2,9,t.isTodayFilter?t.today:t.chartData==null?null:t.chartData.From,"yyyy-MM-dd"),G(3,12,t.isTodayFilter?t.today:t.dateTo,"yyyy-MM-dd"))),O(7),$(" ",t.dashboardConfig==null?null:t.dashboardConfig.CurrencySymbol," "),O(2),$(" ",G(11,15,t.salesData==null?null:t.salesData.Tax,"1.0-0")," "),O(2),H("ngClass",at(31,co,t.role.product.Cost)),O(),H("routerLink",pt(33,ho))("queryParams",pn(34,Dh,G(14,18,t.isTodayFilter?t.today:t.chartData==null?null:t.chartData.From,"yyyy-MM-dd"),G(15,21,t.isTodayFilter?t.today:t.dateTo,"yyyy-MM-dd"))),O(7),$(" ",t.dashboardConfig==null?null:t.dashboardConfig.CurrencySymbol," "),O(2),$(" ",G(23,24,t.salesData==null?null:t.salesData.SalesWithTax,"1.0-0")," ")}}function tg(l,i){if(l&1&&(D(0,"div",8)(1,"div")(2,"div",21),A(3,"Cost"),P(),D(4,"div",19)(5,"small",20),A(6),P(),D(7,"h2",11),A(8),j(9,"number"),P()()()()),l&2){let t=z();H("ngClass",at(6,co,t.role.report.Profit)),O(6),$(" ",t.dashboardConfig==null?null:t.dashboardConfig.CurrencySymbol," "),O(2),$(" ",G(9,3,t.salesData==null?null:t.salesData.Cost,"1.0-0")," ")}}function eg(l,i){if(l&1&&(D(0,"div",12)(1,"div")(2,"div",22),A(3),P(),D(4,"div",23)(5,"small",20),A(6),P(),D(7,"h2",11),A(8),j(9,"number"),P()()()()),l&2){let t=z();O(3),$(" ",t.includeTax?"Gross Profit":"Profit"," "),O(3),$(" ",t.dashboardConfig==null?null:t.dashboardConfig.CurrencySymbol," "),O(2),$(" ",G(9,3,t.salesData==null?null:t.salesData.Profit,"1.0-0")," ")}}var Qs=class l{constructor(i,t){this.dashboardService=i;this.role=t;this.chartConfig=this.dashboardService.getLineChartConfig()}chartData;salesData;dashboardConfig;filterSalesWidget=new es;chartConfig;todaySalesData;weeklySalesData;isTodayFilter=!0;showPeriodFilter;includeTax;today=new Date;dateTo;filterByOutletIds=ns([]);ngOnChanges(i){if(i.chartData&&i.chartData.currentValue){this.initSalesData();let t=i?.chartData?.currentValue?.Series;t=this.setChartLineColor(t),t=this.setSalesTaxLegend(t),this.chartConfig=Rt(yt({},this.chartConfig),{series:t}),this.chartConfig=this.dashboardService.setSeriesPointStart(this.chartData.From,this.chartConfig),this.initPeriodFilter(t),this.getDateTo()}}initPeriodFilter(i){this.showPeriodFilter=i[0]?.data?.length>=7}initSalesData(){this.salesData=new Ci,this.includeTax=this.isIncludeTax(),this.salesData.Sales=this.dashboardService.getTotalData("Sales",this.chartData.Series,1),this.salesData.SalesWithTax=this.dashboardService.getTotalData("Sales + Tax",this.chartData.Series,1),this.salesData.Cost=this.dashboardService.getTotalData("Cost",this.chartData.Series,1),this.salesData.Tax=this.salesData.SalesWithTax-this.salesData.Sales,this.salesData.Profit=(this.includeTax?this.salesData.SalesWithTax:this.salesData.Sales)-this.salesData.Cost,this.salesData.Count=this.dashboardService.getTotalData("Count",this.chartData.Series,1),this.todaySalesData=Ro(Ci,this.salesData)}setChartLineColor(i=[]){return i?.map(t=>(t.name=="Sales"&&(t.color="rgb(44, 175, 254)",t.fillColor=this.dashboardService.getLinierGradient("rgb(44, 175, 254)")),t.name=="Cost"&&(t.color="#fb404b",t.fillColor=this.dashboardService.getLinierGradient("#fb404b")),t.name=="Sales + Tax"&&(t.color="#2ECC71",t.fillColor=this.dashboardService.getLinierGradient("#2ECC71")),t))}onChangeFilterPeriod(){this.isTodayFilter?this.salesData=this.todaySalesData:(this.generateWeeklySalesData(),this.salesData=this.weeklySalesData),this.filterSalesWidget.emit({period:this.isTodayFilter?"TODAY":"WEEKLY"})}getDateTo(){let i=new Date,t=new Date(this.chartData.From);i.setDate(t.getDate()+7),this.dateTo=i}generateWeeklySalesData(){if(rs.IsEmpty(this.weeklySalesData)){let i=this.dashboardService.getTotalData("Sales",this.chartData.Series,7),t=this.dashboardService.getTotalData("Sales + Tax",this.chartData.Series,7),e=this.dashboardService.getTotalData("Cost",this.chartData.Series,7),s=this.dashboardService.getTotalData("Count",this.chartData.Series,7),n=t-i,r=(this.includeTax?t:i)-e;this.weeklySalesData=this.weeklySalesData?this.weeklySalesData:new Ci,this.weeklySalesData.Sales=i,this.weeklySalesData.SalesWithTax=t,this.weeklySalesData.Cost=e,this.weeklySalesData.Profit=r,this.weeklySalesData.Tax=n,this.weeklySalesData.Count=s}}isIncludeTax(){let i=this.chartData.Series;return this.dashboardService.filterSeriesByName("Sales + Tax",i).visible}setSalesTaxLegend(i){return i=i.map(t=>(t.name=="Sales + Tax"&&(t.showInLegend=this.salesData.Tax>0),t)),i}static \u0275fac=function(t){return new(t||l)(Vt(Bt),Vt(ei))};static \u0275cmp=Mt({type:l,selectors:[["app-sales-widget"]],inputs:{chartData:"chartData",dashboardConfig:"dashboardConfig",filterByOutletIds:[1,"filterByOutletIds"]},outputs:{filterSalesWidget:"onFilter"},features:[Je([Bt]),ve],decls:25,vars:30,consts:[[1,"d-flex","flex-row","flex-wrap","mt-8","justify-content-between"],[1,"chart-widget"],["containerId","salesChart",3,"config"],[1,"sales-card-widget"],[1,"border","rounded","rounded-bottom-0","px-8","py-4","w-100","h-auto"],[1,"border-bottom","d-flex","align-items-center","justify-content-end",2,"height","42px"],[1,"btn-group"],[1,"link-dark","fs-2","headings-font-family"],[1,"text-end","card-row","d-flex","align-items-center","justify-content-end",3,"ngClass"],["target","_blank",1,"link-dark",3,"routerLink","queryParams"],[1,"fs-5"],[1,"fw-normal"],[1,"text-end","d-flex","align-items-center","justify-content-end","card-row"],[1,"card-footer","border","rounded-bottom","border-top-0","text-end","p-3"],["routerLink","/menu/Setup/Configuration/Application"],["type","button","data-bs-toggle","dropdown","aria-expanded","false",1,"dropdown-toggle","link-dark","fs-2","headings-font-family"],[1,"dropdown-menu","p-0",2,"position","absolute","right","20px !important",3,"ngClass"],["role","button",1,"dropdown-item","fs-4",3,"click"],[1,"text-end","border-bottom","card-row","d-flex","align-items-center","justify-content-end"],[1,"d-flex","align-items-center","justify-content-end"],[1,"me-2"],[1,"fs-5","text-danger"],[1,"fs-5","text-success"],[1,"d-flex","align-items-center"]],template:function(t,e){t&1&&(D(0,"div",0)(1,"div",1),Ct(2,"app-chart-container",2),P(),D(3,"div",3)(4,"div",4)(5,"div",5),ht(6,Zm,7,5,"div",6)(7,Qm,2,0,"span",7),P(),D(8,"div",8)(9,"a",9),j(10,"date"),j(11,"date"),D(12,"div",10),A(13,"Order"),P(),D(14,"h2",11),A(15),j(16,"number"),P()()(),ht(17,Jm,24,37),ht(18,tg,10,8,"div",8),ht(19,eg,10,6,"div",12),P(),D(20,"div",13)(21,"a",14)(22,"small"),A(23),j(24,"date"),P()()()()()),t&2&&(O(2),H("config",e.chartConfig),O(4),ct(!(e.role==null||e.role.dashboard==null)&&e.role.dashboard.View&&e.showPeriodFilter?6:7),O(2),H("ngClass",at(23,co,(e.salesData==null?null:e.salesData.Tax)||e.role.product.Cost)),O(),H("routerLink",pt(25,ho))("queryParams",ss(26,qm,G(10,11,e.isTodayFilter?e.today:e.chartData==null?null:e.chartData.From,"yyyy-MM-dd"),G(11,14,e.isTodayFilter?e.today:e.dateTo,"yyyy-MM-dd"),e.filterByOutletIds())),O(6),vt(G(16,17,e.salesData==null?null:e.salesData.Count,"1.0-0")),O(2),ct((e.salesData==null?null:e.salesData.Tax)>0?17:-1),O(),ct(e.role.product.Cost?18:-1),O(),ct(e.role.report.Profit&&e.role.product.Cost?19:-1),O(4),is("",G(24,20,e.dashboardConfig==null?null:e.dashboardConfig.SpanConfigTime,"dd MMM HH:mm")," ",e.dashboardConfig==null?null:e.dashboardConfig.SmallTimeZone))},dependencies:[It,Ht,Re,Ut,Gt,ii,zt,ti],styles:[".chart-widget[_ngcontent-%COMP%]{width:80%}.link-dark[_ngcontent-%COMP%]{color:#333!important}.dropdown-menu.show.today[_ngcontent-%COMP%]{inset:0 auto auto -34px!important}.sales-card-widget[_ngcontent-%COMP%]{width:19%}.sales-card-widget[_ngcontent-%COMP%] .card-row[_ngcontent-%COMP%]{height:64px}@media only screen and (max-width: 767px){.chart-widget[_ngcontent-%COMP%]{width:100%}.sales-card-widget[_ngcontent-%COMP%]{width:100%;margin-top:12px}}@media only screen and (min-width: 768px) and (max-width: 991px){.chart-widget[_ngcontent-%COMP%]{width:100%}.sales-card-widget[_ngcontent-%COMP%]{width:100%;margin-top:12px}}"]})};var Js=class{Purchase;PurchaseWithTax;Tax;Count};var ig=l=>({"border-bottom":l}),fo=()=>["/menu/Reports/Purchases_Report/Summary"],sg=(l,i,t)=>({From:l,To:i,ListIDs:t}),kh=l=>({From:l});function ng(l,i){if(l&1&&(D(0,"div",12)(1,"a",8),j(2,"date"),D(3,"div",9),A(4,"Tax"),P(),D(5,"div",13)(6,"small",14),A(7),P(),D(8,"h2",6),A(9),j(10,"number"),P()()()(),D(11,"div",15)(12,"a",8),j(13,"date"),D(14,"div",9),A(15,"Purchase + Tax"),P(),D(16,"div",16)(17,"small",14),A(18),P(),D(19,"h2",6),A(20),j(21,"number"),P()()()()),l&2){let t=z();O(),H("routerLink",pt(20,fo))("queryParams",at(21,kh,G(2,8,t.chartData==null?null:t.chartData.From,"yyyy-MM-dd"))),O(6),$(" ",t.dashboardConfig==null?null:t.dashboardConfig.CurrencySymbol," "),O(2),$(" ",G(10,11,t.purchaseData==null?null:t.purchaseData.Tax,"1.0-0")," "),O(3),H("routerLink",pt(23,fo))("queryParams",at(24,kh,G(13,14,t.chartData==null?null:t.chartData.From,"yyyy-MM-dd"))),O(6),$(" ",t.dashboardConfig==null?null:t.dashboardConfig.CurrencySymbol," "),O(2),$(" ",G(21,17,t.purchaseData==null?null:t.purchaseData.PurchaseWithTax,"1.0-0")," ")}}var tn=class l{constructor(i){this.dashboardService=i;this.chartConfig=this.dashboardService.getLineChartConfig()}today=new Date;chartConfig;purchaseData;chartData;dashboardConfig;filterByOutletIds=ns([]);ngOnChanges(i){if(i.chartData&&i.chartData.currentValue){let t=i?.chartData?.currentValue?.Series;this.initPurchaseData(),t=this.setChartLineColor(t),this.chartConfig=Rt(yt({},this.chartConfig),{series:t}),this.chartConfig=this.dashboardService.setSeriesPointStart(this.chartData.From,this.chartConfig)}}initPurchaseData(){this.purchaseData=new Js,this.purchaseData.Count=this.dashboardService.getTotalData("Count",this.chartData.Series),this.purchaseData.Purchase=this.dashboardService.getTotalData("Purchase",this.chartData.Series),this.purchaseData.PurchaseWithTax=this.dashboardService.getTotalData("Purchase + Tax",this.chartData.Series),this.purchaseData.Tax=this.purchaseData.PurchaseWithTax-this.purchaseData.Purchase}setChartLineColor(i){return i.map(t=>(t.name=="Purchase"&&(t.color="rgb(44, 175, 254)",t.fillColor=this.dashboardService.getLinierGradient("rgb(44, 175, 254)"),t.visible=!0),t.name=="Purchase + Tax"&&(t.color="#2ECC71",t.fillColor=this.dashboardService.getLinierGradient("#2ECC71"),t.visible=!1,t.showInLegend=this.purchaseData.Tax>0),t.name=="Count"&&(t.visible=!1,t.showInLegend=!1),t))}static \u0275fac=function(t){return new(t||l)(Vt(Bt))};static \u0275cmp=Mt({type:l,selectors:[["app-purchase-widget"]],inputs:{chartData:"chartData",dashboardConfig:"dashboardConfig",filterByOutletIds:[1,"filterByOutletIds"]},features:[Je([Bt]),ve],decls:23,vars:27,consts:[[1,"d-flex","flex-row","flex-wrap","mt-8","justify-content-between"],[1,"chart-widget"],["containerId","purchaseChart",3,"config"],[1,"sales-card-widget"],[1,"border","rounded","rounded-bottom-0","px-8","py-4","w-100","h-auto"],[1,"border-bottom","d-flex","align-items-center","justify-content-end",2,"height","42px"],[1,"fw-normal"],[1,"text-end","border-bottom","card-row","d-flex","align-items-center","justify-content-end",3,"ngClass"],["target","_blank",1,"link-dark",3,"routerLink","queryParams"],[1,"fs-5"],[1,"card-footer","border","rounded-bottom","border-top-0","text-center","p-3"],["routerLink","/menu/Setup/Configuration/Application"],[1,"text-end","border-bottom","card-row","d-flex","align-items-center","justify-content-end"],[1,"d-flex","align-items-center"],[1,"me-2"],[1,"text-end","card-row","d-flex","align-items-center","justify-content-end"],[1,"d-flex","align-items-center","justify-content-end"]],template:function(t,e){t&1&&(D(0,"div",0)(1,"div",1),Ct(2,"app-chart-container",2),P(),D(3,"div",3)(4,"div",4)(5,"div",5)(6,"h2",6),A(7,"Today"),P()(),D(8,"div",7)(9,"a",8),j(10,"date"),j(11,"date"),D(12,"div",9),A(13,"Order"),P(),D(14,"h2",6),A(15),j(16,"number"),P()()(),ht(17,ng,22,26),P(),D(18,"div",10)(19,"a",11)(20,"small"),A(21),j(22,"date"),P()()()()()),t&2&&(O(2),H("config",e.chartConfig),O(6),H("ngClass",at(20,ig,(e.purchaseData==null?null:e.purchaseData.Tax)>0)),O(),H("routerLink",pt(22,fo))("queryParams",ss(23,sg,G(10,8,e.today,"yyyy-MM-dd"),G(11,11,e.today,"yyyy-MM-dd"),e.filterByOutletIds())),O(6),vt(G(16,14,e.purchaseData==null?null:e.purchaseData.Count,"1.0-0")),O(2),ct((e.purchaseData==null?null:e.purchaseData.Tax)>0?17:-1),O(4),is("",G(22,17,e.dashboardConfig==null?null:e.dashboardConfig.SpanConfigTime,"dd MMM HH:mm")," ",e.dashboardConfig==null?null:e.dashboardConfig.SmallTimeZone))},dependencies:[It,Ht,Re,Ut,Gt,ii,zt,ti],styles:[".chart-widget[_ngcontent-%COMP%]{width:80%}.link-dark[_ngcontent-%COMP%]{color:#333!important}.dropdown-menu.show.today[_ngcontent-%COMP%]{inset:0 auto auto -34px!important}.sales-card-widget[_ngcontent-%COMP%]{width:19%}.sales-card-widget[_ngcontent-%COMP%] .card-row[_ngcontent-%COMP%]{height:64px}@media only screen and (max-width: 767px){.chart-widget[_ngcontent-%COMP%]{width:100%}.sales-card-widget[_ngcontent-%COMP%]{width:100%;margin-top:12px}}@media only screen and (min-width: 768px) and (max-width: 991px){.chart-widget[_ngcontent-%COMP%]{width:100%}.sales-card-widget[_ngcontent-%COMP%]{width:100%;margin-top:12px}}"]})};var rg=l=>({active:l});function og(l,i){if(l&1&&(D(0,"div",1),A(1),P(),D(2,"div",2)(3,"small",3),A(4),P(),D(5,"h2",4),A(6),P()()),l&2){let t=z();O(),vt(t.title),O(3),vt(t.currencySymbol),O(2),vt(t.value)}}function ag(l,i){if(l&1&&(D(0,"div",1),A(1),P(),D(2,"h2",4),A(3,"-"),P()),l&2){let t=z();O(),vt(t.title)}}var en=class l{title;isActive;currencySymbol;value;showValue;constructor(){}ngOnInit(){}static \u0275fac=function(t){return new(t||l)};static \u0275cmp=Mt({type:l,selectors:[["app-card-widget"]],inputs:{title:"title",isActive:"isActive",currencySymbol:"currencySymbol",value:"value",showValue:"showValue"},decls:3,vars:4,consts:[[1,"card-widget","pe-0",3,"ngClass"],[1,"fs-4","headings-font-family"],[1,"d-flex","justify-content-start","align-items-center"],[1,"fw-normal","me-2"],[1,"fw-normal"]],template:function(t,e){t&1&&(D(0,"div",0),ht(1,og,7,3)(2,ag,4,1),P()),t&2&&(H("ngClass",at(2,rg,e.isActive)),O(),ct(e.showValue?1:2))},dependencies:[It,Ht],styles:[".card-widget[_ngcontent-%COMP%]{padding:20px;border-radius:6px;min-height:95px;border:.5px solid #e4e4e4;width:100%}.active[_ngcontent-%COMP%]{background-color:#f0f0f0}@media only screen and (max-width: 767px){.card-widget[_ngcontent-%COMP%]{width:200px}}@media only screen and (min-width: 768px) and (max-width: 991px){.card-widget[_ngcontent-%COMP%]{width:200px}}"]})};var Mh=l=>({"table-border-bottom-0":l}),lg=()=>["/menu/Debt/Debt/Accounts_Receiveable/Accounts_Receiveable_Detail"],Oh=l=>({ID:l}),hg=()=>["/menu/Debt/Debt/Accounts_Payable/Accounts_Payable_Detail"];function cg(l,i){if(l&1&&(D(0,"tr",26)(1,"td",23)(2,"a",27),A(3),P()(),D(4,"td",28),A(5),j(6,"number"),P(),D(7,"td",29),A(8),j(9,"number"),P()()),l&2){let t=i.$implicit,e=i.$index,s=z(2);H("ngClass",at(12,Mh,(s.debtData==null||s.debtData.TopReceivable==null?null:s.debtData.TopReceivable.length)==e+1)),O(2),H("routerLink",pt(14,lg))("queryParams",at(15,Oh,t==null?null:t.ID)),O(),$(" ",t==null?null:t.Name," "),O(2),$(" ",G(6,6,t==null?null:t.Credit,"1.0-0")," "),O(3),$(" ",G(9,9,t==null?null:t.Limit,"1.0-0")," ")}}function dg(l,i){if(l&1&&ee(0,cg,10,17,"tr",26,Ce),l&2){let t=z();ie(t.debtData==null?null:t.debtData.TopReceivable)}}function fg(l,i){l&1&&Wt(0)}function pg(l,i){if(l&1&&ft(0,fg,1,0,"ng-container",30),l&2){z();let t=bt(82);H("ngTemplateOutlet",t)}}function ug(l,i){if(l&1&&(D(0,"tr",26)(1,"td",23)(2,"a",27),A(3),P()(),D(4,"td",28),A(5),j(6,"number"),P(),D(7,"td",29),A(8),j(9,"number"),P()()),l&2){let t=i.$implicit,e=i.$index,s=z(2);H("ngClass",at(12,Mh,(s.debtData==null||s.debtData.TopPayable==null?null:s.debtData.TopPayable.length)==e+1)),O(2),H("routerLink",pt(14,hg))("queryParams",at(15,Oh,t==null?null:t.ID)),O(),$(" ",t==null?null:t.Name," "),O(2),$(" ",G(6,6,t==null?null:t.Credit,"1.0-0")," "),O(3),$(" ",G(9,9,t==null?null:t.Limit,"1.0-0")," ")}}function mg(l,i){if(l&1&&ee(0,ug,10,17,"tr",26,Ce),l&2){let t=z();ie(t.debtData==null?null:t.debtData.TopPayable)}}function gg(l,i){l&1&&Wt(0)}function xg(l,i){if(l&1&&ft(0,gg,1,0,"ng-container",30),l&2){z();let t=bt(82);H("ngTemplateOutlet",t)}}function yg(l,i){l&1&&(D(0,"tr",31)(1,"td",32),Ct(2,"empty-state-table"),P()())}var sn=class l{debtData;dashboardConfig;constructor(){}ngOnInit(){}static \u0275fac=function(t){return new(t||l)};static \u0275cmp=Mt({type:l,selectors:[["app-debt-widget"]],inputs:{debtData:"debtData",dashboardConfig:"dashboardConfig"},decls:83,vars:24,consts:[["EMPTY_STATE",""],[1,"row","mt-12"],[1,"col-md-6","col-xs-12","col-sm-12"],[1,"card","mb-0"],[1,"card-body","py-10"],[1,"row","d-flex","align-items-center"],[1,"col-6","text-center","py-3","border-end"],[1,"d-flex","align-items-center","justify-content-center"],[1,"me-2","fs-5"],[1,"fw-normal",2,"font-size","28px"],["routerLink","/menu/Debt/Debt/Accounts_Receiveable","target","_blank",1,"link-dark"],[1,"fs-5"],[1,"col-6","text-center","py-3"],[1,"mt-6","d-md-none"],[1,"col-md-6","col-xs-12","col-sm-12","mt-xs-12"],[1,"col-6","text-center","py-2","border-end"],["routerLink","/menu/Debt/Debt/Accounts_Payable","target","_blank",1,"link-dark"],[1,"col-6","text-center","py-2"],[1,"fw-normal","ps-2",2,"padding-bottom","12px"],[1,"card"],[1,"card-body","p-0"],[1,"table-responsive"],[1,"table"],[1,"ps-8"],[1,"text-end",2,"width","120px"],[1,"text-end","pe-8",2,"width","150px"],[3,"ngClass"],["target","_blank",3,"routerLink","queryParams"],[1,"text-end"],[1,"text-end","pe-8"],[4,"ngTemplateOutlet"],[1,"table-border-bottom-0"],["colspan","3"]],template:function(t,e){t&1&&(D(0,"div",1)(1,"div",2)(2,"div",3)(3,"div",4)(4,"div",5)(5,"div",6)(6,"div",7)(7,"small",8),A(8),P(),D(9,"div",9)(10,"a",10),A(11),j(12,"number"),P()()(),D(13,"div",11),A(14,"Receivable"),P()(),D(15,"div",12)(16,"div",9)(17,"a",10),A(18),j(19,"number"),P()(),D(20,"div",11),A(21,"Number Of Transaction"),P()()()()()(),Ct(22,"div",13),D(23,"div",14)(24,"div",3)(25,"div",4)(26,"div",5)(27,"div",15)(28,"div",7)(29,"small",8),A(30),P(),D(31,"div",9)(32,"a",16),A(33),j(34,"number"),P()()(),D(35,"div",11),A(36,"Payable"),P()(),D(37,"div",17)(38,"div",9)(39,"a",16),A(40),j(41,"number"),P()(),D(42,"div",11),A(43,"Number Of Transaction"),P()()()()()()(),D(44,"div",1)(45,"div",14)(46,"h4",18),A(47," Top 5 Debt Receivable "),P(),D(48,"div",19)(49,"div",20)(50,"div",21)(51,"table",22)(52,"thead")(53,"tr")(54,"th",23),A(55,"Customer Name"),P(),D(56,"th",24),A(57,"Debt"),P(),D(58,"th",25),A(59,"Limit"),P()()(),D(60,"tbody"),ht(61,dg,2,0)(62,pg,1,1,"ng-container"),P()()()()()(),D(63,"div",14)(64,"h4",18),A(65," Top 5 Debt Payable "),P(),D(66,"div",19)(67,"div",20)(68,"div",21)(69,"table",22)(70,"thead")(71,"tr")(72,"th",23),A(73,"Supplier Name"),P(),D(74,"th",24),A(75,"Debt"),P(),D(76,"th",25),A(77,"Limit"),P()()(),D(78,"tbody"),ht(79,mg,2,0)(80,xg,1,1,"ng-container"),P()()()()()()(),ft(81,yg,3,0,"ng-template",null,0,Lt)),t&2&&(O(8),vt(e.dashboardConfig==null?null:e.dashboardConfig.CurrencySymbol),O(3),$(" ",G(12,12,e.debtData==null?null:e.debtData.Receivable,"1.0-0")," "),O(7),$(" ",G(19,15,e.debtData==null?null:e.debtData.ReceivableQuantity,"1.0-0")," "),O(12),vt(e.dashboardConfig==null?null:e.dashboardConfig.CurrencySymbol),O(3),$(" ",G(34,18,e.debtData==null?null:e.debtData.Payable,"1.0-0")," "),O(7),$(" ",G(41,21,e.debtData==null?null:e.debtData.PayableQuantity,"1.0-0")," "),O(20),fe("height",(e.debtData==null||e.debtData.TopReceivable==null?null:e.debtData.TopReceivable.length)==0?"15.5rem":null),O(),ct((e.debtData==null||e.debtData.TopReceivable==null?null:e.debtData.TopReceivable.length)>0?61:62),O(17),fe("height",(e.debtData==null||e.debtData.TopPayable==null?null:e.debtData.TopPayable.length)==0?"15.5rem":null),O(),ct((e.debtData==null||e.debtData.TopPayable==null?null:e.debtData.TopPayable.length)>0?79:80))},dependencies:[It,Ht,Te,Ut,Gt,si,zt],styles:["table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]{border-top:0px!important;border-left:0px!important;border-right:0px!important}tbody[_ngcontent-%COMP%] tr.table-border-bottom-0[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{border-bottom:0px!important}"]})};var Ah=l=>({"table-border-bottom-0":l}),bg=l=>({ProductID:l});function vg(l,i){if(l&1&&(D(0,"tr",11)(1,"td",8),A(2),P(),D(3,"td",12)(4,"a",13),A(5),j(6,"number"),P()(),D(7,"td",14),A(8),j(9,"number"),P()()),l&2){let t=i.$implicit,e=i.$index,s=z(2);H("ngClass",at(11,Ah,(s.productData==null||s.productData.TopProduct==null?null:s.productData.TopProduct.length)==e+1)),O(2),vt(t==null?null:t.Name),O(2),H("queryParams",at(13,bg,t.ID)),O(),$(" ",G(6,5,t==null?null:t.Quantity,"1.0-0")," "),O(3),vt(G(9,8,t==null?null:t.Total,"1.0-0"))}}function Cg(l,i){if(l&1&&ee(0,vg,10,15,"tr",11,Ce),l&2){let t=z();ie(t.productData==null?null:t.productData.TopProduct)}}function Sg(l,i){l&1&&Wt(0)}function Tg(l,i){if(l&1&&ft(0,Sg,1,0,"ng-container",15),l&2){z();let t=bt(38);H("ngTemplateOutlet",t)}}function wg(l,i){if(l&1&&(D(0,"tr",11)(1,"td",8),A(2),P(),D(3,"td",12),A(4),j(5,"number"),P(),D(6,"td",14),A(7),j(8,"number"),P()()),l&2){let t=i.$implicit,e=i.$index,s=z(2);H("ngClass",at(10,Ah,(s.productData==null||s.productData.TopBrand==null?null:s.productData.TopBrand.length)==e+1)),O(2),vt(t==null?null:t.Name),O(2),vt(G(5,4,t==null?null:t.Quantity,"1.0-0")),O(3),vt(G(8,7,t==null?null:t.Total,"1.0-0"))}}function Dg(l,i){if(l&1&&ee(0,wg,9,12,"tr",11,Ce),l&2){let t=z();ie(t.productData==null?null:t.productData.TopBrand)}}function Pg(l,i){l&1&&Wt(0)}function kg(l,i){if(l&1&&ft(0,Pg,1,0,"ng-container",15),l&2){z();let t=bt(38);H("ngTemplateOutlet",t)}}function Mg(l,i){l&1&&(D(0,"tr",16)(1,"td",17),Ct(2,"empty-state-table"),P()())}var nn=class l{productData;dashboardConfig;constructor(){}ngOnInit(){}static \u0275fac=function(t){return new(t||l)};static \u0275cmp=Mt({type:l,selectors:[["app-product-widget"]],inputs:{productData:"productData",dashboardConfig:"dashboardConfig"},decls:39,vars:6,consts:[["EMPTY_STATE",""],[1,"row","mt-12"],[1,"col-md-6","col-xs-12","col-sm-12"],[1,"fw-normal","ps-2",2,"padding-bottom","12px"],[1,"card"],[1,"card-body","p-0"],[1,"table-responsive"],[1,"table"],[1,"ps-8"],[1,"text-end",2,"width","100px"],[1,"text-end","pe-8",2,"width","150px"],[3,"ngClass"],[1,"text-end"],["routerLink","/menu/Reports/Sales_Report/Standard/Products_Sold/Invoice_Items","target","_blank",3,"queryParams"],[1,"text-end","pe-8"],[4,"ngTemplateOutlet"],[1,"table-border-bottom-0"],["colspan","3"]],template:function(t,e){t&1&&(D(0,"div",1)(1,"div",2)(2,"h4",3),A(3,"Top 5 Product Sold"),P(),D(4,"div",4)(5,"div",5)(6,"div",6)(7,"table",7)(8,"thead")(9,"tr")(10,"th",8),A(11,"Product Name"),P(),D(12,"th",9),A(13,"Sold"),P(),D(14,"th",10),A(15,"Total"),P()()(),D(16,"tbody"),ht(17,Cg,2,0)(18,Tg,1,1,"ng-container"),P()()()()()(),D(19,"div",2)(20,"h4",3),A(21,"Top 5 Brand Sold"),P(),D(22,"div",4)(23,"div",5)(24,"div",6)(25,"table",7)(26,"thead")(27,"tr")(28,"th",8),A(29,"Brand Name"),P(),D(30,"th",9),A(31,"Sold"),P(),D(32,"th",10),A(33,"Total"),P()()(),D(34,"tbody"),ht(35,Dg,2,0)(36,kg,1,1,"ng-container"),P()()()()()()(),ft(37,Mg,3,0,"ng-template",null,0,Lt)),t&2&&(O(16),fe("height",(e.productData==null||e.productData.TopProduct==null?null:e.productData.TopProduct.length)==0?"15.6rem":null),O(),ct((e.productData==null||e.productData.TopProduct==null?null:e.productData.TopProduct.length)>0?17:18),O(17),fe("height",(e.productData==null||e.productData.TopBrand==null?null:e.productData.TopBrand.length)==0?"15.6rem":null),O(),ct((e.productData==null||e.productData.TopBrand==null?null:e.productData.TopBrand.length)>0?35:36))},dependencies:[It,Ht,Te,Ut,Gt,si,zt],styles:["table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]{border-top:0px!important;border-left:0px!important;border-right:0px!important}tbody[_ngcontent-%COMP%] tr.table-border-bottom-0[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{border-bottom:0px!important}"]})};var Eh=()=>({StateID:2}),Lh=l=>({"table-border-bottom-0":l}),Og=()=>["/menu/Logistics/Archive/Transfer_Order/Info"],Ih=l=>({ID:l}),Ag=()=>({$implicit:4}),Eg=()=>["/menu/Products/Catalog/Variants/Info"],Lg=l=>({"text-danger":l}),Ig=()=>({$implicit:5});function _g(l,i){if(l&1&&(D(0,"tr",32)(1,"td",24),A(2),j(3,"date"),P(),D(4,"td")(5,"a",33),A(6),P()(),D(7,"td",34),A(8),j(9,"number"),P(),D(10,"td",35),A(11),j(12,"number"),P()()),l&2){let t=i.$implicit,e=i.index,s=z(2);H("ngClass",at(16,Lh,(s.inventoryData==null||s.inventoryData.TransferOrder==null||s.inventoryData.TransferOrder.TopDispatched==null?null:s.inventoryData.TransferOrder.TopDispatched.length)==e+1)),O(2),$(" ",G(3,7,t==null?null:t.Date,"dd MMM yyyy")," "),O(3),H("routerLink",pt(18,Og))("queryParams",at(19,Ih,t==null?null:t.ID)),O(),$(" ",t==null?null:t.Number," "),O(2),$(" ",G(9,10,t==null?null:t.Quantity,"1.0-2")," "),O(3),$(" ",G(12,13,t==null?null:t.Price,"1.0-2")," ")}}function Bg(l,i){if(l&1&&(ln(0),ft(1,_g,13,21,"tr",31),hn()),l&2){let t=z();O(),H("ngForOf",t.inventoryData==null||t.inventoryData.TransferOrder==null?null:t.inventoryData.TransferOrder.TopDispatched)}}function Rg(l,i){l&1&&Wt(0)}function Wg(l,i){if(l&1&&ft(0,Rg,1,0,"ng-container",36),l&2){z();let t=bt(85);H("ngTemplateOutlet",t)("ngTemplateOutletContext",pt(2,Ag))}}function Ng(l,i){if(l&1&&(D(0,"tr",32)(1,"td",24),A(2),P(),D(3,"td")(4,"a",33),A(5),P()(),D(6,"td",34),A(7),j(8,"number"),P(),D(9,"td",34),A(10),j(11,"number"),P(),D(12,"td",35)(13,"span",32),A(14),j(15,"number"),P()()()),l&2){let t=i.$implicit,e=i.index,s=z(2);H("ngClass",at(18,Lh,(s.inventoryData==null||s.inventoryData.Inventory==null||s.inventoryData.Inventory.TopROP==null?null:s.inventoryData.Inventory.TopROP.length)==e+1)),O(2),vt(t==null?null:t.Outlet),O(2),H("routerLink",pt(20,Eg))("queryParams",at(21,Ih,t==null?null:t.ID)),O(),$(" ",t==null?null:t.Product," "),O(2),$(" ",G(8,9,t==null?null:t.Inventory,"1.0-2")," "),O(3),$(" ",G(11,12,t==null?null:t.ROP,"1.0-2")," "),O(3),H("ngClass",at(23,Lg,(t==null?null:t.Different)<0)),O(),$(" ",G(15,15,t==null?null:t.Different,"1.0-2")," ")}}function Fg(l,i){if(l&1&&(ln(0),ft(1,Ng,16,25,"tr",31),hn()),l&2){let t=z();O(),H("ngForOf",t.inventoryData==null||t.inventoryData.Inventory==null?null:t.inventoryData.Inventory.TopROP)}}function Hg(l,i){l&1&&Wt(0)}function zg(l,i){if(l&1&&ft(0,Hg,1,0,"ng-container",36),l&2){z();let t=bt(85);H("ngTemplateOutlet",t)("ngTemplateOutletContext",pt(2,Ig))}}function Xg(l,i){if(l&1&&(D(0,"tr",37)(1,"td",38),Ct(2,"empty-state-table"),P()()),l&2){let t=i.$implicit;O(),H("colSpan",t)}}var rn=class l{inventoryData;dashboardConfig;constructor(){}ngOnInit(){}static \u0275fac=function(t){return new(t||l)};static \u0275cmp=Mt({type:l,selectors:[["app-inventory-widget"]],inputs:{inventoryData:"inventoryData",dashboardConfig:"dashboardConfig"},decls:86,vars:28,consts:[["EMPTY_TOPDISPATCHED",""],["EMPTY_TOPROP",""],["EMPTY_STATE",""],[1,"row","mt-12"],[1,"col-md-6","col-xs-12","col-sm-12"],[1,"card","mb-0"],[1,"card-body","py-10"],[1,"row","d-flex","align-items-center"],[1,"col-6","text-center","py-3","border-end"],[1,"fw-normal",2,"font-size","28px"],["routerLink","/menu/Logistics/Archive/Transfer_Order","target","_blank",1,"link-dark",3,"queryParams"],[1,"fs-5"],[1,"col-6","text-center","py-3"],[1,"mt-6","d-md-none"],[1,"col-md-6","col-xs-12","col-sm-12","mt-xs-12"],[1,"col-6","text-center","py-2","border-end"],["routerLink","/menu/Inventory/Quantity/Low_On_Stock","target","_blank",1,"link-dark"],[1,"col-6","text-center","py-2"],["routerLink","/menu/Inventory/Quantity/Inventory_Over_Max","target","_blank",1,"link-dark"],[1,"fw-normal","ps-2",2,"padding-bottom","12px"],[1,"card"],[1,"card-body","p-0"],[1,"table-responsive"],[1,"table"],[1,"ps-8"],[2,"width","200px"],[1,"text-end",2,"width","50px"],[1,"text-end","pe-8",2,"width","100px"],[4,"ngIf","ngIfElse"],[1,"text-end",2,"width","70px"],[1,"text-end","pe-8",2,"width","70px"],[3,"ngClass",4,"ngFor","ngForOf"],[3,"ngClass"],["target","_blank",3,"routerLink","queryParams"],[1,"text-end"],[1,"text-end","pe-8"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"table-border-bottom-0"],[3,"colSpan"]],template:function(t,e){if(t&1&&(D(0,"div",3)(1,"div",4)(2,"div",5)(3,"div",6)(4,"div",7)(5,"div",8)(6,"div")(7,"div",9)(8,"a",10),A(9),j(10,"number"),P()(),D(11,"div",11),A(12,"Dispatched Transfer Order"),P()()(),D(13,"div",12)(14,"div",9)(15,"a",10),A(16),j(17,"number"),P()(),D(18,"div",11),A(19,"Total Quantity"),P()()()()()(),Ct(20,"div",13),D(21,"div",14)(22,"div",5)(23,"div",6)(24,"div",7)(25,"div",15)(26,"div",9)(27,"a",16),A(28),j(29,"number"),P()(),D(30,"div",11),A(31,"Inventory ROP"),P()(),D(32,"div",17)(33,"div",9)(34,"a",18),A(35),j(36,"number"),P()(),D(37,"div",11),A(38,"Inventory Over"),P()()()()()()(),D(39,"div",3)(40,"div",4)(41,"h4",19),A(42," Top 5 Dispatched Transfer Order "),P(),D(43,"div",20)(44,"div",21)(45,"div",22)(46,"table",23)(47,"thead")(48,"tr")(49,"th",24),A(50,"Date"),P(),D(51,"th",25),A(52,"Number"),P(),D(53,"th",26),A(54,"Qty"),P(),D(55,"th",27),A(56,"Price"),P()()(),D(57,"tbody"),ft(58,Bg,2,1,"ng-container",28)(59,Wg,1,3,"ng-template",null,0,Lt),P()()()()()(),D(61,"div",4)(62,"h4",19),A(63," Top 5 Inventory ROP "),P(),D(64,"div",20)(65,"div",21)(66,"div",22)(67,"table",23)(68,"thead")(69,"tr")(70,"th",24),A(71,"Outlet"),P(),D(72,"th"),A(73,"Product"),P(),D(74,"th",29),A(75,"INV"),P(),D(76,"th",29),A(77,"ROP"),P(),D(78,"th",30),A(79,"DIFF"),P()()(),D(80,"tbody"),ft(81,Fg,2,1,"ng-container",28)(82,zg,1,3,"ng-template",null,1,Lt),P()()()()()(),ft(84,Xg,3,1,"ng-template",null,2,Lt),P()),t&2){let s=bt(60),n=bt(83);O(8),H("queryParams",pt(26,Eh)),O(),$(" ",G(10,14,e.inventoryData==null||e.inventoryData.TransferOrder==null?null:e.inventoryData.TransferOrder.Total,"1.0-2")," "),O(6),H("queryParams",pt(27,Eh)),O(),$(" ",G(17,17,e.inventoryData==null||e.inventoryData.TransferOrder==null?null:e.inventoryData.TransferOrder.TotalQuantity,"1.0-2")," "),O(12),$(" ",G(29,20,e.inventoryData==null||e.inventoryData.Inventory==null?null:e.inventoryData.Inventory.ProductReorderCount,"1.0-2")," "),O(7),$(" ",G(36,23,e.inventoryData==null||e.inventoryData.Inventory==null?null:e.inventoryData.Inventory.ProductOverStock,"1.0-2")," "),O(22),fe("height",(e.inventoryData==null||e.inventoryData.TransferOrder==null||e.inventoryData.TransferOrder.TopDispatched==null?null:e.inventoryData.TransferOrder.TopDispatched.length)==0?"15.5rem":null),O(),H("ngIf",(e.inventoryData==null||e.inventoryData.TransferOrder==null||e.inventoryData.TransferOrder.TopDispatched==null?null:e.inventoryData.TransferOrder.TopDispatched.length)>0)("ngIfElse",s),O(22),fe("height",(e.inventoryData==null||e.inventoryData.Inventory==null||e.inventoryData.Inventory.TopROP==null?null:e.inventoryData.Inventory.TopROP.length)==0?"15.5rem":null),O(),H("ngIf",(e.inventoryData==null||e.inventoryData.Inventory==null||e.inventoryData.Inventory.TopROP==null?null:e.inventoryData.Inventory.TopROP.length)>0)("ngIfElse",n)}},dependencies:[It,Ht,Co,So,Te,Ut,Gt,si,zt,ti],styles:[".link-dark[_ngcontent-%COMP%]{color:#333!important}table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]{border-top:0px!important;border-left:0px!important;border-right:0px!important}tbody[_ngcontent-%COMP%] tr.table-border-bottom-0[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{border-bottom:0px!important}"]})};var Yg=l=>({today:l});function jg(l,i){if(l&1){let t=se();D(0,"div",6)(1,"a",11),A(2),P(),D(3,"ul",12)(4,"li")(5,"a",13),de("click",function(){Zt(t);let s=z();return s.isTodayFilter=!s.isTodayFilter,Qt(s.onChangeFilterPeriod())}),A(6),P()()()()}if(l&2){let t=z();O(2),$(" ",t.isTodayFilter?"Today":"Last 7 Days"," "),O(),H("ngClass",at(3,Yg,!t.isTodayFilter)),O(3),$(" ",t.isTodayFilter?"Last 7 Days":"Today"," ")}}function Vg(l,i){l&1&&(D(0,"span",7),A(1,"Today"),P())}function Gg(l,i){if(l&1&&(D(0,"div",8)(1,"div")(2,"div",14),A(3),P(),D(4,"div",15)(5,"small",16),A(6),P(),D(7,"h2",17),A(8),j(9,"number"),P()()()()),l&2){let t=i.$implicit,e=z();O(3),vt(t.name),O(3),$(" ",e.dashboardConfig==null?null:e.dashboardConfig.CurrencySymbol," "),O(2),$(" ",G(9,3,t==null?null:t.value,"1.0-0")," ")}}var on=class l{constructor(i,t){this.dashboardService=i;this.role=t;this.chartConfig=this.dashboardService.getLineChartConfig()}chartData;dashboardConfig;filterPaymentWidget=new es;chartConfig;paymentData;todayPaymentData;weeklyPaymentData;isTodayFilter=!0;showPeriodFilter;ngOnChanges(i){if(i.chartData&&i.chartData.currentValue){let t=i?.chartData?.currentValue?.Series;this.initPeriodWidget(t),this.chartConfig=Rt(yt({},this.chartConfig),{series:t,chart:Rt(yt({},this.chartConfig.chart),{type:"spline"})}),this.chartConfig=this.dashboardService.setSeriesPointStart(this.chartData.From,this.chartConfig)}}initPeriodWidget(i){this.initWeeklyPaymentData(i),this.initDailyPaymentData(i),this.todayPaymentData.length===0?(this.isTodayFilter=!1,this.paymentData=this.weeklyPaymentData):(this.isTodayFilter=!0,this.paymentData=this.todayPaymentData),this.onChangeFilterPeriod(),this.initPeriodFilter(i)}initPeriodFilter(i){this.showPeriodFilter=i[0]?.data?.length>=7}onChangeFilterPeriod(){this.isTodayFilter?this.paymentData=this.todayPaymentData:this.paymentData=this.weeklyPaymentData,this.filterPaymentWidget.emit({period:this.isTodayFilter?"TODAY":"WEEKLY"})}initWeeklyPaymentData(i){this.weeklyPaymentData=i.map(t=>({name:t.name,value:t.data.reduce((e,s)=>e+s,0)})).sort((t,e)=>e.value-t.value).slice(0,3)}initDailyPaymentData(i){this.todayPaymentData=i.map(t=>({name:t.name,value:t?.data[t?.data?.length-1]})).sort((t,e)=>e.value-t.value).slice(0,3).filter(t=>t?.value>0)}static \u0275fac=function(t){return new(t||l)(Vt(Bt),Vt(ei))};static \u0275cmp=Mt({type:l,selectors:[["app-payment-widget"]],inputs:{chartData:"chartData",dashboardConfig:"dashboardConfig"},outputs:{filterPaymentWidget:"onFilter"},features:[ve],decls:13,vars:2,consts:[[1,"d-flex","flex-row","flex-wrap","mt-8","justify-content-between"],[1,"chart-widget"],["containerId","PaymentChart",3,"config"],[1,"sales-card-widget"],[1,"border","rounded","rounded-bottom-0","px-8","py-4","w-100","h-auto"],[1,"border-bottom","d-flex","align-items-center","justify-content-end",2,"height","42px"],[1,"btn-group"],[1,"link-dark","fs-2","headings-font-family"],[1,"text-end","card-row","d-flex","align-items-center","justify-content-end"],[1,"text-end","fs-5","mt-5"],["routerLink","/menu/Payment/Default/Received"],["type","button","data-bs-toggle","dropdown","aria-expanded","false",1,"dropdown-toggle","link-dark","fs-2","headings-font-family"],[1,"dropdown-menu","p-0",2,"position","absolute","right","20px !important",3,"ngClass"],["role","button",1,"dropdown-item","fs-4",3,"click"],[1,"fs-5"],[1,"d-flex","align-items-center"],[1,"me-2"],[1,"fw-normal"]],template:function(t,e){t&1&&(D(0,"div",0)(1,"div",1),Ct(2,"app-chart-container",2),P(),D(3,"div",3)(4,"div",4)(5,"div",5),ht(6,jg,7,5,"div",6)(7,Vg,2,0,"span",7),P(),ee(8,Gg,10,6,"div",8,yo),D(10,"div",9)(11,"a",10),A(12," More "),P()()()()()),t&2&&(O(2),H("config",e.chartConfig),O(4),ct(!(e.role==null||e.role.dashboard==null)&&e.role.dashboard.View&&e.showPeriodFilter?6:7),O(2),ie(e.paymentData))},dependencies:[It,Ht,Re,Ut,Gt,ii,zt],styles:[".chart-widget[_ngcontent-%COMP%]{width:80%}.link-dark[_ngcontent-%COMP%]{color:#333!important}.dropdown-menu.show.today[_ngcontent-%COMP%]{inset:0 auto auto -34px!important}.sales-card-widget[_ngcontent-%COMP%]{width:19%}.sales-card-widget[_ngcontent-%COMP%] .card-row[_ngcontent-%COMP%]{height:64px}@media only screen and (max-width: 767px){.chart-widget[_ngcontent-%COMP%]{width:100%}.sales-card-widget[_ngcontent-%COMP%]{width:100%;margin-top:12px}}@media only screen and (min-width: 768px) and (max-width: 991px){.chart-widget[_ngcontent-%COMP%]{width:100%}.sales-card-widget[_ngcontent-%COMP%]{width:100%;margin-top:12px}}"]})};var Ug=()=>({role:"Payment View Role"}),$g=()=>({role:"Buy Report Role"}),qg=()=>({role:"Debt View Role"}),Kg=()=>({role:"Report View Role"}),Zg=()=>({role:"Inventory View Role"});function Qg(l,i){if(l&1){let t=se();D(0,"div",13)(1,"h6"),A(2,"Outlet"),P(),D(3,"outlet-selector",14),fn("ngModelChange",function(s){Zt(t);let n=z();return dn(n.dashboardFilter.Outlets,s)||(n.dashboardFilter.Outlets=s),Qt(s)}),P()()}if(l&2){let t=z();O(3),H("multiple",!0),cn("ngModel",t.dashboardFilter.Outlets)}}function Jg(l,i){if(l&1){let t=se();D(0,"div",19),de("click",function(){let s=Zt(t).$implicit,n=z(2);return Qt(n.onClickCardWidget(s))}),Ct(1,"app-card-widget",20),j(2,"number"),P()}if(l&2){let t=i.$implicit,e=z(),s=z();O(),H("title",t.title)("matTooltip",t.tooltip)("currencySymbol",e==null||e.ConfigData==null?null:e.ConfigData.CurrencySymbol)("value",t.value==null?"-":G(2,6,t.value,"1.0-0"))("showValue",t.showValue)("isActive",t.id==s.activeTab)}}function t0(l,i){if(l&1){let t=se();D(0,"app-sales-widget",21),de("onFilter",function(s){Zt(t);let n=z(2);return Qt(n.onFilterSalesWidget(s))}),P()}if(l&2){let t=z(),e=z();H("dashboardConfig",t==null?null:t.ConfigData)("chartData",t==null?null:t.HighChartData)("filterByOutletIds",e.dashboardFilter.Outlets)}}function e0(l,i){l&1&&Wt(0)}function i0(l,i){if(l&1){let t=se();D(0,"app-payment-widget",23),j(1,"async"),de("onFilter",function(s){Zt(t);let n=z(3);return Qt(n.onFilterPaymentWidget(s))}),P()}if(l&2){let t,e=z(2),s=z();H("dashboardConfig",e==null?null:e.ConfigData)("chartData",(t=Se(1,2,s.paymentData$))==null?null:t.Data)}}function s0(l,i){if(l&1&&ft(0,e0,1,0,"ng-container",22)(1,i0,2,4,"ng-template",null,2,Lt),l&2){let t=bt(2),e=z(2),s=bt(12);H("ngTemplateOutlet",e.role.payment.View?t:s)("ngTemplateOutletContext",pt(2,Ug))}}function n0(l,i){l&1&&Wt(0)}function r0(l,i){if(l&1&&(Ct(0,"app-purchase-widget",18),j(1,"async")),l&2){let t,e=z(2),s=z();H("dashboardConfig",e==null?null:e.ConfigData)("chartData",(t=Se(1,3,s.purchaseData$))==null?null:t.HighChartData)("filterByOutletIds",s.dashboardFilter.Outlets)}}function o0(l,i){if(l&1&&ft(0,n0,1,0,"ng-container",22)(1,r0,2,5,"ng-template",null,3,Lt),l&2){let t=bt(2),e=z(2),s=bt(12);H("ngTemplateOutlet",e.role.buy.Report?t:s)("ngTemplateOutletContext",pt(2,$g))}}function a0(l,i){l&1&&Wt(0)}function l0(l,i){if(l&1&&(Ct(0,"app-debt-widget",24),j(1,"async")),l&2){let t,e=z(2),s=z();H("dashboardConfig",e==null?null:e.ConfigData)("debtData",(t=Se(1,2,s.debtData$))==null?null:t.PageData)}}function h0(l,i){if(l&1&&ft(0,a0,1,0,"ng-container",22)(1,l0,2,4,"ng-template",null,4,Lt),l&2){let t=bt(2),e=z(2),s=bt(12);H("ngTemplateOutlet",e.role.debt.View?t:s)("ngTemplateOutletContext",pt(2,qg))}}function c0(l,i){l&1&&Wt(0)}function d0(l,i){if(l&1&&(Ct(0,"app-product-widget",25),j(1,"async")),l&2){let t,e=z(2),s=z();H("dashboardConfig",e==null?null:e.ConfigData)("productData",(t=Se(1,2,s.productData$))==null?null:t.PageData)}}function f0(l,i){if(l&1&&ft(0,c0,1,0,"ng-container",22)(1,d0,2,4,"ng-template",null,5,Lt),l&2){let t=bt(2),e=z(2),s=bt(12);H("ngTemplateOutlet",e.role.report.View?t:s)("ngTemplateOutletContext",pt(2,Kg))}}function p0(l,i){l&1&&Wt(0)}function u0(l,i){if(l&1&&(Ct(0,"app-inventory-widget",26),j(1,"async")),l&2){let t,e=z(2),s=z();H("dashboardConfig",e==null?null:e.ConfigData)("inventoryData",(t=Se(1,2,s.inventoryData$))==null?null:t.PageData)}}function m0(l,i){if(l&1&&ft(0,p0,1,0,"ng-container",22)(1,u0,2,4,"ng-template",null,6,Lt),l&2){let t=bt(2),e=z(2),s=bt(12);H("ngTemplateOutlet",e.role.inventory.View?t:s)("ngTemplateOutletContext",pt(2,Zg))}}function g0(l,i){if(l&1&&(D(0,"div",12)(1,"div",15)(2,"div",16),ee(3,Jg,3,9,"div",17,Ce),j(5,"async"),P(),ht(6,t0,1,3,"app-sales-widget",18),ht(7,s0,3,3),ht(8,o0,3,3),ht(9,h0,3,3),ht(10,f0,3,3),ht(11,m0,3,3),P()()),l&2){let t=z();O(3),ie(Se(5,6,t.cardWidget$)),O(3),ct(t.activeTab=="SALES"?6:-1),O(),ct(t.activeTab=="PAYMENT"?7:-1),O(),ct(t.activeTab=="PURCHASE"?8:-1),O(),ct(t.activeTab=="DEBT"?9:-1),O(),ct(t.activeTab=="PRODUCT"?10:-1),O(),ct(t.activeTab=="INVENTORY"?11:-1)}}function x0(l,i){if(l&1&&(D(0,"div",27)(1,"div",28)(2,"div"),Ct(3,"img",29),P(),D(4,"h1",30),A(5,"You are not authorized"),P(),D(6,"p"),A(7," This page requires role "),D(8,"span",31),A(9),P(),A(10," to be accessed. Please contact your Administrator to gain access! "),P()()()),l&2){let t=i.role;O(9),$("[",t,"]")}}var _h=class l extends Eo{constructor(t,e,s){super(t);this.dashboardService=e;this.role=s;this.menuData$.subscribe(),this.initSalesData(),this.initCardWidget(),this.initPaymentData(),this.initPurchaseData(),this.initInventoryData(),this.initDebtData(),this.initProductData()}cardWidget$;dashboardFilter={Outlets:[]};salesData$;paymentData$;purchaseData$;debtData$;productData$;inventoryData$;activeTab="SALES";initSalesData(){this.salesData$=this.dashboardService.getDashboardSales(this.dashboardFilter).pipe(Ne(1))}initPaymentData(){this.paymentData$=this.dashboardService.getDashboardPayment(this.dashboardFilter).pipe(Ne(1))}initPurchaseData(){this.purchaseData$=this.dashboardService.getDashboardPurchase(this.dashboardFilter).pipe(Ne(1))}initDebtData(){this.debtData$=this.dashboardService.getDashboardDebt(this.dashboardFilter).pipe(Ne(1))}initProductData(){this.productData$=this.dashboardService.getDashboardProduct(this.dashboardFilter).pipe(Ne(1))}initInventoryData(){this.inventoryData$=this.dashboardService.getDashboardInventory(this.dashboardFilter).pipe(Ne(1))}initCardWidget(){switch(this.activeTab){case"SALES":this.cardWidget$=this.salesData$.pipe(Kt(t=>this.dashboardService.getTotalData("Sales",t.HighChartData.Series,1)),Ti(0),Fe(t=>this.dashboardService.setWidgetData(t,this.activeTab)));break;case"PAYMENT":this.cardWidget$=this.paymentData$.pipe(Kt(t=>this.dashboardService.getTotalData("All",t.Data.Series,1)),Ti(0),Fe(t=>this.dashboardService.setWidgetData(t,this.activeTab)));break;case"PURCHASE":this.cardWidget$=this.purchaseData$.pipe(Kt(t=>this.dashboardService.getTotalData("Purchase",t.HighChartData.Series,1)),Ti(0),Fe(t=>this.dashboardService.setWidgetData(t,this.activeTab)));break;case"DEBT":this.cardWidget$=this.debtData$.pipe(Kt(t=>t.PageData.Receivable),Ti(0),Fe(t=>this.dashboardService.setWidgetData(t,this.activeTab)));break}}onFilterByOutlet(){switch(this.activeTab){case"SALES":this.initSalesData(),this.initCardWidget();break;case"PURCHASE":this.initPurchaseData(),this.initCardWidget();break;case"DEBT":this.initDebtData(),this.initCardWidget();break;case"PRODUCT":this.initProductData();break;case"INVENTORY":this.initInventoryData();break;case"PAYMENT":this.initPaymentData();break}}onClickCardWidget(t){this.activeTab=t.id,this.initCardWidget()}onFilterSalesWidget(t){this.cardWidget$=this.salesData$.pipe(Kt(e=>t.period=="WEEKLY"?this.dashboardService.getTotalData("Sales",e.HighChartData.Series,7):this.dashboardService.getTotalData("Sales",e.HighChartData.Series,1)),Fe(e=>(this.dashboardService.setWidgetData(e,"SALES"),this.dashboardService.widgets$)),Kt(e=>e.map(s=>(s.id=="SALES"&&(s.tooltip=t.period=="TODAY"?"Total Sales Today":"Total Sales last 7 days"),s))))}onFilterPaymentWidget(t){this.cardWidget$=this.paymentData$.pipe(Kt(e=>t.period=="WEEKLY"?this.dashboardService.getTotalData("All",e.Data.Series,7):this.dashboardService.getTotalData("All",e.Data.Series,1)),Fe(e=>(this.dashboardService.setWidgetData(e,"PAYMENT"),this.dashboardService.widgets$)),Kt(e=>e.map(s=>(s.id=="PAYMENT"&&(s.tooltip=t.period=="TODAY"?"Total Payment Today":"Total Payment last 7 days"),s))))}static \u0275fac=function(e){return new(e||l)(Vt(Lo),Vt(Bt),Vt(ei))};static \u0275cmp=Mt({type:l,selectors:[["POS-dashboard-v2"]],features:[Je([Bt]),xo],decls:13,vars:7,consts:[["pageFilterTemplate",""],["NOT_AUTHORIZED",""],["PAYMENT",""],["BUY",""],["DEBT",""],["PRODUCT",""],["INVENTORY",""],[3,"onSubmit","filterChange","hideSearchBox","pageData","isFilterOnDropdown","filter"],[1,"content"],[1,"container-fluid","bg-light-gray","p-8"],[1,"row"],[1,"col-12"],[1,"card","mb-0"],[1,"dialog-filter"],["appendTo","body","placeholder","Select Outlets",3,"ngModelChange","multiple","ngModel"],[1,"card-body"],[1,"d-flex","flex-row","flex-nowrap","justify-content-between","align-items-center","overflow-auto",2,"column-gap","18px"],[1,"cursor-pointer","card-widget-tab"],[3,"dashboardConfig","chartData","filterByOutletIds"],[1,"cursor-pointer","card-widget-tab",3,"click"],["matTooltipPosition","above",3,"title","matTooltip","currencySymbol","value","showValue","isActive"],[3,"onFilter","dashboardConfig","chartData","filterByOutletIds"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[3,"onFilter","dashboardConfig","chartData"],[3,"dashboardConfig","debtData"],[3,"dashboardConfig","productData"],[3,"dashboardConfig","inventoryData"],[1,"d-flex","align-items-center","justify-content-center","mt-8",2,"height","350px"],[1,"text-center"],["src","https://cdn.dealpos.xyz/web-image/locked.svg",2,"width","160px"],[1,"mt-2","mb-6"],[1,"fw-bold"]],template:function(e,s){if(e&1){let n=se();D(0,"mainpanel-cmp",7),de("onSubmit",function(){return Zt(n),Qt(s.onFilterByOutlet())}),fn("filterChange",function(o){return Zt(n),dn(s.dashboardFilter,o)||(s.dashboardFilter=o),Qt(o)}),D(1,"filters"),ft(2,Qg,4,2,"ng-template",null,0,Lt),P(),D(4,"content")(5,"div",8)(6,"div",9)(7,"div",10)(8,"div",11),ht(9,g0,12,8,"div",12),j(10,"async"),P()()()()()(),ft(11,x0,11,1,"ng-template",null,1,Lt)}if(e&2){let n;H("hideSearchBox",!0)("pageData",s.menuData)("isFilterOnDropdown",!1),cn("filter",s.dashboardFilter),O(9),ct((n=Se(10,5,s.salesData$))?9:-1,n)}},dependencies:[It,Te,_o,Io,Mo,Po,ko,Qs,tn,en,sn,nn,rn,Bo,Ao,Oo,on,To,zt],styles:[".card-widget-tab[_ngcontent-%COMP%]{flex:1 1 0px}@media only screen and (max-width: 767px){.card-widget-tab[_ngcontent-%COMP%]{margin-right:1rem;margin-top:.5rem;width:auto}}@media only screen and (min-width: 768px) and (max-width: 991px){.card-widget-tab[_ngcontent-%COMP%]{margin-right:1rem;margin-top:.5rem;width:auto}}"]})};export{_h as DashboardV2Component};
|