diff --git a/dist/chunk-2LPFMFSX.js b/dist/chunk-2LPFMFSX.js new file mode 100644 index 00000000..5cf46e58 --- /dev/null +++ b/dist/chunk-2LPFMFSX.js @@ -0,0 +1,3 @@ +import{$ as gr,$a as Qt,Aa as tt,Ac as ys,B as St,Ba as br,Bc as Oo,Cc as Sr,D as At,Dc as vs,E as jt,Ea as Kt,Ec as bs,Fa as ao,Fc as xs,G as pr,Ga as us,H as ai,Ha as lo,I as Jn,Ia as bt,Ic as Io,Jb as To,Ka as xr,Kc as ti,L as li,La as ho,Lc as Lo,M as Bt,Ma as co,N as fr,Na as zt,Nc as Fo,O as Qn,Oa as hi,Oc as No,P as eo,Pa as uo,Pb as ut,Pc as Mt,Q as to,Qa as po,Qb as $e,Qc as Ar,R as rt,Ra as fo,Rb as ko,S as io,Sa as go,Sc as Er,T as Ge,Ta as mo,U as Fe,Ua as yo,Uc as jo,V as _t,Va as vo,Wa as Jt,X as De,Y as Xt,Z as so,Za as bo,_ as Te,a as Xn,aa as Ce,b as Yn,ba as xe,bb as Ue,c as Ai,ca as mr,cb as xo,d as hr,da as ro,e as cr,ea as Mi,eb as wo,f as Ft,fa as no,fb as ei,g as et,ga as Yt,gb as Ri,ha as Et,hb as wr,ia as Ti,j as Nt,ja as ki,l as Je,la as oo,lc as Po,m as Se,ma as qt,mb as ps,n as Ei,na as dt,nb as Co,o as qn,ob as Do,p as Zn,pa as Zt,pb as So,q as ct,qb as Cr,r as ke,s as cs,sb as Ao,t as st,u as dr,ua as yr,v as Kn,va as vr,vc as fs,w as ur,wa as Pi,wb as Eo,wc as Ro,xc as gs,ya as ds,yb as Mo,yc as ms,za as vt,zc as Dr}from"./chunk-Q2S6HPKO.js";import{a as we,b as ze,d as Tl,f as kl,h as ht}from"./chunk-MG3ERZGY.js";var vl=Tl((yl,nr)=>{"use strict";(function(i,s){typeof nr=="object"&&nr.exports?(s.default=s,nr.exports=i&&i.document?s(i):s):typeof define=="function"&&define.amd?define("highcharts/highcharts",function(){return s(i)}):(i.Highcharts&&i.Highcharts.error(16,!0),i.Highcharts=s(i))})(typeof window<"u"?window:yl,function(i){"use strict";var s={};function e(t,r,a,l){!t.hasOwnProperty(r)&&(t[r]=l.apply(null,a),i&&typeof CustomEvent=="function"&&i.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:r,module:t[r]}})))}return e(s,"Core/Globals.js",[],function(){var t,r;return(r=t||(t={})).SVG_NS="http://www.w3.org/2000/svg",r.product="Highcharts",r.version="11.4.8",r.win=i!==void 0?i:{},r.doc=r.win.document,r.svg=r.doc&&r.doc.createElementNS&&!!r.doc.createElementNS(r.SVG_NS,"svg").createSVGRect,r.userAgent=r.win.navigator&&r.win.navigator.userAgent||"",r.isChrome=r.win.chrome,r.isFirefox=r.userAgent.indexOf("Firefox")!==-1,r.isMS=/(edge|msie|trident)/i.test(r.userAgent)&&!r.win.opera,r.isSafari=!r.isChrome&&r.userAgent.indexOf("Safari")!==-1,r.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(r.userAgent),r.isWebKit=r.userAgent.indexOf("AppleWebKit")!==-1,r.deg2rad=2*Math.PI/360,r.hasBidiBug=r.isFirefox&&4>parseInt(r.userAgent.split("Firefox/")[1],10),r.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],r.noop=function(){},r.supportsPassiveEvents=function(){let a=!1;if(!r.isMS){let l=Object.defineProperty({},"passive",{get:function(){a=!0}});r.win.addEventListener&&r.win.removeEventListener&&(r.win.addEventListener("testPassive",r.noop,l),r.win.removeEventListener("testPassive",r.noop,l))}return a}(),r.charts=[],r.composed=[],r.dateFormats={},r.seriesTypes={},r.symbolSizes={},r.chartCount=0,t}),e(s,"Core/Utilities.js",[s["Core/Globals.js"]],function(t){let r,{charts:a,doc:l,win:_}=t;function O(o,n,d,f){let S=n?"Highcharts error":"Highcharts warning";o===32&&(o=`${S}: Deprecated member`);let T=j(o),m=T?`${S} #${o}: www.highcharts.com/errors/${o}/`:o.toString();if(f!==void 0){let N="";T&&(m+="?"),R(f,function(ie,D){N+=` + - ${D}: ${ie}`,T&&(m+=encodeURI(D)+"="+encodeURI(ie))}),m+=N}x(t,"displayError",{chart:d,code:o,message:m,params:f},function(){if(n)throw Error(m);_.console&&O.messages.indexOf(m)===-1&&console.warn(m)}),O.messages.push(m)}function te(o,n){return parseInt(o,n||10)}function G(o){return typeof o=="string"}function X(o){let n=Object.prototype.toString.call(o);return n==="[object Array]"||n==="[object Array Iterator]"}function J(o,n){return!!o&&typeof o=="object"&&(!n||!X(o))}function A(o){return J(o)&&typeof o.nodeType=="number"}function $(o){let n=o&&o.constructor;return!!(J(o,!0)&&!A(o)&&n&&n.name&&n.name!=="Object")}function j(o){return typeof o=="number"&&!isNaN(o)&&o<1/0&&o>-1/0}function F(o){return o!=null}function C(o,n,d){let f,S=G(n)&&!F(d),T=(m,N)=>{F(m)?o.setAttribute(N,m):S?(f=o.getAttribute(N))||N!=="class"||(f=o.getAttribute(N+"Name")):o.removeAttribute(N)};return G(n)?T(d,n):R(n,T),f}function M(o){return X(o)?o:[o]}function E(o,n){let d;for(d in o||(o={}),n)o[d]=n[d];return o}function L(){let o=arguments,n=o.length;for(let d=0;d1e14?o:parseFloat(o.toPrecision(n||14))}(O||(O={})).messages=[],Math.easeInOutSine=function(o){return-.5*(Math.cos(Math.PI*o)-1)};let z=Array.prototype.find?function(o,n){return o.find(n)}:function(o,n){let d,f=o.length;for(d=0;dN.order-ie.order),S.forEach(N=>{N.fn.call(o,d)===!1&&d.preventDefault()})}f&&!d.defaultPrevented&&f.call(o,d)}R({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(o,n){t[n]=function(d){return O(32,!1,void 0,{[`Highcharts.${n}`]:`use Array.${o}`}),Array.prototype[o].apply(d,[].slice.call(arguments,1))}});let c=function(){let o=Math.random().toString(36).substring(2,9)+"-",n=0;return function(){return"highcharts-"+(r?"":o)+n++}}();return _.jQuery&&(_.jQuery.fn.highcharts=function(){let o=[].slice.call(arguments);if(this[0])return o[0]?(new t[G(o[0])?o.shift():"Chart"](this[0],o[0],o[1]),this):a[C(this[0],"data-highcharts-chart")]}),{addEvent:function(o,n,d,f={}){let S=typeof o=="function"&&o.prototype||o;Object.hasOwnProperty.call(S,"hcEvents")||(S.hcEvents={});let T=S.hcEvents;t.Point&&o instanceof t.Point&&o.series&&o.series.chart&&(o.series.chart.runTrackerClick=!0);let m=o.addEventListener;m&&m.call(o,n,d,!!t.supportsPassiveEvents&&{passive:f.passive===void 0?n.indexOf("touch")!==-1:f.passive,capture:!1}),T[n]||(T[n]=[]);let N={fn:d,order:typeof f.order=="number"?f.order:1/0};return T[n].push(N),T[n].sort((ie,D)=>ie.order-D.order),function(){u(o,n,d)}},arrayMax:function(o){let n=o.length,d=o[0];for(;n--;)o[n]>d&&(d=o[n]);return d},arrayMin:function(o){let n=o.length,d=o[0];for(;n--;)o[n]n?o{let f=n%2/2,S=d?-1:1;return(Math.round(o*S-f)+f)*S},css:y,defined:F,destroyObjectProperties:function(o,n,d){R(o,function(f,S){f!==n&&f?.destroy&&f.destroy(),(f?.destroy||!d)&&delete o[S]})},diffObjects:function(o,n,d,f){let S={};return function T(m,N,ie,D){let B=d?N:m;R(m,function(V,Z){if(!D&&f&&f.indexOf(Z)>-1&&N[Z]){V=M(V),ie[Z]=[];for(let re=0;re{if(N.length>1)for(T=f=N.length-1;T>0;T--)(S=N[T]-N[T-1])<0&&!m?(n?.(),n=void 0):S&&(d===void 0||S=m-1&&(m=Math.floor(N)),Math.max(0,m-(o(n,"padding-left",!0)||0)-(o(n,"padding-right",!0)||0))}if(d==="height")return Math.max(0,Math.min(n.offsetHeight,n.scrollHeight)-(o(n,"padding-top",!0)||0)-(o(n,"padding-bottom",!0)||0));let T=_.getComputedStyle(n,void 0);return T&&(S=T.getPropertyValue(d),L(f,d!=="opacity")&&(S=te(S))),S},inArray:function(o,n,d){return O(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"}),n.indexOf(o,d)},insertItem:function(o,n){let d,f=o.options.index,S=n.length;for(d=o.options.isInternal?S:0;d=o))&&(S||!(N<=(n[T]+(n[T+1]||n[T]))/2)));T++);return q(m*d,-Math.round(Math.log(.001)/Math.LN10))},objectEach:R,offset:function(o){let n=l.documentElement,d=o.parentElement||o.parentNode?o.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:d.top+(_.pageYOffset||n.scrollTop)-(n.clientTop||0),left:d.left+(_.pageXOffset||n.scrollLeft)-(n.clientLeft||0),width:d.width,height:d.height}},pad:function(o,n,d){return Array((n||2)+1-String(o).replace("-","").length).join(d||"0")+o},pick:L,pInt:te,pushUnique:function(o,n){return 0>o.indexOf(n)&&!!o.push(n)},relativeLength:function(o,n,d){return/%$/.test(o)?n*parseFloat(o)/100+(d||0):parseFloat(o)},removeEvent:u,replaceNested:function(o,...n){let d,f;do for(f of(d=o,n))o=o.replace(f[0],f[1]);while(o!==d);return o},splat:M,stableSort:function(o,n){let d,f,S=o.length;for(f=0;f0?setTimeout(o,n,d):(o.call(0,d),-1)},timeUnits:{millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},uniqueKey:c,useSerialIds:function(o){return r=L(o,r)},wrap:function(o,n,d){let f=o[n];o[n]=function(){let S=arguments,T=this;return d.apply(this,[function(){return f.apply(T,arguments.length?arguments:S)}].concat([].slice.call(arguments)))}}}}),e(s,"Core/Chart/ChartDefaults.js",[],function(){return{alignThresholds:!1,panning:{enabled:!1,type:"x"},styledMode:!1,borderRadius:0,colorCount:10,allowMutatingData:!0,ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{},position:{}},reflow:!0,type:"line",zooming:{singleTouch:!1,resetButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}}},width:null,height:null,borderColor:"#334eff",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"}}),e(s,"Core/Color/Palettes.js",[],function(){return{colors:["#2caffe","#544fc5","#00e272","#fe6a35","#6b8abc","#d568fb","#2ee0ca","#fa4b42","#feb56a","#91e8e1"]}}),e(s,"Core/Time.js",[s["Core/Globals.js"],s["Core/Utilities.js"]],function(t,r){let{win:a}=t,{defined:l,error:_,extend:O,isNumber:te,isObject:G,merge:X,objectEach:J,pad:A,pick:$,splat:j,timeUnits:F}=r,C=t.isSafari&&a.Intl&&a.Intl.DateTimeFormat.prototype.formatRange,M=t.isSafari&&a.Intl&&!a.Intl.DateTimeFormat.prototype.formatRange;class E{constructor(y){this.options={},this.useUTC=!1,this.variableTimezone=!1,this.Date=a.Date,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.update(y)}get(y,P){if(this.variableTimezone||this.timezoneOffset){let q=P.getTime(),z=q-this.getTimezoneOffset(P);P.setTime(z);let R=P["getUTC"+y]();return P.setTime(q),R}return this.useUTC?P["getUTC"+y]():P["get"+y]()}set(y,P,q){if(this.variableTimezone||this.timezoneOffset){if(y==="Milliseconds"||y==="Seconds"||y==="Minutes"&&this.getTimezoneOffset(P)%36e5==0)return P["setUTC"+y](q);let z=this.getTimezoneOffset(P),R=P.getTime()-z;P.setTime(R),P["setUTC"+y](q);let u=this.getTimezoneOffset(P);return R=P.getTime()+u,P.setTime(R)}return this.useUTC||C&&y==="FullYear"?P["setUTC"+y](q):P["set"+y](q)}update(y={}){let P=$(y.useUTC,!0);this.options=y=X(!0,this.options,y),this.Date=y.Date||a.Date||Date,this.useUTC=P,this.timezoneOffset=P&&y.timezoneOffset||void 0,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.variableTimezone=P&&!!(y.getTimezoneOffset||y.timezone)}makeTime(y,P,q,z,R,u){let x,c,o;return this.useUTC?(x=this.Date.UTC.apply(0,arguments),c=this.getTimezoneOffset(x),x+=c,c!==(o=this.getTimezoneOffset(x))?x+=o-c:c-36e5!==this.getTimezoneOffset(x-36e5)||M||(x-=36e5)):x=new this.Date(y,P,$(q,1),$(z,0),$(R,0),$(u,0)).getTime(),x}timezoneOffsetFunction(){let y=this,P=this.options,q=P.getTimezoneOffset;return this.useUTC?P.timezone?z=>{try{let R=`shortOffset,${P.timezone||""}`,[u,x,c,o,n=0]=(E.formatCache[R]=E.formatCache[R]||Intl.DateTimeFormat("en",{timeZone:P.timezone,timeZoneName:"shortOffset"})).format(z).split(/(GMT|:)/).map(Number),d=-(36e5*(c+n/60));if(te(d))return d}catch{_(34)}return 0}:this.useUTC&&q?z=>6e4*q(z.valueOf()):()=>6e4*(y.timezoneOffset||0):z=>6e4*new Date(z.toString()).getTimezoneOffset()}dateFormat(y,P,q){if(!l(P)||isNaN(P))return t.defaultOptions.lang&&t.defaultOptions.lang.invalidDate||"";y=$(y,"%Y-%m-%d %H:%M:%S");let z=this,R=new this.Date(P),u=this.get("Hours",R),x=this.get("Day",R),c=this.get("Date",R),o=this.get("Month",R),n=this.get("FullYear",R),d=t.defaultOptions.lang,f=d&&d.weekdays,S=d&&d.shortWeekdays;return J(O({a:S?S[x]:f[x].substr(0,3),A:f[x],d:A(c),e:A(c,2," "),w:x,b:d.shortMonths[o],B:d.months[o],m:A(o+1),o:o+1,y:n.toString().substr(2,2),Y:n,H:A(u),k:u,I:A(u%12||12),l:u%12||12,M:A(this.get("Minutes",R)),p:u<12?"AM":"PM",P:u<12?"am":"pm",S:A(this.get("Seconds",R)),L:A(Math.floor(P%1e3),3)},t.dateFormats),function(T,m){for(;y.indexOf("%"+m)!==-1;)y=y.replace("%"+m,typeof T=="function"?T.call(z,P):T)}),q?y.substr(0,1).toUpperCase()+y.substr(1):y}resolveDTLFormat(y){return G(y,!0)?y:{main:(y=j(y))[0],from:y[1],to:y[2]}}getTimeTicks(y,P,q,z){let R,u,x,c,o=this,n=o.Date,d=[],f={},S=new n(P),T=y.unitRange,m=y.count||1;if(z=$(z,1),l(P)){o.set("Milliseconds",S,T>=F.second?0:m*Math.floor(o.get("Milliseconds",S)/m)),T>=F.second&&o.set("Seconds",S,T>=F.minute?0:m*Math.floor(o.get("Seconds",S)/m)),T>=F.minute&&o.set("Minutes",S,T>=F.hour?0:m*Math.floor(o.get("Minutes",S)/m)),T>=F.hour&&o.set("Hours",S,T>=F.day?0:m*Math.floor(o.get("Hours",S)/m)),T>=F.day&&o.set("Date",S,T>=F.month?1:Math.max(1,m*Math.floor(o.get("Date",S)/m))),T>=F.month&&(o.set("Month",S,T>=F.year?0:m*Math.floor(o.get("Month",S)/m)),u=o.get("FullYear",S)),T>=F.year&&(u-=u%m,o.set("FullYear",S,u)),T===F.week&&(c=o.get("Day",S),o.set("Date",S,o.get("Date",S)-c+z+(c4*F.month||o.getTimezoneOffset(P)!==o.getTimezoneOffset(q));let B=S.getTime();for(R=1;B1?B=o.makeTime(u,N,ie,D+R*m):B+=T*m,R++;d.push(B),T<=F.hour&&d.length<1e4&&d.forEach(function(V){V%18e5==0&&o.dateFormat("%H%M%S%L",V)==="000000000"&&(f[V]="day")})}return d.info=O(y,{higherRanks:f,totalRange:T*m}),d}getDateFormat(y,P,q,z){let R=this.dateFormat("%m-%d %H:%M:%S.%L",P),u="01-01 00:00:00.000",x={millisecond:15,second:12,minute:9,hour:6,day:3},c="millisecond",o=c;for(c in F){if(y===F.week&&+this.dateFormat("%w",P)===q&&R.substr(6)===u.substr(6)){c="week";break}if(F[c]>y){c=o;break}if(x[c]&&R.substr(x[c])!==u.substr(x[c]))break;c!=="week"&&(o=c)}return this.resolveDTLFormat(z[c]).main}}return E.formatCache={},E}),e(s,"Core/Defaults.js",[s["Core/Chart/ChartDefaults.js"],s["Core/Globals.js"],s["Core/Color/Palettes.js"],s["Core/Time.js"],s["Core/Utilities.js"]],function(t,r,a,l,_){let{isTouchDevice:O}=r,{fireEvent:te,merge:G}=_,X={colors:a.colors,symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],decimalPoint:".",numericSymbols:["k","M","G","T","P","E"],resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{buttonTheme:{fill:"#f7f7f7",padding:8,r:2,stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},states:{hover:{fill:"#e6e6e6"},select:{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},disabled:{style:{color:"#cccccc"}}}}},time:{Date:void 0,getTimezoneOffset:void 0,timezone:void 0,timezoneOffset:0,useUTC:!0},chart:t,title:{style:{color:"#333333",fontWeight:"bold"},text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{style:{color:"#666666",fontSize:"0.8em"},text:"",align:"center",widthAdjust:-44},caption:{margin:15,style:{color:"#666666",fontSize:"0.8em"},text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",events:{},layout:"horizontal",itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"#0022ff",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#666666",textDecoration:"line-through"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontSize:"0.8em",fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:{duration:300,easing:A=>Math.sqrt(1-Math.pow(A-1,2))},borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %e %b, %H:%M:%S.%L",second:"%A, %e %b, %H:%M:%S",minute:"%A, %e %b, %H:%M",hour:"%A, %e %b, %H:%M",day:"%A, %e %b %Y",week:"Week from %A, %e %b %Y",month:"%B %Y",year:"%Y"},footerFormat:"",headerShape:"callout",hideDelay:500,padding:8,shape:"callout",shared:!1,snap:O?25:10,headerFormat:'{point.key}
',pointFormat:'\u25CF {series.name}: {point.y}
',backgroundColor:"#ffffff",borderWidth:void 0,shadow:!0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"0.8em"},useHTML:!1},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"0.6em"},text:"Highcharts.com"}};X.chart.styledMode=!1;let J=new l(X.time);return{defaultOptions:X,defaultTime:J,getOptions:function(){return X},setOptions:function(A){return te(r,"setOptions",{options:A}),G(!0,X,A),(A.time||A.global)&&(r.time?r.time.update(G(X.global,X.time,A.global,A.time)):r.time=J),X}}}),e(s,"Core/Color/Color.js",[s["Core/Globals.js"],s["Core/Utilities.js"]],function(t,r){let{isNumber:a,merge:l,pInt:_}=r;class O{static parse(G){return G?new O(G):O.None}constructor(G){let X,J,A,$;this.rgba=[NaN,NaN,NaN,NaN],this.input=G;let j=t.Color;if(j&&j!==O)return new j(G);if(typeof G=="object"&&G.stops!==void 0)this.stops=G.stops.map(F=>new O(F[1]));else if(typeof G=="string"){if(this.input=G=O.names[G.toLowerCase()]||G,G.charAt(0)==="#"){let F=G.length,C=parseInt(G.substr(1),16);F===7?J=[(16711680&C)>>16,(65280&C)>>8,255&C,1]:F===4&&(J=[(3840&C)>>4|(3840&C)>>8,(240&C)>>4|240&C,(15&C)<<4|15&C,1])}if(!J)for(A=O.parsers.length;A--&&!J;)(X=($=O.parsers[A]).regex.exec(G))&&(J=$.parse(X))}J&&(this.rgba=J)}get(G){let X=this.input,J=this.rgba;if(typeof X=="object"&&this.stops!==void 0){let A=l(X);return A.stops=[].slice.call(A.stops),this.stops.forEach(($,j)=>{A.stops[j]=[A.stops[j][0],$.get(G)]}),A}return J&&a(J[0])?G!=="rgb"&&(G||J[3]!==1)?G==="a"?`${J[3]}`:"rgba("+J.join(",")+")":"rgb("+J[0]+","+J[1]+","+J[2]+")":X}brighten(G){let X=this.rgba;if(this.stops)this.stops.forEach(function(J){J.brighten(G)});else if(a(G)&&G!==0)for(let J=0;J<3;J++)X[J]+=_(255*G),X[J]<0&&(X[J]=0),X[J]>255&&(X[J]=255);return this}setOpacity(G){return this.rgba[3]=G,this}tweenTo(G,X){let J=this.rgba,A=G.rgba;if(!a(J[0])||!a(A[0]))return G.input||"none";let $=A[3]!==1||J[3]!==1;return($?"rgba(":"rgb(")+Math.round(A[0]+(J[0]-A[0])*(1-X))+","+Math.round(A[1]+(J[1]-A[1])*(1-X))+","+Math.round(A[2]+(J[2]-A[2])*(1-X))+($?","+(A[3]+(J[3]-A[3])*(1-X)):"")+")"}}return O.names={white:"#ffffff",black:"#000000"},O.parsers=[{regex:/rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d?(?:\.\d+)?)\s*\)/,parse:function(te){return[_(te[1]),_(te[2]),_(te[3]),parseFloat(te[4],10)]}},{regex:/rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)/,parse:function(te){return[_(te[1]),_(te[2]),_(te[3]),1]}}],O.None=new O(""),O}),e(s,"Core/Animation/Fx.js",[s["Core/Color/Color.js"],s["Core/Globals.js"],s["Core/Utilities.js"]],function(t,r,a){let{parse:l}=t,{win:_}=r,{isNumber:O,objectEach:te}=a;class G{constructor(J,A,$){this.pos=NaN,this.options=A,this.elem=J,this.prop=$}dSetter(){let J=this.paths,A=J&&J[0],$=J&&J[1],j=this.now||0,F=[];if(j!==1&&A&&$)if(A.length===$.length&&j<1)for(let C=0;C<$.length;C++){let M=A[C],E=$[C],L=[];for(let y=0;y=E+this.startTime?(this.now=this.end,this.pos=1,this.update(),L[this.prop]=!0,$=!0,te(L,function(y){y!==!0&&($=!1)}),$&&M&&M.call(C),A=!1):(this.pos=F.easing((j-this.startTime)/E),this.now=this.start+(this.end-this.start)*this.pos,this.update(),A=!0),A}initPath(J,A,$){let j=J.startX,F=J.endX,C=$.slice(),M=J.isArea,E=M?2:1,L=A&&$.length>A.length&&$.hasStackedCliffs,y,P,q,z,R=A&&A.slice();if(!R||L)return[C,C];function u(c,o){for(;c.length{let q=A(P.options.animation);L=te(F)&&a(F.defer)?M.defer:Math.max(L,q.duration+q.defer),y=Math.min(M.duration,q.duration)}),j.renderer.forExport&&(L=0),{defer:Math.max(0,L-y),duration:Math.min(L,y)}},setAnimation:function(j,F){F.renderer.globalAnimation=J(j,F.options.chart.animation,!0)},stop:$}}),e(s,"Core/Renderer/HTML/AST.js",[s["Core/Globals.js"],s["Core/Utilities.js"]],function(t,r){let{SVG_NS:a,win:l}=t,{attr:_,createElement:O,css:te,error:G,isFunction:X,isString:J,objectEach:A,splat:$}=r,{trustedTypes:j}=l,F=j&&X(j.createPolicy)&&j.createPolicy("highcharts",{createHTML:L=>L}),C=F?F.createHTML(""):"",M=function(){try{return!!new DOMParser().parseFromString(C,"text/html")}catch{return!1}}();class E{static filterUserAttributes(y){return A(y,(P,q)=>{let z=!0;E.allowedAttributes.indexOf(q)===-1&&(z=!1),["background","dynsrc","href","lowsrc","src"].indexOf(q)!==-1&&(z=J(P)&&E.allowedReferences.some(R=>P.indexOf(R)===0)),z||(G(33,!1,void 0,{"Invalid attribute in config":`${q}`}),delete y[q]),J(P)&&y[q]&&(y[q]=P.replace(/{let z=q.split(":").map(u=>u.trim()),R=z.shift();return R&&z.length&&(P[R.replace(/-([a-z])/g,u=>u[1].toUpperCase())]=z.join(":")),P},{})}static setElementHTML(y,P){y.innerHTML=E.emptyHTML,P&&new E(P).addToDOM(y)}constructor(y){this.nodes=typeof y=="string"?this.parseMarkup(y):y}addToDOM(y){return function P(q,z){let R;return $(q).forEach(function(u){let x,c=u.tagName,o=u.textContent?t.doc.createTextNode(u.textContent):void 0,n=E.bypassHTMLFiltering;if(c)if(c==="#text")x=o;else if(E.allowedTags.indexOf(c)!==-1||n){let d=c==="svg"?a:z.namespaceURI||a,f=t.doc.createElementNS(d,c),S=u.attributes||{};A(u,function(T,m){m!=="tagName"&&m!=="attributes"&&m!=="children"&&m!=="style"&&m!=="textContent"&&(S[m]=T)}),_(f,n?S:E.filterUserAttributes(S)),u.style&&te(f,u.style),o&&f.appendChild(o),P(u.children||[],f),x=f}else G(33,!1,void 0,{"Invalid tagName in config":c});x&&z.appendChild(x),R=x}),R}(this.nodes,y)}parseMarkup(y){let P,q=[];if(y=y.trim().replace(/ style=(["'])/g," data-style=$1"),M)P=new DOMParser().parseFromString(F?F.createHTML(y):y,"text/html");else{let R=O("div");R.innerHTML=y,P={body:R}}let z=(R,u)=>{let x=R.nodeName.toLowerCase(),c={tagName:x};x==="#text"&&(c.textContent=R.textContent||"");let o=R.attributes;if(o){let n={};[].forEach.call(o,d=>{d.name==="data-style"?c.style=E.parseStyle(d.value):n[d.name]=d.value}),c.attributes=n}if(R.childNodes.length){let n=[];[].forEach.call(R.childNodes,d=>{z(d,n)}),n.length&&(c.children=n)}u.push(c)};return[].forEach.call(P.body.childNodes,R=>z(R,q)),q}}return E.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"],E.allowedReferences=["https://","http://","mailto:","/","../","./","#"],E.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"],E.emptyHTML=C,E.bypassHTMLFiltering=!1,E}),e(s,"Core/Templating.js",[s["Core/Defaults.js"],s["Core/Utilities.js"]],function(t,r){let{defaultOptions:a,defaultTime:l}=t,{extend:_,getNestedProperty:O,isArray:te,isNumber:G,isObject:X,pick:J,pInt:A}=r,$={add:(C,M)=>C+M,divide:(C,M)=>M!==0?C/M:"",eq:(C,M)=>C==M,each:function(C){let M=arguments[arguments.length-1];return!!te(C)&&C.map((E,L)=>j(M.body,_(X(E)?E:{"@this":E},{"@index":L,"@first":L===0,"@last":L===C.length-1}))).join("")},ge:(C,M)=>C>=M,gt:(C,M)=>C>M,if:C=>!!C,le:(C,M)=>C<=M,lt:(C,M)=>CC*M,ne:(C,M)=>C!=M,subtract:(C,M)=>C-M,unless:C=>!C};function j(C="",M,E){let L=/\{([\w\:\.\,;\-\/<>%@"'’= #\(\)]+)\}/g,y=/\(([\w\:\.\,;\-\/<>%@"'= ]+)\)/g,P=[],q=/f$/,z=/\.(\d)/,R=a.lang,u=E&&E.time||l,x=E&&E.numberFormatter||F,c=(S="")=>{let T;return S==="true"||S!=="false"&&((T=Number(S)).toString()===S?T:O(S,M))},o,n,d=0,f;for(;(o=L.exec(C))!==null;){let S=y.exec(o[1]);S&&(o=S,f=!0),n&&n.isBlock||(n={ctx:M,expression:o[1],find:o[0],isBlock:o[1].charAt(0)==="#",start:o.index,startInner:o.index+o[0].length,length:o[0].length});let T=o[1].split(" ")[0].replace("#","");$[T]&&(n.isBlock&&T===n.fn&&d++,n.fn||(n.fn=T));let m=o[1]==="else";if(n.isBlock&&n.fn&&(o[1]===`/${n.fn}`||m))if(d)!m&&d--;else{let N=n.startInner,ie=C.substr(N,o.index-N);n.body===void 0?(n.body=ie,n.startInner=o.index+o[0].length):n.elseBody=ie,n.find+=ie+o[0],m||(P.push(n),n=void 0)}else n.isBlock||P.push(n);if(S&&!n?.isBlock)break}return P.forEach(S=>{let T,m,{body:N,elseBody:ie,expression:D,fn:B}=S;if(B){let V=[S],Z=D.split(" ");for(m=$[B].length;m--;)V.unshift(c(Z[m+1]));T=$[B].apply(M,V),S.isBlock&&typeof T=="boolean"&&(T=j(T?N:ie,M,E))}else{let V=D.split(":");if(T=c(V.shift()||""),V.length&&typeof T=="number"){let Z=V.join(":");if(q.test(Z)){let re=parseInt((Z.match(z)||["","-1"])[1],10);T!==null&&(T=x(T,re,R.decimalPoint,Z.indexOf(",")>-1?R.thousandsSep:""))}else T=u.dateFormat(Z,T)}}C=C.replace(S.find,J(T,""))}),f?j(C,M,E):C}function F(C,M,E,L){let y,P;C=+C||0,M=+M;let q=a.lang,z=(C.toString().split(".")[1]||"").split("e")[0].length,R=C.toString().split("e"),u=M;M===-1?M=Math.min(z,20):G(M)?M&&R[1]&&R[1]<0&&((P=M+ +R[1])>=0?(R[0]=(+R[0]).toExponential(P).split("e")[0],M=P):(R[0]=R[0].split(".")[0]||0,C=M<20?(R[0]*Math.pow(10,R[1])).toFixed(M):0,R[1]=0)):M=2;let x=(Math.abs(R[1]?R[0]:C)+Math.pow(10,-Math.max(M,z)-1)).toFixed(M),c=String(A(x)),o=c.length>3?c.length%3:0;return E=J(E,q.decimalPoint),L=J(L,q.thousandsSep),y=(C<0?"-":"")+(o?c.substr(0,o)+L:""),0>+R[1]&&!u?y="0":y+=c.substr(o).replace(/(\d{3})(?=\d)/g,"$1"+L),M?y+=E+x.slice(-M):+y==0&&(y="0"),R[1]&&+y!=0&&(y+="e"+R[1]),y}return{dateFormat:function(C,M,E){return l.dateFormat(C,M,E)},format:j,helpers:$,numberFormat:F}}),e(s,"Core/Renderer/RendererRegistry.js",[s["Core/Globals.js"]],function(t){var r,a;let l;return(a=r||(r={})).rendererTypes={},a.getRendererType=function(_=l){return a.rendererTypes[_]||a.rendererTypes[l]},a.registerRendererType=function(_,O,te){a.rendererTypes[_]=O,(!l||te)&&(l=_,t.Renderer=O)},r}),e(s,"Core/Renderer/RendererUtilities.js",[s["Core/Utilities.js"]],function(t){var r;let{clamp:a,pick:l,pushUnique:_,stableSort:O}=t;return(r||(r={})).distribute=function te(G,X,J){let A=G,$=A.reducedLen||X,j=(c,o)=>c.target-o.target,F=[],C=G.length,M=[],E=F.push,L,y,P,q=!0,z,R,u=0,x;for(L=C;L--;)u+=G[L].size;if(u>$){for(O(G,(c,o)=>(o.rank||0)-(c.rank||0)),P=(x=G[0].rank===G[G.length-1].rank)?C/2:-1,y=x?P:C-1;P&&u>$;)z=G[L=Math.floor(y)],_(M,L)&&(u-=z.size),y+=P,x&&y>=G.length&&(P/=2,y=P);M.sort((c,o)=>o-c).forEach(c=>E.apply(F,G.splice(c,1)))}for(O(G,j),G=G.map(c=>({size:c.size,targets:[c.target],align:l(c.align,.5)}));q;){for(L=G.length;L--;)z=G[L],R=(Math.min.apply(0,z.targets)+Math.max.apply(0,z.targets))/2,z.pos=a(R-z.size*z.align,0,X-z.size);for(L=G.length,q=!1;L--;)L>0&&G[L-1].pos+G[L-1].size>G[L].pos&&(G[L-1].size+=G[L].size,G[L-1].targets=G[L-1].targets.concat(G[L].targets),G[L-1].align=.5,G[L-1].pos+G[L-1].size>X&&(G[L-1].pos=X-G[L-1].size),G.splice(L,1),q=!0)}return E.apply(A,F),L=0,G.some(c=>{let o=0;return(c.targets||[]).some(()=>(A[L].pos=c.pos+o,J!==void 0&&Math.abs(A[L].pos-A[L].target)>J?(A.slice(0,L+1).forEach(n=>delete n.pos),A.reducedLen=(A.reducedLen||X)-.1*X,A.reducedLen>.1*X&&te(A,X,J),!0):(o+=A[L].size,L++,!1)))}),O(A,j),A},r}),e(s,"Core/Renderer/SVG/SVGElement.js",[s["Core/Animation/AnimationUtilities.js"],s["Core/Color/Color.js"],s["Core/Globals.js"],s["Core/Utilities.js"]],function(t,r,a,l){let{animate:_,animObject:O,stop:te}=t,{deg2rad:G,doc:X,svg:J,SVG_NS:A,win:$}=a,{addEvent:j,attr:F,createElement:C,crisp:M,css:E,defined:L,erase:y,extend:P,fireEvent:q,isArray:z,isFunction:R,isObject:u,isString:x,merge:c,objectEach:o,pick:n,pInt:d,pushUnique:f,replaceNested:S,syncTimeout:T,uniqueKey:m}=l;class N{_defaultGetter(D){let B=n(this[D+"Value"],this[D],this.element?this.element.getAttribute(D):null,0);return/^-?[\d\.]+$/.test(B)&&(B=parseFloat(B)),B}_defaultSetter(D,B,V){V.setAttribute(B,D)}add(D){let B,V=this.renderer,Z=this.element;return D&&(this.parentGroup=D),this.textStr!==void 0&&this.element.nodeName==="text"&&V.buildText(this),this.added=!0,(!D||D.handleZ||this.zIndex)&&(B=this.zIndexSetter()),B||(D?D.element:V.box).appendChild(Z),this.onAdd&&this.onAdd(),this}addClass(D,B){let V=B?"":this.attr("class")||"";return(D=(D||"").split(/ /g).reduce(function(Z,re){return V.indexOf(re)===-1&&Z.push(re),Z},V?[V]:[]).join(" "))!==V&&this.attr("class",D),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(D,B,V,Z=!0){let re,p,g,v,H={},h=this.renderer,w=h.alignedObjects,b=!!D;D?(this.alignOptions=D,this.alignByTranslate=B,this.alignTo=V):(D=this.alignOptions||{},B=this.alignByTranslate,V=this.alignTo);let I=!V||x(V)?V||"renderer":void 0;I&&(b&&f(w,this),V=void 0);let k=n(V,h[I],h),W=D.align,ee=D.verticalAlign;return re=(k.x||0)+(D.x||0),p=(k.y||0)+(D.y||0),W==="right"?g=1:W==="center"&&(g=2),g&&(re+=((k.width||0)-(D.width||0))/g),H[B?"translateX":"x"]=Math.round(re),ee==="bottom"?v=1:ee==="middle"&&(v=2),v&&(p+=((k.height||0)-(D.height||0))/v),H[B?"translateY":"y"]=Math.round(p),Z&&(this[this.placed?"animate":"attr"](H),this.placed=!0),this.alignAttr=H,this}alignSetter(D){let B={left:"start",center:"middle",right:"end"};B[D]&&(this.alignValue=D,this.element.setAttribute("text-anchor",B[D]))}animate(D,B,V){let Z=O(n(B,this.renderer.globalAnimation,!0)),re=Z.defer;return X.hidden&&(Z.duration=0),Z.duration!==0?(V&&(Z.complete=V),T(()=>{this.element&&_(this,D,Z)},re)):(this.attr(D,void 0,V||Z.complete),o(D,function(p,g){Z.step&&Z.step.call(this,p,{prop:g,pos:1,elem:this})},this)),this}applyTextOutline(D){let B=this.element;D.indexOf("contrast")!==-1&&(D=D.replace(/contrast/g,this.renderer.getContrast(B.style.fill)));let V=D.split(" "),Z=V[V.length-1],re=V[0];if(re&&re!=="none"&&a.svg){this.fakeTS=!0,re=re.replace(/(^[\d\.]+)(.*?)$/g,function(h,w,b){return 2*Number(w)+b}),this.removeTextOutline();let p=X.createElementNS(A,"tspan");F(p,{class:"highcharts-text-outline",fill:Z,stroke:Z,"stroke-width":re,"stroke-linejoin":"round"});let g=B.querySelector("textPath")||B;[].forEach.call(g.childNodes,h=>{let w=h.cloneNode(!0);w.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(b=>w.removeAttribute(b)),p.appendChild(w)});let v=0;[].forEach.call(g.querySelectorAll("text tspan"),h=>{v+=Number(h.getAttribute("dy"))});let H=X.createElementNS(A,"tspan");H.textContent="\u200B",F(H,{x:Number(B.getAttribute("x")),dy:-v}),p.appendChild(H),g.insertBefore(p,g.firstChild)}}attr(D,B,V,Z){let{element:re}=this,p=N.symbolCustomAttribs,g,v,H=this,h;return typeof D=="string"&&B!==void 0&&(g=D,(D={})[g]=B),typeof D=="string"?H=(this[D+"Getter"]||this._defaultGetter).call(this,D,re):(o(D,function(w,b){h=!1,Z||te(this,b),this.symbolName&&p.indexOf(b)!==-1&&(v||(this.symbolAttr(D),v=!0),h=!0),this.rotation&&(b==="x"||b==="y")&&(this.doTransform=!0),h||(this[b+"Setter"]||this._defaultSetter).call(this,w,b,re)},this),this.afterSetters()),V&&V.call(this),H}clip(D){if(D&&!D.clipPath){let B=m()+"-",V=this.renderer.createElement("clipPath").attr({id:B}).add(this.renderer.defs);P(D,{clipPath:V,id:B,count:0}),D.add(V)}return this.attr("clip-path",D?`url(${this.renderer.url}#${D.id})`:"none")}crisp(D,B){B=Math.round(B||D.strokeWidth||0);let V=D.x||this.x||0,Z=D.y||this.y||0,re=(D.width||this.width||0)+V,p=(D.height||this.height||0)+Z,g=M(V,B),v=M(Z,B);return P(D,{x:g,y:v,width:M(re,B)-g,height:M(p,B)-v}),L(D.strokeWidth)&&(D.strokeWidth=B),D}complexColor(D,B,V){let Z=this.renderer,re,p,g,v,H,h,w,b,I,k,W=[],ee;q(this.renderer,"complexColor",{args:arguments},function(){if(D.radialGradient?p="radialGradient":D.linearGradient&&(p="linearGradient"),p){if(g=D[p],H=Z.gradients,h=D.stops,I=V.radialReference,z(g)&&(D[p]=g={x1:g[0],y1:g[1],x2:g[2],y2:g[3],gradientUnits:"userSpaceOnUse"}),p==="radialGradient"&&I&&!L(g.gradientUnits)&&(v=g,g=c(g,Z.getRadialAttr(I,v),{gradientUnits:"userSpaceOnUse"})),o(g,function(se,ne){ne!=="id"&&W.push(ne,se)}),o(h,function(se){W.push(se)}),H[W=W.join(",")])k=H[W].attr("id");else{g.id=k=m();let se=H[W]=Z.createElement(p).attr(g).add(Z.defs);se.radAttr=v,se.stops=[],h.forEach(function(ne){ne[1].indexOf("rgba")===0?(w=(re=r.parse(ne[1])).get("rgb"),b=re.get("a")):(w=ne[1],b=1);let ce=Z.createElement("stop").attr({offset:ne[0],"stop-color":w,"stop-opacity":b}).add(se);se.stops.push(ce)})}ee="url("+Z.url+"#"+k+")",V.setAttribute(B,ee),V.gradient=W,D.toString=function(){return ee}}})}css(D){let B=this.styles,V={},Z=this.element,re,p=!B;if(B&&o(D,function(g,v){B&&B[v]!==g&&(V[v]=g,p=!0)}),p){B&&(D=P(B,V)),D.width===null||D.width==="auto"?delete this.textWidth:Z.nodeName.toLowerCase()==="text"&&D.width&&(re=this.textWidth=d(D.width)),P(this.styles,D),re&&!J&&this.renderer.forExport&&delete D.width;let g=c(D);Z.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","width"].forEach(v=>g&&delete g[v]),g.color&&(g.fill=g.color)),E(Z,g)}return this.added&&(this.element.nodeName==="text"&&this.renderer.buildText(this),D.textOutline&&this.applyTextOutline(D.textOutline)),this}dashstyleSetter(D){let B,V=this["stroke-width"];if(V==="inherit"&&(V=1),D=D&&D.toLowerCase()){let Z=D.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(B=Z.length;B--;)Z[B]=""+d(Z[B])*n(V,NaN);D=Z.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",D)}}destroy(){let D=this,B=D.element||{},V=D.renderer,Z=B.ownerSVGElement,re=B.nodeName==="SPAN"&&D.parentGroup||void 0,p,g;if(B.onclick=B.onmouseout=B.onmouseover=B.onmousemove=B.point=null,te(D),D.clipPath&&Z){let v=D.clipPath;[].forEach.call(Z.querySelectorAll("[clip-path],[CLIP-PATH]"),function(H){H.getAttribute("clip-path").indexOf(v.element.id)>-1&&H.removeAttribute("clip-path")}),D.clipPath=v.destroy()}if(D.connector=D.connector?.destroy(),D.stops){for(g=0;gre&&re.join?(p?Z+" ":"")+re.join(" "):(re||"").toString(),"")),/(NaN| {2}|^$)/.test(D)&&(D="M 0 0"),this[B]!==D&&(V.setAttribute(B,D),this[B]=D)}fillSetter(D,B,V){typeof D=="string"?V.setAttribute(B,D):D&&this.complexColor(D,B,V)}hrefSetter(D,B,V){V.setAttributeNS("http://www.w3.org/1999/xlink",B,D)}getBBox(D,B){let V,Z,re,p,{alignValue:g,element:v,renderer:H,styles:h,textStr:w}=this,{cache:b,cacheKeys:I}=H,k=v.namespaceURI===this.SVG_NS,W=n(B,this.rotation,0),ee=H.styledMode?v&&N.prototype.getStyle.call(v,"font-size"):h.fontSize;if(L(w)&&((p=w.toString()).indexOf("<")===-1&&(p=p.replace(/\d/g,"0")),p+=["",H.rootFontSize,ee,W,this.textWidth,g,h.textOverflow,h.fontWeight].join(",")),p&&!D&&(V=b[p]),!V||V.polygon){if(k||H.forExport){try{re=this.fakeTS&&function(ne){let ce=v.querySelector(".highcharts-text-outline");ce&&E(ce,{display:ne})},R(re)&&re("none"),V=v.getBBox?P({},v.getBBox()):{width:v.offsetWidth,height:v.offsetHeight,x:0,y:0},R(re)&&re("")}catch{}(!V||V.width<0)&&(V={x:0,y:0,width:0,height:0})}else V=this.htmlGetBBox();Z=V.height,k&&(V.height=Z={"11px,17":14,"13px,20":16}[`${ee||""},${Math.round(Z)}`]||Z),W&&(V=this.getRotatedBox(V,W));let se={bBox:V};q(this,"afterGetBBox",se),V=se.bBox}if(p&&(w===""||V.height>0)){for(;I.length>250;)delete b[I.shift()];b[p]||I.push(p),b[p]=V}return V}getRotatedBox(D,B){let{x:V,y:Z,width:re,height:p}=D,{alignValue:g,translateY:v,rotationOriginX:H=0,rotationOriginY:h=0}=this,w={right:1,center:.5}[g||0]||0,b=Number(this.element.getAttribute("y")||0)-(v?0:Z),I=B*G,k=(B-90)*G,W=Math.cos(I),ee=Math.sin(I),se=re*W,ne=re*ee,ce=Math.cos(k),de=Math.sin(k),[[Y,U],[K,Q]]=[H,h].map(Ae=>[Ae-Ae*W,Ae*ee]),oe=V+w*(re-se)+Y+Q+b*ce,ae=oe+se,he=ae-p*ce,le=he-se,ue=Z+b-w*ne-U+K+b*de,pe=ue+ne,fe=pe-p*de,me=fe-ne,ge=Math.min(oe,ae,he,le),be=Math.min(ue,pe,fe,me),ve=Math.max(oe,ae,he,le)-ge,ye=Math.max(ue,pe,fe,me)-be;return{x:ge,y:be,width:ve,height:ye,polygon:[[oe,ue],[ae,pe],[he,fe],[le,me]]}}getStyle(D){return $.getComputedStyle(this.element||this,"").getPropertyValue(D)}hasClass(D){return(""+this.attr("class")).split(" ").indexOf(D)!==-1}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(D,B){this.onEvents={},this.opacity=1,this.SVG_NS=A,this.element=B==="span"||B==="body"?C(B):X.createElementNS(this.SVG_NS,B),this.renderer=D,this.styles={},q(this,"afterInit")}on(D,B){let{onEvents:V}=this;return V[D]&&V[D](),V[D]=j(this.element,D,B),this}opacitySetter(D,B,V){let Z=Number(Number(D).toFixed(3));this.opacity=Z,V.setAttribute(B,Z)}reAlign(){this.alignOptions?.width&&this.alignOptions.align!=="left"&&(this.alignOptions.width=this.getBBox().width,this.placed=!1,this.align())}removeClass(D){return this.attr("class",(""+this.attr("class")).replace(x(D)?RegExp(`(^| )${D}( |$)`):D," ").replace(/ +/g," ").trim())}removeTextOutline(){let D=this.element.querySelector("tspan.highcharts-text-outline");D&&this.safeRemoveChild(D)}safeRemoveChild(D){let B=D.parentNode;B&&B.removeChild(D)}setRadialReference(D){let B=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=D,B&&B.radAttr&&B.animate(this.renderer.getRadialAttr(D,B.radAttr)),this}shadow(D){let{renderer:B}=this,V=c(this.parentGroup?.rotation===90?{offsetX:-1,offsetY:-1}:{},u(D)?D:{}),Z=B.shadowDefinition(V);return this.attr({filter:D?`url(${B.url}#${Z})`:"none"})}show(D=!0){return this.attr({visibility:D?"inherit":"visible"})}"stroke-widthSetter"(D,B,V){this[B]=D,V.setAttribute(B,D)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let D=this.getStyle("stroke-width"),B=0,V;return/px$/.test(D)?B=d(D):D!==""&&(F(V=X.createElementNS(A,"rect"),{width:D,"stroke-width":0}),this.element.parentNode.appendChild(V),B=V.getBBox().width,V.parentNode.removeChild(V)),B}symbolAttr(D){let B=this;N.symbolCustomAttribs.forEach(function(V){B[V]=n(D[V],B[V])}),B.attr({d:B.renderer.symbols[B.symbolName](B.x,B.y,B.width,B.height,B)})}textSetter(D){D!==this.textStr&&(delete this.textPxLength,this.textStr=D,this.added&&this.renderer.buildText(this),this.reAlign())}titleSetter(D){let B=this.element,V=B.getElementsByTagName("title")[0]||X.createElementNS(this.SVG_NS,"title");B.insertBefore?B.insertBefore(V,B.firstChild):B.appendChild(V),V.textContent=S(n(D,""),[/<[^>]*>/g,""]).replace(/</g,"<").replace(/>/g,">")}toFront(){let D=this.element;return D.parentNode.appendChild(D),this}translate(D,B){return this.attr({translateX:D,translateY:B})}updateTransform(D="transform"){let{element:B,matrix:V,rotation:Z=0,rotationOriginX:re,rotationOriginY:p,scaleX:g,scaleY:v,translateX:H=0,translateY:h=0}=this,w=["translate("+H+","+h+")"];L(V)&&w.push("matrix("+V.join(",")+")"),Z&&(w.push("rotate("+Z+" "+n(re,B.getAttribute("x"),0)+" "+n(p,B.getAttribute("y")||0)+")"),this.text?.element.tagName==="SPAN"&&this.text.attr({rotation:Z,rotationOriginX:(re||0)-this.padding,rotationOriginY:(p||0)-this.padding})),(L(g)||L(v))&&w.push("scale("+n(g,1)+" "+n(v,1)+")"),w.length&&!(this.text||this).textPath&&B.setAttribute(D,w.join(" "))}visibilitySetter(D,B,V){D==="inherit"?V.removeAttribute(B):this[B]!==D&&V.setAttribute(B,D),this[B]=D}xGetter(D){return this.element.nodeName==="circle"&&(D==="x"?D="cx":D==="y"&&(D="cy")),this._defaultGetter(D)}zIndexSetter(D,B){let V=this.renderer,Z=this.parentGroup,re=(Z||V).element||V.box,p=this.element,g=re===V.box,v,H,h,w=!1,b,I=this.added,k;if(L(D)?(p.setAttribute("data-z-index",D),D=+D,this[B]===D&&(I=!1)):L(this[B])&&p.removeAttribute("data-z-index"),this[B]=D,I){for((D=this.zIndex)&&Z&&(Z.handleZ=!0),k=(v=re.childNodes).length-1;k>=0&&!w;k--)b=!L(h=(H=v[k]).getAttribute("data-z-index")),H!==p&&(D<0&&b&&!g&&!k?(re.insertBefore(p,v[k]),w=!0):(d(h)<=D||b&&(!L(D)||D>=0))&&(re.insertBefore(p,v[k+1]),w=!0));w||(re.insertBefore(p,v[g?3:0]),w=!0)}return w}}return N.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],N.prototype.strokeSetter=N.prototype.fillSetter,N.prototype.yGetter=N.prototype.xGetter,N.prototype.matrixSetter=N.prototype.rotationOriginXSetter=N.prototype.rotationOriginYSetter=N.prototype.rotationSetter=N.prototype.scaleXSetter=N.prototype.scaleYSetter=N.prototype.translateXSetter=N.prototype.translateYSetter=N.prototype.verticalAlignSetter=function(ie,D){this[D]=ie,this.doTransform=!0},N}),e(s,"Core/Renderer/SVG/SVGLabel.js",[s["Core/Renderer/SVG/SVGElement.js"],s["Core/Utilities.js"]],function(t,r){let{defined:a,extend:l,isNumber:_,merge:O,pick:te,removeEvent:G}=r;class X extends t{constructor(A,$,j,F,C,M,E,L,y,P){let q;super(A,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.doUpdate=!1,this.textStr=$,this.x=j,this.y=F,this.anchorX=M,this.anchorY=E,this.baseline=y,this.className=P,this.addClass(P==="button"?"highcharts-no-tooltip":"highcharts-label"),P&&this.addClass("highcharts-"+P),this.text=A.text(void 0,0,0,L).attr({zIndex:1}),typeof C=="string"&&((q=/^url\((.*?)\)$/.test(C))||this.renderer.symbols[C])&&(this.symbolKey=C),this.bBox=X.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=A.styledMode||q,this.deferredAttr={},this.alignFactor=0}alignSetter(A){let $={left:0,center:.5,right:1}[A];$!==this.alignFactor&&(this.alignFactor=$,this.bBox&&_(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(A,$){this.anchorX=A,this.boxAttr($,Math.round(A)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(A,$){this.anchorY=A,this.boxAttr($,A-this.ySetting)}boxAttr(A,$){this.box?this.box.attr(A,$):this.deferredAttr[A]=$}css(A){if(A){let $={};A=O(A),X.textProps.forEach(j=>{A[j]!==void 0&&($[j]=A[j],delete A[j])}),this.text.css($),"fontSize"in $||"fontWeight"in $?this.updateTextPadding():("width"in $||"textOverflow"in $)&&this.updateBoxSize()}return t.prototype.css.call(this,A)}destroy(){G(this.element,"mouseenter"),G(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),t.prototype.destroy.call(this)}fillSetter(A,$){A&&(this.needsBox=!0),this.fill=A,this.boxAttr($,A)}getBBox(A,$){this.textStr&&this.bBox.width===0&&this.bBox.height===0&&this.updateBoxSize();let{padding:j,height:F=0,translateX:C=0,translateY:M=0,width:E=0}=this,L=te(this.paddingLeft,j),y=$??(this.rotation||0),P={width:E,height:F,x:C+this.bBox.x-L,y:M+this.bBox.y-j+this.baselineOffset};return y&&(P=this.getRotatedBox(P,y)),P}getCrispAdjust(){return(this.renderer.styledMode&&this.box?this.box.strokeWidth():this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(A){this.heightSetting=A,this.doUpdate=!0}afterSetters(){super.afterSetters(),this.doUpdate&&(this.updateBoxSize(),this.doUpdate=!1)}onAdd(){this.text.add(this),this.attr({text:te(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&a(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(A,$){_(A)?A!==this[$]&&(this[$]=A,this.updateTextPadding()):this[$]=void 0}rSetter(A,$){this.boxAttr($,A)}strokeSetter(A,$){this.stroke=A,this.boxAttr($,A)}"stroke-widthSetter"(A,$){A&&(this.needsBox=!0),this["stroke-width"]=A,this.boxAttr($,A)}"text-alignSetter"(A){this.textAlign=A}textSetter(A){A!==void 0&&this.text.attr({text:A}),this.updateTextPadding(),this.reAlign()}updateBoxSize(){let A,$=this.text,j={},F=this.padding,C=this.bBox=(!_(this.widthSetting)||!_(this.heightSetting)||this.textAlign)&&a($.textStr)?$.getBBox(void 0,0):X.emptyBBox;this.width=this.getPaddedWidth(),this.height=(this.heightSetting||C.height||0)+2*F;let M=this.renderer.fontMetrics($);if(this.baselineOffset=F+Math.min((this.text.firstLineMetrics||M).b,C.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-M.h)/2),this.needsBox&&!$.textPath){if(!this.box){let E=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();E.addClass((this.className==="button"?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),E.add(this)}A=this.getCrispAdjust(),j.x=A,j.y=(this.baseline?-this.baselineOffset:0)+A,j.width=Math.round(this.width),j.height=Math.round(this.height),this.box.attr(l(j,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let A=this.text;if(!A.textPath){this.updateBoxSize();let $=this.baseline?0:this.baselineOffset,j=te(this.paddingLeft,this.padding);a(this.widthSetting)&&this.bBox&&(this.textAlign==="center"||this.textAlign==="right")&&(j+={center:.5,right:1}[this.textAlign]*(this.widthSetting-this.bBox.width)),(j!==A.x||$!==A.y)&&(A.attr("x",j),A.hasBoxWidthChanged&&(this.bBox=A.getBBox(!0)),$!==void 0&&A.attr("y",$)),A.x=j,A.y=$}}widthSetter(A){this.widthSetting=_(A)?A:void 0,this.doUpdate=!0}getPaddedWidth(){let A=this.padding,$=te(this.paddingLeft,A),j=te(this.paddingRight,A);return(this.widthSetting||this.bBox.width||0)+$+j}xSetter(A){this.x=A,this.alignFactor&&(A-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(A),this.attr("translateX",this.xSetting)}ySetter(A){this.ySetting=this.y=Math.round(A),this.attr("translateY",this.ySetting)}}return X.emptyBBox={width:0,height:0,x:0,y:0},X.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"],X}),e(s,"Core/Renderer/SVG/Symbols.js",[s["Core/Utilities.js"]],function(t){let{defined:r,isNumber:a,pick:l}=t;function _(G,X,J,A,$){let j=[];if($){let F=$.start||0,C=l($.r,J),M=l($.r,A||J),E=2e-4/($.borderRadius?1:Math.max(C,1)),L=Math.abs(($.end||0)-F-2*Math.PI)0&&M0)return E;if(G+C>J-F)if(M>X+F&&MX+F&&M0){let L=MA&&CF&&E.splice(1,1,["L",C-6,X],["L",C,X-6],["L",C+6,X],["L",J-j,X]);return E},circle:function(G,X,J,A){return _(G+J/2,X+A/2,J/2,A/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(G,X,J,A){return[["M",G+J/2,X],["L",G+J,X+A/2],["L",G+J/2,X+A],["L",G,X+A/2],["Z"]]},rect:O,roundedRect:te,square:O,triangle:function(G,X,J,A){return[["M",G+J/2,X],["L",G+J,X+A],["L",G,X+A],["Z"]]},"triangle-down":function(G,X,J,A){return[["M",G,X],["L",G+J,X],["L",G+J/2,X+A],["Z"]]}}}),e(s,"Core/Renderer/SVG/TextBuilder.js",[s["Core/Renderer/HTML/AST.js"],s["Core/Globals.js"],s["Core/Utilities.js"]],function(t,r,a){let{doc:l,SVG_NS:_,win:O}=r,{attr:te,extend:G,fireEvent:X,isString:J,objectEach:A,pick:$}=a;return class{constructor(j){let F=j.styles;this.renderer=j.renderer,this.svgElement=j,this.width=j.textWidth,this.textLineHeight=F&&F.lineHeight,this.textOutline=F&&F.textOutline,this.ellipsis=!!(F&&F.textOverflow==="ellipsis"),this.noWrap=!!(F&&F.whiteSpace==="nowrap")}buildSVG(){let j=this.svgElement,F=j.element,C=j.renderer,M=$(j.textStr,"").toString(),E=M.indexOf("<")!==-1,L=F.childNodes,y=!j.added&&C.box,P=[M,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,j.getStyle("font-size"),this.width].join(",");if(P!==j.textCache){j.textCache=P,delete j.actualWidth;for(let q=L.length;q--;)F.removeChild(L[q]);if(E||this.ellipsis||this.width||j.textPath||M.indexOf(" ")!==-1&&(!this.noWrap||//g.test(M))){if(M!==""){y&&y.appendChild(F);let q=new t(M);this.modifyTree(q.nodes),q.addToDOM(F),this.modifyDOM(),this.ellipsis&&(F.textContent||"").indexOf("\u2026")!==-1&&j.attr("title",this.unescapeEntities(j.textStr||"",["<",">"])),y&&y.removeChild(F)}}else F.appendChild(l.createTextNode(this.unescapeEntities(M)));J(this.textOutline)&&j.applyTextOutline&&j.applyTextOutline(this.textOutline)}}modifyDOM(){let j,F=this.svgElement,C=te(F.element,"x");for(F.firstLineMetrics=void 0;(j=F.element.firstChild)&&/^[\s\u200B]*$/.test(j.textContent||" ");)F.element.removeChild(j);[].forEach.call(F.element.querySelectorAll("tspan.highcharts-br"),(y,P)=>{y.nextSibling&&y.previousSibling&&(P===0&&y.previousSibling.nodeType===1&&(F.firstLineMetrics=F.renderer.fontMetrics(y.previousSibling)),te(y,{dy:this.getLineHeight(y.nextSibling),x:C}))});let M=this.width||0;if(!M)return;let E=(y,P)=>{let q=y.textContent||"",z=q.replace(/([^\^])-/g,"$1- ").split(" "),R=!this.noWrap&&(z.length>1||F.element.childNodes.length>1),u=this.getLineHeight(P),x=0,c=F.actualWidth;if(this.ellipsis)q&&this.truncate(y,q,void 0,0,Math.max(0,M-.8*u),(o,n)=>o.substring(0,n)+"\u2026");else if(R){let o=[],n=[];for(;P.firstChild&&P.firstChild!==y;)n.push(P.firstChild),P.removeChild(P.firstChild);for(;z.length;)z.length&&!this.noWrap&&x>0&&(o.push(y.textContent||""),y.textContent=z.join(" ").replace(/- /g,"-")),this.truncate(y,void 0,z,x===0&&c||0,M,(d,f)=>z.slice(0,f).join(" ").replace(/- /g,"-")),c=F.actualWidth,x++;n.forEach(d=>{P.insertBefore(d,y)}),o.forEach(d=>{P.insertBefore(l.createTextNode(d),y);let f=l.createElementNS(_,"tspan");f.textContent="\u200B",te(f,{dy:u,x:C}),P.insertBefore(f,y)})}},L=y=>{[].slice.call(y.childNodes).forEach(P=>{P.nodeType===O.Node.TEXT_NODE?E(P,y):(P.className.baseVal.indexOf("highcharts-br")!==-1&&(F.actualWidth=0),L(P))})};L(F.element)}getLineHeight(j){let F=j.nodeType===O.Node.TEXT_NODE?j.parentElement:j;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(F||this.svgElement.element).h}modifyTree(j){let F=(C,M)=>{let{attributes:E={},children:L,style:y={},tagName:P}=C,q=this.renderer.styledMode;if(P==="b"||P==="strong"?q?E.class="highcharts-strong":y.fontWeight="bold":(P==="i"||P==="em")&&(q?E.class="highcharts-emphasized":y.fontStyle="italic"),y&&y.color&&(y.fill=y.color),P==="br"){E.class="highcharts-br",C.textContent="\u200B";let z=j[M+1];z&&z.textContent&&(z.textContent=z.textContent.replace(/^ +/gm,""))}else P==="a"&&L&&L.some(z=>z.tagName==="#text")&&(C.children=[{children:L,tagName:"tspan"}]);P!=="#text"&&P!=="a"&&(C.tagName="tspan"),G(C,{attributes:E,style:y}),L&&L.filter(z=>z.tagName!=="#text").forEach(F)};j.forEach(F),X(this.svgElement,"afterModifyTree",{nodes:j})}truncate(j,F,C,M,E,L){let y,P,q=this.svgElement,{rotation:z}=q,R=[],u=C?1:0,x=(F||C||"").length,c=x,o=function(n,d){let f=d||n,S=j.parentNode;if(S&&R[f]===void 0&&S.getSubStringLength)try{R[f]=M+S.getSubStringLength(0,C?f+1:f)}catch{}return R[f]};if(q.rotation=0,M+(P=o(j.textContent.length))>E){for(;u<=x;)c=Math.ceil((u+x)/2),C&&(y=L(C,c)),P=o(c,y&&y.length-1),u===x?u=x+1:P>E?x=c-1:u=c;x===0?j.textContent="":F&&x===F.length-1||(j.textContent=y||L(F||C,c))}C&&C.splice(0,c),q.actualWidth=P,q.rotation=z}unescapeEntities(j,F){return A(this.renderer.escapes,function(C,M){F&&F.indexOf(C)!==-1||(j=j.toString().replace(RegExp(C,"g"),M))}),j}}}),e(s,"Core/Renderer/SVG/SVGRenderer.js",[s["Core/Renderer/HTML/AST.js"],s["Core/Defaults.js"],s["Core/Color/Color.js"],s["Core/Globals.js"],s["Core/Renderer/RendererRegistry.js"],s["Core/Renderer/SVG/SVGElement.js"],s["Core/Renderer/SVG/SVGLabel.js"],s["Core/Renderer/SVG/Symbols.js"],s["Core/Renderer/SVG/TextBuilder.js"],s["Core/Utilities.js"]],function(t,r,a,l,_,O,te,G,X,J){let A,{defaultOptions:$}=r,{charts:j,deg2rad:F,doc:C,isFirefox:M,isMS:E,isWebKit:L,noop:y,SVG_NS:P,symbolSizes:q,win:z}=l,{addEvent:R,attr:u,createElement:x,crisp:c,css:o,defined:n,destroyObjectProperties:d,extend:f,isArray:S,isNumber:T,isObject:m,isString:N,merge:ie,pick:D,pInt:B,replaceNested:V,uniqueKey:Z}=J;class re{constructor(g,v,H,h,w,b,I){let k,W,ee=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),se=ee.element;I||ee.css(this.getStyle(h||{})),g.appendChild(se),u(g,"dir","ltr"),g.innerHTML.indexOf("xmlns")===-1&&u(se,"xmlns",this.SVG_NS),this.box=se,this.boxWrapper=ee,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(C.createTextNode("Created with Highcharts 11.4.8")),this.defs=this.createElement("defs").add(),this.allowHTML=b,this.forExport=w,this.styledMode=I,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=ee.getStyle("font-size"),this.setSize(v,H,!1),M&&g.getBoundingClientRect&&((k=function(){o(g,{left:0,top:0}),W=g.getBoundingClientRect(),o(g,{left:Math.ceil(W.left)-W.left+"px",top:Math.ceil(W.top)-W.top+"px"})})(),this.unSubPixelFix=R(z,"resize",k))}definition(g){return new t([g]).addToDOM(this.defs.element)}getReferenceURL(){if((M||L)&&C.getElementsByTagName("base").length){if(!n(A)){let g=Z(),v=new t([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:g},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${g})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(C.body);o(v,{position:"fixed",top:0,left:0,zIndex:9e5});let H=C.elementFromPoint(6,6);A=(H&&H.id)==="hitme",C.body.removeChild(v)}if(A)return V(z.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"])}return""}getStyle(g){return this.style=f({fontFamily:"Helvetica, Arial, sans-serif",fontSize:"1rem"},g),this.style}setStyle(g){this.boxWrapper.css(this.getStyle(g))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let g=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),d(this.gradients||{}),this.gradients=null,this.defs=g.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null,null}createElement(g){return new this.Element(this,g)}getRadialAttr(g,v){return{cx:g[0]-g[2]/2+(v.cx||0)*g[2],cy:g[1]-g[2]/2+(v.cy||0)*g[2],r:(v.r||0)*g[2]}}shadowDefinition(g){let v=[`highcharts-drop-shadow-${this.chartIndex}`,...Object.keys(g).map(h=>`${h}-${g[h]}`)].join("-").toLowerCase().replace(/[^a-z\d\-]/g,""),H=ie({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},g);return this.defs.element.querySelector(`#${v}`)||this.definition({tagName:"filter",attributes:{id:v,filterUnits:H.filterUnits},children:this.getShadowFilterContent(H)}),v}getShadowFilterContent(g){return[{tagName:"feDropShadow",attributes:{dx:g.offsetX,dy:g.offsetY,"flood-color":g.color,"flood-opacity":Math.min(5*g.opacity,1),stdDeviation:g.width/2}}]}buildText(g){new X(g).buildSVG()}getContrast(g){let v=a.parse(g).rgba.map(h=>{let w=h/255;return w<=.03928?w/12.92:Math.pow((w+.055)/1.055,2.4)}),H=.2126*v[0]+.7152*v[1]+.0722*v[2];return 1.05/(H+.05)>(H+.05)/.05?"#FFFFFF":"#000000"}button(g,v,H,h,w={},b,I,k,W,ee){let se=this.label(g,v,H,W,void 0,void 0,ee,void 0,"button"),ne=this.styledMode,ce=arguments,de=0;w=ie($.global.buttonTheme,w),ne&&(delete w.fill,delete w.stroke,delete w["stroke-width"]);let Y=w.states||{},U=w.style||{};delete w.states,delete w.style;let K=[t.filterUserAttributes(w)],Q=[U];return ne||["hover","select","disabled"].forEach((oe,ae)=>{K.push(ie(K[0],t.filterUserAttributes(ce[ae+5]||Y[oe]||{}))),Q.push(K[ae+1].style),delete K[ae+1].style}),R(se.element,E?"mouseover":"mouseenter",function(){de!==3&&se.setState(1)}),R(se.element,E?"mouseout":"mouseleave",function(){de!==3&&se.setState(de)}),se.setState=(oe=0)=>{if(oe!==1&&(se.state=de=oe),se.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][oe]),!ne){se.attr(K[oe]);let ae=Q[oe];m(ae)&&se.css(ae)}},se.attr(K[0]),!ne&&(se.css(f({cursor:"default"},U)),ee&&se.text.css({pointerEvents:"none"})),se.on("touchstart",oe=>oe.stopPropagation()).on("click",function(oe){de!==3&&h.call(se,oe)})}crispLine(g,v){let[H,h]=g;return n(H[1])&&H[1]===h[1]&&(H[1]=h[1]=c(H[1],v)),n(H[2])&&H[2]===h[2]&&(H[2]=h[2]=c(H[2],v)),g}path(g){let v=this.styledMode?{}:{fill:"none"};return S(g)?v.d=g:m(g)&&f(v,g),this.createElement("path").attr(v)}circle(g,v,H){let h=m(g)?g:g===void 0?{}:{x:g,y:v,r:H},w=this.createElement("circle");return w.xSetter=w.ySetter=function(b,I,k){k.setAttribute("c"+I,b)},w.attr(h)}arc(g,v,H,h,w,b){let I;m(g)?(v=(I=g).y,H=I.r,h=I.innerR,w=I.start,b=I.end,g=I.x):I={innerR:h,start:w,end:b};let k=this.symbol("arc",g,v,H,H,I);return k.r=H,k}rect(g,v,H,h,w,b){let I=m(g)?g:g===void 0?{}:{x:g,y:v,r:w,width:Math.max(H||0,0),height:Math.max(h||0,0)},k=this.createElement("rect");return this.styledMode||(b!==void 0&&(I["stroke-width"]=b,f(I,k.crisp(I))),I.fill="none"),k.rSetter=function(W,ee,se){k.r=W,u(se,{rx:W,ry:W})},k.rGetter=function(){return k.r||0},k.attr(I)}roundedRect(g){return this.symbol("roundedRect").attr(g)}setSize(g,v,H){this.width=g,this.height=v,this.boxWrapper.animate({width:g,height:v},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:D(H,!0)?void 0:0}),this.alignElements()}g(g){let v=this.createElement("g");return g?v.attr({class:"highcharts-"+g}):v}image(g,v,H,h,w,b){let I={preserveAspectRatio:"none"};T(v)&&(I.x=v),T(H)&&(I.y=H),T(h)&&(I.width=h),T(w)&&(I.height=w);let k=this.createElement("image").attr(I),W=function(ee){k.attr({href:g}),b.call(k,ee)};if(b){k.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let ee=new z.Image;R(ee,"load",W),ee.src=g,ee.complete&&W({})}else k.attr({href:g});return k}symbol(g,v,H,h,w,b){let I,k,W,ee,se=this,ne=/^url\((.*?)\)$/,ce=ne.test(g),de=!ce&&(this.symbols[g]?g:"circle"),Y=de&&this.symbols[de];if(Y)typeof v=="number"&&(k=Y.call(this.symbols,v||0,H||0,h||0,w||0,b)),I=this.path(k),se.styledMode||I.attr("fill","none"),f(I,{symbolName:de||void 0,x:v,y:H,width:h,height:w}),b&&f(I,b);else if(ce){W=g.match(ne)[1];let U=I=this.image(W);U.imgwidth=D(b&&b.width,q[W]&&q[W].width),U.imgheight=D(b&&b.height,q[W]&&q[W].height),ee=K=>K.attr({width:K.width,height:K.height}),["width","height"].forEach(K=>{U[`${K}Setter`]=function(Q,oe){this[oe]=Q;let{alignByTranslate:ae,element:he,width:le,height:ue,imgwidth:pe,imgheight:fe}=this,me=oe==="width"?pe:fe,ge=1;b&&b.backgroundSize==="within"&&le&&ue&&pe&&fe?(ge=Math.min(le/pe,ue/fe),u(he,{width:Math.round(pe*ge),height:Math.round(fe*ge)})):he&&me&&he.setAttribute(oe,me),!ae&&pe&&fe&&this.translate(((le||0)-pe*ge)/2,((ue||0)-fe*ge)/2)}}),n(v)&&U.attr({x:v,y:H}),U.isImg=!0,U.symbolUrl=g,n(U.imgwidth)&&n(U.imgheight)?ee(U):(U.attr({width:0,height:0}),x("img",{onload:function(){let K=j[se.chartIndex];this.width===0&&(o(this,{position:"absolute",top:"-999em"}),C.body.appendChild(this)),q[W]={width:this.width,height:this.height},U.imgwidth=this.width,U.imgheight=this.height,U.element&&ee(U),this.parentNode&&this.parentNode.removeChild(this),se.imgCount--,se.imgCount||!K||K.hasLoaded||K.onload()},src:W}),this.imgCount++)}return I}clipRect(g,v,H,h){return this.rect(g,v,H,h,0)}text(g,v,H,h){let w={};if(h&&(this.allowHTML||!this.forExport))return this.html(g,v,H);w.x=Math.round(v||0),H&&(w.y=Math.round(H)),n(g)&&(w.text=g);let b=this.createElement("text").attr(w);return h&&(!this.forExport||this.allowHTML)||(b.xSetter=function(I,k,W){let ee=W.getElementsByTagName("tspan"),se=W.getAttribute(k);for(let ne=0,ce;neg.align())}}return f(re.prototype,{Element:O,SVG_NS:P,escapes:{"&":"&","<":"<",">":">","'":"'",'"':"""},symbols:G,draw:y}),_.registerRendererType("svg",re,!0),re}),e(s,"Core/Renderer/HTML/HTMLElement.js",[s["Core/Renderer/HTML/AST.js"],s["Core/Globals.js"],s["Core/Renderer/SVG/SVGElement.js"],s["Core/Utilities.js"]],function(t,r,a,l){let{composed:_}=r,{attr:O,css:te,createElement:G,defined:X,extend:J,pInt:A,pushUnique:$}=l;function j(E,L,y){let P=this.div?.style||y.style;a.prototype[`${L}Setter`].call(this,E,L,y),P&&(P[L]=E)}let F=(E,L)=>{if(!E.div){let y=O(E.element,"class"),P=E.css,q=G("div",y?{className:y}:void 0,ze(we({position:"absolute",left:`${E.translateX||0}px`,top:`${E.translateY||0}px`},E.styles),{display:E.display,opacity:E.opacity,visibility:E.visibility}),E.parentGroup?.div||L);E.classSetter=(z,R,u)=>{u.setAttribute("class",z),q.className=z},E.translateXSetter=E.translateYSetter=(z,R)=>{E[R]=z,q.style[R==="translateX"?"left":"top"]=`${z}px`,E.doTransform=!0},E.opacitySetter=E.visibilitySetter=j,E.css=z=>(P.call(E,z),z.cursor&&(q.style.cursor=z.cursor),z.pointerEvents&&(q.style.pointerEvents=z.pointerEvents),E),E.on=function(){return a.prototype.on.apply({element:q,onEvents:E.onEvents},arguments),E},E.div=q}return E.div};class C extends a{static compose(L){$(_,this.compose)&&(L.prototype.html=function(y,P,q){return new C(this,"span").attr({text:y,x:Math.round(P),y:Math.round(q)})})}constructor(L,y){super(L,y),this.css(we({position:"absolute"},L.styledMode?{}:{fontFamily:L.style.fontFamily,fontSize:L.style.fontSize})),this.element.style.whiteSpace="nowrap"}getSpanCorrection(L,y,P){this.xCorr=-L*P,this.yCorr=-y}css(L){let y,{element:P}=this,q=P.tagName==="SPAN"&&L&&"width"in L,z=q&&L.width;return q&&(delete L.width,this.textWidth=A(z)||void 0,y=!0),L?.textOverflow==="ellipsis"&&(L.whiteSpace="nowrap",L.overflow="hidden"),J(this.styles,L),te(P,L),y&&this.updateTransform(),this}htmlGetBBox(){let{element:L}=this;return{x:L.offsetLeft,y:L.offsetTop,width:L.offsetWidth,height:L.offsetHeight}}updateTransform(){if(!this.added){this.alignOnAdd=!0;return}let{element:L,renderer:y,rotation:P,rotationOriginX:q,rotationOriginY:z,styles:R,textAlign:u="left",textWidth:x,translateX:c=0,translateY:o=0,x:n=0,y:d=0}=this,f={left:0,center:.5,right:1}[u],S=R.whiteSpace;if(te(L,{marginLeft:`${c}px`,marginTop:`${o}px`}),L.tagName==="SPAN"){let T=[P,u,L.innerHTML,x,this.textAlign].join(","),m=-(this.parentGroup?.padding*1)||0,N,ie=!1;if(x!==this.oldTextWidth){let re=this.textPxLength?this.textPxLength:(te(L,{width:"",whiteSpace:S||"nowrap"}),L.offsetWidth),p=x||0;(p>this.oldTextWidth||re>p)&&(/[ \-]/.test(L.textContent||L.innerText)||L.style.textOverflow==="ellipsis")&&(te(L,{width:re>p||P?x+"px":"auto",display:"block",whiteSpace:S||"normal"}),this.oldTextWidth=x,ie=!0)}this.hasBoxWidthChanged=ie,T!==this.cTT&&(N=y.fontMetrics(L).b,X(P)&&(P!==(this.oldRotation||0)||u!==this.oldAlign)&&this.setSpanRotation(P,m,m),this.getSpanCorrection(!X(P)&&this.textPxLength||L.offsetWidth,N,f));let{xCorr:D=0,yCorr:B=0}=this,V=(q??n)-D-n-m,Z=(z??d)-B-d-m;te(L,{left:`${n+D}px`,top:`${d+B}px`,transformOrigin:`${V}px ${Z}px`}),this.cTT=T,this.oldRotation=P,this.oldAlign=u}}setSpanRotation(L,y,P){te(this.element,{transform:`rotate(${L}deg)`,transformOrigin:`${y}% ${P}px`})}add(L){let y,P=this.renderer.box.parentNode,q=[];if(this.parentGroup=L,L&&!(y=L.div)){let z=L;for(;z;)q.push(z),z=z.parentGroup;for(let R of q.reverse())y=F(R,P)}return(y||P).appendChild(this.element),this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(L){L!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,t.setElementHTML(this.element,L??""),this.textStr=L,this.doTransform=!0)}alignSetter(L){this.alignValue=this.textAlign=L,this.doTransform=!0}xSetter(L,y){this[y]=L,this.doTransform=!0}}let M=C.prototype;return M.visibilitySetter=M.opacitySetter=j,M.ySetter=M.rotationSetter=M.rotationOriginXSetter=M.rotationOriginYSetter=M.xSetter,C}),e(s,"Core/Axis/AxisDefaults.js",[],function(){var t,r;return(r=t||(t={})).xAxis={alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:"%H:%M:%S.%L",range:!1},second:{main:"%H:%M:%S",range:!1},minute:{main:"%H:%M",range:!1},hour:{main:"%H:%M",range:!1},day:{main:"%e %b"},week:{main:"%e %b"},month:{main:"%b '%y"},year:{main:"%Y"}},endOnTick:!1,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotationLimit:80,distance:15,enabled:!0,indentation:10,overflow:"justify",reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:"#333333",cursor:"default",fontSize:"0.8em"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minorTicksPerMajor:5,minPadding:.01,offset:void 0,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",useHTML:!1,x:0,y:0,style:{color:"#666666",fontSize:"0.8em"}},visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#333333",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#333333"},r.yAxis={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){let{numberFormatter:a}=this.axis.chart;return a(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},t}),e(s,"Core/Foundation.js",[s["Core/Utilities.js"]],function(t){var r;let{addEvent:a,isFunction:l,objectEach:_,removeEvent:O}=t;return(r||(r={})).registerEventOptions=function(te,G){te.eventOptions=te.eventOptions||{},_(G.events,function(X,J){te.eventOptions[J]!==X&&(te.eventOptions[J]&&(O(te,J,te.eventOptions[J]),delete te.eventOptions[J]),l(X)&&(te.eventOptions[J]=X,a(te,J,X,{order:0})))})},r}),e(s,"Core/Axis/Tick.js",[s["Core/Templating.js"],s["Core/Globals.js"],s["Core/Utilities.js"]],function(t,r,a){let{deg2rad:l}=r,{clamp:_,correctFloat:O,defined:te,destroyObjectProperties:G,extend:X,fireEvent:J,isNumber:A,merge:$,objectEach:j,pick:F}=a;return class{constructor(C,M,E,L,y){this.isNew=!0,this.isNewLabel=!0,this.axis=C,this.pos=M,this.type=E||"",this.parameters=y||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,J(this,"init"),E||L||this.addLabel()}addLabel(){let C=this,M=C.axis,E=M.options,L=M.chart,y=M.categories,P=M.logarithmic,q=M.names,z=C.pos,R=F(C.options&&C.options.labels,E.labels),u=M.tickPositions,x=z===u[0],c=z===u[u.length-1],o=(!R.step||R.step===1)&&M.tickInterval===1,n=u.info,d=C.label,f,S,T,m=this.parameters.category||(y?F(y[z],q[z],z):z);P&&A(m)&&(m=O(P.lin2log(m))),M.dateTime&&(n?f=(S=L.time.resolveDTLFormat(E.dateTimeLabelFormats[!E.grid&&n.higherRanks[z]||n.unitName])).main:A(m)&&(f=M.dateTime.getXDateFormat(m,E.dateTimeLabelFormats||{}))),C.isFirst=x,C.isLast=c;let N={axis:M,chart:L,dateTimeLabelFormat:f,isFirst:x,isLast:c,pos:z,tick:C,tickPositionInfo:n,value:m};J(this,"labelFormat",N);let ie=V=>R.formatter?R.formatter.call(V,V):R.format?(V.text=M.defaultLabelFormatter.call(V),t.format(R.format,V,L)):M.defaultLabelFormatter.call(V),D=ie.call(N,N),B=S&&S.list;B?C.shortenLabel=function(){for(T=0;T0&&L+x*c>z&&(m=Math.round((y-L)/Math.cos(u*l))):(S=L-x*c,T=L+(1-x)*c,Sz&&(d=z-C.x+d*x,f=-1),(d=Math.min(o,d))d||M.autoRotation&&(R.styles||{}).width)&&(m=d)),m&&(this.shortenLabel?this.shortenLabel():(n.width=Math.floor(m)+"px",(E.style||{}).textOverflow||(n.textOverflow="ellipsis"),R.css(n)))}moveLabel(C,M){let E=this,L=E.label,y=E.axis,P=!1,q;L&&L.textStr===C?(E.movedLabel=L,P=!0,delete E.label):j(y.ticks,function(z){P||z.isNew||z===E||!z.label||z.label.textStr!==C||(E.movedLabel=z.label,P=!0,z.labelPos=E.movedLabel.xy,delete z.label)}),!P&&(E.labelPos||L)&&(q=E.labelPos||L.xy,E.movedLabel=E.createLabel(C,M,q),E.movedLabel&&E.movedLabel.attr({opacity:0}))}render(C,M,E){let L=this.axis,y=L.horiz,P=this.pos,q=F(this.tickmarkOffset,L.tickmarkOffset),z=this.getPosition(y,P,q,M),R=z.x,u=z.y,x=L.pos,c=x+L.len,o=y?R:u;!L.chart.polar&&this.isNew&&(O(o)c)&&(E=0);let n=F(E,this.label&&this.label.newOpacity,1);E=F(E,1),this.isActive=!0,this.renderGridLine(M,E),this.renderMark(z,E),this.renderLabel(z,M,n,C),this.isNew=!1,J(this,"afterRender")}renderGridLine(C,M){let E=this.axis,L=E.options,y={},P=this.pos,q=this.type,z=F(this.tickmarkOffset,E.tickmarkOffset),R=E.chart.renderer,u=this.gridLine,x,c=L.gridLineWidth,o=L.gridLineColor,n=L.gridLineDashStyle;this.type==="minor"&&(c=L.minorGridLineWidth,o=L.minorGridLineColor,n=L.minorGridLineDashStyle),u||(E.chart.styledMode||(y.stroke=o,y["stroke-width"]=c||0,y.dashstyle=n),q||(y.zIndex=1),C&&(M=0),this.gridLine=u=R.path().attr(y).addClass("highcharts-"+(q?q+"-":"")+"grid-line").add(E.gridGroup)),u&&(x=E.getPlotLinePath({value:P+z,lineWidth:u.strokeWidth(),force:"pass",old:C,acrossPanes:!1}))&&u[C||this.isNew?"attr":"animate"]({d:x,opacity:M})}renderMark(C,M){let E=this.axis,L=E.options,y=E.chart.renderer,P=this.type,q=E.tickSize(P?P+"Tick":"tick"),z=C.x,R=C.y,u=F(L[P!=="minor"?"tickWidth":"minorTickWidth"],!P&&E.isXAxis?1:0),x=L[P!=="minor"?"tickColor":"minorTickColor"],c=this.mark,o=!c;q&&(E.opposite&&(q[0]=-q[0]),c||(this.mark=c=y.path().addClass("highcharts-"+(P?P+"-":"")+"tick").add(E.axisGroup),E.chart.styledMode||c.attr({stroke:x,"stroke-width":u})),c[o?"attr":"animate"]({d:this.getMarkPath(z,R,q[0],c.strokeWidth(),E.horiz,y),opacity:M}))}renderLabel(C,M,E,L){let y=this.axis,P=y.horiz,q=y.options,z=this.label,R=q.labels,u=R.step,x=F(this.tickmarkOffset,y.tickmarkOffset),c=C.x,o=C.y,n=!0;z&&A(c)&&(z.xy=C=this.getLabelPosition(c,o,z,P,R,x,L,u),(!this.isFirst||this.isLast||q.showFirstLabel)&&(!this.isLast||this.isFirst||q.showLastLabel)?!P||R.step||R.rotation||M||E===0||this.handleOverflow(C):n=!1,u&&L%u&&(n=!1),n&&A(C.y)?(C.opacity=E,z[this.isNewLabel?"attr":"animate"](C).show(!0),this.isNewLabel=!1):(z.hide(),this.isNewLabel=!0))}replaceMovedLabel(){let C=this.label,M=this.axis;C&&!this.isNew&&(C.animate({opacity:0},void 0,C.destroy),delete this.label),M.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel}}}),e(s,"Core/Axis/Axis.js",[s["Core/Animation/AnimationUtilities.js"],s["Core/Axis/AxisDefaults.js"],s["Core/Color/Color.js"],s["Core/Defaults.js"],s["Core/Foundation.js"],s["Core/Globals.js"],s["Core/Axis/Tick.js"],s["Core/Utilities.js"]],function(t,r,a,l,_,O,te,G){let{animObject:X}=t,{xAxis:J,yAxis:A}=r,{defaultOptions:$}=l,{registerEventOptions:j}=_,{deg2rad:F}=O,{arrayMax:C,arrayMin:M,clamp:E,correctFloat:L,defined:y,destroyObjectProperties:P,erase:q,error:z,extend:R,fireEvent:u,getClosestDistance:x,insertItem:c,isArray:o,isNumber:n,isString:d,merge:f,normalizeTickInterval:S,objectEach:T,pick:m,relativeLength:N,removeEvent:ie,splat:D,syncTimeout:B}=G,V=(re,p)=>S(p,void 0,void 0,m(re.options.allowDecimals,p<.5||re.tickAmount!==void 0),!!re.tickAmount);R($,{xAxis:J,yAxis:f(J,A)});class Z{constructor(p,g,v){this.init(p,g,v)}init(p,g,v=this.coll){let H=v==="xAxis",h=this.isZAxis||(p.inverted?!H:H);this.chart=p,this.horiz=h,this.isXAxis=H,this.coll=v,u(this,"init",{userOptions:g}),this.opposite=m(g.opposite,this.opposite),this.side=m(g.side,this.side,h?this.opposite?0:2:this.opposite?1:3),this.setOptions(g);let w=this.options,b=w.labels;this.type??(this.type=w.type||"linear"),this.uniqueNames??(this.uniqueNames=w.uniqueNames??!0),u(this,"afterSetType"),this.userOptions=g,this.minPixelPadding=0,this.reversed=m(w.reversed,this.reversed),this.visible=w.visible,this.zoomEnabled=w.zoomEnabled,this.hasNames=this.type==="category"||w.categories===!0,this.categories=o(w.categories)&&w.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=y(w.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len??(this.len=0),this.minRange=this.userMinRange=w.minRange||w.maxZoom,this.range=w.range,this.offset=w.offset||0,this.max=void 0,this.min=void 0;let I=m(w.crosshair,D(p.options.tooltip.crosshairs)[H?0:1]);this.crosshair=I===!0?{}:I,p.axes.indexOf(this)===-1&&(H?p.axes.splice(p.xAxis.length,0,this):p.axes.push(this),c(this,p[this.coll])),p.orderItems(this.coll),this.series=this.series||[],p.inverted&&!this.isZAxis&&H&&!y(this.reversed)&&(this.reversed=!0),this.labelRotation=n(b.rotation)?b.rotation:void 0,j(this,w),u(this,"afterInit")}setOptions(p){let g=this.horiz?{labels:{autoRotation:[-45],padding:4},margin:15}:{labels:{padding:1},title:{rotation:90*this.side}};this.options=f(g,$[this.coll],p),u(this,"afterSetOptions",{userOptions:p})}defaultLabelFormatter(){let p=this.axis,{numberFormatter:g}=this.chart,v=n(this.value)?this.value:NaN,H=p.chart.time,h=p.categories,w=this.dateTimeLabelFormat,b=$.lang,I=b.numericSymbols,k=b.numericSymbolMagnitude||1e3,W=p.logarithmic?Math.abs(v):p.tickInterval,ee=I&&I.length,se,ne;if(h)ne=`${this.value}`;else if(w)ne=H.dateFormat(w,v);else if(ee&&I&&W>=1e3)for(;ee--&&ne===void 0;)W>=(se=Math.pow(k,ee+1))&&10*v%se==0&&I[ee]!==null&&v!==0&&(ne=g(v/se,-1)+I[ee]);return ne===void 0&&(ne=Math.abs(v)>=1e4?g(v,-1):g(v,-1,void 0,"")),ne}getSeriesExtremes(){let p,g=this;u(this,"getSeriesExtremes",null,function(){g.hasVisibleSeries=!1,g.dataMin=g.dataMax=g.threshold=void 0,g.softThreshold=!g.isXAxis,g.series.forEach(v=>{if(v.reserveSpace()){let H=v.options,h,w=H.threshold,b,I;if(g.hasVisibleSeries=!0,g.positiveValuesOnly&&0>=(w||0)&&(w=void 0),g.isXAxis)(h=v.xData)&&h.length&&(h=g.logarithmic?h.filter(k=>k>0):h,b=(p=v.getXExtremes(h)).min,I=p.max,n(b)||b instanceof Date||(h=h.filter(n),b=(p=v.getXExtremes(h)).min,I=p.max),h.length&&(g.dataMin=Math.min(m(g.dataMin,b),b),g.dataMax=Math.max(m(g.dataMax,I),I)));else{let k=v.applyExtremes();n(k.dataMin)&&(b=k.dataMin,g.dataMin=Math.min(m(g.dataMin,b),b)),n(k.dataMax)&&(I=k.dataMax,g.dataMax=Math.max(m(g.dataMax,I),I)),y(w)&&(g.threshold=w),(!H.softThreshold||g.positiveValuesOnly)&&(g.softThreshold=!1)}}})}),u(this,"afterGetSeriesExtremes")}translate(p,g,v,H,h,w){let b=this.linkedParent||this,I=H&&b.old?b.old.min:b.min;if(!n(I))return NaN;let k=b.minPixelPadding,W=(b.isOrdinal||b.brokenAxis?.hasBreaks||b.logarithmic&&h)&&b.lin2val,ee=1,se=0,ne=H&&b.old?b.old.transA:b.transA,ce=0;return ne||(ne=b.transA),v&&(ee*=-1,se=b.len),b.reversed&&(ee*=-1,se-=ee*(b.sector||b.len)),g?(ce=(p=p*ee+se-k)/ne+I,W&&(ce=b.lin2val(ce))):(W&&(p=b.val2lin(p)),ce=ee*(p-I)*ne+se+ee*k+(n(w)?ne*w:0),b.isRadial||(ce=L(ce))),ce}toPixels(p,g){return this.translate(p,!1,!this.horiz,void 0,!0)+(g?0:this.pos)}toValue(p,g){return this.translate(p-(g?0:this.pos),!0,!this.horiz,void 0,!0)}getPlotLinePath(p){let g=this,v=g.chart,H=g.left,h=g.top,w=p.old,b=p.value,I=p.lineWidth,k=w&&v.oldChartHeight||v.chartHeight,W=w&&v.oldChartWidth||v.chartWidth,ee=g.transB,se=p.translatedValue,ne=p.force,ce,de,Y,U,K;function Q(ae,he,le){return ne!=="pass"&&(aele)&&(ne?ae=E(ae,he,le):K=!0),ae}let oe={value:b,lineWidth:I,old:w,force:ne,acrossPanes:p.acrossPanes,translatedValue:se};return u(this,"getPlotLinePath",oe,function(ae){ce=Y=(se=E(se=m(se,g.translate(b,void 0,void 0,w)),-1e9,1e9))+ee,de=U=k-se-ee,n(se)?g.horiz?(de=h,U=k-g.bottom+(g.options.isInternal?0:v.scrollablePixelsY||0),ce=Y=Q(ce,H,H+g.width)):(ce=H,Y=W-g.right+(v.scrollablePixelsX||0),de=U=Q(de,h,h+g.height)):(K=!0,ne=!1),ae.path=K&&!ne?void 0:v.renderer.crispLine([["M",ce,de],["L",Y,U]],I||1)}),oe.path}getLinearTickPositions(p,g,v){let H,h,w,b=L(Math.floor(g/p)*p),I=L(Math.ceil(v/p)*p),k=[];if(L(b+p)===b&&(w=20),this.single)return[g];for(H=b;H<=I&&(k.push(H),(H=L(H+p,w))!==h);)h=H;return k}getMinorTickInterval(){let{minorTicks:p,minorTickInterval:g}=this.options;return p===!0?m(g,"auto"):p!==!1?g:void 0}getMinorTickPositions(){let p=this.options,g=this.tickPositions,v=this.minorTickInterval,H=this.pointRangePadding||0,h=(this.min||0)-H,w=(this.max||0)+H,b=w-h,I=[],k;if(b&&b/v(W.xIncrement?W.xData?.slice(0,2):W.xData)||[]))||0),this.dataMax-this.dataMin)),n(v)&&n(H)&&n(h)&&v-H=h,w=(h-v+H)/2,I=[H-w,m(p.min,H-w)],b&&(I[2]=g?g.log2lin(this.dataMin):this.dataMin),k=[(H=C(I))+h,m(p.max,H+h)],b&&(k[2]=g?g.log2lin(this.dataMax):this.dataMax),(v=M(k))-HH-h),p=x([v]))}return p&&g?Math.min(p,g):p||g}nameToX(p){let g=o(this.options.categories),v=g?this.categories:this.names,H=p.options.x,h;return p.series.requireSorting=!1,y(H)||(H=this.uniqueNames&&v?g?v.indexOf(p.name):m(v.keys[p.name],-1):p.series.autoIncrement()),H===-1?!g&&v&&(h=v.length):h=H,h!==void 0?(this.names[h]=p.name,this.names.keys[p.name]=h):p.x&&(h=p.x),h}updateNames(){let p=this,g=this.names;g.length>0&&(Object.keys(g.keys).forEach(function(v){delete g.keys[v]}),g.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(v=>{v.xIncrement=null,(!v.points||v.isDirtyData)&&(p.max=Math.max(p.max,v.xData.length-1),v.processData(),v.generatePoints()),v.data.forEach(function(H,h){let w;H?.options&&H.name!==void 0&&(w=p.nameToX(H))!==void 0&&w!==H.x&&(H.x=w,v.xData[h]=w)})}))}setAxisTranslation(){let p=this,g=p.max-p.min,v=p.linkedParent,H=!!p.categories,h=p.isXAxis,w=p.axisPointRange||0,b,I=0,k=0,W,ee=p.transA;(h||H||w)&&(b=p.getClosest(),v?(I=v.minPointOffset,k=v.pointRangePadding):p.series.forEach(function(se){let ne=H?1:h?m(se.options.pointRange,b,0):p.axisPointRange||0,ce=se.options.pointPlacement;if(w=Math.max(w,ne),!p.single||H){let de=se.is("xrange")?!h:h;I=Math.max(I,de&&d(ce)?0:ne/2),k=Math.max(k,de&&ce==="on"?0:ne)}}),W=p.ordinal&&p.ordinal.slope&&b?p.ordinal.slope/b:1,p.minPointOffset=I*=W,p.pointRangePadding=k*=W,p.pointRange=Math.min(w,p.single&&H?1:g),h&&b&&(p.closestPointRange=b)),p.translationSlope=p.transA=ee=p.staticScale||p.len/(g+k||1),p.transB=p.horiz?p.left:p.bottom,p.minPixelPadding=ee*I,u(this,"afterSetAxisTranslation")}minFromRange(){let{max:p,min:g}=this;return n(p)&&n(g)&&p-g||void 0}setTickInterval(p){let{categories:g,chart:v,dataMax:H,dataMin:h,dateTime:w,isXAxis:b,logarithmic:I,options:k,softThreshold:W}=this,ee=n(this.threshold)?this.threshold:void 0,se=this.minRange||0,{ceiling:ne,floor:ce,linkedTo:de,softMax:Y,softMin:U}=k,K=n(de)&&v[this.coll]?.[de],Q=k.tickPixelInterval,oe=k.maxPadding,ae=k.minPadding,he=0,le,ue=n(k.tickInterval)&&k.tickInterval>=0?k.tickInterval:void 0,pe,fe,me,ge;if(w||g||K||this.getTickAmount(),me=m(this.userMin,k.min),ge=m(this.userMax,k.max),K?(this.linkedParent=K,le=K.getExtremes(),this.min=m(le.min,le.dataMin),this.max=m(le.max,le.dataMax),this.type!==K.type&&z(11,!0,v)):(W&&y(ee)&&n(H)&&n(h)&&(h>=ee?(pe=ee,ae=0):H<=ee&&(fe=ee,oe=0)),this.min=m(me,pe,h),this.max=m(ge,fe,H)),n(this.max)&&n(this.min)&&(I&&(this.positiveValuesOnly&&!p&&0>=Math.min(this.min,m(h,this.min))&&z(10,!0,v),this.min=L(I.log2lin(this.min),16),this.max=L(I.log2lin(this.max),16)),this.range&&n(h)&&(this.userMin=this.min=me=Math.max(h,this.minFromRange()||0),this.userMax=ge=this.max,this.range=void 0)),u(this,"foundExtremes"),this.adjustForMinRange(),n(this.min)&&n(this.max)){if(!n(this.userMin)&&n(U)&&Uthis.max&&(this.max=ge=Y),g||this.axisPointRange||this.stacking?.usePercentage||K||!(he=this.max-this.min)||(!y(me)&&ae&&(this.min-=he*ae),y(ge)||!oe||(this.max+=he*oe)),!n(this.userMin)&&n(ce)&&(this.min=Math.max(this.min,ce)),!n(this.userMax)&&n(ne)&&(this.max=Math.min(this.max,ne)),W&&n(h)&&n(H)){let ve=ee||0;!y(me)&&this.min=ve?this.min=k.minRange?Math.min(ve,this.max-se):ve:!y(ge)&&this.max>ve&&H<=ve&&(this.max=k.minRange?Math.max(ve,this.min+se):ve)}!v.polar&&this.min>this.max&&(y(k.min)?this.max=this.min:y(k.max)&&(this.min=this.max)),he=this.max-this.min}if(this.min!==this.max&&n(this.min)&&n(this.max)?K&&!ue&&Q===K.options.tickPixelInterval?this.tickInterval=ue=K.tickInterval:this.tickInterval=m(ue,this.tickAmount?he/Math.max(this.tickAmount-1,1):void 0,g?1:he*Q/Math.max(this.len,Q)):this.tickInterval=1,b&&!p){let ve=this.min!==this.old?.min||this.max!==this.old?.max;this.series.forEach(function(ye){ye.forceCrop=ye.forceCropping?.(),ye.processData(ve)}),u(this,"postProcessData",{hasExtremesChanged:ve})}this.setAxisTranslation(),u(this,"initialAxisTranslation"),this.pointRange&&!ue&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));let be=m(k.minTickInterval,w&&!this.series.some(ve=>ve.noSharedTooltip)?this.closestPointRange:0);!ue&&this.tickIntervalMath.max(2*this.len,200))I=[this.min,this.max],z(19,!1,this.chart);else if(this.dateTime)I=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,p.units),this.min,this.max,p.startOfWeek,this.ordinal?.positions,this.closestPointRange,!0);else if(this.logarithmic)I=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let W=this.tickInterval,ee=W;for(;ee<=2*W&&(I=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&I.length>this.tickAmount);)this.tickInterval=V(this,ee*=1.1)}I.length>this.len&&(I=[I[0],I[I.length-1]])[0]===I[1]&&(I.length=1),v&&(this.tickPositions=I,(k=v.apply(this,[this.min,this.max]))&&(I=k))}this.tickPositions=I,this.minorTickInterval=H==="auto"&&this.tickInterval?this.tickInterval/p.minorTicksPerMajor:H,this.paddedTicks=I.slice(0),this.trimTicks(I,w,b),!this.isLinked&&n(this.min)&&n(this.max)&&(this.single&&I.length<2&&!this.categories&&!this.series.some(W=>W.is("heatmap")&&W.options.pointPlacement==="between")&&(this.min-=.5,this.max+=.5),g||k||this.adjustTickAmount()),u(this,"afterSetTickPositions")}trimTicks(p,g,v){let H=p[0],h=p[p.length-1],w=!this.isOrdinal&&this.minPointOffset||0;if(u(this,"trimTicks"),!this.isLinked){if(g&&H!==-1/0)this.min=H;else for(;this.min-w>p[0];)p.shift();if(v)this.max=h;else for(;this.max+w{let{horiz:se,options:ne}=ee;return[se?ne.left:ne.top,ne.width,ne.height,ne.pane].join(",")},W=k(this);v[this.coll].forEach(function(ee){let{series:se}=ee;se.length&&se.some(ne=>ne.visible)&&ee!==g&&k(ee)===W&&(p=!0,H.push(ee))})}if(p&&b){H.forEach(W=>{let ee=W.getThresholdAlignment(g);n(ee)&&I.push(ee)});let k=I.length>1?I.reduce((W,ee)=>W+=ee,0)/I.length:void 0;H.forEach(W=>{W.thresholdAlignment=k})}return p}getThresholdAlignment(p){if((!n(this.dataMin)||this!==p&&this.series.some(g=>g.isDirty||g.isDirtyData))&&this.getSeriesExtremes(),n(this.threshold)){let g=E((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return this.options.reversed&&(g=1-g),g}}getTickAmount(){let p=this.options,g=p.tickPixelInterval,v=p.tickAmount;y(p.tickInterval)||v||!(this.lenw.push(L(w[w.length-1]+ne)),Y=()=>w.unshift(L(w[0]-ne));if(n(I)&&(ce=I<.5?Math.ceil(I*(b-1)):Math.floor(I*(b-1)),h.reversed&&(ce=b-1-ce)),p.hasData()&&n(H)&&n(v)){let U=()=>{p.transA*=(k-1)/(b-1),p.min=h.startOnTick?w[0]:Math.min(H,w[0]),p.max=h.endOnTick?w[w.length-1]:Math.max(v,w[w.length-1])};if(n(ce)&&n(p.threshold)){for(;w[ce]!==W||w.length!==b||w[0]>H||w[w.length-1]p.threshold?Y():de();if(ne>8*p.tickInterval)break;ne*=2}U()}else if(k0&&se{v=v||w.isDirtyData||w.isDirty,H=H||w.xAxis&&w.xAxis.isDirty||!1}),this.setAxisSize();let h=this.len!==(this.old&&this.old.len);h||v||H||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?(g&&p==="yAxis"&&g.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),g&&p==="xAxis"&&g.buildStacks(),this.isDirty||(this.isDirty=h||this.min!==this.old?.min||this.max!==this.old?.max)):g&&g.cleanStacks(),v&&delete this.allExtremes,u(this,"afterSetScale")}setExtremes(p,g,v=!0,H,h){this.series.forEach(w=>{delete w.kdTree}),u(this,"setExtremes",h=R(h,{min:p,max:g}),w=>{this.userMin=w.min,this.userMax=w.max,this.eventArgs=w,v&&this.chart.redraw(H)})}setAxisSize(){let p=this.chart,g=this.options,v=g.offsets||[0,0,0,0],H=this.horiz,h=this.width=Math.round(N(m(g.width,p.plotWidth-v[3]+v[1]),p.plotWidth)),w=this.height=Math.round(N(m(g.height,p.plotHeight-v[0]+v[2]),p.plotHeight)),b=this.top=Math.round(N(m(g.top,p.plotTop+v[0]),p.plotHeight,p.plotTop)),I=this.left=Math.round(N(m(g.left,p.plotLeft+v[3]),p.plotWidth,p.plotLeft));this.bottom=p.chartHeight-w-b,this.right=p.chartWidth-h-I,this.len=Math.max(H?h:w,0),this.pos=H?I:b}getExtremes(){let p=this.logarithmic;return{min:p?L(p.lin2log(this.min)):this.min,max:p?L(p.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(p){let g=this.logarithmic,v=g?g.lin2log(this.min):this.min,H=g?g.lin2log(this.max):this.max;return p===null||p===-1/0?p=v:p===1/0?p=H:v>p?p=v:H15&&g<165?H.align="right":g>195&&g<345&&(H.align="left")}),v.align}tickSize(p){let g=this.options,v=m(g[p==="tick"?"tickWidth":"minorTickWidth"],p==="tick"&&this.isXAxis&&!this.categories?1:0),H=g[p==="tick"?"tickLength":"minorTickLength"],h;v&&H&&(g[p+"Position"]==="inside"&&(H=-H),h=[H,v]);let w={tickSize:h};return u(this,"afterTickSize",w),w.tickSize}labelMetrics(){let p=this.chart.renderer,g=this.ticks,v=g[Object.keys(g)[0]]||{};return this.chart.renderer.fontMetrics(v.label||v.movedLabel||p.box)}unsquish(){let p=this.options.labels,g=p.padding||0,v=this.horiz,H=this.tickInterval,h=this.len/(((this.categories?1:0)+this.max-this.min)/H),w=p.rotation,b=L(.8*this.labelMetrics().h),I=Math.max(this.max-this.min,0),k=function(ce){let de=(ce+2*g)/(h||1);return(de=de>1?Math.ceil(de):1)*H>I&&ce!==1/0&&h!==1/0&&I&&(de=Math.ceil(I/H)),L(de*H)},W=H,ee,se=Number.MAX_VALUE,ne;if(v){if(!p.staggerLines&&(n(w)?ne=[w]:h=-90&&Y<=90)&&(de=(ce=k(Math.abs(b/Math.sin(F*Y))))+Math.abs(Y/360))de&&(de=Q.label.textPxLength)}),this.maxLabelLength=de,this.autoRotation)de>k&&de>ee.h?W.rotation=this.labelRotation:this.labelRotation=0;else if(I&&(ne=k,!se))for(ce="clip",U=v.length;!b&&U--;)(Y=H[v[U]].label)&&(Y.styles.textOverflow==="ellipsis"?Y.css({textOverflow:"clip"}):Y.textPxLength>I&&Y.css({width:I+"px"}),Y.getBBox().height>this.len/v.length-(ee.h-ee.f)&&(Y.specificTextOverflow="ellipsis"));W.rotation&&(ne=de>.5*p.chartHeight?.33*p.chartHeight:de,se||(ce="ellipsis")),this.labelAlign=h.align||this.autoLabelAlign(this.labelRotation),this.labelAlign&&(W.align=this.labelAlign),v.forEach(function(K){let Q=H[K],oe=Q&&Q.label,ae=w.width,he={};oe&&(oe.attr(W),Q.shortenLabel?Q.shortenLabel():ne&&!ae&&w.whiteSpace!=="nowrap"&&(neh.g(b).attr({zIndex:k}).addClass(`highcharts-${v.toLowerCase()}${I} `+(this.isRadial?`highcharts-radial-axis${I} `:"")+(H.className||"")).add(p);this.axisGroup||(this.gridGroup=w("grid","-grid",H.gridZIndex),this.axisGroup=w("axis","",H.zIndex),this.labelGroup=w("axis-labels","-labels",H.labels.zIndex))}getOffset(){let p=this,{chart:g,horiz:v,options:H,side:h,ticks:w,tickPositions:b,coll:I}=p,k=g.inverted&&!p.isZAxis?[1,0,3,2][h]:h,W=p.hasData(),ee=H.title,se=H.labels,ne=n(H.crossing),ce=g.axisOffset,de=g.clipOffset,Y=[-1,1,1,-1][h],U,K=0,Q,oe=0,ae=0,he,le;if(p.showAxis=U=W||H.showEmpty,p.staggerLines=p.horiz&&se.staggerLines||void 0,p.createGroups(),W||p.isLinked?(b.forEach(function(ue){p.generateTick(ue)}),p.renderUnsquish(),p.reserveSpaceDefault=h===0||h===2||{1:"left",3:"right"}[h]===p.labelAlign,m(se.reserveSpace,!ne&&null,p.labelAlign==="center"||null,p.reserveSpaceDefault)&&b.forEach(function(ue){ae=Math.max(w[ue].getLabelSize(),ae)}),p.staggerLines&&(ae*=p.staggerLines),p.labelOffset=ae*(p.opposite?-1:1)):T(w,function(ue,pe){ue.destroy(),delete w[pe]}),ee?.text&&ee.enabled!==!1&&(p.addTitle(U),U&&!ne&&ee.reserveSpace!==!1&&(p.titleOffset=K=p.axisTitle.getBBox()[v?"height":"width"],oe=y(Q=ee.offset)?0:m(ee.margin,v?5:10))),p.renderLine(),p.offset=Y*m(H.offset,ce[h]?ce[h]+(H.margin||0):0),p.tickRotCorr=p.tickRotCorr||{x:0,y:0},le=h===0?-p.labelMetrics().h:h===2?p.tickRotCorr.y:0,he=Math.abs(ae)+oe,ae&&(he-=le,he+=Y*(v?m(se.y,p.tickRotCorr.y+Y*se.distance):m(se.x,Y*se.distance))),p.axisTitleMargin=m(Q,he),p.getMaxLabelDimensions&&(p.maxLabelDimensions=p.getMaxLabelDimensions(w,b)),I!=="colorAxis"&&de){let ue=this.tickSize("tick");ce[h]=Math.max(ce[h],(p.axisTitleMargin||0)+K+Y*p.offset,he,b&&b.length&&ue?ue[0]+Y*p.offset:0);let pe=!p.axisLine||H.offset?0:p.axisLine.strokeWidth()/2;de[k]=Math.max(de[k],pe)}u(this,"afterGetOffset")}getLinePath(p){let g=this.chart,v=this.opposite,H=this.offset,h=this.horiz,w=this.left+(v?this.width:0)+H,b=g.chartHeight-this.bottom-(v?this.height:0)+H;return v&&(p*=-1),g.renderer.crispLine([["M",h?this.left:w,h?b:this.top],["L",h?g.chartWidth-this.right:w,h?b:g.chartHeight-this.bottom]],p)}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(p){let g=this.horiz,v=this.left,H=this.top,h=this.len,w=this.options.title,b=g?v:H,I=this.opposite,k=this.offset,W=w.x,ee=w.y,se=this.chart.renderer.fontMetrics(p),ne=p?Math.max(p.getBBox(!1,0).height-se.h-1,0):0,ce={low:b+(g?0:h),middle:b+h/2,high:b+(g?h:0)}[w.align],de=(g?H+this.height:v)+(g?1:-1)*(I?-1:1)*(this.axisTitleMargin||0)+[-ne,ne,se.f,-ne][this.side],Y={x:g?ce+W:de+(I?this.width:0)+k+W,y:g?de+ee-(I?this.height:0)+k:ce+ee};return u(this,"afterGetTitlePosition",{titlePosition:Y}),Y}renderMinorTick(p,g){let v=this.minorTicks;v[p]||(v[p]=new te(this,p,"minor")),g&&v[p].isNew&&v[p].render(null,!0),v[p].render(null,!1,1)}renderTick(p,g,v){let H=this.isLinked,h=this.ticks;(!H||p>=this.min&&p<=this.max||this.grid&&this.grid.isColumn)&&(h[p]||(h[p]=new te(this,p)),v&&h[p].isNew&&h[p].render(g,!0,-1),h[p].render(g))}render(){let p,g,v=this,H=v.chart,h=v.logarithmic,w=H.renderer,b=v.options,I=v.isLinked,k=v.tickPositions,W=v.axisTitle,ee=v.ticks,se=v.minorTicks,ne=v.alternateBands,ce=b.stackLabels,de=b.alternateGridColor,Y=b.crossing,U=v.tickmarkOffset,K=v.axisLine,Q=v.showAxis,oe=X(w.globalAnimation);if(v.labelEdge.length=0,v.overlap=!1,[ee,se,ne].forEach(function(ae){T(ae,function(he){he.isActive=!1})}),n(Y)){let ae=this.isXAxis?H.yAxis[0]:H.xAxis[0],he=[1,-1,-1,1][this.side];if(ae){let le=ae.toPixels(Y,!0);v.horiz&&(le=ae.len-le),v.offset=he*le}}if(v.hasData()||I){let ae=v.chart.hasRendered&&v.old&&n(v.old.min);v.minorTickInterval&&!v.categories&&v.getMinorTickPositions().forEach(function(he){v.renderMinorTick(he,ae)}),k.length&&(k.forEach(function(he,le){v.renderTick(he,le,ae)}),U&&(v.min===0||v.single)&&(ee[-1]||(ee[-1]=new te(v,-1,null,!0)),ee[-1].render(-1))),de&&k.forEach(function(he,le){g=k[le+1]!==void 0?k[le+1]+U:v.max-U,le%2==0&&he=.5)A=Math.round(A),L=C.getLinearTickPositions(A,$,j);else if(A>=.08){let y,P,q,z,R,u,x,c=Math.floor($);for(y=A>.3?[1,2,4]:A>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],P=c;P$&&(!F||u<=j)&&u!==void 0&&L.push(u),u>j&&(x=!0),u=R}else{let y=this.lin2log($),P=this.lin2log(j),q=F?C.getMinorTickInterval():E.tickInterval,z=E.tickPixelInterval/(F?5:1),R=F?M/C.tickPositions.length:M;A=l(A=_(q==="auto"?null:q,this.minorAutoInterval,(P-y)*z/(R||1))),L=C.getLinearTickPositions(A,y,P).map(this.log2lin),F||(this.minorAutoInterval=A/5)}return F||(C.tickInterval=A),L}lin2log(A){return Math.pow(10,A)}log2lin(A){return Math.log(A)/Math.LN10}}O.Additions=X}(r||(r={})),r}),e(s,"Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js",[s["Core/Utilities.js"]],function(t){var r;let{erase:a,extend:l,isNumber:_}=t;return function(O){let te;function G(C){return this.addPlotBandOrLine(C,"plotBands")}function X(C,M){let E=this.userOptions,L=new te(this,C);if(this.visible&&(L=L.render()),L){if(this._addedPlotLB||(this._addedPlotLB=!0,(E.plotLines||[]).concat(E.plotBands||[]).forEach(y=>{this.addPlotBandOrLine(y)})),M){let y=E[M]||[];y.push(C),E[M]=y}this.plotLinesAndBands.push(L)}return L}function J(C){return this.addPlotBandOrLine(C,"plotLines")}function A(C,M,E){E=E||this.options;let L=this.getPlotLinePath({value:M,force:!0,acrossPanes:E.acrossPanes}),y=[],P=this.horiz,q=!_(this.min)||!_(this.max)||Cthis.max&&M>this.max,z=this.getPlotLinePath({value:C,force:!0,acrossPanes:E.acrossPanes}),R,u=1,x;if(z&&L)for(q&&(x=z.toString()===L.toString(),u=0),R=0;R{let E=[];for(let L of this.axes)for(let{label:y,options:P}of L.plotLinesAndBands)y&&!P?.label?.allowOverlap&&E.push(y);return E})}),t.compose(j,M)}constructor(C,M){this.axis=C,this.options=M,this.id=M.id}render(){X(this,"render");let{axis:C,options:M}=this,{horiz:E,logarithmic:L}=C,{color:y,events:P,zIndex:q=0}=M,z={},R=C.chart.renderer,u=M.to,x=M.from,c=M.value,o=M.borderWidth,n=M.label,{label:d,svgElem:f}=this,S=[],T,m=O(x)&&O(u),N=O(c),ie=!f,D={class:"highcharts-plot-"+(m?"band ":"line ")+(M.className||"")},B=m?"bands":"lines";if(!C.chart.styledMode&&(N?(D.stroke=y||"#999999",D["stroke-width"]=$(M.width,1),M.dashStyle&&(D.dashstyle=M.dashStyle)):m&&(D.fill=y||"#e6e9ff",o&&(D.stroke=M.borderColor,D["stroke-width"]=o))),z.zIndex=q,B+="-"+q,(T=C.plotLinesAndBandsGroups[B])||(C.plotLinesAndBandsGroups[B]=T=R.g("plot-"+B).attr(z).add()),f||(this.svgElem=f=R.path().attr(D).add(T)),O(c))S=C.getPlotLinePath({value:L?.log2lin(c)??c,lineWidth:f.strokeWidth(),acrossPanes:M.acrossPanes});else{if(!(O(x)&&O(u)))return;S=C.getPlotBandPath(L?.log2lin(x)??x,L?.log2lin(u)??u,M)}return!this.eventsAdded&&P&&(A(P,(V,Z)=>{f?.on(Z,re=>{P[Z].apply(this,[re])})}),this.eventsAdded=!0),(ie||!f.d)&&S?.length?f.attr({d:S}):f&&(S?(f.show(),f.animate({d:S})):f.d&&(f.hide(),d&&(this.label=d=d.destroy()))),n&&(O(n.text)||O(n.formatter))&&S?.length&&C.width>0&&C.height>0&&!S.isFlat?(n=J(we({align:E&&m?"center":void 0,x:E?!m&&4:10,verticalAlign:!E&&m?"middle":void 0,y:E?m?16:10:m?6:-4,rotation:E&&!m?90:0},m?{inside:!0}:{}),n),this.renderLabel(n,S,m,q)):d&&d.hide(),this}renderLabel(C,M,E,L){let y=this.axis,P=y.chart.renderer,q=C.inside,z=this.label;z||(this.label=z=P.text(this.getLabelText(C),0,0,C.useHTML).attr({align:C.textAlign||C.align,rotation:C.rotation,class:"highcharts-plot-"+(E?"band":"line")+"-label "+(C.className||""),zIndex:L}),y.chart.styledMode||z.css(J({fontSize:"0.8em",textOverflow:E&&!q?"":"ellipsis"},C.style)),z.add());let R=M.xBounds||[M[0][1],M[1][1],E?M[2][1]:M[0][1]],u=M.yBounds||[M[0][2],M[1][2],E?M[2][2]:M[0][2]],x=_(R),c=_(u),o=l(R)-x;z.align(C,!1,{x,y:c,width:o,height:l(u)-c}),(!z.alignValue||z.alignValue==="left"||O(q))&&z.css({width:(C.style?.width||(E&&q?o:z.rotation===90?y.height-(z.alignAttr.y-y.top):(C.clip?y.width:y.chart.chartWidth)-(z.alignAttr.x-y.left)))+"px"}),z.show(!0)}getLabelText(C){return O(C.formatter)?C.formatter.call(this):C.text}destroy(){G(this.axis.plotLinesAndBands,this),delete this.axis,te(this)}}return j}),e(s,"Core/Tooltip.js",[s["Core/Animation/AnimationUtilities.js"],s["Core/Templating.js"],s["Core/Globals.js"],s["Core/Renderer/RendererUtilities.js"],s["Core/Renderer/RendererRegistry.js"],s["Core/Utilities.js"]],function(t,r,a,l,_,O){var te;let{animObject:G}=t,{format:X}=r,{composed:J,doc:A,isSafari:$}=a,{distribute:j}=l,{addEvent:F,clamp:C,css:M,discardElement:E,extend:L,fireEvent:y,isArray:P,isNumber:q,isString:z,merge:R,pick:u,pushUnique:x,splat:c,syncTimeout:o}=O;class n{constructor(f,S,T){this.allowShared=!0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.options={},this.outside=!1,this.chart=f,this.init(f,S),this.pointer=T}bodyFormatter(f){return f.map(function(S){let T=S.series.tooltipOptions;return(T[(S.point.formatPrefix||"point")+"Formatter"]||S.point.tooltipFormatter).call(S.point,T[(S.point.formatPrefix||"point")+"Format"]||"")})}cleanSplit(f){this.chart.series.forEach(function(S){let T=S&&S.tt;T&&(!T.isActive||f?S.tt=T.destroy():T.isActive=!1)})}defaultFormatter(f){let S,T=this.points||c(this);return(S=(S=[f.tooltipFooterHeaderFormatter(T[0])]).concat(f.bodyFormatter(T))).push(f.tooltipFooterHeaderFormatter(T[0],!0)),S}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(),E(this.container)),O.clearTimeout(this.hideTimer)}getAnchor(f,S){let T,{chart:m,pointer:N}=this,ie=m.inverted,D=m.plotTop,B=m.plotLeft;if((f=c(f))[0].series&&f[0].series.yAxis&&!f[0].series.yAxis.options.reversedStacks&&(f=f.slice().reverse()),this.followPointer&&S)S.chartX===void 0&&(S=N.normalize(S)),T=[S.chartX-B,S.chartY-D];else if(f[0].tooltipPos)T=f[0].tooltipPos;else{let V=0,Z=0;f.forEach(function(re){let p=re.pos(!0);p&&(V+=p[0],Z+=p[1])}),V/=f.length,Z/=f.length,this.shared&&f.length>1&&S&&(ie?V=S.chartX:Z=S.chartY),T=[V-B,Z-D]}return T.map(Math.round)}getClassName(f,S,T){let m=this.options,N=f.series,ie=N.options;return[m.className,"highcharts-label",T&&"highcharts-tooltip-header",S?"highcharts-tooltip-box":"highcharts-tooltip",!T&&"highcharts-color-"+u(f.colorIndex,N.colorIndex),ie&&ie.className].filter(z).join(" ")}getLabel({anchorX:f,anchorY:S}={anchorX:0,anchorY:0}){let T=this,m=this.chart.styledMode,N=this.options,ie=this.split&&this.allowShared,D=this.container,B=this.chart.renderer;if(this.label){let V=!this.label.hasClass("highcharts-label");(!ie&&V||ie&&!V)&&this.destroy()}if(!this.label){if(this.outside){let V=this.chart.options.chart.style,Z=_.getRendererType();this.container=D=a.doc.createElement("div"),D.className="highcharts-tooltip-container",M(D,{position:"absolute",top:"1px",pointerEvents:"none",zIndex:Math.max(this.options.style.zIndex||0,(V&&V.zIndex||0)+3)}),this.renderer=B=new Z(D,0,0,V,void 0,void 0,B.styledMode)}if(ie?this.label=B.g("tooltip"):(this.label=B.label("",f,S,N.shape,void 0,void 0,N.useHTML,void 0,"tooltip").attr({padding:N.padding,r:N.borderRadius}),m||this.label.attr({fill:N.backgroundColor,"stroke-width":N.borderWidth||0}).css(N.style).css({pointerEvents:N.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none")})),T.outside){let V=this.label;[V.xSetter,V.ySetter].forEach((Z,re)=>{V[re?"ySetter":"xSetter"]=p=>{Z.call(V,T.distance),V[re?"y":"x"]=p,D&&(D.style[re?"top":"left"]=`${p}px`)}})}this.label.attr({zIndex:8}).shadow(N.shadow).add()}return D&&!D.parentElement&&a.doc.body.appendChild(D),this.label}getPlayingField(){let{body:f,documentElement:S}=A,{chart:T,distance:m,outside:N}=this;return{width:N?Math.max(f.scrollWidth,S.scrollWidth,f.offsetWidth,S.offsetWidth,S.clientWidth)-2*m:T.chartWidth,height:N?Math.max(f.scrollHeight,S.scrollHeight,f.offsetHeight,S.offsetHeight,S.clientHeight):T.chartHeight}}getPosition(f,S,T){let{distance:m,chart:N,outside:ie,pointer:D}=this,{inverted:B,plotLeft:V,plotTop:Z,polar:re}=N,{plotX:p=0,plotY:g=0}=T,v={},H=B&&T.h||0,{height:h,width:w}=this.getPlayingField(),b=D.getChartPosition(),I=oe=>oe*b.scaleX,k=oe=>oe*b.scaleY,W=oe=>{let ae=oe==="x";return[oe,ae?w:h,ae?f:S].concat(ie?[ae?I(f):k(S),ae?b.left-m+I(p+V):b.top-m+k(g+Z),0,ae?w:h]:[ae?f:S,ae?p+V:g+Z,ae?V:Z,ae?V+N.plotWidth:Z+N.plotHeight])},ee=W("y"),se=W("x"),ne,ce=!!T.negative;!re&&N.hoverSeries?.yAxis?.reversed&&(ce=!ce);let de=!this.followPointer&&u(T.ttBelow,!re&&!B===ce),Y=function(oe,ae,he,le,ue,pe,fe){let me=ie?oe==="y"?k(m):I(m):m,ge=(he-le)/2,be=leae?Ae:Ae+H)}},U=function(oe,ae,he,le,ue){if(ueae-m)return!1;ueae-le/2?v[oe]=ae-le-2:v[oe]=ue-he/2},K=function(oe){[ee,se]=[se,ee],ne=oe},Q=()=>{Y.apply(0,ee)!==!1?U.apply(0,se)!==!1||ne||(K(!0),Q()):ne?v.x=v.y=0:(K(!0),Q())};return(B&&!re||this.len>1)&&K(),Q(),v}hide(f){let S=this;O.clearTimeout(this.hideTimer),f=u(f,this.options.hideDelay),this.isHidden||(this.hideTimer=o(function(){let T=S.getLabel();S.getLabel().animate({opacity:0},{duration:f&&150,complete:()=>{T.hide(),S.container&&S.container.remove()}}),S.isHidden=!0},f))}init(f,S){this.chart=f,this.options=S,this.crosshairs=[],this.isHidden=!0,this.split=S.split&&!f.inverted&&!f.polar,this.shared=S.shared||this.split,this.outside=u(S.outside,!!(f.scrollablePixelsX||f.scrollablePixelsY))}shouldStickOnContact(f){return!!(!this.followPointer&&this.options.stickOnContact&&(!f||this.pointer.inClass(f.target,"highcharts-tooltip")))}move(f,S,T,m){let N=this,ie=G(!N.isHidden&&N.options.animation),D=N.followPointer||(N.len||0)>1,B={x:f,y:S};D||(B.anchorX=T,B.anchorY=m),ie.step=()=>N.drawTracker(),N.getLabel().animate(B,ie)}refresh(f,S){let{chart:T,options:m,pointer:N,shared:ie}=this,D=c(f),B=D[0],V=[],Z=m.format,re=m.formatter||this.defaultFormatter,p=T.styledMode,g={},v=this.allowShared;if(!m.enabled||!B.series)return;O.clearTimeout(this.hideTimer),this.allowShared=!(!P(f)&&f.series&&f.series.noSharedTooltip),v=v&&!this.allowShared,this.followPointer=!this.split&&B.series.tooltipOptions.followPointer;let H=this.getAnchor(f,S),h=H[0],w=H[1];ie&&this.allowShared?(N.applyInactiveState(D),D.forEach(function(k){k.setState("hover"),V.push(k.getLabelConfig())}),(g=B.getLabelConfig()).points=V):g=B.getLabelConfig(),this.len=V.length;let b=z(Z)?X(Z,g,T):re.call(g,this),I=B.series;if(this.distance=u(I.tooltipOptions.distance,16),b===!1)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(b,D);else{let k=h,W=w;if(S&&N.isDirectTouch&&(k=S.chartX-T.plotLeft,W=S.chartY-T.plotTop),T.polar||I.options.clip===!1||D.some(ee=>N.isDirectTouch||ee.series.shouldShowTooltip(k,W))){let ee=this.getLabel(v&&this.tt||{});(!m.style.width||p)&&ee.css({width:(this.outside?this.getPlayingField():T.spacingBox).width+"px"}),ee.attr({class:this.getClassName(B),text:b&&b.join?b.join(""):b}),this.outside&&ee.attr({x:C(ee.x||0,0,this.getPlayingField().width-(ee.width||0))}),p||ee.attr({stroke:m.borderColor||B.color||I.color||"#666666"}),this.updatePosition({plotX:h,plotY:w,negative:B.negative,ttBelow:B.ttBelow,h:H[2]||0})}else{this.hide();return}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}y(this,"refresh")}renderSplit(f,S){let T=this,{chart:m,chart:{chartWidth:N,chartHeight:ie,plotHeight:D,plotLeft:B,plotTop:V,scrollablePixelsY:Z=0,scrollablePixelsX:re,styledMode:p},distance:g,options:v,options:{positioner:H},pointer:h}=T,{scrollLeft:w=0,scrollTop:b=0}=m.scrollablePlotArea?.scrollingContainer||{},I=T.outside&&typeof re!="number"?A.documentElement.getBoundingClientRect():{left:w,right:w+N,top:b,bottom:b+ie},k=T.getLabel(),W=this.renderer||m.renderer,ee=!!(m.xAxis[0]&&m.xAxis[0].opposite),{left:se,top:ne}=h.getChartPosition(),ce=V+b,de=0,Y=D-Z;function U(le,ue,pe,fe,me=!0){let ge,be;return pe?(ge=ee?0:Y,be=C(le-fe/2,I.left,I.right-fe-(T.outside?se:0))):(ge=ue-ce,be=C(be=me?le-fe-g:le+g,me?be:I.left,I.right)),{x:be,y:ge}}z(f)&&(f=[!1,f]);let K=f.slice(0,S.length+1).reduce(function(le,ue,pe){if(ue!==!1&&ue!==""){let fe=S[pe-1]||{isHeader:!0,plotX:S[0].plotX,plotY:D,series:{}},me=fe.isHeader,ge=me?T:fe.series,be=ge.tt=function(Le,je,Ye){let qe=Le,{isHeader:_e,series:Lt}=je;if(!qe){let yt={padding:v.padding,r:v.borderRadius};p||(yt.fill=v.backgroundColor,yt["stroke-width"]=v.borderWidth??1),qe=W.label("",0,0,v[_e?"headerShape":"shape"],void 0,void 0,v.useHTML).addClass(T.getClassName(je,!0,_e)).attr(yt).add(k)}return qe.isActive=!0,qe.attr({text:Ye}),p||qe.css(v.style).attr({stroke:v.borderColor||je.color||Lt.color||"#333333"}),qe}(ge.tt,fe,ue.toString()),ve=be.getBBox(),ye=ve.width+be.strokeWidth();me&&(de=ve.height,Y+=de,ee&&(ce-=de));let{anchorX:Ae,anchorY:Me}=function(Le){let je,Ye,{isHeader:qe,plotX:_e=0,plotY:Lt=0,series:yt}=Le;if(qe)je=Math.max(B+_e,B),Ye=V+D/2;else{let{xAxis:Si,yAxis:Ze}=yt;je=Si.pos+C(_e,-g,Si.len+g),yt.shouldShowTooltip(0,Ze.pos-V+Lt,{ignoreX:!0})&&(Ye=Ze.pos+Lt)}return{anchorX:je=C(je,I.left-g,I.right+g),anchorY:Ye}}(fe);if(typeof Me=="number"){let Le=ve.height+1,je=H?H.call(T,ye,Le,fe):U(Ae,Me,me,ye);le.push({align:H?0:void 0,anchorX:Ae,anchorY:Me,boxWidth:ye,point:fe,rank:u(je.rank,me?1:0),size:Le,target:je.y,tt:be,x:je.x})}else be.isActive=!1}return le},[]);!H&&K.some(le=>{let{outside:ue}=T,pe=(ue?se:0)+le.anchorX;return pepe})&&(K=K.map(le=>{let{x:ue,y:pe}=U(le.anchorX,le.anchorY,le.point.isHeader,le.boxWidth,!1);return L(le,{target:pe,x:ue})})),T.cleanSplit(),j(K,Y);let Q={left:se,right:se};K.forEach(function(le){let{x:ue,boxWidth:pe,isHeader:fe}=le;!fe&&(T.outside&&se+ueQ.right&&(Q.right=se+ue))}),K.forEach(function(le){let{x:ue,anchorX:pe,anchorY:fe,pos:me,point:{isHeader:ge}}=le,be={visibility:me===void 0?"hidden":"inherit",x:ue,y:(me||0)+ce,anchorX:pe,anchorY:fe};if(T.outside&&ue0&&(ge||(be.x=ue+ve,be.anchorX=pe+ve),ge&&(be.x=(Q.right-Q.left)/2,be.anchorX=pe+ve))}le.tt.attr(be)});let{container:oe,outside:ae,renderer:he}=T;if(ae&&oe&&he){let{width:le,height:ue,x:pe,y:fe}=k.getBBox();he.setSize(le+pe,ue+fe,!1),oe.style.left=Q.left+"px",oe.style.top=ne+"px"}$&&k.attr({opacity:k.opacity===1?.999:1})}drawTracker(){if(!this.shouldStickOnContact()){this.tracker&&(this.tracker=this.tracker.destroy());return}let f=this.chart,S=this.label,T=this.shared?f.hoverPoints:f.hoverPoint;if(!S||!T)return;let m={x:0,y:0,width:0,height:0},N=this.getAnchor(T),ie=S.getBBox();N[0]+=f.plotLeft-(S.translateX||0),N[1]+=f.plotTop-(S.translateY||0),m.x=Math.min(0,N[0]),m.y=Math.min(0,N[1]),m.width=N[0]<0?Math.max(Math.abs(N[0]),ie.width-N[0]):Math.max(Math.abs(N[0]),ie.width),m.height=N[1]<0?Math.max(Math.abs(N[1]),ie.height-Math.abs(N[1])):Math.max(Math.abs(N[1]),ie.height),this.tracker?this.tracker.attr(m):(this.tracker=S.renderer.rect(m).addClass("highcharts-tracker").add(S),f.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}styledModeFormat(f){return f.replace('style="font-size: 0.8em"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex} {series.options.className} {point.options.className}"')}tooltipFooterHeaderFormatter(f,S){let T=f.series,m=T.tooltipOptions,N=T.xAxis,ie=N&&N.dateTime,D={isFooter:S,labelConfig:f},B=m.xDateFormat,V=m[S?"footerFormat":"headerFormat"];return y(this,"headerFormatter",D,function(Z){ie&&!B&&q(f.key)&&(B=ie.getXDateFormat(f.key,m.dateTimeLabelFormats)),ie&&B&&(f.point&&f.point.tooltipDateKeys||["key"]).forEach(function(re){V=V.replace("{point."+re+"}","{point."+re+":"+B+"}")}),T.chart.styledMode&&(V=this.styledModeFormat(V)),Z.text=X(V,{point:f,series:T},this.chart)}),D.text}update(f){this.destroy(),this.init(this.chart,R(!0,this.options,f))}updatePosition(f){let{chart:S,container:T,distance:m,options:N,pointer:ie,renderer:D}=this,{height:B=0,width:V=0}=this.getLabel(),{left:Z,top:re,scaleX:p,scaleY:g}=ie.getChartPosition(),v=(N.positioner||this.getPosition).call(this,V,B,f),H=(f.plotX||0)+S.plotLeft,h=(f.plotY||0)+S.plotTop,w;D&&T&&(N.positioner&&(v.x+=Z-m,v.y+=re-m),w=(N.borderWidth||0)+2*m+2,D.setSize(V+w,B+w,!1),(p!==1||g!==1)&&(M(T,{transform:`scale(${p}, ${g})`}),H*=p,h*=g),H+=Z-v.x,h+=re-v.y),this.move(Math.round(v.x),Math.round(v.y||0),H,h)}}return(te=n||(n={})).compose=function(d){x(J,"Core.Tooltip")&&F(d,"afterInit",function(){let f=this.chart;f.options.tooltip&&(f.tooltip=new te(f,f.options.tooltip,this))})},n}),e(s,"Core/Series/Point.js",[s["Core/Renderer/HTML/AST.js"],s["Core/Animation/AnimationUtilities.js"],s["Core/Defaults.js"],s["Core/Templating.js"],s["Core/Utilities.js"]],function(t,r,a,l,_){let{animObject:O}=r,{defaultOptions:te}=a,{format:G}=l,{addEvent:X,crisp:J,erase:A,extend:$,fireEvent:j,getNestedProperty:F,isArray:C,isFunction:M,isNumber:E,isObject:L,merge:y,pick:P,syncTimeout:q,removeEvent:z,uniqueKey:R}=_;class u{animateBeforeDestroy(){let c=this,o={x:c.startXPos,opacity:0},n=c.getGraphicalProps();n.singular.forEach(function(d){c[d]=c[d].animate(d==="dataLabel"?{x:c[d].startXPos,y:c[d].startYPos,opacity:0}:o)}),n.plural.forEach(function(d){c[d].forEach(function(f){f.element&&f.animate($({x:c.startXPos},f.startYPos?{x:f.startXPos,y:f.startYPos}:{}))})})}applyOptions(c,o){let n=this.series,d=n.options.pointValKey||n.pointValKey;return $(this,c=u.prototype.optionsToObject.call(this,c)),this.options=this.options?$(this.options,c):c,c.group&&delete this.group,c.dataLabels&&delete this.dataLabels,d&&(this.y=u.prototype.getNestedProperty.call(this,d)),this.selected&&(this.state="select"),"name"in this&&o===void 0&&n.xAxis&&n.xAxis.hasNames&&(this.x=n.xAxis.nameToX(this)),this.x===void 0&&n?this.x=o??n.autoIncrement():E(c.x)&&n.options.relativeXValue&&(this.x=n.autoIncrement(c.x)),this.isNull=this.isValid&&!this.isValid(),this.formatPrefix=this.isNull?"null":"point",this}destroy(){if(!this.destroyed){let c=this,o=c.series,n=o.chart,d=o.options.dataSorting,f=n.hoverPoints,S=O(c.series.chart.renderer.globalAnimation),T=()=>{for(let m in(c.graphic||c.graphics||c.dataLabel||c.dataLabels)&&(z(c),c.destroyElements()),c)delete c[m]};c.legendItem&&n.legend.destroyItem(c),f&&(c.setState(),A(f,c),f.length||(n.hoverPoints=null)),c===n.hoverPoint&&c.onMouseOut(),d&&d.enabled?(this.animateBeforeDestroy(),q(T,S.duration)):T(),n.pointCount--}this.destroyed=!0}destroyElements(c){let o=this,n=o.getGraphicalProps(c);n.singular.forEach(function(d){o[d]=o[d].destroy()}),n.plural.forEach(function(d){o[d].forEach(function(f){f&&f.element&&f.destroy()}),delete o[d]})}firePointEvent(c,o,n){let d=this,f=this.series.options;d.manageEvent(c),c==="click"&&f.allowPointSelect&&(n=function(S){!d.destroyed&&d.select&&d.select(null,S.ctrlKey||S.metaKey||S.shiftKey)}),j(d,c,o,n)}getClassName(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(this.colorIndex!==void 0?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(c){let o,n,d=this,f=[],S={singular:[],plural:[]};for((c=c||{graphic:1,dataLabel:1}).graphic&&f.push("graphic","connector"),c.dataLabel&&f.push("dataLabel","dataLabelPath","dataLabelUpper"),n=f.length;n--;)d[o=f[n]]&&S.singular.push(o);return["graphic","dataLabel"].forEach(function(T){let m=T+"s";c[T]&&d[m]&&S.plural.push(m)}),S}getLabelConfig(){return{x:this.category,y:this.y,color:this.color,colorIndex:this.colorIndex,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}}getNestedProperty(c){return c?c.indexOf("custom.")===0?F(c,this.options):this[c]:void 0}getZone(){let c=this.series,o=c.zones,n=c.zoneAxis||"y",d,f=0;for(d=o[0];this[n]>=d.value;)d=o[++f];return this.nonZonedColor||(this.nonZonedColor=this.color),d&&d.color&&!this.options.color?this.color=d.color:this.color=this.nonZonedColor,d}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}constructor(c,o,n){this.formatPrefix="point",this.visible=!0,this.series=c,this.applyOptions(o,n),this.id??(this.id=R()),this.resolveColor(),c.chart.pointCount++,j(this,"afterInit")}isValid(){return(E(this.x)||this.x instanceof Date)&&E(this.y)}optionsToObject(c){let o=this.series,n=o.options.keys,d=n||o.pointArrayMap||["y"],f=d.length,S={},T,m=0,N=0;if(E(c)||c===null)S[d[0]]=c;else if(C(c))for(!n&&c.length>f&&((T=typeof c[0])=="string"?S.name=c[0]:T==="number"&&(S.x=c[0]),m++);N0?u.prototype.setNestedProperty(S,c[m],d[N]):S[d[N]]=c[m]),m++,N++;else typeof c=="object"&&(S=c,c.dataLabels&&(o.hasDataLabels=()=>!0),c.marker&&(o._hasPointMarkers=!0));return S}pos(c,o=this.plotY){if(!this.destroyed){let{plotX:n,series:d}=this,{chart:f,xAxis:S,yAxis:T}=d,m=0,N=0;if(E(n)&&E(o))return c&&(m=S?S.pos:f.plotLeft,N=T?T.pos:f.plotTop),f.inverted&&S&&T?[T.len-o+N,S.len-n+m]:[n+m,o+N]}}resolveColor(){let c=this.series,o=c.chart.options.chart,n=c.chart.styledMode,d,f,S=o.colorCount,T;delete this.nonZonedColor,c.options.colorByPoint?(n||(d=(f=c.options.colors||c.chart.options.colors)[c.colorCounter],S=f.length),T=c.colorCounter,c.colorCounter++,c.colorCounter===S&&(c.colorCounter=0)):(n||(d=c.color),T=c.colorIndex),this.colorIndex=P(this.options.colorIndex,T),this.color=P(this.options.color,d)}setNestedProperty(c,o,n){return n.split(".").reduce(function(d,f,S,T){let m=T.length-1===S;return d[f]=m?o:L(d[f],!0)?d[f]:{},d[f]},c),c}shouldDraw(){return!this.isNull}tooltipFormatter(c){let o=this.series,n=o.tooltipOptions,d=P(n.valueDecimals,""),f=n.valuePrefix||"",S=n.valueSuffix||"";return o.chart.styledMode&&(c=o.chart.tooltip.styledModeFormat(c)),(o.pointArrayMap||["y"]).forEach(function(T){T="{point."+T,(f||S)&&(c=c.replace(RegExp(T+"}","g"),f+T+"}"+S)),c=c.replace(RegExp(T+"}","g"),T+":,."+d+"f}")}),G(c,{point:this,series:this.series},o.chart)}update(c,o,n,d){let f,S=this,T=S.series,m=S.graphic,N=T.chart,ie=T.options;function D(){S.applyOptions(c);let B=m&&S.hasMockGraphic,V=S.y===null?!B:B;m&&V&&(S.graphic=m.destroy(),delete S.hasMockGraphic),L(c,!0)&&(m&&m.element&&c&&c.marker&&c.marker.symbol!==void 0&&(S.graphic=m.destroy()),c?.dataLabels&&S.dataLabel&&(S.dataLabel=S.dataLabel.destroy())),f=S.index,T.updateParallelArrays(S,f),ie.data[f]=L(ie.data[f],!0)||L(c,!0)?S.options:P(c,ie.data[f]),T.isDirty=T.isDirtyData=!0,!T.fixedBox&&T.hasCartesianSeries&&(N.isDirtyBox=!0),ie.legendType==="point"&&(N.isDirtyLegend=!0),o&&N.redraw(n)}o=P(o,!0),d===!1?D():S.firePointEvent("update",{options:c},D)}remove(c,o){this.series.removePoint(this.series.data.indexOf(this),c,o)}select(c,o){let n=this,d=n.series,f=d.chart;c=P(c,!n.selected),this.selectedStaging=c,n.firePointEvent(c?"select":"unselect",{accumulate:o},function(){n.selected=n.options.selected=c,d.options.data[d.data.indexOf(n)]=n.options,n.setState(c&&"select"),o||f.getSelectedPoints().forEach(function(S){let T=S.series;S.selected&&S!==n&&(S.selected=S.options.selected=!1,T.options.data[T.data.indexOf(S)]=S.options,S.setState(f.hoverPoints&&T.options.inactiveOtherPoints?"inactive":""),S.firePointEvent("unselect"))})}),delete this.selectedStaging}onMouseOver(c){let{inverted:o,pointer:n}=this.series.chart;n&&(c=c?n.normalize(c):n.getChartCoordinatesFromPoint(this,o),n.runPointActions(c,this))}onMouseOut(){let c=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(c.hoverPoints||[]).forEach(function(o){o.setState()}),c.hoverPoints=c.hoverPoint=null}manageEvent(c){let o=y(this.series.options.point,this.options),n=o.events?.[c];M(n)&&(!this.hcEvents?.[c]||this.hcEvents?.[c]?.map(d=>d.fn).indexOf(n)===-1)?(this.importedUserEvent?.(),this.importedUserEvent=X(this,c,n)):this.importedUserEvent&&!n&&this.hcEvents?.[c]&&(z(this,c),delete this.hcEvents[c],Object.keys(this.hcEvents)||delete this.importedUserEvent)}setState(c,o){let n=this.series,d=this.state,f=n.options.states[c||"normal"]||{},S=te.plotOptions[n.type].marker&&n.options.marker,T=S&&S.enabled===!1,m=S&&S.states&&S.states[c||"normal"]||{},N=m.enabled===!1,ie=this.marker||{},D=n.chart,B=S&&n.markerAttribs,V=n.halo,Z,re,p,g=n.stateMarkerGraphic,v;if((c=c||"")===this.state&&!o||this.selected&&c!=="select"||f.enabled===!1||c&&(N||T&&m.enabled===!1)||c&&ie.states&&ie.states[c]&&ie.states[c].enabled===!1)return;if(this.state=c,B&&(Z=n.markerAttribs(this,c)),this.graphic&&!this.hasMockGraphic){if(d&&this.graphic.removeClass("highcharts-point-"+d),c&&this.graphic.addClass("highcharts-point-"+c),!D.styledMode){re=n.pointAttribs(this,c),p=P(D.options.chart.animation,f.animation);let b=re.opacity;n.options.inactiveOtherPoints&&E(b)&&(this.dataLabels||[]).forEach(function(I){I&&!I.hasClass("highcharts-data-label-hidden")&&(I.animate({opacity:b},p),I.connector&&I.connector.animate({opacity:b},p))}),this.graphic.animate(re,p)}Z&&this.graphic.animate(Z,P(D.options.chart.animation,m.animation,S.animation)),g&&g.hide()}else c&&m&&(v=ie.symbol||n.symbol,g&&g.currentSymbol!==v&&(g=g.destroy()),Z&&(g?g[o?"animate":"attr"]({x:Z.x,y:Z.y}):v&&(n.stateMarkerGraphic=g=D.renderer.symbol(v,Z.x,Z.y,Z.width,Z.height).add(n.markerGroup),g.currentSymbol=v)),!D.styledMode&&g&&this.state!=="inactive"&&g.attr(n.pointAttribs(this,c))),g&&(g[c&&this.isInside?"show":"hide"](),g.element.point=this,g.addClass(this.getClassName(),!0));let H=f.halo,h=this.graphic||g,w=h&&h.visibility||"inherit";H&&H.size&&h&&w!=="hidden"&&!this.isCluster?(V||(n.halo=V=D.renderer.path().add(h.parentGroup)),V.show()[o?"animate":"attr"]({d:this.haloPath(H.size)}),V.attr({class:"highcharts-halo highcharts-color-"+P(this.colorIndex,n.colorIndex)+(this.className?" "+this.className:""),visibility:w,zIndex:-1}),V.point=this,D.styledMode||V.attr($({fill:this.color||n.color,"fill-opacity":H.opacity},t.filterUserAttributes(H.attributes||{})))):V?.point?.haloPath&&!V.point.destroyed&&V.animate({d:V.point.haloPath(0)},null,V.hide),j(this,"afterSetState",{state:c})}haloPath(c){let o=this.pos();return o?this.series.chart.renderer.symbols.circle(J(o[0],1)-c,o[1]-c,2*c,2*c):[]}}return u}),e(s,"Core/Pointer.js",[s["Core/Color/Color.js"],s["Core/Globals.js"],s["Core/Utilities.js"]],function(t,r,a){var l;let{parse:_}=t,{charts:O,composed:te,isTouchDevice:G}=r,{addEvent:X,attr:J,css:A,extend:$,find:j,fireEvent:F,isNumber:C,isObject:M,objectEach:E,offset:L,pick:y,pushUnique:P,splat:q}=a;class z{applyInactiveState(u){let x=[],c;(u||[]).forEach(function(o){c=o.series,x.push(c),c.linkedParent&&x.push(c.linkedParent),c.linkedSeries&&(x=x.concat(c.linkedSeries)),c.navigatorSeries&&x.push(c.navigatorSeries)}),this.chart.series.forEach(function(o){x.indexOf(o)===-1?o.setState("inactive",!0):o.options.inactiveOtherPoints&&o.setAllPointsToState("inactive")})}destroy(){let u=this;this.eventsToUnbind.forEach(x=>x()),this.eventsToUnbind=[],!r.chartCount&&(z.unbindDocumentMouseUp&&z.unbindDocumentMouseUp.forEach(x=>x()),z.unbindDocumentTouchEnd&&(z.unbindDocumentTouchEnd=z.unbindDocumentTouchEnd())),clearInterval(u.tooltipTimeout),E(u,function(x,c){u[c]=void 0})}getSelectionMarkerAttrs(u,x){let c={args:{chartX:u,chartY:x},attrs:{},shapeType:"rect"};return F(this,"getSelectionMarkerAttrs",c,o=>{let n,{chart:d,zoomHor:f,zoomVert:S}=this,{mouseDownX:T=0,mouseDownY:m=0}=d,N=o.attrs;N.x=d.plotLeft,N.y=d.plotTop,N.width=f?1:d.plotWidth,N.height=S?1:d.plotHeight,f&&(n=u-T,N.width=Math.max(1,Math.abs(n)),N.x=(n>0?0:n)+T),S&&(n=x-m,N.height=Math.max(1,Math.abs(n)),N.y=(n>0?0:n)+m)}),c}drag(u){let{chart:x}=this,{mouseDownX:c=0,mouseDownY:o=0}=x,{panning:n,panKey:d,selectionMarkerFill:f}=x.options.chart,S=x.plotLeft,T=x.plotTop,m=x.plotWidth,N=x.plotHeight,ie=M(n)?n.enabled:n,D=d&&u[`${d}Key`],B=u.chartX,V=u.chartY,Z,re=this.selectionMarker;if((!re||!re.touch)&&(BS+m&&(B=S+m),VT+N&&(V=T+N),this.hasDragged=Math.sqrt(Math.pow(c-B,2)+Math.pow(o-V,2)),this.hasDragged>10)){Z=x.isInsidePlot(c-S,o-T,{visiblePlotOnly:!0});let{shapeType:p,attrs:g}=this.getSelectionMarkerAttrs(B,V);(x.hasCartesianSeries||x.mapView)&&this.hasZoom&&Z&&!D&&!re&&(this.selectionMarker=re=x.renderer[p](),re.attr({class:"highcharts-selection-marker",zIndex:7}).add(),x.styledMode||re.attr({fill:f||_("#334eff").setOpacity(.25).get()})),re&&re.attr(g),Z&&!re&&ie&&x.pan(u,n)}}dragStart(u){let x=this.chart;x.mouseIsDown=u.type,x.cancelClick=!1,x.mouseDownX=u.chartX,x.mouseDownY=u.chartY}getSelectionBox(u){let x={args:{marker:u},result:u.getBBox()};return F(this,"getSelectionBox",x),x.result}drop(u){let x,{chart:c,selectionMarker:o}=this;for(let n of c.axes)n.isPanning&&(n.isPanning=!1,(n.options.startOnTick||n.options.endOnTick||n.series.some(d=>d.boosted))&&(n.forceRedraw=!0,n.setExtremes(n.userMin,n.userMax,!1),x=!0));if(x&&c.redraw(),o&&u){if(this.hasDragged){let n=this.getSelectionBox(o);c.transform({axes:c.axes.filter(d=>d.zoomEnabled&&(d.coll==="xAxis"&&this.zoomX||d.coll==="yAxis"&&this.zoomY)),selection:we({originalEvent:u,xAxis:[],yAxis:[]},n),from:n})}C(c.index)&&(this.selectionMarker=o.destroy())}c&&C(c.index)&&(A(c.container,{cursor:c._cursor}),c.cancelClick=this.hasDragged>10,c.mouseIsDown=!1,this.hasDragged=0,this.pinchDown=[])}findNearestKDPoint(u,x,c){let o;return u.forEach(function(n){let d=!(n.noSharedTooltip&&x)&&0>n.options.findNearestPointBy.indexOf("y"),f=n.searchPoint(c,d);M(f,!0)&&f.series&&(!M(o,!0)||function(S,T){let m=S.distX-T.distX,N=S.dist-T.dist,ie=T.series.group?.zIndex-S.series.group?.zIndex;return m!==0&&x?m:N!==0?N:ie!==0?ie:S.series.index>T.series.index?-1:1}(o,f)>0)&&(o=f)}),o}getChartCoordinatesFromPoint(u,x){let{xAxis:c,yAxis:o}=u.series,n=u.shapeArgs;if(c&&o){let d=u.clientX??u.plotX??0,f=u.plotY||0;return u.isNode&&n&&C(n.x)&&C(n.y)&&(d=n.x,f=n.y),x?{chartX:o.len+o.pos-f,chartY:c.len+c.pos-d}:{chartX:d+c.pos,chartY:f+o.pos}}if(n&&n.x&&n.y)return{chartX:n.x,chartY:n.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;let{container:u}=this.chart,x=L(u);this.chartPosition={left:x.left,top:x.top,scaleX:1,scaleY:1};let{offsetHeight:c,offsetWidth:o}=u;return o>2&&c>2&&(this.chartPosition.scaleX=x.width/o,this.chartPosition.scaleY=x.height/c),this.chartPosition}getCoordinates(u){let x={xAxis:[],yAxis:[]};for(let c of this.chart.axes)x[c.isXAxis?"xAxis":"yAxis"].push({axis:c,value:c.toValue(u[c.horiz?"chartX":"chartY"])});return x}getHoverData(u,x,c,o,n,d){let f=[],S=function(D){return D.visible&&!(!n&&D.directTouch)&&y(D.options.enableMouseTracking,!0)},T=x,m,N={chartX:d?d.chartX:void 0,chartY:d?d.chartY:void 0,shared:n};F(this,"beforeGetHoverData",N),m=T&&!T.stickyTracking?[T]:c.filter(D=>D.stickyTracking&&(N.filter||S)(D));let ie=o&&u||!d?u:this.findNearestKDPoint(m,n,d);return T=ie&&ie.series,ie&&(n&&!T.noSharedTooltip?(m=c.filter(function(D){return N.filter?N.filter(D):S(D)&&!D.noSharedTooltip})).forEach(function(D){let B=j(D.points,function(V){return V.x===ie.x&&!V.isNull});M(B)&&(D.boosted&&D.boost&&(B=D.boost.getPoint(B)),f.push(B))}):f.push(ie)),F(this,"afterGetHoverData",N={hoverPoint:ie}),{hoverPoint:N.hoverPoint,hoverSeries:T,hoverPoints:f}}getPointFromEvent(u){let x=u.target,c;for(;x&&!c;)c=x.point,x=x.parentNode;return c}onTrackerMouseOut(u){let x=this.chart,c=u.relatedTarget,o=x.hoverSeries;this.isDirectTouch=!1,!o||!c||o.stickyTracking||this.inClass(c,"highcharts-tooltip")||this.inClass(c,"highcharts-series-"+o.index)&&this.inClass(c,"highcharts-tracker")||o.onMouseOut()}inClass(u,x){let c=u,o;for(;c;){if(o=J(c,"class")){if(o.indexOf(x)!==-1)return!0;if(o.indexOf("highcharts-container")!==-1)return!1}c=c.parentElement}}constructor(u,x){this.hasDragged=0,this.pointerCaptureEventsToUnbind=[],this.eventsToUnbind=[],this.options=x,this.chart=u,this.runChartClick=!!x.chart.events?.click,this.pinchDown=[],this.setDOMEvents(),F(this,"afterInit")}normalize(u,x){let c=u.touches,o=c?c.length?c.item(0):y(c.changedTouches,u.changedTouches)[0]:u;x||(x=this.getChartPosition());let n=o.pageX-x.left,d=o.pageY-x.top;return $(u,{chartX:Math.round(n/=x.scaleX),chartY:Math.round(d/=x.scaleY)})}onContainerClick(u){let x=this.chart,c=x.hoverPoint,o=this.normalize(u),n=x.plotLeft,d=x.plotTop;!x.cancelClick&&(c&&this.inClass(o.target,"highcharts-tracker")?(F(c.series,"click",$(o,{point:c})),x.hoverPoint&&c.firePointEvent("click",o)):($(o,this.getCoordinates(o)),x.isInsidePlot(o.chartX-n,o.chartY-d,{visiblePlotOnly:!0})&&F(x,"click",o)))}onContainerMouseDown(u){let x=(1&(u.buttons||u.button))==1;u=this.normalize(u),r.isFirefox&&u.button!==0&&this.onContainerMouseMove(u),(u.button===void 0||x)&&(this.zoomOption(u),x&&u.preventDefault?.(),this.dragStart(u))}onContainerMouseLeave(u){let{pointer:x}=O[y(z.hoverChartIndex,-1)]||{};u=this.normalize(u),this.onContainerMouseMove(u),x&&!this.inClass(u.relatedTarget,"highcharts-tooltip")&&(x.reset(),x.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(u){let x=this.chart,c=x.tooltip,o=this.normalize(u);this.setHoverChartIndex(u),(x.mouseIsDown==="mousedown"||this.touchSelect(o))&&this.drag(o),!x.openMenu&&(this.inClass(o.target,"highcharts-tracker")||x.isInsidePlot(o.chartX-x.plotLeft,o.chartY-x.plotTop,{visiblePlotOnly:!0}))&&!(c&&c.shouldStickOnContact(o))&&(this.inClass(o.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(o))}onDocumentTouchEnd(u){this.onDocumentMouseUp(u)}onContainerTouchMove(u){this.touchSelect(u)?this.onContainerMouseMove(u):this.touch(u)}onContainerTouchStart(u){this.touchSelect(u)?this.onContainerMouseDown(u):(this.zoomOption(u),this.touch(u,!0))}onDocumentMouseMove(u){let x=this.chart,c=x.tooltip,o=this.chartPosition,n=this.normalize(u,o);!o||x.isInsidePlot(n.chartX-x.plotLeft,n.chartY-x.plotTop,{visiblePlotOnly:!0})||c&&c.shouldStickOnContact(n)||n.target!==x.container.ownerDocument&&this.inClass(n.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(u){O[y(z.hoverChartIndex,-1)]?.pointer?.drop(u)}pinch(u){let x=this,{chart:c,hasZoom:o,lastTouches:n}=x,d=[].map.call(u.touches||[],N=>x.normalize(N)),f=d.length,S=f===1&&(x.inClass(u.target,"highcharts-tracker")&&c.runTrackerClick||x.runChartClick),T=c.tooltip,m=f===1&&y(T?.options.followTouchMove,!0);f>1?x.initiated=!0:m&&(x.initiated=!1),o&&x.initiated&&!S&&u.cancelable!==!1&&u.preventDefault(),u.type==="touchstart"?(x.pinchDown=d,x.res=!0,c.mouseDownX=u.chartX):m?this.runPointActions(x.normalize(u)):n&&(F(c,"touchpan",{originalEvent:u,touches:d},()=>{let N=ie=>{let D=ie[0],B=ie[1]||D;return{x:D.chartX,y:D.chartY,width:B.chartX-D.chartX,height:B.chartY-D.chartY}};c.transform({axes:c.axes.filter(ie=>ie.zoomEnabled&&(this.zoomHor&&ie.horiz||this.zoomVert&&!ie.horiz)),to:N(d),from:N(n),trigger:u.type})}),x.res&&(x.res=!1,this.reset(!1,0))),x.lastTouches=d}reset(u,x){let c=this.chart,o=c.hoverSeries,n=c.hoverPoint,d=c.hoverPoints,f=c.tooltip,S=f&&f.shared?d:n;u&&S&&q(S).forEach(function(T){T.series.isCartesian&&T.plotX===void 0&&(u=!1)}),u?f&&S&&q(S).length&&(f.refresh(S),f.shared&&d?d.forEach(function(T){T.setState(T.state,!0),T.series.isCartesian&&(T.series.xAxis.crosshair&&T.series.xAxis.drawCrosshair(null,T),T.series.yAxis.crosshair&&T.series.yAxis.drawCrosshair(null,T))}):n&&(n.setState(n.state,!0),c.axes.forEach(function(T){T.crosshair&&n.series[T.coll]===T&&T.drawCrosshair(null,n)}))):(n&&n.onMouseOut(),d&&d.forEach(function(T){T.setState()}),o&&o.onMouseOut(),f&&f.hide(x),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),c.axes.forEach(function(T){T.hideCrosshair()}),c.hoverPoints=c.hoverPoint=void 0)}runPointActions(u,x,c){let o=this.chart,n=o.series,d=o.tooltip&&o.tooltip.options.enabled?o.tooltip:void 0,f=!!d&&d.shared,S=x||o.hoverPoint,T=S&&S.series||o.hoverSeries,m=(!u||u.type!=="touchmove")&&(!!x||T&&T.directTouch&&this.isDirectTouch),N=this.getHoverData(S,T,n,m,f,u);S=N.hoverPoint,T=N.hoverSeries;let ie=N.hoverPoints,D=T&&T.tooltipOptions.followPointer&&!T.tooltipOptions.split,B=f&&T&&!T.noSharedTooltip;if(S&&(c||S!==o.hoverPoint||d&&d.isHidden)){if((o.hoverPoints||[]).forEach(function(V){ie.indexOf(V)===-1&&V.setState()}),o.hoverSeries!==T&&T.onMouseOver(),this.applyInactiveState(ie),(ie||[]).forEach(function(V){V.setState("hover")}),o.hoverPoint&&o.hoverPoint.firePointEvent("mouseOut"),!S.series)return;o.hoverPoints=ie,o.hoverPoint=S,S.firePointEvent("mouseOver",void 0,()=>{d&&S&&d.refresh(B?ie:S,u)})}else if(D&&d&&!d.isHidden){let V=d.getAnchor([{}],u);o.isInsidePlot(V[0],V[1],{visiblePlotOnly:!0})&&d.updatePosition({plotX:V[0],plotY:V[1]})}this.unDocMouseMove||(this.unDocMouseMove=X(o.container.ownerDocument,"mousemove",V=>O[z.hoverChartIndex??-1]?.pointer?.onDocumentMouseMove(V)),this.eventsToUnbind.push(this.unDocMouseMove)),o.axes.forEach(function(V){let Z,re=y((V.crosshair||{}).snap,!0);!re||(Z=o.hoverPoint)&&Z.series[V.coll]===V||(Z=j(ie,p=>p.series&&p.series[V.coll]===V)),Z||!re?V.drawCrosshair(u,Z):V.hideCrosshair()})}setDOMEvents(){let u=this.chart.container,x=u.ownerDocument;u.onmousedown=this.onContainerMouseDown.bind(this),u.onmousemove=this.onContainerMouseMove.bind(this),u.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(X(u,"mouseenter",this.onContainerMouseEnter.bind(this)),X(u,"mouseleave",this.onContainerMouseLeave.bind(this))),z.unbindDocumentMouseUp||(z.unbindDocumentMouseUp=[]),z.unbindDocumentMouseUp.push(X(x,"mouseup",this.onDocumentMouseUp.bind(this)));let c=this.chart.renderTo.parentElement;for(;c&&c.tagName!=="BODY";)this.eventsToUnbind.push(X(c,"scroll",()=>{delete this.chartPosition})),c=c.parentElement;this.eventsToUnbind.push(X(u,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),X(u,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),z.unbindDocumentTouchEnd||(z.unbindDocumentTouchEnd=X(x,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})),this.setPointerCapture(),X(this.chart,"redraw",this.setPointerCapture.bind(this))}setPointerCapture(){if(!G)return;let u=this.pointerCaptureEventsToUnbind,x=this.chart,c=x.container,o=y(x.options.tooltip?.followTouchMove,!0)&&x.series.some(n=>n.options.findNearestPointBy.indexOf("y")>-1);!this.hasPointerCapture&&o?(u.push(X(c,"pointerdown",n=>{n.target?.hasPointerCapture(n.pointerId)&&n.target?.releasePointerCapture(n.pointerId)}),X(c,"pointermove",n=>{x.pointer?.getPointFromEvent(n)?.onMouseOver(n)})),x.styledMode||A(c,{"touch-action":"none"}),c.className+=" highcharts-no-touch-action",this.hasPointerCapture=!0):this.hasPointerCapture&&!o&&(u.forEach(n=>n()),u.length=0,x.styledMode||A(c,{"touch-action":y(x.options.chart.style?.["touch-action"],"manipulation")}),c.className=c.className.replace(" highcharts-no-touch-action",""),this.hasPointerCapture=!1)}setHoverChartIndex(u){let x=this.chart,c=r.charts[y(z.hoverChartIndex,-1)];if(c&&c!==x){let o={relatedTarget:x.container};u&&!u?.relatedTarget&&(u=we(we({},o),u)),c.pointer?.onContainerMouseLeave(u||o)}c&&c.mouseIsDown||(z.hoverChartIndex=x.index)}touch(u,x){let c,{chart:o,pinchDown:n=[]}=this;this.setHoverChartIndex(),(u=this.normalize(u)).touches.length===1?o.isInsidePlot(u.chartX-o.plotLeft,u.chartY-o.plotTop,{visiblePlotOnly:!0})&&!o.openMenu?(x&&this.runPointActions(u),u.type==="touchmove"&&(c=!!n[0]&&Math.pow(n[0].chartX-u.chartX,2)+Math.pow(n[0].chartY-u.chartY,2)>=16),y(c,!0)&&this.pinch(u)):x&&this.reset():u.touches.length===2&&this.pinch(u)}touchSelect(u){return!!(this.chart.zooming.singleTouch&&u.touches&&u.touches.length===1)}zoomOption(u){let x=this.chart,c=x.inverted,o=x.zooming.type||"",n,d;/touch/.test(u.type)&&(o=y(x.zooming.pinchType,o)),this.zoomX=n=/x/.test(o),this.zoomY=d=/y/.test(o),this.zoomHor=n&&!c||d&&c,this.zoomVert=d&&!c||n&&c,this.hasZoom=n||d}}return(l=z||(z={})).compose=function(R){P(te,"Core.Pointer")&&X(R,"beforeRender",function(){this.pointer=new l(this,this.options)})},z}),e(s,"Core/Legend/LegendSymbol.js",[s["Core/Utilities.js"]],function(t){var r;let{extend:a,merge:l,pick:_}=t;return function(O){function te(G,X,J){let A=this.legendItem=this.legendItem||{},{chart:$,options:j}=this,{baseline:F=0,symbolWidth:C,symbolHeight:M}=G,E=this.symbol||"circle",L=M/2,y=$.renderer,P=A.group,q=F-Math.round((G.fontMetrics?.b||M)*(J?.4:.3)),z={},R,u=j.marker,x=0;if($.styledMode||(z["stroke-width"]=Math.min(j.lineWidth||0,24),j.dashStyle?z.dashstyle=j.dashStyle:j.linecap==="square"||(z["stroke-linecap"]="round")),A.line=y.path().addClass("highcharts-graph").attr(z).add(P),J&&(A.area=y.path().addClass("highcharts-area").add(P)),z["stroke-linecap"]&&(x=Math.min(A.line.strokeWidth(),C)/2),C){let c=[["M",x,q],["L",C-x,q]];A.line.attr({d:c}),A.area?.attr({d:[...c,["L",C-x,F],["L",x,F]]})}if(u&&u.enabled!==!1&&C){let c=Math.min(_(u.radius,L),L);E.indexOf("url")===0&&(u=l(u,{width:M,height:M}),c=0),A.symbol=R=y.symbol(E,C/2-c,q-c,2*c,2*c,a({context:"legend"},u)).addClass("highcharts-point").add(P),R.isMarker=!0}}O.areaMarker=function(G,X){te.call(this,G,X,!0)},O.lineMarker=te,O.rectangle=function(G,X){let J=X.legendItem||{},A=G.options,$=G.symbolHeight,j=A.squareSymbol,F=j?$:G.symbolWidth;J.symbol=this.chart.renderer.rect(j?(G.symbolWidth-$)/2:0,G.baseline-$+1,F,$,_(G.options.symbolRadius,$/2)).addClass("highcharts-point").attr({zIndex:3}).add(J.group)}}(r||(r={})),r}),e(s,"Core/Series/SeriesDefaults.js",[],function(){return{lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,formatter:function(){let{numberFormatter:t}=this.series.chart;return typeof this.y!="number"?"":t(this.y,-1)},padding:5,style:{fontSize:"0.7em",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:150},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:150},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"}}),e(s,"Core/Series/SeriesRegistry.js",[s["Core/Globals.js"],s["Core/Defaults.js"],s["Core/Series/Point.js"],s["Core/Utilities.js"]],function(t,r,a,l){var _;let{defaultOptions:O}=r,{extend:te,extendClass:G,merge:X}=l;return function(J){function A($,j){let F=O.plotOptions||{},C=j.defaultOptions,M=j.prototype;return M.type=$,M.pointClass||(M.pointClass=a),!J.seriesTypes[$]&&(C&&(F[$]=C),J.seriesTypes[$]=j,!0)}J.seriesTypes=t.seriesTypes,J.registerSeriesType=A,J.seriesType=function($,j,F,C,M){let E=O.plotOptions||{};if(j=j||"",E[$]=X(E[j],F),delete J.seriesTypes[$],A($,G(J.seriesTypes[j]||function(){},C)),J.seriesTypes[$].prototype.type=$,M){class L extends a{}te(L.prototype,M),J.seriesTypes[$].prototype.pointClass=L}return J.seriesTypes[$]}}(_||(_={})),_}),e(s,"Core/Series/Series.js",[s["Core/Animation/AnimationUtilities.js"],s["Core/Defaults.js"],s["Core/Foundation.js"],s["Core/Globals.js"],s["Core/Legend/LegendSymbol.js"],s["Core/Series/Point.js"],s["Core/Series/SeriesDefaults.js"],s["Core/Series/SeriesRegistry.js"],s["Core/Renderer/SVG/SVGElement.js"],s["Core/Utilities.js"]],function(t,r,a,l,_,O,te,G,X,J){let{animObject:A,setAnimation:$}=t,{defaultOptions:j}=r,{registerEventOptions:F}=a,{svg:C,win:M}=l,{seriesTypes:E}=G,{arrayMax:L,arrayMin:y,clamp:P,correctFloat:q,crisp:z,defined:R,destroyObjectProperties:u,diffObjects:x,erase:c,error:o,extend:n,find:d,fireEvent:f,getClosestDistance:S,getNestedProperty:T,insertItem:m,isArray:N,isNumber:ie,isString:D,merge:B,objectEach:V,pick:Z,removeEvent:re,splat:p,syncTimeout:g}=J;class v{constructor(){this.zoneAxis="y"}init(h,w){let b;f(this,"init",{options:w});let I=this,k=h.series;this.eventsToUnbind=[],I.chart=h,I.options=I.setOptions(w);let W=I.options,ee=W.visible!==!1;I.linkedSeries=[],I.bindAxes(),n(I,{name:W.name,state:"",visible:ee,selected:W.selected===!0}),F(this,W);let se=W.events;(se&&se.click||W.point&&W.point.events&&W.point.events.click||W.allowPointSelect)&&(h.runTrackerClick=!0),I.getColor(),I.getSymbol(),I.parallelArrays.forEach(function(ne){I[ne+"Data"]||(I[ne+"Data"]=[])}),I.isCartesian&&(h.hasCartesianSeries=!0),k.length&&(b=k[k.length-1]),I._i=Z(b&&b._i,-1)+1,I.opacity=I.options.opacity,h.orderItems("series",m(this,k)),W.dataSorting&&W.dataSorting.enabled?I.setDataSortingOptions():I.points||I.data||I.setData(W.data,!1),f(this,"afterInit")}is(h){return E[h]&&this instanceof E[h]}bindAxes(){let h,w=this,b=w.options,I=w.chart;f(this,"bindAxes",null,function(){(w.axisTypes||[]).forEach(function(k){(I[k]||[]).forEach(function(W){h=W.options,(Z(b[k],0)===W.index||b[k]!==void 0&&b[k]===h.id)&&(m(w,W.series),w[k]=W,W.isDirty=!0)}),w[k]||w.optionalAxis===k||o(18,!0,I)})}),f(this,"afterBindAxes")}updateParallelArrays(h,w,b){let I=h.series,k=ie(w)?function(W){let ee=W==="y"&&I.toYData?I.toYData(h):h[W];I[W+"Data"][w]=ee}:function(W){Array.prototype[w].apply(I[W+"Data"],b)};I.parallelArrays.forEach(k)}hasData(){return this.visible&&this.dataMax!==void 0&&this.dataMin!==void 0||this.visible&&this.yData&&this.yData.length>0}hasMarkerChanged(h,w){let b=h.marker,I=w.marker||{};return b&&(I.enabled&&!b.enabled||I.symbol!==b.symbol||I.height!==b.height||I.width!==b.width)}autoIncrement(h){let w=this.options,b=w.pointIntervalUnit,I=w.relativeXValue,k=this.chart.time,W=this.xIncrement,ee,se;return W=Z(W,w.pointStart,0),this.pointInterval=se=Z(this.pointInterval,w.pointInterval,1),I&&ie(h)&&(se*=h),b&&(ee=new k.Date(W),b==="day"?k.set("Date",ee,k.get("Date",ee)+se):b==="month"?k.set("Month",ee,k.get("Month",ee)+se):b==="year"&&k.set("FullYear",ee,k.get("FullYear",ee)+se),se=ee.getTime()-W),I&&ie(h)?W+se:(this.xIncrement=W+se,W)}setDataSortingOptions(){let h=this.options;n(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),R(h.pointRange)||(h.pointRange=1)}setOptions(h){let w,b=this.chart,I=b.options.plotOptions,k=b.userOptions||{},W=B(h),ee=b.styledMode,se={plotOptions:I,userOptions:W};f(this,"setOptions",se);let ne=se.plotOptions[this.type],ce=k.plotOptions||{},de=ce.series||{},Y=j.plotOptions[this.type]||{},U=ce[this.type]||{};this.userOptions=se.userOptions;let K=B(ne,I.series,U,W);this.tooltipOptions=B(j.tooltip,j.plotOptions.series?.tooltip,Y?.tooltip,b.userOptions.tooltip,ce.series?.tooltip,U.tooltip,W.tooltip),this.stickyTracking=Z(W.stickyTracking,U.stickyTracking,de.stickyTracking,!!this.tooltipOptions.shared&&!this.noSharedTooltip||K.stickyTracking),ne.marker===null&&delete K.marker,this.zoneAxis=K.zoneAxis||"y";let Q=this.zones=(K.zones||[]).map(oe=>we({},oe));return(K.negativeColor||K.negativeFillColor)&&!K.zones&&(w={value:K[this.zoneAxis+"Threshold"]||K.threshold||0,className:"highcharts-negative"},ee||(w.color=K.negativeColor,w.fillColor=K.negativeFillColor),Q.push(w)),Q.length&&R(Q[Q.length-1].value)&&Q.push(ee?{}:{color:this.color,fillColor:this.fillColor}),f(this,"afterSetOptions",{options:K}),K}getName(){return Z(this.options.name,"Series "+(this.index+1))}getCyclic(h,w,b){let I,k,W=this.chart,ee=`${h}Index`,se=`${h}Counter`,ne=b?.length||W.options.chart.colorCount;!w&&(R(k=Z(h==="color"?this.options.colorIndex:void 0,this[ee]))?I=k:(W.series.length||(W[se]=0),I=W[se]%ne,W[se]+=1),b&&(w=b[I])),I!==void 0&&(this[ee]=I),this[h]=w}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||j.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){let h=this.options.marker;this.getCyclic("symbol",h.symbol,this.chart.options.symbols)}findPointIndex(h,w){let b,I,k,W=h.id,ee=h.x,se=this.points,ne=this.options.dataSorting;if(W){let ce=this.chart.get(W);ce instanceof O&&(b=ce)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let ce=de=>!de.touched&&de.index===h.index;if(ne&&ne.matchByName?ce=de=>!de.touched&&de.name===h.name:this.options.relativeXValue&&(ce=de=>!de.touched&&de.options.x===h.x),!(b=d(se,ce)))return}return b&&(k=b&&b.index)!==void 0&&(I=!0),k===void 0&&ie(ee)&&(k=this.xData.indexOf(ee,w)),k!==-1&&k!==void 0&&this.cropped&&(k=k>=this.cropStart?k-this.cropStart:k),!I&&ie(k)&&se[k]&&se[k].touched&&(k=void 0),k}updateData(h,w){let b=this.options,I=b.dataSorting,k=this.points,W=[],ee=this.requireSorting,se=h.length===k.length,ne,ce,de,Y,U=!0;if(this.xIncrement=null,h.forEach(function(K,Q){let oe,ae=R(K)&&this.pointClass.prototype.optionsToObject.call({series:this},K)||{},he=ae.x;ae.id||ie(he)?((oe=this.findPointIndex(ae,Y))===-1||oe===void 0?W.push(K):k[oe]&&K!==b.data[oe]?(k[oe].update(K,!1,null,!1),k[oe].touched=!0,ee&&(Y=oe+1)):k[oe]&&(k[oe].touched=!0),(!se||Q!==oe||I&&I.enabled||this.hasDerivedData)&&(ne=!0)):W.push(K)},this),ne)for(ce=k.length;ce--;)(de=k[ce])&&!de.touched&&de.remove&&de.remove(!1,w);else!se||I&&I.enabled?U=!1:(h.forEach(function(K,Q){K===k[Q].y||k[Q].destroyed||k[Q].update(K,!1,null,!1)}),W.length=0);return k.forEach(function(K){K&&(K.touched=!1)}),!!U&&(W.forEach(function(K){this.addPoint(K,!1,null,null,!1)},this),this.xIncrement===null&&this.xData&&this.xData.length&&(this.xIncrement=L(this.xData),this.autoIncrement()),!0)}setData(h,w=!0,b,I){let k=this,W=k.points,ee=W&&W.length||0,se=k.options,ne=k.chart,ce=se.dataSorting,de=k.xAxis,Y=se.turboThreshold,U=this.xData,K=this.yData,Q=k.pointArrayMap,oe=Q&&Q.length,ae=se.keys,he,le,ue,pe=0,fe=1,me;ne.options.chart.allowMutatingData||(se.data&&delete k.options.data,k.userOptions.data&&delete k.userOptions.data,me=B(!0,h));let ge=(h=me||h||[]).length;if(ce&&ce.enabled&&(h=this.sortData(h)),ne.options.chart.allowMutatingData&&I!==!1&&ge&&ee&&!k.cropped&&!k.hasGroupedData&&k.visible&&!k.boosted&&(ue=this.updateData(h,b)),!ue){k.xIncrement=null,k.colorCounter=0,this.parallelArrays.forEach(function(ve){k[ve+"Data"].length=0});let be=Y&&ge>Y;if(be){let ve=k.getFirstValidPoint(h),ye=k.getFirstValidPoint(h,ge-1,-1),Ae=Me=>!!(N(Me)&&(ae||ie(Me[0])));if(ie(ve)&&ie(ye))for(he=0;he=0?pe:0,fe=fe>=0?fe:1),ve.length===1&&(fe=0),pe===fe)for(he=0;he{let ee=T(b,k),se=T(b,W);return seee?1:0}).forEach(function(k,W){k.x=W},this),w.linkedSeries&&w.linkedSeries.forEach(function(k){let W=k.options,ee=W.data;W.dataSorting&&W.dataSorting.enabled||!ee||(ee.forEach(function(se,ne){ee[ne]=I(k,se),h[ne]&&(ee[ne].x=h[ne].x,ee[ne].index=ne)}),k.setData(ee,!1))}),h}getProcessedData(h){let w=this,b=w.xAxis,I=w.options.cropThreshold,k=b?.logarithmic,W=w.isCartesian,ee,se,ne=0,ce,de,Y,U=w.xData,K=w.yData,Q=!1,oe=U.length;b&&(de=(ce=b.getExtremes()).min,Y=ce.max,Q=!!(b.categories&&!b.names.length)),W&&w.sorted&&!h&&(!I||oe>I||w.forceCrop)&&(U[oe-1]Y?(U=[],K=[]):w.yData&&(U[0]Y)&&(U=(ee=this.cropData(w.xData,w.yData,de,Y)).xData,K=ee.yData,ne=ee.start,se=!0));let ae=S([k?U.map(k.log2lin):U],()=>w.requireSorting&&!Q&&o(15,!1,w.chart));return{xData:U,yData:K,cropped:se,cropStart:ne,closestPointRange:ae}}processData(h){let w=this.xAxis;if(this.isCartesian&&!this.isDirty&&!w.isDirty&&!this.yAxis.isDirty&&!h)return!1;let b=this.getProcessedData();this.cropped=b.cropped,this.cropStart=b.cropStart,this.processedXData=b.xData,this.processedYData=b.yData,this.closestPointRange=this.basePointRange=b.closestPointRange,f(this,"afterProcessData")}cropData(h,w,b,I){let k=h.length,W,ee,se=0,ne=k;for(W=0;W=b){se=Math.max(0,W-1);break}for(ee=W;eeI){ne=ee+1;break}return{xData:h.slice(se,ne),yData:w.slice(se,ne),start:se,end:ne}}generatePoints(){let h=this.options,w=this.processedData||h.data,b=this.processedXData,I=this.processedYData,k=this.pointClass,W=b.length,ee=this.cropStart||0,se=this.hasGroupedData,ne=h.keys,ce=[],de=h.dataGrouping&&h.dataGrouping.groupAll?ee:0,Y,U,K,Q,oe=this.data;if(!oe&&!se){let ae=[];ae.length=w.length,oe=this.data=ae}for(ne&&se&&(this.options.keys=!1),Q=0;Q0:Q.length)||!ee),U=w||this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||!b||(fe[oe+W]||K)>=he&&(fe[oe-W]||K)<=le,Y&&U)if(ae=Q.length)for(;ae--;)ie(Q[ae])&&(k[ue++]=Q[ae]);else k[ue++]=Q;let me={activeYData:k,dataMin:y(k),dataMax:L(k)};return f(this,"afterGetExtremes",{dataExtremes:me}),me}applyExtremes(){let h=this.getExtremes();return this.dataMin=h.dataMin,this.dataMax=h.dataMax,h}getFirstValidPoint(h,w=0,b=1){let I=h.length,k=w;for(;k>=0&&k1)&&(W.step=function(Y,U){de&&de.apply(U,arguments),U.prop==="width"&&ne?.element&&ne.attr(k?"height":"width",Y+99)}),se.addClass("highcharts-animating").animate(ce,W)}}afterAnimate(){this.setClip(),V(this.chart.sharedClips,(h,w,b)=>{h&&!this.chart.container.querySelector(`[clip-path="url(#${h.id})"]`)&&(h.destroy(),delete b[w])}),this.finishedAnimating=!0,f(this,"afterAnimate")}drawPoints(h=this.points){let w,b,I,k,W,ee,se,ne=this.chart,ce=ne.styledMode,{colorAxis:de,options:Y}=this,U=Y.marker,K=this[this.specialGroup||"markerGroup"],Q=this.xAxis,oe=Z(U.enabled,!Q||!!Q.isRadial||null,this.closestPointRangePx>=U.enabledThreshold*U.radius);if(U.enabled!==!1||this._hasPointMarkers)for(w=0;w0||b.hasImage)&&(b.graphic=I=ne.renderer.symbol(ae,se.x,se.y,se.width,se.height,ee?W:U).add(K),this.enabledDataSorting&&ne.hasRendered&&(I.attr({x:b.startXPos}),k="animate")),I&&k==="animate"&&I[he?"show":"hide"](he).animate(se),I){let le=this.pointAttribs(b,ce||!b.selected?void 0:"select");ce?de&&I.css({fill:le.fill}):I[k](le)}I&&I.addClass(b.getClassName(),!0)}else I&&(b.graphic=I.destroy())}markerAttribs(h,w){let b=this.options,I=b.marker,k=h.marker||{},W=k.symbol||I.symbol,ee={},se,ne,ce=Z(k.radius,I&&I.radius);w&&(se=I.states[w],ce=Z((ne=k.states&&k.states[w])&&ne.radius,se&&se.radius,ce&&ce+(se&&se.radiusPlus||0))),h.hasImage=W&&W.indexOf("url")===0,h.hasImage&&(ce=0);let de=h.pos();return ie(ce)&&de&&(b.crisp&&(de[0]=z(de[0],h.hasImage?0:W==="rect"?I?.lineWidth||0:1)),ee.x=de[0]-ce,ee.y=de[1]-ce),ce&&(ee.width=ee.height=2*ce),ee}pointAttribs(h,w){let b=this.options.marker,I=h&&h.options,k=I&&I.marker||{},W=I&&I.color,ee=h&&h.color,se=h&&h.zone&&h.zone.color,ne,ce,de=this.color,Y,U,K=Z(k.lineWidth,b.lineWidth),Q=1;return de=W||se||ee||de,Y=k.fillColor||b.fillColor||de,U=k.lineColor||b.lineColor||de,w=w||"normal",ne=b.states[w]||{},K=Z((ce=k.states&&k.states[w]||{}).lineWidth,ne.lineWidth,K+Z(ce.lineWidthPlus,ne.lineWidthPlus,0)),Y=ce.fillColor||ne.fillColor||Y,{stroke:U=ce.lineColor||ne.lineColor||U,"stroke-width":K,fill:Y,opacity:Q=Z(ce.opacity,ne.opacity,Q)}}destroy(h){let w,b,I,k=this,W=k.chart,ee=/AppleWebKit\/533/.test(M.navigator.userAgent),se=k.data||[];for(f(k,"destroy",{keepEventsForUpdate:h}),this.removeEvents(h),(k.axisTypes||[]).forEach(function(ne){(I=k[ne])&&I.series&&(c(I.series,k),I.isDirty=I.forceRedraw=!0)}),k.legendItem&&k.chart.legend.destroyItem(k),w=se.length;w--;)(b=se[w])&&b.destroy&&b.destroy();for(let ne of k.zones)u(ne,void 0,!0);J.clearTimeout(k.animationTimeout),V(k,function(ne,ce){ne instanceof X&&!ne.survive&&ne[ee&&ce==="group"?"hide":"destroy"]()}),W.hoverSeries===k&&(W.hoverSeries=void 0),c(W.series,k),W.orderItems("series"),V(k,function(ne,ce){h&&ce==="hcEvents"||delete k[ce]})}applyZones(){let{area:h,chart:w,graph:b,zones:I,points:k,xAxis:W,yAxis:ee,zoneAxis:se}=this,{inverted:ne,renderer:ce}=w,de=this[`${se}Axis`],{isXAxis:Y,len:U=0}=de||{},K=(b?.strokeWidth()||0)/2+1,Q=(oe,ae=0,he=0)=>{ne&&(he=U-he);let{translated:le=0,lineClip:ue}=oe,pe=he-le;ue?.push(["L",ae,Math.abs(pe){ue.forEach((pe,fe)=>{(pe[0]==="M"||pe[0]==="L")&&(ue[fe]=[pe[0],Y?U-pe[1]:pe[1],Y?pe[2]:U-pe[2]])})};if(I.forEach(ue=>{ue.lineClip=[],ue.translated=P(de.toPixels(Z(ue.value,oe),!0)||0,0,U)}),b&&!this.showLine&&b.hide(),h&&h.hide(),se==="y"&&k.length{let pe=ue.lineClip||[],fe=Math.round(ue.translated||0);W.reversed&&pe.reverse();let{clip:me,simpleClip:ge}=ue,be=0,ve=0,ye=W.len,Ae=ee.len;Y?(be=fe,ye=le):(ve=fe,Ae=le);let Me=[["M",be,ve],["L",ye,ve],["L",ye,Ae],["L",be,Ae],["Z"]],Le=[Me[0],...pe,Me[1],Me[2],...he,Me[3],Me[4]];he=pe.reverse(),le=fe,ne&&(ae(Le),h&&ae(Me)),me?(me.animate({d:Le}),ge?.animate({d:Me})):(me=ue.clip=ce.path(Le),h&&(ge=ue.simpleClip=ce.path(Me))),b&&ue.graph?.clip(me),h&&ue.area?.clip(ge)})}else this.visible&&(b&&b.show(),h&&h.show())}plotGroup(h,w,b,I,k){let W=this[h],ee=!W,se={visibility:b,zIndex:I||.1};return R(this.opacity)&&!this.chart.styledMode&&this.state!=="inactive"&&(se.opacity=this.opacity),W||(this[h]=W=this.chart.renderer.g().add(k)),W.addClass("highcharts-"+w+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(R(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(W.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),W.attr(se)[ee?"attr":"animate"](this.getPlotBox(w)),W}getPlotBox(h){let w=this.xAxis,b=this.yAxis,I=this.chart,k=I.inverted&&!I.polar&&w&&this.invertible&&h==="series";return I.inverted&&(w=b,b=this.xAxis),{translateX:w?w.left:I.plotLeft,translateY:b?b.top:I.plotTop,rotation:k?90:0,rotationOriginX:k?(w.len-b.len)/2:0,rotationOriginY:k?(w.len+b.len)/2:0,scaleX:k?-1:1,scaleY:1}}removeEvents(h){let{eventsToUnbind:w}=this;h||re(this),w.length&&(w.forEach(b=>{b()}),w.length=0)}render(){let h=this,{chart:w,options:b,hasRendered:I}=h,k=A(b.animation),W=h.visible?"inherit":"hidden",ee=b.zIndex,se=w.seriesGroup,ne=h.finishedAnimating?0:k.duration;f(this,"render"),h.plotGroup("group","series",W,ee,se),h.markerGroup=h.plotGroup("markerGroup","markers",W,ee,se),b.clip!==!1&&h.setClip(),ne&&h.animate?.(!0),h.drawGraph&&(h.drawGraph(),h.applyZones()),h.visible&&h.drawPoints(),h.drawDataLabels?.(),h.redrawPoints?.(),b.enableMouseTracking&&h.drawTracker?.(),ne&&h.animate?.(),I||(ne&&k.defer&&(ne+=k.defer),h.animationTimeout=g(()=>{h.afterAnimate()},ne||0)),h.isDirty=!1,h.hasRendered=!0,f(h,"afterRender")}redraw(){let h=this.isDirty||this.isDirtyData;this.translate(),this.render(),h&&delete this.kdTree}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(h,w){let{xAxis:b,yAxis:I}=this,k=this.chart.inverted;return this.searchKDTree({clientX:k?b.len-h.chartY+b.pos:h.chartX-b.pos,plotY:k?I.len-h.chartX+I.pos:h.chartY-I.pos},w,h)}buildKDTree(h){this.buildingKdTree=!0;let w=this,b=w.options.findNearestPointBy.indexOf("y")>-1?2:1;delete w.kdTree,g(function(){w.kdTree=function I(k,W,ee){let se,ne,ce=k?.length;if(ce)return se=w.kdAxisArray[W%ee],k.sort((de,Y)=>(de[se]||0)-(Y[se]||0)),{point:k[ne=Math.floor(ce/2)],left:I(k.slice(0,ne),W+1,ee),right:I(k.slice(ne+1),W+1,ee)}}(w.getValidPoints(void 0,!w.directTouch),b,b),w.buildingKdTree=!1},w.options.kdNow||h?.type==="touchstart"?0:1)}searchKDTree(h,w,b){let I=this,[k,W]=this.kdAxisArray,ee=w?"distX":"dist",se=(I.options.findNearestPointBy||"").indexOf("y")>-1?2:1,ne=!!I.isBubble;if(this.kdTree||this.buildingKdTree||this.buildKDTree(b),this.kdTree)return function ce(de,Y,U,K){let Q=Y.point,oe=I.kdAxisArray[U%K],ae,he,le=Q;(function(me,ge){let be=me[k],ve=ge[k],ye=R(be)&&R(ve)?be-ve:null,Ae=me[W],Me=ge[W],Le=R(Ae)&&R(Me)?Ae-Me:0,je=ne&&ge.marker?.radius||0;ge.dist=Math.sqrt((ye&&ye*ye||0)+Le*Le)-je,ge.distX=R(ye)?Math.abs(ye)-je:Number.MAX_VALUE})(de,Q);let ue=(de[oe]||0)-(Q[oe]||0)+(ne&&Q.marker?.radius||0),pe=ue<0?"left":"right",fe=ue<0?"right":"left";return Y[pe]&&(le=(ae=ce(de,Y[pe],U+1,K))[ee]=0&&W<=(I?I.len:w.plotHeight)&&k>=0&&k<=(b?b.len:w.plotWidth)}drawTracker(){let h=this,w=h.options,b=w.trackByArea,I=[].concat((b?h.areaPath:h.graphPath)||[]),k=h.chart,W=k.pointer,ee=k.renderer,se=k.options.tooltip?.snap||0,ne=()=>{w.enableMouseTracking&&k.hoverSeries!==h&&h.onMouseOver()},ce="rgba(192,192,192,"+(C?1e-4:.002)+")",de=h.tracker;de?de.attr({d:I}):h.graph&&(h.tracker=de=ee.path(I).attr({visibility:h.visible?"inherit":"hidden",zIndex:2}).addClass(b?"highcharts-tracker-area":"highcharts-tracker-line").add(h.group),k.styledMode||de.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:ce,fill:b?ce:"none","stroke-width":h.graph.strokeWidth()+(b?0:2*se)}),[h.tracker,h.markerGroup,h.dataLabelsGroup].forEach(Y=>{Y&&(Y.addClass("highcharts-tracker").on("mouseover",ne).on("mouseout",U=>{W?.onTrackerMouseOut(U)}),w.cursor&&!k.styledMode&&Y.css({cursor:w.cursor}),Y.on("touchstart",ne))})),f(this,"afterDrawTracker")}addPoint(h,w,b,I,k){let W,ee,se=this.options,ne=this.data,ce=this.chart,de=this.xAxis,Y=de&&de.hasNames&&de.names,U=se.data,K=this.xData;w=Z(w,!0);let Q={series:this};this.pointClass.prototype.applyOptions.apply(Q,[h]);let oe=Q.x;if(ee=K.length,this.requireSorting&&oeoe;)ee--;this.updateParallelArrays(Q,"splice",[ee,0,0]),this.updateParallelArrays(Q,ee),Y&&Q.name&&(Y[oe]=Q.name),U.splice(ee,0,h),(W||this.processedData)&&(this.data.splice(ee,0,null),this.processData()),se.legendType==="point"&&this.generatePoints(),b&&(ne[0]&&ne[0].remove?ne[0].remove(!1):(ne.shift(),this.updateParallelArrays(Q,"shift"),U.shift())),k!==!1&&f(this,"addPoint",{point:Q}),this.isDirty=!0,this.isDirtyData=!0,w&&ce.redraw(I)}removePoint(h,w,b){let I=this,k=I.data,W=k[h],ee=I.points,se=I.chart,ne=function(){ee&&ee.length===k.length&&ee.splice(h,1),k.splice(h,1),I.options.data.splice(h,1),I.updateParallelArrays(W||{series:I},"splice",[h,1]),W&&W.destroy(),I.isDirty=!0,I.isDirtyData=!0,w&&se.redraw()};$(b,se),w=Z(w,!0),W?W.firePointEvent("remove",null,ne):ne()}remove(h,w,b,I){let k=this,W=k.chart;function ee(){k.destroy(I),W.isDirtyLegend=W.isDirtyBox=!0,W.linkSeries(I),Z(h,!0)&&W.redraw(w)}b!==!1?f(k,"remove",null,ee):ee()}update(h,w){f(this,"update",{options:h=x(h,this.userOptions)});let b=this,I=b.chart,k=b.userOptions,W=b.initialType||b.type,ee=I.options.plotOptions,se=E[W].prototype,ne=b.finishedAnimating&&{animation:!1},ce={},de,Y,U=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],K=h.type||k.type||I.options.chart.type,Q=!(this.hasDerivedData||K&&K!==this.type||h.pointStart!==void 0||h.pointInterval!==void 0||h.relativeXValue!==void 0||h.joinBy||h.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some(ae=>b.hasOptionChanged(ae)));K=K||W,Q&&(U.push("data","isDirtyData","isDirtyCanvas","points","processedData","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"),h.visible!==!1&&U.push("area","graph"),b.parallelArrays.forEach(function(ae){U.push(ae+"Data")}),h.data&&(h.dataSorting&&n(b.options.dataSorting,h.dataSorting),this.setData(h.data,!1))),h=B(k,{index:k.index===void 0?b.index:k.index,pointStart:ee?.series?.pointStart??k.pointStart??b.xData?.[0]},!Q&&{data:b.options.data},h,ne),Q&&h.data&&(h.data=b.options.data),(U=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(U)).forEach(function(ae){U[ae]=b[ae],delete b[ae]});let oe=!1;if(E[K]){if(oe=K!==b.type,b.remove(!1,!1,!1,!0),oe)if(I.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(b,E[K].prototype);else{let ae=Object.hasOwnProperty.call(b,"hcEvents")&&b.hcEvents;for(Y in se)b[Y]=void 0;n(b,E[K].prototype),ae?b.hcEvents=ae:delete b.hcEvents}}else o(17,!0,I,{missingModuleFor:K});if(U.forEach(function(ae){b[ae]=U[ae]}),b.init(I,h),Q&&this.points)for(let ae of((de=b.options).visible===!1?(ce.graphic=1,ce.dataLabel=1):(this.hasMarkerChanged(de,k)&&(ce.graphic=1),b.hasDataLabels?.()||(ce.dataLabel=1)),this.points))ae&&ae.series&&(ae.resolveColor(),Object.keys(ce).length&&ae.destroyElements(ce),de.showInLegend===!1&&ae.legendItem&&I.legend.destroyItem(ae));b.initialType=W,I.linkSeries(),I.setSortedData(),oe&&b.linkedSeries.length&&(b.isDirtyData=!0),f(this,"afterUpdate"),Z(w,!0)&&I.redraw(!!Q&&void 0)}setName(h){this.name=this.options.name=this.userOptions.name=h,this.chart.isDirtyLegend=!0}hasOptionChanged(h){let w=this.chart,b=this.options[h],I=w.options.plotOptions,k=this.userOptions[h],W=Z(I?.[this.type]?.[h],I?.series?.[h]);return k&&!R(W)?b!==k:b!==Z(W,b)}onMouseOver(){let h=this.chart,w=h.hoverSeries;h.pointer?.setHoverChartIndex(),w&&w!==this&&w.onMouseOut(),this.options.events.mouseOver&&f(this,"mouseOver"),this.setState("hover"),h.hoverSeries=this}onMouseOut(){let h=this.options,w=this.chart,b=w.tooltip,I=w.hoverPoint;w.hoverSeries=null,I&&I.onMouseOut(),this&&h.events.mouseOut&&f(this,"mouseOut"),b&&!this.stickyTracking&&(!b.shared||this.noSharedTooltip)&&b.hide(),w.series.forEach(function(k){k.setState("",!0)})}setState(h,w){let b=this,I=b.options,k=b.graph,W=I.inactiveOtherPoints,ee=I.states,se=Z(ee[h||"normal"]&&ee[h||"normal"].animation,b.chart.options.chart.animation),ne=I.lineWidth,ce=I.opacity;if(h=h||"",b.state!==h&&([b.group,b.markerGroup,b.dataLabelsGroup].forEach(function(de){de&&(b.state&&de.removeClass("highcharts-series-"+b.state),h&&de.addClass("highcharts-series-"+h))}),b.state=h,!b.chart.styledMode)){if(ee[h]&&ee[h].enabled===!1)return;if(h&&(ne=ee[h].lineWidth||ne+(ee[h].lineWidthPlus||0),ce=Z(ee[h].opacity,ce)),k&&!k.dashstyle&&ie(ne))for(let de of[k,...this.zones.map(Y=>Y.graph)])de?.animate({"stroke-width":ne},se);W||[b.group,b.markerGroup,b.dataLabelsGroup,b.labelBySeries].forEach(function(de){de&&de.animate({opacity:ce},se)})}w&&W&&b.points&&b.setAllPointsToState(h||void 0)}setAllPointsToState(h){this.points.forEach(function(w){w.setState&&w.setState(h)})}setVisible(h,w){let b=this,I=b.chart,k=I.options.chart.ignoreHiddenSeries,W=b.visible;b.visible=h=b.options.visible=b.userOptions.visible=h===void 0?!W:h;let ee=h?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(se=>{b[se]?.[ee]()}),(I.hoverSeries===b||I.hoverPoint?.series===b)&&b.onMouseOut(),b.legendItem&&I.legend.colorizeItem(b,h),b.isDirty=!0,b.options.stacking&&I.series.forEach(se=>{se.options.stacking&&se.visible&&(se.isDirty=!0)}),b.linkedSeries.forEach(se=>{se.setVisible(h,!1)}),k&&(I.isDirtyBox=!0),f(b,ee),w!==!1&&I.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(h){this.selected=h=this.options.selected=h===void 0?!this.selected:h,this.checkbox&&(this.checkbox.checked=h),f(this,h?"select":"unselect")}shouldShowTooltip(h,w,b={}){return b.series=this,b.visiblePlotOnly=!0,this.chart.isInsidePlot(h,w,b)}drawLegendSymbol(h,w){_[this.options.legendSymbol||"rectangle"]?.call(this,h,w)}}return v.defaultOptions=te,v.types=G.seriesTypes,v.registerType=G.registerSeriesType,n(v.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:O,requireSorting:!0,sorted:!0}),G.series=v,v}),e(s,"Core/Legend/Legend.js",[s["Core/Animation/AnimationUtilities.js"],s["Core/Foundation.js"],s["Core/Globals.js"],s["Core/Series/Series.js"],s["Core/Series/Point.js"],s["Core/Renderer/RendererUtilities.js"],s["Core/Templating.js"],s["Core/Utilities.js"]],function(t,r,a,l,_,O,te,G){var X;let{animObject:J,setAnimation:A}=t,{registerEventOptions:$}=r,{composed:j,marginNames:F}=a,{distribute:C}=O,{format:M}=te,{addEvent:E,createElement:L,css:y,defined:P,discardElement:q,find:z,fireEvent:R,isNumber:u,merge:x,pick:c,pushUnique:o,relativeLength:n,stableSort:d,syncTimeout:f}=G;class S{constructor(m,N){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=m,this.setOptions(N),N.enabled&&(this.render(),$(this,N),E(this.chart,"endResize",function(){this.legend.positionCheckboxes()})),E(this.chart,"render",()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(m){let N=c(m.padding,8);this.options=m,this.chart.styledMode||(this.itemStyle=m.itemStyle,this.itemHiddenStyle=x(this.itemStyle,m.itemHiddenStyle)),this.itemMarginTop=m.itemMarginTop,this.itemMarginBottom=m.itemMarginBottom,this.padding=N,this.initialItemY=N-5,this.symbolWidth=c(m.symbolWidth,16),this.pages=[],this.proximate=m.layout==="proximate"&&!this.chart.inverted,this.baseline=void 0}update(m,N){let ie=this.chart;this.setOptions(x(!0,this.options,m)),"events"in this.options&&$(this,this.options),this.destroy(),ie.isDirtyLegend=ie.isDirtyBox=!0,c(N,!0)&&ie.redraw(),R(this,"afterUpdate",{redraw:N})}colorizeItem(m,N){let{area:ie,group:D,label:B,line:V,symbol:Z}=m.legendItem||{};if(D?.[N?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:re={}}=this,p=re.color,{fillColor:g,fillOpacity:v,lineColor:H,marker:h}=m.options,w=b=>(!N&&(b.fill&&(b.fill=p),b.stroke&&(b.stroke=p)),b);B?.css(x(N?this.itemStyle:re)),V?.attr(w({stroke:H||m.color})),Z&&Z.attr(w(h&&Z.isMarker?m.pointAttribs():{fill:m.color})),ie?.attr(w({fill:g||m.color,"fill-opacity":g?1:v??.75}))}R(this,"afterColorizeItem",{item:m,visible:N})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(m){let{group:N,x:ie=0,y:D=0}=m.legendItem||{},B=this.options,V=B.symbolPadding,Z=!B.rtl,re=m.checkbox;if(N&&N.element){let p={translateX:Z?ie:this.legendWidth-ie-2*V-4,translateY:D};N[P(N.translateY)?"animate":"attr"](p,void 0,()=>{R(this,"afterPositionItem",{item:m})})}re&&(re.x=ie,re.y=D)}destroyItem(m){let N=m.checkbox,ie=m.legendItem||{};for(let D of["group","label","line","symbol"])ie[D]&&(ie[D]=ie[D].destroy());N&&q(N),m.legendItem=void 0}destroy(){for(let m of this.getAllItems())this.destroyItem(m);for(let m of["clipRect","up","down","pager","nav","box","title","group"])this[m]&&(this[m]=this[m].destroy());this.display=null}positionCheckboxes(){let m,N=this.group&&this.group.alignAttr,ie=this.clipHeight||this.legendHeight,D=this.titleHeight;N&&(m=N.translateY,this.allItems.forEach(function(B){let V,Z=B.checkbox;Z&&(V=m+D+Z.y+(this.scrollOffset||0)+3,y(Z,{left:N.translateX+B.checkboxOffset+Z.x-20+"px",top:V+"px",display:this.proximate||V>m-6&&V1.5*ce?ne.height:ce))}layoutItem(m){let N=this.options,ie=this.padding,D=N.layout==="horizontal",B=m.itemHeight,V=this.itemMarginBottom,Z=this.itemMarginTop,re=D?c(N.itemDistance,20):0,p=this.maxLegendWidth,g=N.alignColumns&&this.totalItemWidth>p?this.maxItemWidth:m.itemWidth,v=m.legendItem||{};D&&this.itemX-ie+g>p&&(this.itemX=ie,this.lastLineHeight&&(this.itemY+=Z+this.lastLineHeight+V),this.lastLineHeight=0),this.lastItemY=Z+this.itemY+V,this.lastLineHeight=Math.max(B,this.lastLineHeight),v.x=this.itemX,v.y=this.itemY,D?this.itemX+=g:(this.itemY+=Z+B+V,this.lastLineHeight=B),this.offsetWidth=this.widthOption||Math.max((D?this.itemX-ie-(m.checkbox?0:re):g)+ie,this.offsetWidth)}getAllItems(){let m=[];return this.chart.series.forEach(function(N){let ie=N&&N.options;N&&c(ie.showInLegend,!P(ie.linkedTo)&&void 0,!0)&&(m=m.concat((N.legendItem||{}).labels||(ie.legendType==="point"?N.data:N)))}),R(this,"afterGetAllItems",{allItems:m}),m}getAlignment(){let m=this.options;return this.proximate?m.align.charAt(0)+"tv":m.floating?"":m.align.charAt(0)+m.verticalAlign.charAt(0)+m.layout.charAt(0)}adjustMargins(m,N){let ie=this.chart,D=this.options,B=this.getAlignment();B&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(V,Z){V.test(B)&&!P(m[Z])&&(ie[F[Z]]=Math.max(ie[F[Z]],ie.legend[(Z+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][Z]*D[Z%2?"x":"y"]+c(D.margin,12)+N[Z]+(ie.titleOffset[Z]||0)))})}proximatePositions(){let m,N=this.chart,ie=[],D=this.options.align==="left";for(let B of(this.allItems.forEach(function(V){let Z,re,p=D,g,v;V.yAxis&&(V.xAxis.options.reversed&&(p=!p),V.points&&(Z=z(p?V.points:V.points.slice(0).reverse(),function(H){return u(H.plotY)})),re=this.itemMarginTop+V.legendItem.label.getBBox().height+this.itemMarginBottom,v=V.yAxis.top-N.plotTop,g=V.visible?(Z?Z.plotY:V.yAxis.height)+(v-.3*re):v+V.yAxis.height,ie.push({target:g,size:re,item:V}))},this),C(ie,N.plotHeight)))m=B.item.legendItem||{},u(B.pos)&&(m.y=N.plotTop-N.spacing[0]+B.pos)}render(){let m=this.chart,N=m.renderer,ie=this.options,D=this.padding,B=this.getAllItems(),V,Z,re,p=this.group,g,v=this.box;this.itemX=D,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=n(ie.width,m.spacingBox.width-D),g=m.spacingBox.width-2*D-ie.x,["rm","lm"].indexOf(this.getAlignment().substring(0,2))>-1&&(g/=2),this.maxLegendWidth=this.widthOption||g,p||(this.group=p=N.g("legend").addClass(ie.className||"").attr({zIndex:7}).add(),this.contentGroup=N.g().attr({zIndex:1}).add(p),this.scrollGroup=N.g().add(this.contentGroup)),this.renderTitle(),d(B,(H,h)=>(H.options&&H.options.legendIndex||0)-(h.options&&h.options.legendIndex||0)),ie.reversed&&B.reverse(),this.allItems=B,this.display=V=!!B.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,B.forEach(this.renderItem,this),B.forEach(this.layoutItem,this),Z=(this.widthOption||this.offsetWidth)+D,re=this.lastItemY+this.lastLineHeight+this.titleHeight,re=this.handleOverflow(re)+D,v||(this.box=v=N.rect().addClass("highcharts-legend-box").attr({r:ie.borderRadius}).add(p)),m.styledMode||v.attr({stroke:ie.borderColor,"stroke-width":ie.borderWidth||0,fill:ie.backgroundColor||"none"}).shadow(ie.shadow),Z>0&&re>0&&v[v.placed?"animate":"attr"](v.crisp.call({},{x:0,y:0,width:Z,height:re},v.strokeWidth())),p[V?"show":"hide"](),m.styledMode&&p.getStyle("display")==="none"&&(Z=re=0),this.legendWidth=Z,this.legendHeight=re,V&&this.align(),this.proximate||this.positionItems(),R(this,"afterRender")}align(m=this.chart.spacingBox){let N=this.chart,ie=this.options,D=m.y;/(lth|ct|rth)/.test(this.getAlignment())&&N.titleOffset[0]>0?D+=N.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&N.titleOffset[2]>0&&(D-=N.titleOffset[2]),D!==m.y&&(m=x(m,{y:D})),N.hasRendered||(this.group.placed=!1),this.group.align(x(ie,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":ie.verticalAlign}),!0,m)}handleOverflow(m){let N=this,ie=this.chart,D=ie.renderer,B=this.options,V=B.y,Z=B.verticalAlign==="top",re=this.padding,p=B.maxHeight,g=B.navigation,v=c(g.animation,!0),H=g.arrowSize||12,h=this.pages,w=this.allItems,b=function(de){typeof de=="number"?ce.attr({height:de}):ce&&(N.clipRect=ce.destroy(),N.contentGroup.clip()),N.contentGroup.div&&(N.contentGroup.div.style.clip=de?"rect("+re+"px,9999px,"+(re+de)+"px,0)":"auto")},I=function(de){return N[de]=D.circle(0,0,1.3*H).translate(H/2,H/2).add(ne),ie.styledMode||N[de].attr("fill","rgba(0,0,0,0.0001)"),N[de]},k,W,ee,se=ie.spacingBox.height+(Z?-V:V)-re,ne=this.nav,ce=this.clipRect;return B.layout!=="horizontal"||B.verticalAlign==="middle"||B.floating||(se/=2),p&&(se=Math.min(se,p)),h.length=0,m&&se>0&&m>se&&g.enabled!==!1?(this.clipHeight=k=Math.max(se-20-this.titleHeight-re,0),this.currentPage=c(this.currentPage,1),this.fullHeight=m,w.forEach((de,Y)=>{let U=(ee=de.legendItem||{}).y||0,K=Math.round(ee.label.getBBox().height),Q=h.length;(!Q||U-h[Q-1]>k&&(W||U)!==h[Q-1])&&(h.push(W||U),Q++),ee.pageIx=Q-1,W&&((w[Y-1].legendItem||{}).pageIx=Q-1),Y===w.length-1&&U+K-h[Q-1]>k&&U>h[Q-1]&&(h.push(U),ee.pageIx=Q),U!==W&&(W=U)}),ce||(ce=N.clipRect=D.clipRect(0,re-2,9999,0),N.contentGroup.clip(ce)),b(k),ne||(this.nav=ne=D.g().attr({zIndex:1}).add(this.group),this.up=D.symbol("triangle",0,0,H,H).add(ne),I("upTracker").on("click",function(){N.scroll(-1,v)}),this.pager=D.text("",15,10).addClass("highcharts-legend-navigation"),!ie.styledMode&&g.style&&this.pager.css(g.style),this.pager.add(ne),this.down=D.symbol("triangle-down",0,0,H,H).add(ne),I("downTracker").on("click",function(){N.scroll(1,v)})),N.scroll(0),m=se):ne&&(b(),this.nav=ne.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),m}scroll(m,N){let ie=this.chart,D=this.pages,B=D.length,V=this.clipHeight,Z=this.options.navigation,re=this.pager,p=this.padding,g=this.currentPage+m;g>B&&(g=B),g>0&&(N!==void 0&&A(N,ie),this.nav.attr({translateX:p,translateY:V+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(v){v.attr({class:g===1?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),re.attr({text:g+"/"+B}),[this.down,this.downTracker].forEach(function(v){v.attr({x:18+this.pager.getBBox().width,class:g===B?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),ie.styledMode||(this.up.attr({fill:g===1?Z.inactiveColor:Z.activeColor}),this.upTracker.css({cursor:g===1?"default":"pointer"}),this.down.attr({fill:g===B?Z.inactiveColor:Z.activeColor}),this.downTracker.css({cursor:g===B?"default":"pointer"})),this.scrollOffset=-D[g-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=g,this.positionCheckboxes(),f(()=>{R(this,"afterScroll",{currentPage:g})},J(c(N,ie.renderer.globalAnimation,!0)).duration))}setItemEvents(m,N,ie){let D=this,B=m.legendItem||{},V=D.chart.renderer.boxWrapper,Z=m instanceof _,re=m instanceof l,p="highcharts-legend-"+(Z?"point":"series")+"-active",g=D.chart.styledMode,v=ie?[N,B.symbol]:[B.group],H=h=>{D.allItems.forEach(w=>{m!==w&&[w].concat(w.linkedSeries||[]).forEach(b=>{b.setState(h,!Z)})})};for(let h of v)h&&h.on("mouseover",function(){m.visible&&H("inactive"),m.setState("hover"),m.visible&&V.addClass(p),g||N.css(D.options.itemHoverStyle)}).on("mouseout",function(){D.chart.styledMode||N.css(x(m.visible?D.itemStyle:D.itemHiddenStyle)),H(""),V.removeClass(p),m.setState()}).on("click",function(w){let b=function(){m.setVisible&&m.setVisible(),H(m.visible?"inactive":"")};V.removeClass(p),R(D,"itemClick",{browserEvent:w,legendItem:m},b),Z?m.firePointEvent("legendItemClick",{browserEvent:w}):re&&R(m,"legendItemClick",{browserEvent:w})})}createCheckboxForItem(m){m.checkbox=L("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:m.selected,defaultChecked:m.selected},this.options.itemCheckboxStyle,this.chart.container),E(m.checkbox,"click",function(N){let ie=N.target;R(m.series||m,"checkboxClick",{checked:ie.checked,item:m},function(){m.select()})})}}return(X=S||(S={})).compose=function(T){o(j,"Core.Legend")&&E(T,"beforeMargins",function(){this.legend=new X(this,this.options.legend)})},S}),e(s,"Core/Chart/Chart.js",[s["Core/Animation/AnimationUtilities.js"],s["Core/Axis/Axis.js"],s["Core/Defaults.js"],s["Core/Templating.js"],s["Core/Foundation.js"],s["Core/Globals.js"],s["Core/Renderer/RendererRegistry.js"],s["Core/Series/Series.js"],s["Core/Series/SeriesRegistry.js"],s["Core/Renderer/SVG/SVGRenderer.js"],s["Core/Time.js"],s["Core/Utilities.js"],s["Core/Renderer/HTML/AST.js"],s["Core/Axis/Tick.js"]],function(t,r,a,l,_,O,te,G,X,J,A,$,j,F){let{animate:C,animObject:M,setAnimation:E}=t,{defaultOptions:L,defaultTime:y}=a,{numberFormat:P}=l,{registerEventOptions:q}=_,{charts:z,doc:R,marginNames:u,svg:x,win:c}=O,{seriesTypes:o}=X,{addEvent:n,attr:d,createElement:f,css:S,defined:T,diffObjects:m,discardElement:N,erase:ie,error:D,extend:B,find:V,fireEvent:Z,getStyle:re,isArray:p,isNumber:g,isObject:v,isString:H,merge:h,objectEach:w,pick:b,pInt:I,relativeLength:k,removeEvent:W,splat:ee,syncTimeout:se,uniqueKey:ne}=$;class ce{static chart(Y,U,K){return new ce(Y,U,K)}constructor(Y,U,K){this.sharedClips={};let Q=[...arguments];(H(Y)||Y.nodeName)&&(this.renderTo=Q.shift()),this.init(Q[0],Q[1])}setZoomOptions(){let Y=this.options.chart,U=Y.zooming;this.zooming=ze(we({},U),{type:b(Y.zoomType,U.type),key:b(Y.zoomKey,U.key),pinchType:b(Y.pinchType,U.pinchType),singleTouch:b(Y.zoomBySingleTouch,U.singleTouch,!1),resetButton:h(U.resetButton,Y.resetZoomButton)})}init(Y,U){Z(this,"init",{args:arguments},function(){let K=h(L,Y),Q=K.chart;this.userOptions=B({},Y),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=U,this.isResizing=0,this.options=K,this.axes=[],this.series=[],this.time=Y.time&&Object.keys(Y.time).length?new A(Y.time):O.time,this.numberFormatter=Q.numberFormatter||P,this.styledMode=Q.styledMode,this.hasCartesianSeries=Q.showAxes,this.index=z.length,z.push(this),O.chartCount++,q(this,Q),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),Z(this,"afterInit"),this.firstRender()})}initSeries(Y){let U=this.options.chart,K=Y.type||U.type,Q=o[K];Q||D(17,!0,this,{missingModuleFor:K});let oe=new Q;return typeof oe.init=="function"&&oe.init(this,Y),oe}setSortedData(){this.getSeriesOrderByLinks().forEach(function(Y){Y.points||Y.data||!Y.enabledDataSorting||Y.setData(Y.options.data,!1)})}getSeriesOrderByLinks(){return this.series.concat().sort(function(Y,U){return Y.linkedSeries.length||U.linkedSeries.length?U.linkedSeries.length-Y.linkedSeries.length:0})}orderItems(Y,U=0){let K=this[Y],Q=this.options[Y]=ee(this.options[Y]).slice(),oe=this.userOptions[Y]=this.userOptions[Y]?ee(this.userOptions[Y]).slice():[];if(this.hasRendered&&(Q.splice(U),oe.splice(U)),K)for(let ae=U,he=K.length;ae=Math.max(ue+ae,ye.pos)&&Ae<=Math.min(ue+ae+me.width,ye.pos+ye.len)||(ve.isInsidePlot=!1)}if(!K.ignoreY&&ve.isInsidePlot){let ye=!Q&&K.axis&&!K.axis.isXAxis&&K.axis||fe&&(Q?fe.xAxis:fe.yAxis)||{pos:he,len:1/0},Ae=K.paneCoordinates?ye.pos+be:he+be;Ae>=Math.max(pe+he,ye.pos)&&Ae<=Math.min(pe+he+me.height,ye.pos+ye.len)||(ve.isInsidePlot=!1)}return Z(this,"afterIsInsidePlot",ve),ve.isInsidePlot}redraw(Y){Z(this,"beforeRedraw");let U=this.hasCartesianSeries?this.axes:this.colorAxis||[],K=this.series,Q=this.pointer,oe=this.legend,ae=this.userOptions.legend,he=this.renderer,le=he.isHidden(),ue=[],pe,fe,me,ge=this.isDirtyBox,be=this.isDirtyLegend,ve;for(he.rootFontSize=he.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),E(!!this.hasRendered&&Y,this),le&&this.temporaryDisplay(),this.layOutTitles(!1),me=K.length;me--;)if(((ve=K[me]).options.stacking||ve.options.centerInCategory)&&(fe=!0,ve.isDirty)){pe=!0;break}if(pe)for(me=K.length;me--;)(ve=K[me]).options.stacking&&(ve.isDirty=!0);K.forEach(function(ye){ye.isDirty&&(ye.options.legendType==="point"?(typeof ye.updateTotals=="function"&&ye.updateTotals(),be=!0):ae&&(ae.labelFormatter||ae.labelFormat)&&(be=!0)),ye.isDirtyData&&Z(ye,"updatedData")}),be&&oe&&oe.options.enabled&&(oe.render(),this.isDirtyLegend=!1),fe&&this.getStacks(),U.forEach(function(ye){ye.updateNames(),ye.setScale()}),this.getMargins(),U.forEach(function(ye){ye.isDirty&&(ge=!0)}),U.forEach(function(ye){let Ae=ye.min+","+ye.max;ye.extKey!==Ae&&(ye.extKey=Ae,ue.push(function(){Z(ye,"afterSetExtremes",B(ye.eventArgs,ye.getExtremes())),delete ye.eventArgs})),(ge||fe)&&ye.redraw()}),ge&&this.drawChartBox(),Z(this,"predraw"),K.forEach(function(ye){(ge||ye.isDirty)&&ye.visible&&ye.redraw(),ye.isDirtyData=!1}),Q&&Q.reset(!0),he.draw(),Z(this,"redraw"),Z(this,"render"),le&&this.temporaryDisplay(!0),ue.forEach(function(ye){ye.call()})}get(Y){let U=this.series;function K(oe){return oe.id===Y||oe.options&&oe.options.id===Y}let Q=V(this.axes,K)||V(this.series,K);for(let oe=0;!Q&&oe(U.getPointsCollection().forEach(K=>{b(K.selectedStaging,K.selected)&&Y.push(K)}),Y),[])}getSelectedSeries(){return this.series.filter(function(Y){return Y.selected})}setTitle(Y,U,K){this.applyDescription("title",Y),this.applyDescription("subtitle",U),this.applyDescription("caption",void 0),this.layOutTitles(K)}applyDescription(Y,U){let K=this,Q=this.options[Y]=h(this.options[Y],U),oe=this[Y];oe&&U&&(this[Y]=oe=oe.destroy()),Q&&!oe&&((oe=this.renderer.text(Q.text,0,0,Q.useHTML).attr({align:Q.align,class:"highcharts-"+Y,zIndex:Q.zIndex||4}).add()).update=function(ae,he){K.applyDescription(Y,ae),K.layOutTitles(he)},this.styledMode||oe.css(B(Y==="title"?{fontSize:this.options.isStock?"1em":"1.2em"}:{},Q.style)),this[Y]=oe)}layOutTitles(Y=!0){let U=[0,0,0],K=this.renderer,Q=this.spacingBox;["title","subtitle","caption"].forEach(function(ae){let he=this[ae],le=this.options[ae],ue=le.verticalAlign||"top",pe=ae==="title"?ue==="top"?-3:0:ue==="top"?U[0]+2:0;if(he){he.css({width:(le.width||Q.width+(le.widthAdjust||0))+"px"});let fe=K.fontMetrics(he).b,me=Math.round(he.getBBox(le.useHTML).height);he.align(B({y:ue==="bottom"?fe:pe+fe,height:me},le),!1,"spacingBox"),le.floating||(ue==="top"?U[0]=Math.ceil(U[0]+me):ue==="bottom"&&(U[2]=Math.ceil(U[2]+me)))}},this),U[0]&&(this.options.title.verticalAlign||"top")==="top"&&(U[0]+=this.options.title.margin),U[2]&&this.options.caption.verticalAlign==="bottom"&&(U[2]+=this.options.caption.margin);let oe=!this.titleOffset||this.titleOffset.join(",")!==U.join(",");this.titleOffset=U,Z(this,"afterLayOutTitles"),!this.isDirtyBox&&oe&&(this.isDirtyBox=this.isDirtyLegend=oe,this.hasRendered&&Y&&this.isDirtyBox&&this.redraw())}getContainerBox(){let Y=[].map.call(this.renderTo.children,K=>{if(K!==this.container){let Q=K.style.display;return K.style.display="none",[K,Q]}}),U={width:re(this.renderTo,"width",!0)||0,height:re(this.renderTo,"height",!0)||0};return Y.filter(Boolean).forEach(([K,Q])=>{K.style.display=Q}),U}getChartSize(){let Y=this.options.chart,U=Y.width,K=Y.height,Q=this.getContainerBox(),oe=Q.height>1&&!(!this.renderTo.parentElement?.style.height&&this.renderTo.style.height==="100%");this.chartWidth=Math.max(0,U||Q.width||600),this.chartHeight=Math.max(0,k(K,this.chartWidth)||(oe?Q.height:400)),this.containerBox=Q}temporaryDisplay(Y){let U=this.renderTo,K;if(Y)for(;U&&U.style;)U.hcOrigStyle&&(S(U,U.hcOrigStyle),delete U.hcOrigStyle),U.hcOrigDetached&&(R.body.removeChild(U),U.hcOrigDetached=!1),U=U.parentNode;else for(;U&&U.style&&(R.body.contains(U)||U.parentNode||(U.hcOrigDetached=!0,R.body.appendChild(U)),(re(U,"display",!1)==="none"||U.hcOricDetached)&&(U.hcOrigStyle={display:U.style.display,height:U.style.height,overflow:U.style.overflow},K={display:"block",overflow:"hidden"},U!==this.renderTo&&(K.height=0),S(U,K),U.offsetWidth||U.style.setProperty("display","block","important")),(U=U.parentNode)!==R.body););}setClassName(Y){this.container.className="highcharts-container "+(Y||"")}getContainer(){let Y=this.options,U=Y.chart,K="data-highcharts-chart",Q=ne(),oe,ae=this.renderTo;ae||(this.renderTo=ae=U.renderTo),H(ae)&&(this.renderTo=ae=R.getElementById(ae)),ae||D(13,!0,this);let he=I(d(ae,K));g(he)&&z[he]&&z[he].hasRendered&&z[he].destroy(),d(ae,K,this.index),ae.innerHTML=j.emptyHTML,U.skipClone||ae.offsetWidth||this.temporaryDisplay(),this.getChartSize();let le=this.chartHeight,ue=this.chartWidth;S(ae,{overflow:"hidden"}),this.styledMode||(oe=B({position:"relative",overflow:"hidden",width:ue+"px",height:le+"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"},U.style||{}));let pe=f("div",{id:Q},oe,ae);this.container=pe,this.getChartSize(),ue===this.chartWidth||(ue=this.chartWidth,this.styledMode||S(pe,{width:b(U.style?.width,ue+"px")})),this.containerBox=this.getContainerBox(),this._cursor=pe.style.cursor;let fe=U.renderer||!x?te.getRendererType(U.renderer):J;if(this.renderer=new fe(pe,ue,le,void 0,U.forExport,Y.exporting&&Y.exporting.allowHTML,this.styledMode),E(void 0,this),this.setClassName(U.className),this.styledMode)for(let me in Y.defs)this.renderer.definition(Y.defs[me]);else this.renderer.setStyle(U.style);this.renderer.chartIndex=this.index,Z(this,"afterGetContainer")}getMargins(Y){let{spacing:U,margin:K,titleOffset:Q}=this;this.resetMargins(),Q[0]&&!T(K[0])&&(this.plotTop=Math.max(this.plotTop,Q[0]+U[0])),Q[2]&&!T(K[2])&&(this.marginBottom=Math.max(this.marginBottom,Q[2]+U[2])),this.legend&&this.legend.display&&this.legend.adjustMargins(K,U),Z(this,"getMargins"),Y||this.getAxisMargins()}getAxisMargins(){let Y=this,U=Y.axisOffset=[0,0,0,0],K=Y.colorAxis,Q=Y.margin,oe=function(ae){ae.forEach(function(he){he.visible&&he.getOffset()})};Y.hasCartesianSeries?oe(Y.axes):K&&K.length&&oe(K),u.forEach(function(ae,he){T(Q[he])||(Y[ae]+=U[he])}),Y.setChartSize()}getOptions(){return m(this.userOptions,L)}reflow(Y){let U=this,K=U.containerBox,Q=U.getContainerBox();delete U.pointer?.chartPosition,!U.isPrinting&&!U.isResizing&&K&&Q.width&&((Q.width!==K.width||Q.height!==K.height)&&($.clearTimeout(U.reflowTimeout),U.reflowTimeout=se(function(){U.container&&U.setSize(void 0,void 0,!1)},Y?100:0)),U.containerBox=Q)}setReflow(){let Y=this,U=K=>{Y.options?.chart.reflow&&Y.hasLoaded&&Y.reflow(K)};if(typeof ResizeObserver=="function")new ResizeObserver(U).observe(Y.renderTo);else{let K=n(c,"resize",U);n(this,"destroy",K)}}setSize(Y,U,K){let Q=this,oe=Q.renderer;Q.isResizing+=1,E(K,Q);let ae=oe.globalAnimation;Q.oldChartHeight=Q.chartHeight,Q.oldChartWidth=Q.chartWidth,Y!==void 0&&(Q.options.chart.width=Y),U!==void 0&&(Q.options.chart.height=U),Q.getChartSize();let{chartWidth:he,chartHeight:le,scrollablePixelsX:ue=0,scrollablePixelsY:pe=0}=Q;(Q.isDirtyBox||he!==Q.oldChartWidth||le!==Q.oldChartHeight)&&(Q.styledMode||(ae?C:S)(Q.container,{width:`${he+ue}px`,height:`${le+pe}px`},ae),Q.setChartSize(!0),oe.setSize(he,le,ae),Q.axes.forEach(function(fe){fe.isDirty=!0,fe.setScale()}),Q.isDirtyLegend=!0,Q.isDirtyBox=!0,Q.layOutTitles(),Q.getMargins(),Q.redraw(ae),Q.oldChartHeight=void 0,Z(Q,"resize"),setTimeout(()=>{Q&&Z(Q,"endResize")},M(ae).duration)),Q.isResizing-=1}setChartSize(Y){let U,K,Q,oe,{chartHeight:ae,chartWidth:he,inverted:le,spacing:ue,renderer:pe}=this,fe=this.clipOffset,me=Math[le?"floor":"round"];this.plotLeft=U=Math.round(this.plotLeft),this.plotTop=K=Math.round(this.plotTop),this.plotWidth=Q=Math.max(0,Math.round(he-U-this.marginRight)),this.plotHeight=oe=Math.max(0,Math.round(ae-K-this.marginBottom)),this.plotSizeX=le?oe:Q,this.plotSizeY=le?Q:oe,this.spacingBox=pe.spacingBox={x:ue[3],y:ue[0],width:he-ue[3]-ue[1],height:ae-ue[0]-ue[2]},this.plotBox=pe.plotBox={x:U,y:K,width:Q,height:oe},fe&&(this.clipBox={x:me(fe[3]),y:me(fe[0]),width:me(this.plotSizeX-fe[1]-fe[3]),height:me(this.plotSizeY-fe[0]-fe[2])}),Y||(this.axes.forEach(function(ge){ge.setAxisSize(),ge.setAxisTranslation()}),pe.alignElements()),Z(this,"afterSetChartSize",{skipAxes:Y})}resetMargins(){Z(this,"resetMargins");let Y=this,U=Y.options.chart,K=U.plotBorderWidth||0,Q=K/2;["margin","spacing"].forEach(function(oe){let ae=U[oe],he=v(ae)?ae:[ae,ae,ae,ae];["Top","Right","Bottom","Left"].forEach(function(le,ue){Y[oe][ue]=b(U[oe+le],he[ue])})}),u.forEach(function(oe,ae){Y[oe]=b(Y.margin[ae],Y.spacing[ae])}),Y.axisOffset=[0,0,0,0],Y.clipOffset=[Q,Q,Q,Q],Y.plotBorderWidth=K}drawChartBox(){let Y=this.options.chart,U=this.renderer,K=this.chartWidth,Q=this.chartHeight,oe=this.styledMode,ae=this.plotBGImage,he=Y.backgroundColor,le=Y.plotBackgroundColor,ue=Y.plotBackgroundImage,pe=this.plotLeft,fe=this.plotTop,me=this.plotWidth,ge=this.plotHeight,be=this.plotBox,ve=this.clipRect,ye=this.clipBox,Ae=this.chartBackground,Me=this.plotBackground,Le=this.plotBorder,je,Ye,qe,_e="animate";Ae||(this.chartBackground=Ae=U.rect().addClass("highcharts-background").add(),_e="attr"),oe?je=Ye=Ae.strokeWidth():(Ye=(je=Y.borderWidth||0)+(Y.shadow?8:0),qe={fill:he||"none"},(je||Ae["stroke-width"])&&(qe.stroke=Y.borderColor,qe["stroke-width"]=je),Ae.attr(qe).shadow(Y.shadow)),Ae[_e]({x:Ye/2,y:Ye/2,width:K-Ye-je%2,height:Q-Ye-je%2,r:Y.borderRadius}),_e="animate",Me||(_e="attr",this.plotBackground=Me=U.rect().addClass("highcharts-plot-background").add()),Me[_e](be),!oe&&(Me.attr({fill:le||"none"}).shadow(Y.plotShadow),ue&&(ae?(ue!==ae.attr("href")&&ae.attr("href",ue),ae.animate(be)):this.plotBGImage=U.image(ue,pe,fe,me,ge).add())),ve?ve.animate({width:ye.width,height:ye.height}):this.clipRect=U.clipRect(ye),_e="animate",Le||(_e="attr",this.plotBorder=Le=U.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),oe||Le.attr({stroke:Y.plotBorderColor,"stroke-width":Y.plotBorderWidth||0,fill:"none"}),Le[_e](Le.crisp({x:pe,y:fe,width:me,height:ge},-Le.strokeWidth())),this.isDirtyBox=!1,Z(this,"afterDrawChartBox")}propFromSeries(){let Y,U,K,Q=this,oe=Q.options.chart,ae=Q.options.series;["inverted","angular","polar"].forEach(function(he){for(U=o[oe.type],K=oe[he]||U&&U.prototype[he],Y=ae&&ae.length;!K&&Y--;)(U=o[ae[Y].type])&&U.prototype[he]&&(K=!0);Q[he]=K})}linkSeries(Y){let U=this,K=U.series;K.forEach(function(Q){Q.linkedSeries.length=0}),K.forEach(function(Q){let{linkedTo:oe}=Q.options;if(H(oe)){let ae;(ae=oe===":previous"?U.series[Q.index-1]:U.get(oe))&&ae.linkedParent!==Q&&(ae.linkedSeries.push(Q),Q.linkedParent=ae,ae.enabledDataSorting&&Q.setDataSortingOptions(),Q.visible=b(Q.options.visible,ae.options.visible,Q.visible))}}),Z(this,"afterLinkSeries",{isUpdating:Y})}renderSeries(){this.series.forEach(function(Y){Y.translate(),Y.render()})}render(){let Y=this.axes,U=this.colorAxis,K=this.renderer,Q=this.options.chart.axisLayoutRuns||2,oe=pe=>{pe.forEach(fe=>{fe.visible&&fe.render()})},ae=0,he=!0,le,ue=0;for(let pe of(this.setTitle(),Z(this,"beforeMargins"),this.getStacks?.(),this.getMargins(!0),this.setChartSize(),Y)){let{options:fe}=pe,{labels:me}=fe;if(this.hasCartesianSeries&&pe.horiz&&pe.visible&&me.enabled&&pe.series.length&&pe.coll!=="colorAxis"&&!this.polar){ae=fe.tickLength,pe.createGroups();let ge=new F(pe,0,"",!0),be=ge.createLabel("x",me);if(ge.destroy(),be&&b(me.reserveSpace,!g(fe.crossing))&&(ae=be.getBBox().height+me.distance+Math.max(fe.offset||0,0)),ae){be?.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-ae,0);(he||le||Q>1)&&ue(ue?1:1.1),le=fe/this.plotHeight>(ue?1:1.05),ue++}this.drawChartBox(),this.hasCartesianSeries?oe(Y):U&&U.length&&oe(U),this.seriesGroup||(this.seriesGroup=K.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(Y){let U=this,K=h(!0,this.options.credits,Y);K.enabled&&!this.credits&&(this.credits=this.renderer.text(K.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){K.href&&(c.location.href=K.href)}).attr({align:K.position.align,zIndex:8}),U.styledMode||this.credits.css(K.style),this.credits.add().align(K.position),this.credits.update=function(Q){U.credits=U.credits.destroy(),U.addCredits(Q)})}destroy(){let Y,U=this,K=U.axes,Q=U.series,oe=U.container,ae=oe&&oe.parentNode;for(Z(U,"destroy"),U.renderer.forExport?ie(z,U):z[U.index]=void 0,O.chartCount--,U.renderTo.removeAttribute("data-highcharts-chart"),W(U),Y=K.length;Y--;)K[Y]=K[Y].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),Y=Q.length;Y--;)Q[Y]=Q[Y].destroy();["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach(function(he){let le=U[he];le&&le.destroy&&(U[he]=le.destroy())}),oe&&(oe.innerHTML=j.emptyHTML,W(oe),ae&&N(oe)),w(U,function(he,le){delete U[le]})}firstRender(){let Y=this,U=Y.options;Y.getContainer(),Y.resetMargins(),Y.setChartSize(),Y.propFromSeries(),Y.getAxes();let K=p(U.series)?U.series:[];U.series=[],K.forEach(function(Q){Y.initSeries(Q)}),Y.linkSeries(),Y.setSortedData(),Z(Y,"beforeRender"),Y.render(),Y.pointer?.getChartPosition(),Y.renderer.imgCount||Y.hasLoaded||Y.onload(),Y.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach(function(Y){Y&&this.index!==void 0&&Y.apply(this,[this])},this),Z(this,"load"),Z(this,"render"),T(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:Y,title:U}=this;!Y||this.accessibility||(this.renderer.boxWrapper.attr({role:"img","aria-label":(U&&U.element.textContent||"").replace(/this.transform({reset:!0,trigger:"zoom"}))}pan(Y,U){let K=this,Q=typeof U=="object"?U:{enabled:U,type:"x"},oe=Q.type,ae=oe&&K[{x:"xAxis",xy:"axes",y:"yAxis"}[oe]].filter(le=>le.options.panningEnabled&&!le.options.isInternal),he=K.options.chart;he?.panning&&(he.panning=Q),Z(this,"pan",{originalEvent:Y},()=>{K.transform({axes:ae,event:Y,to:{x:Y.chartX-(K.mouseDownX||0),y:Y.chartY-(K.mouseDownY||0)},trigger:"pan"}),S(K.container,{cursor:"move"})})}transform(Y){let{axes:U=this.axes,event:K,from:Q={},reset:oe,selection:ae,to:he={},trigger:le}=Y,{inverted:ue}=this,pe=!1,fe,me;for(let ge of(this.hoverPoints?.forEach(be=>be.setState()),U)){let{horiz:be,len:ve,minPointOffset:ye=0,options:Ae,reversed:Me}=ge,Le=be?"width":"height",je=be?"x":"y",Ye=b(he[Le],ge.len),qe=b(Q[Le],ge.len),_e=10>Math.abs(Ye)?1:Ye/qe,Lt=(Q[je]||0)+qe/2-ge.pos,yt=Lt-((he[je]??ge.pos)+Ye/2-ge.pos)/_e,Si=Me&&!ue||!Me&&ue?-1:1;if(!oe&&(Lt<0||Lt>ge.len))continue;let Ze=ge.toValue(yt,!0)+(ae||ge.isOrdinal?0:ye*Si),it=ge.toValue(yt+ve/_e,!0)-(ae||ge.isOrdinal?0:ye*Si||0),Dt=ge.allExtremes;if(Ze>it&&([Ze,it]=[it,Ze]),_e===1&&!oe&&ge.coll==="yAxis"&&!Dt){for(let Vn of ge.series){let hs=Vn.getExtremes(Vn.getProcessedData(!0).yData,!0);Dt??(Dt={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE}),g(hs.dataMin)&&g(hs.dataMax)&&(Dt.dataMin=Math.min(hs.dataMin,Dt.dataMin),Dt.dataMax=Math.max(hs.dataMax,Dt.dataMax))}ge.allExtremes=Dt}let{dataMin:El,dataMax:Ml,min:zn,max:Un}=B(ge.getExtremes(),Dt||{}),$n=El??Ae.min,Hn=Ml??Ae.max,or=it-Ze,Gn=ge.categories?0:Math.min(or,Hn-$n),ar=$n-Gn*(T(Ae.min)?0:Ae.minPadding),lr=Hn+Gn*(T(Ae.max)?0:Ae.maxPadding),Wn=ge.allowZoomOutside||_e===1||le!=="zoom"&&_e>1,as=Math.min(Ae.min??ar,ar,Wn?zn:ar),ls=Math.max(Ae.max??lr,lr,Wn?Un:lr);(!ge.isOrdinal||ge.options.overscroll||_e!==1||oe)&&(Ze=1&&(it=Ze+or)),it>ls&&(it=ls,_e>=1&&(Ze=it-or)),(oe||ge.series.length&&(Ze!==zn||it!==Un)&&Ze>=as&&it<=ls)&&(ae?ae[ge.coll].push({axis:ge,min:Ze,max:it}):(ge.isPanning=le!=="zoom",ge.isPanning&&(me=!0),ge.setExtremes(oe?void 0:Ze,oe?void 0:it,!1,!1,{move:yt,trigger:le,scale:_e}),!oe&&(Ze>as||it{delete Y.selection,Y.trigger="zoom",this.transform(Y)}):(!fe||me||this.resetZoomButton?!fe&&this.resetZoomButton&&(this.resetZoomButton=this.resetZoomButton.destroy()):this.showResetZoom(),this.redraw(le==="zoom"&&(this.options.chart.animation??this.pointCount<100)))),pe}}return B(ce.prototype,{callbacks:[],collectionsWithInit:{xAxis:[ce.prototype.addAxis,[!0]],yAxis:[ce.prototype.addAxis,[!1]],series:[ce.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"]}),ce}),e(s,"Extensions/ScrollablePlotArea.js",[s["Core/Animation/AnimationUtilities.js"],s["Core/Globals.js"],s["Core/Renderer/RendererRegistry.js"],s["Core/Utilities.js"]],function(t,r,a,l){let{stop:_}=t,{composed:O}=r,{addEvent:te,createElement:G,css:X,defined:J,merge:A,pushUnique:$}=l;function j(){let M=this.scrollablePlotArea;(this.scrollablePixelsX||this.scrollablePixelsY)&&!M&&(this.scrollablePlotArea=M=new C(this)),M?.applyFixed()}function F(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class C{static compose(E,L,y){$(O,this.compose)&&(te(E,"afterInit",F),te(L,"afterSetChartSize",P=>this.afterSetSize(P.target,P)),te(L,"render",j),te(y,"show",F))}static afterSetSize(E,L){let y,P,q,{minWidth:z,minHeight:R}=E.options.chart.scrollablePlotArea||{},{clipBox:u,plotBox:x,inverted:c,renderer:o}=E;if(!o.forExport&&(z?(E.scrollablePixelsX=y=Math.max(0,z-E.chartWidth),y&&(E.scrollablePlotBox=A(E.plotBox),x.width=E.plotWidth+=y,u[c?"height":"width"]+=y,q=!0)):R&&(E.scrollablePixelsY=P=Math.max(0,R-E.chartHeight),J(P)&&(E.scrollablePlotBox=A(E.plotBox),x.height=E.plotHeight+=P,u[c?"width":"height"]+=P,q=!1)),J(q)&&!L.skipAxes))for(let n of E.axes)n.horiz===q&&(n.setAxisSize(),n.setAxisTranslation())}constructor(E){let L,y=E.options.chart,P=a.getRendererType(),q=y.scrollablePlotArea||{},z=this.moveFixedElements.bind(this),R={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};E.scrollablePixelsX&&(R.overflowX="auto"),E.scrollablePixelsY&&(R.overflowY="auto"),this.chart=E;let u=this.parentDiv=G("div",{className:"highcharts-scrolling-parent"},{position:"relative"},E.renderTo),x=this.scrollingContainer=G("div",{className:"highcharts-scrolling"},R,u),c=this.innerContainer=G("div",{className:"highcharts-inner-container"},void 0,x),o=this.fixedDiv=G("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(y.style?.zIndex||0)+2,top:0},void 0,!0),n=this.fixedRenderer=new P(o,E.chartWidth,E.chartHeight,y.style);this.mask=n.path().attr({fill:y.backgroundColor||"#fff","fill-opacity":q.opacity??.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),x.parentNode.insertBefore(o,x),X(E.renderTo,{overflow:"visible"}),te(E,"afterShowResetZoom",z),te(E,"afterApplyDrilldown",z),te(E,"afterLayOutTitles",z),te(x,"scroll",()=>{let{pointer:d,hoverPoint:f}=E;d&&(delete d.chartPosition,f&&(L=f),d.runPointActions(void 0,L,!0))}),c.appendChild(E.container)}applyFixed(){let{chart:E,fixedRenderer:L,isDirty:y,scrollingContainer:P}=this,{axisOffset:q,chartWidth:z,chartHeight:R,container:u,plotHeight:x,plotLeft:c,plotTop:o,plotWidth:n,scrollablePixelsX:d=0,scrollablePixelsY:f=0}=E,{scrollPositionX:S=0,scrollPositionY:T=0}=E.options.chart.scrollablePlotArea||{},m=z+d,N=R+f;L.setSize(z,R),(y??!0)&&(this.isDirty=!1,this.moveFixedElements()),_(E.container),X(u,{width:`${m}px`,height:`${N}px`}),E.renderer.boxWrapper.attr({width:m,height:N,viewBox:[0,0,m,N].join(" ")}),E.chartBackground?.attr({width:m,height:N}),X(P,{width:`${z}px`,height:`${R}px`}),J(y)||(P.scrollLeft=d*S,P.scrollTop=f*T);let ie=o-q[0]-1,D=c-q[3]-1,B=o+x+q[2]+1,V=c+n+q[1]+1,Z=c+n-d,re=o+x-f,p=[["M",0,0]];d?p=[["M",0,ie],["L",c-1,ie],["L",c-1,B],["L",0,B],["Z"],["M",Z,ie],["L",z,ie],["L",z,B],["L",Z,B],["Z"]]:f&&(p=[["M",D,0],["L",D,o-1],["L",V,o-1],["L",V,0],["Z"],["M",D,re],["L",D,R],["L",V,R],["L",V,re],["Z"]]),E.redrawTrigger!=="adjustHeight"&&this.mask.attr({d:p})}moveFixedElements(){let E,{container:L,inverted:y,scrollablePixelsX:P,scrollablePixelsY:q}=this.chart,z=this.fixedRenderer,R=C.fixedSelectors;for(let u of(P&&!y?E=".highcharts-yaxis":P&&y||q&&!y?E=".highcharts-xaxis":q&&y&&(E=".highcharts-yaxis"),E&&R.push(`${E}:not(.highcharts-radial-axis)`,`${E}-labels:not(.highcharts-radial-axis-labels)`),R))[].forEach.call(L.querySelectorAll(u),x=>{(x.namespaceURI===z.SVG_NS?z.box:z.box.parentNode).appendChild(x),x.style.pointerEvents="auto"})}}return C.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"],C}),e(s,"Core/Axis/Stacking/StackItem.js",[s["Core/Templating.js"],s["Core/Series/SeriesRegistry.js"],s["Core/Utilities.js"]],function(t,r,a){let{format:l}=t,{series:_}=r,{destroyObjectProperties:O,fireEvent:te,isNumber:G,pick:X}=a;return class{constructor(J,A,$,j,F){let C=J.chart.inverted,M=J.reversed;this.axis=J;let E=this.isNegative=!!$!=!!M;this.options=A=A||{},this.x=j,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=F,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:A.align||(C?E?"left":"right":"center"),verticalAlign:A.verticalAlign||(C?"middle":E?"bottom":"top"),y:A.y,x:A.x},this.textAlign=A.textAlign||(C?E?"right":"left":"center")}destroy(){O(this,this.axis)}render(J){let A=this.axis.chart,$=this.options,j=$.format,F=j?l(j,this,A):$.formatter.call(this);if(this.label)this.label.attr({text:F,visibility:"hidden"});else{this.label=A.renderer.label(F,null,void 0,$.shape,void 0,void 0,$.useHTML,!1,"stack-labels");let C={r:$.borderRadius||0,text:F,padding:X($.padding,5),visibility:"hidden"};A.styledMode||(C.fill=$.backgroundColor,C.stroke=$.borderColor,C["stroke-width"]=$.borderWidth,this.label.css($.style||{})),this.label.attr(C),this.label.added||this.label.add(J)}this.label.labelrank=A.plotSizeY,te(this,"afterRender")}setOffset(J,A,$,j,F,C){let{alignOptions:M,axis:E,label:L,options:y,textAlign:P}=this,q=E.chart,z=this.getStackBox({xOffset:J,width:A,boxBottom:$,boxTop:j,defaultX:F,xAxis:C}),{verticalAlign:R}=M;if(L&&z){let u=L.getBBox(void 0,0),x=L.padding,c=X(y.overflow,"justify")==="justify",o;M.x=y.x||0,M.y=y.y||0;let{x:n,y:d}=this.adjustStackPosition({labelBox:u,verticalAlign:R,textAlign:P});z.x-=n,z.y-=d,L.align(M,!1,z),(o=q.isInsidePlot(L.alignAttr.x+M.x+n,L.alignAttr.y+M.y+d))||(c=!1),c&&_.prototype.justifyDataLabel.call(E,L,M,L.alignAttr,u,z),L.attr({x:L.alignAttr.x,y:L.alignAttr.y,rotation:y.rotation,rotationOriginX:u.width*{left:0,center:.5,right:1}[y.textAlign||"center"],rotationOriginY:u.height/2}),X(!c&&y.crop,!0)&&(o=G(L.x)&&G(L.y)&&q.isInsidePlot(L.x-x+(L.width||0),L.y)&&q.isInsidePlot(L.x+x,L.y)),L[o?"show":"hide"]()}te(this,"afterSetOffset",{xOffset:J,width:A})}adjustStackPosition({labelBox:J,verticalAlign:A,textAlign:$}){let j={bottom:0,middle:1,top:2,right:1,center:0,left:-1},F=j[A],C=j[$];return{x:J.width/2+J.width/2*C,y:J.height/2*F}}getStackBox(J){let A=this.axis,$=A.chart,{boxTop:j,defaultX:F,xOffset:C,width:M,boxBottom:E}=J,L=A.stacking.usePercentage?100:X(j,this.total,0),y=A.toPixels(L),P=J.xAxis||$.xAxis[0],q=X(F,P.translate(this.x))+C,z=Math.abs(y-A.toPixels(E||G(A.min)&&A.logarithmic&&A.logarithmic.lin2log(A.min)||0)),R=$.inverted,u=this.isNegative;return R?{x:(u?y:y-z)-$.plotLeft,y:P.height-q-M+P.top-$.plotTop,width:z,height:M}:{x:q+P.transB-$.plotLeft,y:(u?y-z:y)-$.plotTop,width:M,height:z}}}}),e(s,"Core/Axis/Stacking/StackingAxis.js",[s["Core/Animation/AnimationUtilities.js"],s["Core/Axis/Axis.js"],s["Core/Series/SeriesRegistry.js"],s["Core/Axis/Stacking/StackItem.js"],s["Core/Utilities.js"]],function(t,r,a,l,_){var O;let{getDeferredAnimation:te}=t,{series:{prototype:G}}=a,{addEvent:X,correctFloat:J,defined:A,destroyObjectProperties:$,fireEvent:j,isArray:F,isNumber:C,objectEach:M,pick:E}=_;function L(){let o=this.inverted;this.axes.forEach(n=>{n.stacking&&n.stacking.stacks&&n.hasVisibleSeries&&(n.stacking.oldStacks=n.stacking.stacks)}),this.series.forEach(n=>{let d=n.xAxis&&n.xAxis.options||{};n.options.stacking&&n.reserveSpace()&&(n.stackKey=[n.type,E(n.options.stack,""),o?d.top:d.left,o?d.height:d.width].join(","))})}function y(){let o=this.stacking;if(o){let n=o.stacks;M(n,(d,f)=>{$(d),delete n[f]}),o.stackTotalGroup?.destroy()}}function P(){this.stacking||(this.stacking=new c(this))}function q(o,n,d,f){return!A(o)||o.x!==n||f&&o.stackKey!==f?o={x:n,index:0,key:f,stackKey:f}:o.index++,o.key=[d,n,o.index].join(","),o}function z(){let o,n=this,d=n.yAxis,f=n.stackKey||"",S=d.stacking.stacks,T=n.processedXData,m=n.options.stacking,N=n[m+"Stacker"];N&&[f,"-"+f].forEach(ie=>{let D=T.length,B,V,Z;for(;D--;)B=T[D],o=n.getStackIndicator(o,B,n.index,ie),V=S[ie]?.[B],(Z=V?.points[o.key||""])&&N.call(n,Z,V,D)})}function R(o,n,d){let f=n.total?100/n.total:0;o[0]=J(o[0]*f),o[1]=J(o[1]*f),this.stackedYData[d]=o[1]}function u(o){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&!this.options.stacking&&this.chart.series.length>1?G.setStackedPoints.call(this,o,"group"):o.stacking.resetStacks())}function x(o,n){let d,f,S,T,m,N,ie,D,B,V=n||this.options.stacking;if(!V||!this.reserveSpace()||({group:"xAxis"}[V]||"yAxis")!==o.coll)return;let Z=this.processedXData,re=this.processedYData,p=[],g=re.length,v=this.options,H=v.threshold||0,h=v.startFromThreshold?H:0,w=v.stack,b=n?`${this.type},${V}`:this.stackKey||"",I="-"+b,k=this.negStacks,W=o.stacking,ee=W.stacks,se=W.oldStacks;for(W.stacksTouched+=1,ie=0;ie0&&this.singleStacks===!1&&(S.points[N][0]=S.points[this.index+","+D+",0"][0])):(delete S.points[N],delete S.points[this.index]);let ne=S.total||0;V==="percent"?(T=f?b:I,ne=k&&ee[T]?.[D]?(T=ee[T][D]).total=Math.max(T.total||0,ne)+Math.abs(B)||0:J(ne+(Math.abs(B)||0))):V==="group"?(F(B)&&(B=B[0]),B!==null&&ne++):ne=J(ne+(B||0)),V==="group"?S.cumulative=(ne||1)-1:S.cumulative=J(E(S.cumulative,h)+(B||0)),S.total=ne,B!==null&&(S.points[N].push(S.cumulative),p[ie]=S.cumulative,S.hasValidPoints=!0)}V==="percent"&&(W.usePercentage=!0),V!=="group"&&(this.stackedYData=p),W.oldStacks={}}class c{constructor(n){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=n}buildStacks(){let n,d,f=this.axis,S=f.series,T=f.coll==="xAxis",m=f.options.reversedStacks,N=S.length;for(this.resetStacks(),this.usePercentage=!1,d=N;d--;)n=S[m?d:N-d-1],T&&n.setGroupedPoints(f),n.setStackedPoints(f);if(!T)for(d=0;d{M(n,d=>{d.cumulative=d.total})}))}resetStacks(){M(this.stacks,n=>{M(n,(d,f)=>{C(d.touched)&&d.touched{M(N,ie=>{ie.render(m)})}),m.animate({opacity:1},T)}}return(O||(O={})).compose=function(o,n,d){let f=n.prototype,S=d.prototype;f.getStacks||(X(o,"init",P),X(o,"destroy",y),f.getStacks=L,S.getStackIndicator=q,S.modifyStacks=z,S.percentStacker=R,S.setGroupedPoints=u,S.setStackedPoints=x)},O}),e(s,"Series/Line/LineSeries.js",[s["Core/Series/Series.js"],s["Core/Series/SeriesRegistry.js"],s["Core/Utilities.js"]],function(t,r,a){let{defined:l,merge:_,isObject:O}=a;class te extends t{drawGraph(){let X=this.options,J=(this.gappedPath||this.getGraphPath).call(this),A=this.chart.styledMode;[this,...this.zones].forEach(($,j)=>{let F,C=$.graph,M=C?"animate":"attr",E=$.dashStyle||X.dashStyle;C?(C.endX=this.preventGraphAnimation?null:J.xMap,C.animate({d:J})):J.length&&($.graph=C=this.chart.renderer.path(J).addClass("highcharts-graph"+(j?` highcharts-zone-graph-${j-1} `:" ")+(j&&$.className||"")).attr({zIndex:1}).add(this.group)),C&&!A&&(F={stroke:!j&&X.lineColor||$.color||this.color||"#cccccc","stroke-width":X.lineWidth||0,fill:this.fillGraph&&this.color||"none"},E?F.dashstyle=E:X.linecap!=="square"&&(F["stroke-linecap"]=F["stroke-linejoin"]="round"),C[M](F).shadow(j<2&&X.shadow&&_({filterUnits:"userSpaceOnUse"},O(X.shadow)?X.shadow:{}))),C&&(C.startX=J.xMap,C.isArea=J.isArea)})}getGraphPath(X,J,A){let $=this,j=$.options,F=[],C=[],M,E=j.step,L=(X=X||$.points).reversed;return L&&X.reverse(),(E={right:1,center:2}[E]||E&&3)&&L&&(E=4-E),(X=this.getValidPoints(X,!1,!(j.connectNulls&&!J&&!A))).forEach(function(y,P){let q,z=y.plotX,R=y.plotY,u=X[P-1],x=y.isNull||typeof R!="number";(y.leftCliff||u&&u.rightCliff)&&!A&&(M=!0),x&&!l(J)&&P>0?M=!j.connectNulls:x&&!J?M=!0:(P===0||M?q=[["M",y.plotX,y.plotY]]:$.getPointSpline?q=[$.getPointSpline(X,y,P)]:E?(q=E===1?[["L",u.plotX,R]]:E===2?[["L",(u.plotX+z)/2,u.plotY],["L",(u.plotX+z)/2,R]]:[["L",z,u.plotY]]).push(["L",z,R]):q=[["L",z,R]],C.push(y.x),E&&(C.push(y.x),E===2&&C.push(y.x)),F.push.apply(F,q),M=!1)}),F.xMap=C,$.graphPath=F,F}}return te.defaultOptions=_(t.defaultOptions,{legendSymbol:"lineMarker"}),r.registerSeriesType("line",te),te}),e(s,"Series/Area/AreaSeriesDefaults.js",[],function(){return{threshold:0,legendSymbol:"areaMarker"}}),e(s,"Series/Area/AreaSeries.js",[s["Series/Area/AreaSeriesDefaults.js"],s["Core/Series/SeriesRegistry.js"],s["Core/Utilities.js"]],function(t,r,a){let{seriesTypes:{line:l}}=r,{extend:_,merge:O,objectEach:te,pick:G}=a;class X extends l{drawGraph(){this.areaPath=[],super.drawGraph.apply(this);let{areaPath:A,options:$}=this;[this,...this.zones].forEach((j,F)=>{let C={},M=j.fillColor||$.fillColor,E=j.area,L=E?"animate":"attr";E?(E.endX=this.preventGraphAnimation?null:A.xMap,E.animate({d:A})):(C.zIndex=0,(E=j.area=this.chart.renderer.path(A).addClass("highcharts-area"+(F?` highcharts-zone-area-${F-1} `:" ")+(F&&j.className||"")).add(this.group)).isArea=!0),this.chart.styledMode||(C.fill=M||j.color||this.color,C["fill-opacity"]=M?1:$.fillOpacity??.75,E.css({pointerEvents:this.stickyTracking?"none":"auto"})),E[L](C),E.startX=A.xMap,E.shiftUnit=$.step?2:1})}getGraphPath(A){let $,j,F,C=l.prototype.getGraphPath,M=this.options,E=M.stacking,L=this.yAxis,y=[],P=[],q=this.index,z=L.stacking.stacks[this.stackKey],R=M.threshold,u=Math.round(L.getThreshold(M.threshold)),x=G(M.connectNulls,E==="percent"),c=function(T,m,N){let ie=A[T],D=E&&z[ie.x].points[q],B=ie[N+"Null"]||0,V=ie[N+"Cliff"]||0,Z,re,p=!0;V||B?(Z=(B?D[0]:D[1])+V,re=D[0]+V,p=!!B):!E&&A[m]&&A[m].isNull&&(Z=re=R),Z!==void 0&&(P.push({plotX:$,plotY:Z===null?u:L.getThreshold(Z),isNull:p,isCliff:!0}),y.push({plotX:$,plotY:re===null?u:L.getThreshold(re),doCurve:!1}))};A=A||this.points,E&&(A=this.getStackPoints(A));for(let T=0,m=A.length;T1&&E&&P.some(T=>T.isCliff)&&(f.hasStackedCliffs=S.hasStackedCliffs=!0),f.xMap=o.xMap,this.areaPath=f,S}getStackPoints(A){let $=this,j=[],F=[],C=this.xAxis,M=this.yAxis,E=M.stacking.stacks[this.stackKey],L={},y=M.series,P=y.length,q=M.options.reversedStacks?1:-1,z=y.indexOf($);if(A=A||this.points,this.options.stacking){for(let u=0;uu.visible);F.forEach(function(u,x){let c=0,o,n;if(L[u]&&!L[u].isNull)j.push(L[u]),[-1,1].forEach(function(d){let f=d===1?"rightNull":"leftNull",S=E[F[x+d]],T=0;if(S){let m=z;for(;m>=0&&m=0&&dz&&$>M?($=Math.max(z,M),F=2*M-$):$u&&F>M?(F=Math.max(u,M),$=2*M-F):F1){let o=this.xAxis.series.filter(S=>S.visible).map(S=>S.index),n=0,d=0;P(this.xAxis.stacking?.stacks,S=>{if(typeof x.x=="number"){let T=S[x.x.toString()];if(T&&M(T.points[this.index])){let m=Object.keys(T.points).filter(N=>!N.match(",")&&T.points[N]&&T.points[N].length>1).map(parseFloat).filter(N=>o.indexOf(N)!==-1).sort((N,ie)=>ie-N);n=m.indexOf(this.index),d=m.length}}}),n=this.xAxis.reversed?d-1-n:n;let f=(d-1)*c.paddedWidth+u;R=(x.plotX||0)+f/2-u-n*c.paddedWidth}return R}translate(){let R=this,u=R.chart,x=R.options,c=R.dense=R.closestPointRange*R.xAxis.transA<2,o=R.borderWidth=y(x.borderWidth,c?0:1),n=R.xAxis,d=R.yAxis,f=x.threshold,S=y(x.minPointLength,5),T=R.getColumnMetrics(),m=T.width,N=R.pointXOffset=T.offset,ie=R.dataMin,D=R.dataMax,B=R.translatedThreshold=d.getThreshold(f),V=R.barW=Math.max(m,1+2*o);x.pointPadding&&(V=Math.ceil(V)),_.prototype.translate.apply(R),R.points.forEach(function(Z){let re=y(Z.yBottom,B),p=999+Math.abs(re),g=Z.plotX||0,v=A(Z.plotY,-p,d.len+p),H,h=Math.min(v,re),w=Math.max(v,re)-h,b=m,I=g+N,k=V;S&&Math.abs(w)S?re-S:B-(H?S:0)),j(Z.options.pointWidth)&&(I-=Math.round(((b=k=Math.ceil(Z.options.pointWidth))-m)/2)),x.centerInCategory&&!x.stacking&&(I=R.adjustForMissingColumns(I,b,Z,T)),Z.barX=I,Z.pointWidth=b,Z.tooltipPos=u.inverted?[A(d.len+d.pos-u.plotLeft-v,d.pos-u.plotLeft,d.len+d.pos-u.plotLeft),n.len+n.pos-u.plotTop-I-k/2,w]:[n.left-u.plotLeft+I+k/2,A(v+d.pos-u.plotTop,d.pos-u.plotTop,d.len+d.pos-u.plotTop),w],Z.shapeType=R.pointClass.prototype.shapeType||"roundedRect",Z.shapeArgs=R.crispCol(I,Z.isNull?B:h,k,Z.isNull?0:w)}),C(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(R,u){let x=this.options,c=this.pointAttrToOptions||{},o=c.stroke||"borderColor",n=c["stroke-width"]||"borderWidth",d,f,S,T=R&&R.color||this.color,m=R&&R[o]||x[o]||T,N=R&&R.options.dashStyle||x.dashStyle,ie=R&&R[n]||x[n]||this[n]||0,D=y(R&&R.opacity,x.opacity,1);R&&this.zones.length&&(f=R.getZone(),T=R.options.color||f&&(f.color||R.nonZonedColor)||this.color,f&&(m=f.borderColor||m,N=f.dashStyle||N,ie=f.borderWidth||ie)),u&&R&&(S=(d=L(x.states[u],R.options.states&&R.options.states[u]||{})).brightness,T=d.color||S!==void 0&&X(T).brighten(d.brightness).get()||T,m=d[o]||m,ie=d[n]||ie,N=d.dashStyle||N,D=y(d.opacity,D));let B={fill:T,stroke:m,"stroke-width":ie,opacity:D};return N&&(B.dashstyle=N),B}drawPoints(R=this.points){let u,x=this,c=this.chart,o=x.options,n=c.renderer,d=o.animationLimit||250;R.forEach(function(f){let S=f.plotY,T=f.graphic,m=!!T,N=T&&c.pointCounto?.enabled)}function y(o,n,d,f,S){let{chart:T,enabledDataSorting:m}=this,N=this.isCartesian&&T.inverted,ie=o.plotX,D=o.plotY,B=d.rotation||0,V=te(ie)&&te(D)&&T.isInsidePlot(ie,Math.round(D),{inverted:N,paneCoordinates:!0,series:this}),Z=B===0&&F(d.overflow,m?"none":"justify")==="justify",re=this.visible&&o.visible!==!1&&te(ie)&&(o.series.forceDL||m&&!Z||V||F(d.inside,!!this.options.stacking)&&f&&T.isInsidePlot(ie,N?f.x+1:f.y+f.height-1,{inverted:N,paneCoordinates:!0,series:this})),p=o.pos();if(re&&p){var g;let v=n.getBBox(),H=n.getBBox(void 0,0),h={right:1,center:.5}[d.align||0]||0,w={bottom:1,middle:.5}[d.verticalAlign||0]||0;if(f=G({x:p[0],y:Math.round(p[1]),width:0,height:0},f||{}),d.alignTo==="plotEdges"&&this.isCartesian&&(f[N?"x":"y"]=0,f[N?"width":"height"]=this.yAxis?.len||0),G(d,{width:v.width,height:v.height}),g=f,m&&this.xAxis&&!Z&&this.setDataLabelStartPos(o,n,S,V,g),n.align($(d,{width:H.width,height:H.height}),!1,f,!1),n.alignAttr.x+=h*(H.width-v.width),n.alignAttr.y+=w*(H.height-v.height),n[n.placed?"animate":"attr"]({x:n.alignAttr.x+(v.width-H.width)/2,y:n.alignAttr.y+(v.height-H.height)/2,rotationOriginX:(n.width||0)/2,rotationOriginY:(n.height||0)/2}),Z&&f.height>=0)this.justifyDataLabel(n,d,n.alignAttr,v,f,S);else if(F(d.crop,!0)){let{x:b,y:I}=n.alignAttr;re=T.isInsidePlot(b,I,{paneCoordinates:!0,series:this})&&T.isInsidePlot(b+v.width-1,I+v.height-1,{paneCoordinates:!0,series:this})}d.shape&&!B&&n[S?"attr":"animate"]({anchorX:p[0],anchorY:p[1]})}S&&m&&(n.placed=!1),re||m&&!Z?(n.show(),n.placed=!0):(n.hide(),n.placed=!1)}function P(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",this.options.dataLabels.zIndex||6)}function q(o){let n=this.hasRendered||0,d=this.initDataLabelsGroup().attr({opacity:+n});return!n&&d&&(this.visible&&d.show(),this.options.animation?d.animate({opacity:1},o):d.attr({opacity:1})),d}function z(o){let n;o=o||this.points;let d=this,f=d.chart,S=d.options,T=f.renderer,{backgroundColor:m,plotBackgroundColor:N}=f.options.chart,ie=T.getContrast(A(N)&&N||A(m)&&m||"#000000"),D=x(d),{animation:B,defer:V}=D[0],Z=V?_(f,B,d):{defer:0,duration:0};X(this,"drawDataLabels"),d.hasDataLabels?.()&&(n=this.initDataLabels(Z),o.forEach(re=>{let p=re.dataLabels||[];M(u(D,re.dlOptions||re.options?.dataLabels)).forEach((v,H)=>{let h=v.enabled&&(re.visible||re.dataLabelOnHidden)&&(!re.isNull||re.dataLabelOnNull)&&function(K,Q){let oe=Q.filter;if(oe){let ae=oe.operator,he=K[oe.property],le=oe.value;return ae===">"&&he>le||ae==="<"&&he="&&he>=le||ae==="<="&&he<=le||ae==="=="&&he==le||ae==="==="&&he===le||ae==="!="&&he!=le||ae==="!=="&&he!==le}return!0}(re,v),{backgroundColor:w,borderColor:b,distance:I,style:k={}}=v,W,ee,se,ne,ce={},de=p[H],Y=!de,U;h&&(ee=F(v[re.formatPrefix+"Format"],v.format),W=re.getLabelConfig(),se=te(ee)?O(ee,W,f):(v[re.formatPrefix+"Formatter"]||v.formatter).call(W,v),ne=v.rotation,!f.styledMode&&(k.color=F(v.color,k.color,A(d.color)?d.color:void 0,"#000000"),k.color==="contrast"?(w!=="none"&&(U=w),re.contrastColor=T.getContrast(U!=="auto"&&U||re.color||d.color),k.color=U||!te(I)&&v.inside||0>C(I||0)||S.stacking?re.contrastColor:ie):delete re.contrastColor,S.cursor&&(k.cursor=S.cursor)),ce={r:v.borderRadius||0,rotation:ne,padding:v.padding,zIndex:1},f.styledMode||(ce.fill=w==="auto"?re.color:w,ce.stroke=b==="auto"?re.color:b,ce["stroke-width"]=v.borderWidth),j(ce,(K,Q)=>{K===void 0&&delete ce[Q]})),!de||h&&te(se)&&!!de.div==!!v.useHTML&&(de.rotation&&v.rotation||de.rotation===v.rotation)||(de=void 0,Y=!0),h&&te(se)&&(de?ce.text=se:(de=T.label(se,0,0,v.shape,void 0,void 0,v.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+re.colorIndex+" "+(v.className||"")+(v.useHTML?" highcharts-tracker":"")),de&&(de.options=v,de.attr(ce),f.styledMode?k.width&&de.css({width:k.width,textOverflow:k.textOverflow}):de.css(k).shadow(v.shadow),X(de,"beforeAddingDataLabel",{labelOptions:v,point:re}),de.added||de.add(n),d.alignDataLabel(re,de,v,void 0,Y),de.isActive=!0,p[H]&&p[H]!==de&&p[H].destroy(),p[H]=de))});let g=p.length;for(;g--;)p[g]&&p[g].isActive?p[g].isActive=!1:(p[g]?.destroy(),p.splice(g,1));re.dataLabel=p[0],re.dataLabels=p})),X(this,"afterDrawDataLabels")}function R(o,n,d,f,S,T){let m=this.chart,N=n.align,ie=n.verticalAlign,D=o.box?0:o.padding||0,B=m.inverted?this.yAxis:this.xAxis,V=B?B.left-m.plotLeft:0,Z=m.inverted?this.xAxis:this.yAxis,re=Z?Z.top-m.plotTop:0,{x:p=0,y:g=0}=n,v,H;return(v=(d.x||0)+D+V)<0&&(N==="right"&&p>=0?(n.align="left",n.inside=!0):p-=v,H=!0),(v=(d.x||0)+f.width-D+V)>m.plotWidth&&(N==="left"&&p<=0?(n.align="right",n.inside=!0):p+=m.plotWidth-v,H=!0),(v=d.y+D+re)<0&&(ie==="bottom"&&g>=0?(n.verticalAlign="top",n.inside=!0):g-=v,H=!0),(v=(d.y||0)+f.height-D+re)>m.plotHeight&&(ie==="top"&&g<=0?(n.verticalAlign="bottom",n.inside=!0):g+=m.plotHeight-v,H=!0),H&&(n.x=p,n.y=g,o.placed=!T,o.align(n,void 0,S)),H}function u(o,n){let d=[],f;if(J(o)&&!J(n))d=o.map(function(S){return $(S,n)});else if(J(n)&&!J(o))d=n.map(function(S){return $(o,S)});else if(J(o)||J(n)){if(J(o)&&J(n))for(f=Math.max(o.length,n.length);f--;)d[f]=$(o[f],n[f])}else d=$(o,n);return d}function x(o){let n=o.chart.options.plotOptions;return M(u(u(n?.series?.dataLabels,n?.[o.type]?.dataLabels),o.options.dataLabels))}function c(o,n,d,f,S){let T=this.chart,m=T.inverted,N=this.xAxis,ie=N.reversed,D=((m?n.height:n.width)||0)/2,B=o.pointWidth,V=B?B/2:0;n.startXPos=m?S.x:ie?-D-V:N.width-D+V,n.startYPos=m?ie?this.yAxis.height-D+V:-D-V:S.y,f?n.visibility==="hidden"&&(n.show(),n.attr({opacity:0}).animate({opacity:1})):n.attr({opacity:1}).animate({opacity:0},void 0,n.hide),T.hasRendered&&(d&&n.attr({x:n.startXPos,y:n.startYPos}),n.placed=!0)}E.compose=function(o){let n=o.prototype;n.initDataLabels||(n.initDataLabels=q,n.initDataLabelsGroup=P,n.alignDataLabel=y,n.drawDataLabels=z,n.justifyDataLabel=R,n.setDataLabelStartPos=c,n.hasDataLabels=L)}}(l||(l={})),l}),e(s,"Series/Column/ColumnDataLabel.js",[s["Core/Series/DataLabel.js"],s["Core/Globals.js"],s["Core/Series/SeriesRegistry.js"],s["Core/Utilities.js"]],function(t,r,a,l){var _;let{composed:O}=r,{series:te}=a,{merge:G,pick:X,pushUnique:J}=l;return function(A){function $(j,F,C,M,E){let L=this.chart.inverted,y=j.series,P=(y.xAxis?y.xAxis.len:this.chart.plotSizeX)||0,q=(y.yAxis?y.yAxis.len:this.chart.plotSizeY)||0,z=j.dlBox||j.shapeArgs,R=X(j.below,j.plotY>X(this.translatedThreshold,q)),u=X(C.inside,!!this.options.stacking);if(z){if(M=G(z),!(C.overflow==="allow"&&C.crop===!1)){M.y<0&&(M.height+=M.y,M.y=0);let x=M.y+M.height-q;x>0&&x\u25CF {series.name}
',pointFormat:"x: {point.x}
y: {point.y}
"}}}),e(s,"Series/Scatter/ScatterSeries.js",[s["Series/Scatter/ScatterSeriesDefaults.js"],s["Core/Series/SeriesRegistry.js"],s["Core/Utilities.js"]],function(t,r,a){let{column:l,line:_}=r.seriesTypes,{addEvent:O,extend:te,merge:G}=a;class X extends _{applyJitter(){let A=this,$=this.options.jitter,j=this.points.length;$&&this.points.forEach(function(F,C){["x","y"].forEach(function(M,E){if($[M]&&!F.isNull){let L=`plot${M.toUpperCase()}`,y=A[`${M}Axis`],P=$[M]*y.transA;if(y&&!y.logarithmic){let q=Math.max(0,(F[L]||0)-P),z=Math.min(y.len,(F[L]||0)+P);F[L]=q+(z-q)*function(R){let u=1e4*Math.sin(R);return u-Math.floor(u)}(C+E*j),M==="x"&&(F.clientX=F.plotX)}}})})}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}}return X.defaultOptions=G(_.defaultOptions,t),te(X.prototype,{drawTracker:l.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),O(X,"afterTranslate",function(){this.applyJitter()}),r.registerSeriesType("scatter",X),X}),e(s,"Series/CenteredUtilities.js",[s["Core/Globals.js"],s["Core/Series/Series.js"],s["Core/Utilities.js"]],function(t,r,a){var l,_;let{deg2rad:O}=t,{fireEvent:te,isNumber:G,pick:X,relativeLength:J}=a;return(_=l||(l={})).getCenter=function(){let A=this.options,$=this.chart,j=2*(A.slicedOffset||0),F=$.plotWidth-2*j,C=$.plotHeight-2*j,M=A.center,E=Math.min(F,C),L=A.thickness,y,P=A.size,q=A.innerSize||0,z,R;typeof P=="string"&&(P=parseFloat(P)),typeof q=="string"&&(q=parseFloat(q));let u=[X(M[0],"50%"),X(M[1],"50%"),X(P&&P<0?void 0:A.size,"100%"),X(q&&q<0?void 0:A.innerSize||0,"0%")];for(!$.angular||this instanceof r||(u[3]=0),z=0;z<4;++z)R=u[z],y=z<2||z===2&&/%$/.test(R),u[z]=J(R,[F,C,E,u[2]][z])+(y?j:0);return u[3]>u[2]&&(u[3]=u[2]),G(L)&&2*L0&&(u[3]=u[2]-2*L),te(this,"afterGetCenter",{positions:u}),u},_.getStartAndEndRadians=function(A,$){let j=G(A)?A:0,F=G($)&&$>j&&$-j<360?$:j+360;return{start:O*(j+-90),end:O*(F+-90)}},l}),e(s,"Series/Pie/PiePoint.js",[s["Core/Animation/AnimationUtilities.js"],s["Core/Series/Point.js"],s["Core/Utilities.js"]],function(t,r,a){let{setAnimation:l}=t,{addEvent:_,defined:O,extend:te,isNumber:G,pick:X,relativeLength:J}=a;class A extends r{getConnectorPath(j){let F=j.dataLabelPosition,C=j.options||{},M=C.connectorShape,E=this.connectorShapes[M]||M;return F&&E.call(this,ze(we({},F.computed),{alignment:F.alignment}),F.connectorPosition,C)||[]}getTranslate(){return this.sliced&&this.slicedTranslation||{translateX:0,translateY:0}}haloPath(j){let F=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(F.x,F.y,F.r+j,F.r+j,{innerR:F.r-1,start:F.start,end:F.end,borderRadius:F.borderRadius})}constructor(j,F,C){super(j,F,C),this.half=0,this.name??(this.name="Slice");let M=E=>{this.slice(E.type==="select")};_(this,"select",M),_(this,"unselect",M)}isValid(){return G(this.y)&&this.y>=0}setVisible(j,F=!0){j!==this.visible&&this.update({visible:j??!this.visible},F,void 0,!1)}slice(j,F,C){let M=this.series;l(C,M.chart),F=X(F,!0),this.sliced=this.options.sliced=j=O(j)?j:!this.sliced,M.options.data[M.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}return te(A.prototype,{connectorShapes:{fixedOffset:function($,j,F){let C=j.breakAt,M=j.touchingSliceAt,E=F.softConnector?["C",$.x+($.alignment==="left"?-5:5),$.y,2*C.x-M.x,2*C.y-M.y,C.x,C.y]:["L",C.x,C.y];return[["M",$.x,$.y],E,["L",M.x,M.y]]},straight:function($,j){let F=j.touchingSliceAt;return[["M",$.x,$.y],["L",F.x,F.y]]},crookedLine:function($,j,F){let{breakAt:C,touchingSliceAt:M}=j,{series:E}=this,[L,y,P]=E.center,q=P/2,{plotLeft:z,plotWidth:R}=E.chart,u=$.alignment==="left",{x,y:c}=$,o=C.x;if(F.crookDistance){let d=J(F.crookDistance,1);o=u?L+q+(R+z-L-q)*(1-d):z+(L-q)*d}else o=L+(y-c)*Math.tan((this.angle||0)-Math.PI/2);let n=[["M",x,c]];return(u?o<=x&&o>=C.x:o>=x&&o<=C.x)&&n.push(["L",o,c]),n.push(["L",C.x,C.y],["L",M.x,M.y]),n}}}),A}),e(s,"Series/Pie/PieSeriesDefaults.js",[],function(){return{borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{connectorPadding:5,connectorShape:"crookedLine",crookDistance:void 0,distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}}),e(s,"Series/Pie/PieSeries.js",[s["Series/CenteredUtilities.js"],s["Series/Column/ColumnSeries.js"],s["Core/Globals.js"],s["Series/Pie/PiePoint.js"],s["Series/Pie/PieSeriesDefaults.js"],s["Core/Series/Series.js"],s["Core/Series/SeriesRegistry.js"],s["Core/Renderer/SVG/Symbols.js"],s["Core/Utilities.js"]],function(t,r,a,l,_,O,te,G,X){let{getStartAndEndRadians:J}=t,{noop:A}=a,{clamp:$,extend:j,fireEvent:F,merge:C,pick:M}=X;class E extends O{animate(y){let P=this,q=P.points,z=P.startAngleRad;y||q.forEach(function(R){let u=R.graphic,x=R.shapeArgs;u&&x&&(u.attr({r:M(R.startR,P.center&&P.center[3]/2),start:z,end:z}),u.animate({r:x.r,start:x.start,end:x.end},P.options.animation))})}drawEmpty(){let y,P,q=this.startAngleRad,z=this.endAngleRad,R=this.options;this.total===0&&this.center?(y=this.center[0],P=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(y,P,this.center[1]/2,0,q,z).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:G.arc(y,P,this.center[2]/2,0,{start:q,end:z,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":R.borderWidth,fill:R.fillColor||"none",stroke:R.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let y=this.chart.renderer;this.points.forEach(function(P){P.graphic&&P.hasNewShapeType()&&(P.graphic=P.graphic.destroy()),P.graphic||(P.graphic=y[P.shapeType](P.shapeArgs).add(P.series.group),P.delayedRendering=!0)})}generatePoints(){super.generatePoints(),this.updateTotals()}getX(y,P,q,z){let R=this.center,u=this.radii?this.radii[q.index]||0:R[2]/2,x=z.dataLabelPosition,c=x?.distance||0,o=Math.asin($((y-R[1])/(u+c),-1,1));return R[0]+Math.cos(o)*(u+c)*(P?-1:1)+(c>0?(P?-1:1)*(z.padding||0):0)}hasData(){return!!this.processedXData.length}redrawPoints(){let y,P,q,z,R=this,u=R.chart;this.drawEmpty(),R.group&&!u.styledMode&&R.group.shadow(R.options.shadow),R.points.forEach(function(x){let c={};P=x.graphic,!x.isNull&&P?(z=x.shapeArgs,y=x.getTranslate(),u.styledMode||(q=R.pointAttribs(x,x.selected&&"select")),x.delayedRendering?(P.setRadialReference(R.center).attr(z).attr(y),u.styledMode||P.attr(q).attr({"stroke-linejoin":"round"}),x.delayedRendering=!1):(P.setRadialReference(R.center),u.styledMode||C(!0,c,q),C(!0,c,z,y),P.animate(c)),P.attr({visibility:x.visible?"inherit":"hidden"}),P.addClass(x.getClassName(),!0)):P&&(x.graphic=P.destroy())})}sortByAngle(y,P){y.sort(function(q,z){return q.angle!==void 0&&(z.angle-q.angle)*P})}translate(y){F(this,"translate"),this.generatePoints();let P=this.options,q=P.slicedOffset,z=J(P.startAngle,P.endAngle),R=this.startAngleRad=z.start,u=(this.endAngleRad=z.end)-R,x=this.points,c=P.ignoreHiddenPoint,o=x.length,n,d,f,S,T,m,N,ie=0;for(y||(this.center=y=this.getCenter()),m=0;m1.5*Math.PI?f-=2*Math.PI:f<-Math.PI/2&&(f+=2*Math.PI),N.slicedTranslation={translateX:Math.round(Math.cos(f)*q),translateY:Math.round(Math.sin(f)*q)},S=Math.cos(f)*y[2]/2,T=Math.sin(f)*y[2]/2,N.tooltipPos=[y[0]+.7*S,y[1]+.7*T],N.half=f<-Math.PI/2||f>Math.PI/2?1:0,N.angle=f}F(this,"afterTranslate")}updateTotals(){let y=this.points,P=y.length,q=this.options.ignoreHiddenPoint,z,R,u=0;for(z=0;z0&&(R.visible||!q)?R.y/u*100:0,R.total=u}}return E.defaultOptions=C(O.defaultOptions,_),j(E.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:r.prototype.drawTracker,getCenter:t.getCenter,getSymbol:A,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointAttribs:r.prototype.pointAttribs,pointClass:l,requireSorting:!1,searchPoint:A,trackerGroups:["group","dataLabelsGroup"]}),te.registerSeriesType("pie",E),E}),e(s,"Series/Pie/PieDataLabel.js",[s["Core/Series/DataLabel.js"],s["Core/Globals.js"],s["Core/Renderer/RendererUtilities.js"],s["Core/Series/SeriesRegistry.js"],s["Core/Utilities.js"]],function(t,r,a,l,_){var O;let{composed:te,noop:G}=r,{distribute:X}=a,{series:J}=l,{arrayMax:A,clamp:$,defined:j,pick:F,pushUnique:C,relativeLength:M}=_;return function(E){let L={radialDistributionY:function(R,u){return(u.dataLabelPosition?.top||0)+R.distributeBox.pos},radialDistributionX:function(R,u,x,c,o){let n=o.dataLabelPosition;return R.getX(x<(n?.top||0)+2||x>(n?.bottom||0)-2?c:x,u.half,u,o)},justify:function(R,u,x,c){return c[0]+(R.half?-1:1)*(x+(u.dataLabelPosition?.distance||0))},alignToPlotEdges:function(R,u,x,c){let o=R.getBBox().width;return u?o+c:x-o-c},alignToConnectors:function(R,u,x,c){let o=0,n;return R.forEach(function(d){(n=d.dataLabel.getBBox().width)>o&&(o=n)}),u?o+c:x-o-c}};function y(R,u){let{center:x,options:c}=this,o=x[2]/2,n=R.angle||0,d=Math.cos(n),f=Math.sin(n),S=x[0]+d*o,T=x[1]+f*o,m=Math.min((c.slicedOffset||0)+(c.borderWidth||0),u/5);return{natural:{x:S+d*u,y:T+f*u},computed:{},alignment:u<0?"center":R.half?"right":"left",connectorPosition:{breakAt:{x:S+d*m,y:T+f*m},touchingSliceAt:{x:S,y:T}},distance:u}}function P(){let R=this,u=R.points,x=R.chart,c=x.plotWidth,o=x.plotHeight,n=x.plotLeft,d=Math.round(x.chartWidth/3),f=R.center,S=f[2]/2,T=f[1],m=[[],[]],N=[0,0,0,0],ie=R.dataLabelPositioners,D,B,V,Z=0;R.visible&&R.hasDataLabels?.()&&(u.forEach(re=>{(re.dataLabels||[]).forEach(p=>{p.shortened&&(p.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),p.shortened=!1)})}),J.prototype.drawDataLabels.apply(R),u.forEach(re=>{(re.dataLabels||[]).forEach((p,g)=>{let v=f[2]/2,H=p.options,h=M(H?.distance||0,v);g===0&&m[re.half].push(re),!j(H?.style?.width)&&p.getBBox().width>d&&(p.css({width:Math.round(.7*d)+"px"}),p.shortened=!0),p.dataLabelPosition=this.getDataLabelPosition(re,h),Z=Math.max(Z,h)})}),m.forEach((re,p)=>{let g=re.length,v=[],H,h,w=0,b;g&&(R.sortByAngle(re,p-.5),Z>0&&(H=Math.max(0,T-S-Z),h=Math.min(T+S+Z,x.plotHeight),re.forEach(I=>{(I.dataLabels||[]).forEach(k=>{let W=k.dataLabelPosition;W&&W.distance>0&&(W.top=Math.max(0,T-S-W.distance),W.bottom=Math.min(T+S+W.distance,x.plotHeight),w=k.getBBox().height||21,k.lineHeight=x.renderer.fontMetrics(k.text||k).h+2*k.padding,I.distributeBox={target:(k.dataLabelPosition?.natural.y||0)-W.top+k.lineHeight/2,size:w,rank:I.y},v.push(I.distributeBox))})}),X(v,b=h+w-H,b/5)),re.forEach(I=>{(I.dataLabels||[]).forEach(k=>{let W=k.options||{},ee=I.distributeBox,se=k.dataLabelPosition,ne=se?.natural.y||0,ce=W.connectorPadding||0,de=k.lineHeight||21,Y=(de-k.getBBox().height)/2,U=0,K=ne,Q="inherit";if(se){if(v&&j(ee)&&se.distance>0&&(ee.pos===void 0?Q="hidden":(V=ee.size,K=ie.radialDistributionY(I,k))),W.justify)U=ie.justify(I,k,S,f);else switch(W.alignTo){case"connectors":U=ie.alignToConnectors(re,p,c,n);break;case"plotEdges":U=ie.alignToPlotEdges(k,p,c,n);break;default:U=ie.radialDistributionX(R,I,K-Y,ne,k)}if(se.attribs={visibility:Q,align:se.alignment},se.posAttribs={x:U+(W.x||0)+({left:ce,right:-ce}[se.alignment]||0),y:K+(W.y||0)-de/2},se.computed.x=U,se.computed.y=K-Y,F(W.crop,!0)){let oe;U-(B=k.getBBox().width)c-ce&&p===0&&(oe=Math.round(U+B-c+ce),N[1]=Math.max(oe,N[1])),K-V/2<0?N[0]=Math.max(Math.round(-K+V/2),N[0]):K+V/2>o&&(N[2]=Math.max(Math.round(K+V/2-o),N[2])),se.sideOverflow=oe}}})}))}),(A(N)===0||this.verifyDataLabelOverflow(N))&&(this.placeDataLabels(),this.points.forEach(re=>{(re.dataLabels||[]).forEach(p=>{let{connectorColor:g,connectorWidth:v=1}=p.options||{},H=p.dataLabelPosition;if(v){let h;D=p.connector,H&&H.distance>0?(h=!D,D||(p.connector=D=x.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+re.colorIndex+(re.className?" "+re.className:"")).add(R.dataLabelsGroup)),x.styledMode||D.attr({"stroke-width":v,stroke:g||re.color||"#666666"}),D[h?"attr":"animate"]({d:re.getConnectorPath(p)}),D.attr({visibility:H.attribs?.visibility})):D&&(p.connector=D.destroy())}})})))}function q(){this.points.forEach(R=>{(R.dataLabels||[]).forEach(u=>{let x=u.dataLabelPosition;x?(x.sideOverflow&&(u.css({width:Math.max(u.getBBox().width-x.sideOverflow,0)+"px",textOverflow:(u.options?.style||{}).textOverflow||"ellipsis"}),u.shortened=!0),u.attr(x.attribs),u[u.moved?"animate":"attr"](x.posAttribs),u.moved=!0):u&&u.attr({y:-9999})}),delete R.distributeBox},this)}function z(R){let u=this.center,x=this.options,c=x.center,o=x.minSize||80,n=o,d=x.size!==null;return!d&&(c[0]!==null?n=Math.max(u[2]-Math.max(R[1],R[3]),o):(n=Math.max(u[2]-R[1]-R[3],o),u[0]+=(R[3]-R[1])/2),c[1]!==null?n=$(n,o,u[2]-Math.max(R[0],R[2])):(n=$(n,o,u[2]-R[0]-R[2]),u[1]+=(R[0]-R[2])/2),n(_.x+=O.x,_.y+=O.y,_),{x:0,y:0});return{x:l.x/a.length,y:l.y/a.length}},r.getDistanceBetweenPoints=function(a,l){return Math.sqrt(Math.pow(l.x-a.x,2)+Math.pow(l.y-a.y,2))},r.getAngleBetweenPoints=function(a,l){return Math.atan2(l.x-a.x,l.y-a.y)},r.pointInPolygon=function({x:a,y:l},_){let O=_.length,te,G,X=!1;for(te=0,G=O-1;tel!=j>l&&a<($-J)*(l-A)/(j-A)+J&&(X=!X)}return X},t}),e(s,"Extensions/OverlappingDataLabels.js",[s["Core/Geometry/GeometryUtilities.js"],s["Core/Utilities.js"]],function(t,r){let{pointInPolygon:a}=t,{addEvent:l,fireEvent:_,objectEach:O,pick:te}=r;function G(A){let $=A.length,j=(q,z)=>!(z.x>=q.x+q.width||z.x+z.width<=q.x||z.y>=q.y+q.height||z.y+z.height<=q.y),F=(q,z)=>{for(let R of q)if(a({x:R[0],y:R[1]},z))return!0;return!1},C,M,E,L,y,P=!1;for(let q=0;q<$;q++)(C=A[q])&&(C.oldOpacity=C.opacity,C.newOpacity=1,C.absoluteBox=function(z){if(z&&(!z.alignAttr||z.placed)){let R=z.box?0:z.padding||0,u=z.alignAttr||{x:z.attr("x"),y:z.attr("y")},x=z.getBBox();return z.width=x.width,z.height=x.height,{x:u.x+(z.parentGroup?.translateX||0)+R,y:u.y+(z.parentGroup?.translateY||0)+R,width:(z.width||0)-2*R,height:(z.height||0)-2*R,polygon:x?.polygon}}}(C));A.sort((q,z)=>(z.labelrank||0)-(q.labelrank||0));for(let q=0;q<$;++q){L=(M=A[q])&&M.absoluteBox;let z=L?.polygon;for(let R=q+1;R<$;++R){y=(E=A[R])&&E.absoluteBox;let u=!1;if(L&&y&&M!==E&&M.newOpacity!==0&&E.newOpacity!==0&&M.visibility!=="hidden"&&E.visibility!=="hidden"){let x=y.polygon;if(z&&x&&z!==x?F(z,x)&&(u=!0):j(L,y)&&(u=!0),u){let c=M.labelrank{O(F,C=>{C.label&&$.push(C.label)})});for(let j of A.series||[])if(j.visible&&j.hasDataLabels?.()){let F=C=>{for(let M of C)M.visible&&(M.dataLabels||[]).forEach(E=>{let L=E.options||{};E.labelrank=te(L.labelrank,M.labelrank,M.shapeArgs?.height),L.allowOverlap??Number(L.distance)>0?(E.oldOpacity=E.opacity,E.newOpacity=1,X(E,A)):$.push(E)})};F(j.nodes||[]),F(j.points)}this.hideOverlappingLabels($)}return{compose:function(A){let $=A.prototype;$.hideOverlappingLabels||($.hideOverlappingLabels=G,l(A,"render",J))}}}),e(s,"Extensions/BorderRadius.js",[s["Core/Defaults.js"],s["Core/Globals.js"],s["Core/Utilities.js"]],function(t,r,a){let{defaultOptions:l}=t,{noop:_}=r,{addEvent:O,extend:te,isObject:G,merge:X,relativeLength:J}=a,A={radius:0,scope:"stack",where:void 0},$=_,j=_;function F(y,P,q,z,R={}){let u=$(y,P,q,z,R),{innerR:x=0,r:c=q,start:o=0,end:n=0}=R;if(R.open||!R.borderRadius)return u;let d=n-o,f=Math.sin(d/2),S=Math.max(Math.min(J(R.borderRadius||0,c-x),(c-x)/2,c*f/(1+f)),0),T=Math.min(S,d/Math.PI*2*x),m=u.length-1;for(;m--;)(function(N,ie,D){let B,V,Z,re=N[ie],p=N[ie+1];if(p[0]==="Z"&&(p=N[0]),(re[0]==="M"||re[0]==="L")&&p[0]==="A"?(B=re,V=p,Z=!0):re[0]==="A"&&(p[0]==="M"||p[0]==="L")&&(B=p,V=re),B&&V&&V.params){let g=V[1],v=V[5],H=V.params,{start:h,end:w,cx:b,cy:I}=H,k=v?g-D:g+D,W=k?Math.asin(D/k):0,ee=v?W:-W,se=Math.cos(W)*k;Z?(H.start=h+ee,B[1]=b+se*Math.cos(h),B[2]=I+se*Math.sin(h),N.splice(ie+1,0,["A",D,D,0,0,1,b+g*Math.cos(H.start),I+g*Math.sin(H.start)])):(H.end=w-ee,V[6]=b+g*Math.cos(H.end),V[7]=I+g*Math.sin(H.end),N.splice(ie+1,0,["A",D,D,0,0,1,b+se*Math.cos(w),I+se*Math.sin(w)])),V[4]=Math.abs(H.end-H.start)1?T:S);return u}function C(){if(this.options.borderRadius&&!(this.chart.is3d&&this.chart.is3d())){let{options:y,yAxis:P}=this,q=y.stacking==="percent",z=l.plotOptions?.[this.type]?.borderRadius,R=M(y.borderRadius,G(z)?z:{}),u=P.options.reversed;for(let x of this.points){let{shapeArgs:c}=x;if(x.shapeType==="roundedRect"&&c){let{width:o=0,height:n=0,y:d=0}=c,f=d,S=n;if(R.scope==="stack"&&x.stackTotal){let ie=P.translate(q?100:x.stackTotal,!1,!0,!1,!0),D=P.translate(y.threshold||0,!1,!0,!1,!0),B=this.crispCol(0,Math.min(ie,D),0,Math.abs(ie-D));f=B.y,S=B.height}let T=(x.negative?-1:1)*(u?-1:1)==-1,m=R.where;!m&&this.is("waterfall")&&Math.abs((x.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(m="all"),m||(m="end");let N=Math.min(J(R.radius,o),o/2,m==="all"?n/2:1/0)||0;m==="end"&&(T&&(f-=N),S+=N),te(c,{brBoxHeight:S,brBoxY:f,r:N})}}}}function M(y,P){return G(y)||(y={radius:y||0}),X(A,P,y)}function E(){let y=M(this.options.borderRadius);for(let P of this.points){let q=P.shapeArgs;q&&(q.borderRadius=J(y.radius,(q.r||0)-(q.innerR||0)))}}function L(y,P,q,z,R={}){let u=j(y,P,q,z,R),{r:x=0,brBoxHeight:c=z,brBoxY:o=P}=R,n=P-o,d=o+c-(P+z),f=n-x>-.1?0:x,S=d-x>-.1?0:x,T=Math.max(f&&n,0),m=Math.max(S&&d,0),N=[y+f,P],ie=[y+q-f,P],D=[y+q,P+f],B=[y+q,P+z-S],V=[y+q-S,P+z],Z=[y+S,P+z],re=[y,P+z-S],p=[y,P+f],g=(v,H)=>Math.sqrt(Math.pow(v,2)-Math.pow(H,2));if(T){let v=g(f,f-T);N[0]-=v,ie[0]+=v,D[1]=p[1]=P+f-T}if(z=te(F.minWidth,0)&&this.chartHeight>=te(F.minHeight,0)}).call(this)&&j.push($._id)}function A($,j){let F=this.options.responsive,C=this.currentResponsive,M=[],E;!j&&F&&F.rules&&F.rules.forEach(P=>{P._id===void 0&&(P._id=G()),this.matchResponsiveRule(P,M)},this);let L=O(...M.map(P=>_((F||{}).rules||[],q=>q._id===P)).map(P=>P&&P.chartOptions));L.isResponsiveOptions=!0,M=M.toString()||void 0;let y=C&&C.ruleIds;M===y||(C&&(this.currentResponsive=void 0,this.updatingResponsive=!0,this.update(C.undoOptions,$,!0),this.updatingResponsive=!1),M?((E=a(L,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:M,mergedOptions:L,undoOptions:E},this.updatingResponsive||this.update(L,$,!0)):this.currentResponsive=void 0)}X.compose=function($){let j=$.prototype;return j.matchResponsiveRule||l(j,{matchResponsiveRule:J,setResponsive:A}),$}}(r||(r={})),r}),e(s,"masters/highcharts.src.js",[s["Core/Globals.js"],s["Core/Utilities.js"],s["Core/Defaults.js"],s["Core/Animation/Fx.js"],s["Core/Animation/AnimationUtilities.js"],s["Core/Renderer/HTML/AST.js"],s["Core/Templating.js"],s["Core/Renderer/RendererRegistry.js"],s["Core/Renderer/RendererUtilities.js"],s["Core/Renderer/SVG/SVGElement.js"],s["Core/Renderer/SVG/SVGRenderer.js"],s["Core/Renderer/HTML/HTMLElement.js"],s["Core/Axis/Axis.js"],s["Core/Axis/DateTimeAxis.js"],s["Core/Axis/LogarithmicAxis.js"],s["Core/Axis/PlotLineOrBand/PlotLineOrBand.js"],s["Core/Axis/Tick.js"],s["Core/Tooltip.js"],s["Core/Series/Point.js"],s["Core/Pointer.js"],s["Core/Legend/Legend.js"],s["Core/Legend/LegendSymbol.js"],s["Core/Chart/Chart.js"],s["Extensions/ScrollablePlotArea.js"],s["Core/Axis/Stacking/StackingAxis.js"],s["Core/Axis/Stacking/StackItem.js"],s["Core/Series/Series.js"],s["Core/Series/SeriesRegistry.js"],s["Series/Column/ColumnDataLabel.js"],s["Series/Pie/PieDataLabel.js"],s["Core/Series/DataLabel.js"],s["Extensions/OverlappingDataLabels.js"],s["Extensions/BorderRadius.js"],s["Core/Responsive.js"],s["Core/Color/Color.js"],s["Core/Time.js"]],function(t,r,a,l,_,O,te,G,X,J,A,$,j,F,C,M,E,L,y,P,q,z,R,u,x,c,o,n,d,f,S,T,m,N,ie,D){return t.AST=O,t.Axis=j,t.Chart=R,t.Color=ie,t.DataLabel=S,t.Fx=l,t.HTMLElement=$,t.Legend=q,t.LegendSymbol=z,t.OverlappingDataLabels=t.OverlappingDataLabels||T,t.PlotLineOrBand=M,t.Point=y,t.Pointer=P,t.RendererRegistry=G,t.Series=o,t.SeriesRegistry=n,t.StackItem=c,t.SVGElement=J,t.SVGRenderer=A,t.Templating=te,t.Tick=E,t.Time=D,t.Tooltip=L,t.animate=_.animate,t.animObject=_.animObject,t.chart=R.chart,t.color=ie.parse,t.dateFormat=te.dateFormat,t.defaultOptions=a.defaultOptions,t.distribute=X.distribute,t.format=te.format,t.getDeferredAnimation=_.getDeferredAnimation,t.getOptions=a.getOptions,t.numberFormat=te.numberFormat,t.seriesType=n.seriesType,t.setAnimation=_.setAnimation,t.setOptions=a.setOptions,t.stop=_.stop,t.time=a.defaultTime,t.timers=l.timers,m.compose(t.Series,t.SVGElement,t.SVGRenderer),d.compose(t.Series.types.column),S.compose(t.Series),F.compose(t.Axis),$.compose(t.SVGRenderer),q.compose(t.Chart),C.compose(t.Axis),T.compose(t.Chart),f.compose(t.Series.types.pie),M.compose(t.Chart,t.Axis),P.compose(t.Chart),N.compose(t.Chart),u.compose(t.Axis,t.Chart,t.Series),x.compose(t.Axis,t.Chart,t.Series),L.compose(t.Pointer),r.extend(t,r),t}),s["masters/highcharts.src.js"]._modules=s,s["masters/highcharts.src.js"]})});var Wo=null;function ii(){return Wo}function Vo(i){Wo??=i}var ks=class{};var We=new Te(""),Fr=(()=>{class i{historyGo(e){throw new Error("")}static{this.\u0275fac=function(t){return new(t||i)}}static{this.\u0275prov=De({token:i,factory:()=>xe(Rl),providedIn:"platform"})}}return i})(),Xo=new Te(""),Rl=(()=>{class i extends Fr{constructor(){super(),this._doc=xe(We),this._location=window.location,this._history=window.history}getBaseHrefFromDOM(){return ii().getBaseHref(this._doc)}onPopState(e){let t=ii().getGlobalEventTarget(this._doc,"window");return t.addEventListener("popstate",e,!1),()=>t.removeEventListener("popstate",e)}onHashChange(e){let t=ii().getGlobalEventTarget(this._doc,"window");return t.addEventListener("hashchange",e,!1),()=>t.removeEventListener("hashchange",e)}get href(){return this._location.href}get protocol(){return this._location.protocol}get hostname(){return this._location.hostname}get port(){return this._location.port}get pathname(){return this._location.pathname}get search(){return this._location.search}get hash(){return this._location.hash}set pathname(e){this._location.pathname=e}pushState(e,t,r){this._history.pushState(e,t,r)}replaceState(e,t,r){this._history.replaceState(e,t,r)}forward(){this._history.forward()}back(){this._history.back()}historyGo(e=0){this._history.go(e)}getState(){return this._history.state}static{this.\u0275fac=function(t){return new(t||i)}}static{this.\u0275prov=De({token:i,factory:()=>new i,providedIn:"platform"})}}return i})();function Nr(i,s){if(i.length==0)return s;if(s.length==0)return i;let e=0;return i.endsWith("/")&&e++,s.startsWith("/")&&e++,e==2?i+s.substring(1):e==1?i+s:i+"/"+s}function Bo(i){let s=i.match(/#|\?|$/),e=s&&s.index||i.length,t=e-(i[e-1]==="/"?1:0);return i.slice(0,t)+i.slice(e)}function kt(i){return i&&i[0]!=="?"?"?"+i:i}var xt=(()=>{class i{historyGo(e){throw new Error("")}static{this.\u0275fac=function(t){return new(t||i)}}static{this.\u0275prov=De({token:i,factory:()=>xe(jr),providedIn:"root"})}}return i})(),Yo=new Te(""),jr=(()=>{class i extends xt{constructor(e,t){super(),this._platformLocation=e,this._removeListenerFns=[],this._baseHref=t??this._platformLocation.getBaseHrefFromDOM()??xe(We).location?.origin??""}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(e){this._removeListenerFns.push(this._platformLocation.onPopState(e),this._platformLocation.onHashChange(e))}getBaseHref(){return this._baseHref}prepareExternalUrl(e){return Nr(this._baseHref,e)}path(e=!1){let t=this._platformLocation.pathname+kt(this._platformLocation.search),r=this._platformLocation.hash;return r&&e?`${t}${r}`:t}pushState(e,t,r,a){let l=this.prepareExternalUrl(r+kt(a));this._platformLocation.pushState(e,t,l)}replaceState(e,t,r,a){let l=this.prepareExternalUrl(r+kt(a));this._platformLocation.replaceState(e,t,l)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(e=0){this._platformLocation.historyGo?.(e)}static{this.\u0275fac=function(t){return new(t||i)(Ce(Fr),Ce(Yo,8))}}static{this.\u0275prov=De({token:i,factory:i.\u0275fac,providedIn:"root"})}}return i})(),Br=(()=>{class i extends xt{constructor(e,t){super(),this._platformLocation=e,this._baseHref="",this._removeListenerFns=[],t!=null&&(this._baseHref=t)}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(e){this._removeListenerFns.push(this._platformLocation.onPopState(e),this._platformLocation.onHashChange(e))}getBaseHref(){return this._baseHref}path(e=!1){let t=this._platformLocation.hash??"#";return t.length>0?t.substring(1):t}prepareExternalUrl(e){let t=Nr(this._baseHref,e);return t.length>0?"#"+t:t}pushState(e,t,r,a){let l=this.prepareExternalUrl(r+kt(a));l.length==0&&(l=this._platformLocation.pathname),this._platformLocation.pushState(e,t,l)}replaceState(e,t,r,a){let l=this.prepareExternalUrl(r+kt(a));l.length==0&&(l=this._platformLocation.pathname),this._platformLocation.replaceState(e,t,l)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(e=0){this._platformLocation.historyGo?.(e)}static{this.\u0275fac=function(t){return new(t||i)(Ce(Fr),Ce(Yo,8))}}static{this.\u0275prov=De({token:i,factory:i.\u0275fac})}}return i})(),di=(()=>{class i{constructor(e){this._subject=new vt,this._urlChangeListeners=[],this._urlChangeSubscription=null,this._locationStrategy=e;let t=this._locationStrategy.getBaseHref();this._basePath=Ll(Bo(_o(t))),this._locationStrategy.onPopState(r=>{this._subject.emit({url:this.path(!0),pop:!0,state:r.state,type:r.type})})}ngOnDestroy(){this._urlChangeSubscription?.unsubscribe(),this._urlChangeListeners=[]}path(e=!1){return this.normalize(this._locationStrategy.path(e))}getState(){return this._locationStrategy.getState()}isCurrentPathEqualTo(e,t=""){return this.path()==this.normalize(e+kt(t))}normalize(e){return i.stripTrailingSlash(Il(this._basePath,_o(e)))}prepareExternalUrl(e){return e&&e[0]!=="/"&&(e="/"+e),this._locationStrategy.prepareExternalUrl(e)}go(e,t="",r=null){this._locationStrategy.pushState(r,"",e,t),this._notifyUrlChangeListeners(this.prepareExternalUrl(e+kt(t)),r)}replaceState(e,t="",r=null){this._locationStrategy.replaceState(r,"",e,t),this._notifyUrlChangeListeners(this.prepareExternalUrl(e+kt(t)),r)}forward(){this._locationStrategy.forward()}back(){this._locationStrategy.back()}historyGo(e=0){this._locationStrategy.historyGo?.(e)}onUrlChange(e){return this._urlChangeListeners.push(e),this._urlChangeSubscription??=this.subscribe(t=>{this._notifyUrlChangeListeners(t.url,t.state)}),()=>{let t=this._urlChangeListeners.indexOf(e);this._urlChangeListeners.splice(t,1),this._urlChangeListeners.length===0&&(this._urlChangeSubscription?.unsubscribe(),this._urlChangeSubscription=null)}}_notifyUrlChangeListeners(e="",t){this._urlChangeListeners.forEach(r=>r(e,t))}subscribe(e,t,r){return this._subject.subscribe({next:e,error:t,complete:r})}static{this.normalizeQueryParams=kt}static{this.joinWithSlash=Nr}static{this.stripTrailingSlash=Bo}static{this.\u0275fac=function(t){return new(t||i)(Ce(xt))}}static{this.\u0275prov=De({token:i,factory:()=>Ol(),providedIn:"root"})}}return i})();function Ol(){return new di(Ce(xt))}function Il(i,s){if(!i||!s.startsWith(i))return s;let e=s.substring(i.length);return e===""||["/",";","?","#"].includes(e[0])?e:s}function _o(i){return i.replace(/\/index.html$/,"")}function Ll(i){if(new RegExp("^(https?:)?//").test(i)){let[,e]=i.split(/\/\/[^\/]+/);return e}return i}var Qe=function(i){return i[i.Format=0]="Format",i[i.Standalone=1]="Standalone",i}(Qe||{}),Ie=function(i){return i[i.Narrow=0]="Narrow",i[i.Abbreviated=1]="Abbreviated",i[i.Wide=2]="Wide",i[i.Short=3]="Short",i}(Ie||{}),nt=function(i){return i[i.Short=0]="Short",i[i.Medium=1]="Medium",i[i.Long=2]="Long",i[i.Full=3]="Full",i}(nt||{}),Ut={Decimal:0,Group:1,List:2,PercentSign:3,PlusSign:4,MinusSign:5,Exponential:6,SuperscriptingExponent:7,PerMille:8,Infinity:9,NaN:10,TimeSeparator:11,CurrencyDecimal:12,CurrencyGroup:13};function Fl(i){return ut(i)[$e.LocaleId]}function Nl(i,s,e){let t=ut(i),r=[t[$e.DayPeriodsFormat],t[$e.DayPeriodsStandalone]],a=pt(r,s);return pt(a,e)}function jl(i,s,e){let t=ut(i),r=[t[$e.DaysFormat],t[$e.DaysStandalone]],a=pt(r,s);return pt(a,e)}function Bl(i,s,e){let t=ut(i),r=[t[$e.MonthsFormat],t[$e.MonthsStandalone]],a=pt(r,s);return pt(a,e)}function _l(i,s){let t=ut(i)[$e.Eras];return pt(t,s)}function ws(i,s){let e=ut(i);return pt(e[$e.DateFormat],s)}function Cs(i,s){let e=ut(i);return pt(e[$e.TimeFormat],s)}function Ds(i,s){let t=ut(i)[$e.DateTimeFormat];return pt(t,s)}function Rs(i,s){let e=ut(i),t=e[$e.NumberSymbols][s];if(typeof t>"u"){if(s===Ut.CurrencyDecimal)return e[$e.NumberSymbols][Ut.Decimal];if(s===Ut.CurrencyGroup)return e[$e.NumberSymbols][Ut.Group]}return t}function qo(i){if(!i[$e.ExtraData])throw new Error(`Missing extra locale data for the locale "${i[$e.LocaleId]}". Use "registerLocaleData" to load new data. See the "I18n guide" on angular.io to know more.`)}function zl(i){let s=ut(i);return qo(s),(s[$e.ExtraData][2]||[]).map(t=>typeof t=="string"?Mr(t):[Mr(t[0]),Mr(t[1])])}function Ul(i,s,e){let t=ut(i);qo(t);let r=[t[$e.ExtraData][0],t[$e.ExtraData][1]],a=pt(r,s)||[];return pt(a,e)||[]}function pt(i,s){for(let e=s;e>-1;e--)if(typeof i[e]<"u")return i[e];throw new Error("Locale data API: locale data undefined")}function Mr(i){let[s,e]=i.split(":");return{hours:+s,minutes:+e}}var $l=/^(\d{4,})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/,Ss={},Hl=/((?:[^BEGHLMOSWYZabcdhmswyz']+)|(?:'(?:[^']|'')*')|(?:G{1,5}|y{1,4}|Y{1,4}|M{1,5}|L{1,5}|w{1,2}|W{1}|d{1,2}|E{1,6}|c{1,6}|a{1,5}|b{1,5}|B{1,5}|h{1,2}|H{1,2}|m{1,2}|s{1,2}|S{1,3}|z{1,4}|Z{1,5}|O{1,4}))([\s\S]*)/,Pt=function(i){return i[i.Short=0]="Short",i[i.ShortGMT=1]="ShortGMT",i[i.Long=2]="Long",i[i.Extended=3]="Extended",i}(Pt||{}),Re=function(i){return i[i.FullYear=0]="FullYear",i[i.Month=1]="Month",i[i.Date=2]="Date",i[i.Hours=3]="Hours",i[i.Minutes=4]="Minutes",i[i.Seconds=5]="Seconds",i[i.FractionalSeconds=6]="FractionalSeconds",i[i.Day=7]="Day",i}(Re||{}),Pe=function(i){return i[i.DayPeriods=0]="DayPeriods",i[i.Days=1]="Days",i[i.Months=2]="Months",i[i.Eras=3]="Eras",i}(Pe||{});function Gl(i,s,e,t){let r=Ql(i);s=Tt(e,s)||s;let l=[],_;for(;s;)if(_=Hl.exec(s),_){l=l.concat(_.slice(1));let G=l.pop();if(!G)break;s=G}else{l.push(s);break}let O=r.getTimezoneOffset();t&&(O=Ko(t,O),r=Jl(r,t,!0));let te="";return l.forEach(G=>{let X=Zl(G);te+=X?X(r,e,O):G==="''"?"'":G.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),te}function Ps(i,s,e){let t=new Date(0);return t.setFullYear(i,s,e),t.setHours(0,0,0),t}function Tt(i,s){let e=Fl(i);if(Ss[e]??={},Ss[e][s])return Ss[e][s];let t="";switch(s){case"shortDate":t=ws(i,nt.Short);break;case"mediumDate":t=ws(i,nt.Medium);break;case"longDate":t=ws(i,nt.Long);break;case"fullDate":t=ws(i,nt.Full);break;case"shortTime":t=Cs(i,nt.Short);break;case"mediumTime":t=Cs(i,nt.Medium);break;case"longTime":t=Cs(i,nt.Long);break;case"fullTime":t=Cs(i,nt.Full);break;case"short":let r=Tt(i,"shortTime"),a=Tt(i,"shortDate");t=As(Ds(i,nt.Short),[r,a]);break;case"medium":let l=Tt(i,"mediumTime"),_=Tt(i,"mediumDate");t=As(Ds(i,nt.Medium),[l,_]);break;case"long":let O=Tt(i,"longTime"),te=Tt(i,"longDate");t=As(Ds(i,nt.Long),[O,te]);break;case"full":let G=Tt(i,"fullTime"),X=Tt(i,"fullDate");t=As(Ds(i,nt.Full),[G,X]);break}return t&&(Ss[e][s]=t),t}function As(i,s){return s&&(i=i.replace(/\{([^}]+)}/g,function(e,t){return s!=null&&t in s?s[t]:e})),i}function gt(i,s,e="-",t,r){let a="";(i<0||r&&i<=0)&&(r?i=-i+1:(i=-i,a=e));let l=String(i);for(;l.length0||_>-e)&&(_+=e),i===Re.Hours)_===0&&e===-12&&(_=12);else if(i===Re.FractionalSeconds)return Wl(_,s);let O=Rs(l,Ut.MinusSign);return gt(_,s,O,t,r)}}function Vl(i,s){switch(i){case Re.FullYear:return s.getFullYear();case Re.Month:return s.getMonth();case Re.Date:return s.getDate();case Re.Hours:return s.getHours();case Re.Minutes:return s.getMinutes();case Re.Seconds:return s.getSeconds();case Re.FractionalSeconds:return s.getMilliseconds();case Re.Day:return s.getDay();default:throw new Error(`Unknown DateType value "${i}".`)}}function Ne(i,s,e=Qe.Format,t=!1){return function(r,a){return Xl(r,a,i,s,e,t)}}function Xl(i,s,e,t,r,a){switch(e){case Pe.Months:return Bl(s,r,t)[i.getMonth()];case Pe.Days:return jl(s,r,t)[i.getDay()];case Pe.DayPeriods:let l=i.getHours(),_=i.getMinutes();if(a){let te=zl(s),G=Ul(s,r,t),X=te.findIndex(J=>{if(Array.isArray(J)){let[A,$]=J,j=l>=A.hours&&_>=A.minutes,F=l<$.hours||l===$.hours&&_<$.minutes;if(A.hours<$.hours){if(j&&F)return!0}else if(j||F)return!0}else if(J.hours===l&&J.minutes===_)return!0;return!1});if(X!==-1)return G[X]}return Nl(s,r,t)[l<12?0:1];case Pe.Eras:return _l(s,t)[i.getFullYear()<=0?0:1];default:let O=e;throw new Error(`unexpected translation type ${O}`)}}function Es(i){return function(s,e,t){let r=-1*t,a=Rs(e,Ut.MinusSign),l=r>0?Math.floor(r/60):Math.ceil(r/60);switch(i){case Pt.Short:return(r>=0?"+":"")+gt(l,2,a)+gt(Math.abs(r%60),2,a);case Pt.ShortGMT:return"GMT"+(r>=0?"+":"")+gt(l,1,a);case Pt.Long:return"GMT"+(r>=0?"+":"")+gt(l,2,a)+":"+gt(Math.abs(r%60),2,a);case Pt.Extended:return t===0?"Z":(r>=0?"+":"")+gt(l,2,a)+":"+gt(Math.abs(r%60),2,a);default:throw new Error(`Unknown zone width "${i}"`)}}}var Yl=0,Ts=4;function ql(i){let s=Ps(i,Yl,1).getDay();return Ps(i,0,1+(s<=Ts?Ts:Ts+7)-s)}function Zo(i){let s=i.getDay(),e=s===0?-3:Ts-s;return Ps(i.getFullYear(),i.getMonth(),i.getDate()+e)}function Tr(i,s=!1){return function(e,t){let r;if(s){let a=new Date(e.getFullYear(),e.getMonth(),1).getDay()-1,l=e.getDate();r=1+Math.floor((l+a)/7)}else{let a=Zo(e),l=ql(a.getFullYear()),_=a.getTime()-l.getTime();r=1+Math.round(_/6048e5)}return gt(r,i,Rs(t,Ut.MinusSign))}}function Ms(i,s=!1){return function(e,t){let a=Zo(e).getFullYear();return gt(a,i,Rs(t,Ut.MinusSign),s)}}var kr={};function Zl(i){if(kr[i])return kr[i];let s;switch(i){case"G":case"GG":case"GGG":s=Ne(Pe.Eras,Ie.Abbreviated);break;case"GGGG":s=Ne(Pe.Eras,Ie.Wide);break;case"GGGGG":s=Ne(Pe.Eras,Ie.Narrow);break;case"y":s=He(Re.FullYear,1,0,!1,!0);break;case"yy":s=He(Re.FullYear,2,0,!0,!0);break;case"yyy":s=He(Re.FullYear,3,0,!1,!0);break;case"yyyy":s=He(Re.FullYear,4,0,!1,!0);break;case"Y":s=Ms(1);break;case"YY":s=Ms(2,!0);break;case"YYY":s=Ms(3);break;case"YYYY":s=Ms(4);break;case"M":case"L":s=He(Re.Month,1,1);break;case"MM":case"LL":s=He(Re.Month,2,1);break;case"MMM":s=Ne(Pe.Months,Ie.Abbreviated);break;case"MMMM":s=Ne(Pe.Months,Ie.Wide);break;case"MMMMM":s=Ne(Pe.Months,Ie.Narrow);break;case"LLL":s=Ne(Pe.Months,Ie.Abbreviated,Qe.Standalone);break;case"LLLL":s=Ne(Pe.Months,Ie.Wide,Qe.Standalone);break;case"LLLLL":s=Ne(Pe.Months,Ie.Narrow,Qe.Standalone);break;case"w":s=Tr(1);break;case"ww":s=Tr(2);break;case"W":s=Tr(1,!0);break;case"d":s=He(Re.Date,1);break;case"dd":s=He(Re.Date,2);break;case"c":case"cc":s=He(Re.Day,1);break;case"ccc":s=Ne(Pe.Days,Ie.Abbreviated,Qe.Standalone);break;case"cccc":s=Ne(Pe.Days,Ie.Wide,Qe.Standalone);break;case"ccccc":s=Ne(Pe.Days,Ie.Narrow,Qe.Standalone);break;case"cccccc":s=Ne(Pe.Days,Ie.Short,Qe.Standalone);break;case"E":case"EE":case"EEE":s=Ne(Pe.Days,Ie.Abbreviated);break;case"EEEE":s=Ne(Pe.Days,Ie.Wide);break;case"EEEEE":s=Ne(Pe.Days,Ie.Narrow);break;case"EEEEEE":s=Ne(Pe.Days,Ie.Short);break;case"a":case"aa":case"aaa":s=Ne(Pe.DayPeriods,Ie.Abbreviated);break;case"aaaa":s=Ne(Pe.DayPeriods,Ie.Wide);break;case"aaaaa":s=Ne(Pe.DayPeriods,Ie.Narrow);break;case"b":case"bb":case"bbb":s=Ne(Pe.DayPeriods,Ie.Abbreviated,Qe.Standalone,!0);break;case"bbbb":s=Ne(Pe.DayPeriods,Ie.Wide,Qe.Standalone,!0);break;case"bbbbb":s=Ne(Pe.DayPeriods,Ie.Narrow,Qe.Standalone,!0);break;case"B":case"BB":case"BBB":s=Ne(Pe.DayPeriods,Ie.Abbreviated,Qe.Format,!0);break;case"BBBB":s=Ne(Pe.DayPeriods,Ie.Wide,Qe.Format,!0);break;case"BBBBB":s=Ne(Pe.DayPeriods,Ie.Narrow,Qe.Format,!0);break;case"h":s=He(Re.Hours,1,-12);break;case"hh":s=He(Re.Hours,2,-12);break;case"H":s=He(Re.Hours,1);break;case"HH":s=He(Re.Hours,2);break;case"m":s=He(Re.Minutes,1);break;case"mm":s=He(Re.Minutes,2);break;case"s":s=He(Re.Seconds,1);break;case"ss":s=He(Re.Seconds,2);break;case"S":s=He(Re.FractionalSeconds,1);break;case"SS":s=He(Re.FractionalSeconds,2);break;case"SSS":s=He(Re.FractionalSeconds,3);break;case"Z":case"ZZ":case"ZZZ":s=Es(Pt.Short);break;case"ZZZZZ":s=Es(Pt.Extended);break;case"O":case"OO":case"OOO":case"z":case"zz":case"zzz":s=Es(Pt.ShortGMT);break;case"OOOO":case"ZZZZ":case"zzzz":s=Es(Pt.Long);break;default:return null}return kr[i]=s,s}function Ko(i,s){i=i.replace(/:/g,"");let e=Date.parse("Jan 01, 1970 00:00:00 "+i)/6e4;return isNaN(e)?s:e}function Kl(i,s){return i=new Date(i.getTime()),i.setMinutes(i.getMinutes()+s),i}function Jl(i,s,e){let t=e?-1:1,r=i.getTimezoneOffset(),a=Ko(s,r);return Kl(i,t*(a-r))}function Ql(i){if(zo(i))return i;if(typeof i=="number"&&!isNaN(i))return new Date(i);if(typeof i=="string"){if(i=i.trim(),/^(\d{4}(-\d{1,2}(-\d{1,2})?)?)$/.test(i)){let[r,a=1,l=1]=i.split("-").map(_=>+_);return Ps(r,a-1,l)}let e=parseFloat(i);if(!isNaN(i-e))return new Date(e);let t;if(t=i.match($l))return eh(t)}let s=new Date(i);if(!zo(s))throw new Error(`Unable to convert "${i}" into a date`);return s}function eh(i){let s=new Date(0),e=0,t=0,r=i[8]?s.setUTCFullYear:s.setFullYear,a=i[8]?s.setUTCHours:s.setHours;i[9]&&(e=Number(i[9]+i[10]),t=Number(i[9]+i[11])),r.call(s,Number(i[1]),Number(i[2])-1,Number(i[3]));let l=Number(i[4]||0)-e,_=Number(i[5]||0)-t,O=Number(i[6]||0),te=Math.floor(parseFloat("0."+(i[7]||0))*1e3);return a.call(s,l,_,O,te),s}function zo(i){return i instanceof Date&&!isNaN(i.valueOf())}function Os(i,s){s=encodeURIComponent(s);for(let e of i.split(";")){let t=e.indexOf("="),[r,a]=t==-1?[e,""]:[e.slice(0,t),e.slice(t+1)];if(r.trim()===s)return decodeURIComponent(a)}return null}var Pr=/\s+/,Uo=[],ju=(()=>{class i{constructor(e,t){this._ngEl=e,this._renderer=t,this.initialClasses=Uo,this.stateMap=new Map}set klass(e){this.initialClasses=e!=null?e.trim().split(Pr):Uo}set ngClass(e){this.rawClass=typeof e=="string"?e.trim().split(Pr):e}ngDoCheck(){for(let t of this.initialClasses)this._updateState(t,!0);let e=this.rawClass;if(Array.isArray(e)||e instanceof Set)for(let t of e)this._updateState(t,!0);else if(e!=null)for(let t of Object.keys(e))this._updateState(t,!!e[t]);this._applyStateDiff()}_updateState(e,t){let r=this.stateMap.get(e);r!==void 0?(r.enabled!==t&&(r.changed=!0,r.enabled=t),r.touched=!0):this.stateMap.set(e,{enabled:t,changed:!0,touched:!0})}_applyStateDiff(){for(let e of this.stateMap){let t=e[0],r=e[1];r.changed?(this._toggleClass(t,r.enabled),r.changed=!1):r.touched||(r.enabled&&this._toggleClass(t,!1),this.stateMap.delete(t)),r.touched=!1}}_toggleClass(e,t){e=e.trim(),e.length>0&&e.split(Pr).forEach(r=>{t?this._renderer.addClass(this._ngEl.nativeElement,r):this._renderer.removeClass(this._ngEl.nativeElement,r)})}static{this.\u0275fac=function(t){return new(t||i)(Ue(Kt),Ue(ei))}}static{this.\u0275dir=Et({type:i,selectors:[["","ngClass",""]],inputs:{klass:[0,"class","klass"],ngClass:"ngClass"},standalone:!0})}}return i})(),Bu=(()=>{class i{constructor(e){this._viewContainerRef=e,this.ngComponentOutlet=null,this._inputsUsed=new Map}_needToReCreateNgModuleInstance(e){return e.ngComponentOutletNgModule!==void 0||e.ngComponentOutletNgModuleFactory!==void 0}_needToReCreateComponentInstance(e){return e.ngComponentOutlet!==void 0||e.ngComponentOutletContent!==void 0||e.ngComponentOutletInjector!==void 0||this._needToReCreateNgModuleInstance(e)}ngOnChanges(e){if(this._needToReCreateComponentInstance(e)&&(this._viewContainerRef.clear(),this._inputsUsed.clear(),this._componentRef=void 0,this.ngComponentOutlet)){let t=this.ngComponentOutletInjector||this._viewContainerRef.parentInjector;this._needToReCreateNgModuleInstance(e)&&(this._moduleRef?.destroy(),this.ngComponentOutletNgModule?this._moduleRef=So(this.ngComponentOutletNgModule,$o(t)):this.ngComponentOutletNgModuleFactory?this._moduleRef=this.ngComponentOutletNgModuleFactory.create($o(t)):this._moduleRef=void 0),this._componentRef=this._viewContainerRef.createComponent(this.ngComponentOutlet,{injector:t,ngModuleRef:this._moduleRef,projectableNodes:this.ngComponentOutletContent})}}ngDoCheck(){if(this._componentRef){if(this.ngComponentOutletInputs)for(let e of Object.keys(this.ngComponentOutletInputs))this._inputsUsed.set(e,!0);this._applyInputStateDiff(this._componentRef)}}ngOnDestroy(){this._moduleRef?.destroy()}_applyInputStateDiff(e){for(let[t,r]of this._inputsUsed)r?(e.setInput(t,this.ngComponentOutletInputs[t]),this._inputsUsed.set(t,!1)):(e.setInput(t,void 0),this._inputsUsed.delete(t))}static{this.\u0275fac=function(t){return new(t||i)(Ue(Ri))}}static{this.\u0275dir=Et({type:i,selectors:[["","ngComponentOutlet",""]],inputs:{ngComponentOutlet:"ngComponentOutlet",ngComponentOutletInputs:"ngComponentOutletInputs",ngComponentOutletInjector:"ngComponentOutletInjector",ngComponentOutletContent:"ngComponentOutletContent",ngComponentOutletNgModule:"ngComponentOutletNgModule",ngComponentOutletNgModuleFactory:"ngComponentOutletNgModuleFactory"},standalone:!0,features:[Zt]})}}return i})();function $o(i){return i.get(Co).injector}var _u=(()=>{class i{constructor(e,t,r){this._ngEl=e,this._differs=t,this._renderer=r,this._ngStyle=null,this._differ=null}set ngStyle(e){this._ngStyle=e,!this._differ&&e&&(this._differ=this._differs.find(e).create())}ngDoCheck(){if(this._differ){let e=this._differ.diff(this._ngStyle);e&&this._applyChanges(e)}}_setStyle(e,t){let[r,a]=e.split("."),l=r.indexOf("-")===-1?void 0:Qt.DashCase;t!=null?this._renderer.setStyle(this._ngEl.nativeElement,r,a?`${t}${a}`:t,l):this._renderer.removeStyle(this._ngEl.nativeElement,r,l)}_applyChanges(e){e.forEachRemovedItem(t=>this._setStyle(t.key,null)),e.forEachAddedItem(t=>this._setStyle(t.key,t.currentValue)),e.forEachChangedItem(t=>this._setStyle(t.key,t.currentValue))}static{this.\u0275fac=function(t){return new(t||i)(Ue(Kt),Ue(Lo),Ue(ei))}}static{this.\u0275dir=Et({type:i,selectors:[["","ngStyle",""]],inputs:{ngStyle:"ngStyle"},standalone:!0})}}return i})(),zu=(()=>{class i{constructor(e){this._viewContainerRef=e,this._viewRef=null,this.ngTemplateOutletContext=null,this.ngTemplateOutlet=null,this.ngTemplateOutletInjector=null}ngOnChanges(e){if(this._shouldRecreateView(e)){let t=this._viewContainerRef;if(this._viewRef&&t.remove(t.indexOf(this._viewRef)),!this.ngTemplateOutlet){this._viewRef=null;return}let r=this._createContextForwardProxy();this._viewRef=t.createEmbeddedView(this.ngTemplateOutlet,r,{injector:this.ngTemplateOutletInjector??void 0})}}_shouldRecreateView(e){return!!e.ngTemplateOutlet||!!e.ngTemplateOutletInjector}_createContextForwardProxy(){return new Proxy({},{set:(e,t,r)=>this.ngTemplateOutletContext?Reflect.set(this.ngTemplateOutletContext,t,r):!1,get:(e,t,r)=>{if(this.ngTemplateOutletContext)return Reflect.get(this.ngTemplateOutletContext,t,r)}})}static{this.\u0275fac=function(t){return new(t||i)(Ue(Ri))}}static{this.\u0275dir=Et({type:i,selectors:[["","ngTemplateOutlet",""]],inputs:{ngTemplateOutletContext:"ngTemplateOutletContext",ngTemplateOutlet:"ngTemplateOutlet",ngTemplateOutletInjector:"ngTemplateOutletInjector"},standalone:!0,features:[Zt]})}}return i})();function Jo(i,s){return new Fe(2100,!1)}var Rr=class{createSubscription(s,e){return Er(()=>s.subscribe({next:e,error:t=>{throw t}}))}dispose(s){Er(()=>s.unsubscribe())}},Or=class{createSubscription(s,e){return s.then(e,t=>{throw t})}dispose(s){}},th=new Or,ih=new Rr,Uu=(()=>{class i{constructor(e){this._latestValue=null,this.markForCheckOnValueUpdate=!0,this._subscription=null,this._obj=null,this._strategy=null,this._ref=e}ngOnDestroy(){this._subscription&&this._dispose(),this._ref=null}transform(e){if(!this._obj){if(e)try{this.markForCheckOnValueUpdate=!1,this._subscribe(e)}finally{this.markForCheckOnValueUpdate=!0}return this._latestValue}return e!==this._obj?(this._dispose(),this.transform(e)):this._latestValue}_subscribe(e){this._obj=e,this._strategy=this._selectStrategy(e),this._subscription=this._strategy.createSubscription(e,t=>this._updateLatestValue(e,t))}_selectStrategy(e){if(ys(e))return th;if(Oo(e))return ih;throw Jo(i,e)}_dispose(){this._strategy.dispose(this._subscription),this._latestValue=null,this._subscription=null,this._obj=null}_updateLatestValue(e,t){e===this._obj&&(this._latestValue=t,this.markForCheckOnValueUpdate&&this._ref?.markForCheck())}static{this.\u0275fac=function(t){return new(t||i)(Ue(ti,16))}}static{this.\u0275pipe=Ti({name:"async",type:i,pure:!1,standalone:!0})}}return i})();var sh="mediumDate",rh=new Te(""),nh=new Te(""),$u=(()=>{class i{constructor(e,t,r){this.locale=e,this.defaultTimezone=t,this.defaultOptions=r}transform(e,t,r,a){if(e==null||e===""||e!==e)return null;try{let l=t??this.defaultOptions?.dateFormat??sh,_=r??this.defaultOptions?.timezone??this.defaultTimezone??void 0;return Gl(e,l,a||this.locale,_)}catch(l){throw Jo(i,l.message)}}static{this.\u0275fac=function(t){return new(t||i)(Ue(Io,16),Ue(rh,24),Ue(nh,24))}}static{this.\u0275pipe=Ti({name:"date",type:i,pure:!0,standalone:!0})}}return i})();var Qo=(()=>{class i{static{this.\u0275fac=function(t){return new(t||i)}}static{this.\u0275mod=Yt({type:i})}static{this.\u0275inj=Xt({})}}return i})(),_r="browser",oh="server";function ah(i){return i===_r}function Oi(i){return i===oh}var ea=(()=>{class i{static{this.\u0275prov=De({token:i,providedIn:"root",factory:()=>ah(xe(bt))?new Ir(xe(We),window):new Lr})}}return i})(),Ir=class{constructor(s,e){this.document=s,this.window=e,this.offset=()=>[0,0]}setOffset(s){Array.isArray(s)?this.offset=()=>s:this.offset=s}getScrollPosition(){return[this.window.scrollX,this.window.scrollY]}scrollToPosition(s){this.window.scrollTo(s[0],s[1])}scrollToAnchor(s){let e=lh(this.document,s);e&&(this.scrollToElement(e),e.focus())}setHistoryScrollRestoration(s){this.window.history.scrollRestoration=s}scrollToElement(s){let e=s.getBoundingClientRect(),t=e.left+this.window.pageXOffset,r=e.top+this.window.pageYOffset,a=this.offset();this.window.scrollTo(t-a[0],r-a[1])}};function lh(i,s){let e=i.getElementById(s)||i.getElementsByName(s)[0];if(e)return e;if(typeof i.createTreeWalker=="function"&&i.body&&typeof i.body.attachShadow=="function"){let t=i.createTreeWalker(i.body,NodeFilter.SHOW_ELEMENT),r=t.currentNode;for(;r;){let a=r.shadowRoot;if(a){let l=a.getElementById(s)||a.querySelector(`[name="${s}"]`);if(l)return l}r=t.nextNode()}}return null}var Lr=class{setOffset(s){}getScrollPosition(){return[0,0]}scrollToPosition(s){}scrollToAnchor(s){}setHistoryScrollRestoration(s){}},ci=class{};var ta=i=>i.src,hh=new Te("",{providedIn:"root",factory:()=>ta});var ch=new Te("NG_OPTIMIZED_PRELOADED_IMAGES",{providedIn:"root",factory:()=>new Set}),dh=(()=>{class i{constructor(){this.preloadedImages=xe(ch),this.document=xe(We)}createPreloadLinkTag(e,t,r,a){if(this.preloadedImages.has(t))return;this.preloadedImages.add(t);let l=e.createElement("link");e.setAttribute(l,"as","image"),e.setAttribute(l,"href",t),e.setAttribute(l,"rel","preload"),e.setAttribute(l,"fetchpriority","high"),a&&e.setAttribute(l,"imageSizes",a),r&&e.setAttribute(l,"imageSrcset",r),e.appendChild(this.document.head,l)}static{this.\u0275fac=function(t){return new(t||i)}}static{this.\u0275prov=De({token:i,factory:i.\u0275fac,providedIn:"root"})}}return i})();var uh=/^((\s*\d+w\s*(,|$)){1,})$/;var ph=[1,2],fh=640;var gh=1920,mh=1080;var Hu=(()=>{class i{constructor(){this.imageLoader=xe(hh),this.config=yh(xe(co)),this.renderer=xe(ei),this.imgElement=xe(Kt).nativeElement,this.injector=xe(Pi),this.isServer=Oi(xe(bt)),this.preloadLinkCreator=xe(dh),this.lcpObserver=null,this._renderedSrc=null,this.priority=!1,this.disableOptimizedSrcset=!1,this.fill=!1}ngOnInit(){wr("NgOptimizedImage"),this.placeholder&&this.removePlaceholderOnLoad(this.imgElement),this.setHostAttributes()}setHostAttributes(){this.fill?this.sizes||="100vw":(this.setHostAttribute("width",this.width.toString()),this.setHostAttribute("height",this.height.toString())),this.setHostAttribute("loading",this.getLoadingBehavior()),this.setHostAttribute("fetchpriority",this.getFetchPriority()),this.setHostAttribute("ng-img","true");let e=this.updateSrcAndSrcset();this.sizes&&this.setHostAttribute("sizes",this.sizes),this.isServer&&this.priority&&this.preloadLinkCreator.createPreloadLinkTag(this.renderer,this.getRewrittenSrc(),e,this.sizes)}ngOnChanges(e){if(e.ngSrc&&!e.ngSrc.isFirstChange()){let t=this._renderedSrc;this.updateSrcAndSrcset(!0);let r=this._renderedSrc;this.lcpObserver!==null&&t&&r&&t!==r&&this.injector.get(tt).runOutsideAngular(()=>{this.lcpObserver?.updateImage(t,r)})}}callImageLoader(e){let t=e;return this.loaderParams&&(t.loaderParams=this.loaderParams),this.imageLoader(t)}getLoadingBehavior(){return!this.priority&&this.loading!==void 0?this.loading:this.priority?"eager":"lazy"}getFetchPriority(){return this.priority?"high":"auto"}getRewrittenSrc(){if(!this._renderedSrc){let e={src:this.ngSrc};this._renderedSrc=this.callImageLoader(e)}return this._renderedSrc}getRewrittenSrcset(){let e=uh.test(this.ngSrcset);return this.ngSrcset.split(",").filter(r=>r!=="").map(r=>{r=r.trim();let a=e?parseFloat(r):parseFloat(r)*this.width;return`${this.callImageLoader({src:this.ngSrc,width:a})} ${r}`}).join(", ")}getAutomaticSrcset(){return this.sizes?this.getResponsiveSrcset():this.getFixedSrcset()}getResponsiveSrcset(){let{breakpoints:e}=this.config,t=e;return this.sizes?.trim()==="100vw"&&(t=e.filter(a=>a>=fh)),t.map(a=>`${this.callImageLoader({src:this.ngSrc,width:a})} ${a}w`).join(", ")}updateSrcAndSrcset(e=!1){e&&(this._renderedSrc=null);let t=this.getRewrittenSrc();this.setHostAttribute("src",t);let r;return this.ngSrcset?r=this.getRewrittenSrcset():this.shouldGenerateAutomaticSrcset()&&(r=this.getAutomaticSrcset()),r&&this.setHostAttribute("srcset",r),r}getFixedSrcset(){return ph.map(t=>`${this.callImageLoader({src:this.ngSrc,width:this.width*t})} ${t}x`).join(", ")}shouldGenerateAutomaticSrcset(){let e=!1;return this.sizes||(e=this.width>gh||this.height>mh),!this.disableOptimizedSrcset&&!this.srcset&&this.imageLoader!==ta&&!e}generatePlaceholder(e){let{placeholderResolution:t}=this.config;return e===!0?`url(${this.callImageLoader({src:this.ngSrc,width:t,isPlaceholder:!0})})`:typeof e=="string"?`url(${e})`:null}shouldBlurPlaceholder(e){return!e||!e.hasOwnProperty("blur")?!0:!!e.blur}removePlaceholderOnLoad(e){let t=()=>{let l=this.injector.get(ti);r(),a(),this.placeholder=!1,l.markForCheck()},r=this.renderer.listen(e,"load",t),a=this.renderer.listen(e,"error",t);vh(e,t)}ngOnDestroy(){}setHostAttribute(e,t){this.renderer.setAttribute(this.imgElement,e,t)}static{this.\u0275fac=function(t){return new(t||i)}}static{this.\u0275dir=Et({type:i,selectors:[["img","ngSrc",""]],hostVars:18,hostBindings:function(t,r){t&2&&Mo("position",r.fill?"absolute":null)("width",r.fill?"100%":null)("height",r.fill?"100%":null)("inset",r.fill?"0":null)("background-size",r.placeholder?"cover":null)("background-position",r.placeholder?"50% 50%":null)("background-repeat",r.placeholder?"no-repeat":null)("background-image",r.placeholder?r.generatePlaceholder(r.placeholder):null)("filter",r.placeholder&&r.shouldBlurPlaceholder(r.placeholderConfig)?"blur(15px)":null)},inputs:{ngSrc:[2,"ngSrc","ngSrc",bh],ngSrcset:"ngSrcset",sizes:"sizes",width:[2,"width","width",Ar],height:[2,"height","height",Ar],loading:"loading",priority:[2,"priority","priority",Mt],loaderParams:"loaderParams",disableOptimizedSrcset:[2,"disableOptimizedSrcset","disableOptimizedSrcset",Mt],fill:[2,"fill","fill",Mt],placeholder:[2,"placeholder","placeholder",xh],placeholderConfig:"placeholderConfig",src:"src",srcset:"srcset"},standalone:!0,features:[ps,Zt]})}}return i})();function yh(i){let s={};return i.breakpoints&&(s.breakpoints=i.breakpoints.sort((e,t)=>e-t)),Object.assign({},ho,i,s)}function vh(i,s){i.complete&&i.naturalWidth&&s()}function bh(i){return typeof i=="string"?i:zt(i)}function xh(i){return typeof i=="string"&&i!=="true"&&i!=="false"&&i!==""?i:Mt(i)}var Li=class{},Fi=class{},Xe=class i{constructor(s){this.normalizedNames=new Map,this.lazyUpdate=null,s?typeof s=="string"?this.lazyInit=()=>{this.headers=new Map,s.split(` +`).forEach(e=>{let t=e.indexOf(":");if(t>0){let r=e.slice(0,t),a=r.toLowerCase(),l=e.slice(t+1).trim();this.maybeSetNormalizedName(r,a),this.headers.has(a)?this.headers.get(a).push(l):this.headers.set(a,[l])}})}:typeof Headers<"u"&&s instanceof Headers?(this.headers=new Map,s.forEach((e,t)=>{this.setHeaderEntries(t,e)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(s).forEach(([e,t])=>{this.setHeaderEntries(e,t)})}:this.headers=new Map}has(s){return this.init(),this.headers.has(s.toLowerCase())}get(s){this.init();let e=this.headers.get(s.toLowerCase());return e&&e.length>0?e[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(s){return this.init(),this.headers.get(s.toLowerCase())||null}append(s,e){return this.clone({name:s,value:e,op:"a"})}set(s,e){return this.clone({name:s,value:e,op:"s"})}delete(s,e){return this.clone({name:s,value:e,op:"d"})}maybeSetNormalizedName(s,e){this.normalizedNames.has(e)||this.normalizedNames.set(e,s)}init(){this.lazyInit&&(this.lazyInit instanceof i?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(s=>this.applyUpdate(s)),this.lazyUpdate=null))}copyFrom(s){s.init(),Array.from(s.headers.keys()).forEach(e=>{this.headers.set(e,s.headers.get(e)),this.normalizedNames.set(e,s.normalizedNames.get(e))})}clone(s){let e=new i;return e.lazyInit=this.lazyInit&&this.lazyInit instanceof i?this.lazyInit:this,e.lazyUpdate=(this.lazyUpdate||[]).concat([s]),e}applyUpdate(s){let e=s.name.toLowerCase();switch(s.op){case"a":case"s":let t=s.value;if(typeof t=="string"&&(t=[t]),t.length===0)return;this.maybeSetNormalizedName(s.name,e);let r=(s.op==="a"?this.headers.get(e):void 0)||[];r.push(...t),this.headers.set(e,r);break;case"d":let a=s.value;if(!a)this.headers.delete(e),this.normalizedNames.delete(e);else{let l=this.headers.get(e);if(!l)return;l=l.filter(_=>a.indexOf(_)===-1),l.length===0?(this.headers.delete(e),this.normalizedNames.delete(e)):this.headers.set(e,l)}break}}setHeaderEntries(s,e){let t=(Array.isArray(e)?e:[e]).map(a=>a.toString()),r=s.toLowerCase();this.headers.set(r,t),this.maybeSetNormalizedName(s,r)}forEach(s){this.init(),Array.from(this.normalizedNames.keys()).forEach(e=>s(this.normalizedNames.get(e),this.headers.get(e)))}};var Ur=class{encodeKey(s){return sa(s)}encodeValue(s){return sa(s)}decodeKey(s){return decodeURIComponent(s)}decodeValue(s){return decodeURIComponent(s)}};function wh(i,s){let e=new Map;return i.length>0&&i.replace(/^\?/,"").split("&").forEach(r=>{let a=r.indexOf("="),[l,_]=a==-1?[s.decodeKey(r),""]:[s.decodeKey(r.slice(0,a)),s.decodeValue(r.slice(a+1))],O=e.get(l)||[];O.push(_),e.set(l,O)}),e}var Ch=/%(\d[a-f0-9])/gi,Dh={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function sa(i){return encodeURIComponent(i).replace(Ch,(s,e)=>Dh[e]??s)}function Is(i){return`${i}`}var Ht=class i{constructor(s={}){if(this.updates=null,this.cloneFrom=null,this.encoder=s.encoder||new Ur,s.fromString){if(s.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=wh(s.fromString,this.encoder)}else s.fromObject?(this.map=new Map,Object.keys(s.fromObject).forEach(e=>{let t=s.fromObject[e],r=Array.isArray(t)?t.map(Is):[Is(t)];this.map.set(e,r)})):this.map=null}has(s){return this.init(),this.map.has(s)}get(s){this.init();let e=this.map.get(s);return e?e[0]:null}getAll(s){return this.init(),this.map.get(s)||null}keys(){return this.init(),Array.from(this.map.keys())}append(s,e){return this.clone({param:s,value:e,op:"a"})}appendAll(s){let e=[];return Object.keys(s).forEach(t=>{let r=s[t];Array.isArray(r)?r.forEach(a=>{e.push({param:t,value:a,op:"a"})}):e.push({param:t,value:r,op:"a"})}),this.clone(e)}set(s,e){return this.clone({param:s,value:e,op:"s"})}delete(s,e){return this.clone({param:s,value:e,op:"d"})}toString(){return this.init(),this.keys().map(s=>{let e=this.encoder.encodeKey(s);return this.map.get(s).map(t=>e+"="+this.encoder.encodeValue(t)).join("&")}).filter(s=>s!=="").join("&")}clone(s){let e=new i({encoder:this.encoder});return e.cloneFrom=this.cloneFrom||this,e.updates=(this.updates||[]).concat(s),e}init(){this.map===null&&(this.map=new Map),this.cloneFrom!==null&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(s=>this.map.set(s,this.cloneFrom.map.get(s))),this.updates.forEach(s=>{switch(s.op){case"a":case"s":let e=(s.op==="a"?this.map.get(s.param):void 0)||[];e.push(Is(s.value)),this.map.set(s.param,e);break;case"d":if(s.value!==void 0){let t=this.map.get(s.param)||[],r=t.indexOf(Is(s.value));r!==-1&&t.splice(r,1),t.length>0?this.map.set(s.param,t):this.map.delete(s.param)}else{this.map.delete(s.param);break}}}),this.cloneFrom=this.updates=null)}};var $r=class{constructor(){this.map=new Map}set(s,e){return this.map.set(s,e),this}get(s){return this.map.has(s)||this.map.set(s,s.defaultValue()),this.map.get(s)}delete(s){return this.map.delete(s),this}has(s){return this.map.has(s)}keys(){return this.map.keys()}};function Sh(i){switch(i){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}function ra(i){return typeof ArrayBuffer<"u"&&i instanceof ArrayBuffer}function na(i){return typeof Blob<"u"&&i instanceof Blob}function oa(i){return typeof FormData<"u"&&i instanceof FormData}function Ah(i){return typeof URLSearchParams<"u"&&i instanceof URLSearchParams}var Ii=class i{constructor(s,e,t,r){this.url=e,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=s.toUpperCase();let a;if(Sh(this.method)||r?(this.body=t!==void 0?t:null,a=r):a=t,a&&(this.reportProgress=!!a.reportProgress,this.withCredentials=!!a.withCredentials,a.responseType&&(this.responseType=a.responseType),a.headers&&(this.headers=a.headers),a.context&&(this.context=a.context),a.params&&(this.params=a.params),this.transferCache=a.transferCache),this.headers??=new Xe,this.context??=new $r,!this.params)this.params=new Ht,this.urlWithParams=e;else{let l=this.params.toString();if(l.length===0)this.urlWithParams=e;else{let _=e.indexOf("?"),O=_===-1?"?":_J.set(A,s.setHeaders[A]),te)),s.setParams&&(G=Object.keys(s.setParams).reduce((J,A)=>J.set(A,s.setParams[A]),G)),new i(e,t,l,{params:G,headers:te,context:X,reportProgress:O,responseType:r,withCredentials:_,transferCache:a})}},Gt=function(i){return i[i.Sent=0]="Sent",i[i.UploadProgress=1]="UploadProgress",i[i.ResponseHeader=2]="ResponseHeader",i[i.DownloadProgress=3]="DownloadProgress",i[i.Response=4]="Response",i[i.User=5]="User",i}(Gt||{}),Ni=class{constructor(s,e=200,t="OK"){this.headers=s.headers||new Xe,this.status=s.status!==void 0?s.status:e,this.statusText=s.statusText||t,this.url=s.url||null,this.ok=this.status>=200&&this.status<300}},Ls=class i extends Ni{constructor(s={}){super(s),this.type=Gt.ResponseHeader}clone(s={}){return new i({headers:s.headers||this.headers,status:s.status!==void 0?s.status:this.status,statusText:s.statusText||this.statusText,url:s.url||this.url||void 0})}},ji=class i extends Ni{constructor(s={}){super(s),this.type=Gt.Response,this.body=s.body!==void 0?s.body:null}clone(s={}){return new i({body:s.body!==void 0?s.body:this.body,headers:s.headers||this.headers,status:s.status!==void 0?s.status:this.status,statusText:s.statusText||this.statusText,url:s.url||this.url||void 0})}},$t=class extends Ni{constructor(s){super(s,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.status>=200&&this.status<300?this.message=`Http failure during parsing for ${s.url||"(unknown url)"}`:this.message=`Http failure response for ${s.url||"(unknown url)"}: ${s.status} ${s.statusText}`,this.error=s.error||null}},ca=200,Eh=204;function zr(i,s){return{body:s,headers:i.headers,context:i.context,observe:i.observe,params:i.params,reportProgress:i.reportProgress,responseType:i.responseType,withCredentials:i.withCredentials,transferCache:i.transferCache}}var Vr=(()=>{class i{constructor(e){this.handler=e}request(e,t,r={}){let a;if(e instanceof Ii)a=e;else{let O;r.headers instanceof Xe?O=r.headers:O=new Xe(r.headers);let te;r.params&&(r.params instanceof Ht?te=r.params:te=new Ht({fromObject:r.params})),a=new Ii(e,t,r.body!==void 0?r.body:null,{headers:O,context:r.context,params:te,reportProgress:r.reportProgress,responseType:r.responseType||"json",withCredentials:r.withCredentials,transferCache:r.transferCache})}let l=Se(a).pipe(jt(O=>this.handler.handle(O)));if(e instanceof Ii||r.observe==="events")return l;let _=l.pipe(St(O=>O instanceof ji));switch(r.observe||"body"){case"body":switch(a.responseType){case"arraybuffer":return _.pipe(ke(O=>{if(O.body!==null&&!(O.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return O.body}));case"blob":return _.pipe(ke(O=>{if(O.body!==null&&!(O.body instanceof Blob))throw new Error("Response is not a Blob.");return O.body}));case"text":return _.pipe(ke(O=>{if(O.body!==null&&typeof O.body!="string")throw new Error("Response is not a string.");return O.body}));case"json":default:return _.pipe(ke(O=>O.body))}case"response":return _;default:throw new Error(`Unreachable: unhandled observe type ${r.observe}}`)}}delete(e,t={}){return this.request("DELETE",e,t)}get(e,t={}){return this.request("GET",e,t)}head(e,t={}){return this.request("HEAD",e,t)}jsonp(e,t){return this.request("JSONP",e,{params:new Ht().append(t,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(e,t={}){return this.request("OPTIONS",e,t)}patch(e,t,r={}){return this.request("PATCH",e,zr(r,t))}post(e,t,r={}){return this.request("POST",e,zr(r,t))}put(e,t,r={}){return this.request("PUT",e,zr(r,t))}static{this.\u0275fac=function(t){return new(t||i)(Ce(Li))}}static{this.\u0275prov=De({token:i,factory:i.\u0275fac})}}return i})(),Mh=/^\)\]\}',?\n/,Th="X-Request-URL";function aa(i){if(i.url)return i.url;let s=Th.toLocaleLowerCase();return i.headers.get(s)}var Hr=(()=>{class i{constructor(){this.fetchImpl=xe(Gr,{optional:!0})?.fetch??((...e)=>globalThis.fetch(...e)),this.ngZone=xe(tt)}handle(e){return new Ai(t=>{let r=new AbortController;return this.doRequest(e,r.signal,t).then(Wr,a=>t.error(new $t({error:a}))),()=>r.abort()})}doRequest(e,t,r){return ht(this,null,function*(){let a=this.createRequestInit(e),l;try{let A=this.ngZone.runOutsideAngular(()=>this.fetchImpl(e.urlWithParams,we({signal:t},a)));kh(A),r.next({type:Gt.Sent}),l=yield A}catch(A){r.error(new $t({error:A,status:A.status??0,statusText:A.statusText,url:e.urlWithParams,headers:A.headers}));return}let _=new Xe(l.headers),O=l.statusText,te=aa(l)??e.urlWithParams,G=l.status,X=null;if(e.reportProgress&&r.next(new Ls({headers:_,status:G,statusText:O,url:te})),l.body){let A=l.headers.get("content-length"),$=[],j=l.body.getReader(),F=0,C,M,E=typeof Zone<"u"&&Zone.current;yield this.ngZone.runOutsideAngular(()=>ht(this,null,function*(){for(;;){let{done:y,value:P}=yield j.read();if(y)break;if($.push(P),F+=P.length,e.reportProgress){M=e.responseType==="text"?(M??"")+(C??=new TextDecoder).decode(P,{stream:!0}):void 0;let q=()=>r.next({type:Gt.DownloadProgress,total:A?+A:void 0,loaded:F,partialText:M});E?E.run(q):q()}}}));let L=this.concatChunks($,F);try{let y=l.headers.get("Content-Type")??"";X=this.parseBody(e,L,y)}catch(y){r.error(new $t({error:y,headers:new Xe(l.headers),status:l.status,statusText:l.statusText,url:aa(l)??e.urlWithParams}));return}}G===0&&(G=X?ca:0),G>=200&&G<300?(r.next(new ji({body:X,headers:_,status:G,statusText:O,url:te})),r.complete()):r.error(new $t({error:X,headers:_,status:G,statusText:O,url:te}))})}parseBody(e,t,r){switch(e.responseType){case"json":let a=new TextDecoder().decode(t).replace(Mh,"");return a===""?null:JSON.parse(a);case"text":return new TextDecoder().decode(t);case"blob":return new Blob([t],{type:r});case"arraybuffer":return t.buffer}}createRequestInit(e){let t={},r=e.withCredentials?"include":void 0;if(e.headers.forEach((a,l)=>t[a]=l.join(",")),e.headers.has("Accept")||(t.Accept="application/json, text/plain, */*"),!e.headers.has("Content-Type")){let a=e.detectContentTypeHeader();a!==null&&(t["Content-Type"]=a)}return{body:e.serializeBody(),method:e.method,headers:t,credentials:r}}concatChunks(e,t){let r=new Uint8Array(t),a=0;for(let l of e)r.set(l,a),a+=l.length;return r}static{this.\u0275fac=function(t){return new(t||i)}}static{this.\u0275prov=De({token:i,factory:i.\u0275fac})}}return i})(),Gr=class{};function Wr(){}function kh(i){i.then(Wr,Wr)}function Ph(i,s){return s(i)}function Rh(i,s,e){return(t,r)=>dt(e,()=>s(t,a=>i(a,r)))}var da=new Te(""),Oh=new Te(""),Ih=new Te("",{providedIn:"root",factory:()=>!0});var la=(()=>{class i extends Li{constructor(e,t){super(),this.backend=e,this.injector=t,this.chain=null,this.pendingTasks=xe(ds),this.contributeToStability=xe(Ih)}handle(e){if(this.chain===null){let t=Array.from(new Set([...this.injector.get(da),...this.injector.get(Oh,[])]));this.chain=t.reduceRight((r,a)=>Rh(r,a,this.injector),Ph)}if(this.contributeToStability){let t=this.pendingTasks.add();return this.chain(e,r=>this.backend.handle(r)).pipe(li(()=>this.pendingTasks.remove(t)))}else return this.chain(e,t=>this.backend.handle(t))}static{this.\u0275fac=function(t){return new(t||i)(Ce(Fi),Ce(qt))}}static{this.\u0275prov=De({token:i,factory:i.\u0275fac})}}return i})();var Lh=/^\)\]\}',?\n/;function Fh(i){return"responseURL"in i&&i.responseURL?i.responseURL:/^X-Request-URL:/m.test(i.getAllResponseHeaders())?i.getResponseHeader("X-Request-URL"):null}var ha=(()=>{class i{constructor(e){this.xhrFactory=e}handle(e){if(e.method==="JSONP")throw new Fe(-2800,!1);let t=this.xhrFactory;return(t.\u0275loadImpl?Je(t.\u0275loadImpl()):Se(null)).pipe(rt(()=>new Ai(a=>{let l=t.build();if(l.open(e.method,e.urlWithParams),e.withCredentials&&(l.withCredentials=!0),e.headers.forEach((j,F)=>l.setRequestHeader(j,F.join(","))),e.headers.has("Accept")||l.setRequestHeader("Accept","application/json, text/plain, */*"),!e.headers.has("Content-Type")){let j=e.detectContentTypeHeader();j!==null&&l.setRequestHeader("Content-Type",j)}if(e.responseType){let j=e.responseType.toLowerCase();l.responseType=j!=="json"?j:"text"}let _=e.serializeBody(),O=null,te=()=>{if(O!==null)return O;let j=l.statusText||"OK",F=new Xe(l.getAllResponseHeaders()),C=Fh(l)||e.url;return O=new Ls({headers:F,status:l.status,statusText:j,url:C}),O},G=()=>{let{headers:j,status:F,statusText:C,url:M}=te(),E=null;F!==Eh&&(E=typeof l.response>"u"?l.responseText:l.response),F===0&&(F=E?ca:0);let L=F>=200&&F<300;if(e.responseType==="json"&&typeof E=="string"){let y=E;E=E.replace(Lh,"");try{E=E!==""?JSON.parse(E):null}catch(P){E=y,L&&(L=!1,E={error:P,text:E})}}L?(a.next(new ji({body:E,headers:j,status:F,statusText:C,url:M||void 0})),a.complete()):a.error(new $t({error:E,headers:j,status:F,statusText:C,url:M||void 0}))},X=j=>{let{url:F}=te(),C=new $t({error:j,status:l.status||0,statusText:l.statusText||"Unknown Error",url:F||void 0});a.error(C)},J=!1,A=j=>{J||(a.next(te()),J=!0);let F={type:Gt.DownloadProgress,loaded:j.loaded};j.lengthComputable&&(F.total=j.total),e.responseType==="text"&&l.responseText&&(F.partialText=l.responseText),a.next(F)},$=j=>{let F={type:Gt.UploadProgress,loaded:j.loaded};j.lengthComputable&&(F.total=j.total),a.next(F)};return l.addEventListener("load",G),l.addEventListener("error",X),l.addEventListener("timeout",X),l.addEventListener("abort",X),e.reportProgress&&(l.addEventListener("progress",A),_!==null&&l.upload&&l.upload.addEventListener("progress",$)),l.send(_),a.next({type:Gt.Sent}),()=>{l.removeEventListener("error",X),l.removeEventListener("abort",X),l.removeEventListener("load",G),l.removeEventListener("timeout",X),e.reportProgress&&(l.removeEventListener("progress",A),_!==null&&l.upload&&l.upload.removeEventListener("progress",$)),l.readyState!==l.DONE&&l.abort()}})))}static{this.\u0275fac=function(t){return new(t||i)(Ce(ci))}}static{this.\u0275prov=De({token:i,factory:i.\u0275fac})}}return i})(),ua=new Te(""),Nh="XSRF-TOKEN",jh=new Te("",{providedIn:"root",factory:()=>Nh}),Bh="X-XSRF-TOKEN",_h=new Te("",{providedIn:"root",factory:()=>Bh}),Fs=class{},zh=(()=>{class i{constructor(e,t,r){this.doc=e,this.platform=t,this.cookieName=r,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if(this.platform==="server")return null;let e=this.doc.cookie||"";return e!==this.lastCookieString&&(this.parseCount++,this.lastToken=Os(e,this.cookieName),this.lastCookieString=e),this.lastToken}static{this.\u0275fac=function(t){return new(t||i)(Ce(We),Ce(bt),Ce(jh))}}static{this.\u0275prov=De({token:i,factory:i.\u0275fac})}}return i})();function Uh(i,s){let e=i.url.toLowerCase();if(!xe(ua)||i.method==="GET"||i.method==="HEAD"||e.startsWith("http://")||e.startsWith("https://"))return s(i);let t=xe(Fs).getToken(),r=xe(_h);return t!=null&&!i.headers.has(r)&&(i=i.clone({headers:i.headers.set(r,t)})),s(i)}var pa=function(i){return i[i.Interceptors=0]="Interceptors",i[i.LegacyInterceptors=1]="LegacyInterceptors",i[i.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",i[i.NoXsrfProtection=3]="NoXsrfProtection",i[i.JsonpSupport=4]="JsonpSupport",i[i.RequestsMadeViaParent=5]="RequestsMadeViaParent",i[i.Fetch=6]="Fetch",i}(pa||{});function $h(i,s){return{\u0275kind:i,\u0275providers:s}}function sp(...i){let s=[Vr,ha,la,{provide:Li,useExisting:la},{provide:Fi,useFactory:()=>xe(Hr,{optional:!0})??xe(ha)},{provide:da,useValue:Uh,multi:!0},{provide:ua,useValue:!0},{provide:Fs,useClass:zh}];for(let e of i)s.push(...e.\u0275providers);return ki(s)}function rp(){return $h(pa.Fetch,[Hr,{provide:Fi,useExisting:Hr}])}var qr=class extends ks{constructor(){super(...arguments),this.supportsDOMEvents=!0}},Zr=class i extends qr{static makeCurrent(){Vo(new i)}onAndCancel(s,e,t){return s.addEventListener(e,t),()=>{s.removeEventListener(e,t)}}dispatchEvent(s,e){s.dispatchEvent(e)}remove(s){s.remove()}createElement(s,e){return e=e||this.getDefaultDocument(),e.createElement(s)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(s){return s.nodeType===Node.ELEMENT_NODE}isShadowRoot(s){return s instanceof DocumentFragment}getGlobalEventTarget(s,e){return e==="window"?window:e==="document"?s:e==="body"?s.body:null}getBaseHref(s){let e=Wh();return e==null?null:Vh(e)}resetBaseElement(){Bi=null}getUserAgent(){return window.navigator.userAgent}getCookie(s){return Os(document.cookie,s)}},Bi=null;function Wh(){return Bi=Bi||document.querySelector("base"),Bi?Bi.getAttribute("href"):null}function Vh(i){return new URL(i,document.baseURI).pathname}var Kr=class{addToWindow(s){_t.getAngularTestability=(t,r=!0)=>{let a=s.findTestabilityInTree(t,r);if(a==null)throw new Fe(5103,!1);return a},_t.getAllAngularTestabilities=()=>s.getAllTestabilities(),_t.getAllAngularRootElements=()=>s.getAllRootElements();let e=t=>{let r=_t.getAllAngularTestabilities(),a=r.length,l=function(){a--,a==0&&t()};r.forEach(_=>{_.whenStable(l)})};_t.frameworkStabilizers||(_t.frameworkStabilizers=[]),_t.frameworkStabilizers.push(e)}findTestabilityInTree(s,e,t){if(e==null)return null;let r=s.getTestability(e);return r??(t?ii().isShadowRoot(e)?this.findTestabilityInTree(s,e.host,!0):this.findTestabilityInTree(s,e.parentElement,!0):null)}},Xh=(()=>{class i{build(){return new XMLHttpRequest}static{this.\u0275fac=function(t){return new(t||i)}}static{this.\u0275prov=De({token:i,factory:i.\u0275fac})}}return i})(),Jr=new Te(""),ya=(()=>{class i{constructor(e,t){this._zone=t,this._eventNameToPlugin=new Map,e.forEach(r=>{r.manager=this}),this._plugins=e.slice().reverse()}addEventListener(e,t,r){return this._findPluginFor(t).addEventListener(e,t,r)}getZone(){return this._zone}_findPluginFor(e){let t=this._eventNameToPlugin.get(e);if(t)return t;if(t=this._plugins.find(a=>a.supports(e)),!t)throw new Fe(5101,!1);return this._eventNameToPlugin.set(e,t),t}static{this.\u0275fac=function(t){return new(t||i)(Ce(Jr),Ce(tt))}}static{this.\u0275prov=De({token:i,factory:i.\u0275fac})}}return i})(),Ns=class{constructor(s){this._doc=s}},Xr="ng-app-id",va=(()=>{class i{constructor(e,t,r,a={}){this.doc=e,this.appId=t,this.nonce=r,this.platformId=a,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=Oi(a),this.resetHostNodes()}addStyles(e){for(let t of e)this.changeUsageCount(t,1)===1&&this.onStyleAdded(t)}removeStyles(e){for(let t of e)this.changeUsageCount(t,-1)<=0&&this.onStyleRemoved(t)}ngOnDestroy(){let e=this.styleNodesInDOM;e&&(e.forEach(t=>t.remove()),e.clear());for(let t of this.getAllStyles())this.onStyleRemoved(t);this.resetHostNodes()}addHost(e){this.hostNodes.add(e);for(let t of this.getAllStyles())this.addStyleToHost(e,t)}removeHost(e){this.hostNodes.delete(e)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(e){for(let t of this.hostNodes)this.addStyleToHost(t,e)}onStyleRemoved(e){let t=this.styleRef;t.get(e)?.elements?.forEach(r=>r.remove()),t.delete(e)}collectServerRenderedStyles(){let e=this.doc.head?.querySelectorAll(`style[${Xr}="${this.appId}"]`);if(e?.length){let t=new Map;return e.forEach(r=>{r.textContent!=null&&t.set(r.textContent,r)}),t}return null}changeUsageCount(e,t){let r=this.styleRef;if(r.has(e)){let a=r.get(e);return a.usage+=t,a.usage}return r.set(e,{usage:t,elements:[]}),t}getStyleElement(e,t){let r=this.styleNodesInDOM,a=r?.get(t);if(a?.parentNode===e)return r.delete(t),a.removeAttribute(Xr),a;{let l=this.doc.createElement("style");return this.nonce&&l.setAttribute("nonce",this.nonce),l.textContent=t,this.platformIsServer&&l.setAttribute(Xr,this.appId),e.appendChild(l),l}}addStyleToHost(e,t){let r=this.getStyleElement(e,t),a=this.styleRef,l=a.get(t)?.elements;l?l.push(r):a.set(t,{elements:[r],usage:1})}resetHostNodes(){let e=this.hostNodes;e.clear(),e.add(this.doc.head)}static{this.\u0275fac=function(t){return new(t||i)(Ce(We),Ce(us),Ce(xr,8),Ce(bt))}}static{this.\u0275prov=De({token:i,factory:i.\u0275fac})}}return i})(),Yr={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/Math/MathML"},en=/%COMP%/g,ba="%COMP%",Yh=`_nghost-${ba}`,qh=`_ngcontent-${ba}`,Zh=!0,Kh=new Te("",{providedIn:"root",factory:()=>Zh});function Jh(i){return qh.replace(en,i)}function Qh(i){return Yh.replace(en,i)}function xa(i,s){return s.map(e=>e.replace(en,i))}var fa=(()=>{class i{constructor(e,t,r,a,l,_,O,te=null){this.eventManager=e,this.sharedStylesHost=t,this.appId=r,this.removeStylesOnCompDestroy=a,this.doc=l,this.platformId=_,this.ngZone=O,this.nonce=te,this.rendererByCompId=new Map,this.platformIsServer=Oi(_),this.defaultRenderer=new _i(e,l,O,this.platformIsServer)}createRenderer(e,t){if(!e||!t)return this.defaultRenderer;this.platformIsServer&&t.encapsulation===Mi.ShadowDom&&(t=ze(we({},t),{encapsulation:Mi.Emulated}));let r=this.getOrCreateRenderer(e,t);return r instanceof js?r.applyToHost(e):r instanceof zi&&r.applyStyles(),r}getOrCreateRenderer(e,t){let r=this.rendererByCompId,a=r.get(t.id);if(!a){let l=this.doc,_=this.ngZone,O=this.eventManager,te=this.sharedStylesHost,G=this.removeStylesOnCompDestroy,X=this.platformIsServer;switch(t.encapsulation){case Mi.Emulated:a=new js(O,te,t,this.appId,G,l,_,X);break;case Mi.ShadowDom:return new Qr(O,te,e,t,l,_,this.nonce,X);default:a=new zi(O,te,t,G,l,_,X);break}r.set(t.id,a)}return a}ngOnDestroy(){this.rendererByCompId.clear()}static{this.\u0275fac=function(t){return new(t||i)(Ce(ya),Ce(va),Ce(us),Ce(Kh),Ce(We),Ce(bt),Ce(tt),Ce(xr))}}static{this.\u0275prov=De({token:i,factory:i.\u0275fac})}}return i})(),_i=class{constructor(s,e,t,r){this.eventManager=s,this.doc=e,this.ngZone=t,this.platformIsServer=r,this.data=Object.create(null),this.throwOnSyntheticProps=!0,this.destroyNode=null}destroy(){}createElement(s,e){return e?this.doc.createElementNS(Yr[e]||e,s):this.doc.createElement(s)}createComment(s){return this.doc.createComment(s)}createText(s){return this.doc.createTextNode(s)}appendChild(s,e){(ga(s)?s.content:s).appendChild(e)}insertBefore(s,e,t){s&&(ga(s)?s.content:s).insertBefore(e,t)}removeChild(s,e){e.remove()}selectRootElement(s,e){let t=typeof s=="string"?this.doc.querySelector(s):s;if(!t)throw new Fe(-5104,!1);return e||(t.textContent=""),t}parentNode(s){return s.parentNode}nextSibling(s){return s.nextSibling}setAttribute(s,e,t,r){if(r){e=r+":"+e;let a=Yr[r];a?s.setAttributeNS(a,e,t):s.setAttribute(e,t)}else s.setAttribute(e,t)}removeAttribute(s,e,t){if(t){let r=Yr[t];r?s.removeAttributeNS(r,e):s.removeAttribute(`${t}:${e}`)}else s.removeAttribute(e)}addClass(s,e){s.classList.add(e)}removeClass(s,e){s.classList.remove(e)}setStyle(s,e,t,r){r&(Qt.DashCase|Qt.Important)?s.style.setProperty(e,t,r&Qt.Important?"important":""):s.style[e]=t}removeStyle(s,e,t){t&Qt.DashCase?s.style.removeProperty(e):s.style[e]=""}setProperty(s,e,t){s!=null&&(s[e]=t)}setValue(s,e){s.nodeValue=e}listen(s,e,t){if(typeof s=="string"&&(s=ii().getGlobalEventTarget(this.doc,s),!s))throw new Error(`Unsupported event target ${s} for event ${e}`);return this.eventManager.addEventListener(s,e,this.decoratePreventDefault(t))}decoratePreventDefault(s){return e=>{if(e==="__ngUnwrap__")return s;(this.platformIsServer?this.ngZone.runGuarded(()=>s(e)):s(e))===!1&&e.preventDefault()}}};function ga(i){return i.tagName==="TEMPLATE"&&i.content!==void 0}var Qr=class extends _i{constructor(s,e,t,r,a,l,_,O){super(s,a,l,O),this.sharedStylesHost=e,this.hostEl=t,this.shadowRoot=t.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);let te=xa(r.id,r.styles);for(let G of te){let X=document.createElement("style");_&&X.setAttribute("nonce",_),X.textContent=G,this.shadowRoot.appendChild(X)}}nodeOrShadowRoot(s){return s===this.hostEl?this.shadowRoot:s}appendChild(s,e){return super.appendChild(this.nodeOrShadowRoot(s),e)}insertBefore(s,e,t){return super.insertBefore(this.nodeOrShadowRoot(s),e,t)}removeChild(s,e){return super.removeChild(null,e)}parentNode(s){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(s)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}},zi=class extends _i{constructor(s,e,t,r,a,l,_,O){super(s,a,l,_),this.sharedStylesHost=e,this.removeStylesOnCompDestroy=r,this.styles=O?xa(O,t.styles):t.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles)}},js=class extends zi{constructor(s,e,t,r,a,l,_,O){let te=r+"-"+t.id;super(s,e,t,a,l,_,O,te),this.contentAttr=Jh(te),this.hostAttr=Qh(te)}applyToHost(s){this.applyStyles(),this.setAttribute(s,this.hostAttr,"")}createElement(s,e){let t=super.createElement(s,e);return super.setAttribute(t,this.contentAttr,""),t}},ec=(()=>{class i extends Ns{constructor(e){super(e)}supports(e){return!0}addEventListener(e,t,r){return e.addEventListener(t,r,!1),()=>this.removeEventListener(e,t,r)}removeEventListener(e,t,r){return e.removeEventListener(t,r)}static{this.\u0275fac=function(t){return new(t||i)(Ce(We))}}static{this.\u0275prov=De({token:i,factory:i.\u0275fac})}}return i})(),ma=["alt","control","meta","shift"],tc={"\b":"Backspace"," ":"Tab","\x7F":"Delete","\x1B":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},ic={alt:i=>i.altKey,control:i=>i.ctrlKey,meta:i=>i.metaKey,shift:i=>i.shiftKey},sc=(()=>{class i extends Ns{constructor(e){super(e)}supports(e){return i.parseEventName(e)!=null}addEventListener(e,t,r){let a=i.parseEventName(t),l=i.eventCallback(a.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>ii().onAndCancel(e,a.domEventName,l))}static parseEventName(e){let t=e.toLowerCase().split("."),r=t.shift();if(t.length===0||!(r==="keydown"||r==="keyup"))return null;let a=i._normalizeKey(t.pop()),l="",_=t.indexOf("code");if(_>-1&&(t.splice(_,1),l="code."),ma.forEach(te=>{let G=t.indexOf(te);G>-1&&(t.splice(G,1),l+=te+".")}),l+=a,t.length!=0||a.length===0)return null;let O={};return O.domEventName=r,O.fullKey=l,O}static matchEventFullKeyCode(e,t){let r=tc[e.key]||e.key,a="";return t.indexOf("code.")>-1&&(r=e.code,a="code."),r==null||!r?!1:(r=r.toLowerCase(),r===" "?r="space":r==="."&&(r="dot"),ma.forEach(l=>{if(l!==r){let _=ic[l];_(e)&&(a+=l+".")}}),a+=r,a===t)}static eventCallback(e,t,r){return a=>{i.matchEventFullKeyCode(a,e)&&r.runGuarded(()=>t(a))}}static _normalizeKey(e){return e==="esc"?"escape":e}static{this.\u0275fac=function(t){return new(t||i)(Ce(We))}}static{this.\u0275prov=De({token:i,factory:i.\u0275fac})}}return i})();function xp(i,s){return No(we({rootComponent:i},rc(s)))}function rc(i){return{appProviders:[...wa,...i?.providers??[]],platformProviders:lc}}function nc(){Zr.makeCurrent()}function oc(){return new br}function ac(){return ao(document),document}var lc=[{provide:bt,useValue:_r},{provide:lo,useValue:nc,multi:!0},{provide:We,useFactory:ac,deps:[]}];var hc=new Te(""),cc=[{provide:gs,useClass:Kr,deps:[]},{provide:Ro,useClass:ms,deps:[tt,Dr,gs]},{provide:ms,useClass:ms,deps:[tt,Dr,gs]}],wa=[{provide:oo,useValue:"root"},{provide:br,useFactory:oc,deps:[]},{provide:Jr,useClass:ec,multi:!0,deps:[We,tt,bt]},{provide:Jr,useClass:sc,multi:!0,deps:[We]},fa,va,ya,{provide:wo,useExisting:fa},{provide:ci,useClass:Xh,deps:[]},[]],wp=(()=>{class i{constructor(e){}static withServerTransition(e){return{ngModule:i,providers:[{provide:us,useValue:e.appId}]}}static{this.\u0275fac=function(t){return new(t||i)(Ce(hc,12))}}static{this.\u0275mod=Yt({type:i})}static{this.\u0275inj=Xt({providers:[...wa,...cc],imports:[Qo,Fo]})}}return i})();var Ca=(()=>{class i{constructor(e){this._doc=e}getTitle(){return this._doc.title}setTitle(e){this._doc.title=e||""}static{this.\u0275fac=function(t){return new(t||i)(Ce(We))}}static{this.\u0275prov=De({token:i,factory:i.\u0275fac,providedIn:"root"})}}return i})();var dc=(()=>{class i{static{this.\u0275fac=function(t){return new(t||i)}}static{this.\u0275prov=De({token:i,factory:function(t){let r=null;return t?r=new(t||i):r=Ce(uc),r},providedIn:"root"})}}return i})(),uc=(()=>{class i extends dc{constructor(e){super(),this._doc=e}sanitize(e,t){if(t==null)return null;switch(e){case Jt.NONE:return t;case Jt.HTML:return hi(t,"HTML")?zt(t):vo(this._doc,String(t)).toString();case Jt.STYLE:return hi(t,"Style")?zt(t):t;case Jt.SCRIPT:if(hi(t,"Script"))return zt(t);throw new Fe(5200,!1);case Jt.URL:return hi(t,"URL")?zt(t):yo(String(t));case Jt.RESOURCE_URL:if(hi(t,"ResourceURL"))return zt(t);throw new Fe(5201,!1);default:throw new Fe(5202,!1)}}bypassSecurityTrustHtml(e){return uo(e)}bypassSecurityTrustStyle(e){return po(e)}bypassSecurityTrustScript(e){return fo(e)}bypassSecurityTrustUrl(e){return go(e)}bypassSecurityTrustResourceUrl(e){return mo(e)}static{this.\u0275fac=function(t){return new(t||i)(Ce(We))}}static{this.\u0275prov=De({token:i,factory:i.\u0275fac,providedIn:"root"})}}return i})();var Ee="primary",ts=Symbol("RouteTitle"),on=class{constructor(s){this.params=s||{}}has(s){return Object.prototype.hasOwnProperty.call(this.params,s)}get(s){if(this.has(s)){let e=this.params[s];return Array.isArray(e)?e[0]:e}return null}getAll(s){if(this.has(s)){let e=this.params[s];return Array.isArray(e)?e:[e]}return[]}get keys(){return Object.keys(this.params)}};function yi(i){return new on(i)}function fc(i,s,e){let t=e.path.split("/");if(t.length>i.length||e.pathMatch==="full"&&(s.hasChildren()||t.lengtht[a]===r)}else return i===s}function La(i){return i.length>0?i[i.length-1]:null}function Vt(i){return qn(i)?i:ys(i)?Je(Promise.resolve(i)):Se(i)}var mc={exact:Na,subset:ja},Fa={exact:yc,subset:vc,ignored:()=>!0};function Da(i,s,e){return mc[e.paths](i.root,s.root,e.matrixParams)&&Fa[e.queryParams](i.queryParams,s.queryParams)&&!(e.fragment==="exact"&&i.fragment!==s.fragment)}function yc(i,s){return wt(i,s)}function Na(i,s,e){if(!ri(i.segments,s.segments)||!zs(i.segments,s.segments,e)||i.numberOfChildren!==s.numberOfChildren)return!1;for(let t in s.children)if(!i.children[t]||!Na(i.children[t],s.children[t],e))return!1;return!0}function vc(i,s){return Object.keys(s).length<=Object.keys(i).length&&Object.keys(s).every(e=>Ia(i[e],s[e]))}function ja(i,s,e){return Ba(i,s,s.segments,e)}function Ba(i,s,e,t){if(i.segments.length>e.length){let r=i.segments.slice(0,e.length);return!(!ri(r,e)||s.hasChildren()||!zs(r,e,t))}else if(i.segments.length===e.length){if(!ri(i.segments,e)||!zs(i.segments,e,t))return!1;for(let r in s.children)if(!i.children[r]||!ja(i.children[r],s.children[r],t))return!1;return!0}else{let r=e.slice(0,i.segments.length),a=e.slice(i.segments.length);return!ri(i.segments,r)||!zs(i.segments,r,t)||!i.children[Ee]?!1:Ba(i.children[Ee],s,a,t)}}function zs(i,s,e){return s.every((t,r)=>Fa[e](i[r].parameters,t.parameters))}var It=class{constructor(s=new Oe([],{}),e={},t=null){this.root=s,this.queryParams=e,this.fragment=t}get queryParamMap(){return this._queryParamMap??=yi(this.queryParams),this._queryParamMap}toString(){return wc.serialize(this)}},Oe=class{constructor(s,e){this.segments=s,this.children=e,this.parent=null,Object.values(e).forEach(t=>t.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return Us(this)}},si=class{constructor(s,e){this.path=s,this.parameters=e}get parameterMap(){return this._parameterMap??=yi(this.parameters),this._parameterMap}toString(){return za(this)}};function bc(i,s){return ri(i,s)&&i.every((e,t)=>wt(e.parameters,s[t].parameters))}function ri(i,s){return i.length!==s.length?!1:i.every((e,t)=>e.path===s[t].path)}function xc(i,s){let e=[];return Object.entries(i.children).forEach(([t,r])=>{t===Ee&&(e=e.concat(s(r,t)))}),Object.entries(i.children).forEach(([t,r])=>{t!==Ee&&(e=e.concat(s(r,t)))}),e}var is=(()=>{class i{static{this.\u0275fac=function(t){return new(t||i)}}static{this.\u0275prov=De({token:i,factory:()=>new vi,providedIn:"root"})}}return i})(),vi=class{parse(s){let e=new hn(s);return new It(e.parseRootSegment(),e.parseQueryParams(),e.parseFragment())}serialize(s){let e=`/${Ui(s.root,!0)}`,t=Sc(s.queryParams),r=typeof s.fragment=="string"?`#${Cc(s.fragment)}`:"";return`${e}${t}${r}`}},wc=new vi;function Us(i){return i.segments.map(s=>za(s)).join("/")}function Ui(i,s){if(!i.hasChildren())return Us(i);if(s){let e=i.children[Ee]?Ui(i.children[Ee],!1):"",t=[];return Object.entries(i.children).forEach(([r,a])=>{r!==Ee&&t.push(`${r}:${Ui(a,!1)}`)}),t.length>0?`${e}(${t.join("//")})`:e}else{let e=xc(i,(t,r)=>r===Ee?[Ui(i.children[Ee],!1)]:[`${r}:${Ui(t,!1)}`]);return Object.keys(i.children).length===1&&i.children[Ee]!=null?`${Us(i)}/${e[0]}`:`${Us(i)}/(${e.join("//")})`}}function _a(i){return encodeURIComponent(i).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function Bs(i){return _a(i).replace(/%3B/gi,";")}function Cc(i){return encodeURI(i)}function ln(i){return _a(i).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function $s(i){return decodeURIComponent(i)}function Sa(i){return $s(i.replace(/\+/g,"%20"))}function za(i){return`${ln(i.path)}${Dc(i.parameters)}`}function Dc(i){return Object.entries(i).map(([s,e])=>`;${ln(s)}=${ln(e)}`).join("")}function Sc(i){let s=Object.entries(i).map(([e,t])=>Array.isArray(t)?t.map(r=>`${Bs(e)}=${Bs(r)}`).join("&"):`${Bs(e)}=${Bs(t)}`).filter(e=>e);return s.length?`?${s.join("&")}`:""}var Ac=/^[^\/()?;#]+/;function tn(i){let s=i.match(Ac);return s?s[0]:""}var Ec=/^[^\/()?;=#]+/;function Mc(i){let s=i.match(Ec);return s?s[0]:""}var Tc=/^[^=?&#]+/;function kc(i){let s=i.match(Tc);return s?s[0]:""}var Pc=/^[^&#]+/;function Rc(i){let s=i.match(Pc);return s?s[0]:""}var hn=class{constructor(s){this.url=s,this.remaining=s}parseRootSegment(){return this.consumeOptional("/"),this.remaining===""||this.peekStartsWith("?")||this.peekStartsWith("#")?new Oe([],{}):new Oe([],this.parseChildren())}parseQueryParams(){let s={};if(this.consumeOptional("?"))do this.parseQueryParam(s);while(this.consumeOptional("&"));return s}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(this.remaining==="")return{};this.consumeOptional("/");let s=[];for(this.peekStartsWith("(")||s.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),s.push(this.parseSegment());let e={};this.peekStartsWith("/(")&&(this.capture("/"),e=this.parseParens(!0));let t={};return this.peekStartsWith("(")&&(t=this.parseParens(!1)),(s.length>0||Object.keys(e).length>0)&&(t[Ee]=new Oe(s,e)),t}parseSegment(){let s=tn(this.remaining);if(s===""&&this.peekStartsWith(";"))throw new Fe(4009,!1);return this.capture(s),new si($s(s),this.parseMatrixParams())}parseMatrixParams(){let s={};for(;this.consumeOptional(";");)this.parseParam(s);return s}parseParam(s){let e=Mc(this.remaining);if(!e)return;this.capture(e);let t="";if(this.consumeOptional("=")){let r=tn(this.remaining);r&&(t=r,this.capture(t))}s[$s(e)]=$s(t)}parseQueryParam(s){let e=kc(this.remaining);if(!e)return;this.capture(e);let t="";if(this.consumeOptional("=")){let l=Rc(this.remaining);l&&(t=l,this.capture(t))}let r=Sa(e),a=Sa(t);if(s.hasOwnProperty(r)){let l=s[r];Array.isArray(l)||(l=[l],s[r]=l),l.push(a)}else s[r]=a}parseParens(s){let e={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){let t=tn(this.remaining),r=this.remaining[t.length];if(r!=="/"&&r!==")"&&r!==";")throw new Fe(4010,!1);let a;t.indexOf(":")>-1?(a=t.slice(0,t.indexOf(":")),this.capture(a),this.capture(":")):s&&(a=Ee);let l=this.parseChildren();e[a]=Object.keys(l).length===1?l[Ee]:new Oe([],l),this.consumeOptional("//")}return e}peekStartsWith(s){return this.remaining.startsWith(s)}consumeOptional(s){return this.peekStartsWith(s)?(this.remaining=this.remaining.substring(s.length),!0):!1}capture(s){if(!this.consumeOptional(s))throw new Fe(4011,!1)}};function Ua(i){return i.segments.length>0?new Oe([],{[Ee]:i}):i}function $a(i){let s={};for(let[t,r]of Object.entries(i.children)){let a=$a(r);if(t===Ee&&a.segments.length===0&&a.hasChildren())for(let[l,_]of Object.entries(a.children))s[l]=_;else(a.segments.length>0||a.hasChildren())&&(s[t]=a)}let e=new Oe(i.segments,s);return Oc(e)}function Oc(i){if(i.numberOfChildren===1&&i.children[Ee]){let s=i.children[Ee];return new Oe(i.segments.concat(s.segments),s.children)}return i}function ni(i){return i instanceof It}function Ic(i,s,e=null,t=null){let r=Ha(i);return Ga(r,s,e,t)}function Ha(i){let s;function e(a){let l={};for(let O of a.children){let te=e(O);l[O.outlet]=te}let _=new Oe(a.url,l);return a===i&&(s=_),_}let t=e(i.root),r=Ua(t);return s??r}function Ga(i,s,e,t){let r=i;for(;r.parent;)r=r.parent;if(s.length===0)return sn(r,r,r,e,t);let a=Lc(s);if(a.toRoot())return sn(r,r,new Oe([],{}),e,t);let l=Fc(a,r,i),_=l.processChildren?Gi(l.segmentGroup,l.index,a.commands):Va(l.segmentGroup,l.index,a.commands);return sn(r,l.segmentGroup,_,e,t)}function Hs(i){return typeof i=="object"&&i!=null&&!i.outlets&&!i.segmentPath}function Xi(i){return typeof i=="object"&&i!=null&&i.outlets}function sn(i,s,e,t,r){let a={};t&&Object.entries(t).forEach(([O,te])=>{a[O]=Array.isArray(te)?te.map(G=>`${G}`):`${te}`});let l;i===s?l=e:l=Wa(i,s,e);let _=Ua($a(l));return new It(_,a,r)}function Wa(i,s,e){let t={};return Object.entries(i.children).forEach(([r,a])=>{a===s?t[r]=e:t[r]=Wa(a,s,e)}),new Oe(i.segments,t)}var Gs=class{constructor(s,e,t){if(this.isAbsolute=s,this.numberOfDoubleDots=e,this.commands=t,s&&t.length>0&&Hs(t[0]))throw new Fe(4003,!1);let r=t.find(Xi);if(r&&r!==La(t))throw new Fe(4004,!1)}toRoot(){return this.isAbsolute&&this.commands.length===1&&this.commands[0]=="/"}};function Lc(i){if(typeof i[0]=="string"&&i.length===1&&i[0]==="/")return new Gs(!0,0,i);let s=0,e=!1,t=i.reduce((r,a,l)=>{if(typeof a=="object"&&a!=null){if(a.outlets){let _={};return Object.entries(a.outlets).forEach(([O,te])=>{_[O]=typeof te=="string"?te.split("/"):te}),[...r,{outlets:_}]}if(a.segmentPath)return[...r,a.segmentPath]}return typeof a!="string"?[...r,a]:l===0?(a.split("/").forEach((_,O)=>{O==0&&_==="."||(O==0&&_===""?e=!0:_===".."?s++:_!=""&&r.push(_))}),r):[...r,a]},[]);return new Gs(e,s,t)}var fi=class{constructor(s,e,t){this.segmentGroup=s,this.processChildren=e,this.index=t}};function Fc(i,s,e){if(i.isAbsolute)return new fi(s,!0,0);if(!e)return new fi(s,!1,NaN);if(e.parent===null)return new fi(e,!0,0);let t=Hs(i.commands[0])?0:1,r=e.segments.length-1+t;return Nc(e,r,i.numberOfDoubleDots)}function Nc(i,s,e){let t=i,r=s,a=e;for(;a>r;){if(a-=r,t=t.parent,!t)throw new Fe(4005,!1);r=t.segments.length}return new fi(t,!1,r-a)}function jc(i){return Xi(i[0])?i[0].outlets:{[Ee]:i}}function Va(i,s,e){if(i??=new Oe([],{}),i.segments.length===0&&i.hasChildren())return Gi(i,s,e);let t=Bc(i,s,e),r=e.slice(t.commandIndex);if(t.match&&t.pathIndexa!==Ee)&&i.children[Ee]&&i.numberOfChildren===1&&i.children[Ee].segments.length===0){let a=Gi(i.children[Ee],s,e);return new Oe(i.segments,a.children)}return Object.entries(t).forEach(([a,l])=>{typeof l=="string"&&(l=[l]),l!==null&&(r[a]=Va(i.children[a],s,l))}),Object.entries(i.children).forEach(([a,l])=>{t[a]===void 0&&(r[a]=l)}),new Oe(i.segments,r)}}function Bc(i,s,e){let t=0,r=s,a={match:!1,pathIndex:0,commandIndex:0};for(;r=e.length)return a;let l=i.segments[r],_=e[t];if(Xi(_))break;let O=`${_}`,te=t0&&O===void 0)break;if(O&&te&&typeof te=="object"&&te.outlets===void 0){if(!Ea(O,te,l))return a;t+=2}else{if(!Ea(O,{},l))return a;t++}r++}return{match:!0,pathIndex:r,commandIndex:t}}function cn(i,s,e){let t=i.segments.slice(0,s),r=0;for(;r{typeof t=="string"&&(t=[t]),t!==null&&(s[e]=cn(new Oe([],{}),0,t))}),s}function Aa(i){let s={};return Object.entries(i).forEach(([e,t])=>s[e]=`${t}`),s}function Ea(i,s,e){return i==e.path&&wt(s,e.parameters)}var Wi="imperative",Ve=function(i){return i[i.NavigationStart=0]="NavigationStart",i[i.NavigationEnd=1]="NavigationEnd",i[i.NavigationCancel=2]="NavigationCancel",i[i.NavigationError=3]="NavigationError",i[i.RoutesRecognized=4]="RoutesRecognized",i[i.ResolveStart=5]="ResolveStart",i[i.ResolveEnd=6]="ResolveEnd",i[i.GuardsCheckStart=7]="GuardsCheckStart",i[i.GuardsCheckEnd=8]="GuardsCheckEnd",i[i.RouteConfigLoadStart=9]="RouteConfigLoadStart",i[i.RouteConfigLoadEnd=10]="RouteConfigLoadEnd",i[i.ChildActivationStart=11]="ChildActivationStart",i[i.ChildActivationEnd=12]="ChildActivationEnd",i[i.ActivationStart=13]="ActivationStart",i[i.ActivationEnd=14]="ActivationEnd",i[i.Scroll=15]="Scroll",i[i.NavigationSkipped=16]="NavigationSkipped",i}(Ve||{}),ft=class{constructor(s,e){this.id=s,this.url=e}},bi=class extends ft{constructor(s,e,t="imperative",r=null){super(s,e),this.type=Ve.NavigationStart,this.navigationTrigger=t,this.restoredState=r}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}},Ct=class extends ft{constructor(s,e,t){super(s,e),this.urlAfterRedirects=t,this.type=Ve.NavigationEnd}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}},at=function(i){return i[i.Redirect=0]="Redirect",i[i.SupersededByNewNavigation=1]="SupersededByNewNavigation",i[i.NoDataFromResolver=2]="NoDataFromResolver",i[i.GuardRejected=3]="GuardRejected",i}(at||{}),Ws=function(i){return i[i.IgnoredSameUrlNavigation=0]="IgnoredSameUrlNavigation",i[i.IgnoredByUrlHandlingStrategy=1]="IgnoredByUrlHandlingStrategy",i}(Ws||{}),Ot=class extends ft{constructor(s,e,t,r){super(s,e),this.reason=t,this.code=r,this.type=Ve.NavigationCancel}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}},Wt=class extends ft{constructor(s,e,t,r){super(s,e),this.reason=t,this.code=r,this.type=Ve.NavigationSkipped}},Yi=class extends ft{constructor(s,e,t,r){super(s,e),this.error=t,this.target=r,this.type=Ve.NavigationError}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}},Vs=class extends ft{constructor(s,e,t,r){super(s,e),this.urlAfterRedirects=t,this.state=r,this.type=Ve.RoutesRecognized}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},dn=class extends ft{constructor(s,e,t,r){super(s,e),this.urlAfterRedirects=t,this.state=r,this.type=Ve.GuardsCheckStart}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},un=class extends ft{constructor(s,e,t,r,a){super(s,e),this.urlAfterRedirects=t,this.state=r,this.shouldActivate=a,this.type=Ve.GuardsCheckEnd}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}},pn=class extends ft{constructor(s,e,t,r){super(s,e),this.urlAfterRedirects=t,this.state=r,this.type=Ve.ResolveStart}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},fn=class extends ft{constructor(s,e,t,r){super(s,e),this.urlAfterRedirects=t,this.state=r,this.type=Ve.ResolveEnd}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},gn=class{constructor(s){this.route=s,this.type=Ve.RouteConfigLoadStart}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}},mn=class{constructor(s){this.route=s,this.type=Ve.RouteConfigLoadEnd}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}},yn=class{constructor(s){this.snapshot=s,this.type=Ve.ChildActivationStart}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},vn=class{constructor(s){this.snapshot=s,this.type=Ve.ChildActivationEnd}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},bn=class{constructor(s){this.snapshot=s,this.type=Ve.ActivationStart}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},xn=class{constructor(s){this.snapshot=s,this.type=Ve.ActivationEnd}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},Xs=class{constructor(s,e,t){this.routerEvent=s,this.position=e,this.anchor=t,this.type=Ve.Scroll}toString(){let s=this.position?`${this.position[0]}, ${this.position[1]}`:null;return`Scroll(anchor: '${this.anchor}', position: '${s}')`}},qi=class{},xi=class{constructor(s,e){this.url=s,this.navigationBehaviorOptions=e}};function zc(i,s){return i.providers&&!i._injector&&(i._injector=Cr(i.providers,s,`Route: ${i.path}`)),i._injector??s}function mt(i){return i.outlet||Ee}function Uc(i,s){let e=i.filter(t=>mt(t)===s);return e.push(...i.filter(t=>mt(t)!==s)),e}function ss(i){if(!i)return null;if(i.routeConfig?._injector)return i.routeConfig._injector;for(let s=i.parent;s;s=s.parent){let e=s.routeConfig;if(e?._loadedInjector)return e._loadedInjector;if(e?._injector)return e._injector}return null}var wn=class{get injector(){return ss(this.route?.snapshot)??this.rootInjector}set injector(s){}constructor(s){this.rootInjector=s,this.outlet=null,this.route=null,this.children=new rs(this.rootInjector),this.attachRef=null}},rs=(()=>{class i{constructor(e){this.rootInjector=e,this.contexts=new Map}onChildOutletCreated(e,t){let r=this.getOrCreateContext(e);r.outlet=t,this.contexts.set(e,r)}onChildOutletDestroyed(e){let t=this.getContext(e);t&&(t.outlet=null,t.attachRef=null)}onOutletDeactivated(){let e=this.contexts;return this.contexts=new Map,e}onOutletReAttached(e){this.contexts=e}getOrCreateContext(e){let t=this.getContext(e);return t||(t=new wn(this.rootInjector),this.contexts.set(e,t)),t}getContext(e){return this.contexts.get(e)||null}static{this.\u0275fac=function(t){return new(t||i)(Ce(qt))}}static{this.\u0275prov=De({token:i,factory:i.\u0275fac,providedIn:"root"})}}return i})(),Ys=class{constructor(s){this._root=s}get root(){return this._root.value}parent(s){let e=this.pathFromRoot(s);return e.length>1?e[e.length-2]:null}children(s){let e=Cn(s,this._root);return e?e.children.map(t=>t.value):[]}firstChild(s){let e=Cn(s,this._root);return e&&e.children.length>0?e.children[0].value:null}siblings(s){let e=Dn(s,this._root);return e.length<2?[]:e[e.length-2].children.map(r=>r.value).filter(r=>r!==s)}pathFromRoot(s){return Dn(s,this._root).map(e=>e.value)}};function Cn(i,s){if(i===s.value)return s;for(let e of s.children){let t=Cn(i,e);if(t)return t}return null}function Dn(i,s){if(i===s.value)return[s];for(let e of s.children){let t=Dn(i,e);if(t.length)return t.unshift(s),t}return[]}var ot=class{constructor(s,e){this.value=s,this.children=e}toString(){return`TreeNode(${this.value})`}};function pi(i){let s={};return i&&i.children.forEach(e=>s[e.value.outlet]=e),s}var qs=class extends Ys{constructor(s,e){super(s),this.snapshot=e,On(this,s)}toString(){return this.snapshot.toString()}};function Xa(i){let s=$c(i),e=new et([new si("",{})]),t=new et({}),r=new et({}),a=new et({}),l=new et(""),_=new Ke(e,t,a,l,r,Ee,i,s.root);return _.snapshot=s.root,new qs(new ot(_,[]),s)}function $c(i){let s={},e={},t={},r="",a=new gi([],s,t,r,e,Ee,i,null,{});return new Ks("",new ot(a,[]))}var Ke=class{constructor(s,e,t,r,a,l,_,O){this.urlSubject=s,this.paramsSubject=e,this.queryParamsSubject=t,this.fragmentSubject=r,this.dataSubject=a,this.outlet=l,this.component=_,this._futureSnapshot=O,this.title=this.dataSubject?.pipe(ke(te=>te[ts]))??Se(void 0),this.url=s,this.params=e,this.queryParams=t,this.fragment=r,this.data=a}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap??=this.params.pipe(ke(s=>yi(s))),this._paramMap}get queryParamMap(){return this._queryParamMap??=this.queryParams.pipe(ke(s=>yi(s))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}};function Zs(i,s,e="emptyOnly"){let t,{routeConfig:r}=i;return s!==null&&(e==="always"||r?.path===""||!s.component&&!s.routeConfig?.loadComponent)?t={params:we(we({},s.params),i.params),data:we(we({},s.data),i.data),resolve:we(we(we(we({},i.data),s.data),r?.data),i._resolvedData)}:t={params:we({},i.params),data:we({},i.data),resolve:we(we({},i.data),i._resolvedData??{})},r&&qa(r)&&(t.resolve[ts]=r.title),t}var gi=class{get title(){return this.data?.[ts]}constructor(s,e,t,r,a,l,_,O,te){this.url=s,this.params=e,this.queryParams=t,this.fragment=r,this.data=a,this.outlet=l,this.component=_,this.routeConfig=O,this._resolve=te}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap??=yi(this.params),this._paramMap}get queryParamMap(){return this._queryParamMap??=yi(this.queryParams),this._queryParamMap}toString(){let s=this.url.map(t=>t.toString()).join("/"),e=this.routeConfig?this.routeConfig.path:"";return`Route(url:'${s}', path:'${e}')`}},Ks=class extends Ys{constructor(s,e){super(e),this.url=s,On(this,e)}toString(){return Ya(this._root)}};function On(i,s){s.value._routerState=i,s.children.forEach(e=>On(i,e))}function Ya(i){let s=i.children.length>0?` { ${i.children.map(Ya).join(", ")} } `:"";return`${i.value}${s}`}function rn(i){if(i.snapshot){let s=i.snapshot,e=i._futureSnapshot;i.snapshot=e,wt(s.queryParams,e.queryParams)||i.queryParamsSubject.next(e.queryParams),s.fragment!==e.fragment&&i.fragmentSubject.next(e.fragment),wt(s.params,e.params)||i.paramsSubject.next(e.params),gc(s.url,e.url)||i.urlSubject.next(e.url),wt(s.data,e.data)||i.dataSubject.next(e.data)}else i.snapshot=i._futureSnapshot,i.dataSubject.next(i._futureSnapshot.data)}function Sn(i,s){let e=wt(i.params,s.params)&&bc(i.url,s.url),t=!i.parent!=!s.parent;return e&&!t&&(!i.parent||Sn(i.parent,s.parent))}function qa(i){return typeof i.title=="string"||i.title===null}var Hc=(()=>{class i{constructor(){this.activated=null,this._activatedRoute=null,this.name=Ee,this.activateEvents=new vt,this.deactivateEvents=new vt,this.attachEvents=new vt,this.detachEvents=new vt,this.parentContexts=xe(rs),this.location=xe(Ri),this.changeDetector=xe(ti),this.inputBinder=xe(tr,{optional:!0}),this.supportsBindingToComponentInputs=!0}get activatedComponentRef(){return this.activated}ngOnChanges(e){if(e.name){let{firstChange:t,previousValue:r}=e.name;if(t)return;this.isTrackedInParentContexts(r)&&(this.deactivate(),this.parentContexts.onChildOutletDestroyed(r)),this.initializeOutletWithName()}}ngOnDestroy(){this.isTrackedInParentContexts(this.name)&&this.parentContexts.onChildOutletDestroyed(this.name),this.inputBinder?.unsubscribeFromRouteData(this)}isTrackedInParentContexts(e){return this.parentContexts.getContext(e)?.outlet===this}ngOnInit(){this.initializeOutletWithName()}initializeOutletWithName(){if(this.parentContexts.onChildOutletCreated(this.name,this),this.activated)return;let e=this.parentContexts.getContext(this.name);e?.route&&(e.attachRef?this.attach(e.attachRef,e.route):this.activateWith(e.route,e.injector))}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new Fe(4012,!1);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new Fe(4012,!1);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new Fe(4012,!1);this.location.detach();let e=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(e.instance),e}attach(e,t){this.activated=e,this._activatedRoute=t,this.location.insert(e.hostView),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.attachEvents.emit(e.instance)}deactivate(){if(this.activated){let e=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(e)}}activateWith(e,t){if(this.isActivated)throw new Fe(4013,!1);this._activatedRoute=e;let r=this.location,l=e.snapshot.component,_=this.parentContexts.getOrCreateContext(this.name).children,O=new An(e,_,r.injector);this.activated=r.createComponent(l,{index:r.length,injector:O,environmentInjector:t}),this.changeDetector.markForCheck(),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.activateEvents.emit(this.activated.instance)}static{this.\u0275fac=function(t){return new(t||i)}}static{this.\u0275dir=Et({type:i,selectors:[["router-outlet"]],inputs:{name:"name"},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],standalone:!0,features:[Zt]})}}return i})(),An=class i{__ngOutletInjector(s){return new i(this.route,this.childContexts,s)}constructor(s,e,t){this.route=s,this.childContexts=e,this.parent=t}get(s,e){return s===Ke?this.route:s===rs?this.childContexts:this.parent.get(s,e)}},tr=new Te(""),Ma=(()=>{class i{constructor(){this.outletDataSubscriptions=new Map}bindActivatedRouteToOutletComponent(e){this.unsubscribeFromRouteData(e),this.subscribeToRouteData(e)}unsubscribeFromRouteData(e){this.outletDataSubscriptions.get(e)?.unsubscribe(),this.outletDataSubscriptions.delete(e)}subscribeToRouteData(e){let{activatedRoute:t}=e,r=cs([t.queryParams,t.params,t.data]).pipe(rt(([a,l,_],O)=>(_=we(we(we({},a),l),_),O===0?Se(_):Promise.resolve(_)))).subscribe(a=>{if(!e.isActivated||!e.activatedComponentRef||e.activatedRoute!==t||t.component===null){this.unsubscribeFromRouteData(e);return}let l=jo(t.component);if(!l){this.unsubscribeFromRouteData(e);return}for(let{templateName:_}of l.inputs)e.activatedComponentRef.setInput(_,a[_])});this.outletDataSubscriptions.set(e,r)}static{this.\u0275fac=function(t){return new(t||i)}}static{this.\u0275prov=De({token:i,factory:i.\u0275fac})}}return i})();function Gc(i,s,e){let t=Zi(i,s._root,e?e._root:void 0);return new qs(t,s)}function Zi(i,s,e){if(e&&i.shouldReuseRoute(s.value,e.value.snapshot)){let t=e.value;t._futureSnapshot=s.value;let r=Wc(i,s,e);return new ot(t,r)}else{if(i.shouldAttach(s.value)){let a=i.retrieve(s.value);if(a!==null){let l=a.route;return l.value._futureSnapshot=s.value,l.children=s.children.map(_=>Zi(i,_)),l}}let t=Vc(s.value),r=s.children.map(a=>Zi(i,a));return new ot(t,r)}}function Wc(i,s,e){return s.children.map(t=>{for(let r of e.children)if(i.shouldReuseRoute(t.value,r.value.snapshot))return Zi(i,t,r);return Zi(i,t)})}function Vc(i){return new Ke(new et(i.url),new et(i.params),new et(i.queryParams),new et(i.fragment),new et(i.data),i.outlet,i.component,i)}var Ki=class{constructor(s,e){this.redirectTo=s,this.navigationBehaviorOptions=e}},Za="ngNavigationCancelingError";function Js(i,s){let{redirectTo:e,navigationBehaviorOptions:t}=ni(s)?{redirectTo:s,navigationBehaviorOptions:void 0}:s,r=Ka(!1,at.Redirect);return r.url=e,r.navigationBehaviorOptions=t,r}function Ka(i,s){let e=new Error(`NavigationCancelingError: ${i||""}`);return e[Za]=!0,e.cancellationCode=s,e}function Xc(i){return Ja(i)&&ni(i.url)}function Ja(i){return!!i&&i[Za]}var Yc=(i,s,e,t)=>ke(r=>(new En(s,r.targetRouterState,r.currentRouterState,e,t).activate(i),r)),En=class{constructor(s,e,t,r,a){this.routeReuseStrategy=s,this.futureState=e,this.currState=t,this.forwardEvent=r,this.inputBindingEnabled=a}activate(s){let e=this.futureState._root,t=this.currState?this.currState._root:null;this.deactivateChildRoutes(e,t,s),rn(this.futureState.root),this.activateChildRoutes(e,t,s)}deactivateChildRoutes(s,e,t){let r=pi(e);s.children.forEach(a=>{let l=a.value.outlet;this.deactivateRoutes(a,r[l],t),delete r[l]}),Object.values(r).forEach(a=>{this.deactivateRouteAndItsChildren(a,t)})}deactivateRoutes(s,e,t){let r=s.value,a=e?e.value:null;if(r===a)if(r.component){let l=t.getContext(r.outlet);l&&this.deactivateChildRoutes(s,e,l.children)}else this.deactivateChildRoutes(s,e,t);else a&&this.deactivateRouteAndItsChildren(e,t)}deactivateRouteAndItsChildren(s,e){s.value.component&&this.routeReuseStrategy.shouldDetach(s.value.snapshot)?this.detachAndStoreRouteSubtree(s,e):this.deactivateRouteAndOutlet(s,e)}detachAndStoreRouteSubtree(s,e){let t=e.getContext(s.value.outlet),r=t&&s.value.component?t.children:e,a=pi(s);for(let l of Object.values(a))this.deactivateRouteAndItsChildren(l,r);if(t&&t.outlet){let l=t.outlet.detach(),_=t.children.onOutletDeactivated();this.routeReuseStrategy.store(s.value.snapshot,{componentRef:l,route:s,contexts:_})}}deactivateRouteAndOutlet(s,e){let t=e.getContext(s.value.outlet),r=t&&s.value.component?t.children:e,a=pi(s);for(let l of Object.values(a))this.deactivateRouteAndItsChildren(l,r);t&&(t.outlet&&(t.outlet.deactivate(),t.children.onOutletDeactivated()),t.attachRef=null,t.route=null)}activateChildRoutes(s,e,t){let r=pi(e);s.children.forEach(a=>{this.activateRoutes(a,r[a.value.outlet],t),this.forwardEvent(new xn(a.value.snapshot))}),s.children.length&&this.forwardEvent(new vn(s.value.snapshot))}activateRoutes(s,e,t){let r=s.value,a=e?e.value:null;if(rn(r),r===a)if(r.component){let l=t.getOrCreateContext(r.outlet);this.activateChildRoutes(s,e,l.children)}else this.activateChildRoutes(s,e,t);else if(r.component){let l=t.getOrCreateContext(r.outlet);if(this.routeReuseStrategy.shouldAttach(r.snapshot)){let _=this.routeReuseStrategy.retrieve(r.snapshot);this.routeReuseStrategy.store(r.snapshot,null),l.children.onOutletReAttached(_.contexts),l.attachRef=_.componentRef,l.route=_.route.value,l.outlet&&l.outlet.attach(_.componentRef,_.route.value),rn(_.route.value),this.activateChildRoutes(s,null,l.children)}else l.attachRef=null,l.route=r,l.outlet&&l.outlet.activateWith(r,l.injector),this.activateChildRoutes(s,null,l.children)}else this.activateChildRoutes(s,null,t)}},Qs=class{constructor(s){this.path=s,this.route=this.path[this.path.length-1]}},mi=class{constructor(s,e){this.component=s,this.route=e}};function qc(i,s,e){let t=i._root,r=s?s._root:null;return $i(t,r,e,[t.value])}function Zc(i){let s=i.routeConfig?i.routeConfig.canActivateChild:null;return!s||s.length===0?null:{node:i,guards:s}}function Ci(i,s){let e=Symbol(),t=s.get(i,e);return t===e?typeof i=="function"&&!so(i)?i:s.get(i):t}function $i(i,s,e,t,r={canDeactivateChecks:[],canActivateChecks:[]}){let a=pi(s);return i.children.forEach(l=>{Kc(l,a[l.value.outlet],e,t.concat([l.value]),r),delete a[l.value.outlet]}),Object.entries(a).forEach(([l,_])=>Vi(_,e.getContext(l),r)),r}function Kc(i,s,e,t,r={canDeactivateChecks:[],canActivateChecks:[]}){let a=i.value,l=s?s.value:null,_=e?e.getContext(i.value.outlet):null;if(l&&a.routeConfig===l.routeConfig){let O=Jc(l,a,a.routeConfig.runGuardsAndResolvers);O?r.canActivateChecks.push(new Qs(t)):(a.data=l.data,a._resolvedData=l._resolvedData),a.component?$i(i,s,_?_.children:null,t,r):$i(i,s,e,t,r),O&&_&&_.outlet&&_.outlet.isActivated&&r.canDeactivateChecks.push(new mi(_.outlet.component,l))}else l&&Vi(s,_,r),r.canActivateChecks.push(new Qs(t)),a.component?$i(i,null,_?_.children:null,t,r):$i(i,null,e,t,r);return r}function Jc(i,s,e){if(typeof e=="function")return e(i,s);switch(e){case"pathParamsChange":return!ri(i.url,s.url);case"pathParamsOrQueryParamsChange":return!ri(i.url,s.url)||!wt(i.queryParams,s.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!Sn(i,s)||!wt(i.queryParams,s.queryParams);case"paramsChange":default:return!Sn(i,s)}}function Vi(i,s,e){let t=pi(i),r=i.value;Object.entries(t).forEach(([a,l])=>{r.component?s?Vi(l,s.children.getContext(a),e):Vi(l,null,e):Vi(l,s,e)}),r.component?s&&s.outlet&&s.outlet.isActivated?e.canDeactivateChecks.push(new mi(s.outlet.component,r)):e.canDeactivateChecks.push(new mi(null,r)):e.canDeactivateChecks.push(new mi(null,r))}function ns(i){return typeof i=="function"}function Qc(i){return typeof i=="boolean"}function ed(i){return i&&ns(i.canLoad)}function td(i){return i&&ns(i.canActivate)}function id(i){return i&&ns(i.canActivateChild)}function sd(i){return i&&ns(i.canDeactivate)}function rd(i){return i&&ns(i.canMatch)}function Qa(i){return i instanceof Zn||i?.name==="EmptyError"}var _s=Symbol("INITIAL_VALUE");function wi(){return rt(i=>cs(i.map(s=>s.pipe(ai(1),to(_s)))).pipe(ke(s=>{for(let e of s)if(e!==!0){if(e===_s)return _s;if(e===!1||nd(e))return e}return!0}),St(s=>s!==_s),ai(1)))}function nd(i){return ni(i)||i instanceof Ki}function od(i,s){return st(e=>{let{targetSnapshot:t,currentSnapshot:r,guards:{canActivateChecks:a,canDeactivateChecks:l}}=e;return l.length===0&&a.length===0?Se(ze(we({},e),{guardsResult:!0})):ad(l,t,r,i).pipe(st(_=>_&&Qc(_)?ld(t,a,i,s):Se(_)),ke(_=>ze(we({},e),{guardsResult:_})))})}function ad(i,s,e,t){return Je(i).pipe(st(r=>pd(r.component,r.route,e,s,t)),Bt(r=>r!==!0,!0))}function ld(i,s,e,t){return Je(s).pipe(jt(r=>Kn(cd(r.route.parent,t),hd(r.route,t),ud(i,r.path,e),dd(i,r.route,e))),Bt(r=>r!==!0,!0))}function hd(i,s){return i!==null&&s&&s(new bn(i)),Se(!0)}function cd(i,s){return i!==null&&s&&s(new yn(i)),Se(!0)}function dd(i,s,e){let t=s.routeConfig?s.routeConfig.canActivate:null;if(!t||t.length===0)return Se(!0);let r=t.map(a=>ur(()=>{let l=ss(s)??e,_=Ci(a,l),O=td(_)?_.canActivate(s,i):dt(l,()=>_(s,i));return Vt(O).pipe(Bt())}));return Se(r).pipe(wi())}function ud(i,s,e){let t=s[s.length-1],a=s.slice(0,s.length-1).reverse().map(l=>Zc(l)).filter(l=>l!==null).map(l=>ur(()=>{let _=l.guards.map(O=>{let te=ss(l.node)??e,G=Ci(O,te),X=id(G)?G.canActivateChild(t,i):dt(te,()=>G(t,i));return Vt(X).pipe(Bt())});return Se(_).pipe(wi())}));return Se(a).pipe(wi())}function pd(i,s,e,t,r){let a=s&&s.routeConfig?s.routeConfig.canDeactivate:null;if(!a||a.length===0)return Se(!0);let l=a.map(_=>{let O=ss(s)??r,te=Ci(_,O),G=sd(te)?te.canDeactivate(i,s,e,t):dt(O,()=>te(i,s,e,t));return Vt(G).pipe(Bt())});return Se(l).pipe(wi())}function fd(i,s,e,t){let r=s.canLoad;if(r===void 0||r.length===0)return Se(!0);let a=r.map(l=>{let _=Ci(l,i),O=ed(_)?_.canLoad(s,e):dt(i,()=>_(s,e));return Vt(O)});return Se(a).pipe(wi(),el(t))}function el(i){return Yn(Ge(s=>{if(typeof s!="boolean")throw Js(i,s)}),ke(s=>s===!0))}function gd(i,s,e,t){let r=s.canMatch;if(!r||r.length===0)return Se(!0);let a=r.map(l=>{let _=Ci(l,i),O=rd(_)?_.canMatch(s,e):dt(i,()=>_(s,e));return Vt(O)});return Se(a).pipe(wi(),el(t))}var Ji=class{constructor(s){this.segmentGroup=s||null}},Qi=class extends Error{constructor(s){super(),this.urlTree=s}};function ui(i){return Ei(new Ji(i))}function md(i){return Ei(new Fe(4e3,!1))}function yd(i){return Ei(Ka(!1,at.GuardRejected))}var Mn=class{constructor(s,e){this.urlSerializer=s,this.urlTree=e}lineralizeSegments(s,e){let t=[],r=e.root;for(;;){if(t=t.concat(r.segments),r.numberOfChildren===0)return Se(t);if(r.numberOfChildren>1||!r.children[Ee])return md(`${s.redirectTo}`);r=r.children[Ee]}}applyRedirectCommands(s,e,t,r,a){if(typeof e!="string"){let _=e,{queryParams:O,fragment:te,routeConfig:G,url:X,outlet:J,params:A,data:$,title:j}=r,F=dt(a,()=>_({params:A,data:$,queryParams:O,fragment:te,routeConfig:G,url:X,outlet:J,title:j}));if(F instanceof It)throw new Qi(F);e=F}let l=this.applyRedirectCreateUrlTree(e,this.urlSerializer.parse(e),s,t);if(e[0]==="/")throw new Qi(l);return l}applyRedirectCreateUrlTree(s,e,t,r){let a=this.createSegmentGroup(s,e.root,t,r);return new It(a,this.createQueryParams(e.queryParams,this.urlTree.queryParams),e.fragment)}createQueryParams(s,e){let t={};return Object.entries(s).forEach(([r,a])=>{if(typeof a=="string"&&a[0]===":"){let _=a.substring(1);t[r]=e[_]}else t[r]=a}),t}createSegmentGroup(s,e,t,r){let a=this.createSegments(s,e.segments,t,r),l={};return Object.entries(e.children).forEach(([_,O])=>{l[_]=this.createSegmentGroup(s,O,t,r)}),new Oe(a,l)}createSegments(s,e,t,r){return e.map(a=>a.path[0]===":"?this.findPosParam(s,a,r):this.findOrReturn(a,t))}findPosParam(s,e,t){let r=t[e.path.substring(1)];if(!r)throw new Fe(4001,!1);return r}findOrReturn(s,e){let t=0;for(let r of e){if(r.path===s.path)return e.splice(t),r;t++}return s}},Tn={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function vd(i,s,e,t,r){let a=tl(i,s,e);return a.matched?(t=zc(s,t),gd(t,s,e,r).pipe(ke(l=>l===!0?a:we({},Tn)))):Se(a)}function tl(i,s,e){if(s.path==="**")return bd(e);if(s.path==="")return s.pathMatch==="full"&&(i.hasChildren()||e.length>0)?we({},Tn):{matched:!0,consumedSegments:[],remainingSegments:e,parameters:{},positionalParamSegments:{}};let r=(s.matcher||fc)(e,i,s);if(!r)return we({},Tn);let a={};Object.entries(r.posParams??{}).forEach(([_,O])=>{a[_]=O.path});let l=r.consumed.length>0?we(we({},a),r.consumed[r.consumed.length-1].parameters):a;return{matched:!0,consumedSegments:r.consumed,remainingSegments:e.slice(r.consumed.length),parameters:l,positionalParamSegments:r.posParams??{}}}function bd(i){return{matched:!0,parameters:i.length>0?La(i).parameters:{},consumedSegments:i,remainingSegments:[],positionalParamSegments:{}}}function Ta(i,s,e,t){return e.length>0&&Cd(i,e,t)?{segmentGroup:new Oe(s,wd(t,new Oe(e,i.children))),slicedSegments:[]}:e.length===0&&Dd(i,e,t)?{segmentGroup:new Oe(i.segments,xd(i,e,t,i.children)),slicedSegments:e}:{segmentGroup:new Oe(i.segments,i.children),slicedSegments:e}}function xd(i,s,e,t){let r={};for(let a of e)if(ir(i,s,a)&&!t[mt(a)]){let l=new Oe([],{});r[mt(a)]=l}return we(we({},t),r)}function wd(i,s){let e={};e[Ee]=s;for(let t of i)if(t.path===""&&mt(t)!==Ee){let r=new Oe([],{});e[mt(t)]=r}return e}function Cd(i,s,e){return e.some(t=>ir(i,s,t)&&mt(t)!==Ee)}function Dd(i,s,e){return e.some(t=>ir(i,s,t))}function ir(i,s,e){return(i.hasChildren()||s.length>0)&&e.pathMatch==="full"?!1:e.path===""}function Sd(i,s,e){return s.length===0&&!i.children[e]}var kn=class{};function Ad(i,s,e,t,r,a,l="emptyOnly"){return new Pn(i,s,e,t,r,l,a).recognize()}var Ed=31,Pn=class{constructor(s,e,t,r,a,l,_){this.injector=s,this.configLoader=e,this.rootComponentType=t,this.config=r,this.urlTree=a,this.paramsInheritanceStrategy=l,this.urlSerializer=_,this.applyRedirects=new Mn(this.urlSerializer,this.urlTree),this.absoluteRedirectCount=0,this.allowRedirects=!0}noMatchError(s){return new Fe(4002,`'${s.segmentGroup}'`)}recognize(){let s=Ta(this.urlTree.root,[],[],this.config).segmentGroup;return this.match(s).pipe(ke(({children:e,rootSnapshot:t})=>{let r=new ot(t,e),a=new Ks("",r),l=Ic(t,[],this.urlTree.queryParams,this.urlTree.fragment);return l.queryParams=this.urlTree.queryParams,a.url=this.urlSerializer.serialize(l),{state:a,tree:l}}))}match(s){let e=new gi([],Object.freeze({}),Object.freeze(we({},this.urlTree.queryParams)),this.urlTree.fragment,Object.freeze({}),Ee,this.rootComponentType,null,{});return this.processSegmentGroup(this.injector,this.config,s,Ee,e).pipe(ke(t=>({children:t,rootSnapshot:e})),At(t=>{if(t instanceof Qi)return this.urlTree=t.urlTree,this.match(t.urlTree.root);throw t instanceof Ji?this.noMatchError(t):t}))}processSegmentGroup(s,e,t,r,a){return t.segments.length===0&&t.hasChildren()?this.processChildren(s,e,t,a):this.processSegment(s,e,t,t.segments,r,!0,a).pipe(ke(l=>l instanceof ot?[l]:[]))}processChildren(s,e,t,r){let a=[];for(let l of Object.keys(t.children))l==="primary"?a.unshift(l):a.push(l);return Je(a).pipe(jt(l=>{let _=t.children[l],O=Uc(e,l);return this.processSegmentGroup(s,O,_,l,r)}),eo((l,_)=>(l.push(..._),l)),pr(null),Qn(),st(l=>{if(l===null)return ui(t);let _=il(l);return Md(_),Se(_)}))}processSegment(s,e,t,r,a,l,_){return Je(e).pipe(jt(O=>this.processSegmentAgainstRoute(O._injector??s,e,O,t,r,a,l,_).pipe(At(te=>{if(te instanceof Ji)return Se(null);throw te}))),Bt(O=>!!O),At(O=>{if(Qa(O))return Sd(t,r,a)?Se(new kn):ui(t);throw O}))}processSegmentAgainstRoute(s,e,t,r,a,l,_,O){return mt(t)!==l&&(l===Ee||!ir(r,a,t))?ui(r):t.redirectTo===void 0?this.matchSegmentAgainstRoute(s,r,t,a,l,O):this.allowRedirects&&_?this.expandSegmentAgainstRouteUsingRedirect(s,r,e,t,a,l,O):ui(r)}expandSegmentAgainstRouteUsingRedirect(s,e,t,r,a,l,_){let{matched:O,parameters:te,consumedSegments:G,positionalParamSegments:X,remainingSegments:J}=tl(e,r,a);if(!O)return ui(e);typeof r.redirectTo=="string"&&r.redirectTo[0]==="/"&&(this.absoluteRedirectCount++,this.absoluteRedirectCount>Ed&&(this.allowRedirects=!1));let A=new gi(a,te,Object.freeze(we({},this.urlTree.queryParams)),this.urlTree.fragment,ka(r),mt(r),r.component??r._loadedComponent??null,r,Pa(r)),$=Zs(A,_,this.paramsInheritanceStrategy);A.params=Object.freeze($.params),A.data=Object.freeze($.data);let j=this.applyRedirects.applyRedirectCommands(G,r.redirectTo,X,A,s);return this.applyRedirects.lineralizeSegments(r,j).pipe(st(F=>this.processSegment(s,t,e,F.concat(J),l,!1,_)))}matchSegmentAgainstRoute(s,e,t,r,a,l){let _=vd(e,t,r,s,this.urlSerializer);return t.path==="**"&&(e.children={}),_.pipe(rt(O=>O.matched?(s=t._injector??s,this.getChildConfig(s,t,r).pipe(rt(({routes:te})=>{let G=t._loadedInjector??s,{parameters:X,consumedSegments:J,remainingSegments:A}=O,$=new gi(J,X,Object.freeze(we({},this.urlTree.queryParams)),this.urlTree.fragment,ka(t),mt(t),t.component??t._loadedComponent??null,t,Pa(t)),j=Zs($,l,this.paramsInheritanceStrategy);$.params=Object.freeze(j.params),$.data=Object.freeze(j.data);let{segmentGroup:F,slicedSegments:C}=Ta(e,J,A,te);if(C.length===0&&F.hasChildren())return this.processChildren(G,te,F,$).pipe(ke(E=>new ot($,E)));if(te.length===0&&C.length===0)return Se(new ot($,[]));let M=mt(t)===a;return this.processSegment(G,te,F,C,M?Ee:a,!0,$).pipe(ke(E=>new ot($,E instanceof ot?[E]:[])))}))):ui(e)))}getChildConfig(s,e,t){return e.children?Se({routes:e.children,injector:s}):e.loadChildren?e._loadedRoutes!==void 0?Se({routes:e._loadedRoutes,injector:e._loadedInjector}):fd(s,e,t,this.urlSerializer).pipe(st(r=>r?this.configLoader.loadChildren(s,e).pipe(Ge(a=>{e._loadedRoutes=a.routes,e._loadedInjector=a.injector})):yd(e))):Se({routes:[],injector:s})}};function Md(i){i.sort((s,e)=>s.value.outlet===Ee?-1:e.value.outlet===Ee?1:s.value.outlet.localeCompare(e.value.outlet))}function Td(i){let s=i.value.routeConfig;return s&&s.path===""}function il(i){let s=[],e=new Set;for(let t of i){if(!Td(t)){s.push(t);continue}let r=s.find(a=>t.value.routeConfig===a.value.routeConfig);r!==void 0?(r.children.push(...t.children),e.add(r)):s.push(t)}for(let t of e){let r=il(t.children);s.push(new ot(t.value,r))}return s.filter(t=>!e.has(t))}function ka(i){return i.data||{}}function Pa(i){return i.resolve||{}}function kd(i,s,e,t,r,a){return st(l=>Ad(i,s,e,t,l.extractedUrl,r,a).pipe(ke(({state:_,tree:O})=>ze(we({},l),{targetSnapshot:_,urlAfterRedirects:O}))))}function Pd(i,s){return st(e=>{let{targetSnapshot:t,guards:{canActivateChecks:r}}=e;if(!r.length)return Se(e);let a=new Set(r.map(O=>O.route)),l=new Set;for(let O of a)if(!l.has(O))for(let te of sl(O))l.add(te);let _=0;return Je(l).pipe(jt(O=>a.has(O)?Rd(O,t,i,s):(O.data=Zs(O,O.parent,i).resolve,Se(void 0))),Ge(()=>_++),fr(1),st(O=>_===l.size?Se(e):Nt))})}function sl(i){let s=i.children.map(e=>sl(e)).flat();return[i,...s]}function Rd(i,s,e,t){let r=i.routeConfig,a=i._resolve;return r?.title!==void 0&&!qa(r)&&(a[ts]=r.title),Od(a,i,s,t).pipe(ke(l=>(i._resolvedData=l,i.data=Zs(i,i.parent,e).resolve,null)))}function Od(i,s,e,t){let r=an(i);if(r.length===0)return Se({});let a={};return Je(r).pipe(st(l=>Id(i[l],s,e,t).pipe(Bt(),Ge(_=>{if(_ instanceof Ki)throw Js(new vi,_);a[l]=_}))),fr(1),Jn(a),At(l=>Qa(l)?Nt:Ei(l)))}function Id(i,s,e,t){let r=ss(s)??t,a=Ci(i,r),l=a.resolve?a.resolve(s,e):dt(r,()=>a(s,e));return Vt(l)}function nn(i){return rt(s=>{let e=i(s);return e?Je(e).pipe(ke(()=>s)):Se(s)})}var rl=(()=>{class i{buildTitle(e){let t,r=e.root;for(;r!==void 0;)t=this.getResolvedTitleForRoute(r)??t,r=r.children.find(a=>a.outlet===Ee);return t}getResolvedTitleForRoute(e){return e.data[ts]}static{this.\u0275fac=function(t){return new(t||i)}}static{this.\u0275prov=De({token:i,factory:()=>xe(Ld),providedIn:"root"})}}return i})(),Ld=(()=>{class i extends rl{constructor(e){super(),this.title=e}updateTitle(e){let t=this.buildTitle(e);t!==void 0&&this.title.setTitle(t)}static{this.\u0275fac=function(t){return new(t||i)(Ce(Ca))}}static{this.\u0275prov=De({token:i,factory:i.\u0275fac,providedIn:"root"})}}return i})(),os=new Te("",{providedIn:"root",factory:()=>({})}),Fd=(()=>{class i{static{this.\u0275fac=function(t){return new(t||i)}}static{this.\u0275cmp=no({type:i,selectors:[["ng-component"]],standalone:!0,features:[Po],decls:1,vars:0,template:function(t,r){t&1&&To(0,"router-outlet")},dependencies:[Hc],encapsulation:2})}}return i})();function In(i){let s=i.children&&i.children.map(In),e=s?ze(we({},i),{children:s}):we({},i);return!e.component&&!e.loadComponent&&(s||e.loadChildren)&&e.outlet&&e.outlet!==Ee&&(e.component=Fd),e}var es=new Te(""),Ln=(()=>{class i{constructor(){this.componentLoaders=new WeakMap,this.childrenLoaders=new WeakMap,this.compiler=xe(xs)}loadComponent(e){if(this.componentLoaders.get(e))return this.componentLoaders.get(e);if(e._loadedComponent)return Se(e._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(e);let t=Vt(e.loadComponent()).pipe(ke(nl),Ge(a=>{this.onLoadEndListener&&this.onLoadEndListener(e),e._loadedComponent=a}),li(()=>{this.componentLoaders.delete(e)})),r=new cr(t,()=>new Ft).pipe(hr());return this.componentLoaders.set(e,r),r}loadChildren(e,t){if(this.childrenLoaders.get(t))return this.childrenLoaders.get(t);if(t._loadedRoutes)return Se({routes:t._loadedRoutes,injector:t._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(t);let a=Nd(t,this.compiler,e,this.onLoadEndListener).pipe(li(()=>{this.childrenLoaders.delete(t)})),l=new cr(a,()=>new Ft).pipe(hr());return this.childrenLoaders.set(t,l),l}static{this.\u0275fac=function(t){return new(t||i)}}static{this.\u0275prov=De({token:i,factory:i.\u0275fac,providedIn:"root"})}}return i})();function Nd(i,s,e,t){return Vt(i.loadChildren()).pipe(ke(nl),st(r=>r instanceof Do||Array.isArray(r)?Se(r):Je(s.compileModuleAsync(r))),ke(r=>{t&&t(i);let a,l,_=!1;return Array.isArray(r)?(l=r,_=!0):(a=r.create(e).injector,l=a.get(es,[],{optional:!0,self:!0}).flat()),{routes:l.map(In),injector:a}}))}function jd(i){return i&&typeof i=="object"&&"default"in i}function nl(i){return jd(i)?i.default:i}var Fn=(()=>{class i{static{this.\u0275fac=function(t){return new(t||i)}}static{this.\u0275prov=De({token:i,factory:()=>xe(Bd),providedIn:"root"})}}return i})(),Bd=(()=>{class i{shouldProcessUrl(e){return!0}extract(e){return e}merge(e,t){return e}static{this.\u0275fac=function(t){return new(t||i)}}static{this.\u0275prov=De({token:i,factory:i.\u0275fac,providedIn:"root"})}}return i})(),ol=new Te(""),al=new Te("");function _d(i,s,e){let t=i.get(al),r=i.get(We);return i.get(tt).runOutsideAngular(()=>{if(!r.startViewTransition||t.skipNextTransition)return t.skipNextTransition=!1,new Promise(te=>setTimeout(te));let a,l=new Promise(te=>{a=te}),_=r.startViewTransition(()=>(a(),zd(i))),{onViewTransitionCreated:O}=t;return O&&dt(i,()=>O({transition:_,from:s,to:e})),l})}function zd(i){return new Promise(s=>{Ao({read:()=>setTimeout(s)},{injector:i})})}var Ud=new Te(""),Nn=(()=>{class i{get hasRequestedNavigation(){return this.navigationId!==0}constructor(){this.currentNavigation=null,this.currentTransition=null,this.lastSuccessfulNavigation=null,this.events=new Ft,this.transitionAbortSubject=new Ft,this.configLoader=xe(Ln),this.environmentInjector=xe(qt),this.urlSerializer=xe(is),this.rootContexts=xe(rs),this.location=xe(di),this.inputBindingEnabled=xe(tr,{optional:!0})!==null,this.titleStrategy=xe(rl),this.options=xe(os,{optional:!0})||{},this.paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly",this.urlHandlingStrategy=xe(Fn),this.createViewTransition=xe(ol,{optional:!0}),this.navigationErrorHandler=xe(Ud,{optional:!0}),this.navigationId=0,this.afterPreactivation=()=>Se(void 0),this.rootComponentType=null;let e=r=>this.events.next(new gn(r)),t=r=>this.events.next(new mn(r));this.configLoader.onLoadEndListener=t,this.configLoader.onLoadStartListener=e}complete(){this.transitions?.complete()}handleNavigationRequest(e){let t=++this.navigationId;this.transitions?.next(ze(we(we({},this.transitions.value),e),{id:t}))}setupNavigations(e,t,r){return this.transitions=new et({id:0,currentUrlTree:t,currentRawUrl:t,extractedUrl:this.urlHandlingStrategy.extract(t),urlAfterRedirects:this.urlHandlingStrategy.extract(t),rawUrl:t,extras:{},resolve:()=>{},reject:()=>{},promise:Promise.resolve(!0),source:Wi,restoredState:null,currentSnapshot:r.snapshot,targetSnapshot:null,currentRouterState:r,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.transitions.pipe(St(a=>a.id!==0),ke(a=>ze(we({},a),{extractedUrl:this.urlHandlingStrategy.extract(a.rawUrl)})),rt(a=>{let l=!1,_=!1;return Se(a).pipe(rt(O=>{if(this.navigationId>a.id)return this.cancelNavigationTransition(a,"",at.SupersededByNewNavigation),Nt;this.currentTransition=a,this.currentNavigation={id:O.id,initialUrl:O.rawUrl,extractedUrl:O.extractedUrl,targetBrowserUrl:typeof O.extras.browserUrl=="string"?this.urlSerializer.parse(O.extras.browserUrl):O.extras.browserUrl,trigger:O.source,extras:O.extras,previousNavigation:this.lastSuccessfulNavigation?ze(we({},this.lastSuccessfulNavigation),{previousNavigation:null}):null};let te=!e.navigated||this.isUpdatingInternalState()||this.isUpdatedBrowserUrl(),G=O.extras.onSameUrlNavigation??e.onSameUrlNavigation;if(!te&&G!=="reload"){let X="";return this.events.next(new Wt(O.id,this.urlSerializer.serialize(O.rawUrl),X,Ws.IgnoredSameUrlNavigation)),O.resolve(!1),Nt}if(this.urlHandlingStrategy.shouldProcessUrl(O.rawUrl))return Se(O).pipe(rt(X=>{let J=this.transitions?.getValue();return this.events.next(new bi(X.id,this.urlSerializer.serialize(X.extractedUrl),X.source,X.restoredState)),J!==this.transitions?.getValue()?Nt:Promise.resolve(X)}),kd(this.environmentInjector,this.configLoader,this.rootComponentType,e.config,this.urlSerializer,this.paramsInheritanceStrategy),Ge(X=>{a.targetSnapshot=X.targetSnapshot,a.urlAfterRedirects=X.urlAfterRedirects,this.currentNavigation=ze(we({},this.currentNavigation),{finalUrl:X.urlAfterRedirects});let J=new Vs(X.id,this.urlSerializer.serialize(X.extractedUrl),this.urlSerializer.serialize(X.urlAfterRedirects),X.targetSnapshot);this.events.next(J)}));if(te&&this.urlHandlingStrategy.shouldProcessUrl(O.currentRawUrl)){let{id:X,extractedUrl:J,source:A,restoredState:$,extras:j}=O,F=new bi(X,this.urlSerializer.serialize(J),A,$);this.events.next(F);let C=Xa(this.rootComponentType).snapshot;return this.currentTransition=a=ze(we({},O),{targetSnapshot:C,urlAfterRedirects:J,extras:ze(we({},j),{skipLocationChange:!1,replaceUrl:!1})}),this.currentNavigation.finalUrl=J,Se(a)}else{let X="";return this.events.next(new Wt(O.id,this.urlSerializer.serialize(O.extractedUrl),X,Ws.IgnoredByUrlHandlingStrategy)),O.resolve(!1),Nt}}),Ge(O=>{let te=new dn(O.id,this.urlSerializer.serialize(O.extractedUrl),this.urlSerializer.serialize(O.urlAfterRedirects),O.targetSnapshot);this.events.next(te)}),ke(O=>(this.currentTransition=a=ze(we({},O),{guards:qc(O.targetSnapshot,O.currentSnapshot,this.rootContexts)}),a)),od(this.environmentInjector,O=>this.events.next(O)),Ge(O=>{if(a.guardsResult=O.guardsResult,O.guardsResult&&typeof O.guardsResult!="boolean")throw Js(this.urlSerializer,O.guardsResult);let te=new un(O.id,this.urlSerializer.serialize(O.extractedUrl),this.urlSerializer.serialize(O.urlAfterRedirects),O.targetSnapshot,!!O.guardsResult);this.events.next(te)}),St(O=>O.guardsResult?!0:(this.cancelNavigationTransition(O,"",at.GuardRejected),!1)),nn(O=>{if(O.guards.canActivateChecks.length)return Se(O).pipe(Ge(te=>{let G=new pn(te.id,this.urlSerializer.serialize(te.extractedUrl),this.urlSerializer.serialize(te.urlAfterRedirects),te.targetSnapshot);this.events.next(G)}),rt(te=>{let G=!1;return Se(te).pipe(Pd(this.paramsInheritanceStrategy,this.environmentInjector),Ge({next:()=>G=!0,complete:()=>{G||this.cancelNavigationTransition(te,"",at.NoDataFromResolver)}}))}),Ge(te=>{let G=new fn(te.id,this.urlSerializer.serialize(te.extractedUrl),this.urlSerializer.serialize(te.urlAfterRedirects),te.targetSnapshot);this.events.next(G)}))}),nn(O=>{let te=G=>{let X=[];G.routeConfig?.loadComponent&&!G.routeConfig._loadedComponent&&X.push(this.configLoader.loadComponent(G.routeConfig).pipe(Ge(J=>{G.component=J}),ke(()=>{})));for(let J of G.children)X.push(...te(J));return X};return cs(te(O.targetSnapshot.root)).pipe(pr(null),ai(1))}),nn(()=>this.afterPreactivation()),rt(()=>{let{currentSnapshot:O,targetSnapshot:te}=a,G=this.createViewTransition?.(this.environmentInjector,O.root,te.root);return G?Je(G).pipe(ke(()=>a)):Se(a)}),ke(O=>{let te=Gc(e.routeReuseStrategy,O.targetSnapshot,O.currentRouterState);return this.currentTransition=a=ze(we({},O),{targetRouterState:te}),this.currentNavigation.targetRouterState=te,a}),Ge(()=>{this.events.next(new qi)}),Yc(this.rootContexts,e.routeReuseStrategy,O=>this.events.next(O),this.inputBindingEnabled),ai(1),Ge({next:O=>{l=!0,this.lastSuccessfulNavigation=this.currentNavigation,this.events.next(new Ct(O.id,this.urlSerializer.serialize(O.extractedUrl),this.urlSerializer.serialize(O.urlAfterRedirects))),this.titleStrategy?.updateTitle(O.targetRouterState.snapshot),O.resolve(!0)},complete:()=>{l=!0}}),io(this.transitionAbortSubject.pipe(Ge(O=>{throw O}))),li(()=>{!l&&!_&&this.cancelNavigationTransition(a,"",at.SupersededByNewNavigation),this.currentTransition?.id===a.id&&(this.currentNavigation=null,this.currentTransition=null)}),At(O=>{if(_=!0,Ja(O))this.events.next(new Ot(a.id,this.urlSerializer.serialize(a.extractedUrl),O.message,O.cancellationCode)),Xc(O)?this.events.next(new xi(O.url,O.navigationBehaviorOptions)):a.resolve(!1);else{let te=new Yi(a.id,this.urlSerializer.serialize(a.extractedUrl),O,a.targetSnapshot??void 0);try{let G=dt(this.environmentInjector,()=>this.navigationErrorHandler?.(te));if(G instanceof Ki){let{message:X,cancellationCode:J}=Js(this.urlSerializer,G);this.events.next(new Ot(a.id,this.urlSerializer.serialize(a.extractedUrl),X,J)),this.events.next(new xi(G.redirectTo,G.navigationBehaviorOptions))}else{this.events.next(te);let X=e.errorHandler(O);a.resolve(!!X)}}catch(G){this.options.resolveNavigationPromiseOnError?a.resolve(!1):a.reject(G)}}return Nt}))}))}cancelNavigationTransition(e,t,r){let a=new Ot(e.id,this.urlSerializer.serialize(e.extractedUrl),t,r);this.events.next(a),e.resolve(!1)}isUpdatingInternalState(){return this.currentTransition?.extractedUrl.toString()!==this.currentTransition?.currentUrlTree.toString()}isUpdatedBrowserUrl(){let e=this.urlHandlingStrategy.extract(this.urlSerializer.parse(this.location.path(!0))),t=this.currentNavigation?.targetBrowserUrl??this.currentNavigation?.extractedUrl;return e.toString()!==t?.toString()&&!this.currentNavigation?.extras.skipLocationChange}static{this.\u0275fac=function(t){return new(t||i)}}static{this.\u0275prov=De({token:i,factory:i.\u0275fac,providedIn:"root"})}}return i})();function $d(i){return i!==Wi}var Hd=(()=>{class i{static{this.\u0275fac=function(t){return new(t||i)}}static{this.\u0275prov=De({token:i,factory:()=>xe(Gd),providedIn:"root"})}}return i})(),Rn=class{shouldDetach(s){return!1}store(s,e){}shouldAttach(s){return!1}retrieve(s){return null}shouldReuseRoute(s,e){return s.routeConfig===e.routeConfig}},Gd=(()=>{class i extends Rn{static{this.\u0275fac=(()=>{let e;return function(r){return(e||(e=yr(i)))(r||i)}})()}static{this.\u0275prov=De({token:i,factory:i.\u0275fac,providedIn:"root"})}}return i})(),ll=(()=>{class i{static{this.\u0275fac=function(t){return new(t||i)}}static{this.\u0275prov=De({token:i,factory:()=>xe(Wd),providedIn:"root"})}}return i})(),Wd=(()=>{class i extends ll{constructor(){super(...arguments),this.location=xe(di),this.urlSerializer=xe(is),this.options=xe(os,{optional:!0})||{},this.canceledNavigationResolution=this.options.canceledNavigationResolution||"replace",this.urlHandlingStrategy=xe(Fn),this.urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred",this.currentUrlTree=new It,this.rawUrlTree=this.currentUrlTree,this.currentPageId=0,this.lastSuccessfulId=-1,this.routerState=Xa(null),this.stateMemento=this.createStateMemento()}getCurrentUrlTree(){return this.currentUrlTree}getRawUrlTree(){return this.rawUrlTree}restoredState(){return this.location.getState()}get browserPageId(){return this.canceledNavigationResolution!=="computed"?this.currentPageId:this.restoredState()?.\u0275routerPageId??this.currentPageId}getRouterState(){return this.routerState}createStateMemento(){return{rawUrlTree:this.rawUrlTree,currentUrlTree:this.currentUrlTree,routerState:this.routerState}}registerNonRouterCurrentEntryChangeListener(e){return this.location.subscribe(t=>{t.type==="popstate"&&e(t.url,t.state)})}handleRouterEvent(e,t){if(e instanceof bi)this.stateMemento=this.createStateMemento();else if(e instanceof Wt)this.rawUrlTree=t.initialUrl;else if(e instanceof Vs){if(this.urlUpdateStrategy==="eager"&&!t.extras.skipLocationChange){let r=this.urlHandlingStrategy.merge(t.finalUrl,t.initialUrl);this.setBrowserUrl(t.targetBrowserUrl??r,t)}}else e instanceof qi?(this.currentUrlTree=t.finalUrl,this.rawUrlTree=this.urlHandlingStrategy.merge(t.finalUrl,t.initialUrl),this.routerState=t.targetRouterState,this.urlUpdateStrategy==="deferred"&&!t.extras.skipLocationChange&&this.setBrowserUrl(t.targetBrowserUrl??this.rawUrlTree,t)):e instanceof Ot&&(e.code===at.GuardRejected||e.code===at.NoDataFromResolver)?this.restoreHistory(t):e instanceof Yi?this.restoreHistory(t,!0):e instanceof Ct&&(this.lastSuccessfulId=e.id,this.currentPageId=this.browserPageId)}setBrowserUrl(e,t){let r=e instanceof It?this.urlSerializer.serialize(e):e;if(this.location.isCurrentPathEqualTo(r)||t.extras.replaceUrl){let a=this.browserPageId,l=we(we({},t.extras.state),this.generateNgRouterState(t.id,a));this.location.replaceState(r,"",l)}else{let a=we(we({},t.extras.state),this.generateNgRouterState(t.id,this.browserPageId+1));this.location.go(r,"",a)}}restoreHistory(e,t=!1){if(this.canceledNavigationResolution==="computed"){let r=this.browserPageId,a=this.currentPageId-r;a!==0?this.location.historyGo(a):this.currentUrlTree===e.finalUrl&&a===0&&(this.resetState(e),this.resetUrlToCurrentUrlTree())}else this.canceledNavigationResolution==="replace"&&(t&&this.resetState(e),this.resetUrlToCurrentUrlTree())}resetState(e){this.routerState=this.stateMemento.routerState,this.currentUrlTree=this.stateMemento.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,e.finalUrl??this.rawUrlTree)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(e,t){return this.canceledNavigationResolution==="computed"?{navigationId:e,\u0275routerPageId:t}:{navigationId:e}}static{this.\u0275fac=(()=>{let e;return function(r){return(e||(e=yr(i)))(r||i)}})()}static{this.\u0275prov=De({token:i,factory:i.\u0275fac,providedIn:"root"})}}return i})(),Hi=function(i){return i[i.COMPLETE=0]="COMPLETE",i[i.FAILED=1]="FAILED",i[i.REDIRECTING=2]="REDIRECTING",i}(Hi||{});function hl(i,s){i.events.pipe(St(e=>e instanceof Ct||e instanceof Ot||e instanceof Yi||e instanceof Wt),ke(e=>e instanceof Ct||e instanceof Wt?Hi.COMPLETE:(e instanceof Ot?e.code===at.Redirect||e.code===at.SupersededByNewNavigation:!1)?Hi.REDIRECTING:Hi.FAILED),St(e=>e!==Hi.REDIRECTING),ai(1)).subscribe(()=>{s()})}function Vd(i){throw i}var Xd={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},Yd={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"},lt=(()=>{class i{get currentUrlTree(){return this.stateManager.getCurrentUrlTree()}get rawUrlTree(){return this.stateManager.getRawUrlTree()}get events(){return this._events}get routerState(){return this.stateManager.getRouterState()}constructor(){this.disposed=!1,this.console=xe(fs),this.stateManager=xe(ll),this.options=xe(os,{optional:!0})||{},this.pendingTasks=xe(ds),this.urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred",this.navigationTransitions=xe(Nn),this.urlSerializer=xe(is),this.location=xe(di),this.urlHandlingStrategy=xe(Fn),this._events=new Ft,this.errorHandler=this.options.errorHandler||Vd,this.navigated=!1,this.routeReuseStrategy=xe(Hd),this.onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore",this.config=xe(es,{optional:!0})?.flat()??[],this.componentInputBindingEnabled=!!xe(tr,{optional:!0}),this.eventsSubscription=new Xn,this.resetConfig(this.config),this.navigationTransitions.setupNavigations(this,this.currentUrlTree,this.routerState).subscribe({error:e=>{this.console.warn(e)}}),this.subscribeToNavigationEvents()}subscribeToNavigationEvents(){let e=this.navigationTransitions.events.subscribe(t=>{try{let r=this.navigationTransitions.currentTransition,a=this.navigationTransitions.currentNavigation;if(r!==null&&a!==null){if(this.stateManager.handleRouterEvent(t,a),t instanceof Ot&&t.code!==at.Redirect&&t.code!==at.SupersededByNewNavigation)this.navigated=!0;else if(t instanceof Ct)this.navigated=!0;else if(t instanceof xi){let l=t.navigationBehaviorOptions,_=this.urlHandlingStrategy.merge(t.url,r.currentRawUrl),O=we({browserUrl:r.extras.browserUrl,info:r.extras.info,skipLocationChange:r.extras.skipLocationChange,replaceUrl:r.extras.replaceUrl||this.urlUpdateStrategy==="eager"||$d(r.source)},l);this.scheduleNavigation(_,Wi,null,O,{resolve:r.resolve,reject:r.reject,promise:r.promise})}}Zd(t)&&this._events.next(t)}catch(r){this.navigationTransitions.transitionAbortSubject.next(r)}});this.eventsSubscription.add(e)}resetRootComponentType(e){this.routerState.root.component=e,this.navigationTransitions.rootComponentType=e}initialNavigation(){this.setUpLocationChangeListener(),this.navigationTransitions.hasRequestedNavigation||this.navigateToSyncWithBrowser(this.location.path(!0),Wi,this.stateManager.restoredState())}setUpLocationChangeListener(){this.nonRouterCurrentEntryChangeSubscription??=this.stateManager.registerNonRouterCurrentEntryChangeListener((e,t)=>{setTimeout(()=>{this.navigateToSyncWithBrowser(e,"popstate",t)},0)})}navigateToSyncWithBrowser(e,t,r){let a={replaceUrl:!0},l=r?.navigationId?r:null;if(r){let O=we({},r);delete O.navigationId,delete O.\u0275routerPageId,Object.keys(O).length!==0&&(a.state=O)}let _=this.parseUrl(e);this.scheduleNavigation(_,t,l,a)}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.navigationTransitions.currentNavigation}get lastSuccessfulNavigation(){return this.navigationTransitions.lastSuccessfulNavigation}resetConfig(e){this.config=e.map(In),this.navigated=!1}ngOnDestroy(){this.dispose()}dispose(){this.navigationTransitions.complete(),this.nonRouterCurrentEntryChangeSubscription&&(this.nonRouterCurrentEntryChangeSubscription.unsubscribe(),this.nonRouterCurrentEntryChangeSubscription=void 0),this.disposed=!0,this.eventsSubscription.unsubscribe()}createUrlTree(e,t={}){let{relativeTo:r,queryParams:a,fragment:l,queryParamsHandling:_,preserveFragment:O}=t,te=O?this.currentUrlTree.fragment:l,G=null;switch(_??this.options.defaultQueryParamsHandling){case"merge":G=we(we({},this.currentUrlTree.queryParams),a);break;case"preserve":G=this.currentUrlTree.queryParams;break;default:G=a||null}G!==null&&(G=this.removeEmptyProps(G));let X;try{let J=r?r.snapshot:this.routerState.snapshot.root;X=Ha(J)}catch{(typeof e[0]!="string"||e[0][0]!=="/")&&(e=[]),X=this.currentUrlTree.root}return Ga(X,e,G,te??null)}navigateByUrl(e,t={skipLocationChange:!1}){let r=ni(e)?e:this.parseUrl(e),a=this.urlHandlingStrategy.merge(r,this.rawUrlTree);return this.scheduleNavigation(a,Wi,null,t)}navigate(e,t={skipLocationChange:!1}){return qd(e),this.navigateByUrl(this.createUrlTree(e,t),t)}serializeUrl(e){return this.urlSerializer.serialize(e)}parseUrl(e){try{return this.urlSerializer.parse(e)}catch{return this.urlSerializer.parse("/")}}isActive(e,t){let r;if(t===!0?r=we({},Xd):t===!1?r=we({},Yd):r=t,ni(e))return Da(this.currentUrlTree,e,r);let a=this.parseUrl(e);return Da(this.currentUrlTree,a,r)}removeEmptyProps(e){return Object.entries(e).reduce((t,[r,a])=>(a!=null&&(t[r]=a),t),{})}scheduleNavigation(e,t,r,a,l){if(this.disposed)return Promise.resolve(!1);let _,O,te;l?(_=l.resolve,O=l.reject,te=l.promise):te=new Promise((X,J)=>{_=X,O=J});let G=this.pendingTasks.add();return hl(this,()=>{queueMicrotask(()=>this.pendingTasks.remove(G))}),this.navigationTransitions.handleNavigationRequest({source:t,restoredState:r,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,rawUrl:e,extras:a,resolve:_,reject:O,promise:te,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),te.catch(X=>Promise.reject(X))}static{this.\u0275fac=function(t){return new(t||i)}}static{this.\u0275prov=De({token:i,factory:i.\u0275fac,providedIn:"root"})}}return i})();function qd(i){for(let s=0;s{class i{constructor(e,t,r,a,l,_){this.router=e,this.route=t,this.tabIndexAttribute=r,this.renderer=a,this.el=l,this.locationStrategy=_,this.href=null,this.onChanges=new Ft,this.preserveFragment=!1,this.skipLocationChange=!1,this.replaceUrl=!1,this.routerLinkInput=null;let O=l.nativeElement.tagName?.toLowerCase();this.isAnchorElement=O==="a"||O==="area",this.isAnchorElement?this.subscription=e.events.subscribe(te=>{te instanceof Ct&&this.updateHref()}):this.setTabIndexIfNotOnNativeEl("0")}setTabIndexIfNotOnNativeEl(e){this.tabIndexAttribute!=null||this.isAnchorElement||this.applyAttributeValue("tabindex",e)}ngOnChanges(e){this.isAnchorElement&&this.updateHref(),this.onChanges.next(this)}set routerLink(e){e==null?(this.routerLinkInput=null,this.setTabIndexIfNotOnNativeEl(null)):(ni(e)?this.routerLinkInput=e:this.routerLinkInput=Array.isArray(e)?e:[e],this.setTabIndexIfNotOnNativeEl("0"))}onClick(e,t,r,a,l){let _=this.urlTree;if(_===null||this.isAnchorElement&&(e!==0||t||r||a||l||typeof this.target=="string"&&this.target!="_self"))return!0;let O={skipLocationChange:this.skipLocationChange,replaceUrl:this.replaceUrl,state:this.state,info:this.info};return this.router.navigateByUrl(_,O),!this.isAnchorElement}ngOnDestroy(){this.subscription?.unsubscribe()}updateHref(){let e=this.urlTree;this.href=e!==null&&this.locationStrategy?this.locationStrategy?.prepareExternalUrl(this.router.serializeUrl(e)):null;let t=this.href===null?null:bo(this.href,this.el.nativeElement.tagName.toLowerCase(),"href");this.applyAttributeValue("href",t)}applyAttributeValue(e,t){let r=this.renderer,a=this.el.nativeElement;t!==null?r.setAttribute(a,e,t):r.removeAttribute(a,e)}get urlTree(){return this.routerLinkInput===null?null:ni(this.routerLinkInput)?this.routerLinkInput:this.router.createUrlTree(this.routerLinkInput,{relativeTo:this.relativeTo!==void 0?this.relativeTo:this.route,queryParams:this.queryParams,fragment:this.fragment,queryParamsHandling:this.queryParamsHandling,preserveFragment:this.preserveFragment})}static{this.\u0275fac=function(t){return new(t||i)(Ue(lt),Ue(Ke),vr("tabindex"),Ue(ei),Ue(Kt),Ue(xt))}}static{this.\u0275dir=Et({type:i,selectors:[["","routerLink",""]],hostVars:1,hostBindings:function(t,r){t&1&&ko("click",function(l){return r.onClick(l.button,l.ctrlKey,l.shiftKey,l.altKey,l.metaKey)}),t&2&&Eo("target",r.target)},inputs:{target:"target",queryParams:"queryParams",fragment:"fragment",queryParamsHandling:"queryParamsHandling",state:"state",info:"info",relativeTo:"relativeTo",preserveFragment:[2,"preserveFragment","preserveFragment",Mt],skipLocationChange:[2,"skipLocationChange","skipLocationChange",Mt],replaceUrl:[2,"replaceUrl","replaceUrl",Mt],routerLink:"routerLink"},standalone:!0,features:[ps,Zt]})}}return i})();var er=class{},Gp=(()=>{class i{preload(e,t){return t().pipe(At(()=>Se(null)))}static{this.\u0275fac=function(t){return new(t||i)}}static{this.\u0275prov=De({token:i,factory:i.\u0275fac,providedIn:"root"})}}return i})();var Kd=(()=>{class i{constructor(e,t,r,a,l){this.router=e,this.injector=r,this.preloadingStrategy=a,this.loader=l}setUpPreloading(){this.subscription=this.router.events.pipe(St(e=>e instanceof Ct),jt(()=>this.preload())).subscribe(()=>{})}preload(){return this.processRoutes(this.injector,this.router.config)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}processRoutes(e,t){let r=[];for(let a of t){a.providers&&!a._injector&&(a._injector=Cr(a.providers,e,`Route: ${a.path}`));let l=a._injector??e,_=a._loadedInjector??l;(a.loadChildren&&!a._loadedRoutes&&a.canLoad===void 0||a.loadComponent&&!a._loadedComponent)&&r.push(this.preloadConfig(l,a)),(a.children||a._loadedRoutes)&&r.push(this.processRoutes(_,a.children??a._loadedRoutes))}return Je(r).pipe(dr())}preloadConfig(e,t){return this.preloadingStrategy.preload(t,()=>{let r;t.loadChildren&&t.canLoad===void 0?r=this.loader.loadChildren(e,t):r=Se(null);let a=r.pipe(st(l=>l===null?Se(void 0):(t._loadedRoutes=l.routes,t._loadedInjector=l.injector,this.processRoutes(l.injector??e,l.routes))));if(t.loadComponent&&!t._loadedComponent){let l=this.loader.loadComponent(t);return Je([a,l]).pipe(dr())}else return a})}static{this.\u0275fac=function(t){return new(t||i)(Ce(lt),Ce(xs),Ce(qt),Ce(er),Ce(Ln))}}static{this.\u0275prov=De({token:i,factory:i.\u0275fac,providedIn:"root"})}}return i})(),cl=new Te(""),Jd=(()=>{class i{constructor(e,t,r,a,l={}){this.urlSerializer=e,this.transitions=t,this.viewportScroller=r,this.zone=a,this.options=l,this.lastId=0,this.lastSource="imperative",this.restoredId=0,this.store={},l.scrollPositionRestoration||="disabled",l.anchorScrolling||="disabled"}init(){this.options.scrollPositionRestoration!=="disabled"&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.transitions.events.subscribe(e=>{e instanceof bi?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=e.navigationTrigger,this.restoredId=e.restoredState?e.restoredState.navigationId:0):e instanceof Ct?(this.lastId=e.id,this.scheduleScrollEvent(e,this.urlSerializer.parse(e.urlAfterRedirects).fragment)):e instanceof Wt&&e.code===Ws.IgnoredSameUrlNavigation&&(this.lastSource=void 0,this.restoredId=0,this.scheduleScrollEvent(e,this.urlSerializer.parse(e.url).fragment))})}consumeScrollEvents(){return this.transitions.events.subscribe(e=>{e instanceof Xs&&(e.position?this.options.scrollPositionRestoration==="top"?this.viewportScroller.scrollToPosition([0,0]):this.options.scrollPositionRestoration==="enabled"&&this.viewportScroller.scrollToPosition(e.position):e.anchor&&this.options.anchorScrolling==="enabled"?this.viewportScroller.scrollToAnchor(e.anchor):this.options.scrollPositionRestoration!=="disabled"&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(e,t){this.zone.runOutsideAngular(()=>{setTimeout(()=>{this.zone.run(()=>{this.transitions.events.next(new Xs(e,this.lastSource==="popstate"?this.store[this.restoredId]:null,t))})},0)})}ngOnDestroy(){this.routerEventsSubscription?.unsubscribe(),this.scrollEventsSubscription?.unsubscribe()}static{this.\u0275fac=function(t){xo()}}static{this.\u0275prov=De({token:i,factory:i.\u0275fac})}}return i})();function Wp(i,...s){return ki([{provide:es,multi:!0,useValue:i},[],{provide:Ke,useFactory:dl,deps:[lt]},{provide:vs,multi:!0,useFactory:ul},s.map(e=>e.\u0275providers)])}function dl(i){return i.routerState.root}function Di(i,s){return{\u0275kind:i,\u0275providers:s}}function ul(){let i=xe(Pi);return s=>{let e=i.get(bs);if(s!==e.components[0])return;let t=i.get(lt),r=i.get(pl);i.get(jn)===1&&t.initialNavigation(),i.get(fl,null,gr.Optional)?.setUpPreloading(),i.get(cl,null,gr.Optional)?.init(),t.resetRootComponentType(e.componentTypes[0]),r.closed||(r.next(),r.complete(),r.unsubscribe())}}var pl=new Te("",{factory:()=>new Ft}),jn=new Te("",{providedIn:"root",factory:()=>1});function Qd(){return Di(2,[{provide:jn,useValue:0},{provide:Sr,multi:!0,deps:[Pi],useFactory:s=>{let e=s.get(Xo,Promise.resolve());return()=>e.then(()=>new Promise(t=>{let r=s.get(lt),a=s.get(pl);hl(r,()=>{t(!0)}),s.get(Nn).afterPreactivation=()=>(t(!0),a.closed?Se(void 0):a),r.initialNavigation()}))}}])}function eu(){return Di(3,[{provide:Sr,multi:!0,useFactory:()=>{let s=xe(lt);return()=>{s.setUpLocationChangeListener()}}},{provide:jn,useValue:2}])}var fl=new Te("");function tu(i){return Di(0,[{provide:fl,useExisting:Kd},{provide:er,useExisting:i}])}function Vp(){return Di(6,[{provide:xt,useClass:Br}])}function iu(){return Di(8,[Ma,{provide:tr,useExisting:Ma}])}function su(i){let s=[{provide:ol,useValue:_d},{provide:al,useValue:we({skipNextTransition:!!i?.skipInitialTransition},i)}];return Di(9,s)}var Ra=new Te("ROUTER_FORROOT_GUARD"),ru=[di,{provide:is,useClass:vi},lt,rs,{provide:Ke,useFactory:dl,deps:[lt]},Ln,[]],Xp=(()=>{class i{constructor(e){}static forRoot(e,t){return{ngModule:i,providers:[ru,[],{provide:es,multi:!0,useValue:e},{provide:Ra,useFactory:lu,deps:[[lt,new mr,new ro]]},{provide:os,useValue:t||{}},t?.useHash?ou():au(),nu(),t?.preloadingStrategy?tu(t.preloadingStrategy).\u0275providers:[],t?.initialNavigation?hu(t):[],t?.bindToComponentInputs?iu().\u0275providers:[],t?.enableViewTransitions?su().\u0275providers:[],cu()]}}static forChild(e){return{ngModule:i,providers:[{provide:es,multi:!0,useValue:e}]}}static{this.\u0275fac=function(t){return new(t||i)(Ce(Ra,8))}}static{this.\u0275mod=Yt({type:i})}static{this.\u0275inj=Xt({})}}return i})();function nu(){return{provide:cl,useFactory:()=>{let i=xe(ea),s=xe(tt),e=xe(os),t=xe(Nn),r=xe(is);return e.scrollOffset&&i.setOffset(e.scrollOffset),new Jd(r,t,i,s,e)}}}function ou(){return{provide:xt,useClass:Br}}function au(){return{provide:xt,useClass:jr}}function lu(i){return"guarded"}function hu(i){return[i.initialNavigation==="disabled"?eu().\u0275providers:[],i.initialNavigation==="enabledBlocking"?Qd().\u0275providers:[]]}var Oa=new Te("");function cu(){return[{provide:Oa,useFactory:ul},{provide:vs,multi:!0,useExisting:Oa}]}var du={en:"English",de:"German",cs:"Czech",ru:"Russian",pt:"Portuguese"},qp=(()=>{class i{constructor(e){this.i18n=e}transform(e){return this.i18n.get(e)}static{this.\u0275fac=function(t){return new(t||i)(Ue(Bn,16))}}static{this.\u0275pipe=Ti({name:"i18n",type:i,pure:!0,standalone:!0})}}return i})(),Bn=(()=>{class i{constructor(){switch(this.current="en",window.navigator.language.toLowerCase()){case"en":this.current="en";break;case"ru":this.current="ru";break;case"de":this.current="de";break;case"pt":this.current="pt";break;default:this.current="en";break}}getLanguageName(e){return du[e]||""}get(e){return!rr[this.current]||!rr[this.current][e]?e:rr[this.current][e]}getLanguages(){return Object.keys(rr)}static{this.\u0275fac=function(t){return new(t||i)}}static{this.\u0275prov=De({token:i,factory:i.\u0275fac,providedIn:"root"})}}return i})(),rr={en:{settingsImported:"Settings has been imported successfully! Page will be reloaded.",settingsReset:"Settings has been reset successfully! Page will be reloaded.",resetClickFilter:"Reset click filter",copyMDX:"Copy MDX",seriesColor:"Series colors",copy:"Copy",shareDashboard:"Share dashboard",relatedFilters:"Related filters",disableTilePush:"Disable tile pushing when moving/resizing",theme:"Theme",showLog:"Show log",server:"Server",saveFilters:"Save filters",exportSettings:"Export settings",importSettings:"Import settings",export:"Export",pngImage:"Image (*.png)",svgImage:"Image (*.svg)",jpgImage:"Image (*.jpg)",pdfDoc:"Document (*.pdf)",xlsDoc:"Document (*.xls)",csvDoc:"Document (*.csv)",about:"About",cancel:"Cancel",save:"Save",load:"Load",share:"Share",title:"Title",curSettings:"Current settings",newView:"New",language:"Language",dashboard:"Dashboard",folder:"Folder",signin:"Sign in",signout:"Logout",login:"Login",signinOAuth:"OAuth sign in",password:"Password",namespace:"Namespace",loading:"Loading...",search:"Search",accept:"Apply",close:"Close",dismiss:"Reset",home:"Home",zoom:"Zoom",resetSettings:"Reset settings",addToFavorites:"Add to favorites",removeFromFav:"Remove from favorites",refresh:"Refresh",showFolders:"Show folders",showTop:"Show top records",viewAs:"View as",count:"Count",filters:"Filters",setDefault:"Reset to default",dashColumns:"Column count",widgetHeight:"Widget height(px)",widgetHeightDyn:"Default: fit to window",noData:"No data to display",byRows:"Display by rows",by2columns:"Display by two columns",by3columns:"Display by three columns",by4columns:"Display by four columns",by5columns:"Display by five columns",by6columns:"Display by six columns",print:"Print...",fav:"Favorites",options:"Settings",gotoDeepSee:"Iris BI",showLegend:"Toggle legend",showPivot:"Show as pivot table",back:"Back",exclude:"Exclude",all:"All",interval:"Interval",not:"Not",from:"From",to:"To",metroStyle:"Metro UI",bgColor:"Background color",fntColor:"Font color",icon:"Icon",done:"Done",widget:"Widget",showImages:"Show images",dataSource:"Data source",hideTitle:"Hide title",showZero:"Set axis minimum to zero",showValues:"Show values",err:"Error",errWidgetRequest:"Unable to load widget data",errLoginRequired:"Please enter login",errPassRequired:"Please enter password",errUnauth:"Unknown login and password pair. Please try again",errNotFound:"Requested url not fount on server",errTimeout:"Request timeout",errWidgetNotSupported:"Widget is not supported",errNoWidgets:"No widgets received from server",errNoDashboards:"No dashboards in this namespace",shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],changeColors:"Change colors",fullscreen:"Toggle fullscreen",showKPI:"Show KPI",openAnalyzer:"Open analyzer",addWidget:"Add widget"},de:{settingsImported:"Einstellungen wurden erfolgreich importiert!",settingsReset:"Einstellungen wurden erfolgreich zur\xFCckgesetzt!",resetClickFilter:"Reset click filter",copyMDX:"Copy MDX",seriesColor:"Series colors",copy:"Copy",shareDashboard:"Share dashboard",relatedFilters:"Related filters",disableTilePush:"Disable tile pushing when moving/resizing",theme:"Oberfl\xE4chendesign",showLog:"Log",server:"Server",saveFilters:"Filter speichern",exportSettings:"Export Einstellungen",importSettings:"Import Einstellungen",export:"Exportieren",pngImage:"als Bild (*.png)",svgImage:"als Bild (*.svg)",jpgImage:"als Bild (*.jpg)",pdfDoc:"als Dokument (*.pdf)",xlsDoc:"als Dokument (*.xls)",csvDoc:"als Dokument (*.csv)",about:"\xDCber",cancel:"Abbrechen",save:"Speichern",load:"Laden",share:"Teilen",title:"Title",curSettings:"Einstellungen",newView:"Neu",language:"Sprache",dashboard:"Dashboard",folder:"Ordner",signin:"Anmelden",signout:"Abmelden",login:"Benutzer",signinOAuth:"Mit OAuth einloggen",password:"Passwort",namespace:"Namespace",loading:"Laden...",search:"Suche",accept:"Start",close:"Schlie\xDFen",dismiss:"Leeren",home:"Startseite",zoom:"Zoom",resetSettings:"Kacheln einstellungen",addToFavorites:"Zu Favoriten hinzuf\xFCgen",removeFromFav:"Von Favoriten entfernen",refresh:"Neu laden",showFolders:"Ordner anzeigen",showTop:"Top Items",viewAs:"Anzeige wechseln",count:"Anzahl",filters:"Filter",setDefault:"Zur\xFCcksetzen",dashColumns:"Spaltenanzahl",widgetHeight:"Widget H\xF6he(px)",widgetHeightDyn:"Default: fit to window",noData:"Keine Daten vorhanden",byRows:"Anzeige nach Zeilen",by2columns:"Anzeige mit zwei Spalten",by3columns:"Anzeige mit drei Spalten",print:"Drucken...",fav:"Favoriten",options:"Einstellungen",gotoDeepSee:"DeepSee",showLegend:"Legende An/Aus",showPivot:"Als Tabelle anzeigen",back:"Zur\xFCck",exclude:"Au\xDFer",all:"Alle",interval:"Interval",not:"Nicht",from:"Von",to:"Bis",metroStyle:"Metro UI",bgColor:"Farbe Hintergrund",fntColor:"Farbe Schrift",icon:"Icon",done:"Fertig",widget:"Widget",showImages:"Bilder anzeigen",dataSource:"Datenquelle",hideTitle:"Titel verbergen",showZero:"Achsen auf Ursprung",showValues:"Werte anzeigen",err:"Fehler",errWidgetRequest:"Fehler beim Laden der Daten",errLoginRequired:"Bitte anmelden",errPassRequired:"Bitte Passwort eingeben",errUnauth:"Benutzer oder Passwort ung\xFCltig",errNotFound:"URL nicht gefunden",errTimeout:"Zeit\xFCberschreitung der Anfrage",errWidgetNotSupported:"Widget nicht unterst\xFCtzt",errNoWidgets:"Keine Widgets vom Server",errNoDashboards:"Keine Dashboards vorhanden",shortMonths:["Jan","Feb","M\xE4r","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],changeColors:"\xC4ndern Sie die Farben",fullscreen:"Vollbild umschalten",showKPI:"KPI anzeigen",openAnalyzer:"Analysator \xF6ffnen"},cs:{settingsImported:"Nastaven\xED bylo \xFAsp\u011B\u0161n\u011B importov\xE1no!",settingsReset:"Nastaven\xED bylo \xFAsp\u011B\u0161n\u011B resetov\xE1no!",resetClickFilter:"Reset click filter",copyMDX:"Copy MDX",seriesColor:"Series colors",copy:"Copy",shareDashboard:"Share dashboard",relatedFilters:"Related filters",disableTilePush:"Disable tile pushing when moving/resizing",saveFilters:"Ulo\u017Eit filtry",exportSettings:"Export nastaven\xED",importSettings:"Import nastaven\xED",export:"Export",pngImage:"Image (*.png)",svgImage:"Image (*.svg)",jpgImage:"Image (*.jpg)",pdfDoc:"Document (*.pdf)",xlsDoc:"Document (*.xls)",csvDoc:"Document (*.csv)",about:"O m\u011B",cancel:"Zru\u0161it",save:"Ulo\u017Eit",load:"Na\u010D\xEDst",share:"Sd\xEDlet",title:"Title",curSettings:"Moment\xE1ln\xED nastaven\xED",newView:"Nov\xFD",language:"Jazyky",dashboard:"N\xE1st\u011Bnka",folder:"Slo\u017Eka",signin:"P\u0159ihl\xE1sit",signout:"Odhl\xE1sit",login:"U\u017Eivatelsk\xE9 jm\xE9no",signinOAuth:"OAuth sign in",password:"Heslo",namespace:"Namespace",loading:"Na\u010D\xEDt\xE1m...",search:"Hledat",accept:"P\u0159\xEDjmout",close:"Zav\u0159\xEDt",dismiss:"Zam\xEDtnout",home:"Dom\u016F",zoom:"P\u0159ibl\xED\u017Eit",resetSettings:"Reset Titulk\u016F",addToFavorites:"P\u0159idat do obl\xEDben\xFDch",removeFromFav:"Oddevrat z obl\xEDbench",refresh:"Obnovit",showFolders:"Zobrazit slo\u017Eku",showTop:"Zobrazit prvn\xED polo\u017Eky",viewAs:"Zobrazit jako",count:"Po\u010Det",filters:"Filtry",setDefault:"Obnovit v\xFDchoz\xED",dashColumns:"Po\u010Det slouc\u016F",widgetHeight:"V\xFD\u0161ka widgetu(px)",widgetHeightDyn:"Default: fit to window",noData:"Nejsou data k zobrazen\xED",byRows:"Zobrazit \u0159\xE1dky",by2columns:"Zobrazit podle dvou sloupc\u016F",by3columns:"Zobrazit podle t\u0159\xED sloupc\u016F",print:"Tisk...",fav:"Obl\xEDben\xE9",options:"Nastaven\xED",gotoDeepSee:"DeepSee",showLegend:"Zapnout/Vypnout Legendu",showPivot:"Zobrazit jako kontingen\u010Dn\xED tabulku",back:"Zp\u011Bt",exclude:"Vylou\u010Dit",all:"V\u0161e",interval:"Interval",not:"Not",from:"Od",to:"Do",metroStyle:"Metro UI",bgColor:"Barva pozad\xED",fntColor:"Barva p\xEDsma",icon:"Ikona",done:"Hotovo",widget:"Widget",showImages:"Zobrazit obr\xE1zky",dataSource:"Zdroje dat",hideTitle:"Skr\xFDt titulek",showZero:"Nastavt minimum osy na nulu",showValues:"Zobrazit hodnoty",err:"Error",errWidgetRequest:"Nelze na\u010D\xEDst data widgetu",errLoginRequired:"Pros\xEDm, zadejte p\u0159ihla\u0161ovac\xED jm\xE9no",errPassRequired:"Pros\xEDm zadejte heslo",errUnauth:"Nespr\xE1vn\xE9 u\u017Eivatelsk\xE9 jm\xE9no nebo heslo",errNotFound:"Po\u017Eadovan\xE1 adresa URL nbyla nalezena na serveru",errTimeout:"vypr\u0161el \u010Das Requestu",errWidgetNotSupported:"Widget nen\xED podporov\xE1n",errNoWidgets:"\u017D\xE1dn\xE9 p\u0159ijat\xE9 widgety ze serveru",errNoDashboards:"\u017D\xE1dn\xE9 n\xE1st\u011Bnky v namespace",shortMonths:["Leden","\xDAnor","B\u0159ezen","Duben","Kv\u011Bten","\u010Cerven","\u010Cervenec","Srpen","Z\xE1\u0159\xED","\u0158\xEDjen","Listopad","Prosinec"],changeColors:"Zm\u011Bnit barvy",fullscreen:"P\u0159epnout na celou obrazovku",showKPI:"Zobrazit KPI",openAnalyzer:"Otev\u0159ete analyz\xE1tor"},ru:{settingsImported:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u0431\u044B\u043B\u0438 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043D\u044B \u0443\u0441\u043F\u0435\u0448\u043D\u043E!",settingsReset:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u0431\u044B\u043B\u0438 \u0441\u0431\u0440\u043E\u0448\u0435\u043D\u044B. \u0421\u0442\u0440\u0430\u043D\u0438\u0446\u0430 \u0431\u0443\u0434\u0435\u0442 \u043F\u0435\u0440\u0435\u0433\u0440\u0443\u0436\u0435\u043D\u0430.",resetClickFilter:"\u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C click \u0444\u0438\u043B\u044C\u0442\u0440",copyMDX:"\u0421\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C MDX",seriesColor:"\u0426\u0432\u0435\u0442 \u0441\u0435\u0440\u0438\u0439",copy:"\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C",shareDashboard:"\u041F\u043E\u0434\u0435\u043B\u0438\u0442\u044C\u0441\u044F \u0434\u0435\u0448\u0431\u043E\u0440\u0434\u043E\u043C",relatedFilters:"\u0412\u0437\u0430\u0438\u043C\u043E\u0441\u0432\u044F\u0437\u0430\u043D\u043D\u044B\u0435 \u0444\u0438\u043B\u044C\u0442\u0440\u044B",disableTilePush:"\u041E\u0442\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0432\u044B\u0442\u0430\u043B\u043A\u0438\u0432\u0430\u043D\u0438\u0435 \u0442\u0430\u0439\u043B\u043E\u0432",theme:"\u0422\u0435\u043C\u0430",showLog:"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u043E\u0448\u0438\u0431\u043A\u0438",server:"\u0421\u0435\u0440\u0432\u0435\u0440",saveFilters:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C \u0444\u0438\u043B\u044C\u0442\u0440\u044B",exportSettings:"\u042D\u043A\u0441\u043F\u043E\u0440\u0442 \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043A",importSettings:"\u0418\u043C\u043F\u043E\u0440\u0442 \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043A",export:"\u042D\u043A\u0441\u043F\u043E\u0440\u0442",pngImage:"\u041A\u0430\u0440\u0442\u0438\u043D\u043A\u0430 (*.png)",svgImage:"\u041A\u0430\u0440\u0442\u0438\u043D\u043A\u0430 (*.svg)",jpgImage:"\u041A\u0430\u0440\u0442\u0438\u043D\u043A\u0430 (*.jpg)",pdfDoc:"\u0414\u043E\u043A\u0443\u043C\u0435\u043D\u0442 (*.pdf)",xlsDoc:"\u0414\u043E\u043A\u0443\u043C\u0435\u043D\u0442 (*.xls)",csvDoc:"\u0414\u043E\u043A\u0443\u043C\u0435\u043D\u0442 (*.csv)",about:"\u041E \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u0435",cancel:"\u041E\u0442\u043C\u0435\u043D\u0430",save:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C",load:"\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C",share:"\u041F\u043E\u0434\u0435\u043B\u0438\u0442\u044C\u0441\u044F",title:"\u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A",curSettings:"\u0422\u0435\u043A\u0443\u0449\u0438\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438",newView:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C",language:"\u042F\u0437\u044B\u043A",dashboard:"\u0418\u043D\u0434\u0438\u043A\u0430\u0442\u043E\u0440\u043D\u0430\u044F \u043F\u0430\u043D\u0435\u043B\u044C",folder:"\u041F\u0430\u043F\u043A\u0430",signin:"\u0412\u0445\u043E\u0434",signout:"\u0412\u044B\u0445\u043E\u0434",login:"\u041B\u043E\u0433\u0438\u043D",signinOAuth:"\u0412\u0445\u043E\u0434 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u044F OAuth",password:"\u041F\u0430\u0440\u043E\u043B\u044C",namespace:"\u041E\u0431\u043B\u0430\u0441\u0442\u044C",loading:"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430...",search:"\u041F\u043E\u0438\u0441\u043A",accept:"\u041F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C",close:"\u0417\u0430\u043A\u0440\u044B\u0442\u044C",dismiss:"\u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C",home:"\u0414\u043E\u043C\u043E\u0439",zoom:"\u0423\u0432\u0435\u043B\u0438\u0447\u0435\u043D\u0438\u0435",refresh:"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C",resetSettings:"\u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438",addToFavorites:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0432 \u0438\u0437\u0431\u0440\u0430\u043D\u043E\u0435",removeFromFav:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0438\u0437 \u0438\u0437\u0431\u0440\u0430\u043D\u043E\u0433\u043E",showFolders:"\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C \u043F\u0430\u043F\u043A\u0438",showTop:"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0442\u043E\u043B\u044C\u043A\u043E \u0432\u0435\u0440\u0445\u043D\u0438\u0435",viewAs:"\u041E\u0442\u043E\u0431\u0440\u0430\u0437\u0438\u0442\u044C \u043A\u0430\u043A",count:"\u041A\u043E\u043B-\u0432\u043E",filters:"\u0424\u0438\u043B\u044C\u0442\u0440\u044B",setDefault:"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E",dashColumns:"\u041A\u043E\u043B\u043E\u043D\u043A\u0438",widgetHeight:"\u0412\u044B\u0441\u043E\u0442\u0430 \u0432\u0438\u0434\u0436\u0435\u0442\u043E\u0432(px)",widgetHeightDyn:"\u041F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E: \u043F\u043E\u0434\u043E\u0433\u043D\u0430\u0442\u044C \u043A \u0432\u044B\u0441\u043E\u0442\u0435 \u043E\u043A\u043D\u0430",noData:"\u041D\u0435\u0442 \u0434\u0430\u043D\u043D\u044B\u0445",byRows:"\u041E\u0442\u043E\u0431\u0440\u0430\u0437\u0438\u0442\u044C \u043F\u043E\u0441\u0442\u0440\u043E\u0447\u043D\u043E",by2columns:"\u041E\u0442\u043E\u0431\u0440\u0430\u0437\u0438\u0442\u044C \u0434\u0432\u0443\u043C\u044F \u043A\u043E\u043B\u043E\u043D\u043A\u0430\u043C\u0438",by3columns:"\u041E\u0442\u043E\u0431\u0440\u0430\u0437\u0438\u0442\u044C \u0442\u0440\u0435\u043C\u044F \u043A\u043E\u043B\u043E\u043D\u043A\u0430\u043C\u0438",print:"\u041F\u0435\u0447\u0430\u0442\u044C...",fav:"\u0418\u0437\u0431\u0440\u0430\u043D\u043E\u0435",options:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438",gotoDeepSee:"Iris BI",showLegend:"\u0412\u043A\u043B/\u0432\u044B\u043A\u043B \u043B\u0435\u0433\u0435\u043D\u0434\u0443",showPivot:"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u043A\u0430\u043A \u0442\u0430\u0431\u043B\u0438\u0446\u0443",back:"\u041D\u0430\u0437\u0430\u0434",exclude:"\u0418\u0441\u043A\u043B\u044E\u0447\u0438\u0442\u044C",all:"\u0412\u0441\u0435",not:"\u041D\u0435",interval:"\u0418\u043D\u0442\u0435\u0440\u0432\u0430\u043B",from:"\u041E\u0442",to:"\u0414\u043E",metroStyle:"\u0421\u0442\u0438\u043B\u044C Metro",bgColor:"\u0426\u0432\u0435\u0442 \u0444\u043E\u043D\u0430",fntColor:"\u0426\u0432\u0435\u0442 \u0448\u0440\u0438\u0444\u0442\u0430",icon:"\u0417\u043D\u0430\u0447\u043E\u043A",done:"\u0413\u043E\u0442\u043E\u0432\u043E",widget:"\u0412\u0438\u0434\u0436\u0435\u0442",showImages:"\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C \u043A\u0430\u0440\u0442\u0438\u043D\u043A\u0438",dataSource:"\u0418\u0441\u0442\u043E\u0447\u043D\u0438\u043A \u0434\u0430\u043D\u043D\u044B\u0445",hideTitle:"\u0421\u043A\u0440\u044B\u0432\u0430\u0442\u044C \u0437\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A",showZero:"\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C 0 \u043D\u0430 \u043E\u0441\u0438",showValues:"\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F",err:"\u041E\u0448\u0438\u0431\u043A\u0430",errWidgetRequest:"\u041D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043E \u043F\u043E\u043B\u0443\u0447\u0438\u0442\u044C \u0434\u0430\u043D\u043D\u044B\u0435 \u0432\u0438\u0434\u0436\u0435\u0442\u0430",errLoginRequired:"\u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430 \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u043B\u043E\u0433\u0438\u043D",errPassRequired:"\u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430 \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u043F\u0430\u0440\u043E\u043B\u044C",errUnauth:"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u043B\u043E\u0433\u0438\u043D \u0438\u043B\u0438 \u043F\u0430\u0440\u043E\u043B\u044C",errNotFound:"\u0417\u0430\u0434\u0430\u043D\u044B\u0439 \u0430\u0434\u0440\u0435\u0441 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D \u043D\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435",errTimeout:"\u041F\u0440\u0435\u0432\u044B\u0448\u0435\u043D \u0438\u043D\u0442\u0435\u0440\u0432\u0430\u043B \u043E\u0436\u0438\u0434\u0430\u043D\u0438\u044F \u0437\u0430\u043F\u0440\u043E\u0441\u0430",errWidgetNotSupported:"\u0412\u0438\u0434\u0436\u0435\u0442 \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F",errNoWidgets:"\u0421\u0435\u0440\u0432\u0435\u0440 \u0432\u0435\u0440\u043D\u0443\u043B \u043F\u0443\u0441\u0442\u043E\u0439 \u0441\u043F\u0438\u0441\u043E\u043A \u0432\u0438\u0434\u0436\u0435\u0442\u043E\u0432",errNoDashboards:"\u0412 \u0434\u0430\u043D\u043D\u043E\u0439 \u043E\u0431\u043B\u0430\u0441\u043D\u0438 \u043D\u0435\u0442 \u0434\u0430\u0448\u0431\u043E\u0440\u0434\u043E\u0432",shortMonths:["\u042F\u043D\u0432","\u0424\u0435\u0432","\u041C\u0430\u0440","\u0410\u043F\u0440","\u041C\u0430\u0439","\u0418\u044E\u043D","\u0418\u044E\u043B","\u0410\u0432\u0433","\u0421\u0435\u043D","\u041E\u043A\u0442","\u041D\u043E\u044F","\u0414\u0435\u043A"],changeColors:"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0446\u0432\u0435\u0442\u0430",fullscreen:"\u041D\u0430 \u0432\u0435\u0441\u044C \u044D\u043A\u0440\u0430\u043D",showKPI:"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C KPI",openAnalyzer:"\u041E\u0442\u043A\u0440\u044B\u0442\u044C analyzer"},pt:{settingsImported:"As configura\xE7\xF5es foram importadas com sucesso! A p\xE1gina ser\xE1 recarregada.",settingsReset:"As configura\xE7\xF5es foram redefinidas com sucesso! A p\xE1gina ser\xE1 recarregada.",resetClickFilter:"Redefinir filtro de clique",copyMDX:"Copiar MDX",seriesColor:"Cores das S\xE9ries",copy:"Copiar",shareDashboard:"Compartilhar Painel",relatedFilters:"Filtros relacionados",disableTilePush:"Desative o recurso de empurrar blocos ao mover/redimensionar.",theme:"Tema",showLog:"Mostrar log",server:"Servidor",saveFilters:"Gravar filtros",exportSettings:"Exportar configura\xE7\xF5es",importSettings:"Importar configura\xE7\xF5es",export:"Importar",pngImage:"Imagem (*.png)",svgImage:"Imagem (*.svg)",jpgImage:"Imagem (*.jpg)",pdfDoc:"Documento (*.pdf)",xlsDoc:"Documento (*.xls)",csvDoc:"Documento (*.csv)",about:"Sobre",cancel:"Cancelar",save:"Gravar",load:"Carregar",share:"Compartilhar",title:"T\xEDtulo",curSettings:"Configura\xE7\xF5es atuais",newView:"Novo",language:"Idioma",dashboard:"Painel",folder:"Pasta",signin:"Entrar",signout:"Sair",login:"Autentica\xE7\xE3o",signinOAuth:"Entrar via OAuth",password:"Senha",namespace:"Namespace",loading:"Carregando...",search:"Procurar",accept:"Aplicar",close:"Fechar",dismiss:"Reiniciar",home:"Home",zoom:"Zoom",resetSettings:"Redefinir configura\xE7\xF5es",addToFavorites:"Adicionar aos favoritos",removeFromFav:"Remover dos favoritos",refresh:"Recarregar",showFolders:"Mostrar pastas",showTop:"Mostrar os registros Top",viewAs:"Ver como",count:"Contar",filters:"Filtros",setDefault:"Restaurar para as configura\xE7\xF5es padr\xE3o",dashColumns:"Contagem de colunas",widgetHeight:"Altura do widget (px)",widgetHeightDyn:"Padr\xE3o: ajustar \xE0 janela",noData:"N\xE3o h\xE1 dados para exibir.",byRows:"Exibir por linhas",by2columns:"Exibir em duas colunas",by3columns:"Exibir em tr\xEAs colunas",by4columns:"Exibir em quatro colunas",by5columns:"Exibir em cinco colunas",by6columns:"Exibir em seis colunas",print:"Imprimir...",fav:"Favoritos",options:"COnfigura\xE7\xF5es",gotoDeepSee:"Iris BI",showLegend:"Alternar legenda",showPivot:"Mostrar como pivot table",back:"Voltar",exclude:"Excluir",all:"Todos",interval:"Intervalo",not:"N\xE3o",from:"De",to:"Para",metroStyle:"Metro UI",bgColor:"Cor de fundo",fntColor:"Cor da fonte",icon:"\xCDcone",done:"Feito",widget:"Widget",showImages:"Mostrar imagens",dataSource:"Fonte de Dados",hideTitle:"Ocultar t\xEDtulo",showZero:"Defina o valor m\xEDnimo do eixo como zero.",showValues:"Mostrar valores",err:"Erro",errWidgetRequest:"N\xE3o foi poss\xEDvel carregar os dados do widget.",errLoginRequired:"Por favor, fa\xE7a login.",errPassRequired:"Por favor, digite a senha.",errUnauth:"Nome de usu\xE1rio e senha desconhecidos. Tente novamente.",errNotFound:"A URL solicitada n\xE3o foi encontrada no servidor.",errTimeout:"Tempo limite da solicita\xE7\xE3o",errWidgetNotSupported:"O widget n\xE3o \xE9 suportado.",errNoWidgets:"Nenhum widget recebido do servidor",errNoDashboards:"N\xE3o h\xE1 pain\xE9is de controle neste espa\xE7o de nomes.",shortMonths:["Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez"],changeColors:"Alterar cores",fullscreen:"Alternar tela cheia",showKPI:"Mostrar KPI",openAnalyzer:"Abrir analisador",addWidget:"Adicionar widget"}};var gl={name:"deep-see-web",version:"4.0.29",scripts:{ng:"ng",start:"ng serve --proxy-config=proxy.conf.samples-bi.js",covid:"ng serve --proxy-config=proxy.conf.covid.js",temp:"ng serve --proxy-config=proxy.conf.temp.js",maps:"ng serve --proxy-config=proxy.conf.maps.js",ua:"ng serve --proxy-config=proxy.conf.ua.js",got:"ng serve --proxy-config=proxy.conf.got.js",local:"ng serve --proxy-config=proxy.conf.local.js",samples:"ng serve --proxy-config=proxy.conf.samples-bi.js",semen:"ng serve --proxy-config=proxy.conf.semen.js",community:"ng serve --proxy-config=proxy.conf.community.js",analytics:"ng serve --proxy-config=proxy.conf.analytics.js","analytics-pub":"ng serve --proxy-config=proxy.conf.analytics-pub.js",build:"ng build --configuration=production","build:addons":"tsc --project ./src/addons","build:addon-test":"tsc ./src/addons/simple-addon.component.ts --experimentalDecorators true --target es2015 --moduleResolution node --module CommonJS --resolveJsonModule true --outDir ./distAddons",test:"jest",lint:"ng lint",e2e:"ng e2e"},private:!0,dependencies:{"@angular/animations":"^18.2.10","@angular/common":"^18.2.10","@angular/compiler":"^18.2.10","@angular/core":"^18.2.10","@angular/forms":"^18.2.10","@angular/platform-browser":"^18.2.10","@angular/platform-browser-dynamic":"^18.2.10","@angular/router":"^18.2.10","@angular/service-worker":"~18.2.10","@highcharts/map-collection":"^2.0.1","@iplab/ngx-color-picker":"^18.0.1","@ng-select/ng-select":"^13.9.1","air-datepicker":"^3.5.3","angular-gridster2":"^18.0.1","font-awesome":"^4.7.0",highcharts:"^11.4.8","highcharts-angular":"^4.0.1","markdown-it":"^14.1.0",numeral:"^2.0.6",ol:"^7.2.2",rxjs:"~7.8.0",tslib:"^2.3.0","zone.js":"~0.14.4"},devDependencies:{"@angular/build":"^18.2.11","@angular/cli":"~18.2.11","@angular/compiler-cli":"^18.2.10","@types/node":"^12.11.1","@types/ol":"^6.4.2",jest:"^29.7.0",puppeteer:"^22.12.1","ts-node":"~8.3.0",tslint:"~6.1.0",typescript:"~5.4.3",xml2js:"^0.6.2"}};var oi={addons:[],mobile:!1,desktop:!0,const:{themes:[{text:"Default",file:""},{text:"Contrast",file:"contrast.css"}],bgColorClasses:["","cl1","cl2","cl3","cl4","cl5","cl6","cl7","cl8","cl9"],fontColors:["fc0","fc1","fc2","fc3","fc4","fc5"],icons:["","ico-widget-back","ico-widget-folder","ico-widget-1","ico-widget-dashboard","ico-widget-2","ico-widget-3","ico-widget-4"],timeout:6e4,ver:gl.version,emptyWidgetClass:"MDX2JSON.EmptyPortlet".toLowerCase()}};var fu=5e3,ml=(()=>{class i{constructor(){this.errors$=new et([]),this.lastId=0,this.errors=[]}getIndex(e){return this.errors.indexOf(e)}close(e){let t=this.errors.findIndex(r=>r===e);t!==-1&&(this.errors.splice(t,1),this.emit())}show(e,t=!1,r=fu){this.lastId++;let a={id:this.lastId,message:e,delay:r,isLeft:t};this.errors.push(a),r!==0&&setTimeout(()=>{this.close(a)},r),this.emit()}emit(){this.errors$.next([...this.errors])}static{this.\u0275fac=function(t){return new(t||i)}}static{this.\u0275prov=De({token:i,factory:i.\u0275fac,providedIn:"root"})}}return i})();var _n=kl(vl());var bl=(()=>{class i{constructor(e){this.route=e}removeExt(e){if(!e)return"";let t=e.split(".");return t.length===1?e:(t.pop(),t.join("."))}replaceFilename(e,t){let r=e.split("/");return r[r.length-1]=t,r.join("/")}isEmbedded(){let e=window.location.hash.replace("?","").replace("#/","").split("&");for(let t=0;t{class i{constructor(e,t,r,a){this.ds=e,this.i18n=t,this.route=r,this.us=a,this.serverSettings={},this.onSettingsChanged=new vt,this.onTilesChanged=new vt,this.settings={},this.configLoaded=!1,this.isLocalStorage=!1,this.checkForLocalStorage()}get storage(){return this.isLocalStorage?localStorage:sessionStorage}checkForLocalStorage(){let e="dws_ls_test";try{localStorage.setItem(e,"test")}catch{return}localStorage.removeItem(e),this.isLocalStorage=!0}saveUserSettings(){let e=JSON.parse(this.storage.getItem("userSettings")||"{}");e[Be.toLocaleLowerCase()]=this.settings,this.storage.setItem("userSettings",JSON.stringify(e))}loadConfig(e){if(this.settings={},this.configLoaded=!0,e)if(e.constructor===Object)this.settings=e;else{let l;try{l=JSON.parse(e)}catch{l={}}this.settings=l}let t=null;this.storage.getItem("userSettings")&&(t=JSON.parse(this.storage.getItem("userSettings")||"{}")[Be.toLocaleLowerCase()]),t&&this.us.mergeRecursive(this.settings,t);let r=this.getAppSettings();if(!oi.mobile&&r.theme){let l=document.getElementById("page-theme");l||(l=document.createElement("link")),l.id="page-theme",l.rel="stylesheet",l.type="text/css",l.href=r.theme,document.head.appendChild(l)}this.i18n.current=r.language||"en";let a=_n.default.getOptions().colors||[];for(let l=1;l<=a.length;l++){let _=document.querySelector(".hc"+l.toString());if(_){let O=window.getComputedStyle(_).getPropertyValue("background-color");O!=="rgba(0, 0, 0, 0)"&&O!=="transparent"&&(a[l-1]=O)}}if(r.theme){let l=r.themeColors?.[r.theme];l&&_n.default.setOptions({xAxis:{labels:{style:{color:l.hcTextColor}}},yAxis:{labels:{style:{color:l.hcTextColor}}},zAxis:{labels:{style:{color:l.hcTextColor}}},chart:{backgroundColor:l.hcBackground},colors:l.hcColors||a,time:{useUTC:!1},lang:{loading:"
",shortMonths:this.i18n.get("shortMonths"),rangeSelectorZoom:this.i18n.get("zoom"),rangeSelectorFrom:this.i18n.get("from"),rangeSelectorTo:this.i18n.get("to"),noData:this.i18n.get("noData")},noData:{style:{fontWeight:"bold",fontSize:"15px",color:"#303030"}}})}}getAppSettings(){let e=this.route.snapshot.queryParamMap.get("lang");this.settings.app||(this.settings.app={});let t=this.settings.app;e&&(t.language=e),t.themeColors||(t.themeColors={});let r=this.route.snapshot.queryParamMap.get("theme");if(r){let a=oi.const.themes.find(l=>l.text===r);a&&(t.theme=a.file)}return t}setAppSettings(e){this.settings.app=e,this.saveUserSettings()}getWidgetsSettings(e){return this.settings.ns?.widgets?this.settings.ns.widgets[e]||{}:{}}setWidgetsSettings(e,t){this.settings||(this.settings={}),this.settings.ns||(this.settings.ns={}),this.settings.ns.widgets||(this.settings.ns.widgets={}),this.settings.ns.widgets[t]=JSON.parse(JSON.stringify(e)),this.saveUserSettings()}getTilesSettings(){return this.settings&&this.settings.ns?this.settings.ns.tiles||{}:{}}setTilesSettings(e){this.settings||(this.settings={}),this.settings.ns||(this.settings.ns={}),this.settings.ns.tiles=JSON.parse(JSON.stringify(e)),this.saveUserSettings()}getAllSettings(){return this.settings}setAllSettings(e){this.settings=e,this.saveUserSettings()}loadServerSettings(e){this.serverSettings=e||{}}static{this.\u0275fac=function(t){return new(t||i)(Ce(xl),Ce(Bn),Ce(Ke),Ce(bl))}}static{this.\u0275prov=De({token:i,factory:i.\u0275fac,providedIn:"root"})}}return i})();var Cl="dsw.namespaces",Dl="dsw.namespace",Be="",cf=(()=>{class i{constructor(e,t,r){this.ss=e,this.router=t,this.route=r,this.list=[],this.loadNamespaces()}get namespaces(){return this.list}resolve(e,t){return new Ai(r=>{let a=()=>{r.next(),r.complete()};if(Be){this.router.navigateByUrl(Be);return}this.router.navigateByUrl("/login")})}loadNamespaces(){try{Be=this.ss.storage.getItem(Dl)||"";let t=this.ss.storage.getItem(Cl)||"[]";this.list=JSON.parse(t)}catch{console.warn("Can't parse namespace list from storage")}}setNamespaces(e){this.list=e;try{this.ss.storage.setItem(Cl,JSON.stringify(e))}catch{console.warn("Can't set namespace list to storage")}}getNamespaces(){return this.list}setCurrent(e){this.ss.storage.setItem(Dl,e),Be=e}static{this.\u0275fac=function(t){return new(t||i)(Ce(wl),Ce(lt),Ce(Ke))}}static{this.\u0275prov=De({token:i,factory:i.\u0275fac,providedIn:"root"})}}return i})();var Sl="MDX2JSON",Al="MDX2JSON",xl=(()=>{class i{constructor(e,t,r,a){this.route=e,this.router=t,this.http=r,this.es=a,this.firstRun=!0,this.dashboardList=new Map,this.username="",this.withCredentialsHeaders={withCredentials:!0,headers:new Xe({"Accept-Language":"en-US"})},this.withoutCredentialsHeaders={headers:new Xe({"Accept-Language":"en-US"})},this.withCredentialsTimeoutHeaders={withCredentials:!0,headers:new Xe({timeout:oi.const.timeout.toString(),"Accept-Language":"en-US"})},this.withoutCredentialsTimeoutHeaders={headers:new Xe({timeout:oi.const.timeout.toString(),"Accept-Language":"en-US"})}}get configDefaultApp(){return this.mainConfig?.defaultApp||""}get url(){let e="",t=localStorage.getItem("connectorRedirect");return t&&(e=t),e+"../"+Sl+"/"}gotoLoginPage(){}getDashboards(){let e=Be.toLowerCase();return this.dashboardList.has(e)?Se(JSON.parse(this.dashboardList.get(e)||"{}")):this.http.post(this.url+"Dashboards?Namespace="+Be,{Folder:""},{withCredentials:!0}).pipe(Ge(t=>{this.dashboardList.set(Be.toLowerCase(),JSON.stringify(t))}),this.handleError())}getKPIData(e,t,r=!1){return ct(this.http.post(this.url+"KPI?Namespace="+Be,{KPI:e,FILTERS:t,Drillthrough:r?1:void 0},this.withCredentialsTimeoutHeaders))}getPivotData(e){return ct(this.http.post(this.url+"DataSource?Namespace="+Be,{DataSource:e},this.withCredentialsTimeoutHeaders))}getTermList(e){return this.http.post(this.url+"TermList?Namespace="+Be,{TermList:e},this.withCredentialsTimeoutHeaders).toPromise()}execMDX(e){return ht(this,null,function*(){let t=e.split(" ");return t&&t.length!==0&&t[0].toUpperCase()==="DRILLTHROUGH"?this.execMDXDrillthrough(e,Be):ct(this.http.post(this.url+"MDX?Namespace="+Be,{MDX:e},this.withCredentialsTimeoutHeaders))})}execMDXDrillthrough(e,t){return ht(this,null,function*(){return ct(this.http.post(this.url+"MDXDrillthrough?Namespace="+t,{MDX:e},this.withCredentialsTimeoutHeaders))})}getWidgets(e){return ct(this.http.post(this.url+"Dashboard?Namespace="+Be,{Dashboard:e},ze(we({},this.withCredentialsTimeoutHeaders),{"Content-Type":"application/json"})).pipe(this.handleError()))}handleError(){return At(e=>{if(e.status===401||e.status===403)return this.router.navigateByUrl("/login?from="+encodeURIComponent(this.router.url)),Se();let t=e.message;throw e?.error?.summary&&(t=e?.error?.summary),this.es.show(t),e})}searchFilters(e,t,r,a){let l={DataSource:t,Values:1,Search:e};return r&&r.length&&(l.RelatedFilters=r),a&&a.length&&(l.RequestedFilters=a),ct(this.http.post(this.url+"Filters?Namespace="+Be,l,this.withCredentialsTimeoutHeaders))}getPivotVariables(e){return this.http.get(this.url+"PivotVariables/"+e+"?Namespace="+Be,this.withCredentialsTimeoutHeaders).toPromise()}getFile(e){return this.http.get(e,{responseType:"text"}).toPromise()}getJSONFile(e){return this.http.get(e,{responseType:"json"}).toPromise()}loadMainConfig(){return this.http.get("config.json",{headers:new Xe({withCredentials:"false"})}).toPromise().then(e=>{this.mainConfig=e;try{e&&e.endpoints&&e.endpoints.mdx2json&&(Sl=e.endpoints.mdx2json.replace(/\//ig,"").replace(/ /g,""),Al=e.namespace.replace(/\//ig,"").replace(/ /g,""))}catch{console.error('Incorrect config in file "config.json"')}})}loadConfig(e){return this.http.get("configs/"+e.toLowerCase()+".json",{headers:new Xe({withCredentials:"false"})}).toPromise()}loadAddons(){return ht(this,null,function*(){return ct(this.http.get(this.url+"Addons",this.withCredentialsHeaders))})}loadNamespaceConfig(){return this.http.get(this.url+`Config/${Be}?Namespace=${Al}`,this.withCredentialsHeaders).toPromise()}loadOAuthConfig(){let e=location.hash.replace("#/","").split("?")[1];return this.http.get("dswoauth/check"+(e?`?${e}`:""),this.withoutCredentialsHeaders).toPromise()}signIn(e,t,r,a){return this.username=e,this.http.get(a?a+"Test?Namespace="+r:this.url+"Test?Namespace="+r,{withCredentials:!0,headers:new Xe({timeout:oi.const.timeout.toString(),Authorization:"Basic "+btoa(e+":"+t)})}).toPromise()}signOut(){this.firstRun=!0;let e=a=>{document.cookie=a+"=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;"},t=(a,l,_)=>{let O=new Date;O.setTime(O.getTime()+24*60*60*1e3*_),document.cookie=a+"="+l+";path=/;expires="+O.toUTCString()};this.username="";try{localStorage.userName="",sessionStorage.userName=""}catch{}let r=()=>{t("CSPWSERVERID","",-1),t("CacheLoginToken","",-1),t("CSPSESSIONID-SP-80-UP-","",-1),t("CSPSESSIONID-SP-80-UP-MDX2JSON-","",-1),this.router.navigateByUrl("/login")};return this.http.get(this.url+`Logout?Namespace=${Be}`,this.withCredentialsHeaders).toPromise().then(()=>{r()}).catch(()=>{r()})}execAction(e,t){return this.http.post(this.url+"Action/"+t+"/"+e+"?Namespace="+Be,{},this.withCredentialsTimeoutHeaders).toPromise()}getSettings(e){return ht(this,null,function*(){return ct(this.http.get(this.url+"Test?Namespace="+e,this.withCredentialsTimeoutHeaders))})}requestListOfDataSources(e){return ht(this,null,function*(){return ct(this.http.post(this.url+`DataSourceList/${e}?Namespace=`+Be,{},this.withCredentialsTimeoutHeaders))})}saveWidget(e,t,r){return ht(this,null,function*(){return ct(this.http.post(this.url+"saveWidget?Namespace="+Be,{key:r||"",Dashboard:e,WidgetData:t},this.withCredentialsTimeoutHeaders).pipe(this.handleError()))})}deleteWidget(e,t){return ht(this,null,function*(){return ct(this.http.post(this.url+"deleteWidget?Namespace="+Be,{key:t||"",Dashboard:e},this.withCredentialsTimeoutHeaders).pipe(this.handleError()))})}static{this.\u0275fac=function(t){return new(t||i)(Ce(Ke),Ce(lt),Ce(Vr),Ce(ml))}}static{this.\u0275prov=De({token:i,factory:i.\u0275fac,providedIn:"root"})}}return i})();export{ii as a,We as b,ju as c,Bu as d,_u as e,zu as f,Uu as g,$u as h,Qo as i,_r as j,Hu as k,sp as l,rp as m,fa as n,xp as o,lc as p,wp as q,dc as r,bi as s,Ct as t,Ke as u,Hc as v,lt as w,Hp as x,Gp as y,Wp as z,tu as A,Vp as B,Xp as C,qp as D,Bn as E,oi as F,ml as G,xl as H,bl as I,wl as J,Be as K,cf as L}; diff --git a/dist/chunk-36GF4U3L.js b/dist/chunk-36GF4U3L.js new file mode 100644 index 00000000..ef1b39a1 --- /dev/null +++ b/dist/chunk-36GF4U3L.js @@ -0,0 +1 @@ +import{a as ce}from"./chunk-4E7AOQSX.js";import{a as Ce}from"./chunk-NBJK7W6X.js";import{b as xe}from"./chunk-XJP3OBRL.js";import{b as de,c as pe,d as he,e as me,f as ue,g as fe,h as ge,j as _e}from"./chunk-TVDZ6ISS.js";import{D as ne,F as oe,G as le,H as re,I as ae,J as se,h as ie}from"./chunk-2LPFMFSX.js";import{Ab as G,B as W,Cb as M,Db as Y,Ea as q,Eb as R,F as N,Fb as T,Gb as A,Hb as r,Ib as s,Ic as ee,Jb as b,Kc as te,Nb as O,Rb as w,Sb as c,Vb as J,Xb as K,Yb as X,Zb as Z,ab as l,ac as B,bb as v,bc as u,cc as y,dc as E,ec as I,f as L,fa as j,fc as S,gc as k,ia as H,lc as $,qa as h,qc as x,ra as m,rb as P,rc as C,tb as Q,ub as U,vb as z,xb as F,zb as D}from"./chunk-Q2S6HPKO.js";import"./chunk-MG3ERZGY.js";var ve=["dateFilter"],be=()=>[import("./chunk-VTVQYILM.js").then(o=>o.DateFilterComponent)];function we(o,p){o&1&&b(0,"dsw-date-filter",null,0)}function ye(o,p){o&1&&b(0,"div",9)}function Fe(o,p){o&1&&(P(0,we,2,0)(1,ye,1,0),Q(2,0,be,null,1),z(),U())}function Pe(o,p){if(o&1){let e=O();r(0,"div",13)(1,"span",18)(2,"input",19),k("ngModelChange",function(t){h(e);let n=c(2);return S(n.model.isAll,t)||(n.model.isAll=t),m(t)}),w("click",function(t){h(e);let n=c(2);return m(n.setAll(t))}),s(),r(3,"label",20),u(4),x(5,"i18n"),s()(),r(6,"span",18)(7,"input",21),k("ngModelChange",function(t){h(e);let n=c(2);return S(n.model.isExclude,t)||(n.model.isExclude=t),m(t)}),s(),r(8,"label",22),u(9),x(10,"i18n"),s()(),r(11,"span")(12,"input",23),k("ngModelChange",function(t){h(e);let n=c(2);return S(n.model.isInterval,t)||(n.model.isInterval=t),m(t)}),s(),r(13,"label",24),u(14),x(15,"i18n"),s()()()}if(o&2){let e=c(2);l(),F("hidden",e.model.isInterval),l(),I("ngModel",e.model.isAll),l(2),y(C(5,8,"all")),l(2),F("hidden",e.model.isInterval),l(),I("ngModel",e.model.isExclude),l(2),y(C(10,10,"exclude")),l(3),I("ngModel",e.model.isInterval),l(2),y(C(15,12,"interval"))}}function Me(o,p){if(o&1&&(r(0,"option",26),u(1),s()),o&2){let e=p.$implicit;F("ngValue",e.path),l(),y(e.name)}}function Ie(o,p){if(o&1&&(r(0,"option",26),u(1),s()),o&2){let e=p.$implicit;F("ngValue",e.path),l(),y(e.name)}}function Se(o,p){if(o&1){let e=O();r(0,"div",14)(1,"div")(2,"label"),u(3),x(4,"i18n"),s(),r(5,"select",25),k("ngModelChange",function(t){h(e);let n=c(2);return S(n.model.from,t)||(n.model.from=t),m(t)}),T(6,Me,2,2,"option",26,R),s()(),r(8,"div")(9,"label"),u(10),x(11,"i18n"),s(),r(12,"select",25),k("ngModelChange",function(t){h(e);let n=c(2);return S(n.model.to,t)||(n.model.to=t),m(t)}),T(13,Ie,2,2,"option",26,R),s()()()}if(o&2){let e=c(2);l(3),y(C(4,4,"from")),l(2),I("ngModel",e.model.from),l(),A(e.model.values),l(4),y(C(11,6,"to")),l(2),I("ngModel",e.model.to),l(),A(e.model.values)}}function ke(o,p){if(o&1){let e=O();r(0,"div",27),w("click",function(t){h(e);let n=c(2);return m(n.setAll(t))}),b(1,"input",28),r(2,"div"),u(3,"Default"),s()()}if(o&2){let e=c(2);l(),F("checked",e.model.isAll)}}function Oe(o,p){if(o&1&&(r(0,"div"),u(1),s()),o&2){let e=c().$implicit;l(),y(e.info)}}function Ee(o,p){if(o&1){let e=O();r(0,"div",27),w("click",function(t){let n=h(e).$implicit,_=c(2);return m(_.toggleRow(n,t))}),r(1,"input",29,2),w("click",function(t){let n=h(e).$implicit,_=B(2),d=c(2);return n.checked=_.checked,m(d.onItemSelect(t))}),s(),r(3,"div"),u(4),P(5,Oe,2,1,"div"),s()()}if(o&2){let e=p.$implicit,i=c(2);l(),D("readonly",i.isRadio),F("type",i.isRadio?"radio":"checkbox")("checked",e.checked),l(2),G(e.default?"bold":""),D("selected",e.checked),l(),E("",e.name," "),l(),M(e.info?5:-1)}}function Ve(o,p){o&1&&(r(0,"div",17),b(1,"img",30),s())}function De(o,p){if(o&1){let e=O();r(0,"div",10),b(1,"img",11),r(2,"input",12,1),x(4,"i18n"),k("ngModelChange",function(t){h(e);let n=c();return S(n.model.search,t)||(n.model.search=t),m(t)}),w("search",function(){h(e);let t=B(3),n=c();return m(n.onSearch(t.value))})("keyup",function(){h(e);let t=B(3),n=c();return n.onSearch(t.value),m(n.onSearchInputChange(t.value))})("keydown.enter",function(){h(e);let t=c();return m(t.searchFilters())}),s()(),P(5,Pe,16,14,"div",13)(6,Se,15,8,"div",14),r(7,"div",15),P(8,ke,4,1,"div",16),T(9,Ee,6,10,"div",16,Y),x(11,"selectedFirst"),P(12,Ve,2,0,"div",17),s()}if(o&2){let e=c();l(2),J("placeholder",C(4,7,"search")),I("ngModel",e.model.search),l(3),M(e.isRadio?-1:5),l(),M(e.model.isInterval?6:-1),l(),F("hidden",e.model.isInterval),l(),M(e.hasDefault?8:-1),l(),A(C(11,9,e.model.values)),l(3),M(e.model.isLoading?12:-1)}}var Te=(()=>{class o{transform(e){return Array.isArray(e)?e.sort((i,t)=>i.checked===t.checked?0:i.checked?-1:1):e}static{this.\u0275fac=function(i){return new(i||o)}}static{this.\u0275pipe=H({name:"selectedFirst",type:o,pure:!0,standalone:!0})}}return o})(),ot=(()=>{class o{constructor(e,i,t,n,_,d,g,a,f){this.ss=e,this.el=i,this.ds=t,this.dbs=n,this.fs=_,this.es=d,this.us=g,this.cdr=a,this.locale=f,this.model={search:"",isLoading:!1,filter:void 0,values:[],isAll:!1,isExclude:!1,isInterval:!1,from:"",to:""},this.isRelatedFilters=!1,this.restoreValuesOnClose=!0,this.MIN_SEARCH_LENGTH=3,this.SEARCH_DEBOUNCE_MS=700,this.searchInput$=new L,this.searchRequestId=0,this.datePipe=new ie(f);let V=this.ss.getAppSettings();this.isRelatedFilters=V.isRelatedFilters===void 0?!0:V.isRelatedFilters}get isDateFilter(){return!!this.model?.filter?.isDate}get isRadio(){return this.model?.filter?.type==="radioSet"||this.model?.filter?.action==="applyVariable"}get hasDefault(){return this.model?.filter?.type==="radioSet"&&this.model?.filter?.action!=="applyVariable"}ngAfterViewInit(){this.fitFiltersIntoScreen(),this.initializeDateFilter()}fitFiltersIntoScreen(){let e=this.el?.nativeElement;if(!e)return;let i=e.getBoundingClientRect(),t=window.innerHeight;if(i.top+i.height>t){let n=t-i.top,_=i.top-26-4-4;if(t-i.top<200&&_>n){let d=t-i.top+30+4,g=t-d-i.height;e.style.maxHeight=i.height+g-20+"px",e.style.top="",e.style.bottom=d+"px"}else{let d=i.top+i.height-t;e.style.maxHeight=i.height-d-20+"px"}}}initialize(e,i,t){this.widget=e,this.model.filter=i,!i.isDate&&this.isRelatedFilters?this.requestRelatedFilters(i):this.prepareFilters(),this.model.isAll=!this.isAnyChecked(),this.model.isExclude=i.isExclude,this.model.isInterval=i.isInterval,this.model.filter.values?.length&&(this.originalValues=this.model.filter.values)}ngOnInit(){this.searchSubscription=this.searchInput$.pipe(N(this.SEARCH_DEBOUNCE_MS),W(e=>(e||"").trim().length>=this.MIN_SEARCH_LENGTH)).subscribe(()=>this.searchFilters())}onSearchInputChange(e){this.searchInput$.next((e||"").trim())}requestRelatedFilters(e){let i=this.getDataSource();if(this.prepareFilters(),!i)return;let t=[],n=this.fs.items,_=n.filter(a=>!a.isInterval&&a.targetProperty!==this.model.filter?.targetProperty&&a.value!==""),d=[];_.forEach(a=>{let f=a.value.toString();a.isExclude&&(f=f.split("|").map(V=>V+=".%NOT").join("|")),a.isInterval&&(f=f.replace("|",":")),a.value.toString().indexOf("|")!==-1&&(f="{"+f.replace(/\|/g,",")+"}"),d.push({Filter:a.targetProperty,Value:f})}),n.find(a=>a.targetProperty===this.model?.filter?.targetProperty)?.values?.filter(a=>!a._saved)?.length&&(this.model.isLoading=!0,this.ds.searchFilters("",i,d,[this.model.filter?.targetProperty]).catch(a=>this.onError(a,a.status)).then(a=>{this.onFilterValuesReceived(a),this.onSearch("")}).finally(()=>{this.model.isLoading=!1,this.cdr.detectChanges()}))}getDataSource(){let e="";try{if(this.widget.type.toLowerCase()===oe.const.emptyWidgetClass){let i=this.model.filter?.source||"";e=this.dbs.getWidgets().filter(n=>n.name===i)[0]?.dataSource||""}else e=this.widget.dataSource}catch{e=""}return e}prepareFilters(){this.fs.filtersChanged=!1,this.model.values=[];for(let e=0;e{this.fitFiltersIntoScreen()})}onSearch(e){if(e==="")this.model.values=this.model.filter?.values;else{let i=e.toLowerCase();this.model.values=[];for(let t=0;tthis.onError(n,n.status)).then(n=>{t===this.searchRequestId&&(this.onFilterValuesReceived(n),this.onSearch(i)),this.model.isLoading=!1,this.cdr.detectChanges()})}onFilterValuesReceived(e,i=!1){if(this.model.isLoading=!1,!e)return;let t=e.children.filter(g=>g.path===this.model.filter?.targetProperty);if(t.length===0)return;let n=t[0];if(!n.children||n.children.length===0)return;let _=this.model.filter?.values.slice(),d=[];n.children.forEach(g=>{let a=_.find(f=>f?.path===g?.path||!isNaN(g?.path)&&parseInt(f?.path,10)===g?.path);a&&Object.assign(g,a),d.push(g)}),d.length&&this.model.filter&&(this.model.filter.values=[...d],this.originalValues=structuredClone(d))}onError(e,i){this.model.isLoading=!1,this.es.show(`Error ${i.toString()}`)}removeFilter(){this.model.filter&&(this.model.filter.isInterval=!1),delete this.model.filter?.fromIdx,delete this.model.filter?.toIdx,this.clearSelectedItems(),this.fs.applyFilter(this.model.filter),this.restoreValuesOnClose=!1,this.close()}clearSelectedItems(){for(let e=0;ee.path===this.model.from),this.model.filter.toIdx=this.model.values.findIndex(e=>e.path===this.model.to)):(delete this.model.filter.from,delete this.model.filter.to),this.model.filter.isDate){this.model.filter.isInterval=!1,delete this.model.filter.from,delete this.model.filter.to;let e=this.dateFilter.getValues();this.model.filter.values=e.map(i=>{let t=i.getFullYear()+"-"+("0"+(i.getMonth()+1)).slice(-2)+"-"+("0"+i.getDate()).slice(-2);return{name:this.datePipe.transform(i,"dd MMM yyyy"),path:`&[${t}]`,checked:!0}}),e.length===2&&(this.model.filter.isInterval=!0,this.model.filter.fromIdx=0,this.model.filter.toIdx=1)}this.fs.applyFilter(this.model.filter),this.fs.filtersChanged=!0,this.restoreValuesOnClose=!1,this.close()}close(){this._modal?.close()}initializeDateFilter(){if(!this.model?.filter?.isDate||!this.dateFilter)return;let e=this.model?.filter?.value;if(!e)return;let i=e.split("|").map(t=>this.createDate(t));this.dateFilter.setDateRange(i[0],i[1])}createDate(e){return this.us.toDate(e.replace("&[","").replace("]",""))}ngOnDestroy(){this.searchSubscription?.unsubscribe(),this.searchInput$.complete(),this.restoreValuesOnClose&&this.restoreSelectionState()}static{this.\u0275fac=function(i){return new(i||o)(v(se),v(q),v(re),v(xe),v(Ce),v(le),v(ae),v(te),v(ee))}}static{this.\u0275cmp=j({type:o,selectors:[["dsw-filter-popup"]],viewQuery:function(i,t){if(i&1&&K(ve,5),i&2){let n;X(n=Z())&&(t.dateFilter=n.first)}},hostVars:2,hostBindings:function(i,t){i&2&&D("date-filter",t.isDateFilter)},inputs:{_modal:"_modal"},standalone:!0,features:[$],decls:15,vars:10,consts:[["dateFilter",""],["sr",""],["inp",""],[1,"footer"],[1,"btn","default",3,"click"],["src","assets/img/icons/icon-check.svg",1,"ico","ico-accept"],[1,"btn",3,"click"],["src","assets/img/icons/icon-reload.svg",1,"ico","ico-accept"],["src","assets/img/icons/icon-close.svg",1,"ico","ico-close"],[1,"datepicker-placeholder"],[1,"header"],["src","assets/img/icons/icon-search.svg"],["type","search","dswAutoFocus","desktop",3,"ngModelChange","search","keyup","keydown.enter","placeholder","ngModel"],[1,"checks-container"],[1,"interval-container"],[1,"values-list",3,"hidden"],[1,"value-row"],[1,"spinner"],[3,"hidden"],["id","all","type","checkbox",3,"ngModelChange","click","ngModel"],["for","all"],["id","exclude","type","checkbox",3,"ngModelChange","ngModel"],["for","exclude"],["id","interval","type","checkbox",3,"ngModelChange","ngModel"],["for","interval"],[3,"ngModelChange","ngModel"],[3,"ngValue"],[1,"value-row",3,"click"],["type","radio","name","filter-item",3,"checked"],["name","filter-item",3,"click","type","checked"],["src","assets/img/spinner.svg"]],template:function(i,t){i&1&&(P(0,Fe,4,0)(1,De,13,11),r(2,"div",3)(3,"button",4),w("click",function(){return t.acceptFilter()}),b(4,"img",5),u(5),x(6,"i18n"),s(),r(7,"button",6),w("click",function(){return t.removeFilter()}),b(8,"img",7),u(9),x(10,"i18n"),s(),r(11,"button",6),w("click",function(){return t.close()}),b(12,"img",8),u(13),x(14,"i18n"),s()()),i&2&&(M(t.model.filter!=null&&t.model.filter.isDate?0:1),l(5),E(" ",C(6,4,"accept")," "),l(4),E(" ",C(10,6,"dismiss")," "),l(4),E(" ",C(14,8,"close")," "))},dependencies:[_e,fe,ge,pe,de,ue,he,me,ce,ne,Te],styles:["[_ngcontent-%COMP%]:root{--cl-bg: #F5F5F5;--cl-accent: #1A73E8;--cl-btn-hover: #76abf1;--cl-hover: #E8F0FE;--cl-txt: #555555;--input-border-radius: 13px;--cl-btn-main: #5cb85c;--cl-btn-main-txt: #fff;--cl-btn-main-border: #4cae4c;--cl-btn-main-hover: #6eca6e;--cl-btn-secondary: #e6e6e6;--cl-btn-secondary-txt: #cccccc;--cl-btn-secondary-border: #b4b2b2;--cl-btn-secondary-hover: #dbdbdb;--icon-filter: none;--cl1: #b6e6ff;--cl2: #f7bfb7;--cl3: #bceca8;--cl4: #fff9a8;--cl5: #ffc593;--cl6: #f9b1ab;--cl7: #9de7fb;--cl8: #a8b8f9;--cl9: #9df1ae;--cl-header-bg: #FFFFFF;--cl-header-border: #F5F5F5;--cl-header-txt: #606367;--cl-header-ico: var(--cl-header-txt);--cl-header-btn-active: var(--cl-header-bg);--cl-header-btn-hover: var(--cl-bg);--cl-header-btn-hover-darken: var(--cl-hover);--header-height: 64px;--menu-item-icon-filter: none;--cl-sidebar-bg: #F5F5F5;--cl-sidebar-txt: #606367;--tile-border: none;--tile-border-radius: 10px;--tile-header-height: 28px;--cl-modal-bg: white;--fc0: #606367;--fc1: black;--fc2: red;--fc3: white;--fc4: green;--fc5: blue;--cl-widget-bg: white;--cl-widget-header-btn-active: #A9FFA1;--cl-widget-header-border: none;--cl-text-widget-font: #6b6464;--cl-widget-header-bg: var(--cl-header-bg);--cl-widget-header-txt: var(--cl-header-txt);--cl-widget-filter-txt: #606367;--cl-widget-filter-bg: var(--cl-header-bg);--widget-header-btn-opacity: 1;--widget-header-btn-filter: none;--widget-header-btn-active-filter: contrast(.7) sepia(1) brightness(1) hue-rotate(-898deg) contrast(9);--cl-input-bg: white;--cl-input-border: #EBEBEA;--cl-check-border: #606367;--cl-input-placeholder: rgba(96, 99, 103, .6);--cl-input-text: #606367;--cl-input-height: 26px;--cl-pivot-cell-border: rgb(208, 208, 208);--cl-pivot-cell-hover: #FFF7D7;--pivot-row-hover: inset 0 0 30px #fff5b9;--sidebar-width: 322px;--cl-scrollbar: #606367}[_nghost-%COMP%]{position:absolute;-webkit-user-select:none;user-select:none;display:flex;flex-direction:column;width:340px;background-color:var(--cl-widget-filter-bg);filter:drop-shadow(0px 0px 10px rgba(0,0,0,.1));border-radius:10px;padding:20px 20px 63px}@media (max-width: 576px){[_nghost-%COMP%]{left:0!important;width:100vw;display:flex;flex-direction:column;padding-top:4px}}.date-filter[_nghost-%COMP%]{padding:0 0 45px;width:auto}.header[_ngcontent-%COMP%]{position:relative;margin-bottom:10px}.header[_ngcontent-%COMP%] > img[_ngcontent-%COMP%]{position:absolute;pointer-events:none;top:5px}.header[_ngcontent-%COMP%] > input[_ngcontent-%COMP%]{width:100%;border:none;color:#606367;height:24px;border-bottom:1px solid #EBEBEA;padding-left:16px;border-radius:0}.header[_ngcontent-%COMP%] > input[_ngcontent-%COMP%]:focus, .header[_ngcontent-%COMP%] > input[_ngcontent-%COMP%]:active{border:none;border-bottom:1px solid var(--cl-accent);outline:none}.values-list[_ngcontent-%COMP%]{overflow:auto;max-height:280px;color:var(--cl-txt)}.value-row[_ngcontent-%COMP%]{display:flex;padding:5px 0;cursor:pointer;align-items:center;color:var(--cl-widget-filter-txt)}.value-row[_ngcontent-%COMP%]:hover{background-color:var(--cl-hover);color:var(--cl-header-txt)}@media (max-width: 576px){.value-row[_ngcontent-%COMP%]{padding:0;display:flex}}.value-row[_ngcontent-%COMP%] > div.selected[_ngcontent-%COMP%]{color:var(--cl-accent)}input[type=search][_ngcontent-%COMP%]{width:116px}@media (max-width: 576px){input[type=search][_ngcontent-%COMP%]{width:100%;height:calc(100% - 8px);background-color:transparent;border:none;box-shadow:none}}input[_ngcontent-%COMP%]:focus{outline:1px solid var(--cl-accent);outline-offset:-1px}input[type=checkbox][_ngcontent-%COMP%], input[type=radio][_ngcontent-%COMP%]{flex-grow:0;margin-right:5px}input[type=checkbox][_ngcontent-%COMP%], input[type=radio][_ngcontent-%COMP%]{cursor:pointer}input[type=checkbox][_ngcontent-%COMP%]:focus, input[type=radio][_ngcontent-%COMP%]:focus{outline:none}@media (max-width: 576px){input[type=checkbox][_ngcontent-%COMP%], input[type=radio][_ngcontent-%COMP%]{height:34px;margin-right:4px;margin-left:4px}}.checks-container[_ngcontent-%COMP%]{color:var(--cl-widget-filter-txt);display:flex;padding-bottom:12px}.checks-container[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]{display:flex;margin-right:12px;align-items:center}.ico[_ngcontent-%COMP%]{opacity:.7;vertical-align:middle}.spinner[_ngcontent-%COMP%]{display:flex;justify-content:center}.interval-container[_ngcontent-%COMP%]{padding:4px;color:var(--cl-txt)}.interval-container[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:first-child{margin-bottom:10px}.readonly[_ngcontent-%COMP%]{pointer-events:none}.footer[_ngcontent-%COMP%]{position:absolute;bottom:0;left:0;right:0;width:100%;display:flex;justify-content:flex-end;border-top:1px solid #EBEBEA}.footer[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]{height:44px;padding:0 10px;border:none;box-shadow:none;background:transparent;color:#606367;display:flex;align-items:center;transition:filter .3s linear}.footer[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%] > img[_ngcontent-%COMP%]{margin-right:6px}.footer[_ngcontent-%COMP%] > .btn.default[_ngcontent-%COMP%]{color:var(--cl-accent)}.footer[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:hover{filter:contrast(3)}.footer[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:focus, .footer[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:active{border:none;outline:none}.footer[_ngcontent-%COMP%] > .btn[_ngcontent-%COMP%]:last-child{padding-right:20px}.datepicker-placeholder[_ngcontent-%COMP%]{width:400px;height:268px}"],changeDetection:0})}}return o})();export{ot as FilterPopupComponent,Te as SelectedFirstPipe}; diff --git a/dist/chunk-4E7AOQSX.js b/dist/chunk-4E7AOQSX.js new file mode 100644 index 00000000..51701575 --- /dev/null +++ b/dist/chunk-4E7AOQSX.js @@ -0,0 +1 @@ +import{I as c}from"./chunk-2LPFMFSX.js";import{Ea as o,bb as i,ha as r}from"./chunk-Q2S6HPKO.js";var a=(()=>{class t{constructor(s,e){this.el=s,this.us=e}ngAfterViewInit(){this.el.nativeElement.attributes.getNamedItem("dswAutoFocus").value==="desktop"&&this.us.isMobile()||this.el.nativeElement.focus()}static{this.\u0275fac=function(e){return new(e||t)(i(o),i(c))}}static{this.\u0275dir=r({type:t,selectors:[["","dswAutoFocus",""]],standalone:!0})}}return t})();export{a}; diff --git a/dist/chunk-4TWTXLFQ.js b/dist/chunk-4TWTXLFQ.js new file mode 100644 index 00000000..2624c128 --- /dev/null +++ b/dist/chunk-4TWTXLFQ.js @@ -0,0 +1,7 @@ +import{a as st}from"./chunk-P2AJBGHU.js";import{a as Pt}from"./chunk-P7ZB4PNN.js";import{a as We,c as Oe,d as Le,f as Be}from"./chunk-UX33M573.js";import{a as Re}from"./chunk-B24RJWZ7.js";import{c as Ve,d as Ut,f as wt,h as qt}from"./chunk-GOV7BL6D.js";import{a as Et}from"./chunk-QW6HRI4B.js";import{a as Ft}from"./chunk-UQQGMXH6.js";import{a as De}from"./chunk-HQJBKSDM.js";import{a as it}from"./chunk-NBJK7W6X.js";import{a as pt,b as ze}from"./chunk-XJP3OBRL.js";import{c as Te,d as $e,e as ke,f as Me,g as Pe,h as Fe,j as Ee}from"./chunk-TVDZ6ISS.js";import{D as $t,E as kt,F as J,G as Ie,H as Se,I as dt,J as ct,K as ft,L as Mt,d as jt,e as ve,k as ye,u as ht}from"./chunk-2LPFMFSX.js";import{$b as _e,Aa as Lt,Bb as Ce,Ca as gt,Cb as b,Da as Bt,Db as Ht,Ea as q,Eb as G,F as he,Fb as R,Gb as V,Hb as h,Ib as m,Jb as y,Kc as U,Mb as be,Nb as x,R as de,Rb as f,S as Vt,Sb as d,Tb as At,Ub as Xt,Vb as j,X as St,Xb as Q,Y as ce,Ya as ge,Yb as K,Zb as Z,_b as xe,ab as l,ac as at,ba as D,bb as _,bc as C,cc as k,dc as Tt,ec as Nt,f as It,fa as L,fb as ot,fc as Yt,ga as pe,gc as Gt,ha as me,ib as ue,jb as fe,lb as we,lc as B,pa as mt,qa as c,qc as S,ra as p,rb as F,rc as T,s as oe,xb as $,y as le,yb as ut,z as ae,za as Y,zb as E}from"./chunk-Q2S6HPKO.js";import{a as et,b as Rt}from"./chunk-MG3ERZGY.js";var Xe=["*"];function ai(r,s){if(r&1&&y(0,"div",0),r&2){let t=s.$index,e=d();$("ngStyle",e.gridRenderer.getGridColumnStyle(t))}}function hi(r,s){if(r&1&&y(0,"div",1),r&2){let t=s.$index,e=d();$("ngStyle",e.gridRenderer.getGridRowStyle(t))}}function di(r,s){if(r&1){let t=x();h(0,"div",8),f("mousedown",function(i){c(t);let n=d();return p(n.resize.dragStartDelay(i))})("touchstart",function(i){c(t);let n=d();return p(n.resize.dragStartDelay(i))}),m()}}function ci(r,s){if(r&1){let t=x();h(0,"div",9),f("mousedown",function(i){c(t);let n=d();return p(n.resize.dragStartDelay(i))})("touchstart",function(i){c(t);let n=d();return p(n.resize.dragStartDelay(i))}),m()}}function pi(r,s){if(r&1){let t=x();h(0,"div",10),f("mousedown",function(i){c(t);let n=d();return p(n.resize.dragStartDelay(i))})("touchstart",function(i){c(t);let n=d();return p(n.resize.dragStartDelay(i))}),m()}}function mi(r,s){if(r&1){let t=x();h(0,"div",11),f("mousedown",function(i){c(t);let n=d();return p(n.resize.dragStartDelay(i))})("touchstart",function(i){c(t);let n=d();return p(n.resize.dragStartDelay(i))}),m()}}function gi(r,s){if(r&1){let t=x();h(0,"div",12),f("mousedown",function(i){c(t);let n=d();return p(n.resize.dragStartDelay(i))})("touchstart",function(i){c(t);let n=d();return p(n.resize.dragStartDelay(i))}),m()}}function ui(r,s){if(r&1){let t=x();h(0,"div",13),f("mousedown",function(i){c(t);let n=d();return p(n.resize.dragStartDelay(i))})("touchstart",function(i){c(t);let n=d();return p(n.resize.dragStartDelay(i))}),m()}}function fi(r,s){if(r&1){let t=x();h(0,"div",14),f("mousedown",function(i){c(t);let n=d();return p(n.resize.dragStartDelay(i))})("touchstart",function(i){c(t);let n=d();return p(n.resize.dragStartDelay(i))}),m()}}function wi(r,s){if(r&1){let t=x();h(0,"div",15),f("mousedown",function(i){c(t);let n=d();return p(n.resize.dragStartDelay(i))})("touchstart",function(i){c(t);let n=d();return p(n.resize.dragStartDelay(i))}),m()}}var v=function(r){return r.Fit="fit",r.ScrollVertical="scrollVertical",r.ScrollHorizontal="scrollHorizontal",r.Fixed="fixed",r.VerticalFixed="verticalFixed",r.HorizontalFixed="horizontalFixed",r}(v||{}),zt=function(r){return r.Always="always",r.OnDragAndResize="onDrag&Resize",r.None="none",r}(zt||{}),M=function(r){return r.None="none",r.CompactUp="compactUp",r.CompactLeft="compactLeft",r.CompactUpAndLeft="compactUp&Left",r.CompactLeftAndUp="compactLeft&Up",r.CompactRight="compactRight",r.CompactUpAndRight="compactUp&Right",r.CompactRightAndUp="compactRight&Up",r.CompactDown="compactDown",r.CompactDownAndLeft="compactDown&Left",r.CompactLeftAndDown="compactLeft&Down",r.CompactDownAndRight="compactDown&Right",r.CompactRightAndDown="compactRight&Down",r}(M||{}),W=function(r){return r.LTR="ltr",r.RTL="rtl",r}(W||{}),Qt=class{constructor(s){this.gridster=s}destroy(){this.gridster=null}checkCompact(){this.gridster.$options.compactType!==M.None&&(this.gridster.$options.compactType===M.CompactUp?this.checkCompactMovement("y",-1):this.gridster.$options.compactType===M.CompactLeft?this.checkCompactMovement("x",-1):this.gridster.$options.compactType===M.CompactUpAndLeft?(this.checkCompactMovement("y",-1),this.checkCompactMovement("x",-1)):this.gridster.$options.compactType===M.CompactLeftAndUp?(this.checkCompactMovement("x",-1),this.checkCompactMovement("y",-1)):this.gridster.$options.compactType===M.CompactRight?this.checkCompactMovement("x",1):this.gridster.$options.compactType===M.CompactUpAndRight?(this.checkCompactMovement("y",-1),this.checkCompactMovement("x",1)):this.gridster.$options.compactType===M.CompactRightAndUp?(this.checkCompactMovement("x",1),this.checkCompactMovement("y",-1)):this.gridster.$options.compactType===M.CompactDown?this.checkCompactMovement("y",1):this.gridster.$options.compactType===M.CompactDownAndLeft?(this.checkCompactMovement("y",1),this.checkCompactMovement("x",-1)):this.gridster.$options.compactType===M.CompactDownAndRight?(this.checkCompactMovement("y",1),this.checkCompactMovement("x",1)):this.gridster.$options.compactType===M.CompactLeftAndDown?(this.checkCompactMovement("x",-1),this.checkCompactMovement("y",1)):this.gridster.$options.compactType===M.CompactRightAndDown&&(this.checkCompactMovement("x",1),this.checkCompactMovement("y",1)))}checkCompactItem(s){this.gridster.$options.compactType!==M.None&&(this.gridster.$options.compactType===M.CompactUp?this.moveTillCollision(s,"y",-1):this.gridster.$options.compactType===M.CompactLeft?this.moveTillCollision(s,"x",-1):this.gridster.$options.compactType===M.CompactUpAndLeft?(this.moveTillCollision(s,"y",-1),this.moveTillCollision(s,"x",-1)):this.gridster.$options.compactType===M.CompactLeftAndUp?(this.moveTillCollision(s,"x",-1),this.moveTillCollision(s,"y",-1)):this.gridster.$options.compactType===M.CompactUpAndRight?(this.moveTillCollision(s,"y",-1),this.moveTillCollision(s,"x",1)):this.gridster.$options.compactType===M.CompactDown?this.moveTillCollision(s,"y",1):this.gridster.$options.compactType===M.CompactDownAndLeft?(this.moveTillCollision(s,"y",1),this.moveTillCollision(s,"x",-1)):this.gridster.$options.compactType===M.CompactLeftAndDown?(this.moveTillCollision(s,"x",-1),this.moveTillCollision(s,"y",1)):this.gridster.$options.compactType===M.CompactDownAndRight?(this.moveTillCollision(s,"y",1),this.moveTillCollision(s,"x",1)):this.gridster.$options.compactType===M.CompactRightAndDown&&(this.moveTillCollision(s,"x",1),this.moveTillCollision(s,"y",1)))}checkCompactMovement(s,t){let e=!1;this.gridster.grid.forEach(i=>{i.$item.compactEnabled!==!1&&this.moveTillCollision(i.$item,s,t)&&(e=!0,i.item[s]=i.$item[s],i.itemChanged())}),e&&this.checkCompact()}moveTillCollision(s,t,e){return s[t]+=e,this.gridster.checkCollision(s)?(s[t]-=e,!1):(this.moveTillCollision(s,t,e),!0)}},Ci={gridType:v.Fit,scale:1,fixedColWidth:250,fixedRowHeight:250,keepFixedHeightInMobile:!1,keepFixedWidthInMobile:!1,setGridSize:!1,compactType:M.None,mobileBreakpoint:640,useBodyForBreakpoint:!1,allowMultiLayer:!1,defaultLayerIndex:0,maxLayerIndex:2,baseLayerIndex:1,minCols:1,maxCols:100,minRows:1,maxRows:100,defaultItemCols:1,defaultItemRows:1,maxItemCols:50,maxItemRows:50,minItemCols:1,minItemRows:1,minItemArea:1,maxItemArea:2500,addEmptyRowsCount:0,rowHeightRatio:1,margin:10,outerMargin:!0,outerMarginTop:null,outerMarginRight:null,outerMarginBottom:null,outerMarginLeft:null,useTransformPositioning:!0,scrollSensitivity:10,scrollSpeed:20,initCallback:void 0,destroyCallback:void 0,gridSizeChangedCallback:void 0,itemChangeCallback:void 0,itemResizeCallback:void 0,itemInitCallback:void 0,itemRemovedCallback:void 0,itemValidateCallback:void 0,enableEmptyCellClick:!1,enableEmptyCellContextMenu:!1,enableEmptyCellDrop:!1,enableEmptyCellDrag:!1,enableOccupiedCellDrop:!1,emptyCellClickCallback:void 0,emptyCellContextMenuCallback:void 0,emptyCellDropCallback:void 0,emptyCellDragCallback:void 0,emptyCellDragMaxCols:50,emptyCellDragMaxRows:50,ignoreMarginInRow:!1,draggable:{delayStart:0,enabled:!1,ignoreContentClass:"gridster-item-content",ignoreContent:!1,dragHandleClass:"drag-handler",stop:void 0,start:void 0,dropOverItems:!1,dropOverItemsCallback:void 0},resizable:{delayStart:0,enabled:!1,handles:{s:!0,e:!0,n:!0,w:!0,se:!0,ne:!0,sw:!0,nw:!0},stop:void 0,start:void 0},swap:!0,swapWhileDragging:!1,pushItems:!1,disablePushOnDrag:!1,disablePushOnResize:!1,pushDirections:{north:!0,east:!0,south:!0,west:!0},pushResizeItems:!1,displayGrid:zt.OnDragAndResize,disableWindowResize:!1,disableWarnings:!1,scrollToNewItems:!1,disableScrollHorizontal:!1,disableScrollVertical:!1,enableBoundaryControl:!1,disableAutoPositionOnConflict:!1,dirType:W.LTR},O=class r{static merge(s,t,e){for(let i in t)t[i]!==void 0&&e.hasOwnProperty(i)&&(typeof t[i]=="object"?(i in s||(s[i]={}),s[i]=r.merge(s[i],t[i],e[i])):s[i]=t[i]);return s}static checkTouchEvent(s){s.clientX===void 0&&s.touches&&(s.touches&&s.touches.length?(s.clientX=s.touches[0].clientX,s.clientY=s.touches[0].clientY):s.changedTouches&&s.changedTouches.length&&(s.clientX=s.changedTouches[0].clientX,s.clientY=s.changedTouches[0].clientY))}static checkContentClassForEvent(s,t){if(s.$options.draggable.ignoreContent){if(!r.checkDragHandleClass(t.target,t.currentTarget,s.$options.draggable.dragHandleClass,s.$options.draggable.ignoreContentClass))return!0}else if(r.checkContentClass(t.target,t.currentTarget,s.$options.draggable.ignoreContentClass))return!0;return!1}static checkContentClassForEmptyCellClickEvent(s,t){return r.checkContentClass(t.target,t.currentTarget,s.$options.draggable.ignoreContentClass)||r.checkContentClass(t.target,t.currentTarget,s.$options.draggable.dragHandleClass)}static checkDragHandleClass(s,t,e,i){if(!s||s===t)return!1;if(s.hasAttribute("class")){let n=s.getAttribute("class").split(" ");if(n.indexOf(e)>-1)return!0;if(n.indexOf(i)>-1)return!1}return r.checkDragHandleClass(s.parentNode,t,e,i)}static checkContentClass(s,t,e){return!s||s===t?!1:s.hasAttribute("class")&&s.getAttribute("class").split(" ").indexOf(e)>-1?!0:r.checkContentClass(s.parentNode,t,e)}static compareItems(s,t){return s.y>t.y?-1:s.yt.x?-1:1}},Kt=class{constructor(s){this.gridster=s,this.emptyCellClickCb=t=>{if(!this.gridster||this.gridster.movingItem||O.checkContentClassForEmptyCellClickEvent(this.gridster,t))return;let e=this.getValidItemFromEvent(t);e&&(this.gridster.options.emptyCellClickCallback&&this.gridster.options.emptyCellClickCallback(t,e),this.gridster.cdRef.markForCheck())},this.emptyCellContextMenuCb=t=>{if(this.gridster.movingItem||O.checkContentClassForEmptyCellClickEvent(this.gridster,t))return;t.preventDefault(),t.stopPropagation();let e=this.getValidItemFromEvent(t);e&&(this.gridster.options.emptyCellContextMenuCallback&&this.gridster.options.emptyCellContextMenuCallback(t,e),this.gridster.cdRef.markForCheck())},this.emptyCellDragDrop=t=>{let e=this.getValidItemFromEvent(t);e&&(this.gridster.options.emptyCellDropCallback&&this.gridster.options.emptyCellDropCallback(t,e),this.gridster.cdRef.markForCheck())},this.emptyCellDragOver=t=>{t.preventDefault(),t.stopPropagation();let e=this.getValidItemFromEvent(t);e?(t.dataTransfer&&(t.dataTransfer.dropEffect="move"),this.gridster.movingItem=e):(t.dataTransfer&&(t.dataTransfer.dropEffect="none"),this.gridster.movingItem=null),this.gridster.previewStyle()},this.emptyCellMouseDown=t=>{if(O.checkContentClassForEmptyCellClickEvent(this.gridster,t))return;t.preventDefault(),t.stopPropagation();let e=this.getValidItemFromEvent(t);!e||t.buttons!==1&&!(t instanceof TouchEvent)||(this.initialItem=e,this.gridster.movingItem=e,this.gridster.previewStyle(),this.gridster.zone.runOutsideAngular(()=>{this.removeWindowMousemoveListenerFn=this.gridster.renderer.listen("window","mousemove",this.emptyCellMouseMove),this.removeWindowTouchmoveListenerFn=this.gridster.renderer.listen("window","touchmove",this.emptyCellMouseMove)}),this.removeWindowMouseupListenerFn=this.gridster.renderer.listen("window","mouseup",this.emptyCellMouseUp),this.removeWindowTouchendListenerFn=this.gridster.renderer.listen("window","touchend",this.emptyCellMouseUp))},this.emptyCellMouseMove=t=>{t.preventDefault(),t.stopPropagation();let e=this.getValidItemFromEvent(t,this.initialItem);e&&(this.gridster.movingItem=e,this.gridster.previewStyle())},this.emptyCellMouseUp=t=>{this.removeWindowMousemoveListenerFn(),this.removeWindowTouchmoveListenerFn(),this.removeWindowMouseupListenerFn(),this.removeWindowTouchendListenerFn();let e=this.getValidItemFromEvent(t,this.initialItem);e&&(this.gridster.movingItem=e),this.gridster.options.emptyCellDragCallback&&this.gridster.movingItem&&this.gridster.options.emptyCellDragCallback(t,this.gridster.movingItem),setTimeout(()=>{this.initialItem=null,this.gridster&&(this.gridster.movingItem=null,this.gridster.previewStyle())}),this.gridster.cdRef.markForCheck()}}destroy(){this.gridster.previewStyle&&this.gridster.previewStyle(),this.gridster.movingItem=null,this.initialItem=this.gridster=null,this.removeDocumentDragendListenerFn&&(this.removeDocumentDragendListenerFn(),this.removeDocumentDragendListenerFn=null)}updateOptions(){this.gridster.$options.enableEmptyCellClick&&!this.removeEmptyCellClickListenerFn&&this.gridster.options.emptyCellClickCallback?(this.removeEmptyCellClickListenerFn=this.gridster.renderer.listen(this.gridster.el,"click",this.emptyCellClickCb),this.removeEmptyCellTouchendListenerFn=this.gridster.renderer.listen(this.gridster.el,"touchend",this.emptyCellClickCb)):!this.gridster.$options.enableEmptyCellClick&&this.removeEmptyCellClickListenerFn&&this.removeEmptyCellTouchendListenerFn&&(this.removeEmptyCellClickListenerFn(),this.removeEmptyCellTouchendListenerFn(),this.removeEmptyCellClickListenerFn=null,this.removeEmptyCellTouchendListenerFn=null),this.gridster.$options.enableEmptyCellContextMenu&&!this.removeEmptyCellContextMenuListenerFn&&this.gridster.options.emptyCellContextMenuCallback?this.removeEmptyCellContextMenuListenerFn=this.gridster.renderer.listen(this.gridster.el,"contextmenu",this.emptyCellContextMenuCb):!this.gridster.$options.enableEmptyCellContextMenu&&this.removeEmptyCellContextMenuListenerFn&&(this.removeEmptyCellContextMenuListenerFn(),this.removeEmptyCellContextMenuListenerFn=null),this.gridster.$options.enableEmptyCellDrop&&!this.removeEmptyCellDropListenerFn&&this.gridster.options.emptyCellDropCallback?(this.removeEmptyCellDropListenerFn=this.gridster.renderer.listen(this.gridster.el,"drop",this.emptyCellDragDrop),this.gridster.zone.runOutsideAngular(()=>{this.removeEmptyCellDragoverListenerFn=this.gridster.renderer.listen(this.gridster.el,"dragover",this.emptyCellDragOver)}),this.removeDocumentDragendListenerFn=this.gridster.renderer.listen("document","dragend",()=>{this.gridster.movingItem=null,this.gridster.previewStyle()})):!this.gridster.$options.enableEmptyCellDrop&&this.removeEmptyCellDropListenerFn&&this.removeEmptyCellDragoverListenerFn&&this.removeDocumentDragendListenerFn&&(this.removeEmptyCellDropListenerFn(),this.removeEmptyCellDragoverListenerFn(),this.removeDocumentDragendListenerFn(),this.removeEmptyCellDragoverListenerFn=null,this.removeEmptyCellDropListenerFn=null,this.removeDocumentDragendListenerFn=null),this.gridster.$options.enableEmptyCellDrag&&!this.removeEmptyCellMousedownListenerFn&&this.gridster.options.emptyCellDragCallback?(this.removeEmptyCellMousedownListenerFn=this.gridster.renderer.listen(this.gridster.el,"mousedown",this.emptyCellMouseDown),this.removeEmptyCellTouchstartListenerFn=this.gridster.renderer.listen(this.gridster.el,"touchstart",this.emptyCellMouseDown)):!this.gridster.$options.enableEmptyCellDrag&&this.removeEmptyCellMousedownListenerFn&&this.removeEmptyCellTouchstartListenerFn&&(this.removeEmptyCellMousedownListenerFn(),this.removeEmptyCellTouchstartListenerFn(),this.removeEmptyCellMousedownListenerFn=null,this.removeEmptyCellTouchstartListenerFn=null)}getPixelsX(s,t){let e=this.gridster.options.scale;return e?(s.clientX-t.left)/e+this.gridster.el.scrollLeft-this.gridster.gridRenderer.getLeftMargin():s.clientX+this.gridster.el.scrollLeft-t.left-this.gridster.gridRenderer.getLeftMargin()}getPixelsY(s,t){let e=this.gridster.options.scale;return e?(s.clientY-t.top)/e+this.gridster.el.scrollTop-this.gridster.gridRenderer.getTopMargin():s.clientY+this.gridster.el.scrollTop-t.top-this.gridster.gridRenderer.getTopMargin()}getValidItemFromEvent(s,t){s.preventDefault(),s.stopPropagation(),O.checkTouchEvent(s);let e=this.gridster.el.getBoundingClientRect(),i=this.getPixelsX(s,e),n=this.getPixelsY(s,e),o={x:this.gridster.pixelsToPositionX(i,Math.floor,!0),y:this.gridster.pixelsToPositionY(n,Math.floor,!0),cols:this.gridster.$options.defaultItemCols,rows:this.gridster.$options.defaultItemRows};if(t&&(o.cols=Math.min(Math.abs(t.x-o.x)+1,this.gridster.$options.emptyCellDragMaxCols),o.rows=Math.min(Math.abs(t.y-o.y)+1,this.gridster.$options.emptyCellDragMaxRows),t.xthis.gridster.$options.emptyCellDragMaxCols-1&&(o.x=this.gridster.movingItem?this.gridster.movingItem.x:0),t.ythis.gridster.$options.emptyCellDragMaxRows-1&&(o.y=this.gridster.movingItem?this.gridster.movingItem.y:0)),!(!this.gridster.$options.enableOccupiedCellDrop&&this.gridster.checkCollision(o)))return o}},Zt=class{constructor(s){this.gridster=s,this.lastGridColumnStyles={},this.lastGridRowStyles={}}destroy(){this.gridster=null}updateItem(s,t,e){if(this.gridster.mobile)this.clearCellPosition(e,s),this.gridster.$options.keepFixedHeightInMobile?e.setStyle(s,"height",(t.rows-1)*this.gridster.$options.margin+t.rows*this.gridster.$options.fixedRowHeight+"px"):e.setStyle(s,"height",t.rows*this.gridster.curWidth/t.cols+"px"),this.gridster.$options.keepFixedWidthInMobile?e.setStyle(s,"width",this.gridster.$options.fixedColWidth+"px"):e.setStyle(s,"width",""),e.setStyle(s,"margin-bottom",this.gridster.$options.margin+"px"),e.setStyle(s,W.LTR?"margin-right":"margin-left","");else{let i=Math.round(this.gridster.curColWidth*t.x),n=Math.round(this.gridster.curRowHeight*t.y),o=this.gridster.curColWidth*t.cols-this.gridster.$options.margin,a=this.gridster.curRowHeight*t.rows-this.gridster.$options.margin;this.setCellPosition(e,s,i,n),e.setStyle(s,"width",o+"px"),e.setStyle(s,"height",a+"px");let u=null,g=null;this.gridster.$options.outerMargin&&(this.gridster.rows===t.rows+t.y&&(this.gridster.$options.outerMarginBottom!==null?u=this.gridster.$options.outerMarginBottom+"px":u=this.gridster.$options.margin+"px"),this.gridster.columns===t.cols+t.x&&(this.gridster.$options.outerMarginBottom!==null?g=this.gridster.$options.outerMarginRight+"px":g=this.gridster.$options.margin+"px")),e.setStyle(s,"margin-bottom",u),e.setStyle(s,W.LTR?"margin-right":"margin-left",g)}}updateGridster(){let s="",t="",e="",i="";if(this.gridster.$options.gridType===v.Fit)s=v.Fit,t=v.ScrollVertical,e=v.ScrollHorizontal,i=v.Fixed;else if(this.gridster.$options.gridType===v.ScrollVertical)this.gridster.curRowHeight=this.gridster.curColWidth*this.gridster.$options.rowHeightRatio,s=v.ScrollVertical,t=v.Fit,e=v.ScrollHorizontal,i=v.Fixed;else if(this.gridster.$options.gridType===v.ScrollHorizontal){let n=this.gridster.$options.rowHeightRatio,o=n>=1?n:n+1;this.gridster.curColWidth=this.gridster.curRowHeight*o,s=v.ScrollHorizontal,t=v.Fit,e=v.ScrollVertical,i=v.Fixed}else this.gridster.$options.gridType===v.Fixed?(this.gridster.curColWidth=this.gridster.$options.fixedColWidth+(this.gridster.$options.ignoreMarginInRow?0:this.gridster.$options.margin),this.gridster.curRowHeight=this.gridster.$options.fixedRowHeight+(this.gridster.$options.ignoreMarginInRow?0:this.gridster.$options.margin),s=v.Fixed,t=v.Fit,e=v.ScrollVertical,i=v.ScrollHorizontal):this.gridster.$options.gridType===v.VerticalFixed?(this.gridster.curRowHeight=this.gridster.$options.fixedRowHeight+(this.gridster.$options.ignoreMarginInRow?0:this.gridster.$options.margin),s=v.ScrollVertical,t=v.Fit,e=v.ScrollHorizontal,i=v.Fixed):this.gridster.$options.gridType===v.HorizontalFixed&&(this.gridster.curColWidth=this.gridster.$options.fixedColWidth+(this.gridster.$options.ignoreMarginInRow?0:this.gridster.$options.margin),s=v.ScrollHorizontal,t=v.Fit,e=v.ScrollVertical,i=v.Fixed);this.gridster.mobile||this.gridster.$options.setGridSize&&this.gridster.$options.gridType!==v.Fit?this.gridster.renderer.removeClass(this.gridster.el,s):this.gridster.renderer.addClass(this.gridster.el,s),this.gridster.renderer.removeClass(this.gridster.el,t),this.gridster.renderer.removeClass(this.gridster.el,e),this.gridster.renderer.removeClass(this.gridster.el,i)}getGridColumnStyle(s){let t={left:this.gridster.curColWidth*s,width:this.gridster.curColWidth-this.gridster.$options.margin,height:this.gridster.gridRows.length*this.gridster.curRowHeight-this.gridster.$options.margin,style:{}};t.style=Rt(et({},this.getLeftPosition(t.left)),{width:t.width+"px",height:t.height+"px"});let e=this.lastGridColumnStyles[s];return e&&e.left===t.left&&e.width===t.width&&e.height===t.height?e.style:(this.lastGridColumnStyles[s]=t,t.style)}getGridRowStyle(s){let t={top:this.gridster.curRowHeight*s,width:this.gridster.gridColumns.length*this.gridster.curColWidth+this.gridster.$options.margin,height:this.gridster.curRowHeight-this.gridster.$options.margin,style:{}};t.style=Rt(et({},this.getTopPosition(t.top)),{width:t.width+"px",height:t.height+"px"});let e=this.lastGridRowStyles[s];return e&&e.top===t.top&&e.width===t.width&&e.height===t.height?e.style:(this.lastGridRowStyles[s]=t,t.style)}getLeftPosition(s){let t=this.gridster.$options.dirType===W.RTL?-s:s;return this.gridster.$options.useTransformPositioning?{transform:"translateX("+t+"px)"}:{left:this.getLeftMargin()+t+"px"}}getTopPosition(s){return this.gridster.$options.useTransformPositioning?{transform:"translateY("+s+"px)"}:{top:this.getTopMargin()+s+"px"}}clearCellPosition(s,t){this.gridster.$options.useTransformPositioning?s.setStyle(t,"transform",""):(s.setStyle(t,"top",""),s.setStyle(t,"left",""))}setCellPosition(s,t,e,i){let n=this.gridster.$options.dirType===W.RTL?-e:e;if(this.gridster.$options.useTransformPositioning){let o="translate3d("+n+"px, "+i+"px, 0)";s.setStyle(t,"transform",o)}else s.setStyle(t,"left",this.getLeftMargin()+n+"px"),s.setStyle(t,"top",this.getTopMargin()+i+"px")}getLeftMargin(){return this.gridster.$options.outerMargin?this.gridster.$options.outerMarginLeft!==null?this.gridster.$options.outerMarginLeft:this.gridster.$options.margin:0}getTopMargin(){return this.gridster.$options.outerMargin?this.gridster.$options.outerMarginTop!==null?this.gridster.$options.outerMarginTop:this.gridster.$options.margin:0}},bi=(()=>{class r{constructor(t,e){this.renderer=e,this.el=t.nativeElement}ngOnInit(){this.sub=this.previewStyle$.subscribe(t=>this.previewStyle(t))}ngOnDestroy(){this.sub&&this.sub.unsubscribe()}previewStyle(t){t?(this.renderer.setStyle(this.el,"display","block"),this.gridRenderer.updateItem(this.el,t,this.renderer)):this.renderer.setStyle(this.el,"display","")}static{this.\u0275fac=function(e){return new(e||r)(_(q),_(ot))}}static{this.\u0275cmp=L({type:r,selectors:[["gridster-preview"]],inputs:{previewStyle$:"previewStyle$",gridRenderer:"gridRenderer"},standalone:!0,features:[B],decls:0,vars:0,template:function(e,i){},styles:[`gridster-preview{position:absolute;display:none;background:#00000026} +`],encapsulation:2})}}return r})(),se=(()=>{class r{constructor(t,e,i,n){this.renderer=e,this.cdRef=i,this.zone=n,this.columns=0,this.rows=0,this.gridColumns=[],this.gridRows=[],this.previewStyle$=new Y,this.calculateLayout$=new It,this.resize$=new It,this.destroy$=new It,this.optionsChanged=()=>{this.setOptions();let o=this.grid.length-1,a;for(;o>=0;o--)a=this.grid[o],a.updateOptions();this.calculateLayout()},this.onResize=()=>{this.el.clientWidth&&(this.options.setGridSize&&(this.renderer.setStyle(this.el,"width",""),this.renderer.setStyle(this.el,"height","")),this.setGridSize(),this.calculateLayout())},this.getNextPossiblePosition=(o,a={})=>{o.cols===-1&&(o.cols=this.$options.defaultItemCols),o.rows===-1&&(o.rows=this.$options.defaultItemRows),this.setGridDimensions();let u=a.y||0,g;for(;u=this.rows+o.rows,I=this.$options.maxCols>=this.columns+o.cols;return!(this.rows<=this.columns&&w)&&I?(o.x=this.columns,o.y=0,!0):w?(o.y=this.rows,o.x=0,!0):!1},this.getFirstPossiblePosition=o=>{let a=Object.assign({},o);return this.getNextPossiblePosition(a),a},this.getLastPossiblePosition=o=>{let a={y:0,x:0};a=this.grid.reduce((g,w)=>{let I={y:w.$item.y+w.$item.rows-1,x:w.$item.x+w.$item.cols-1};return O.compareItems(g,I)===1?I:g},a);let u=Object.assign({},o);return this.getNextPossiblePosition(u,a),u},this.el=t.nativeElement,this.$options=JSON.parse(JSON.stringify(Ci)),this.mobile=!1,this.curWidth=0,this.curHeight=0,this.grid=[],this.curColWidth=0,this.curRowHeight=0,this.dragInProgress=!1,this.emptyCell=new Kt(this),this.compact=new Qt(this),this.gridRenderer=new Zt(this)}static checkCollisionTwoItemsForSwaping(t,e){let i=t.cols===1?0:1,n=e.cols===1?0:1,o=t.rows===1?0:1,a=e.rows===1?0:1;return t.x+ie.x+n&&t.y+oe.y+a}checkCollisionTwoItems(t,e){if(!(t.xe.x&&t.ye.y))return!1;if(!this.$options.allowMultiLayer)return!0;let n=this.$options.defaultLayerIndex,o=t.layerIndex===void 0?n:t.layerIndex,a=e.layerIndex===void 0?n:e.layerIndex;return o===a}ngOnInit(){this.options.initCallback&&this.options.initCallback(this),this.calculateLayout$.pipe(he(0),Vt(this.destroy$)).subscribe(()=>this.calculateLayout()),this.resize$.pipe(de(()=>ae(100)),Vt(this.destroy$)).subscribe(()=>this.resize())}ngOnChanges(t){t.options&&(this.setOptions(),this.options.api={optionsChanged:this.optionsChanged,resize:this.onResize,getNextPossiblePosition:this.getNextPossiblePosition,getFirstPossiblePosition:this.getFirstPossiblePosition,getLastPossiblePosition:this.getLastPossiblePosition,getItemComponent:e=>this.getItemComponent(e)},this.columns=this.$options.minCols,this.rows=this.$options.minRows+this.$options.addEmptyRowsCount,this.setGridSize(),this.calculateLayout())}resize(){let t,e;this.$options.gridType==="fit"&&!this.mobile?(e=this.el.offsetWidth,t=this.el.offsetHeight):(e=this.el.clientWidth,t=this.el.clientHeight),(e!==this.curWidth||t!==this.curHeight)&&this.checkIfToResize()&&this.onResize()}setOptions(){this.$options=O.merge(this.$options,this.options,this.$options),!this.$options.disableWindowResize&&!this.windowResize?this.windowResize=this.renderer.listen("window","resize",this.onResize):this.$options.disableWindowResize&&this.windowResize&&(this.windowResize(),this.windowResize=null),this.emptyCell.updateOptions()}ngOnDestroy(){this.destroy$.next(),this.previewStyle$.complete(),this.windowResize&&this.windowResize(),this.options&&this.options.destroyCallback&&this.options.destroyCallback(this),this.options&&this.options.api&&(this.options.api.resize=void 0,this.options.api.optionsChanged=void 0,this.options.api.getNextPossiblePosition=void 0,this.options.api=void 0),this.emptyCell.destroy(),this.emptyCell=null,this.compact.destroy(),this.compact=null}checkIfToResize(){let t=this.el.clientWidth,e=this.el.offsetWidth,i=this.el.scrollWidth,n=this.el.clientHeight,o=this.el.offsetHeight,a=this.el.scrollHeight,u=to&&a-oe&&i-edocument.body.clientWidth:this.$options.mobileBreakpoint>this.curWidth}setGridSize(){let t=this.el,e,i;this.$options.setGridSize||this.$options.gridType===v.Fit&&!this.mobile?(e=t.offsetWidth,i=t.offsetHeight):(e=t.clientWidth,i=t.clientHeight),this.curWidth=e,this.curHeight=i}setGridDimensions(){this.setGridSize(),!this.mobile&&this.checkIfMobile()?(this.mobile=!this.mobile,this.renderer.addClass(this.el,"mobile")):this.mobile&&!this.checkIfMobile()&&(this.mobile=!this.mobile,this.renderer.removeClass(this.el,"mobile"));let t=this.$options.minRows,e=this.$options.minCols,i=this.grid.length-1,n;for(;i>=0;i--)n=this.grid[i],n.notPlaced||(t=Math.max(t,n.$item.y+n.$item.rows),e=Math.max(e,n.$item.x+n.$item.cols));t+=this.$options.addEmptyRowsCount,(this.columns!==e||this.rows!==t)&&(this.columns=e,this.rows=t,this.options.gridSizeChangedCallback&&this.options.gridSizeChangedCallback(this))}calculateLayout(){if(this.compact&&this.compact.checkCompact(),this.setGridDimensions(),this.$options.outerMargin){let i=-this.$options.margin;this.$options.outerMarginLeft!==null?(i+=this.$options.outerMarginLeft,this.renderer.setStyle(this.el,"padding-left",this.$options.outerMarginLeft+"px")):(i+=this.$options.margin,this.renderer.setStyle(this.el,"padding-left",this.$options.margin+"px")),this.$options.outerMarginRight!==null?(i+=this.$options.outerMarginRight,this.renderer.setStyle(this.el,"padding-right",this.$options.outerMarginRight+"px")):(i+=this.$options.margin,this.renderer.setStyle(this.el,"padding-right",this.$options.margin+"px")),this.curColWidth=(this.curWidth-i)/this.columns;let n=-this.$options.margin;this.$options.outerMarginTop!==null?(n+=this.$options.outerMarginTop,this.renderer.setStyle(this.el,"padding-top",this.$options.outerMarginTop+"px")):(n+=this.$options.margin,this.renderer.setStyle(this.el,"padding-top",this.$options.margin+"px")),this.$options.outerMarginBottom!==null?(n+=this.$options.outerMarginBottom,this.renderer.setStyle(this.el,"padding-bottom",this.$options.outerMarginBottom+"px")):(n+=this.$options.margin,this.renderer.setStyle(this.el,"padding-bottom",this.$options.margin+"px")),this.curRowHeight=(this.curHeight-n)/this.rows*this.$options.rowHeightRatio}else this.curColWidth=(this.curWidth+this.$options.margin)/this.columns,this.curRowHeight=(this.curHeight+this.$options.margin)/this.rows*this.$options.rowHeightRatio,this.renderer.setStyle(this.el,"padding-left","0px"),this.renderer.setStyle(this.el,"padding-right","0px"),this.renderer.setStyle(this.el,"padding-top","0px"),this.renderer.setStyle(this.el,"padding-bottom","0px");this.gridRenderer.updateGridster(),this.$options.setGridSize?(this.renderer.addClass(this.el,"gridSize"),this.mobile||(this.renderer.setStyle(this.el,"width",this.columns*this.curColWidth+this.$options.margin+"px"),this.renderer.setStyle(this.el,"height",this.rows*this.curRowHeight+this.$options.margin+"px"))):(this.renderer.removeClass(this.el,"gridSize"),this.renderer.setStyle(this.el,"width",""),this.renderer.setStyle(this.el,"height","")),this.updateGrid();let t=this.grid.length-1,e;for(;t>=0;t--)e=this.grid[t],e.setSize(),e.drag.toggle(),e.resize.toggle();this.resize$.next()}updateGrid(){this.$options.displayGrid==="always"&&!this.mobile?this.renderer.addClass(this.el,"display-grid"):this.$options.displayGrid==="onDrag&Resize"&&this.dragInProgress?this.renderer.addClass(this.el,"display-grid"):(this.$options.displayGrid==="none"||!this.dragInProgress||this.mobile)&&this.renderer.removeClass(this.el,"display-grid"),this.setGridDimensions(),this.gridColumns.length=r.getNewArrayLength(this.columns,this.curWidth,this.curColWidth),this.gridRows.length=r.getNewArrayLength(this.rows,this.curHeight,this.curRowHeight),this.cdRef.markForCheck()}addItem(t){t.$item.cols===void 0&&(t.$item.cols=this.$options.defaultItemCols,t.item.cols=t.$item.cols,t.itemChanged()),t.$item.rows===void 0&&(t.$item.rows=this.$options.defaultItemRows,t.item.rows=t.$item.rows,t.itemChanged()),t.$item.x===-1||t.$item.y===-1?this.autoPositionItem(t):this.checkCollision(t.$item)&&(this.$options.disableWarnings||(t.notPlaced=!0,console.warn("Can't be placed in the bounds of the dashboard, trying to auto position!/n"+JSON.stringify(t.item,["cols","rows","x","y"]))),this.$options.disableAutoPositionOnConflict?t.notPlaced=!0:this.autoPositionItem(t)),this.grid.push(t),this.calculateLayout$.next()}removeItem(t){this.grid.splice(this.grid.indexOf(t),1),this.calculateLayout$.next(),this.options.itemRemovedCallback&&this.options.itemRemovedCallback(t.item,t)}checkCollision(t){let e=!1;if(this.options.itemValidateCallback&&(e=!this.options.itemValidateCallback(t)),!e&&this.checkGridCollision(t)&&(e=!0),!e){let i=this.findItemWithItem(t);i&&(e=i)}return e}checkGridCollision(t){let e=t.y>-1&&t.x>-1,i=t.cols+t.x<=this.$options.maxCols,n=t.rows+t.y<=this.$options.maxRows,o=t.maxItemCols===void 0?this.$options.maxItemCols:t.maxItemCols,a=t.minItemCols===void 0?this.$options.minItemCols:t.minItemCols,u=t.maxItemRows===void 0?this.$options.maxItemRows:t.maxItemRows,g=t.minItemRows===void 0?this.$options.minItemRows:t.minItemRows,w=t.cols<=o&&t.cols>=a,I=t.rows<=u&&t.rows>=g,z=t.minItemArea===void 0?this.$options.minItemArea:t.minItemArea,A=t.maxItemArea===void 0?this.$options.maxItemArea:t.maxItemArea,P=t.cols*t.rows,N=z<=P,rt=A>=P;return!(e&&i&&n&&w&&I&&N&&rt)}findItemWithItem(t){let e=0,i;for(;ee.item===t)}checkCollisionForSwaping(t){let e=!1;if(this.options.itemValidateCallback&&(e=!this.options.itemValidateCallback(t)),!e&&this.checkGridCollision(t)&&(e=!0),!e){let i=this.findItemWithItemForSwapping(t);i&&(e=i)}return e}findItemWithItemForSwapping(t){let e=this.grid.length-1,i;for(;e>-1;e--)if(i=this.grid[e],i.$item!==t&&r.checkCollisionTwoItemsForSwaping(i.$item,t))return i;return!1}previewStyle(t=!1){this.movingItem?(this.compact&&t&&this.compact.checkCompactItem(this.movingItem),this.previewStyle$.next(this.movingItem)):this.previewStyle$.next(null)}static getNewArrayLength(t,e,i){let n=Math.max(t,Math.floor(e/i));return n<0?0:Number.isFinite(n)?Math.floor(n):0}static{this.\u0275fac=function(e){return new(e||r)(_(q),_(ot),_(U),_(Lt))}}static{this.\u0275cmp=L({type:r,selectors:[["gridster"]],inputs:{options:"options"},standalone:!0,features:[mt,B],ngContentSelectors:Xe,decls:6,vars:2,consts:[[1,"gridster-column",3,"ngStyle"],[1,"gridster-row",3,"ngStyle"],[1,"gridster-preview",3,"gridRenderer","previewStyle$"]],template:function(e,i){e&1&&(At(),R(0,ai,1,1,"div",0,Ht),R(2,hi,1,1,"div",1,Ht),Xt(4),y(5,"gridster-preview",2)),e&2&&(V(i.gridColumns),l(2),V(i.gridRows),l(3),$("gridRenderer",i.gridRenderer)("previewStyle$",i.previewStyle$))},dependencies:[ve,bi],styles:[`gridster{position:relative;box-sizing:border-box;background:gray;width:100%;height:100%;-webkit-user-select:none;user-select:none;display:block}gridster.fit{overflow-x:hidden;overflow-y:hidden}gridster.scrollVertical{overflow-x:hidden;overflow-y:auto}gridster.scrollHorizontal{overflow-x:auto;overflow-y:hidden}gridster.fixed{overflow:auto}gridster.mobile{overflow-x:hidden;overflow-y:auto}gridster.mobile gridster-item{position:relative}gridster.gridSize{height:initial;width:initial}gridster.gridSize.fit{height:100%;width:100%}gridster .gridster-column,gridster .gridster-row{position:absolute;display:none;transition:.3s;box-sizing:border-box}gridster.display-grid .gridster-column,gridster.display-grid .gridster-row{display:block}gridster .gridster-column{border-left:1px solid white;border-right:1px solid white}gridster .gridster-row{border-top:1px solid white;border-bottom:1px solid white} +`],encapsulation:2})}}return r})(),Dt=class{constructor(s){this.iteration=0,this.pushedItems=[],this.pushedItemsTemp=[],this.pushedItemsTempPath=[],this.pushedItemsPath=[],this.gridsterItem=s,this.gridster=s.gridster,this.tryPattern={fromEast:[this.tryWest,this.trySouth,this.tryNorth,this.tryEast],fromWest:[this.tryEast,this.trySouth,this.tryNorth,this.tryWest],fromNorth:[this.trySouth,this.tryEast,this.tryWest,this.tryNorth],fromSouth:[this.tryNorth,this.tryEast,this.tryWest,this.trySouth]},this.fromSouth="fromSouth",this.fromNorth="fromNorth",this.fromEast="fromEast",this.fromWest="fromWest"}destroy(){this.gridster=this.gridsterItem=null}pushItems(s,t){if(this.gridster.$options.pushItems&&!t){this.pushedItemsOrder=[],this.iteration=0;let e=this.push(this.gridsterItem,s);return e||this.restoreTempItems(),this.pushedItemsOrder=[],this.pushedItemsTemp=[],this.pushedItemsTempPath=[],e}else return!1}restoreTempItems(){let s=this.pushedItemsTemp.length-1;for(;s>-1;s--)this.removeFromTempPushed(this.pushedItemsTemp[s])}restoreItems(){let s=0,t=this.pushedItems.length,e;for(;s-1;s--)this.checkPushedItem(this.pushedItems[s],s)&&(t=!0);t&&this.checkPushBack()}push(s,t){if(this.iteration>100)return console.warn("max iteration reached"),!1;if(this.gridster.checkGridCollision(s.$item)||t==="")return!1;let e=this.gridster.findItemsWithItem(s.$item),i=t===this.fromNorth||t===this.fromWest;e.sort((g,w)=>i?w.$item.y-g.$item.y||w.$item.x-g.$item.x:g.$item.y-w.$item.y||g.$item.x-w.$item.x);let n=0,o,a=!0,u=[];for(;n-1&&this.pushedItemsTempPath[g].length>10){a=!1;break}if(this.tryPattern[t][0].call(this,o,s))this.pushedItemsOrder.push(o),u.push(o);else if(this.tryPattern[t][1].call(this,o,s))this.pushedItemsOrder.push(o),u.push(o);else if(this.tryPattern[t][2].call(this,o,s))this.pushedItemsOrder.push(o),u.push(o);else if(this.tryPattern[t][3].call(this,o,s))this.pushedItemsOrder.push(o),u.push(o);else{a=!1;break}}if(!a&&(n=this.pushedItemsOrder.lastIndexOf(u[0]),n>-1)){let g=this.pushedItemsOrder.length-1;for(;g>=n;g--)o=this.pushedItemsOrder[g],this.pushedItemsOrder.pop(),this.removeFromTempPushed(o),this.removeFromPushedItem(o)}return this.iteration++,a}trySouth(s,t){return this.gridster.$options.pushDirections.south?(this.addToTempPushed(s),s.$item.y=t.$item.y+t.$item.rows,this.push(s,this.fromNorth)?(s.setSize(),this.addToPushed(s),!0):(this.removeFromTempPushed(s),!1)):!1}tryNorth(s,t){return this.gridster.$options.pushDirections.north?(this.addToTempPushed(s),s.$item.y=t.$item.y-s.$item.rows,this.push(s,this.fromSouth)?(s.setSize(),this.addToPushed(s),!0):(this.removeFromTempPushed(s),!1)):!1}tryEast(s,t){return this.gridster.$options.pushDirections.east?(this.addToTempPushed(s),s.$item.x=t.$item.x+t.$item.cols,this.push(s,this.fromWest)?(s.setSize(),this.addToPushed(s),!0):(this.removeFromTempPushed(s),!1)):!1}tryWest(s,t){return this.gridster.$options.pushDirections.west?(this.addToTempPushed(s),s.$item.x=t.$item.x-s.$item.cols,this.push(s,this.fromEast)?(s.setSize(),this.addToPushed(s),!0):(this.removeFromTempPushed(s),!1)):!1}addToTempPushed(s){let t=this.pushedItemsTemp.indexOf(s);t===-1&&(t=this.pushedItemsTemp.push(s)-1,this.pushedItemsTempPath[t]=[]),this.pushedItemsTempPath[t].push({x:s.$item.x,y:s.$item.y})}removeFromTempPushed(s){let t=this.pushedItemsTemp.indexOf(s),e=this.pushedItemsTempPath[t].pop();e&&(s.$item.x=e.x,s.$item.y=e.y,s.setSize(),this.pushedItemsTempPath[t].length||(this.pushedItemsTemp.splice(t,1),this.pushedItemsTempPath.splice(t,1)))}addToPushed(s){if(this.pushedItems.indexOf(s)<0)this.pushedItems.push(s),this.pushedItemsPath.push([{x:s.item.x||0,y:s.item.y||0},{x:s.$item.x,y:s.$item.y}]);else{let t=this.pushedItems.indexOf(s);this.pushedItemsPath[t].push({x:s.$item.x,y:s.$item.y})}}removeFromPushed(s){s>-1&&(this.pushedItems.splice(s,1),this.pushedItemsPath.splice(s,1))}removeFromPushedItem(s){let t=this.pushedItems.indexOf(s);t>-1&&(this.pushedItemsPath[t].pop(),this.pushedItemsPath.length||(this.pushedItems.splice(t,1),this.pushedItemsPath.splice(t,1)))}checkPushedItem(s,t){let e=this.pushedItemsPath[t],i=e.length-2,n,o,a,u=!1;for(;i>-1;i--)n=e[i],o=s.$item.x,a=s.$item.y,s.$item.x=n.x,s.$item.y=n.y,this.gridster.findItemWithItem(s.$item)?(s.$item.x=o,s.$item.y=a):(s.setSize(),e.splice(i+1,e.length-i-1),u=!0);return e.length<2&&this.removeFromPushed(t),u}},Ct,lt,Ne=50,X,bt,tt,xt,_t,vt,yt;function Ye(r,s,t,e,i,n,o,a,u,g){Ct=r.$options.scrollSensitivity,lt=r.$options.scrollSpeed,X=r.el,bt=u,tt=g;let w=X.offsetWidth,I=X.offsetHeight,z=X.scrollLeft,A=X.scrollTop,P=t-A,N=I+A-t-i,{clientX:rt,clientY:Ot}=n;if(!r.$options.disableScrollVertical)if(o.clientYOt&&A>0&&Prt&&z>0&&li{(!X||r===-1&&X.scrollTop-lt<0)&&re(),X.scrollTop+=r*lt,e+=r*lt,s({clientX:t.clientX,clientY:e})},Ne)}function Ae(r,s,t){let e=t.clientX;return window.setInterval(()=>{(!X||r===-1&&X.scrollLeft-lt<0)&&ne(),X.scrollLeft+=r*lt,e+=r*lt,s({clientX:e,clientY:t.clientY})},Ne)}function Ge(){ne(),re(),X=null}function ne(){je(),Ue()}function re(){Qe(),qe()}function je(){xt&&(clearInterval(xt),xt=0)}function Ue(){_t&&(clearInterval(_t),_t=0)}function qe(){yt&&(clearInterval(yt),yt=0)}function Qe(){vt&&(clearInterval(vt),vt=0)}var Jt=class{constructor(s){this.gridsterItem=s,this.gridster=s.gridster}destroy(){this.gridster=this.gridsterItem=this.swapedItem=null}swapItems(){this.gridster.$options.swap&&(this.checkSwapBack(),this.checkSwap(this.gridsterItem))}checkSwapBack(){if(this.swapedItem){let s=this.swapedItem.$item.x,t=this.swapedItem.$item.y;this.swapedItem.$item.x=this.swapedItem.item.x||0,this.swapedItem.$item.y=this.swapedItem.item.y||0,this.gridster.checkCollision(this.swapedItem.$item)?(this.swapedItem.$item.x=s,this.swapedItem.$item.y=t):(this.swapedItem.setSize(),this.gridsterItem.$item.x=this.gridsterItem.item.x||0,this.gridsterItem.$item.y=this.gridsterItem.item.y||0,this.swapedItem=void 0)}}restoreSwapItem(){this.swapedItem&&(this.swapedItem.$item.x=this.swapedItem.item.x||0,this.swapedItem.$item.y=this.swapedItem.item.y||0,this.swapedItem.setSize(),this.swapedItem=void 0)}setSwapItem(){this.swapedItem&&(this.swapedItem.checkItemChanges(this.swapedItem.$item,this.swapedItem.item),this.swapedItem=void 0)}checkSwap(s){let t;if(this.gridster.$options.swapWhileDragging?t=this.gridster.checkCollisionForSwaping(s.$item):t=this.gridster.checkCollision(s.$item),t&&t!==!0&&t.canBeDragged()){let e=t,i=e.$item.x,n=e.$item.y,o=s.$item.x,a=s.$item.y,u=o-i,g=a-n;e.$item.x=s.item.x-u,e.$item.y=s.item.y-g,s.$item.x=e.item.x+u,s.$item.y=e.item.y+g,this.gridster.checkCollision(e.$item)||this.gridster.checkCollision(s.$item)?(s.$item.x=o,s.$item.y=a,e.$item.x=i,e.$item.y=n):(e.setSize(),this.swapedItem=e,this.gridster.$options.swapWhileDragging&&(this.gridsterItem.checkItemChanges(this.gridsterItem.$item,this.gridsterItem.item),this.setSwapItem()))}}},xi="gridster-item-resizable-handler",H=function(r){return r.UP="UP",r.DOWN="DOWN",r.LEFT="LEFT",r.RIGHT="RIGHT",r}(H||{}),te=class{constructor(s,t,e){this.zone=e,this.collision=!1,this.dragMove=i=>{i.stopPropagation(),i.preventDefault(),O.checkTouchEvent(i);let n=this.getDirections(i);this.gridster.options.enableBoundaryControl&&(n.includes(H.UP)&&this.gridsterItem.el.getBoundingClientRect().topo!=H.UP),i=new MouseEvent(i.type,{clientX:i.clientX,clientY:this.lastMouse.clientY})),n.includes(H.LEFT)&&this.gridsterItem.el.getBoundingClientRect().lefto!=H.LEFT),i=new MouseEvent(i.type,{clientX:this.lastMouse.clientX,clientY:i.clientY})),n.includes(H.RIGHT)&&this.gridsterItem.el.getBoundingClientRect().right>this.gridster.el.getBoundingClientRect().right-(this.outerMarginRight??this.margin)&&(n=n.filter(o=>o!=H.RIGHT),i=new MouseEvent(i.type,{clientX:this.lastMouse.clientX,clientY:i.clientY})),n.includes(H.DOWN)&&this.gridsterItem.el.getBoundingClientRect().bottom>this.gridster.el.getBoundingClientRect().bottom-(this.outerMarginBottom??this.margin)&&(n=n.filter(o=>o!=H.DOWN),i=new MouseEvent(i.type,{clientX:i.clientX,clientY:this.lastMouse.clientY}))),n.length&&(this.offsetLeft=this.gridster.el.scrollLeft-this.gridster.el.offsetLeft,this.offsetTop=this.gridster.el.scrollTop-this.gridster.el.offsetTop,Ye(this.gridster,this.left,this.top,this.width,this.height,i,this.lastMouse,this.calculateItemPositionFromMousePosition),this.calculateItemPositionFromMousePosition(i))},this.calculateItemPositionFromMousePosition=i=>{this.gridster.options.scale?this.calculateItemPositionWithScale(i,this.gridster.options.scale):this.calculateItemPositionWithoutScale(i),this.calculateItemPosition(),this.lastMouse.clientX=i.clientX,this.lastMouse.clientY=i.clientY,this.zone.run(()=>{this.gridster.updateGrid()})},this.dragStop=i=>{i.stopPropagation(),i.preventDefault(),Ge(),this.cancelOnBlur(),this.mousemove(),this.mouseup(),this.mouseleave(),this.touchmove(),this.touchend(),this.touchcancel(),this.gridsterItem.renderer.removeClass(this.gridsterItem.el,"gridster-item-moving"),this.gridster.dragInProgress=!1,this.gridster.updateGrid(),this.path=[],this.gridster.options.draggable&&this.gridster.options.draggable.stop?Promise.resolve(this.gridster.options.draggable.stop(this.gridsterItem.item,this.gridsterItem,i)).then(this.makeDrag,this.cancelDrag):this.makeDrag(),setTimeout(()=>{this.gridster&&(this.gridster.movingItem=null,this.gridster.previewStyle(!0))})},this.cancelDrag=()=>{this.gridsterItem.$item.x=this.gridsterItem.item.x||0,this.gridsterItem.$item.y=this.gridsterItem.item.y||0,this.gridsterItem.setSize(),this.push&&this.push.restoreItems(),this.swap&&this.swap.restoreSwapItem(),this.push&&(this.push.destroy(),this.push=null),this.swap&&(this.swap.destroy(),this.swap=null)},this.makeDrag=()=>{this.gridster.$options.draggable.dropOverItems&&this.gridster.options.draggable&&this.gridster.options.draggable.dropOverItemsCallback&&this.collision&&this.collision!==!0&&this.collision.$item&&this.gridster.options.draggable.dropOverItemsCallback(this.gridsterItem.item,this.collision.item,this.gridster),this.collision=!1,this.gridsterItem.setSize(),this.gridsterItem.checkItemChanges(this.gridsterItem.$item,this.gridsterItem.item),this.push&&this.push.setPushedItems(),this.swap&&this.swap.setSwapItem(),this.push&&(this.push.destroy(),this.push=null),this.swap&&(this.swap.destroy(),this.swap=null)},this.dragStartDelay=i=>{if(i.target.classList.contains(xi)||O.checkContentClassForEvent(this.gridster,i))return;if(O.checkTouchEvent(i),!this.gridster.$options.draggable.delayStart){this.dragStart(i);return}let o=setTimeout(()=>{this.dragStart(i),P()},this.gridster.$options.draggable.delayStart),a=this.gridsterItem.renderer.listen("document","mouseup",P),u=this.gridsterItem.renderer.listen("document","mouseleave",P),g=this.gridsterItem.renderer.listen("window","blur",P),w=this.gridsterItem.renderer.listen("document","touchmove",A),I=this.gridsterItem.renderer.listen("document","touchend",P),z=this.gridsterItem.renderer.listen("document","touchcancel",P);function A(N){O.checkTouchEvent(N),(Math.abs(N.clientX-i.clientX)>9||Math.abs(N.clientY-i.clientY)>9)&&P()}function P(){clearTimeout(o),g(),a(),u(),w(),I(),z()}},this.gridsterItem=s,this.gridster=t,this.lastMouse={clientX:0,clientY:0},this.path=[]}destroy(){this.gridster.previewStyle&&this.gridster.previewStyle(!0),this.gridsterItem=this.gridster=this.collision=null,this.mousedown&&(this.mousedown(),this.touchstart())}dragStart(s){s.which&&s.which!==1||(this.gridster.options.draggable&&this.gridster.options.draggable.start&&this.gridster.options.draggable.start(this.gridsterItem.item,this.gridsterItem,s),s.stopPropagation(),s.preventDefault(),this.zone.runOutsideAngular(()=>{this.mousemove=this.gridsterItem.renderer.listen("document","mousemove",this.dragMove),this.touchmove=this.gridster.renderer.listen(this.gridster.el,"touchmove",this.dragMove)}),this.mouseup=this.gridsterItem.renderer.listen("document","mouseup",this.dragStop),this.mouseleave=this.gridsterItem.renderer.listen("document","mouseleave",this.dragStop),this.cancelOnBlur=this.gridsterItem.renderer.listen("window","blur",this.dragStop),this.touchend=this.gridsterItem.renderer.listen("document","touchend",this.dragStop),this.touchcancel=this.gridsterItem.renderer.listen("document","touchcancel",this.dragStop),this.gridsterItem.renderer.addClass(this.gridsterItem.el,"gridster-item-moving"),this.margin=this.gridster.$options.margin,this.outerMarginTop=this.gridster.$options.outerMarginTop,this.outerMarginRight=this.gridster.$options.outerMarginRight,this.outerMarginBottom=this.gridster.$options.outerMarginBottom,this.outerMarginLeft=this.gridster.$options.outerMarginLeft,this.offsetLeft=this.gridster.el.scrollLeft-this.gridster.el.offsetLeft,this.offsetTop=this.gridster.el.scrollTop-this.gridster.el.offsetTop,this.left=this.gridsterItem.left-this.margin,this.top=this.gridsterItem.top-this.margin,this.originalClientX=s.clientX,this.originalClientY=s.clientY,this.width=this.gridsterItem.width,this.height=this.gridsterItem.height,this.gridster.$options.dirType===W.RTL?this.diffLeft=s.clientX-this.gridster.el.scrollWidth+this.gridsterItem.left:this.diffLeft=s.clientX+this.offsetLeft-this.margin-this.left,this.diffTop=s.clientY+this.offsetTop-this.margin-this.top,this.gridster.movingItem=this.gridsterItem.$item,this.gridster.previewStyle(!0),this.push=new Dt(this.gridsterItem),this.swap=new Jt(this.gridsterItem),this.gridster.dragInProgress=!0,this.gridster.updateGrid(),this.path.push({x:this.gridsterItem.item.x||0,y:this.gridsterItem.item.y||0}))}calculateItemPositionWithScale(s,t){this.gridster.$options.dirType===W.RTL?this.left=this.gridster.el.scrollWidth-this.originalClientX+(s.clientX-this.originalClientX)/t+this.diffLeft:this.left=this.originalClientX+(s.clientX-this.originalClientX)/t+this.offsetLeft-this.diffLeft,this.top=this.originalClientY+(s.clientY-this.originalClientY)/t+this.offsetTop-this.diffTop}calculateItemPositionWithoutScale(s){this.gridster.$options.dirType===W.RTL?this.left=this.gridster.el.scrollWidth-s.clientX+this.diffLeft:this.left=s.clientX+this.offsetLeft-this.diffLeft,this.top=s.clientY+this.offsetTop-this.diffTop}calculateItemPosition(){if(this.gridster.movingItem=this.gridsterItem.$item,this.positionX=this.gridster.pixelsToPositionX(this.left,Math.round),this.positionY=this.gridster.pixelsToPositionY(this.top,Math.round),this.positionXBackup=this.gridsterItem.$item.x,this.positionYBackup=this.gridsterItem.$item.y,this.gridsterItem.$item.x=this.positionX,this.gridster.checkGridCollision(this.gridsterItem.$item)&&(this.gridsterItem.$item.x=this.positionXBackup),this.gridsterItem.$item.y=this.positionY,this.gridster.checkGridCollision(this.gridsterItem.$item)&&(this.gridsterItem.$item.y=this.positionYBackup),this.gridster.gridRenderer.setCellPosition(this.gridsterItem.renderer,this.gridsterItem.el,this.left,this.top),this.positionXBackup!==this.gridsterItem.$item.x||this.positionYBackup!==this.gridsterItem.$item.y){let s=this.path[this.path.length-1],t="";s.xthis.gridsterItem.$item.x?t=this.push.fromEast:s.ythis.gridsterItem.$item.y&&(t=this.push.fromSouth),this.push.pushItems(t,this.gridster.$options.disablePushOnDrag),this.swap.swapItems(),this.collision=this.gridster.checkCollision(this.gridsterItem.$item),this.collision?(this.gridsterItem.$item.x=this.positionXBackup,this.gridsterItem.$item.y=this.positionYBackup,this.gridster.$options.draggable.dropOverItems&&this.collision!==!0&&this.collision.$item&&(this.gridster.movingItem=null)):this.path.push({x:this.gridsterItem.$item.x,y:this.gridsterItem.$item.y}),this.push.checkPushBack()}else this.collision=!1;this.gridster.previewStyle(!0)}toggle(){let s=this.gridsterItem.canBeDragged();!this.enabled&&s?(this.enabled=!this.enabled,this.mousedown=this.gridsterItem.renderer.listen(this.gridsterItem.el,"mousedown",this.dragStartDelay),this.touchstart=this.gridsterItem.renderer.listen(this.gridsterItem.el,"touchstart",this.dragStartDelay)):this.enabled&&!s&&(this.enabled=!this.enabled,this.mousedown(),this.touchstart())}getDirections(s){let t=[];return this.lastMouse.clientX===0&&this.lastMouse.clientY===0&&(this.lastMouse.clientY=s.clientY,this.lastMouse.clientX=s.clientX),this.lastMouse.clientY>s.clientY&&t.push(H.UP),this.lastMouse.clientYs.clientX&&t.push(H.LEFT),t}},ee=class{constructor(s){this.pushedItems=[],this.pushedItemsPath=[],this.gridsterItem=s,this.gridster=s.gridster,this.tryPattern={fromEast:this.tryWest,fromWest:this.tryEast,fromNorth:this.trySouth,fromSouth:this.tryNorth},this.fromSouth="fromSouth",this.fromNorth="fromNorth",this.fromEast="fromEast",this.fromWest="fromWest"}destroy(){this.gridster=this.gridsterItem=null}pushItems(s){return this.gridster.$options.pushResizeItems?this.push(this.gridsterItem,s):!1}restoreItems(){let s=0,t=this.pushedItems.length,e;for(;s-1;s--)this.checkPushedItem(this.pushedItems[s],s)&&(t=!0);t&&this.checkPushBack()}push(s,t){let e=this.gridster.checkCollision(s.$item);if(e&&e!==!0&&e!==this.gridsterItem&&e.canBeResized()){if(this.tryPattern[t].call(this,e,s,t))return!0}else if(e===!1)return!0;return!1}trySouth(s,t,e){let i=s.$item.y,n=s.$item.rows;return s.$item.y=t.$item.y+t.$item.rows,s.$item.rows=n+i-s.$item.y,!this.gridster.checkCollisionTwoItems(s.$item,t.$item)&&!this.gridster.checkGridCollision(s.$item)?(s.setSize(),this.addToPushed(s),this.push(t,e),!0):(s.$item.y=i,s.$item.rows=n,!1)}tryNorth(s,t,e){let i=s.$item.rows;return s.$item.rows=t.$item.y-s.$item.y,!this.gridster.checkCollisionTwoItems(s.$item,t.$item)&&!this.gridster.checkGridCollision(s.$item)?(s.setSize(),this.addToPushed(s),this.push(t,e),!0):(s.$item.rows=i,!1)}tryEast(s,t,e){let i=s.$item.x,n=s.$item.cols;return s.$item.x=t.$item.x+t.$item.cols,s.$item.cols=n+i-s.$item.x,!this.gridster.checkCollisionTwoItems(s.$item,t.$item)&&!this.gridster.checkGridCollision(s.$item)?(s.setSize(),this.addToPushed(s),this.push(t,e),!0):(s.$item.x=i,s.$item.cols=n,!1)}tryWest(s,t,e){let i=s.$item.cols;return s.$item.cols=t.$item.x-s.$item.x,!this.gridster.checkCollisionTwoItems(s.$item,t.$item)&&!this.gridster.checkGridCollision(s.$item)?(s.setSize(),this.addToPushed(s),this.push(t,e),!0):(s.$item.cols=i,!1)}addToPushed(s){if(this.pushedItems.indexOf(s)<0)this.pushedItems.push(s),this.pushedItemsPath.push([{x:s.item.x||0,y:s.item.y||0,cols:s.item.cols||0,rows:s.item.rows||0},{x:s.$item.x,y:s.$item.y,cols:s.$item.cols,rows:s.$item.rows}]);else{let t=this.pushedItems.indexOf(s);this.pushedItemsPath[t].push({x:s.$item.x,y:s.$item.y,cols:s.$item.cols,rows:s.$item.rows})}}removeFromPushed(s){s>-1&&(this.pushedItems.splice(s,1),this.pushedItemsPath.splice(s,1))}checkPushedItem(s,t){let e=this.pushedItemsPath[t],i=e.length-2,n,o,a,u,g;for(;i>-1;i--)n=e[i],o=s.$item.x,a=s.$item.y,u=s.$item.cols,g=s.$item.rows,s.$item.x=n.x,s.$item.y=n.y,s.$item.cols=n.cols,s.$item.rows=n.rows,this.gridster.findItemWithItem(s.$item)?(s.$item.x=o,s.$item.y=a,s.$item.cols=u,s.$item.rows=g):(s.setSize(),e.splice(i+1,e.length-1-i));return e.length<2?(this.removeFromPushed(t),!0):!1}},ie=class{constructor(s,t,e){this.zone=e,this.directionFunction=null,this.dragMove=i=>{if(this.directionFunction===null)throw new Error("The `directionFunction` has not been set before calling `dragMove`.");i.stopPropagation(),i.preventDefault(),O.checkTouchEvent(i),this.offsetTop=this.gridster.el.scrollTop-this.gridster.el.offsetTop,this.offsetLeft=this.gridster.el.scrollLeft-this.gridster.el.offsetLeft,Ye(this.gridster,this.left,this.top,this.width,this.height,i,this.lastMouse,this.directionFunction,!0,this.resizeEventScrollType);let n=this.gridster.options.scale||1;this.directionFunction({clientX:this.originalClientX+(i.clientX-this.originalClientX)/n,clientY:this.originalClientY+(i.clientY-this.originalClientY)/n}),this.lastMouse.clientX=i.clientX,this.lastMouse.clientY=i.clientY,this.zone.run(()=>{this.gridster.updateGrid()})},this.dragStop=i=>{i.stopPropagation(),i.preventDefault(),Ge(),this.mousemove(),this.mouseup(),this.mouseleave(),this.cancelOnBlur(),this.touchmove(),this.touchend(),this.touchcancel(),this.gridster.dragInProgress=!1,this.gridster.updateGrid(),this.gridster.options.resizable&&this.gridster.options.resizable.stop?Promise.resolve(this.gridster.options.resizable.stop(this.gridsterItem.item,this.gridsterItem,i)).then(this.makeResize,this.cancelResize):this.makeResize(),setTimeout(()=>{this.gridsterItem.renderer.removeClass(this.gridsterItem.el,"gridster-item-resizing"),this.gridster&&(this.gridster.movingItem=null,this.gridster.previewStyle())})},this.cancelResize=()=>{this.gridsterItem.$item.cols=this.gridsterItem.item.cols||1,this.gridsterItem.$item.rows=this.gridsterItem.item.rows||1,this.gridsterItem.$item.x=this.gridsterItem.item.x||0,this.gridsterItem.$item.y=this.gridsterItem.item.y||0,this.gridsterItem.setSize(),this.push.restoreItems(),this.pushResize.restoreItems(),this.push.destroy(),this.push=null,this.pushResize.destroy(),this.pushResize=null},this.makeResize=()=>{this.gridsterItem.setSize(),this.gridsterItem.checkItemChanges(this.gridsterItem.$item,this.gridsterItem.item),this.push.setPushedItems(),this.pushResize.setPushedItems(),this.push.destroy(),this.push=null,this.pushResize.destroy(),this.pushResize=null},this.handleNorth=i=>{this.top=i.clientY+this.offsetTop-this.diffTop,this.height=this.bottom-this.top,this.minHeight>this.height?(this.height=this.minHeight,this.top=this.bottom-this.minHeight):this.gridster.options.enableBoundaryControl&&(this.top=Math.max(0,this.top),this.height=this.bottom-this.top);let n=this.gridster.options.pushItems?this.margin:0;if(this.newPosition=this.gridster.pixelsToPositionY(this.top+n,Math.floor),this.gridsterItem.$item.y!==this.newPosition){if(this.itemBackup[1]=this.gridsterItem.$item.y,this.itemBackup[3]=this.gridsterItem.$item.rows,this.gridsterItem.$item.rows+=this.gridsterItem.$item.y-this.newPosition,this.gridsterItem.$item.y=this.newPosition,this.pushResize.pushItems(this.pushResize.fromSouth),this.push.pushItems(this.push.fromSouth,this.gridster.$options.disablePushOnResize),this.gridster.checkCollision(this.gridsterItem.$item)){this.gridsterItem.$item.y=this.itemBackup[1],this.gridsterItem.$item.rows=this.itemBackup[3],this.top=this.gridster.positionYToPixels(this.gridsterItem.$item.y),this.setItemTop(this.gridster.positionYToPixels(this.gridsterItem.$item.y)),this.setItemHeight(this.gridster.positionYToPixels(this.gridsterItem.$item.rows)-this.margin);return}else this.gridster.previewStyle();this.pushResize.checkPushBack(),this.push.checkPushBack()}this.setItemTop(this.top),this.setItemHeight(this.height)},this.handleWest=i=>{let n=this.gridster.$options.dirType===W.RTL?this.originalClientX+(this.originalClientX-i.clientX):i.clientX;this.left=n+this.offsetLeft-this.diffLeft,this.width=this.right-this.left,this.minWidth>this.width?(this.width=this.minWidth,this.left=this.right-this.minWidth):this.gridster.options.enableBoundaryControl&&(this.left=Math.max(0,this.left),this.width=this.right-this.left);let o=this.gridster.options.pushItems?this.margin:0;if(this.newPosition=this.gridster.pixelsToPositionX(this.left+o,Math.floor),this.gridsterItem.$item.x!==this.newPosition){if(this.itemBackup[0]=this.gridsterItem.$item.x,this.itemBackup[2]=this.gridsterItem.$item.cols,this.gridsterItem.$item.cols+=this.gridsterItem.$item.x-this.newPosition,this.gridsterItem.$item.x=this.newPosition,this.pushResize.pushItems(this.pushResize.fromEast),this.push.pushItems(this.push.fromEast,this.gridster.$options.disablePushOnResize),this.gridster.checkCollision(this.gridsterItem.$item)){this.gridsterItem.$item.x=this.itemBackup[0],this.gridsterItem.$item.cols=this.itemBackup[2],this.left=this.gridster.positionXToPixels(this.gridsterItem.$item.x),this.setItemLeft(this.gridster.positionXToPixels(this.gridsterItem.$item.x)),this.setItemWidth(this.gridster.positionXToPixels(this.gridsterItem.$item.cols)-this.margin);return}else this.gridster.previewStyle();this.pushResize.checkPushBack(),this.push.checkPushBack()}this.setItemLeft(this.left),this.setItemWidth(this.width)},this.handleSouth=i=>{if(this.height=i.clientY+this.offsetTop-this.diffBottom-this.top,this.minHeight>this.height&&(this.height=this.minHeight),this.bottom=this.top+this.height,this.gridster.options.enableBoundaryControl){let o=this.outerMarginBottom??this.margin,a=this.gridster.el.getBoundingClientRect();this.bottom=Math.min(this.bottom,a.bottom-a.top-2*o),this.height=this.bottom-this.top}let n=this.gridster.options.pushItems?0:this.margin;if(this.newPosition=this.gridster.pixelsToPositionY(this.bottom+n,Math.ceil),this.gridsterItem.$item.y+this.gridsterItem.$item.rows!==this.newPosition){if(this.itemBackup[3]=this.gridsterItem.$item.rows,this.gridsterItem.$item.rows=this.newPosition-this.gridsterItem.$item.y,this.pushResize.pushItems(this.pushResize.fromNorth),this.push.pushItems(this.push.fromNorth,this.gridster.$options.disablePushOnResize),this.gridster.checkCollision(this.gridsterItem.$item)){this.gridsterItem.$item.rows=this.itemBackup[3],this.setItemHeight(this.gridster.positionYToPixels(this.gridsterItem.$item.rows)-this.margin);return}else this.gridster.previewStyle();this.pushResize.checkPushBack(),this.push.checkPushBack()}this.setItemHeight(this.height)},this.handleEast=i=>{let n=this.gridster.$options.dirType===W.RTL?this.originalClientX+(this.originalClientX-i.clientX):i.clientX;if(this.width=n+this.offsetLeft-this.diffRight-this.left,this.minWidth>this.width&&(this.width=this.minWidth),this.right=this.left+this.width,this.gridster.options.enableBoundaryControl){let a=this.outerMarginRight??this.margin,u=this.gridster.el.getBoundingClientRect();this.right=Math.min(this.right,u.right-u.left-2*a),this.width=this.right-this.left}let o=this.gridster.options.pushItems?0:this.margin;if(this.newPosition=this.gridster.pixelsToPositionX(this.right+o,Math.ceil),this.gridsterItem.$item.x+this.gridsterItem.$item.cols!==this.newPosition){if(this.itemBackup[2]=this.gridsterItem.$item.cols,this.gridsterItem.$item.cols=this.newPosition-this.gridsterItem.$item.x,this.pushResize.pushItems(this.pushResize.fromWest),this.push.pushItems(this.push.fromWest,this.gridster.$options.disablePushOnResize),this.gridster.checkCollision(this.gridsterItem.$item)){this.gridsterItem.$item.cols=this.itemBackup[2],this.setItemWidth(this.gridster.positionXToPixels(this.gridsterItem.$item.cols)-this.margin);return}else this.gridster.previewStyle();this.pushResize.checkPushBack(),this.push.checkPushBack()}this.setItemWidth(this.width)},this.handleNorthWest=i=>{this.handleNorth(i),this.handleWest(i)},this.handleNorthEast=i=>{this.handleNorth(i),this.handleEast(i)},this.handleSouthWest=i=>{this.handleSouth(i),this.handleWest(i)},this.handleSouthEast=i=>{this.handleSouth(i),this.handleEast(i)},this.gridsterItem=s,this.gridster=t,this.lastMouse={clientX:0,clientY:0},this.itemBackup=[0,0,0,0],this.resizeEventScrollType={west:!1,east:!1,north:!1,south:!1}}destroy(){this.gridster?.previewStyle(),this.gridster=this.gridsterItem=null}dragStart(s){if(s.which&&s.which!==1)return;this.gridster.options.resizable&&this.gridster.options.resizable.start&&this.gridster.options.resizable.start(this.gridsterItem.item,this.gridsterItem,s),s.stopPropagation(),s.preventDefault(),this.zone.runOutsideAngular(()=>{this.mousemove=this.gridsterItem.renderer.listen("document","mousemove",this.dragMove),this.touchmove=this.gridster.renderer.listen(this.gridster.el,"touchmove",this.dragMove)}),this.mouseup=this.gridsterItem.renderer.listen("document","mouseup",this.dragStop),this.mouseleave=this.gridsterItem.renderer.listen("document","mouseleave",this.dragStop),this.cancelOnBlur=this.gridsterItem.renderer.listen("window","blur",this.dragStop),this.touchend=this.gridsterItem.renderer.listen("document","touchend",this.dragStop),this.touchcancel=this.gridsterItem.renderer.listen("document","touchcancel",this.dragStop),this.gridsterItem.renderer.addClass(this.gridsterItem.el,"gridster-item-resizing"),this.lastMouse.clientX=s.clientX,this.lastMouse.clientY=s.clientY,this.left=this.gridsterItem.left,this.top=this.gridsterItem.top,this.originalClientX=s.clientX,this.originalClientY=s.clientY,this.width=this.gridsterItem.width,this.height=this.gridsterItem.height,this.bottom=this.gridsterItem.top+this.gridsterItem.height,this.right=this.gridsterItem.left+this.gridsterItem.width,this.margin=this.gridster.$options.margin,this.outerMarginTop=this.gridster.$options.outerMarginTop,this.outerMarginRight=this.gridster.$options.outerMarginRight,this.outerMarginBottom=this.gridster.$options.outerMarginBottom,this.outerMarginLeft=this.gridster.$options.outerMarginLeft,this.offsetLeft=this.gridster.el.scrollLeft-this.gridster.el.offsetLeft,this.offsetTop=this.gridster.el.scrollTop-this.gridster.el.offsetTop,this.diffLeft=s.clientX+this.offsetLeft-this.left,this.diffRight=s.clientX+this.offsetLeft-this.right,this.diffTop=s.clientY+this.offsetTop-this.top,this.diffBottom=s.clientY+this.offsetTop-this.bottom,this.minHeight=this.gridster.positionYToPixels(this.gridsterItem.$item.minItemRows||this.gridster.$options.minItemRows)-this.margin,this.minWidth=this.gridster.positionXToPixels(this.gridsterItem.$item.minItemCols||this.gridster.$options.minItemCols)-this.margin,this.gridster.movingItem=this.gridsterItem.$item,this.gridster.previewStyle(),this.push=new Dt(this.gridsterItem),this.pushResize=new ee(this.gridsterItem),this.gridster.dragInProgress=!0,this.gridster.updateGrid();let{classList:t}=s.target;t.contains("handle-n")?(this.resizeEventScrollType.north=!0,this.directionFunction=this.handleNorth):t.contains("handle-w")?this.gridster.$options.dirType===W.RTL?(this.resizeEventScrollType.east=!0,this.directionFunction=this.handleEast):(this.resizeEventScrollType.west=!0,this.directionFunction=this.handleWest):t.contains("handle-s")?(this.resizeEventScrollType.south=!0,this.directionFunction=this.handleSouth):t.contains("handle-e")?this.gridster.$options.dirType===W.RTL?(this.resizeEventScrollType.west=!0,this.directionFunction=this.handleWest):(this.resizeEventScrollType.east=!0,this.directionFunction=this.handleEast):t.contains("handle-nw")?this.gridster.$options.dirType===W.RTL?(this.resizeEventScrollType.north=!0,this.resizeEventScrollType.east=!0,this.directionFunction=this.handleNorthEast):(this.resizeEventScrollType.north=!0,this.resizeEventScrollType.west=!0,this.directionFunction=this.handleNorthWest):t.contains("handle-ne")?this.gridster.$options.dirType===W.RTL?(this.resizeEventScrollType.north=!0,this.resizeEventScrollType.west=!0,this.directionFunction=this.handleNorthWest):(this.resizeEventScrollType.north=!0,this.resizeEventScrollType.east=!0,this.directionFunction=this.handleNorthEast):t.contains("handle-sw")?this.gridster.$options.dirType===W.RTL?(this.resizeEventScrollType.south=!0,this.resizeEventScrollType.east=!0,this.directionFunction=this.handleSouthEast):(this.resizeEventScrollType.south=!0,this.resizeEventScrollType.west=!0,this.directionFunction=this.handleSouthWest):t.contains("handle-se")&&(this.gridster.$options.dirType===W.RTL?(this.resizeEventScrollType.south=!0,this.resizeEventScrollType.west=!0,this.directionFunction=this.handleSouthWest):(this.resizeEventScrollType.south=!0,this.resizeEventScrollType.east=!0,this.directionFunction=this.handleSouthEast))}toggle(){this.resizeEnabled=this.gridsterItem.canBeResized(),this.resizableHandles=this.gridsterItem.getResizableHandles()}dragStartDelay(s){if(O.checkTouchEvent(s),!this.gridster.$options.resizable.delayStart){this.dragStart(s);return}let t=setTimeout(()=>{this.dragStart(s),w()},this.gridster.$options.resizable.delayStart),{cancelMouse:e,cancelMouseLeave:i,cancelOnBlur:n,cancelTouchMove:o,cancelTouchEnd:a,cancelTouchCancel:u}=this.zone.runOutsideAngular(()=>{let I=this.gridsterItem.renderer.listen("document","mouseup",w),z=this.gridsterItem.renderer.listen("document","mouseleave",w),A=this.gridsterItem.renderer.listen("window","blur",w),P=this.gridsterItem.renderer.listen("document","touchmove",g),N=this.gridsterItem.renderer.listen("document","touchend",w),rt=this.gridsterItem.renderer.listen("document","touchcancel",w);return{cancelMouse:I,cancelMouseLeave:z,cancelOnBlur:A,cancelTouchMove:P,cancelTouchEnd:N,cancelTouchCancel:rt}});function g(I){O.checkTouchEvent(I),(Math.abs(I.clientX-s.clientX)>9||Math.abs(I.clientY-s.clientY)>9)&&w()}function w(){clearTimeout(t),n(),e(),i(),o(),a(),u()}}setItemTop(s){this.gridster.gridRenderer.setCellPosition(this.gridsterItem.renderer,this.gridsterItem.el,this.left,s)}setItemLeft(s){this.gridster.gridRenderer.setCellPosition(this.gridsterItem.renderer,this.gridsterItem.el,s,this.top)}setItemHeight(s){this.gridsterItem.renderer.setStyle(this.gridsterItem.el,"height",s+"px")}setItemWidth(s){this.gridsterItem.renderer.setStyle(this.gridsterItem.el,"width",s+"px")}},Ke=(()=>{class r{get zIndex(){return this.getLayerIndex()+this.gridster.$options.baseLayerIndex}constructor(t,e,i,n){this.renderer=i,this.zone=n,this.itemInit=new Y,this.itemChange=new Y,this.itemResize=new Y,this.el=t.nativeElement,this.$item={cols:-1,rows:-1,x:-1,y:-1},this.gridster=e,this.drag=new te(this,e,this.zone),this.resize=new ie(this,e,this.zone)}ngOnInit(){this.gridster.addItem(this)}ngOnChanges(t){t.item&&(this.updateOptions(),this.init||this.gridster.calculateLayout$.next()),t.item&&t.item.previousValue&&this.setSize()}updateOptions(){this.$item=O.merge(this.$item,this.item,{cols:void 0,rows:void 0,x:void 0,y:void 0,layerIndex:void 0,dragEnabled:void 0,resizeEnabled:void 0,compactEnabled:void 0,maxItemRows:void 0,minItemRows:void 0,maxItemCols:void 0,minItemCols:void 0,maxItemArea:void 0,minItemArea:void 0,resizableHandles:{s:void 0,e:void 0,n:void 0,w:void 0,se:void 0,ne:void 0,sw:void 0,nw:void 0}})}ngOnDestroy(){this.gridster.removeItem(this),this.drag.destroy(),this.resize.destroy(),this.gridster=this.drag=this.resize=null}setSize(){this.renderer.setStyle(this.el,"display",this.notPlaced?"":"block"),this.gridster.gridRenderer.updateItem(this.el,this.$item,this.renderer),this.updateItemSize()}updateItemSize(){let t=this.$item.y*this.gridster.curRowHeight,e=this.$item.x*this.gridster.curColWidth,i=this.$item.cols*this.gridster.curColWidth-this.gridster.$options.margin,n=this.$item.rows*this.gridster.curRowHeight-this.gridster.$options.margin;this.top=t,this.left=e,!this.init&&i>0&&n>0&&(this.init=!0,this.item.initCallback&&this.item.initCallback(this.item,this),this.gridster.options.itemInitCallback&&this.gridster.options.itemInitCallback(this.item,this),this.itemInit.next({item:this.item,itemComponent:this}),this.gridster.$options.scrollToNewItems&&this.el.scrollIntoView(!1)),(i!==this.width||n!==this.height)&&(this.width=i,this.height=n,this.gridster.options.itemResizeCallback&&this.gridster.options.itemResizeCallback(this.item,this),this.itemResize.next({item:this.item,itemComponent:this}))}itemChanged(){this.gridster.options.itemChangeCallback&&this.gridster.options.itemChangeCallback(this.item,this),this.itemChange.next({item:this.item,itemComponent:this})}checkItemChanges(t,e){t.rows===e.rows&&t.cols===e.cols&&t.x===e.x&&t.y===e.y||(this.gridster.checkCollision(this.$item)?(this.$item.x=e.x||0,this.$item.y=e.y||0,this.$item.cols=e.cols||1,this.$item.rows=e.rows||1,this.setSize()):(this.item.cols=this.$item.cols,this.item.rows=this.$item.rows,this.item.x=this.$item.x,this.item.y=this.$item.y,this.gridster.calculateLayout$.next(),this.itemChanged()))}canBeDragged(){let t=this.gridster.$options.draggable.enabled,e=this.$item.dragEnabled===void 0?t:this.$item.dragEnabled;return!this.gridster.mobile&&t&&e}canBeResized(){let t=this.gridster.$options.resizable.enabled,e=this.$item.resizeEnabled===void 0?t:this.$item.resizeEnabled;return!this.gridster.mobile&&t&&e}getResizableHandles(){let t=this.gridster.$options.resizable.handles,e=this.$item.resizableHandles;return e===void 0?t:et(et({},t),e)}bringToFront(t){if(t&&t<=0)return;let e=this.getLayerIndex(),i=this.gridster.$options.maxLayerIndex;if(ei?i:n}}sendToBack(t){if(t&&t<=0)return;let e=this.getLayerIndex();if(e>0){let i=t?e-t:0;this.item.layerIndex=this.$item.layerIndex=i<0?0:i}}getLayerIndex(){return this.item.layerIndex!==void 0?this.item.layerIndex:this.gridster.$options.defaultLayerIndex!==void 0?this.gridster.$options.defaultLayerIndex:0}static{this.\u0275fac=function(e){return new(e||r)(_(q),_(se),_(ot),_(Lt))}}static{this.\u0275cmp=L({type:r,selectors:[["gridster-item"]],hostVars:2,hostBindings:function(e,i){e&2&&ut("z-index",i.zIndex)},inputs:{item:"item"},outputs:{itemInit:"itemInit",itemChange:"itemChange",itemResize:"itemResize"},standalone:!0,features:[mt,B],ngContentSelectors:Xe,decls:9,vars:8,consts:[[1,"gridster-item-resizable-handler","handle-s"],[1,"gridster-item-resizable-handler","handle-e"],[1,"gridster-item-resizable-handler","handle-n"],[1,"gridster-item-resizable-handler","handle-w"],[1,"gridster-item-resizable-handler","handle-se"],[1,"gridster-item-resizable-handler","handle-ne"],[1,"gridster-item-resizable-handler","handle-sw"],[1,"gridster-item-resizable-handler","handle-nw"],[1,"gridster-item-resizable-handler","handle-s",3,"mousedown","touchstart"],[1,"gridster-item-resizable-handler","handle-e",3,"mousedown","touchstart"],[1,"gridster-item-resizable-handler","handle-n",3,"mousedown","touchstart"],[1,"gridster-item-resizable-handler","handle-w",3,"mousedown","touchstart"],[1,"gridster-item-resizable-handler","handle-se",3,"mousedown","touchstart"],[1,"gridster-item-resizable-handler","handle-ne",3,"mousedown","touchstart"],[1,"gridster-item-resizable-handler","handle-sw",3,"mousedown","touchstart"],[1,"gridster-item-resizable-handler","handle-nw",3,"mousedown","touchstart"]],template:function(e,i){e&1&&(At(),Xt(0),F(1,di,1,0,"div",0)(2,ci,1,0,"div",1)(3,pi,1,0,"div",2)(4,mi,1,0,"div",3)(5,gi,1,0,"div",4)(6,ui,1,0,"div",5)(7,fi,1,0,"div",6)(8,wi,1,0,"div",7)),e&2&&(l(),b(i.resize.resizableHandles!=null&&i.resize.resizableHandles.s&&i.resize.resizeEnabled?1:-1),l(),b(i.resize.resizableHandles!=null&&i.resize.resizableHandles.e&&i.resize.resizeEnabled?2:-1),l(),b(i.resize.resizableHandles!=null&&i.resize.resizableHandles.n&&i.resize.resizeEnabled?3:-1),l(),b(i.resize.resizableHandles!=null&&i.resize.resizableHandles.w&&i.resize.resizeEnabled?4:-1),l(),b(i.resize.resizableHandles!=null&&i.resize.resizableHandles.se&&i.resize.resizeEnabled?5:-1),l(),b(i.resize.resizableHandles!=null&&i.resize.resizableHandles.ne&&i.resize.resizeEnabled?6:-1),l(),b(i.resize.resizableHandles!=null&&i.resize.resizableHandles.sw&&i.resize.resizeEnabled?7:-1),l(),b(i.resize.resizableHandles!=null&&i.resize.resizableHandles.nw&&i.resize.resizeEnabled?8:-1))},styles:[`gridster-item{box-sizing:border-box;z-index:1;position:absolute;overflow:hidden;transition:.3s;display:none;background:#fff;-webkit-user-select:text;user-select:text}gridster-item.gridster-item-moving{cursor:move}gridster-item.gridster-item-resizing,gridster-item.gridster-item-moving{transition:0s;z-index:2;box-shadow:0 0 5px 5px #0003,0 6px 10px #00000024,0 1px 18px #0000001f}.gridster-item-resizable-handler{position:absolute;z-index:2}.gridster-item-resizable-handler.handle-n{cursor:ns-resize;height:10px;right:0;top:0;left:0}.gridster-item-resizable-handler.handle-e{cursor:ew-resize;width:10px;bottom:0;right:0;top:0}.gridster-item-resizable-handler.handle-s{cursor:ns-resize;height:10px;right:0;bottom:0;left:0}.gridster-item-resizable-handler.handle-w{cursor:ew-resize;width:10px;left:0;top:0;bottom:0}.gridster-item-resizable-handler.handle-ne{cursor:ne-resize;width:10px;height:10px;right:0;top:0}.gridster-item-resizable-handler.handle-nw{cursor:nw-resize;width:10px;height:10px;left:0;top:0}.gridster-item-resizable-handler.handle-se{cursor:se-resize;width:0;height:0;right:0;bottom:0;border-style:solid;border-width:0 0 10px 10px;border-color:transparent}.gridster-item-resizable-handler.handle-sw{cursor:sw-resize;width:10px;height:10px;left:0;bottom:0}gridster-item:hover .gridster-item-resizable-handler.handle-se{border-color:transparent transparent #ccc} +`],encapsulation:2})}}return r})();var Vs=(()=>{class r{static{this.\u0275fac=function(e){return new(e||r)}}static{this.\u0275mod=pe({type:r})}static{this.\u0275inj=ce({})}}return r})();var Wt=(()=>{class r{constructor(){this.items=[],this.widgets=[]}init(t){if(this.items=[],this.widgets=[],!!t.widgets)for(let e=0;e{class r{constructor(){this.list=[],this.dbs=D(ze),this.cd=D(U),this.eds=D(Et),this.route=D(ht),this.ss=D(ct),this.ns=D(Mt),this.ds=D(Se),this.sbs=D(De),this.fs=D(it),this.bs=D(pt),this.ms=D(Re),this.r2=D(ot),this.us=D(dt),this.hs=D(Pt),this.vs=D(Wt),this.i18n=D(kt),this.es=D(Ie),this.subOnEditedWidgetChanged=this.eds.onEditedWidgetChanged.pipe(st()),this.subOnNewWidget=this.eds.onNewWidget.pipe(st()),this.subOnSaveWidget=this.eds.onSave.pipe(st()),this.subCancelEditing=this.eds.onCancelEditing.pipe(st()),this.subOnDeleteWidget=this.eds.onDeleteWidget.pipe(st())}ngOnDestroy(){clearTimeout(this.scrollToNewWidgetTimeout)}getWidgetByInfo(t){if(t)return this.widgets.find(e=>e.widget===t)}subscribeForEditing(){this.subOnEditedWidgetChanged.subscribe(t=>this.updateEditedWidget(t)),this.subOnNewWidget.subscribe(t=>this.newWidget(t)),this.subOnSaveWidget.subscribe(()=>this.onSaveWidget()),this.subCancelEditing.subscribe(()=>this.cancelEditing()),this.subOnDeleteWidget.subscribe(t=>this.deleteWidget(t))}updateEditedWidget(t){this.editedWidget||(this.editedWidget=t.widget);let e=this.getWidgetByInfo(this.editedWidget);e&&(e.header?.cd.detectChanges(),e.cd.detectChanges(),t.refreshData&&e.requestData()),this.detectChanges()}newWidget(t){let e=this.dbs.getWidgetsWithoutEmpty().pop();e&&(t.cols=e.cols,t.rows=e.rows),this.editedWidget=t,this.list.push(this.editedWidget);let i=this.gridster.getFirstPossiblePosition(this.editedWidget);this.editedWidget.x=i.x,this.editedWidget.y=i.y,this.editedWidget.cols=i.cols,this.editedWidget.rows=i.rows,this.detectChanges(),this.scrollNewWidgetIntoView()}onSaveWidget(){this.editedWidget&&(this.editedWidget.edKey=""),this.editedWidget=void 0,this.detectChanges()}cancelEditing(){if(!this.editedWidget)return;let t=this.list.indexOf(this.editedWidget);if(this.editedWidget?.oldWidget){this.editedWidget=this.editedWidget.oldWidget,this.editedWidget.edKey="ed"+new Date().getTime(),this.list[t]=this.editedWidget,this.cd.detectChanges(),this.editedWidget.edKey="",this.editedWidget=void 0,this.detectChanges();return}else t!==-1&&this.list.splice(t,1);this.editedWidget=void 0,this.detectChanges()}scrollNewWidgetIntoView(){clearTimeout(this.scrollToNewWidgetTimeout),this.scrollToNewWidgetTimeout=setTimeout(()=>{let t=document.getElementById("edited-widget");t&&t.scrollIntoView({behavior:"smooth",block:"nearest"})},300)}detectChanges(){let t=this.gridster.el.scrollLeft,e=this.gridster.el.scrollTop;this.cd.detectChanges(),this.gridster.onResize(),this.gridster.el.scrollLeft=t,this.gridster.el.scrollTop=e}deleteWidget(t){this.editedWidget=void 0;let e=this.list.indexOf(t);e!==-1&&this.list.splice(e,1),this.list=[...this.list],this.cd.detectChanges()}static{this.\u0275fac=function(e){return new(e||r)}}static{this.\u0275cmp=L({type:r,selectors:[["ng-component"]],viewQuery:function(e,i){if(e&1&&(Q(vi,5),Q(yi,5)),e&2){let n;K(n=Z())&&(i.gridster=n.first),K(n=Z())&&(i.widgets=n)}},standalone:!0,features:[B],decls:0,vars:0,template:function(e,i){},encapsulation:2})}}return r})();var Je=(()=>{class r{constructor(t){this.el=t,this.tooltip="",this.tooltipEl=null,this.onHover=e=>this.showTooltip(e),this.onOut=e=>this.removeTooltip()}ngAfterViewInit(){this.el.nativeElement.addEventListener("mouseover",this.onHover),this.el.nativeElement.addEventListener("mouseout",this.onOut)}ngOnDestroy(){this.el.nativeElement.removeEventListener("mouseover",this.onHover),this.el.nativeElement.removeEventListener("mouseout",this.onOut),this.removeTooltip()}showTooltip(t){if(this.tooltipEl||(this.createTooltip(),!this.tooltipEl))return;let e=t.clientX,i=t.clientY,n=this.tooltipEl.offsetWidth,o=this.tooltipEl.offsetHeight,a=window.innerWidth,u=window.innerHeight,g=e,w=i;e+n>a&&(g=e-n),i+o>u&&(w=i-o),this.tooltipEl&&(this.tooltipEl.style.left=g+"px",this.tooltipEl.style.top=w+"px")}removeTooltip(){this.tooltipEl&&(this.tooltipEl.parentNode?.removeChild(this.tooltipEl),this.tooltipEl=null)}createTooltip(){this.removeTooltip(),this.tooltipEl=document.createElement("div"),this.tooltipEl.classList.add("dsw-tooltip"),this.tooltipEl.innerHTML=this.tooltip,document.body.appendChild(this.tooltipEl)}static{this.\u0275fac=function(e){return new(e||r)(_(q))}}static{this.\u0275dir=me({type:r,selectors:[["","tooltip",""]],inputs:{tooltip:"tooltip"},standalone:!0})}}return r})();var ti=(()=>{class r{constructor(){this.onToggleHeaderButton=new Y}toggleButton(t){this.onToggleHeaderButton.emit(t)}static{this.\u0275fac=function(e){return new(e||r)}}static{this.\u0275prov=St({token:r,factory:r.\u0275fac,providedIn:"root"})}}return r})();function ki(r,s){if(r&1&&(h(0,"span",1),C(1),m()),r&2){let t=d();$("tooltip",t.widgetTooltip),l(),k(t.widget.title)}}function Mi(r,s){if(r&1&&C(0),r&2){let t=d();Tt(" ",t.widget.title," ")}}function Pi(r,s){if(r&1&&y(0,"img",2),r&2){let t=d();$("tooltip",t.filtersTooltip)}}function Fi(r,s){if(r&1){let t=x();h(0,"button",7),f("click",function(){c(t);let i=d();return p(i.onBackClick())}),y(1,"img",8),h(2,"label"),C(3),S(4,"i18n"),m()()}r&2&&(l(3),k(T(4,1,"back")))}function Ei(r,s){if(r&1){let t=x();h(0,"button",7),f("click",function(){c(t);let i=d();return p(i.onResetClickFilterHandler())}),y(1,"img",9),h(2,"label"),C(3),S(4,"i18n"),m()()}r&2&&(l(3),k(T(4,1,"resetClickFilter")))}function Di(r,s){if(r&1){let t=x();h(0,"button",10),S(1,"i18n"),f("click",function(){c(t);let i=d();return p(i.onClick("by6columns"))}),y(2,"img",11),m(),h(3,"button",10),S(4,"i18n"),f("click",function(){c(t);let i=d();return p(i.onClick("by5columns"))}),y(5,"img",12),m(),h(6,"button",10),S(7,"i18n"),f("click",function(){c(t);let i=d();return p(i.onClick("by4columns"))}),y(8,"img",13),m(),h(9,"button",10),S(10,"i18n"),f("click",function(){c(t);let i=d();return p(i.onClick("by3columns"))}),y(11,"img",14),m(),h(12,"button",10),S(13,"i18n"),f("click",function(){c(t);let i=d();return p(i.onClick("by2columns"))}),y(14,"img",15),m(),h(15,"button",10),S(16,"i18n"),f("click",function(){c(t);let i=d();return p(i.onClick("byRows"))}),y(17,"img",16),m(),h(18,"button",17),S(19,"i18n"),f("click",function(){c(t);let i=d();return p(i.onClick("setDefault"))}),y(20,"img",18),h(21,"label"),C(22),S(23,"i18n"),m()(),h(24,"button",19),f("click",function(){c(t);let i=d();return p(i.closeMobileFilter())}),y(25,"img",9),h(26,"label"),C(27),S(28,"i18n"),m()()}if(r&2){let t=d();E("active",t.widget.viewSize===5),$("title",T(1,21,"by6columns")),l(3),E("active",t.widget.viewSize===4),$("title",T(4,23,"by5columns")),l(3),E("active",t.widget.viewSize===3),$("title",T(7,25,"by4columns")),l(3),E("active",t.widget.viewSize===2),$("title",T(10,27,"by3columns")),l(3),E("active",t.widget.viewSize===1),$("title",T(13,29,"by2columns")),l(3),E("active",t.widget.viewSize===0),$("title",T(16,31,"byRows")),l(3),$("title",T(19,33,"setDefault")),l(4),k(T(23,35,"refresh")),l(5),k(T(28,37,"close"))}}function zi(r,s){if(r&1){let t=x();h(0,"button",20),f("click",function(){c(t);let i=d();return p(i.deleteWidgetClick())}),y(1,"img",21),h(2,"label"),C(3,"Delete widget"),m()()}}function Wi(r,s){if(r&1){let t=x();h(0,"button",17),f("click",function(){let i=c(t).$implicit,n=d(2);return p(n.onClick(i.id))}),y(1,"img",25),h(2,"label"),C(3),m()()}if(r&2){let t=s.$implicit,e=d(2);E("active",e.widget[t.id]),$("title",t.tooltip),l(),$("src",t.icon,ge),l(2),k(t.text)}}function Oi(r,s){if(r&1){let t=x();h(0,"button",17),S(1,"i18n"),f("click",function(){c(t);let i=d(2);return p(i.onClick("isLegend"))}),y(2,"img",26),h(3,"label"),C(4,"Legend"),m()()}if(r&2){let t=d(2);E("active",t.widget.isLegend),j("title",T(1,3,"showLegend"))}}function Ri(r,s){if(r&1){let t=x();h(0,"button",17),S(1,"i18n"),f("click",function(){c(t);let i=d(2);return p(i.onClick("showValues"))}),y(2,"img",27),h(3,"label"),C(4,"Values"),m()()}if(r&2){let t=d(2);E("active",t.widget.showValues),j("title",T(1,3,"showValues"))}}function Vi(r,s){if(r&1){let t=x();h(0,"button",17),S(1,"i18n"),f("click",function(){c(t);let i=d(2);return p(i.onClick("isTop"))}),y(2,"img",28),h(3,"label"),C(4,"Top"),m()()}if(r&2){let t=d(2);E("active",t.widget.isTop),j("title",T(1,3,"showTop"))}}function Li(r,s){if(r&1){let t=x();h(0,"button",17),S(1,"i18n"),f("click",function(){c(t);let i=d(2);return p(i.onClick("showZero"))}),y(2,"img",29),h(3,"label"),C(4,"Zero"),m()()}if(r&2){let t=d(2);E("active",t.widget.showZero),j("title",T(1,3,"showZero"))}}function Bi(r,s){if(r&1){let t=x();h(0,"button",17),S(1,"i18n"),f("click",function(){c(t);let i=d(2);return p(i.onClick("displayAsPivot"))}),y(2,"img",30),h(3,"label"),C(4,"Pivot"),m()()}if(r&2){let t=d(2);E("active",t.widget.type==="pivot"),j("title",T(1,3,"showPivot"))}}function Hi(r,s){if(r&1){let t=x();h(0,"button",17),S(1,"i18n"),f("click",function(){c(t);let i=d(2);return p(i.onClick("chartConfig"))}),y(2,"img",31),h(3,"label"),C(4,"Colors"),m()()}r&2&&j("title",T(1,1,"changeColors"))}function Ai(r,s){if(r&1){let t=x();h(0,"button",32),S(1,"i18n"),f("click",function(){c(t);let i=d(2);return p(i.onClick("expand"))}),y(2,"img",33),m()}if(r&2){let t=d(2);E("active",t.widget.isExpanded),$("title",T(1,4,"fullscreen"))("hidden",t.isEmptyWidget()||!t.widget.isSupported)}}function Xi(r,s){if(r&1&&(R(0,Wi,4,5,"button",22,G),F(2,Oi,5,5,"button",22)(3,Ri,5,5,"button",22)(4,Vi,5,5,"button",22)(5,Li,5,5,"button",22)(6,Bi,5,5,"button",22)(7,Hi,5,3,"button",23)(8,Ai,3,6,"button",24)),r&2){let t=d();V(t.typeDesc==null?null:t.typeDesc.headerButtons),l(2),b(!(t.typeDesc!=null&&t.typeDesc.disableLegend)&&t.widget.isChart&&!t.widget.noToggleLegend?2:-1),l(),b(t.widget.isBtnValues?3:-1),l(),b(t.widget.isChart?4:-1),l(),b(t.widget.isBtnZero?5:-1),l(),b(t.widget.isChart||t.widget.isMap||t.widget.type==="regular"||t.widget.oldType==="regular"?6:-1),l(),b(t.widget.isChart||t.widget.type==="regular"?7:-1),l(),b(t.widget.shared?-1:8)}}var ii=(()=>{class r{get widgetTooltip(){let t=this.widget?.properties?.tooltip;return typeof t=="string"&&t.trim()!==""?t.trim():""}constructor(t,e,i,n,o,a,u,g,w){this.ss=t,this.us=e,this.ws=i,this.cd=n,this.ns=o,this.fs=a,this.hs=u,this.eds=g,this.route=w,this.onButtonClick=new Y,this.onBack=new Y,this.onResetClickFilter=new Y,this.hasFilters=!1,this.filtersTooltip="",this.noDrag=!1,this.noDrag=this.route.snapshot.queryParamMap.get("nodrag")==="1"}ngOnInit(){this.subFiltersChanged=this.fs.onFiltersChanged.subscribe(()=>{this.updateActiveFiltersInfo(),this.cd.detectChanges()}),this.updateActiveFiltersInfo()}updateActiveFiltersInfo(){if(!this.widget||this.widget.type===J.const.emptyWidgetClass)return;let t=this.fs.getWidgetFilters(this.widget?.name).filter(e=>e.value!==""||e.isInterval);this.hasFilters=!!t.length,this.filtersTooltip=t.map(e=>e.label+': '+e.valueDisplay+"").join(` +`)}onClick(t){this.widget[t]=!this.widget[t];let e=this.ss.getWidgetsSettings(this.widget.dashboard);e[this.widget.name]||(e[this.widget.name]={}),e[this.widget.name][t]=this.widget[t],this.ss.setWidgetsSettings(e,this.widget.dashboard),this.onButtonClick.emit({widget:this.widget,name:t,state:this.widget[t]})}loadToolbarButton(t,e,i){if(this.us.isEmbedded()){let n=this.route.snapshot.queryParamMap.get(e);if(n){let o=!1;n.toLowerCase()==="true"?o=!0:n.toLowerCase()==="false"&&(o=!1),this.widget[e]=o;return}}t[this.widget.name]&&(t[this.widget.name][e]!==void 0?this.widget[e]=this.widgetsSettings[this.widget.name][e]:i!==void 0&&(this.widget[e]=i))}onBackClick(){this.onBack.emit()}onResetClickFilterHandler(){this.onResetClickFilter.emit()}isEmptyWidget(){if(!this.widget)return!1;let t=this.widget.type;return t===We||t==="horizontalControls"||t==="verticalControls"}closeMobileFilter(){this.hs.toggleMobileFilterDialog()}ngOnChanges(t){t.widget?.currentValue&&t.widget.currentValue!==t.widget.previousValue&&this.loadButtons()}ngOnDestroy(){this.subFiltersChanged?.unsubscribe()}onHeaderDoubleClick(){this.isEmptyWidget()||!this.widget.isSupported||this.onClick("expand")}deleteWidgetClick(){this.eds.deleteWidget(this.widget)}loadButtons(){this.widgetsSettings=this.ss.getWidgetsSettings(this.widget.dashboard)||{},this.loadToolbarButton(this.widgetsSettings,"isLegend"),this.loadToolbarButton(this.widgetsSettings,"isTop"),this.loadToolbarButton(this.widgetsSettings,"showZero"),this.loadToolbarButton(this.widgetsSettings,"showValues");let t=this.typeDesc?.headerButtons;if(t)for(let e=0;e .drag-handle[_ngcontent-%COMP%]{position:absolute;inset:-20px -20px 0}[_nghost-%COMP%] button[_ngcontent-%COMP%]{z-index:1;flex:0 0 auto;cursor:pointer;background-color:transparent;border:none;padding-left:4px;padding-right:4px;margin:-3px 0 0;height:22px;display:flex;align-items:center;justify-content:center;transition:background-color .3s line-height;outline:none}[_nghost-%COMP%] button[_ngcontent-%COMP%] > img[_ngcontent-%COMP%]{opacity:var(--widget-header-btn-opacity);filter:var(--widget-header-btn-filter)}[_nghost-%COMP%] button[_ngcontent-%COMP%] > i[_ngcontent-%COMP%]{opacity:var(--widget-header-btn-opacity);filter:var(--widget-header-btn-filter)}[_nghost-%COMP%] button[_ngcontent-%COMP%]:hover{background-color:var(--cl-header-btn-hover-darken)}[_nghost-%COMP%] button.active[_ngcontent-%COMP%] > img[_ngcontent-%COMP%], [_nghost-%COMP%] button.active[_ngcontent-%COMP%] > i[_ngcontent-%COMP%]{opacity:1;filter:var(--widget-header-btn-active-filter)}[_nghost-%COMP%] button[_ngcontent-%COMP%] > label[_ngcontent-%COMP%]{display:none}@media (max-width: 576px){[_nghost-%COMP%] button[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0;flex:1 1 100%}[_nghost-%COMP%] button[_ngcontent-%COMP%] > label[_ngcontent-%COMP%]{display:inline-block;font-size:13px;opacity:var(--widget-header-btn-opacity);filter:var(--widget-header-btn-filter)}[_nghost-%COMP%] button[_ngcontent-%COMP%] > img[_ngcontent-%COMP%]{height:calc(var(--header-height) * .5)}}@media (max-width: 576px){[_nghost-%COMP%]{order:3;height:var(--header-height);border-bottom:none;border-top:1px solid var(--cl-header-border)}}.drag-handle[_ngcontent-%COMP%]{cursor:move;flex:1 1 100%;display:flex;justify-content:center;align-items:center}.drag-handle.no-drag[_ngcontent-%COMP%], .drag-handle.expanded[_ngcontent-%COMP%]{cursor:default}button.btn-with-text[_ngcontent-%COMP%]{cursor:pointer;color:var(--cl-widget-header-txt);display:flex;align-items:center}button.btn-with-text[_ngcontent-%COMP%] > img[_ngcontent-%COMP%]{height:100%}button.btn-with-text[_ngcontent-%COMP%] > label[_ngcontent-%COMP%]{display:block;cursor:pointer}@media (max-width: 576px){button.btn-with-text[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0;flex:1 1 100%}button.btn-with-text[_ngcontent-%COMP%] > label[_ngcontent-%COMP%]{display:inline-block;font-size:13px;opacity:var(--widget-header-btn-opacity);filter:var(--widget-header-btn-filter)}button.btn-with-text[_ngcontent-%COMP%] > img[_ngcontent-%COMP%]{height:calc(var(--header-height) * .5)}}.title-text[_ngcontent-%COMP%]{pointer-events:none;margin-left:0;margin-right:4px;font-size:14px;font-weight:700;z-index:2}.title-text[_ngcontent-%COMP%] .title-text-tooltip[_ngcontent-%COMP%]{pointer-events:auto}@media (max-width: 576px){.title-text[_ngcontent-%COMP%]{display:none!important}}.divider[_ngcontent-%COMP%]{margin-left:auto}.btn-filters[_ngcontent-%COMP%]{pointer-events:auto;vertical-align:top}"],changeDetection:0})}}return r})();var Gi=["filterPopup"];function ji(r,s){if(r&1){let t=x();h(0,"span",1)(1,"label"),C(2),m(),h(3,"input",3),Gt("ngModelChange",function(i){let n=c(t).$implicit;return Yt(n.value,i)||(n.value=i),p(i)}),f("keydown.enter",function(){let i=c(t).$implicit,n=d();return p(n.emitVarChange(i))}),m()()}if(r&2){let t=s.$implicit;l(2),k(t.label),l(),Nt("ngModel",t.value)}}function Ui(r,s){if(r&1&&(h(0,"option",7),C(1),m()),r&2){let t=s.$implicit;$("ngValue",t),l(),k(t)}}function qi(r,s){if(r&1){let t=x();h(0,"select",6),Gt("ngModelChange",function(i){c(t);let n=d().$implicit;return Yt(n.dsSelected,i)||(n.dsSelected=i),p(i)}),f("change",function(){c(t);let i=d().$implicit,n=d();return p(n.onDataSourceChangeHandler(i))}),R(1,Ui,2,2,"option",7,G),m()}if(r&2){let t=d().$implicit;Nt("ngModel",t.dsSelected),l(),V(t.labels)}}function Qi(r,s){if(r&1){let t=x();h(0,"input",8,0),f("keydown.enter",function(){c(t);let i=at(1);return p(i.blur())})("change",function(){c(t);let i=at(1),n=d().$implicit,o=d();return p(o.setControlValue(n,i.value,i))}),m()}if(r&2){let t=d().$implicit;$("type",t.type)("value",t._value)}}function Ki(r,s){if(r&1&&(h(0,"span",1)(1,"label"),C(2),m(),F(3,qi,3,1,"select",4)(4,Qi,2,2,"input",5),m()),r&2){let t=s.$implicit;l(2),k(t.label),l(),b(t.field==="select"?3:-1),l(),b(t.field==="input"?4:-1)}}function Zi(r,s){if(r&1){let t=x();h(0,"span",1)(1,"button",9),f("click",function(){let i=c(t).$implicit,n=d();return p(n.performAction(i))}),C(2),m()()}if(r&2){let t=s.$implicit;l(2),k(t.label||t.action)}}function Ji(r,s){if(r&1){let t=x();h(0,"span",1)(1,"label"),C(2),m(),h(3,"input",10),f("click",function(i){let n=c(t).$implicit,o=d();return n.isOpen=!0,p(o.toggleFilter(n.idx,i))}),m()()}if(r&2){let t=s.$implicit,e=d();E("active",e.openedFilter()===t.idx),l(2),k(t.label),l(),j("value",t.text),j("title",t.text)}}var si=(()=>{class r{constructor(t,e,i,n,o,a){this.fs=t,this.ms=e,this.el=i,this.us=n,this.bs=o,this.cd=a,this.widget=Bt.required(),this.filters=Bt([]),this.onVariable=gt(),this.onDataSource=gt(),this.onAction=gt(),this.onFilter=gt(),this.openedFilter=ue(-1),this.filterPopup=fe("filterPopup")}emitVarChange(t){this.onVariable.emit(t)}onDataSourceChangeHandler(t){this.onDataSource.emit(t)}performAction(t){this.onAction.emit(t)}toggleFilter(t,e){let i=this.fs.getFilter(t);if(!i)return;this.openedFilter.set(t);let o=e.target.getBoundingClientRect(),a=o.x-4,u=o.y+o.height+4,g=i.isDate?420:340;a+g>window.innerWidth&&(a=o.x+o.width-g);let w=this.us.isMobile(),I=0;if(w){let z=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--header-height"),10);I=window.document.body.offsetHeight-z-this.el.nativeElement.offsetHeight}this.ms.show({component:import("./chunk-36GF4U3L.js"),hideBackdrop:!0,closeByEsc:!0,closeByBackdropClick:!0,buttons:[],noPadding:!0,componentStyles:{position:"absolute",left:a+"px",top:u+"px",height:w?`${I}px`:"auto"},onComponentInit:z=>{z.initialize(this.widget(),i,this.widget().dataSource)},onClose:()=>{this.openedFilter.set(-1),this.cd.detectChanges()}})}setControlValue(t,e,i){let n=parseInt(e,10);isNaN(n)||n===0?(delete t._value,i.value=""):t._value=e,this.bs.broadcast("refresh:"+this.widget().name)}detectChanges(){this.cd.detectChanges()}static{this.\u0275fac=function(e){return new(e||r)(_(it),_(Ft),_(q),_(dt),_(pt),_(U))}}static{this.\u0275cmp=L({type:r,selectors:[["dsw-widget-filter"]],viewQuery:function(e,i){e&1&&xe(i.filterPopup,Gi,5),e&2&&_e()},hostVars:14,hostBindings:function(e,i){e&2&&E("horizontal",i.widget().type==="horizontalControls")("col-1",i.widget().viewSize===0)("col-2",i.widget().viewSize===1)("col-3",i.widget().viewSize===2)("col-4",i.widget().viewSize===3)("col-5",i.widget().viewSize===4)("col-6",i.widget().viewSize===5)},inputs:{widget:[1,"widget"],filters:[1,"filters"]},outputs:{onVariable:"onVariable",onDataSource:"onDataSource",onAction:"onAction",onFilter:"onFilter"},standalone:!0,features:[B],decls:8,vars:0,consts:[["inp",""],[1,"flt-holder"],[1,"flt-holder",3,"active"],[3,"ngModelChange","keydown.enter","ngModel"],[3,"ngModel"],[3,"type","value"],[3,"ngModelChange","change","ngModel"],[3,"ngValue"],[3,"keydown.enter","change","type","value"],[1,"btn-round",3,"click"],["readonly","","type","text",3,"click","value","title"]],template:function(e,i){e&1&&(R(0,ji,4,2,"span",1,G),R(2,Ki,5,3,"span",1,G),R(4,Zi,3,1,"span",1,G),R(6,Ji,4,5,"span",2,G)),e&2&&(V(i.widget().pvItems),l(2),V(i.widget().dsItems),l(2),V(i.widget().acItems),l(2),V(i.filters()))},dependencies:[Ee,Pe,Fe,Te,Me,$e,ke],styles:["[_ngcontent-%COMP%]:root{--cl-bg: #F5F5F5;--cl-accent: #1A73E8;--cl-btn-hover: #76abf1;--cl-hover: #E8F0FE;--cl-txt: #555555;--input-border-radius: 13px;--cl-btn-main: #5cb85c;--cl-btn-main-txt: #fff;--cl-btn-main-border: #4cae4c;--cl-btn-main-hover: #6eca6e;--cl-btn-secondary: #e6e6e6;--cl-btn-secondary-txt: #cccccc;--cl-btn-secondary-border: #b4b2b2;--cl-btn-secondary-hover: #dbdbdb;--icon-filter: none;--cl1: #b6e6ff;--cl2: #f7bfb7;--cl3: #bceca8;--cl4: #fff9a8;--cl5: #ffc593;--cl6: #f9b1ab;--cl7: #9de7fb;--cl8: #a8b8f9;--cl9: #9df1ae;--cl-header-bg: #FFFFFF;--cl-header-border: #F5F5F5;--cl-header-txt: #606367;--cl-header-ico: var(--cl-header-txt);--cl-header-btn-active: var(--cl-header-bg);--cl-header-btn-hover: var(--cl-bg);--cl-header-btn-hover-darken: var(--cl-hover);--header-height: 64px;--menu-item-icon-filter: none;--cl-sidebar-bg: #F5F5F5;--cl-sidebar-txt: #606367;--tile-border: none;--tile-border-radius: 10px;--tile-header-height: 28px;--cl-modal-bg: white;--fc0: #606367;--fc1: black;--fc2: red;--fc3: white;--fc4: green;--fc5: blue;--cl-widget-bg: white;--cl-widget-header-btn-active: #A9FFA1;--cl-widget-header-border: none;--cl-text-widget-font: #6b6464;--cl-widget-header-bg: var(--cl-header-bg);--cl-widget-header-txt: var(--cl-header-txt);--cl-widget-filter-txt: #606367;--cl-widget-filter-bg: var(--cl-header-bg);--widget-header-btn-opacity: 1;--widget-header-btn-filter: none;--widget-header-btn-active-filter: contrast(.7) sepia(1) brightness(1) hue-rotate(-898deg) contrast(9);--cl-input-bg: white;--cl-input-border: #EBEBEA;--cl-check-border: #606367;--cl-input-placeholder: rgba(96, 99, 103, .6);--cl-input-text: #606367;--cl-input-height: 26px;--cl-pivot-cell-border: rgb(208, 208, 208);--cl-pivot-cell-hover: #FFF7D7;--pivot-row-hover: inset 0 0 30px #fff5b9;--sidebar-width: 322px;--cl-scrollbar: #606367}[_nghost-%COMP%]{position:relative;display:flex;flex-shrink:0;background:var(--cl-widget-filter-bg);height:auto;flex-wrap:wrap;margin-bottom:5px}.col-1[_nghost-%COMP%], .col-2[_nghost-%COMP%], .col-3[_nghost-%COMP%], .col-4[_nghost-%COMP%], .col-5[_nghost-%COMP%], .col-6[_nghost-%COMP%]{display:grid;gap:10px}.col-1[_nghost-%COMP%] > span[_ngcontent-%COMP%], .col-2[_nghost-%COMP%] > span[_ngcontent-%COMP%], .col-3[_nghost-%COMP%] > span[_ngcontent-%COMP%], .col-4[_nghost-%COMP%] > span[_ngcontent-%COMP%], .col-5[_nghost-%COMP%] > span[_ngcontent-%COMP%], .col-6[_nghost-%COMP%] > span[_ngcontent-%COMP%]{width:100%;padding:0}.col-1[_nghost-%COMP%]{grid-template-columns:1fr}.col-2[_nghost-%COMP%]{grid-template-columns:1fr 1fr}.col-3[_nghost-%COMP%]{grid-template-columns:1fr 1fr 1fr}.col-4[_nghost-%COMP%]{grid-template-columns:1fr 1fr 1fr 1fr}.col-5[_nghost-%COMP%]{grid-template-columns:1fr 1fr 1fr 1fr 1fr}.col-6[_nghost-%COMP%]{grid-template-columns:1fr 1fr 1fr 1fr 1fr 1fr}.flt-holder[_ngcontent-%COMP%]{display:flex;flex-direction:column;overflow:hidden;padding:2px 4px}.flt-holder[_ngcontent-%COMP%]:first-child{padding-left:0}.flt-holder[_ngcontent-%COMP%] > label[_ngcontent-%COMP%]{font-size:12px;color:var(--cl-widget-filter-txt);margin-bottom:4px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.flt-holder[_ngcontent-%COMP%] > input[_ngcontent-%COMP%], .flt-holder[_ngcontent-%COMP%] > select[_ngcontent-%COMP%]{cursor:pointer;height:26px;padding:0 10px;border:1px solid #EBEBEA;border-radius:13px;box-shadow:none}.flt-holder[_ngcontent-%COMP%] > input[_ngcontent-%COMP%]:focus, .flt-holder[_ngcontent-%COMP%] > select[_ngcontent-%COMP%]:focus{outline:none;outline-offset:-1px}@media (max-width: 576px){.flt-holder[_ngcontent-%COMP%] > input[_ngcontent-%COMP%], .flt-holder[_ngcontent-%COMP%] > select[_ngcontent-%COMP%]{height:34px}}.flt-holder.active[_ngcontent-%COMP%]{background-color:var(--cl-widget-filter-bg)}.flt-holder.active[_ngcontent-%COMP%] > input[_ngcontent-%COMP%], .flt-holder.active[_ngcontent-%COMP%] > select[_ngcontent-%COMP%]{border-color:var(--cl-accent)}@media (max-width: 576px){.flt-holder[_ngcontent-%COMP%]{width:auto!important;flex:1 1 25%!important}}.input-group[_ngcontent-%COMP%]{display:flex;flex-direction:row}"],changeDetection:0})}}return r})();var ts=["header"],es=["filters"];function is(r,s){r&1&&be(0)}function ss(r,s){if(r&1&&F(0,is,1,0,"ng-container",6),r&2){let t=d();$("ngComponentOutlet",t.widgetType.class)("ngComponentOutletInputs",t.widgetInputs)}}function ns(r,s){if(r&1&&(h(0,"div",4),C(1),m()),r&2){let t=d();l(),k(t.model.error)}}function rs(r,s){r&1&&(h(0,"div",5),y(1,"img",7),m()),r&2&&$("@fade-in-out",void 0)}var ni=(()=>{class r{constructor(t,e,i,n,o,a,u,g,w){this.fs=t,this.ss=e,this.vs=i,this.i18n=n,this.wts=o,this.bs=a,this.ms=u,this.cd=g,this.route=w,this.widget={},this.model={error:""},this.hasDatasourceChooser=!1,this.hasActions=!1,this.isHeader=!0,this.isHeader=this.route.snapshot.queryParamMap.get("noheader")!=="1"}ngOnInit(){this.widgetInputs={widget:this.widget,model:this.model,parent:this},this.updateComponent(),this.initFilters(),this.setupPivotVariables(),this.checkToolbarVisibility(),this.subscribeFilters(),this.subscribeActions()}ngAfterViewInit(){this.component=this.ngComponentOutlet?._componentRef?.instance,this.initDataSourceFromParams(),this.initDrillsForSharedWidget()}onHeaderButton(t){if(t.name==="displayAsPivot"){this.component?.displayAsPivot();return}this.component?.onHeaderButton(t),this.header?.cd.detectChanges()}setupPivotVariables(){this.widget.pvItems=[];let t=this.widget.type==="mdx2json.emptyportlet",e=[];this.vs.isExists()&&(e=this.vs.items.filter(i=>t?i.location==="dashboard":i.location!=="dashboard"&&(i.location==="*"||i.location===this.widget.name)),this.widget.pvItems=e,this.showToolbar())}showLoading(){this.widget.isLoading=!0}hideLoading(){this.widget.isLoading=!1}ngOnDestroy(){this.subCopyMdx?.unsubscribe(),this.subRefresh?.unsubscribe(),this.subFilter?.unsubscribe(),this.subUpdateFilterText?.unsubscribe(),this.subFilterAll?.unsubscribe(),this.subShare?.unsubscribe(),this.subChangeType?.unsubscribe()}clearError(){this.model.error=""}showError(t){this.model.error=t}updateFiltersText(){if(this.widget.type==="mdx2json.emptyportlet")for(let t=0;t{i.onCopy=()=>{this.ms.close(e)}}};this.ms.show(e)}appendShareState(t,e){let i=this.widget[e];return i&&(t+="&"+e+"="+i),t}share(){let t=this.component?.chart,e=this.fs.getFiltersShareUrl(),i=e.split("#")[1],n=(this.widget.name||this.widget.idx).toString();if(i&&i.indexOf("?")===-1?e+="?widget="+n:e+="&widget="+n,e=this.appendShareState(e,"isLegend"),e=this.appendShareState(e,"isTop"),e=this.appendShareState(e,"showZero"),e=this.appendShareState(e,"showValues"),t&&t.series){let g=t.series.map((w,I)=>({v:w.visible,i:I})).filter(w=>!w.v);g.length&&(e+="&hiddenSeries="+g.map(w=>w.i).join(","))}let o=this.component?.getDrillsAsParameter();o&&(e+="&drilldown="+o);let a='