agvmap-react 0.1.2 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -858,7 +858,7 @@ northing meters`+e;var b=g/2,w=0,S=0,C,M,O,I,D;return b>0&&(C=1e5/Math.pow(10,b)
858
858
  dataMask: [samples.dataMask * validNDVIMask * noWaterMask]
859
859
  }
860
860
  }
861
- `;async function bY(e,t){var c,a;const n="https://services.sentinel-hub.com/oauth/token",r=new URLSearchParams({grant_type:"client_credentials",client_id:((c=rn.getState().configs)==null?void 0:c.VITE_SENTINAL_HUB_CLIENT_ID)||e,client_secret:((a=rn.getState().configs)==null?void 0:a.VITE_SENTINAL_HUB_CLIENT_SECRET)||t}),i=await fetch(n,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:r.toString()});if(!i.ok)throw new Error("Failed to fetch access token");const s=await i.json();return console.log("getAccessToken",s),s}async function xY(e,{accessToken:t,startDate:n,endDate:r}){const i=n||new Date(new Date().setMonth(new Date().getMonth()-3)).toISOString(),s=r||new Date().toISOString(),c="https://services.sentinel-hub.com/api/v1/statistics",a={input:{bounds:{geometry:{type:"Polygon",coordinates:e.geometry.coordinates},properties:{crs:"http://www.opengis.net/def/crs/EPSG/0/4326"}},data:[{type:"sentinel-2-l2a",dataFilter:{mosaickingOrder:"leastCC"}}]},aggregation:{timeRange:{from:i,to:s},aggregationInterval:{of:"P30D"},evalscript:oP,resx:10,resy:10}};try{const d=await fetch(c,{method:"POST",headers:{Authorization:`Bearer ${t}`,"Content-Type":"application/json"},body:JSON.stringify(a)});if(!d.ok)throw new Error("Failed to fetch NDVI statistics");const p=await d.json();return console.log("ndvi data k",p),p==null?void 0:p.data}catch(d){return console.error("Error fetching NDVI statistics:",d),null}}async function _Y(e,{accessToken:t,startDate:n,endDate:r}){const i=e.lng,s=e.lat,c=1e-4,a=n||new Date(new Date().setMonth(new Date().getMonth()-3)).toISOString(),d=r||new Date().toISOString(),p={type:"Polygon",coordinates:[[[i-c,s-c],[i+c,s-c],[i+c,s+c],[i-c,s+c],[i-c,s-c]]]},y="https://services.sentinel-hub.com/api/v1/statistics",g={input:{bounds:{geometry:p,properties:{crs:"http://www.opengis.net/def/crs/EPSG/0/4326"}},data:[{type:"sentinel-2-l2a",dataFilter:{mosaickingOrder:"leastCC"}}]},aggregation:{timeRange:{from:a,to:d},aggregationInterval:{of:"P30D"},evalscript:oP,resx:10,resy:10}};try{const b=await fetch(y,{method:"POST",headers:{Authorization:`Bearer ${t}`,"Content-Type":"application/json"},body:JSON.stringify(g)});if(!b.ok)throw new Error("Failed to fetch NDVI statistics");const w=await b.json();return console.log("NDVI data for point:",w),w==null?void 0:w.data}catch(b){return console.error("Error fetching NDVI statistics for point:",b),null}}async function wY({aoi:e,startDate:t,endDate:n,accessToken:r}){if(!r)return console.warn("Access token is required"),[];if(!t||!n){const p=new Date;t=new Date(p.setMonth(p.getMonth()-6)).toISOString(),n=new Date().toISOString()}const i=`${t}`,s=`${n}`,c="https://services.sentinel-hub.com/api/v1/catalog/search",a={Authorization:`Bearer ${r}`,"Content-Type":"application/json"};if(!e)return console.warn("aoi is not provided to getSatellitePassDates "),[];const d={bbox:e,datetime:`${i}/${s}`,collections:["sentinel-2-l1c"],limit:50,query:{"eo:cloud_cover":{lte:20}}};try{const p=await fetch(c,{method:"POST",headers:a,body:JSON.stringify(d)});if(!p.ok)throw new Error(`HTTP error! Status: ${p.status}`);const y=await p.json();console.log("data returned from catalog",y);const g=y.features.map(b=>{const w=new Date(b.properties.datetime);return new Date(Date.UTC(w.getUTCFullYear(),w.getUTCMonth(),w.getUTCDate()))}).sort((b,w)=>w-b);return console.log("date from catalog",g),g}catch(p){return console.error("Error fetching data:",p),[]}}var Tn;(function(e){e.Root="root",e.Chevron="chevron",e.Day="day",e.DayButton="day_button",e.CaptionLabel="caption_label",e.Dropdowns="dropdowns",e.Dropdown="dropdown",e.DropdownRoot="dropdown_root",e.Footer="footer",e.MonthGrid="month_grid",e.MonthCaption="month_caption",e.MonthsDropdown="months_dropdown",e.Month="month",e.Months="months",e.Nav="nav",e.NextMonthButton="button_next",e.PreviousMonthButton="button_previous",e.Week="week",e.Weeks="weeks",e.Weekday="weekday",e.Weekdays="weekdays",e.WeekNumber="week_number",e.WeekNumberHeader="week_number_header",e.YearsDropdown="years_dropdown"})(Tn||(Tn={}));var Er;(function(e){e.disabled="disabled",e.hidden="hidden",e.outside="outside",e.focused="focused",e.today="today"})(Er||(Er={}));var xs;(function(e){e.range_end="range_end",e.range_middle="range_middle",e.range_start="range_start",e.selected="selected"})(xs||(xs={}));const lP=6048e5,SY=864e5,cP=Symbol.for("constructDateFrom");function ui(e,t){return typeof e=="function"?e(t):e&&typeof e=="object"&&cP in e?e[cP](t):e instanceof Date?new e.constructor(t):new Date(t)}function Tr(e,t){return ui(t||e,e)}function uP(e,t,n){const r=Tr(e,n==null?void 0:n.in);return isNaN(t)?ui(e,NaN):(t&&r.setDate(r.getDate()+t),r)}function hP(e,t,n){const r=Tr(e,n==null?void 0:n.in);if(isNaN(t))return ui(e,NaN);if(!t)return r;const i=r.getDate(),s=ui(e,r.getTime());s.setMonth(r.getMonth()+t+1,0);const c=s.getDate();return i>=c?s:(r.setFullYear(s.getFullYear(),s.getMonth(),i),r)}let CY={};function Mf(){return CY}function rh(e,t){var a,d,p,y;const n=Mf(),r=(t==null?void 0:t.weekStartsOn)??((d=(a=t==null?void 0:t.locale)==null?void 0:a.options)==null?void 0:d.weekStartsOn)??n.weekStartsOn??((y=(p=n.locale)==null?void 0:p.options)==null?void 0:y.weekStartsOn)??0,i=Tr(e,t==null?void 0:t.in),s=i.getDay(),c=(s<r?7:0)+s-r;return i.setDate(i.getDate()-c),i.setHours(0,0,0,0),i}function Af(e,t){return rh(e,{...t,weekStartsOn:1})}function dP(e,t){const n=Tr(e,t==null?void 0:t.in),r=n.getFullYear(),i=ui(n,0);i.setFullYear(r+1,0,4),i.setHours(0,0,0,0);const s=Af(i),c=ui(n,0);c.setFullYear(r,0,4),c.setHours(0,0,0,0);const a=Af(c);return n.getTime()>=s.getTime()?r+1:n.getTime()>=a.getTime()?r:r-1}function fP(e){const t=Tr(e),n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),+e-+n}function Ef(e,...t){const n=ui.bind(null,t.find(r=>typeof r=="object"));return t.map(n)}function Tf(e,t){const n=Tr(e,t==null?void 0:t.in);return n.setHours(0,0,0,0),n}function pP(e,t,n){const[r,i]=Ef(n==null?void 0:n.in,e,t),s=Tf(r),c=Tf(i),a=+s-fP(s),d=+c-fP(c);return Math.round((a-d)/SY)}function MY(e,t){const n=dP(e,t),r=ui(e,0);return r.setFullYear(n,0,4),r.setHours(0,0,0,0),Af(r)}function AY(e,t,n){return uP(e,t*7,n)}function EY(e,t,n){return hP(e,t*12,n)}function TY(e,t){let n,r=t==null?void 0:t.in;return e.forEach(i=>{!r&&typeof i=="object"&&(r=ui.bind(null,i));const s=Tr(i,r);(!n||n<s||isNaN(+s))&&(n=s)}),ui(r,n||NaN)}function IY(e,t){let n,r=t==null?void 0:t.in;return e.forEach(i=>{!r&&typeof i=="object"&&(r=ui.bind(null,i));const s=Tr(i,r);(!n||n>s||isNaN(+s))&&(n=s)}),ui(r,n||NaN)}function PY(e,t,n){const[r,i]=Ef(n==null?void 0:n.in,e,t);return+Tf(r)==+Tf(i)}function mP(e){return e instanceof Date||typeof e=="object"&&Object.prototype.toString.call(e)==="[object Date]"}function OY(e){return!(!mP(e)&&typeof e!="number"||isNaN(+Tr(e)))}function kY(e,t,n){const[r,i]=Ef(n==null?void 0:n.in,e,t),s=r.getFullYear()-i.getFullYear(),c=r.getMonth()-i.getMonth();return s*12+c}function DY(e,t){const n=Tr(e,t==null?void 0:t.in),r=n.getMonth();return n.setFullYear(n.getFullYear(),r+1,0),n.setHours(23,59,59,999),n}function LY(e,t){const n=Tr(e,t==null?void 0:t.in);return n.setDate(1),n.setHours(0,0,0,0),n}function NY(e,t){const n=Tr(e,t==null?void 0:t.in),r=n.getFullYear();return n.setFullYear(r+1,0,0),n.setHours(23,59,59,999),n}function gP(e,t){const n=Tr(e,t==null?void 0:t.in);return n.setFullYear(n.getFullYear(),0,1),n.setHours(0,0,0,0),n}function yP(e,t){var a,d,p,y;const n=Mf(),r=(t==null?void 0:t.weekStartsOn)??((d=(a=t==null?void 0:t.locale)==null?void 0:a.options)==null?void 0:d.weekStartsOn)??n.weekStartsOn??((y=(p=n.locale)==null?void 0:p.options)==null?void 0:y.weekStartsOn)??0,i=Tr(e,t==null?void 0:t.in),s=i.getDay(),c=(s<r?-7:0)+6-(s-r);return i.setDate(i.getDate()+c),i.setHours(23,59,59,999),i}function RY(e,t){return yP(e,{...t,weekStartsOn:1})}const jY={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},BY=(e,t,n)=>{let r;const i=jY[e];return typeof i=="string"?r=i:t===1?r=i.one:r=i.other.replace("{{count}}",t.toString()),n!=null&&n.addSuffix?n.comparison&&n.comparison>0?"in "+r:r+" ago":r};function O1(e){return(t={})=>{const n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}const FY={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},zY={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},$Y={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},VY={date:O1({formats:FY,defaultWidth:"full"}),time:O1({formats:zY,defaultWidth:"full"}),dateTime:O1({formats:$Y,defaultWidth:"full"})},GY={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},WY=(e,t,n,r)=>GY[e];function If(e){return(t,n)=>{const r=n!=null&&n.context?String(n.context):"standalone";let i;if(r==="formatting"&&e.formattingValues){const c=e.defaultFormattingWidth||e.defaultWidth,a=n!=null&&n.width?String(n.width):c;i=e.formattingValues[a]||e.formattingValues[c]}else{const c=e.defaultWidth,a=n!=null&&n.width?String(n.width):e.defaultWidth;i=e.values[a]||e.values[c]}const s=e.argumentCallback?e.argumentCallback(t):t;return i[s]}}const UY={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},HY={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},XY={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},ZY={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},YY={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},qY={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},JY={ordinalNumber:(e,t)=>{const n=Number(e),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},era:If({values:UY,defaultWidth:"wide"}),quarter:If({values:HY,defaultWidth:"wide",argumentCallback:e=>e-1}),month:If({values:XY,defaultWidth:"wide"}),day:If({values:ZY,defaultWidth:"wide"}),dayPeriod:If({values:YY,defaultWidth:"wide",formattingValues:qY,defaultFormattingWidth:"wide"})};function Pf(e){return(t,n={})=>{const r=n.width,i=r&&e.matchPatterns[r]||e.matchPatterns[e.defaultMatchWidth],s=t.match(i);if(!s)return null;const c=s[0],a=r&&e.parsePatterns[r]||e.parsePatterns[e.defaultParseWidth],d=Array.isArray(a)?QY(a,g=>g.test(c)):KY(a,g=>g.test(c));let p;p=e.valueCallback?e.valueCallback(d):d,p=n.valueCallback?n.valueCallback(p):p;const y=t.slice(c.length);return{value:p,rest:y}}}function KY(e,t){for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function QY(e,t){for(let n=0;n<e.length;n++)if(t(e[n]))return n}function eq(e){return(t,n={})=>{const r=t.match(e.matchPattern);if(!r)return null;const i=r[0],s=t.match(e.parsePattern);if(!s)return null;let c=e.valueCallback?e.valueCallback(s[0]):s[0];c=n.valueCallback?n.valueCallback(c):c;const a=t.slice(i.length);return{value:c,rest:a}}}const tq=/^(\d+)(th|st|nd|rd)?/i,nq=/\d+/i,rq={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},iq={any:[/^b/i,/^(a|c)/i]},aq={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},sq={any:[/1/i,/2/i,/3/i,/4/i]},oq={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},lq={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},cq={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},uq={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},hq={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},dq={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},fq={ordinalNumber:eq({matchPattern:tq,parsePattern:nq,valueCallback:e=>parseInt(e,10)}),era:Pf({matchPatterns:rq,defaultMatchWidth:"wide",parsePatterns:iq,defaultParseWidth:"any"}),quarter:Pf({matchPatterns:aq,defaultMatchWidth:"wide",parsePatterns:sq,defaultParseWidth:"any",valueCallback:e=>e+1}),month:Pf({matchPatterns:oq,defaultMatchWidth:"wide",parsePatterns:lq,defaultParseWidth:"any"}),day:Pf({matchPatterns:cq,defaultMatchWidth:"wide",parsePatterns:uq,defaultParseWidth:"any"}),dayPeriod:Pf({matchPatterns:hq,defaultMatchWidth:"any",parsePatterns:dq,defaultParseWidth:"any"})},uy={code:"en-US",formatDistance:BY,formatLong:VY,formatRelative:WY,localize:JY,match:fq,options:{weekStartsOn:0,firstWeekContainsDate:1}};function pq(e,t){const n=Tr(e,t==null?void 0:t.in);return pP(n,gP(n))+1}function vP(e,t){const n=Tr(e,t==null?void 0:t.in),r=+Af(n)-+MY(n);return Math.round(r/lP)+1}function bP(e,t){var y,g,b,w;const n=Tr(e,t==null?void 0:t.in),r=n.getFullYear(),i=Mf(),s=(t==null?void 0:t.firstWeekContainsDate)??((g=(y=t==null?void 0:t.locale)==null?void 0:y.options)==null?void 0:g.firstWeekContainsDate)??i.firstWeekContainsDate??((w=(b=i.locale)==null?void 0:b.options)==null?void 0:w.firstWeekContainsDate)??1,c=ui((t==null?void 0:t.in)||e,0);c.setFullYear(r+1,0,s),c.setHours(0,0,0,0);const a=rh(c,t),d=ui((t==null?void 0:t.in)||e,0);d.setFullYear(r,0,s),d.setHours(0,0,0,0);const p=rh(d,t);return+n>=+a?r+1:+n>=+p?r:r-1}function mq(e,t){var a,d,p,y;const n=Mf(),r=(t==null?void 0:t.firstWeekContainsDate)??((d=(a=t==null?void 0:t.locale)==null?void 0:a.options)==null?void 0:d.firstWeekContainsDate)??n.firstWeekContainsDate??((y=(p=n.locale)==null?void 0:p.options)==null?void 0:y.firstWeekContainsDate)??1,i=bP(e,t),s=ui((t==null?void 0:t.in)||e,0);return s.setFullYear(i,0,r),s.setHours(0,0,0,0),rh(s,t)}function xP(e,t){const n=Tr(e,t==null?void 0:t.in),r=+rh(n,t)-+mq(n,t);return Math.round(r/lP)+1}function gr(e,t){const n=e<0?"-":"",r=Math.abs(e).toString().padStart(t,"0");return n+r}const Al={y(e,t){const n=e.getFullYear(),r=n>0?n:1-n;return gr(t==="yy"?r%100:r,t.length)},M(e,t){const n=e.getMonth();return t==="M"?String(n+1):gr(n+1,2)},d(e,t){return gr(e.getDate(),t.length)},a(e,t){const n=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.toUpperCase();case"aaa":return n;case"aaaaa":return n[0];case"aaaa":default:return n==="am"?"a.m.":"p.m."}},h(e,t){return gr(e.getHours()%12||12,t.length)},H(e,t){return gr(e.getHours(),t.length)},m(e,t){return gr(e.getMinutes(),t.length)},s(e,t){return gr(e.getSeconds(),t.length)},S(e,t){const n=t.length,r=e.getMilliseconds(),i=Math.trunc(r*Math.pow(10,n-3));return gr(i,t.length)}},ih={am:"am",pm:"pm",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},_P={G:function(e,t,n){const r=e.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return n.era(r,{width:"abbreviated"});case"GGGGG":return n.era(r,{width:"narrow"});case"GGGG":default:return n.era(r,{width:"wide"})}},y:function(e,t,n){if(t==="yo"){const r=e.getFullYear(),i=r>0?r:1-r;return n.ordinalNumber(i,{unit:"year"})}return Al.y(e,t)},Y:function(e,t,n,r){const i=bP(e,r),s=i>0?i:1-i;if(t==="YY"){const c=s%100;return gr(c,2)}return t==="Yo"?n.ordinalNumber(s,{unit:"year"}):gr(s,t.length)},R:function(e,t){const n=dP(e);return gr(n,t.length)},u:function(e,t){const n=e.getFullYear();return gr(n,t.length)},Q:function(e,t,n){const r=Math.ceil((e.getMonth()+1)/3);switch(t){case"Q":return String(r);case"QQ":return gr(r,2);case"Qo":return n.ordinalNumber(r,{unit:"quarter"});case"QQQ":return n.quarter(r,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(r,{width:"narrow",context:"formatting"});case"QQQQ":default:return n.quarter(r,{width:"wide",context:"formatting"})}},q:function(e,t,n){const r=Math.ceil((e.getMonth()+1)/3);switch(t){case"q":return String(r);case"qq":return gr(r,2);case"qo":return n.ordinalNumber(r,{unit:"quarter"});case"qqq":return n.quarter(r,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(r,{width:"narrow",context:"standalone"});case"qqqq":default:return n.quarter(r,{width:"wide",context:"standalone"})}},M:function(e,t,n){const r=e.getMonth();switch(t){case"M":case"MM":return Al.M(e,t);case"Mo":return n.ordinalNumber(r+1,{unit:"month"});case"MMM":return n.month(r,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(r,{width:"narrow",context:"formatting"});case"MMMM":default:return n.month(r,{width:"wide",context:"formatting"})}},L:function(e,t,n){const r=e.getMonth();switch(t){case"L":return String(r+1);case"LL":return gr(r+1,2);case"Lo":return n.ordinalNumber(r+1,{unit:"month"});case"LLL":return n.month(r,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(r,{width:"narrow",context:"standalone"});case"LLLL":default:return n.month(r,{width:"wide",context:"standalone"})}},w:function(e,t,n,r){const i=xP(e,r);return t==="wo"?n.ordinalNumber(i,{unit:"week"}):gr(i,t.length)},I:function(e,t,n){const r=vP(e);return t==="Io"?n.ordinalNumber(r,{unit:"week"}):gr(r,t.length)},d:function(e,t,n){return t==="do"?n.ordinalNumber(e.getDate(),{unit:"date"}):Al.d(e,t)},D:function(e,t,n){const r=pq(e);return t==="Do"?n.ordinalNumber(r,{unit:"dayOfYear"}):gr(r,t.length)},E:function(e,t,n){const r=e.getDay();switch(t){case"E":case"EE":case"EEE":return n.day(r,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(r,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(r,{width:"short",context:"formatting"});case"EEEE":default:return n.day(r,{width:"wide",context:"formatting"})}},e:function(e,t,n,r){const i=e.getDay(),s=(i-r.weekStartsOn+8)%7||7;switch(t){case"e":return String(s);case"ee":return gr(s,2);case"eo":return n.ordinalNumber(s,{unit:"day"});case"eee":return n.day(i,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(i,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(i,{width:"short",context:"formatting"});case"eeee":default:return n.day(i,{width:"wide",context:"formatting"})}},c:function(e,t,n,r){const i=e.getDay(),s=(i-r.weekStartsOn+8)%7||7;switch(t){case"c":return String(s);case"cc":return gr(s,t.length);case"co":return n.ordinalNumber(s,{unit:"day"});case"ccc":return n.day(i,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(i,{width:"narrow",context:"standalone"});case"cccccc":return n.day(i,{width:"short",context:"standalone"});case"cccc":default:return n.day(i,{width:"wide",context:"standalone"})}},i:function(e,t,n){const r=e.getDay(),i=r===0?7:r;switch(t){case"i":return String(i);case"ii":return gr(i,t.length);case"io":return n.ordinalNumber(i,{unit:"day"});case"iii":return n.day(r,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(r,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(r,{width:"short",context:"formatting"});case"iiii":default:return n.day(r,{width:"wide",context:"formatting"})}},a:function(e,t,n){const i=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(i,{width:"narrow",context:"formatting"});case"aaaa":default:return n.dayPeriod(i,{width:"wide",context:"formatting"})}},b:function(e,t,n){const r=e.getHours();let i;switch(r===12?i=ih.noon:r===0?i=ih.midnight:i=r/12>=1?"pm":"am",t){case"b":case"bb":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(i,{width:"narrow",context:"formatting"});case"bbbb":default:return n.dayPeriod(i,{width:"wide",context:"formatting"})}},B:function(e,t,n){const r=e.getHours();let i;switch(r>=17?i=ih.evening:r>=12?i=ih.afternoon:r>=4?i=ih.morning:i=ih.night,t){case"B":case"BB":case"BBB":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(i,{width:"narrow",context:"formatting"});case"BBBB":default:return n.dayPeriod(i,{width:"wide",context:"formatting"})}},h:function(e,t,n){if(t==="ho"){let r=e.getHours()%12;return r===0&&(r=12),n.ordinalNumber(r,{unit:"hour"})}return Al.h(e,t)},H:function(e,t,n){return t==="Ho"?n.ordinalNumber(e.getHours(),{unit:"hour"}):Al.H(e,t)},K:function(e,t,n){const r=e.getHours()%12;return t==="Ko"?n.ordinalNumber(r,{unit:"hour"}):gr(r,t.length)},k:function(e,t,n){let r=e.getHours();return r===0&&(r=24),t==="ko"?n.ordinalNumber(r,{unit:"hour"}):gr(r,t.length)},m:function(e,t,n){return t==="mo"?n.ordinalNumber(e.getMinutes(),{unit:"minute"}):Al.m(e,t)},s:function(e,t,n){return t==="so"?n.ordinalNumber(e.getSeconds(),{unit:"second"}):Al.s(e,t)},S:function(e,t){return Al.S(e,t)},X:function(e,t,n){const r=e.getTimezoneOffset();if(r===0)return"Z";switch(t){case"X":return SP(r);case"XXXX":case"XX":return Cc(r);case"XXXXX":case"XXX":default:return Cc(r,":")}},x:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"x":return SP(r);case"xxxx":case"xx":return Cc(r);case"xxxxx":case"xxx":default:return Cc(r,":")}},O:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+wP(r,":");case"OOOO":default:return"GMT"+Cc(r,":")}},z:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+wP(r,":");case"zzzz":default:return"GMT"+Cc(r,":")}},t:function(e,t,n){const r=Math.trunc(+e/1e3);return gr(r,t.length)},T:function(e,t,n){return gr(+e,t.length)}};function wP(e,t=""){const n=e>0?"-":"+",r=Math.abs(e),i=Math.trunc(r/60),s=r%60;return s===0?n+String(i):n+String(i)+t+gr(s,2)}function SP(e,t){return e%60===0?(e>0?"-":"+")+gr(Math.abs(e)/60,2):Cc(e,t)}function Cc(e,t=""){const n=e>0?"-":"+",r=Math.abs(e),i=gr(Math.trunc(r/60),2),s=gr(r%60,2);return n+i+t+s}const CP=(e,t)=>{switch(e){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});case"PPPP":default:return t.date({width:"full"})}},MP=(e,t)=>{switch(e){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});case"pppp":default:return t.time({width:"full"})}},gq={p:MP,P:(e,t)=>{const n=e.match(/(P+)(p+)?/)||[],r=n[1],i=n[2];if(!i)return CP(e,t);let s;switch(r){case"P":s=t.dateTime({width:"short"});break;case"PP":s=t.dateTime({width:"medium"});break;case"PPP":s=t.dateTime({width:"long"});break;case"PPPP":default:s=t.dateTime({width:"full"});break}return s.replace("{{date}}",CP(r,t)).replace("{{time}}",MP(i,t))}},yq=/^D+$/,vq=/^Y+$/,bq=["D","DD","YY","YYYY"];function xq(e){return yq.test(e)}function _q(e){return vq.test(e)}function wq(e,t,n){const r=Sq(e,t,n);if(console.warn(r),bq.includes(e))throw new RangeError(r)}function Sq(e,t,n){const r=e[0]==="Y"?"years":"days of the month";return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${r} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}const Cq=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,Mq=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,Aq=/^'([^]*?)'?$/,Eq=/''/g,Tq=/[a-zA-Z]/;function Iq(e,t,n){var y,g,b,w,S,C,M,O;const r=Mf(),i=(n==null?void 0:n.locale)??r.locale??uy,s=(n==null?void 0:n.firstWeekContainsDate)??((g=(y=n==null?void 0:n.locale)==null?void 0:y.options)==null?void 0:g.firstWeekContainsDate)??r.firstWeekContainsDate??((w=(b=r.locale)==null?void 0:b.options)==null?void 0:w.firstWeekContainsDate)??1,c=(n==null?void 0:n.weekStartsOn)??((C=(S=n==null?void 0:n.locale)==null?void 0:S.options)==null?void 0:C.weekStartsOn)??r.weekStartsOn??((O=(M=r.locale)==null?void 0:M.options)==null?void 0:O.weekStartsOn)??0,a=Tr(e,n==null?void 0:n.in);if(!OY(a))throw new RangeError("Invalid time value");let d=t.match(Mq).map(I=>{const D=I[0];if(D==="p"||D==="P"){const N=gq[D];return N(I,i.formatLong)}return I}).join("").match(Cq).map(I=>{if(I==="''")return{isToken:!1,value:"'"};const D=I[0];if(D==="'")return{isToken:!1,value:Pq(I)};if(_P[D])return{isToken:!0,value:I};if(D.match(Tq))throw new RangeError("Format string contains an unescaped latin alphabet character `"+D+"`");return{isToken:!1,value:I}});i.localize.preprocessor&&(d=i.localize.preprocessor(a,d));const p={firstWeekContainsDate:s,weekStartsOn:c,locale:i};return d.map(I=>{if(!I.isToken)return I.value;const D=I.value;(!(n!=null&&n.useAdditionalWeekYearTokens)&&_q(D)||!(n!=null&&n.useAdditionalDayOfYearTokens)&&xq(D))&&wq(D,t,String(e));const N=_P[D[0]];return N(a,D,i.localize,p)}).join("")}function Pq(e){const t=e.match(Aq);return t?t[1].replace(Eq,"'"):e}function Oq(e,t){const n=Tr(e,t==null?void 0:t.in),r=n.getFullYear(),i=n.getMonth(),s=ui(n,0);return s.setFullYear(r,i+1,0),s.setHours(0,0,0,0),s.getDate()}function kq(e,t){return+Tr(e)>+Tr(t)}function Dq(e,t){return+Tr(e)<+Tr(t)}function Lq(e,t,n){const[r,i]=Ef(n==null?void 0:n.in,e,t);return r.getFullYear()===i.getFullYear()&&r.getMonth()===i.getMonth()}function Nq(e,t,n){const[r,i]=Ef(n==null?void 0:n.in,e,t);return r.getFullYear()===i.getFullYear()}function Rq(e,t,n){const r=Tr(e,n==null?void 0:n.in),i=r.getFullYear(),s=r.getDate(),c=ui(e,0);c.setFullYear(i,t,15),c.setHours(0,0,0,0);const a=Oq(c);return r.setMonth(t,Math.min(s,a)),r}function jq(e,t,n){const r=Tr(e,n==null?void 0:n.in);return isNaN(+r)?ui(e,NaN):(r.setFullYear(t),r)}const AP=5,Bq=4;function Fq(e,t){const n=t.startOfMonth(e),r=n.getDay()>0?n.getDay():7,i=t.addDays(e,-r+1),s=t.addDays(i,AP*7-1);return e.getMonth()===s.getMonth()?AP:Bq}function EP(e,t){const n=t.startOfMonth(e),r=n.getDay();return r===1?n:r===0?t.addDays(n,-1*6):t.addDays(n,-1*(r-1))}function zq(e,t){const n=EP(e,t),r=Fq(e,t);return t.addDays(n,r*7-1)}class Oo{constructor(t,n){this.Date=Date,this.addDays=(r,i)=>{var s;return(s=this.overrides)!=null&&s.addDays?this.overrides.addDays(r,i):uP(r,i)},this.addMonths=(r,i)=>{var s;return(s=this.overrides)!=null&&s.addMonths?this.overrides.addMonths(r,i):hP(r,i)},this.addWeeks=(r,i)=>{var s;return(s=this.overrides)!=null&&s.addWeeks?this.overrides.addWeeks(r,i):AY(r,i)},this.addYears=(r,i)=>{var s;return(s=this.overrides)!=null&&s.addYears?this.overrides.addYears(r,i):EY(r,i)},this.differenceInCalendarDays=(r,i)=>{var s;return(s=this.overrides)!=null&&s.differenceInCalendarDays?this.overrides.differenceInCalendarDays(r,i):pP(r,i)},this.differenceInCalendarMonths=(r,i)=>{var s;return(s=this.overrides)!=null&&s.differenceInCalendarMonths?this.overrides.differenceInCalendarMonths(r,i):kY(r,i)},this.endOfBroadcastWeek=r=>{var i;return(i=this.overrides)!=null&&i.endOfBroadcastWeek?this.overrides.endOfBroadcastWeek(r,this):zq(r,this)},this.endOfISOWeek=r=>{var i;return(i=this.overrides)!=null&&i.endOfISOWeek?this.overrides.endOfISOWeek(r):RY(r)},this.endOfMonth=r=>{var i;return(i=this.overrides)!=null&&i.endOfMonth?this.overrides.endOfMonth(r):DY(r)},this.endOfWeek=r=>{var i;return(i=this.overrides)!=null&&i.endOfWeek?this.overrides.endOfWeek(r,this.options):yP(r,this.options)},this.endOfYear=r=>{var i;return(i=this.overrides)!=null&&i.endOfYear?this.overrides.endOfYear(r):NY(r)},this.format=(r,i)=>{var s;return(s=this.overrides)!=null&&s.format?this.overrides.format(r,i,this.options):Iq(r,i,this.options)},this.getISOWeek=r=>{var i;return(i=this.overrides)!=null&&i.getISOWeek?this.overrides.getISOWeek(r):vP(r)},this.getWeek=r=>{var i;return(i=this.overrides)!=null&&i.getWeek?this.overrides.getWeek(r,this.options):xP(r,this.options)},this.isAfter=(r,i)=>{var s;return(s=this.overrides)!=null&&s.isAfter?this.overrides.isAfter(r,i):kq(r,i)},this.isBefore=(r,i)=>{var s;return(s=this.overrides)!=null&&s.isBefore?this.overrides.isBefore(r,i):Dq(r,i)},this.isDate=r=>{var i;return(i=this.overrides)!=null&&i.isDate?this.overrides.isDate(r):mP(r)},this.isSameDay=(r,i)=>{var s;return(s=this.overrides)!=null&&s.isSameDay?this.overrides.isSameDay(r,i):PY(r,i)},this.isSameMonth=(r,i)=>{var s;return(s=this.overrides)!=null&&s.isSameMonth?this.overrides.isSameMonth(r,i):Lq(r,i)},this.isSameYear=(r,i)=>{var s;return(s=this.overrides)!=null&&s.isSameYear?this.overrides.isSameYear(r,i):Nq(r,i)},this.max=r=>{var i;return(i=this.overrides)!=null&&i.max?this.overrides.max(r):TY(r)},this.min=r=>{var i;return(i=this.overrides)!=null&&i.min?this.overrides.min(r):IY(r)},this.setMonth=(r,i)=>{var s;return(s=this.overrides)!=null&&s.setMonth?this.overrides.setMonth(r,i):Rq(r,i)},this.setYear=(r,i)=>{var s;return(s=this.overrides)!=null&&s.setYear?this.overrides.setYear(r,i):jq(r,i)},this.startOfBroadcastWeek=r=>{var i;return(i=this.overrides)!=null&&i.startOfBroadcastWeek?this.overrides.startOfBroadcastWeek(r,this):EP(r,this)},this.startOfDay=r=>{var i;return(i=this.overrides)!=null&&i.startOfDay?this.overrides.startOfDay(r):Tf(r)},this.startOfISOWeek=r=>{var i;return(i=this.overrides)!=null&&i.startOfISOWeek?this.overrides.startOfISOWeek(r):Af(r)},this.startOfMonth=r=>{var i;return(i=this.overrides)!=null&&i.startOfMonth?this.overrides.startOfMonth(r):LY(r)},this.startOfWeek=r=>{var i;return(i=this.overrides)!=null&&i.startOfWeek?this.overrides.startOfWeek(r,this.options):rh(r,this.options)},this.startOfYear=r=>{var i;return(i=this.overrides)!=null&&i.startOfYear?this.overrides.startOfYear(r):gP(r)},this.options={locale:uy,...t},this.overrides=n}}const Mc=new Oo;function $q(e,t,n={}){return Object.entries(e).filter(([,i])=>i===!0).reduce((i,[s])=>(n[s]?i.push(n[s]):t[Er[s]]?i.push(t[Er[s]]):t[xs[s]]&&i.push(t[xs[s]]),i),[t[Tn.Day]])}function Vq(e){return X.createElement("button",{...e})}function Gq(e){return X.createElement("span",{...e})}function Wq(e){const{size:t=24,orientation:n="left",className:r}=e;return X.createElement("svg",{className:r,width:t,height:t,viewBox:"0 0 24 24"},n==="up"&&X.createElement("polygon",{points:"6.77 17 12.5 11.43 18.24 17 20 15.28 12.5 8 5 15.28"}),n==="down"&&X.createElement("polygon",{points:"6.77 8 12.5 13.57 18.24 8 20 9.72 12.5 17 5 9.72"}),n==="left"&&X.createElement("polygon",{points:"16 18.112 9.81111111 12 16 5.87733333 14.0888889 4 6 12 14.0888889 20"}),n==="right"&&X.createElement("polygon",{points:"8 18.612 14.1888889 12.5 8 6.37733333 9.91111111 4.5 18 12.5 9.91111111 20.5"}))}function Uq(e){const{day:t,modifiers:n,...r}=e;return X.createElement("td",{...r})}function Hq(e){const{day:t,modifiers:n,...r}=e,i=X.useRef(null);return X.useEffect(()=>{var s;n.focused&&((s=i.current)==null||s.focus())},[n.focused]),X.createElement("button",{ref:i,...r})}function Xq(e){const{options:t,className:n,components:r,classNames:i,...s}=e,c=[i[Tn.Dropdown],n].join(" "),a=t==null?void 0:t.find(({value:d})=>d===s.value);return X.createElement("span",{"data-disabled":s.disabled,className:i[Tn.DropdownRoot]},X.createElement(r.Select,{className:c,...s},t==null?void 0:t.map(({value:d,label:p,disabled:y})=>X.createElement(r.Option,{key:d,value:d,disabled:y},p))),X.createElement("span",{className:i[Tn.CaptionLabel],"aria-hidden":!0},a==null?void 0:a.label,X.createElement(r.Chevron,{orientation:"down",size:18,className:i[Tn.Chevron]})))}function Zq(e){return X.createElement("div",{...e})}function Yq(e){return X.createElement("div",{...e})}function qq(e){const{calendarMonth:t,displayIndex:n,...r}=e;return X.createElement("div",{...r},e.children)}function Jq(e){const{calendarMonth:t,displayIndex:n,...r}=e;return X.createElement("div",{...r})}function Kq(e){return X.createElement("table",{...e})}function Qq(e){return X.createElement("div",{...e})}const TP=X.createContext(void 0);function Of(){const e=X.useContext(TP);if(e===void 0)throw new Error("useDayPicker() must be used within a custom component.");return e}function eJ(e){const{components:t}=Of();return X.createElement(t.Dropdown,{...e})}function tJ(e){const{onPreviousClick:t,onNextClick:n,previousMonth:r,nextMonth:i,...s}=e,{components:c,classNames:a,labels:{labelPrevious:d,labelNext:p}}=Of();return X.createElement("nav",{...s},X.createElement(c.PreviousMonthButton,{type:"button",className:a[Tn.PreviousMonthButton],tabIndex:r?void 0:-1,disabled:r?void 0:!0,"aria-label":d(r),onClick:e.onPreviousClick},X.createElement(c.Chevron,{disabled:r?void 0:!0,className:a[Tn.Chevron],orientation:"left"})),X.createElement(c.NextMonthButton,{type:"button",className:a[Tn.NextMonthButton],tabIndex:i?void 0:-1,disabled:i?void 0:!0,"aria-label":p(i),onClick:e.onNextClick},X.createElement(c.Chevron,{disabled:i?void 0:!0,orientation:"right",className:a[Tn.Chevron]})))}function nJ(e){const{components:t}=Of();return X.createElement(t.Button,{...e})}function rJ(e){return X.createElement("option",{...e})}function iJ(e){const{components:t}=Of();return X.createElement(t.Button,{...e})}function aJ(e){return X.createElement("div",{...e})}function sJ(e){return X.createElement("select",{...e})}function oJ(e){const{week:t,...n}=e;return X.createElement("tr",{...n})}function lJ(e){return X.createElement("th",{...e})}function cJ(e){return X.createElement("thead",{"aria-hidden":!0},X.createElement("tr",{...e}))}function uJ(e){const{week:t,...n}=e;return X.createElement("th",{...n})}function hJ(e){return X.createElement("th",{...e})}function dJ(e){return X.createElement("tbody",{...e})}function fJ(e){const{components:t}=Of();return X.createElement(t.Dropdown,{...e})}const pJ=Object.freeze(Object.defineProperty({__proto__:null,Button:Vq,CaptionLabel:Gq,Chevron:Wq,Day:Uq,DayButton:Hq,Dropdown:Xq,DropdownNav:Zq,Footer:Yq,Month:qq,MonthCaption:Jq,MonthGrid:Kq,Months:Qq,MonthsDropdown:eJ,Nav:tJ,NextMonthButton:nJ,Option:rJ,PreviousMonthButton:iJ,Root:aJ,Select:sJ,Week:oJ,WeekNumber:uJ,WeekNumberHeader:hJ,Weekday:lJ,Weekdays:cJ,Weeks:dJ,YearsDropdown:fJ},Symbol.toStringTag,{value:"Module"}));function mJ(e){return{...pJ,...e}}function gJ(e){const t={"data-mode":e.mode??void 0,"data-required":"required"in e?e.required:void 0,"data-multiple-months":e.numberOfMonths&&e.numberOfMonths>1||void 0,"data-week-numbers":e.showWeekNumber||void 0,"data-broadcast-calendar":e.broadcastCalendar||void 0};return Object.entries(e).forEach(([n,r])=>{n.startsWith("data-")&&(t[n]=r)}),t}function yJ(){const e={};for(const t in Tn)e[Tn[t]]=`rdp-${Tn[t]}`;for(const t in Er)e[Er[t]]=`rdp-${Er[t]}`;for(const t in xs)e[xs[t]]=`rdp-${xs[t]}`;return e}function IP(e,t,n){return(n??new Oo(t)).format(e,"LLLL y")}const vJ=IP;function bJ(e,t,n){return(n??new Oo(t)).format(e,"d")}function xJ(e,t){var n;return(n=t.localize)==null?void 0:n.month(e)}function _J(e){return e<10?`0${e.toLocaleString()}`:`${e.toLocaleString()}`}function wJ(){return""}function SJ(e,t,n){return(n??new Oo(t)).format(e,"cccccc")}function PP(e){return e.toString()}const CJ=Object.freeze(Object.defineProperty({__proto__:null,formatCaption:IP,formatDay:bJ,formatMonthCaption:vJ,formatMonthDropdown:xJ,formatWeekNumber:_J,formatWeekNumberHeader:wJ,formatWeekdayName:SJ,formatYearCaption:PP,formatYearDropdown:PP},Symbol.toStringTag,{value:"Module"}));function MJ(e){return e!=null&&e.formatMonthCaption&&!e.formatCaption&&(e.formatCaption=e.formatMonthCaption),e!=null&&e.formatYearCaption&&!e.formatYearDropdown&&(e.formatYearDropdown=e.formatYearCaption),{...CJ,...e}}function AJ(e,t,n,r,i){if(!t||!n)return;const{addMonths:s,startOfMonth:c}=i,a=e.getFullYear(),d=[];let p=t;for(;d.length<12;)d.push(p.getMonth()),p=s(p,1);return d.sort((b,w)=>b-w).map(b=>{const w=r.formatMonthDropdown(b,i.options.locale??uy),S=i.Date?new i.Date(a,b):new Date(a,b),C=t&&S<c(t)||n&&S>c(n)||!1;return{value:b,label:w,disabled:C}})}function EJ(e,t={},n={}){let r={...t==null?void 0:t[Tn.Day]};return Object.entries(e).filter(([,i])=>i===!0).forEach(([i])=>{r={...r,...n==null?void 0:n[i]}}),r}const k1={},kf={};function Df(e,t){try{const r=(k1[e]||(k1[e]=new Intl.DateTimeFormat("en-GB",{timeZone:e,hour:"numeric",timeZoneName:"longOffset"}).format))(t).split("GMT")[1]||"";return r in kf?kf[r]:OP(r,r.split(":"))}catch{if(e in kf)return kf[e];const n=e==null?void 0:e.match(TJ);return n?OP(e,n.slice(1)):NaN}}const TJ=/([+-]\d\d):?(\d\d)?/;function OP(e,t){const n=+t[0],r=+(t[1]||0);return kf[e]=n>0?n*60+r:n*60-r}class Ys extends Date{constructor(...t){super(),t.length>1&&typeof t[t.length-1]=="string"&&(this.timeZone=t.pop()),this.internal=new Date,isNaN(Df(this.timeZone,this))?this.setTime(NaN):t.length?typeof t[0]=="number"&&(t.length===1||t.length===2&&typeof t[1]!="number")?this.setTime(t[0]):typeof t[0]=="string"?this.setTime(+new Date(t[0])):t[0]instanceof Date?this.setTime(+t[0]):(this.setTime(+new Date(...t)),DP(this),D1(this)):this.setTime(Date.now())}static tz(t,...n){return n.length?new Ys(...n,t):new Ys(Date.now(),t)}withTimeZone(t){return new Ys(+this,t)}getTimezoneOffset(){return-Df(this.timeZone,this)}setTime(t){return Date.prototype.setTime.apply(this,arguments),D1(this),+this}[Symbol.for("constructDateFrom")](t){return new Ys(+new Date(t),this.timeZone)}}const kP=/^(get|set)(?!UTC)/;Object.getOwnPropertyNames(Date.prototype).forEach(e=>{if(!kP.test(e))return;const t=e.replace(kP,"$1UTC");Ys.prototype[t]&&(e.startsWith("get")?Ys.prototype[e]=function(){return this.internal[t]()}:(Ys.prototype[e]=function(){return Date.prototype[t].apply(this.internal,arguments),IJ(this),+this},Ys.prototype[t]=function(){return Date.prototype[t].apply(this,arguments),D1(this),+this}))});function D1(e){e.internal.setTime(+e),e.internal.setUTCMinutes(e.internal.getUTCMinutes()-e.getTimezoneOffset())}function IJ(e){Date.prototype.setFullYear.call(e,e.internal.getUTCFullYear(),e.internal.getUTCMonth(),e.internal.getUTCDate()),Date.prototype.setHours.call(e,e.internal.getUTCHours(),e.internal.getUTCMinutes(),e.internal.getUTCSeconds(),e.internal.getUTCMilliseconds()),DP(e)}function DP(e){const t=Df(e.timeZone,e),n=new Date(+e);n.setUTCHours(n.getUTCHours()-1);const r=-new Date(+e).getTimezoneOffset(),i=-new Date(+n).getTimezoneOffset(),s=r-i,c=Date.prototype.getHours.apply(e)!==e.internal.getUTCHours();s&&c&&e.internal.setUTCMinutes(e.internal.getUTCMinutes()+s);const a=r-t;a&&Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+a);const d=Df(e.timeZone,e),y=-new Date(+e).getTimezoneOffset()-d,g=d!==t,b=y-a;if(g&&b){Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+b);const w=Df(e.timeZone,e),S=d-w;S&&(e.internal.setUTCMinutes(e.internal.getUTCMinutes()+S),Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+S))}}class qs extends Ys{static tz(t,...n){return n.length?new qs(...n,t):new qs(Date.now(),t)}toISOString(){const[t,n,r]=this.tzComponents(),i=`${t}${n}:${r}`;return this.internal.toISOString().slice(0,-1)+i}toString(){return`${this.toDateString()} ${this.toTimeString()}`}toDateString(){const[t,n,r,i]=this.internal.toUTCString().split(" ");return`${t==null?void 0:t.slice(0,-1)} ${r} ${n} ${i}`}toTimeString(){const t=this.internal.toUTCString().split(" ")[4],[n,r,i]=this.tzComponents();return`${t} GMT${n}${r}${i} (${PJ(this.timeZone,this)})`}toLocaleString(t,n){return Date.prototype.toLocaleString.call(this,t,{...n,timeZone:(n==null?void 0:n.timeZone)||this.timeZone})}toLocaleDateString(t,n){return Date.prototype.toLocaleDateString.call(this,t,{...n,timeZone:(n==null?void 0:n.timeZone)||this.timeZone})}toLocaleTimeString(t,n){return Date.prototype.toLocaleTimeString.call(this,t,{...n,timeZone:(n==null?void 0:n.timeZone)||this.timeZone})}tzComponents(){const t=this.getTimezoneOffset(),n=t>0?"-":"+",r=String(Math.floor(Math.abs(t)/60)).padStart(2,"0"),i=String(Math.abs(t)%60).padStart(2,"0");return[n,r,i]}withTimeZone(t){return new qs(+this,t)}[Symbol.for("constructDateFrom")](t){return new qs(+new Date(t),this.timeZone)}}function PJ(e,t){return new Intl.DateTimeFormat("en-GB",{timeZone:e,timeZoneName:"long"}).format(t).slice(12)}function OJ(e,t,n,r){const i=n?qs.tz(n):e.Date?new e.Date:new Date,s=t?e.startOfISOWeek(i):e.startOfWeek(i),c=[];for(let a=0;a<7;a++){const d=e.addDays(s,a);c.push(d)}return c}function kJ(e,t,n,r){if(!e||!t)return;const{startOfYear:i,endOfYear:s,addYears:c,isBefore:a,isSameYear:d}=r,p=i(e),y=s(t),g=[];let b=p;for(;a(b,y)||d(b,y);)g.push(b.getFullYear()),b=c(b,1);return g.map(w=>{const S=n.formatYearDropdown(w);return{value:w,label:S,disabled:!1}})}function LP(e,t,n){return(n??new Oo(t)).format(e,"LLLL y")}const DJ=LP;function LJ(e,t,n,r){let i=(r??new Oo(n)).format(e,"PPPP");return t!=null&&t.today&&(i=`Today, ${i}`),i}function NP(e,t,n,r){let i=(r??new Oo(n)).format(e,"PPPP");return t.today&&(i=`Today, ${i}`),t.selected&&(i=`${i}, selected`),i}const NJ=NP;function RJ(){return""}function jJ(e){return"Choose the Month"}function BJ(e){return"Go to the Next Month"}function FJ(e){return"Go to the Previous Month"}function zJ(e,t,n){return(n??new Oo(t)).format(e,"cccc")}function $J(e,t){return`Week ${e}`}function VJ(e){return"Week Number"}function GJ(e){return"Choose the Year"}const WJ=Object.freeze(Object.defineProperty({__proto__:null,labelCaption:DJ,labelDay:NJ,labelDayButton:NP,labelGrid:LP,labelGridcell:LJ,labelMonthDropdown:jJ,labelNav:RJ,labelNext:BJ,labelPrevious:FJ,labelWeekNumber:$J,labelWeekNumberHeader:VJ,labelWeekday:zJ,labelYearDropdown:GJ},Symbol.toStringTag,{value:"Module"}));function UJ(e,t,n,r){const i=e[0],s=e[e.length-1],{ISOWeek:c,fixedWeeks:a,broadcastCalendar:d}=n??{},{addDays:p,differenceInCalendarDays:y,differenceInCalendarMonths:g,endOfBroadcastWeek:b,endOfISOWeek:w,endOfMonth:S,endOfWeek:C,isAfter:M,startOfBroadcastWeek:O,startOfISOWeek:I,startOfWeek:D}=r,N=d?O(i,r):c?I(i):D(i),k=d?b(s,r):c?w(S(s)):C(S(s)),L=y(k,N),B=g(s,i)+1,q=[];for(let $=0;$<=L;$++){const Y=p(N,$);if(t&&M(Y,t))break;q.push(Y)}const re=(d?35:42)*B;if(a&&q.length<re){const $=re-q.length;for(let Y=0;Y<$;Y++){const G=p(q[q.length-1],1);q.push(G)}}return q}function HJ(e){const t=[];return e.reduce((n,r)=>{const i=[],s=r.weeks.reduce((c,a)=>[...c,...a.days],i);return[...n,...s]},t)}function XJ(e,t,n,r){const{numberOfMonths:i=1}=n,s=[];for(let c=0;c<i;c++){const a=r.addMonths(e,c);if(t&&a>t)break;s.push(a)}return s}function RP(e,t){const{month:n,defaultMonth:r,today:i=e.timeZone?qs.tz(e.timeZone):t.Date?new t.Date:new Date,numberOfMonths:s=1,endMonth:c,startMonth:a}=e;let d=n||r||i;const{differenceInCalendarMonths:p,addMonths:y,startOfMonth:g}=t;if(c&&p(c,d)<0){const b=-1*(s-1);d=y(c,b)}return a&&p(d,a)<0&&(d=a),g(d)}class jP{constructor(t,n,r=Mc){this.date=t,this.displayMonth=n,this.outside=!!(n&&!r.isSameMonth(t,n)),this.dateLib=r}isEqualTo(t){return this.dateLib.isSameDay(t.date,this.date)&&this.dateLib.isSameMonth(t.displayMonth,this.displayMonth)}}class ZJ{constructor(t,n){this.date=t,this.weeks=n}}class YJ{constructor(t,n){this.days=n,this.weekNumber=t}}function qJ(e,t,n,r){const{addDays:i,endOfBroadcastWeek:s,endOfISOWeek:c,endOfMonth:a,endOfWeek:d,getISOWeek:p,getWeek:y,startOfBroadcastWeek:g,startOfISOWeek:b,startOfWeek:w}=r,S=e.reduce((C,M)=>{const O=n.broadcastCalendar?g(M,r):n.ISOWeek?b(M):w(M),I=n.broadcastCalendar?s(M,r):n.ISOWeek?c(a(M)):d(a(M)),D=t.filter(B=>B>=O&&B<=I),N=n.broadcastCalendar?35:42;if(n.fixedWeeks&&D.length<N){const B=t.filter(q=>{const ne=N-D.length;return q>I&&q<=i(I,ne)});D.push(...B)}const k=D.reduce((B,q)=>{const ne=n.ISOWeek?p(q):y(q),re=B.find(Y=>Y.weekNumber===ne),$=new jP(q,M,r);return re?re.days.push($):B.push(new YJ(ne,[$])),B},[]),L=new ZJ(M,k);return C.push(L),C},[]);return n.reverseMonths?S.reverse():S}function JJ(e,t){var C;let{startMonth:n,endMonth:r}=e;const{startOfYear:i,startOfDay:s,startOfMonth:c,endOfMonth:a,addYears:d,endOfYear:p}=t,{fromYear:y,toYear:g,fromMonth:b,toMonth:w}=e;!n&&b&&(n=b),!n&&y&&(n=new Date(y,0,1)),!r&&w&&(r=w),!r&&g&&(r=new Date(g,11,31));const S=(C=e.captionLayout)==null?void 0:C.startsWith("dropdown");if(n)n=c(n);else if(y)n=new Date(y,0,1);else if(!n&&S){const M=e.today??(e.timeZone?qs.tz(e.timeZone):t.Date?new t.Date:new Date);n=i(d(M,-100))}if(r)r=a(r);else if(g)r=new Date(g,11,31);else if(!r&&S){const M=e.today??(e.timeZone?qs.tz(e.timeZone):t.Date?new t.Date:new Date);r=p(M)}return[n&&s(n),r&&s(r)]}function KJ(e,t,n,r){if(n.disableNavigation)return;const{pagedNavigation:i,numberOfMonths:s=1}=n,{startOfMonth:c,addMonths:a,differenceInCalendarMonths:d}=r,p=i?s:1,y=c(e);if(!t)return a(y,p);if(!(d(t,e)<s))return a(y,p)}function QJ(e,t,n,r){if(n.disableNavigation)return;const{pagedNavigation:i,numberOfMonths:s}=n,{startOfMonth:c,addMonths:a,differenceInCalendarMonths:d}=r,p=i?s??1:1,y=c(e);if(!t)return a(y,-p);if(!(d(y,t)<=0))return a(y,-p)}function eK(e){const t=[];return e.reduce((n,r)=>[...n,...r.weeks],t)}function hy(e,t){const[n,r]=X.useState(e);return[t===void 0?n:t,r]}function tK(e,t){const[n,r]=JJ(e,t),{startOfMonth:i,endOfMonth:s}=t,c=RP(e,t),[a,d]=hy(c,e.month?i(e.month):void 0);X.useEffect(()=>{const L=RP(e,t);d(L)},[e.timeZone]);const p=XJ(a,r,e,t),y=UJ(p,e.endMonth?s(e.endMonth):void 0,e,t),g=qJ(p,y,e,t),b=eK(g),w=HJ(g),S=QJ(a,n,e,t),C=KJ(a,r,e,t),{disableNavigation:M,onMonthChange:O}=e,I=L=>b.some(B=>B.days.some(q=>q.isEqualTo(L))),D=L=>{if(M)return;let B=i(L);n&&B<i(n)&&(B=i(n)),r&&B>i(r)&&(B=i(r)),d(B),O==null||O(B)};return{months:g,weeks:b,days:w,navStart:n,navEnd:r,previousMonth:S,nextMonth:C,goToMonth:D,goToDay:L=>{I(L)||D(L.date)}}}function nK(e,t,n,r){let i,s=0,c=!1;for(;s<e.length&&!c;){const a=e[s],d=t(a);!d[Er.disabled]&&!d[Er.hidden]&&!d[Er.outside]&&(d[Er.focused]||r!=null&&r.isEqualTo(a)||n(a.date)||d[Er.today])&&(i=a,c=!0),s++}return i||(i=e.find(a=>{const d=t(a);return!d[Er.disabled]&&!d[Er.hidden]&&!d[Er.outside]})),i}function ko(e,t,n=!1,r=Mc){let{from:i,to:s}=e;const{differenceInCalendarDays:c,isSameDay:a}=r;return i&&s?(c(s,i)<0&&([i,s]=[s,i]),c(t,i)>=(n?1:0)&&c(s,t)>=(n?1:0)):!n&&s?a(s,t):!n&&i?a(i,t):!1}function BP(e){return!!(e&&typeof e=="object"&&"before"in e&&"after"in e)}function L1(e){return!!(e&&typeof e=="object"&&"from"in e)}function FP(e){return!!(e&&typeof e=="object"&&"after"in e)}function zP(e){return!!(e&&typeof e=="object"&&"before"in e)}function $P(e){return!!(e&&typeof e=="object"&&"dayOfWeek"in e)}function VP(e,t){return Array.isArray(e)&&e.every(t.isDate)}function Do(e,t,n=Mc){const r=Array.isArray(t)?t:[t],{isSameDay:i,differenceInCalendarDays:s,isAfter:c}=n;return r.some(a=>{if(typeof a=="boolean")return a;if(n.isDate(a))return i(e,a);if(VP(a,n))return a.includes(e);if(L1(a))return ko(a,e,!1,n);if($P(a))return Array.isArray(a.dayOfWeek)?a.dayOfWeek.includes(e.getDay()):a.dayOfWeek===e.getDay();if(BP(a)){const d=s(a.before,e),p=s(a.after,e),y=d>0,g=p<0;return c(a.before,a.after)?g&&y:y||g}return FP(a)?s(e,a.after)>0:zP(a)?s(a.before,e)>0:typeof a=="function"?a(e):!1})}function rK(e,t,n,r,i,s,c){const{ISOWeek:a,broadcastCalendar:d}=s,{addDays:p,addMonths:y,addWeeks:g,addYears:b,endOfBroadcastWeek:w,endOfISOWeek:S,endOfWeek:C,max:M,min:O,startOfBroadcastWeek:I,startOfISOWeek:D,startOfWeek:N}=c;let L={day:p,week:g,month:y,year:b,startOfWeek:B=>d?I(B,c):a?D(B):N(B),endOfWeek:B=>d?w(B,c):a?S(B):C(B)}[e](n,t==="after"?1:-1);return t==="before"&&r?L=M([r,L]):t==="after"&&i&&(L=O([i,L])),L}function GP(e,t,n,r,i,s,c,a=0){if(a>365)return;const d=rK(e,t,n.date,r,i,s,c),p=!!(s.disabled&&Do(d,s.disabled,c)),y=!!(s.hidden&&Do(d,s.hidden,c)),g=d,b=new jP(d,g,c);return!p&&!y?b:GP(e,t,b,r,i,s,c,a+1)}function iK(e,t,n,r,i){const{autoFocus:s}=e,[c,a]=X.useState(),d=nK(t.days,n,r||(()=>!1),c),[p,y]=X.useState(s?d:void 0);return{isFocusTarget:C=>!!(d!=null&&d.isEqualTo(C)),setFocused:y,focused:p,blur:()=>{a(p),y(void 0)},moveFocus:(C,M)=>{if(!p)return;const O=GP(C,M,p,t.navStart,t.navEnd,e,i);O&&(t.goToDay(O),y(O))}}}function aK(e,t,n){const{disabled:r,hidden:i,modifiers:s,showOutsideDays:c,broadcastCalendar:a,today:d}=t,{isSameDay:p,isSameMonth:y,startOfMonth:g,isBefore:b,endOfMonth:w,isAfter:S}=n,C=t.startMonth&&g(t.startMonth),M=t.endMonth&&w(t.endMonth),O={[Er.focused]:[],[Er.outside]:[],[Er.disabled]:[],[Er.hidden]:[],[Er.today]:[]},I={};for(const D of e){const{date:N,displayMonth:k}=D,L=!!(k&&!y(N,k)),B=!!(C&&b(N,C)),q=!!(M&&S(N,M)),ne=!!(r&&Do(N,r,n)),re=!!(i&&Do(N,i,n))||B||q||!a&&!c&&L||a&&c===!1&&L,$=p(N,d??(t.timeZone?qs.tz(t.timeZone):n.Date?new n.Date:new Date));L&&O.outside.push(D),ne&&O.disabled.push(D),re&&O.hidden.push(D),$&&O.today.push(D),s&&Object.keys(s).forEach(Y=>{const G=s==null?void 0:s[Y];G&&Do(N,G,n)&&(I[Y]?I[Y].push(D):I[Y]=[D])})}return D=>{const N={[Er.focused]:!1,[Er.disabled]:!1,[Er.hidden]:!1,[Er.outside]:!1,[Er.today]:!1},k={};for(const L in O){const B=O[L];N[L]=B.some(q=>q===D)}for(const L in I)k[L]=I[L].some(B=>B===D);return{...N,...k}}}function sK(e,t){const{selected:n,required:r,onSelect:i}=e,[s,c]=hy(n,i?n:void 0),a=i?n:s,{isSameDay:d}=t,p=w=>(a==null?void 0:a.some(S=>d(S,w)))??!1,{min:y,max:g}=e;return{selected:a,select:(w,S,C)=>{let M=[...a??[]];if(p(w)){if((a==null?void 0:a.length)===y||r&&(a==null?void 0:a.length)===1)return;M=a==null?void 0:a.filter(O=>!d(O,w))}else(a==null?void 0:a.length)===g?M=[w]:M=[...M,w];return i||c(M),i==null||i(M,w,S,C),M},isSelected:p}}function oK(e,t,n=0,r=0,i=!1,s=Mc){const{from:c,to:a}=t||{},{isSameDay:d,isAfter:p,isBefore:y}=s;let g;if(!c&&!a)g={from:e,to:n>0?void 0:e};else if(c&&!a)d(c,e)?i?g={from:c,to:void 0}:g=void 0:y(e,c)?g={from:e,to:c}:g={from:c,to:e};else if(c&&a)if(d(c,e)&&d(a,e))i?g={from:c,to:a}:g=void 0;else if(d(c,e))g={from:c,to:n>0?void 0:e};else if(d(a,e))g={from:e,to:n>0?void 0:e};else if(y(e,c))g={from:e,to:a};else if(p(e,c))g={from:c,to:e};else if(p(e,a))g={from:c,to:e};else throw new Error("Invalid range");if(g!=null&&g.from&&(g!=null&&g.to)){const b=s.differenceInCalendarDays(g.to,g.from);r>0&&b>r?g={from:e,to:void 0}:n>1&&b<n&&(g={from:e,to:void 0})}return g}function lK(e,t,n=Mc){const r=Array.isArray(t)?t:[t];let i=e.from;const s=n.differenceInCalendarDays(e.to,e.from),c=Math.min(s,6);for(let a=0;a<=c;a++){if(r.includes(i.getDay()))return!0;i=n.addDays(i,1)}return!1}function WP(e,t,n=Mc){return ko(e,t.from,!1,n)||ko(e,t.to,!1,n)||ko(t,e.from,!1,n)||ko(t,e.to,!1,n)}function cK(e,t,n=Mc){const r=Array.isArray(t)?t:[t];if(r.filter(a=>typeof a!="function").some(a=>typeof a=="boolean"?a:n.isDate(a)?ko(e,a,!1,n):VP(a,n)?a.some(d=>ko(e,d,!1,n)):L1(a)?a.from&&a.to?WP(e,{from:a.from,to:a.to},n):!1:$P(a)?lK(e,a.dayOfWeek,n):BP(a)?n.isAfter(a.before,a.after)?WP(e,{from:n.addDays(a.after,1),to:n.addDays(a.before,-1)},n):Do(e.from,a,n)||Do(e.to,a,n):FP(a)||zP(a)?Do(e.from,a,n)||Do(e.to,a,n):!1))return!0;const c=r.filter(a=>typeof a=="function");if(c.length){let a=e.from;const d=n.differenceInCalendarDays(e.to,e.from);for(let p=0;p<=d;p++){if(c.some(y=>y(a)))return!0;a=n.addDays(a,1)}}return!1}function uK(e,t){const{disabled:n,excludeDisabled:r,selected:i,required:s,onSelect:c}=e,[a,d]=hy(i,c?i:void 0),p=c?i:a;return{selected:p,select:(b,w,S)=>{const{min:C,max:M}=e,O=b?oK(b,p,C,M,s,t):void 0;return r&&n&&(O!=null&&O.from)&&O.to&&cK({from:O.from,to:O.to},n,t)&&(O.from=b,O.to=void 0),c||d(O),c==null||c(O,b,w,S),O},isSelected:b=>p&&ko(p,b,!1,t)}}function hK(e,t){const{selected:n,required:r,onSelect:i}=e,[s,c]=hy(n,i?n:void 0),a=i?n:s,{isSameDay:d}=t;return{selected:a,select:(g,b,w)=>{let S=g;return!r&&a&&a&&d(g,a)&&(S=void 0),i||c(S),i==null||i(S,g,b,w),S},isSelected:g=>a?d(a,g):!1}}function dK(e,t){const n=hK(e,t),r=sK(e,t),i=uK(e,t);switch(e.mode){case"single":return n;case"multiple":return r;case"range":return i;default:return}}function fK(e){const{components:t,formatters:n,labels:r,dateLib:i,locale:s,classNames:c}=X.useMemo(()=>{const pt={...uy,...e.locale};return{dateLib:new Oo({locale:pt,weekStartsOn:e.broadcastCalendar?1:e.weekStartsOn,firstWeekContainsDate:e.firstWeekContainsDate,useAdditionalWeekYearTokens:e.useAdditionalWeekYearTokens,useAdditionalDayOfYearTokens:e.useAdditionalDayOfYearTokens},e.dateLib),components:mJ(e.components),formatters:MJ(e.formatters),labels:{...WJ,...e.labels},locale:pt,classNames:{...yJ(),...e.classNames}}},[e.classNames,e.components,e.dateLib,e.firstWeekContainsDate,e.formatters,e.labels,e.locale,e.useAdditionalDayOfYearTokens,e.useAdditionalWeekYearTokens,e.weekStartsOn,e.broadcastCalendar]),{captionLayout:a,mode:d,onDayBlur:p,onDayClick:y,onDayFocus:g,onDayKeyDown:b,onDayMouseEnter:w,onDayMouseLeave:S,onNextClick:C,onPrevClick:M,showWeekNumber:O,styles:I}=e,{formatCaption:D,formatDay:N,formatMonthDropdown:k,formatWeekNumber:L,formatWeekNumberHeader:B,formatWeekdayName:q,formatYearDropdown:ne}=n,re=tK(e,i),{days:$,months:Y,navStart:G,navEnd:j,previousMonth:R,nextMonth:Z,goToMonth:U}=re,ie=aK($,e,i),{isSelected:ae,select:K,selected:pe}=dK(e,i)??{},{blur:xe,focused:se,isFocusTarget:ge,moveFocus:Se,setFocused:Ae}=iK(e,re,ie,ae??(()=>!1),i),{labelDayButton:$e,labelGridcell:le,labelGrid:te,labelMonthDropdown:fe,labelNav:Me,labelWeekday:H,labelWeekNumber:de,labelWeekNumberHeader:oe,labelYearDropdown:_e}=r,ce=X.useMemo(()=>OJ(i,e.ISOWeek,e.timeZone),[i,e.ISOWeek,e.timeZone]),Oe=d!==void 0||y!==void 0,Be=X.useCallback(()=>{R&&(U(R),M==null||M(R))},[R,U,M]),Re=X.useCallback(()=>{Z&&(U(Z),C==null||C(Z))},[U,Z,C]),He=X.useCallback((pt,Ke)=>mt=>{mt.preventDefault(),mt.stopPropagation(),Ae(pt),K==null||K(pt.date,Ke,mt),y==null||y(pt.date,Ke,mt)},[K,y,Ae]),ct=X.useCallback((pt,Ke)=>mt=>{Ae(pt),g==null||g(pt.date,Ke,mt)},[g,Ae]),at=X.useCallback((pt,Ke)=>mt=>{xe(),p==null||p(pt.date,Ke,mt)},[xe,p]),ke=X.useCallback((pt,Ke)=>mt=>{const wt={ArrowLeft:["day",e.dir==="rtl"?"after":"before"],ArrowRight:["day",e.dir==="rtl"?"before":"after"],ArrowDown:["week","after"],ArrowUp:["week","before"],PageUp:[mt.shiftKey?"year":"month","before"],PageDown:[mt.shiftKey?"year":"month","after"],Home:["startOfWeek","before"],End:["endOfWeek","after"]};if(wt[mt.key]){mt.preventDefault(),mt.stopPropagation();const[Pt,kt]=wt[mt.key];Se(Pt,kt)}b==null||b(pt.date,Ke,mt)},[Se,b,e.dir]),Te=X.useCallback((pt,Ke)=>mt=>{w==null||w(pt.date,Ke,mt)},[w]),Le=X.useCallback((pt,Ke)=>mt=>{S==null||S(pt.date,Ke,mt)},[S]),ze=X.useCallback(pt=>Ke=>{const mt=Number(Ke.target.value),wt=i.setMonth(i.startOfMonth(pt),mt);U(wt)},[i,U]),Qe=X.useCallback(pt=>Ke=>{const mt=Number(Ke.target.value),wt=i.setYear(i.startOfMonth(pt),mt);U(wt)},[i,U]),{className:Ve,style:it}=X.useMemo(()=>({className:[c[Tn.Root],e.className].filter(Boolean).join(" "),style:{...I==null?void 0:I[Tn.Root],...e.style}}),[c,e.className,e.style,I]),ot=gJ(e),ft={dayPickerProps:e,selected:pe,select:K,isSelected:ae,months:Y,nextMonth:Z,previousMonth:R,goToMonth:U,getModifiers:ie,components:t,classNames:c,styles:I,labels:r,formatters:n};return X.createElement(TP.Provider,{value:ft},X.createElement(t.Root,{className:Ve,style:it,dir:e.dir,id:e.id,lang:e.lang,nonce:e.nonce,title:e.title,role:e.role,"aria-label":e["aria-label"],...ot},X.createElement(t.Months,{className:c[Tn.Months],style:I==null?void 0:I[Tn.Months]},!e.hideNavigation&&X.createElement(t.Nav,{className:c[Tn.Nav],style:I==null?void 0:I[Tn.Nav],"aria-label":Me(),onPreviousClick:Be,onNextClick:Re,previousMonth:R,nextMonth:Z}),Y.map((pt,Ke)=>{const mt=AJ(pt.date,G,j,n,i),wt=kJ(G,j,n,i);return X.createElement(t.Month,{className:c[Tn.Month],style:I==null?void 0:I[Tn.Month],key:Ke,displayIndex:Ke,calendarMonth:pt},X.createElement(t.MonthCaption,{className:c[Tn.MonthCaption],style:I==null?void 0:I[Tn.MonthCaption],calendarMonth:pt,displayIndex:Ke},a!=null&&a.startsWith("dropdown")?X.createElement(t.DropdownNav,{className:c[Tn.Dropdowns],style:I==null?void 0:I[Tn.Dropdowns]},a==="dropdown"||a==="dropdown-months"?X.createElement(t.MonthsDropdown,{className:c[Tn.MonthsDropdown],"aria-label":fe(),classNames:c,components:t,disabled:!!e.disableNavigation,onChange:ze(pt.date),options:mt,style:I==null?void 0:I[Tn.Dropdown],value:pt.date.getMonth()}):X.createElement("span",{role:"status","aria-live":"polite"},k(pt.date.getMonth(),s)),a==="dropdown"||a==="dropdown-years"?X.createElement(t.YearsDropdown,{className:c[Tn.YearsDropdown],"aria-label":_e(i.options),classNames:c,components:t,disabled:!!e.disableNavigation,onChange:Qe(pt.date),options:wt,style:I==null?void 0:I[Tn.Dropdown],value:pt.date.getFullYear()}):X.createElement("span",{role:"status","aria-live":"polite"},ne(pt.date.getFullYear()))):X.createElement(t.CaptionLabel,{className:c[Tn.CaptionLabel],role:"status","aria-live":"polite"},D(pt.date,i.options,i))),X.createElement(t.MonthGrid,{role:"grid","aria-multiselectable":d==="multiple"||d==="range","aria-label":te(pt.date,i.options,i)||void 0,className:c[Tn.MonthGrid],style:I==null?void 0:I[Tn.MonthGrid]},!e.hideWeekdays&&X.createElement(t.Weekdays,{className:c[Tn.Weekdays],style:I==null?void 0:I[Tn.Weekdays]},O&&X.createElement(t.WeekNumberHeader,{"aria-label":oe(i.options),className:c[Tn.WeekNumberHeader],style:I==null?void 0:I[Tn.WeekNumberHeader],scope:"col"},B()),ce.map((Pt,kt)=>X.createElement(t.Weekday,{"aria-label":H(Pt,i.options,i),className:c[Tn.Weekday],key:kt,style:I==null?void 0:I[Tn.Weekday],scope:"col"},q(Pt,i.options,i)))),X.createElement(t.Weeks,{className:c[Tn.Weeks],style:I==null?void 0:I[Tn.Weeks]},pt.weeks.map((Pt,kt)=>X.createElement(t.Week,{className:c[Tn.Week],key:Pt.weekNumber,style:I==null?void 0:I[Tn.Week],week:Pt},O&&X.createElement(t.WeekNumber,{week:Pt,style:I==null?void 0:I[Tn.WeekNumber],"aria-label":de(Pt.weekNumber,{locale:s}),className:c[Tn.WeekNumber],scope:"row",role:"rowheader"},L(Pt.weekNumber)),Pt.days.map(bt=>{const{date:Zt}=bt,Dt=ie(bt);if(Dt[Er.focused]=!Dt.hidden&&!!(se!=null&&se.isEqualTo(bt)),Dt[xs.selected]=!Dt.disabled&&((ae==null?void 0:ae(Zt))||Dt.selected),L1(pe)){const{from:Ce,to:be}=pe;Dt[xs.range_start]=!!(Ce&&be&&i.isSameDay(Zt,Ce)),Dt[xs.range_end]=!!(Ce&&be&&i.isSameDay(Zt,be)),Dt[xs.range_middle]=ko(pe,Zt,!0,i)}const fn=EJ(Dt,I,e.modifiersStyles),An=$q(Dt,c,e.modifiersClassNames),Ue=!Oe&&!Dt.hidden?le(Zt,Dt,i.options,i):void 0;return X.createElement(t.Day,{key:`${i.format(Zt,"yyyy-MM-dd")}_${i.format(bt.displayMonth,"yyyy-MM")}`,day:bt,modifiers:Dt,className:An.join(" "),style:fn,role:"gridcell","aria-selected":Dt.selected||void 0,"aria-label":Ue,"data-day":i.format(Zt,"yyyy-MM-dd"),"data-month":bt.outside?i.format(Zt,"yyyy-MM"):void 0,"data-selected":Dt.selected||void 0,"data-disabled":Dt.disabled||void 0,"data-hidden":Dt.hidden||void 0,"data-outside":bt.outside||void 0,"data-focused":Dt.focused||void 0,"data-today":Dt.today||void 0},!Dt.hidden&&Oe?X.createElement(t.DayButton,{className:c[Tn.DayButton],style:I==null?void 0:I[Tn.DayButton],type:"button",day:bt,modifiers:Dt,disabled:Dt.disabled||void 0,tabIndex:ge(bt)?0:-1,"aria-label":$e(Zt,Dt,i.options,i),onClick:He(bt,Dt),onBlur:at(bt,Dt),onFocus:ct(bt,Dt),onKeyDown:ke(bt,Dt),onMouseEnter:Te(bt,Dt),onMouseLeave:Le(bt,Dt)},N(Zt,i.options,i)):!Dt.hidden&&N(bt.date,i.options,i))}))))))})),e.footer&&X.createElement(t.Footer,{className:c[Tn.Footer],style:I==null?void 0:I[Tn.Footer],role:"status","aria-live":"polite"},e.footer)))}const pK=(mR=rn.getState().configs)==null?void 0:mR.VITE_SENTINAL_HUB_CLIENT_ID;localStorage.getItem("VITE_SENTINAL_HUB_CLIENT_ID");const mK=(gR=rn.getState().configs)==null?void 0:gR.VITE_SENTINAL_HUB_CLIENT_SECRET;localStorage.getItem("VITE_SENTINAL_HUB_CLIENT_SECRET");const dy=X.createContext(null);function gK({children:e}){const[t,n]=X.useState(void 0),[r,i]=X.useState(null);return X.useEffect(()=>{async function s(){try{const c=await bY(pK,mK);n(c.access_token),i(Date.now()+c.expires_in*1e3)}catch(c){console.error("Failed to fetch access token",c),n(null),i(null)}}if(t||s(),r){const c=setTimeout(()=>{s()},r-Date.now()-6e4);return()=>clearTimeout(c)}},[t,r]),J.jsx(dy.Provider,{value:t,children:e})}var N1="Popover",[UP,yEe]=_o(N1,[og]),Lf=og(),[yK,El]=UP(N1),HP=e=>{const{__scopePopover:t,children:n,open:r,defaultOpen:i,onOpenChange:s,modal:c=!1}=e,a=Lf(t),d=Ne.useRef(null),[p,y]=Ne.useState(!1),[g=!1,b]=Nu({prop:r,defaultProp:i,onChange:s});return J.jsx(mA,{...a,children:J.jsx(yK,{scope:t,contentId:mc(),triggerRef:d,open:g,onOpenChange:b,onOpenToggle:Ne.useCallback(()=>b(w=>!w),[b]),hasCustomAnchor:p,onCustomAnchorAdd:Ne.useCallback(()=>y(!0),[]),onCustomAnchorRemove:Ne.useCallback(()=>y(!1),[]),modal:c,children:n})})};HP.displayName=N1;var XP="PopoverAnchor",vK=Ne.forwardRef((e,t)=>{const{__scopePopover:n,...r}=e,i=El(XP,n),s=Lf(n),{onCustomAnchorAdd:c,onCustomAnchorRemove:a}=i;return Ne.useEffect(()=>(c(),()=>a()),[c,a]),J.jsx(px,{...s,...r,ref:t})});vK.displayName=XP;var ZP="PopoverTrigger",YP=Ne.forwardRef((e,t)=>{const{__scopePopover:n,...r}=e,i=El(ZP,n),s=Lf(n),c=ci(t,i.triggerRef),a=J.jsx(Ar.button,{type:"button","aria-haspopup":"dialog","aria-expanded":i.open,"aria-controls":i.contentId,"data-state":eO(i.open),...r,ref:c,onClick:nr(e.onClick,i.onOpenToggle)});return i.hasCustomAnchor?a:J.jsx(px,{asChild:!0,...s,children:a})});YP.displayName=ZP;var R1="PopoverPortal",[bK,xK]=UP(R1,{forceMount:void 0}),qP=e=>{const{__scopePopover:t,forceMount:n,children:r,container:i}=e,s=El(R1,t);return J.jsx(bK,{scope:t,forceMount:n,children:J.jsx(Fs,{present:n||s.open,children:J.jsx(lg,{asChild:!0,container:i,children:r})})})};qP.displayName=R1;var ah="PopoverContent",JP=Ne.forwardRef((e,t)=>{const n=xK(ah,e.__scopePopover),{forceMount:r=n.forceMount,...i}=e,s=El(ah,e.__scopePopover);return J.jsx(Fs,{present:r||s.open,children:s.modal?J.jsx(_K,{...i,ref:t}):J.jsx(wK,{...i,ref:t})})});JP.displayName=ah;var _K=Ne.forwardRef((e,t)=>{const n=El(ah,e.__scopePopover),r=Ne.useRef(null),i=ci(t,r),s=Ne.useRef(!1);return Ne.useEffect(()=>{const c=r.current;if(c)return BT(c)},[]),J.jsx(s1,{as:Ya,allowPinchZoom:!0,children:J.jsx(KP,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:nr(e.onCloseAutoFocus,c=>{var a;c.preventDefault(),s.current||(a=n.triggerRef.current)==null||a.focus()}),onPointerDownOutside:nr(e.onPointerDownOutside,c=>{const a=c.detail.originalEvent,d=a.button===0&&a.ctrlKey===!0,p=a.button===2||d;s.current=p},{checkForDefaultPrevented:!1}),onFocusOutside:nr(e.onFocusOutside,c=>c.preventDefault(),{checkForDefaultPrevented:!1})})})}),wK=Ne.forwardRef((e,t)=>{const n=El(ah,e.__scopePopover),r=Ne.useRef(!1),i=Ne.useRef(!1);return J.jsx(KP,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:s=>{var c,a;(c=e.onCloseAutoFocus)==null||c.call(e,s),s.defaultPrevented||(r.current||(a=n.triggerRef.current)==null||a.focus(),s.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:s=>{var d,p;(d=e.onInteractOutside)==null||d.call(e,s),s.defaultPrevented||(r.current=!0,s.detail.originalEvent.type==="pointerdown"&&(i.current=!0));const c=s.target;((p=n.triggerRef.current)==null?void 0:p.contains(c))&&s.preventDefault(),s.detail.originalEvent.type==="focusin"&&i.current&&s.preventDefault()}})}),KP=Ne.forwardRef((e,t)=>{const{__scopePopover:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:s,disableOutsidePointerEvents:c,onEscapeKeyDown:a,onPointerDownOutside:d,onFocusOutside:p,onInteractOutside:y,...g}=e,b=El(ah,n),w=Lf(n);return ST(),J.jsx(e1,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:s,children:J.jsx(Jm,{asChild:!0,disableOutsidePointerEvents:c,onInteractOutside:y,onEscapeKeyDown:a,onPointerDownOutside:d,onFocusOutside:p,onDismiss:()=>b.onOpenChange(!1),children:J.jsx(gA,{"data-state":eO(b.open),role:"dialog",id:b.contentId,...w,...g,ref:t,style:{...g.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),QP="PopoverClose",SK=Ne.forwardRef((e,t)=>{const{__scopePopover:n,...r}=e,i=El(QP,n);return J.jsx(Ar.button,{type:"button",...r,ref:t,onClick:nr(e.onClick,()=>i.onOpenChange(!1))})});SK.displayName=QP;var CK="PopoverArrow",MK=Ne.forwardRef((e,t)=>{const{__scopePopover:n,...r}=e,i=Lf(n);return J.jsx(yA,{...i,...r,ref:t})});MK.displayName=CK;function eO(e){return e?"open":"closed"}var AK=HP,EK=YP,TK=qP,tO=JP;const IK=AK,PK=EK,nO=Ne.forwardRef(({className:e,align:t="center",sideOffset:n=4,...r},i)=>J.jsx(TK,{children:J.jsx(tO,{ref:i,align:t,sideOffset:n,className:bo("z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...r})}));nO.displayName=tO.displayName;const OK=({children:e,trigger:t})=>J.jsxs(IK,{children:[J.jsx(PK,{asChild:!0,children:t}),J.jsx(nO,{className:"w-80 bg-white dark:bg-gray-900",children:e})]}),kK=e=>J.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:25,height:24,viewBox:"0 0 24 24",fill:"none",...e,children:[J.jsx("path",{stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M21.5 14V6a2 2 0 0 0-2-2h-14a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8M16.5 2v4"}),J.jsx("path",{stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M8.5 2v4M3.5 10h18M16.5 20l2 2 4-4"})]}),DK="max-w-[320px] sm:max-w-[370px] lg:max-w-[420px]";function LK(e,t){if(!e||!t)return!0;console.log("previousBbox",e),console.log("currentBbox",t);const[n,r,i,s]=e,[c,a,d,p]=t,y=oI([n,r],[c,a],{units:"kilometers"}),g=oI([i,s],[d,p],{units:"kilometers"});return y>1||g>1}const NK=({previousMonth:e,nextMonth:t,onPreviousClick:n,onNextClick:r})=>{const i=new Date(e.getFullYear(),e.getMonth()+1,1);return J.jsxs("div",{className:"flex items-center justify-between w-full px-5",children:[J.jsx(Vn,{onClick:n,variant:"ghost",children:J.jsx(gF,{})}),J.jsx("span",{className:"text-lg font-medium text-center mx-4",children:i.toLocaleDateString("en-US",{month:"long",year:"numeric"})}),J.jsx(Vn,{onClick:r,variant:"ghost",children:J.jsx(yF,{})})]})};function RK(){var Y;const{dateRange:e,setDateRange:t,isVisible:n,setIsVisible:r}=X.useContext(Cf),[i,s]=X.useState(!1),[c,a]=X.useState(),d=rn(G=>G.rasterOpacity),p=rn(G=>G.setRasterOpacity),y=rn(G=>G.viewMode),g=G=>{p(G.target.value)},b=rn(G=>G.rasterLayer),w=rn(G=>G.setRasterLayer),{mapRef:S}=X.useContext(ii),C=(Y=S.current)==null?void 0:Y.getMap(),[M,O]=X.useState([]),I=X.useContext(dy),[D,N]=X.useState([]),k=rn(G=>G.showCroppedImages),L=rn(G=>G.setShowCroppedImages),B=G=>!M.some(j=>G.getFullYear()===j.getFullYear()&&G.getMonth()===j.getMonth()&&G.getDate()===j.getDate()),q=G=>{if(console.log("dates inside handleLayerDatesChange",G),G.length>0){let j=!1;c&&(j=G.map(R=>R.getTime()).includes(c.getTime())),G.sort((R,Z)=>Z-R),console.log("setting date range",G[0]),console.log("ddd selectedDate, new dates, isCurrentExist",c,G,j),j?console.log("currently selected date is included in new available dates, itll stay the same"):(console.log("dates doesnt include selected date. choosing most recent date"),a(G[0]),t({start:G[0],end:G[0]}))}else console.log("ddd no available date fetched"),c||t({start:void 0,end:void 0})},ne=X.useCallback(G=>{console.log("inside handlePassDates. options",G),C||console.log("no map instance found to load available dates"),s(!0),(C==null?void 0:C.getZoom())<9&&(console.log("layer is not visible or zoom is smaller than 9"),O([]));const j=C==null?void 0:C.getBounds();let R=[];if(j!=null&&j.getWest()&&(j!=null&&j.getSouth())&&(j!=null&&j.getEast())&&(j!=null&&j.getNorth())?R=[j==null?void 0:j.getWest(),j==null?void 0:j.getSouth(),j==null?void 0:j.getEast(),j==null?void 0:j.getNorth()]:(R=void 0,console.warn("no bounds found. not fetching available dates")),!(G!=null&&G.layerChanged)&&(D==null?void 0:D.length)>0&&!LK(D,R)){N(R),console.log("bbox has not changed significantly"),s(!1);return}N(R),b!=null&&b.getAvailableDates&&R?b.getAvailableDates(R).then(Z=>{const U=Z.map(ie=>{const ae=new Date(ie);return new Date(Date.UTC(ae.getUTCFullYear(),ae.getUTCMonth(),ae.getUTCDate()))});console.log("ddates",U),O(U),q(U)}).finally(()=>{s(!1)}):(I||console.warn("No access token found"),wY({aoi:R,accessToken:I}).then(Z=>{console.log("dates are: ",Z),O(Z),q(Z)}).finally(()=>{s(!1)}))},[c,b,C,O,n,t,s,I]),re=X.useMemo(()=>cy(ne,2e3),[ne]);X.useEffect(()=>(C&&(C==null||C.on("moveend",re),C==null||C.on("zoomend",re)),()=>{C&&(C==null||C.off("moveend",re),C==null||C.off("zoomend",re)),re.cancel()}),[C,re]),X.useEffect(()=>{ne({layerChanged:!0})},[C,b,I]);const $=X.useCallback(G=>{G==="plot"&&L(!0),G==="map"&&L(!1)},[L]);return J.jsxs("div",{className:"flex flex-col gap-2.5",children:[J.jsxs("div",{className:"flex flex-col gap-2 rounded-md bg-zinc-50 dark:bg-zinc-800 p-2",children:[J.jsxs("div",{className:"flex items-center justify-between",children:[J.jsx("h4",{className:"text-base dark:text-gray-100 tracking-tight",children:"Raster Layer"}),J.jsxs("div",{className:"flex items-center space-x-2",children:[J.jsxs(Mx,{defaultValue:k?"plot":"map",className:"flex items-center",onValueChange:$,children:[J.jsxs("div",{className:"flex items-center gap-2",children:[J.jsx(Bu,{value:"plot",id:"plot"}),J.jsx(fc,{htmlFor:"plot",children:"Plot"})]}),J.jsxs("div",{className:"flex items-center gap-2",children:[J.jsx(Bu,{value:"map",id:"map"}),J.jsx(fc,{htmlFor:"map",children:"Map"})]})]}),J.jsx(ju,{onTooltip:"hide layer",offTooltip:"show layer",value:n,onChange:r})]})]}),J.jsxs("div",{className:"flex items-center gap-2 justify-between",children:[J.jsxs("div",{className:"flex items-center justify-between w-full",children:[J.jsx("h4",{className:"text-base dark:text-gray-100 tracking-tight",children:"Opacity"}),y!=="PICKER"&&J.jsx(OK,{trigger:J.jsx("div",{className:"border border-solid border-[#D1D5DB] cursor-pointer dark:border-gray-200 rounded-md p-2 flex items-center justify-center",children:J.jsxs("h5",{className:"scroll-m-20 text-sm font-medium tracking-tight",children:[d,"%"]})}),children:J.jsx(Eo,{type:"range",min:"0",max:"100",value:d,onChange:g,className:"w-full"})})]}),J.jsx(Gs,{size:"sm",className:"w-full",value:b,options:Xm,placeholder:"Select Data",onChange:w,isClearable:!1})]})]}),J.jsxs("div",{className:"w-full flex flex-col gap-2.5 mt-4",children:[J.jsxs("h4",{className:"text-base flex gap-3 font-medium tracking-tight",children:[J.jsx(kK,{})," Available Days"," ",i&&J.jsx(fs,{size:"small"})]}),J.jsx(xo,{className:"flex items-center justify-center",children:J.jsx(fK,{mode:"single",selected:c,classNames:{months:"rdp-months justify-center"},onSelect:G=>{if(console.log("onDayClick",G),G){const j=new Date(Date.UTC(G.getFullYear(),G.getMonth(),G.getDate()));a(j),t({start:j,end:j})}},modifiers:{disabled:B,available:M},modifiersClassNames:{available:"dark:text-white bg-gray-200 dark:bg-gray-600 rounded-full ",selected:"bg-green-400 dark:bg-green-600",today:"dark:text-red",caption_label:"rdp-caption_label z-0"},components:{Nav:NK,MonthCaption:()=>J.jsx("span",{})}})})]})]})}const jK=J.jsx("div",{className:"h-[1px] bg-[#E9E9E9] dark:bg-zinc-100 w-[calc(100%+20px)] mx-auto"});function BK(){const e=rn(n=>n.sidebarExpanded),t=rn(n=>n.setSidebarExpanded);return J.jsxs(J.Fragment,{children:[!e&&J.jsx("div",{className:"sidebar-opener bg-white dark:bg-gray-900 mt-3 ",children:J.jsx(yo,{variant:"icon",className:"border-left-0",children:J.jsx(gM,{onClick:()=>t(!0)})})}),J.jsxs(xo,{className:`sidebar ${e&&"sidebar-expanded"} rounded-l-none h-full ${DK} `,header:J.jsxs("div",{className:"flex justify-between items-center mb-1",children:[J.jsx("h1",{className:"text-lg pr-2 text-black dark:text-white",children:"Configurations"}),J.jsx("div",{className:"bg-white dark:bg-gray-900 ",children:J.jsx(yo,{variant:"icon",className:"border-left-0",children:e?J.jsx(SF,{onClick:()=>t(!1)}):J.jsx(gM,{onClick:()=>t(!0)})})})]}),children:[J.jsx(yY,{}),jK,J.jsx(RK,{})]})]})}const rO=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array],j1=1,Nf=8;class B1{static from(t){if(!(t instanceof ArrayBuffer))throw new Error("Data must be an instance of ArrayBuffer.");const[n,r]=new Uint8Array(t,0,2);if(n!==219)throw new Error("Data does not appear to be in a KDBush format.");const i=r>>4;if(i!==j1)throw new Error(`Got v${i} data when expected v${j1}.`);const s=rO[r&15];if(!s)throw new Error("Unrecognized array type.");const[c]=new Uint16Array(t,2,1),[a]=new Uint32Array(t,4,1);return new B1(a,c,s,t)}constructor(t,n=64,r=Float64Array,i){if(isNaN(t)||t<0)throw new Error(`Unpexpected numItems value: ${t}.`);this.numItems=+t,this.nodeSize=Math.min(Math.max(+n,2),65535),this.ArrayType=r,this.IndexArrayType=t<65536?Uint16Array:Uint32Array;const s=rO.indexOf(this.ArrayType),c=t*2*this.ArrayType.BYTES_PER_ELEMENT,a=t*this.IndexArrayType.BYTES_PER_ELEMENT,d=(8-a%8)%8;if(s<0)throw new Error(`Unexpected typed array class: ${r}.`);i&&i instanceof ArrayBuffer?(this.data=i,this.ids=new this.IndexArrayType(this.data,Nf,t),this.coords=new this.ArrayType(this.data,Nf+a+d,t*2),this._pos=t*2,this._finished=!0):(this.data=new ArrayBuffer(Nf+c+a+d),this.ids=new this.IndexArrayType(this.data,Nf,t),this.coords=new this.ArrayType(this.data,Nf+a+d,t*2),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,(j1<<4)+s]),new Uint16Array(this.data,2,1)[0]=n,new Uint32Array(this.data,4,1)[0]=t)}add(t,n){const r=this._pos>>1;return this.ids[r]=r,this.coords[this._pos++]=t,this.coords[this._pos++]=n,r}finish(){const t=this._pos>>1;if(t!==this.numItems)throw new Error(`Added ${t} items when expected ${this.numItems}.`);return F1(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(t,n,r,i){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:s,coords:c,nodeSize:a}=this,d=[0,s.length-1,0],p=[];for(;d.length;){const y=d.pop()||0,g=d.pop()||0,b=d.pop()||0;if(g-b<=a){for(let M=b;M<=g;M++){const O=c[2*M],I=c[2*M+1];O>=t&&O<=r&&I>=n&&I<=i&&p.push(s[M])}continue}const w=b+g>>1,S=c[2*w],C=c[2*w+1];S>=t&&S<=r&&C>=n&&C<=i&&p.push(s[w]),(y===0?t<=S:n<=C)&&(d.push(b),d.push(w-1),d.push(1-y)),(y===0?r>=S:i>=C)&&(d.push(w+1),d.push(g),d.push(1-y))}return p}within(t,n,r){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:i,coords:s,nodeSize:c}=this,a=[0,i.length-1,0],d=[],p=r*r;for(;a.length;){const y=a.pop()||0,g=a.pop()||0,b=a.pop()||0;if(g-b<=c){for(let M=b;M<=g;M++)aO(s[2*M],s[2*M+1],t,n)<=p&&d.push(i[M]);continue}const w=b+g>>1,S=s[2*w],C=s[2*w+1];aO(S,C,t,n)<=p&&d.push(i[w]),(y===0?t-r<=S:n-r<=C)&&(a.push(b),a.push(w-1),a.push(1-y)),(y===0?t+r>=S:n+r>=C)&&(a.push(w+1),a.push(g),a.push(1-y))}return d}}function F1(e,t,n,r,i,s){if(i-r<=n)return;const c=r+i>>1;iO(e,t,c,r,i,s),F1(e,t,n,r,c-1,1-s),F1(e,t,n,c+1,i,1-s)}function iO(e,t,n,r,i,s){for(;i>r;){if(i-r>600){const p=i-r+1,y=n-r+1,g=Math.log(p),b=.5*Math.exp(2*g/3),w=.5*Math.sqrt(g*b*(p-b)/p)*(y-p/2<0?-1:1),S=Math.max(r,Math.floor(n-y*b/p+w)),C=Math.min(i,Math.floor(n+(p-y)*b/p+w));iO(e,t,n,S,C,s)}const c=t[2*n+s];let a=r,d=i;for(Rf(e,t,r,n),t[2*i+s]>c&&Rf(e,t,r,i);a<d;){for(Rf(e,t,a,d),a++,d--;t[2*a+s]<c;)a++;for(;t[2*d+s]>c;)d--}t[2*r+s]===c?Rf(e,t,r,d):(d++,Rf(e,t,d,i)),d<=n&&(r=d+1),n<=d&&(i=d-1)}}function Rf(e,t,n,r){z1(e,n,r),z1(t,2*n,2*r),z1(t,2*n+1,2*r+1)}function z1(e,t,n){const r=e[t];e[t]=e[n],e[n]=r}function aO(e,t,n,r){const i=e-n,s=t-r;return i*i+s*s}const FK={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:e=>e},sO=Math.fround||(e=>t=>(e[0]=+t,e[0]))(new Float32Array(1)),Ac=2,Tl=3,$1=4,Il=5,oO=6;class zK{constructor(t){this.options=Object.assign(Object.create(FK),t),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(t){const{log:n,minZoom:r,maxZoom:i}=this.options;n&&console.time("total time");const s=`prepare ${t.length} points`;n&&console.time(s),this.points=t;const c=[];for(let d=0;d<t.length;d++){const p=t[d];if(!p.geometry)continue;const[y,g]=p.geometry.coordinates,b=sO(fy(y)),w=sO(py(g));c.push(b,w,1/0,d,-1,1),this.options.reduce&&c.push(0)}let a=this.trees[i+1]=this._createTree(c);n&&console.timeEnd(s);for(let d=i;d>=r;d--){const p=+Date.now();a=this.trees[d]=this._createTree(this._cluster(a,d)),n&&console.log("z%d: %d clusters in %dms",d,a.numItems,+Date.now()-p)}return n&&console.timeEnd("total time"),this}getClusters(t,n){let r=((t[0]+180)%360+360)%360-180;const i=Math.max(-90,Math.min(90,t[1]));let s=t[2]===180?180:((t[2]+180)%360+360)%360-180;const c=Math.max(-90,Math.min(90,t[3]));if(t[2]-t[0]>=360)r=-180,s=180;else if(r>s){const g=this.getClusters([r,i,180,c],n),b=this.getClusters([-180,i,s,c],n);return g.concat(b)}const a=this.trees[this._limitZoom(n)],d=a.range(fy(r),py(c),fy(s),py(i)),p=a.data,y=[];for(const g of d){const b=this.stride*g;y.push(p[b+Il]>1?lO(p,b,this.clusterProps):this.points[p[b+Tl]])}return y}getChildren(t){const n=this._getOriginId(t),r=this._getOriginZoom(t),i="No cluster with the specified id.",s=this.trees[r];if(!s)throw new Error(i);const c=s.data;if(n*this.stride>=c.length)throw new Error(i);const a=this.options.radius/(this.options.extent*Math.pow(2,r-1)),d=c[n*this.stride],p=c[n*this.stride+1],y=s.within(d,p,a),g=[];for(const b of y){const w=b*this.stride;c[w+$1]===t&&g.push(c[w+Il]>1?lO(c,w,this.clusterProps):this.points[c[w+Tl]])}if(g.length===0)throw new Error(i);return g}getLeaves(t,n,r){n=n||10,r=r||0;const i=[];return this._appendLeaves(i,t,n,r,0),i}getTile(t,n,r){const i=this.trees[this._limitZoom(t)],s=Math.pow(2,t),{extent:c,radius:a}=this.options,d=a/c,p=(r-d)/s,y=(r+1+d)/s,g={features:[]};return this._addTileFeatures(i.range((n-d)/s,p,(n+1+d)/s,y),i.data,n,r,s,g),n===0&&this._addTileFeatures(i.range(1-d/s,p,1,y),i.data,s,r,s,g),n===s-1&&this._addTileFeatures(i.range(0,p,d/s,y),i.data,-1,r,s,g),g.features.length?g:null}getClusterExpansionZoom(t){let n=this._getOriginZoom(t)-1;for(;n<=this.options.maxZoom;){const r=this.getChildren(t);if(n++,r.length!==1)break;t=r[0].properties.cluster_id}return n}_appendLeaves(t,n,r,i,s){const c=this.getChildren(n);for(const a of c){const d=a.properties;if(d&&d.cluster?s+d.point_count<=i?s+=d.point_count:s=this._appendLeaves(t,d.cluster_id,r,i,s):s<i?s++:t.push(a),t.length===r)break}return s}_createTree(t){const n=new B1(t.length/this.stride|0,this.options.nodeSize,Float32Array);for(let r=0;r<t.length;r+=this.stride)n.add(t[r],t[r+1]);return n.finish(),n.data=t,n}_addTileFeatures(t,n,r,i,s,c){for(const a of t){const d=a*this.stride,p=n[d+Il]>1;let y,g,b;if(p)y=cO(n,d,this.clusterProps),g=n[d],b=n[d+1];else{const C=this.points[n[d+Tl]];y=C.properties;const[M,O]=C.geometry.coordinates;g=fy(M),b=py(O)}const w={type:1,geometry:[[Math.round(this.options.extent*(g*s-r)),Math.round(this.options.extent*(b*s-i))]],tags:y};let S;p||this.options.generateId?S=n[d+Tl]:S=this.points[n[d+Tl]].id,S!==void 0&&(w.id=S),c.features.push(w)}}_limitZoom(t){return Math.max(this.options.minZoom,Math.min(Math.floor(+t),this.options.maxZoom+1))}_cluster(t,n){const{radius:r,extent:i,reduce:s,minPoints:c}=this.options,a=r/(i*Math.pow(2,n)),d=t.data,p=[],y=this.stride;for(let g=0;g<d.length;g+=y){if(d[g+Ac]<=n)continue;d[g+Ac]=n;const b=d[g],w=d[g+1],S=t.within(d[g],d[g+1],a),C=d[g+Il];let M=C;for(const O of S){const I=O*y;d[I+Ac]>n&&(M+=d[I+Il])}if(M>C&&M>=c){let O=b*C,I=w*C,D,N=-1;const k=((g/y|0)<<5)+(n+1)+this.points.length;for(const L of S){const B=L*y;if(d[B+Ac]<=n)continue;d[B+Ac]=n;const q=d[B+Il];O+=d[B]*q,I+=d[B+1]*q,d[B+$1]=k,s&&(D||(D=this._map(d,g,!0),N=this.clusterProps.length,this.clusterProps.push(D)),s(D,this._map(d,B)))}d[g+$1]=k,p.push(O/M,I/M,1/0,k,-1,M),s&&p.push(N)}else{for(let O=0;O<y;O++)p.push(d[g+O]);if(M>1)for(const O of S){const I=O*y;if(!(d[I+Ac]<=n)){d[I+Ac]=n;for(let D=0;D<y;D++)p.push(d[I+D])}}}}return p}_getOriginId(t){return t-this.points.length>>5}_getOriginZoom(t){return(t-this.points.length)%32}_map(t,n,r){if(t[n+Il]>1){const c=this.clusterProps[t[n+oO]];return r?Object.assign({},c):c}const i=this.points[t[n+Tl]].properties,s=this.options.map(i);return r&&s===i?Object.assign({},s):s}}function lO(e,t,n){return{type:"Feature",id:e[t+Tl],properties:cO(e,t,n),geometry:{type:"Point",coordinates:[$K(e[t]),VK(e[t+1])]}}}function cO(e,t,n){const r=e[t+Il],i=r>=1e4?`${Math.round(r/1e3)}k`:r>=1e3?`${Math.round(r/100)/10}k`:r,s=e[t+oO],c=s===-1?{}:Object.assign({},n[s]);return Object.assign(c,{cluster:!0,cluster_id:e[t+Tl],point_count:r,point_count_abbreviated:i})}function fy(e){return e/360+.5}function py(e){const t=Math.sin(e*Math.PI/180),n=.5-.25*Math.log((1+t)/(1-t))/Math.PI;return n<0?0:n>1?1:n}function $K(e){return(e-.5)*360}function VK(e){const t=(180-e*360)*Math.PI/180;return 360*Math.atan(Math.exp(t))/Math.PI-90}const uO=e=>J.jsxs("svg",{width:"44",height:"60",viewBox:"0 0 44 60",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[J.jsxs("g",{filter:"url(#filter0_d_59_9575)",children:[J.jsx("path",{d:"M34.6036 48.3587C34.6036 50.0163 28.9739 51.3539 22.0115 51.3539C15.0491 51.3539 9.41931 50.0163 9.41931 48.3587C9.41931 46.7012 15.0491 45.3689 22.0115 45.3689C28.9739 45.3689 34.6036 46.7064 34.6036 48.3587Z",fill:"url(#paint0_radial_59_9575)",style:{mixBlendMode:"multiply"}}),J.jsx("path",{d:"M22.0412 0.758789C17.4838 0.764078 13.1146 2.5763 9.89212 5.79791C6.66959 9.01951 4.85685 13.3874 4.85156 17.9435C4.85156 24.118 7.72982 30.6721 13.1465 36.9066C15.5892 39.7397 18.3451 42.287 21.3616 44.4998C21.5605 44.6404 21.7976 44.717 22.0412 44.7196C22.2904 44.7139 22.533 44.6377 22.7407 44.4998C25.7433 42.2776 28.4916 39.7311 30.9358 36.9066C36.3725 30.6721 39.2307 24.118 39.2307 17.9435C39.2255 13.3874 37.4127 9.01951 34.1902 5.79791C30.9677 2.5763 26.5985 0.764078 22.0412 0.758789Z",fill:"#8a73fe"}),J.jsx("path",{d:"M22.0116 33.4607C29.8865 33.4607 36.2704 27.0794 36.2704 19.2076C36.2704 11.3358 29.8865 4.95448 22.0116 4.95448C14.1366 4.95448 7.7527 11.3358 7.7527 19.2076C7.7527 27.0794 14.1366 33.4607 22.0116 33.4607Z",fill:"#5f4cbd"}),J.jsx("path",{d:"M26.021 26.0255C25.7481 26.0255 25.4863 25.9137 25.2933 25.7147C25.1003 25.5158 24.9919 25.2459 24.9919 24.9645V18.0792C24.9919 17.7978 25.1003 17.528 25.2933 17.329C25.4863 17.13 25.7481 17.0182 26.021 17.0182C26.294 17.0182 26.5557 17.13 26.7487 17.329C26.9417 17.528 27.0502 17.7978 27.0502 18.0792V24.9645C27.0502 25.2459 26.9417 25.5158 26.7487 25.7147C26.5557 25.9137 26.294 26.0255 26.021 26.0255Z",fill:"#D9D9D9"}),J.jsx("path",{d:"M29.2731 19.0587C28.9892 19.0587 28.717 18.9469 28.5163 18.7479C28.3156 18.5489 28.2028 18.279 28.2028 17.9976C28.2028 17.4348 27.9773 16.895 27.5758 16.4971C27.1744 16.0991 26.6299 15.8755 26.0622 15.8755C25.7783 15.8755 25.5061 15.7637 25.3054 15.5648C25.1047 15.3658 24.9919 15.0959 24.9919 14.8145C24.9919 14.5331 25.1047 14.2632 25.3054 14.0642C25.5061 13.8652 25.7783 13.7534 26.0622 13.7534C27.1976 13.7534 28.2866 14.2006 29.0895 14.9965C29.8924 15.7925 30.3434 16.872 30.3434 17.9976C30.3434 18.279 30.2306 18.5489 30.0299 18.7479C29.8292 18.9469 29.557 19.0587 29.2731 19.0587Z",fill:"#FAFAFA"}),J.jsx("path",{d:"M32.376 19.0587C32.0962 19.0587 31.8279 18.9485 31.6301 18.7524C31.4322 18.5563 31.3211 18.2903 31.3211 18.0129C31.3211 16.6262 30.7654 15.2962 29.7763 14.3157C28.7871 13.3351 27.4456 12.7842 26.0468 12.7842C25.767 12.7842 25.4987 12.674 25.3008 12.4779C25.103 12.2818 24.9919 12.0158 24.9919 11.7385C24.9919 11.4611 25.103 11.1951 25.3008 10.999C25.4987 10.8029 25.767 10.6927 26.0468 10.6927C28.0051 10.6927 29.8833 11.4639 31.2681 12.8368C32.6529 14.2096 33.4308 16.0715 33.4308 18.0129C33.4308 18.2903 33.3197 18.5563 33.1219 18.7524C32.924 18.9485 32.6557 19.0587 32.376 19.0587Z",fill:"#FAFAFA"}),J.jsx("path",{d:"M12.5841 21.1168C12.6427 21.2566 12.6482 21.4128 12.5996 21.5563C12.551 21.6998 12.4515 21.821 12.3197 21.8975L12.2422 21.9351L11.4622 22.2557C11.3145 22.3154 11.1495 22.3175 11.0004 22.2615C10.8512 22.2056 10.7289 22.0958 10.658 21.9542C10.5871 21.8125 10.5728 21.6496 10.6181 21.498C10.6634 21.3463 10.7649 21.2173 10.9021 21.1368L10.9788 21.0984L11.7587 20.7778C11.8354 20.7463 11.9175 20.7301 12.0005 20.7301C12.0835 20.7301 12.1656 20.7463 12.2423 20.7778C12.3189 20.8093 12.3886 20.8554 12.4472 20.9136C12.5059 20.9717 12.5524 21.0408 12.5841 21.1168ZM18.048 17.0813L17.9039 17.1297C16.4005 17.6558 15.3241 18.8039 14.8591 20.3219L14.7993 20.5306L14.7505 20.7293L14.577 20.7619C14.073 20.8668 13.595 21.0694 13.1704 21.3581C12.7843 20.7003 12.6401 19.9302 12.7623 19.1789C12.8845 18.4276 13.2655 17.7415 13.8405 17.2373C14.4155 16.7331 15.149 16.4421 15.9161 16.4136C16.6832 16.3852 17.4366 16.6211 18.048 17.0813ZM11.3831 17.1072L11.4715 17.1364L12.2515 17.457C12.3977 17.5182 12.5154 17.6316 12.5811 17.7749C12.6468 17.9181 12.6557 18.0807 12.606 18.2301C12.5563 18.3796 12.4517 18.505 12.313 18.5815C12.1742 18.6579 12.0115 18.6798 11.8573 18.6427L11.768 18.6143L10.988 18.2937C10.8414 18.2327 10.7233 18.1192 10.6574 17.9757C10.5915 17.8323 10.5826 17.6694 10.6324 17.5197C10.6823 17.37 10.7873 17.2445 10.9264 17.1682C11.0656 17.0919 11.2286 17.0695 11.3831 17.1072ZM14.5963 14.6139L14.6342 14.6899L14.9577 15.4631C15.0187 15.6096 15.0215 15.7737 14.9653 15.9221C14.9091 16.0706 14.7982 16.1924 14.655 16.263C14.5118 16.3336 14.3468 16.3476 14.1936 16.3024C14.0403 16.2571 13.91 16.1559 13.829 16.0192L13.7903 15.9424L13.4668 15.1692C13.4066 15.0227 13.4045 14.8592 13.461 14.7113C13.5174 14.5634 13.6281 14.4421 13.771 14.3718C13.9139 14.3015 14.0783 14.2874 14.2312 14.3323C14.3841 14.3772 14.5151 14.4778 14.5963 14.6139ZM18.2627 14.3475C18.4026 14.4051 18.5169 14.5105 18.5849 14.6446C18.653 14.7787 18.6701 14.9326 18.6333 15.0781L18.6047 15.1658L18.2813 15.939C18.2196 16.084 18.1051 16.2007 17.9606 16.2658C17.8161 16.331 17.6522 16.3398 17.5014 16.2905C17.3507 16.2413 17.2242 16.1376 17.147 16C17.0699 15.8625 17.0479 15.7012 17.0852 15.5482L17.1147 15.4597L17.4373 14.6865C17.4691 14.6105 17.5156 14.5415 17.5742 14.4833C17.6329 14.4252 17.7025 14.379 17.7792 14.3475C17.8558 14.3161 17.938 14.2999 18.021 14.2999C18.1039 14.2999 18.1861 14.3161 18.2627 14.3475Z",fill:"#FFB906"}),J.jsx("path",{d:"M19.7897 17.7066C22.458 17.7066 23.9724 19.4576 24.1923 21.5726H24.2596C24.6675 21.572 25.0715 21.6512 25.4486 21.8054C25.8256 21.9597 26.1683 22.1861 26.4571 22.4716C26.7458 22.7572 26.975 23.0964 27.1315 23.4698C27.2881 23.8432 27.3689 24.2435 27.3693 24.6479C27.3688 25.0521 27.2879 25.4524 27.1313 25.8257C26.9747 26.199 26.7455 26.538 26.4568 26.8235C26.168 27.109 25.8254 27.3353 25.4484 27.4895C25.0714 27.6437 24.6675 27.7228 24.2596 27.7223H15.3189C14.9111 27.7228 14.5072 27.6437 14.1302 27.4895C13.7532 27.3353 13.4106 27.109 13.1218 26.8235C12.8331 26.538 12.6038 26.199 12.4473 25.8257C12.2907 25.4524 12.2098 25.0521 12.2093 24.6479C12.2097 24.2435 12.2905 23.8432 12.447 23.4698C12.6036 23.0964 12.8327 22.7572 13.1215 22.4716C13.4103 22.1861 13.753 21.9597 14.13 21.8054C14.5071 21.6512 14.911 21.572 15.3189 21.5726H15.3863C15.6078 19.4434 17.1214 17.7066 19.7897 17.7066Z",fill:"#FAFAFA"})]}),J.jsxs("defs",{children:[J.jsxs("filter",{id:"filter0_d_59_9575",x:"0.851562",y:"0.758789",width:"42.3792",height:"58.5951",filterUnits:"userSpaceOnUse",colorInterpolationFilters:"sRGB",children:[J.jsx("feFlood",{floodOpacity:"0",result:"BackgroundImageFix"}),J.jsx("feColorMatrix",{in:"SourceAlpha",type:"matrix",values:"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0",result:"hardAlpha"}),J.jsx("feOffset",{dy:"4"}),J.jsx("feGaussianBlur",{stdDeviation:"2"}),J.jsx("feColorMatrix",{type:"matrix",values:"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"}),J.jsx("feBlend",{mode:"normal",in2:"BackgroundImageFix",result:"effect1_dropShadow_59_9575"}),J.jsx("feBlend",{mode:"normal",in:"SourceGraphic",in2:"effect1_dropShadow_59_9575",result:"shape"})]}),J.jsxs("radialGradient",{id:"paint0_radial_59_9575",cx:"0",cy:"0",r:"1",gradientUnits:"userSpaceOnUse",gradientTransform:"translate(22.2183 16.9279) scale(17.1741 25.2115)",children:[J.jsx("stop",{offset:"0.177083"}),J.jsx("stop",{offset:"0.453125",stopOpacity:"0.53"}),J.jsx("stop",{offset:"0.911458",stopOpacity:"0"})]})]})]}),GK=X.memo(function({marker:t,latitude:n,longitude:r,onClick:i}){const s=c=>{i&&i(c)};return J.jsx(Ub,{className:"cursor-pointer",longitude:r,latitude:n,onClick:s,children:J.jsx(uO,{size:32,color:"blue"})},t.id)}),WK=e=>{var r,i;console.log("props: ",e);const t=((r=e==null?void 0:e.colors)==null?void 0:r.mainColor)||"#20A35F",n=((i=e==null?void 0:e.colors)==null?void 0:i.secondaryColor)||"#5CCC91";return J.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:75,height:89,viewBox:"-8 30 75 89",fill:"none",...e,children:[J.jsx("path",{fill:"url(#a)",d:"M38.807 86.158c0 1.573-5.262 2.842-11.769 2.842-6.507 0-11.769-1.27-11.769-2.842s5.262-2.836 11.77-2.836c6.506 0 11.768 1.269 11.768 2.836Z",opacity:.28,style:{mixBlendMode:"multiply"}}),J.jsx("path",{fill:n,d:"M27.066 41a15.967 15.967 0 0 0-11.355 4.78A16.445 16.445 0 0 0 11 57.304c0 5.858 2.69 12.076 7.753 17.99a46.558 46.558 0 0 0 7.678 7.204c.186.134.407.207.635.209a1.22 1.22 0 0 0 .654-.209 47.763 47.763 0 0 0 7.659-7.203c5.081-5.915 7.753-12.133 7.753-17.99A16.445 16.445 0 0 0 38.42 45.78 15.967 15.967 0 0 0 27.066 41Z"}),J.jsx("path",{fill:t,d:"M27.038 72.025c7.36 0 13.327-6.055 13.327-13.523S34.398 44.98 27.038 44.98s-13.327 6.055-13.327 13.523 5.967 13.522 13.327 13.522Z"}),J.jsxs("g",{fill:"#fff",filter:"url(#b)",children:[J.jsx("path",{d:"M24.7 67.484c-1.854 0-3.485-.673-4.894-2.021-1.41-1.349-2.114-3.173-2.114-5.474 0-1.447.526-3.016 1.577-4.707 1.051-1.691 2.643-3.52 4.775-5.484a1.043 1.043 0 0 1 .657-.252 1.042 1.042 0 0 1 .657.251c2.132 1.966 3.723 3.794 4.775 5.485 1.051 1.691 1.577 3.26 1.577 4.707 0 2.3-.705 4.125-2.114 5.474-1.41 1.348-3.04 2.021-4.895 2.021Zm.242-2.742a.688.688 0 0 0 .45-.216.655.655 0 0 0 .185-.47.688.688 0 0 0-.197-.513.617.617 0 0 0-.504-.172c-.599.046-1.234-.125-1.905-.513-.672-.39-1.096-1.094-1.27-2.115a.677.677 0 0 0-.658-.57.623.623 0 0 0-.503.239c-.132.16-.176.347-.132.56.248 1.386.832 2.376 1.752 2.97.92.595 1.847.861 2.782.8Z"}),J.jsx("path",{stroke:t,d:"M36.917 56.87v-.5H34.05c-.942 0-1.844.38-2.508 1.054a3.6 3.6 0 0 0-.919 1.62 3.498 3.498 0 0 0-1.984-.615H25.77v2.903c0 .95.372 1.861 1.035 2.535a3.522 3.522 0 0 0 2.51 1.053h1.19v1.998a.84.84 0 0 0 .838.843.84.84 0 0 0 .839-.843v-4.057h1.19c.943 0 1.846-.38 2.51-1.053a3.612 3.612 0 0 0 1.035-2.535V56.87Zm-6.606 6.386Z"})]}),J.jsx("defs",{children:J.jsxs("radialGradient",{id:"a",cx:0,cy:0,r:1,gradientTransform:"matrix(11.7583 0 0 2.82937 27.16 85.136)",gradientUnits:"userSpaceOnUse",children:[J.jsx("stop",{offset:.177}),J.jsx("stop",{offset:.453,stopOpacity:.53}),J.jsx("stop",{offset:.911,stopOpacity:0})]})})]})},UK=e=>{switch(e){case"SEVERE_STRESS":return{mainColor:"#E03052",secondaryColor:"#F75979"};case"STRESS_START":return{mainColor:"#FFA500",secondaryColor:"#FFD700"};case"OPTIMAL":return{mainColor:"#20A35F",secondaryColor:"#5CCC91"};case"EXCESS_WATER":return{mainColor:"#3682D4",secondaryColor:"#5EACFF"}}},HK=X.memo(function({marker:t,latitude:n,longitude:r,onClick:i}){const s=a=>{i&&i(a)},c=t==null?void 0:t.paw_status;return J.jsx(Ub,{className:"cursor-pointer",longitude:r,latitude:n,color:t==null?void 0:t.color,onClick:s,children:c==="WEATHER_STATION"?J.jsx(uO,{}):J.jsx(WK,{colors:UK(c)})},t==null?void 0:t.id)});function XK(e){switch(e.marker.type){case"station":return J.jsx(HK,{...e});case"forecast":return J.jsx(GK,{...e})}}const ZK=X.memo(XK);function YK(){const{mapRef:e}=X.useContext(ii),{markersData:t,showMarkers:n}=X.useContext(Ns),r=rn(b=>b.setClickedMarker),[i,s]=X.useState([]),[c,a]=X.useState([]),d=5,p=t.map(b=>dc(b)),y=b=>b>=1e6?(b/1e6).toFixed(1)+"M":b>=1e3?(b/1e3).toFixed(1)+"K":b,g=(b,w)=>{console.log("marker clicked",w),r(w)};return X.useEffect(()=>{if(!(e!=null&&e.current)||!n)return;const b=()=>{var I;const w=(I=e==null?void 0:e.current)==null?void 0:I.getMap();if(!w)return;const S=w.getBounds(),C=w.getZoom(),M=S.getSouthWest(),O=S.getNorthEast();if(C<d){const D=new zK({radius:40,maxZoom:16});D.load(p.map(k=>({type:"Feature",properties:{cluster:!1,marker:k},geometry:{type:"Point",coordinates:[k.longitude,k.latitude]}})));const N=D.getClusters([M.lng,M.lat,O.lng,O.lat],Math.floor(C));a(N),s([])}else{const D=p.filter(N=>{const{longitude:k,latitude:L}=N;return M.lng<=k&&k<=O.lng&&M.lat<=L&&L<=O.lat});s(D),a([])}};return b(),e.current.on("moveend",b),()=>{var w;(w=e==null?void 0:e.current)==null||w.off("moveend",b)}},[e,t,d,n]),n?J.jsxs(J.Fragment,{children:[c.length>0&&c.map(b=>{const[w,S]=b.geometry.coordinates,{cluster:C,point_count:M}=b.properties;if(C)return J.jsx(Ub,{longitude:w,latitude:S,onClick:()=>{const O=Math.min(e.current.getMap().getZoom()+3,16);e.current.getMap().easeTo({center:[w,S],zoom:O})},children:J.jsx("div",{className:"cursor-pointer rounded-full bg-green-700/80 ring-4 ring-green-400 h-[40px] w-[40px] min-w-[40px] flex items-center justify-center text-white text-[14px] px-1 overflow-hidden",children:y(M)})},`cluster-${b.id}`)}),i.length>0&&i.map(b=>J.jsx(ZK,{longitude:b.longitude,latitude:b.latitude,marker:b,onClick:w=>g(w,b)},b.id))]}):null}var hO={exports:{}};(function(e){(function(t,n){e.exports?(n.default=n,e.exports=t&&t.document?n(t):n):(t.Highcharts&&t.Highcharts.error(16,!0),t.Highcharts=n(t))})(typeof window<"u"?window:cc,function(t){var n={};function r(i,s,c,a){!i.hasOwnProperty(s)&&(i[s]=a.apply(null,c),t&&typeof CustomEvent=="function"&&t.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:s,module:i[s]}})))}return r(n,"Core/Globals.js",[],function(){var i,s;return(s=i||(i={})).SVG_NS="http://www.w3.org/2000/svg",s.product="Highcharts",s.version="11.4.8",s.win=t!==void 0?t:{},s.doc=s.win.document,s.svg=s.doc&&s.doc.createElementNS&&!!s.doc.createElementNS(s.SVG_NS,"svg").createSVGRect,s.userAgent=s.win.navigator&&s.win.navigator.userAgent||"",s.isChrome=s.win.chrome,s.isFirefox=s.userAgent.indexOf("Firefox")!==-1,s.isMS=/(edge|msie|trident)/i.test(s.userAgent)&&!s.win.opera,s.isSafari=!s.isChrome&&s.userAgent.indexOf("Safari")!==-1,s.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(s.userAgent),s.isWebKit=s.userAgent.indexOf("AppleWebKit")!==-1,s.deg2rad=2*Math.PI/360,s.hasBidiBug=s.isFirefox&&4>parseInt(s.userAgent.split("Firefox/")[1],10),s.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],s.noop=function(){},s.supportsPassiveEvents=function(){let c=!1;if(!s.isMS){let a=Object.defineProperty({},"passive",{get:function(){c=!0}});s.win.addEventListener&&s.win.removeEventListener&&(s.win.addEventListener("testPassive",s.noop,a),s.win.removeEventListener("testPassive",s.noop,a))}return c}(),s.charts=[],s.composed=[],s.dateFormats={},s.seriesTypes={},s.symbolSizes={},s.chartCount=0,i}),r(n,"Core/Utilities.js",[n["Core/Globals.js"]],function(i){let s,{charts:c,doc:a,win:d}=i;function p(j,R,Z,U){let ie=R?"Highcharts error":"Highcharts warning";j===32&&(j=`${ie}: Deprecated member`);let ae=M(j),K=ae?`${ie} #${j}: www.highcharts.com/errors/${j}/`:j.toString();if(U!==void 0){let pe="";ae&&(K+="?"),re(U,function(xe,se){pe+=`
861
+ `;async function bY(e,t){var c,a;const n="https://services.sentinel-hub.com/oauth/token",r=new URLSearchParams({grant_type:"client_credentials",client_id:((c=rn.getState().configs)==null?void 0:c.VITE_SENTINAL_HUB_CLIENT_ID)||e,client_secret:((a=rn.getState().configs)==null?void 0:a.VITE_SENTINAL_HUB_CLIENT_SECRET)||t}),i=await fetch(n,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:r.toString()});if(!i.ok)throw new Error("Failed to fetch access token");const s=await i.json();return console.log("getAccessToken",s),s}async function xY(e,{accessToken:t,startDate:n,endDate:r}){const i=n||new Date(new Date().setMonth(new Date().getMonth()-3)).toISOString(),s=r||new Date().toISOString(),c="https://services.sentinel-hub.com/api/v1/statistics",a={input:{bounds:{geometry:{type:"Polygon",coordinates:e.geometry.coordinates},properties:{crs:"http://www.opengis.net/def/crs/EPSG/0/4326"}},data:[{type:"sentinel-2-l2a",dataFilter:{mosaickingOrder:"leastCC"}}]},aggregation:{timeRange:{from:i,to:s},aggregationInterval:{of:"P7D"},evalscript:oP,resx:10,resy:10}};try{const d=await fetch(c,{method:"POST",headers:{Authorization:`Bearer ${t}`,"Content-Type":"application/json"},body:JSON.stringify(a)});if(!d.ok)throw new Error("Failed to fetch NDVI statistics");const p=await d.json();return console.log("ndvi data k",p),p==null?void 0:p.data}catch(d){return console.error("Error fetching NDVI statistics:",d),null}}async function _Y(e,{accessToken:t,startDate:n,endDate:r}){const i=e.lng,s=e.lat,c=1e-4,a=n||new Date(new Date().setMonth(new Date().getMonth()-3)).toISOString(),d=r||new Date().toISOString(),p={type:"Polygon",coordinates:[[[i-c,s-c],[i+c,s-c],[i+c,s+c],[i-c,s+c],[i-c,s-c]]]},y="https://services.sentinel-hub.com/api/v1/statistics",g={input:{bounds:{geometry:p,properties:{crs:"http://www.opengis.net/def/crs/EPSG/0/4326"}},data:[{type:"sentinel-2-l2a",dataFilter:{mosaickingOrder:"leastCC"}}]},aggregation:{timeRange:{from:a,to:d},aggregationInterval:{of:"P30D"},evalscript:oP,resx:10,resy:10}};try{const b=await fetch(y,{method:"POST",headers:{Authorization:`Bearer ${t}`,"Content-Type":"application/json"},body:JSON.stringify(g)});if(!b.ok)throw new Error("Failed to fetch NDVI statistics");const w=await b.json();return console.log("NDVI data for point:",w),w==null?void 0:w.data}catch(b){return console.error("Error fetching NDVI statistics for point:",b),null}}async function wY({aoi:e,startDate:t,endDate:n,accessToken:r}){if(!r)return console.warn("Access token is required"),[];if(!t||!n){const p=new Date;t=new Date(p.setMonth(p.getMonth()-6)).toISOString(),n=new Date().toISOString()}const i=`${t}`,s=`${n}`,c="https://services.sentinel-hub.com/api/v1/catalog/search",a={Authorization:`Bearer ${r}`,"Content-Type":"application/json"};if(!e)return console.warn("aoi is not provided to getSatellitePassDates "),[];const d={bbox:e,datetime:`${i}/${s}`,collections:["sentinel-2-l1c"],limit:50,query:{"eo:cloud_cover":{lte:20}}};try{const p=await fetch(c,{method:"POST",headers:a,body:JSON.stringify(d)});if(!p.ok)throw new Error(`HTTP error! Status: ${p.status}`);const y=await p.json();console.log("data returned from catalog",y);const g=y.features.map(b=>{const w=new Date(b.properties.datetime);return new Date(Date.UTC(w.getUTCFullYear(),w.getUTCMonth(),w.getUTCDate()))}).sort((b,w)=>w-b);return console.log("date from catalog",g),g}catch(p){return console.error("Error fetching data:",p),[]}}var Tn;(function(e){e.Root="root",e.Chevron="chevron",e.Day="day",e.DayButton="day_button",e.CaptionLabel="caption_label",e.Dropdowns="dropdowns",e.Dropdown="dropdown",e.DropdownRoot="dropdown_root",e.Footer="footer",e.MonthGrid="month_grid",e.MonthCaption="month_caption",e.MonthsDropdown="months_dropdown",e.Month="month",e.Months="months",e.Nav="nav",e.NextMonthButton="button_next",e.PreviousMonthButton="button_previous",e.Week="week",e.Weeks="weeks",e.Weekday="weekday",e.Weekdays="weekdays",e.WeekNumber="week_number",e.WeekNumberHeader="week_number_header",e.YearsDropdown="years_dropdown"})(Tn||(Tn={}));var Er;(function(e){e.disabled="disabled",e.hidden="hidden",e.outside="outside",e.focused="focused",e.today="today"})(Er||(Er={}));var xs;(function(e){e.range_end="range_end",e.range_middle="range_middle",e.range_start="range_start",e.selected="selected"})(xs||(xs={}));const lP=6048e5,SY=864e5,cP=Symbol.for("constructDateFrom");function ui(e,t){return typeof e=="function"?e(t):e&&typeof e=="object"&&cP in e?e[cP](t):e instanceof Date?new e.constructor(t):new Date(t)}function Tr(e,t){return ui(t||e,e)}function uP(e,t,n){const r=Tr(e,n==null?void 0:n.in);return isNaN(t)?ui(e,NaN):(t&&r.setDate(r.getDate()+t),r)}function hP(e,t,n){const r=Tr(e,n==null?void 0:n.in);if(isNaN(t))return ui(e,NaN);if(!t)return r;const i=r.getDate(),s=ui(e,r.getTime());s.setMonth(r.getMonth()+t+1,0);const c=s.getDate();return i>=c?s:(r.setFullYear(s.getFullYear(),s.getMonth(),i),r)}let CY={};function Mf(){return CY}function rh(e,t){var a,d,p,y;const n=Mf(),r=(t==null?void 0:t.weekStartsOn)??((d=(a=t==null?void 0:t.locale)==null?void 0:a.options)==null?void 0:d.weekStartsOn)??n.weekStartsOn??((y=(p=n.locale)==null?void 0:p.options)==null?void 0:y.weekStartsOn)??0,i=Tr(e,t==null?void 0:t.in),s=i.getDay(),c=(s<r?7:0)+s-r;return i.setDate(i.getDate()-c),i.setHours(0,0,0,0),i}function Af(e,t){return rh(e,{...t,weekStartsOn:1})}function dP(e,t){const n=Tr(e,t==null?void 0:t.in),r=n.getFullYear(),i=ui(n,0);i.setFullYear(r+1,0,4),i.setHours(0,0,0,0);const s=Af(i),c=ui(n,0);c.setFullYear(r,0,4),c.setHours(0,0,0,0);const a=Af(c);return n.getTime()>=s.getTime()?r+1:n.getTime()>=a.getTime()?r:r-1}function fP(e){const t=Tr(e),n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),+e-+n}function Ef(e,...t){const n=ui.bind(null,t.find(r=>typeof r=="object"));return t.map(n)}function Tf(e,t){const n=Tr(e,t==null?void 0:t.in);return n.setHours(0,0,0,0),n}function pP(e,t,n){const[r,i]=Ef(n==null?void 0:n.in,e,t),s=Tf(r),c=Tf(i),a=+s-fP(s),d=+c-fP(c);return Math.round((a-d)/SY)}function MY(e,t){const n=dP(e,t),r=ui(e,0);return r.setFullYear(n,0,4),r.setHours(0,0,0,0),Af(r)}function AY(e,t,n){return uP(e,t*7,n)}function EY(e,t,n){return hP(e,t*12,n)}function TY(e,t){let n,r=t==null?void 0:t.in;return e.forEach(i=>{!r&&typeof i=="object"&&(r=ui.bind(null,i));const s=Tr(i,r);(!n||n<s||isNaN(+s))&&(n=s)}),ui(r,n||NaN)}function IY(e,t){let n,r=t==null?void 0:t.in;return e.forEach(i=>{!r&&typeof i=="object"&&(r=ui.bind(null,i));const s=Tr(i,r);(!n||n>s||isNaN(+s))&&(n=s)}),ui(r,n||NaN)}function PY(e,t,n){const[r,i]=Ef(n==null?void 0:n.in,e,t);return+Tf(r)==+Tf(i)}function mP(e){return e instanceof Date||typeof e=="object"&&Object.prototype.toString.call(e)==="[object Date]"}function OY(e){return!(!mP(e)&&typeof e!="number"||isNaN(+Tr(e)))}function kY(e,t,n){const[r,i]=Ef(n==null?void 0:n.in,e,t),s=r.getFullYear()-i.getFullYear(),c=r.getMonth()-i.getMonth();return s*12+c}function DY(e,t){const n=Tr(e,t==null?void 0:t.in),r=n.getMonth();return n.setFullYear(n.getFullYear(),r+1,0),n.setHours(23,59,59,999),n}function LY(e,t){const n=Tr(e,t==null?void 0:t.in);return n.setDate(1),n.setHours(0,0,0,0),n}function NY(e,t){const n=Tr(e,t==null?void 0:t.in),r=n.getFullYear();return n.setFullYear(r+1,0,0),n.setHours(23,59,59,999),n}function gP(e,t){const n=Tr(e,t==null?void 0:t.in);return n.setFullYear(n.getFullYear(),0,1),n.setHours(0,0,0,0),n}function yP(e,t){var a,d,p,y;const n=Mf(),r=(t==null?void 0:t.weekStartsOn)??((d=(a=t==null?void 0:t.locale)==null?void 0:a.options)==null?void 0:d.weekStartsOn)??n.weekStartsOn??((y=(p=n.locale)==null?void 0:p.options)==null?void 0:y.weekStartsOn)??0,i=Tr(e,t==null?void 0:t.in),s=i.getDay(),c=(s<r?-7:0)+6-(s-r);return i.setDate(i.getDate()+c),i.setHours(23,59,59,999),i}function RY(e,t){return yP(e,{...t,weekStartsOn:1})}const jY={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},BY=(e,t,n)=>{let r;const i=jY[e];return typeof i=="string"?r=i:t===1?r=i.one:r=i.other.replace("{{count}}",t.toString()),n!=null&&n.addSuffix?n.comparison&&n.comparison>0?"in "+r:r+" ago":r};function O1(e){return(t={})=>{const n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}const FY={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},zY={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},$Y={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},VY={date:O1({formats:FY,defaultWidth:"full"}),time:O1({formats:zY,defaultWidth:"full"}),dateTime:O1({formats:$Y,defaultWidth:"full"})},GY={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},WY=(e,t,n,r)=>GY[e];function If(e){return(t,n)=>{const r=n!=null&&n.context?String(n.context):"standalone";let i;if(r==="formatting"&&e.formattingValues){const c=e.defaultFormattingWidth||e.defaultWidth,a=n!=null&&n.width?String(n.width):c;i=e.formattingValues[a]||e.formattingValues[c]}else{const c=e.defaultWidth,a=n!=null&&n.width?String(n.width):e.defaultWidth;i=e.values[a]||e.values[c]}const s=e.argumentCallback?e.argumentCallback(t):t;return i[s]}}const UY={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},HY={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},XY={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},ZY={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},YY={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},qY={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},JY={ordinalNumber:(e,t)=>{const n=Number(e),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},era:If({values:UY,defaultWidth:"wide"}),quarter:If({values:HY,defaultWidth:"wide",argumentCallback:e=>e-1}),month:If({values:XY,defaultWidth:"wide"}),day:If({values:ZY,defaultWidth:"wide"}),dayPeriod:If({values:YY,defaultWidth:"wide",formattingValues:qY,defaultFormattingWidth:"wide"})};function Pf(e){return(t,n={})=>{const r=n.width,i=r&&e.matchPatterns[r]||e.matchPatterns[e.defaultMatchWidth],s=t.match(i);if(!s)return null;const c=s[0],a=r&&e.parsePatterns[r]||e.parsePatterns[e.defaultParseWidth],d=Array.isArray(a)?QY(a,g=>g.test(c)):KY(a,g=>g.test(c));let p;p=e.valueCallback?e.valueCallback(d):d,p=n.valueCallback?n.valueCallback(p):p;const y=t.slice(c.length);return{value:p,rest:y}}}function KY(e,t){for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function QY(e,t){for(let n=0;n<e.length;n++)if(t(e[n]))return n}function eq(e){return(t,n={})=>{const r=t.match(e.matchPattern);if(!r)return null;const i=r[0],s=t.match(e.parsePattern);if(!s)return null;let c=e.valueCallback?e.valueCallback(s[0]):s[0];c=n.valueCallback?n.valueCallback(c):c;const a=t.slice(i.length);return{value:c,rest:a}}}const tq=/^(\d+)(th|st|nd|rd)?/i,nq=/\d+/i,rq={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},iq={any:[/^b/i,/^(a|c)/i]},aq={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},sq={any:[/1/i,/2/i,/3/i,/4/i]},oq={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},lq={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},cq={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},uq={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},hq={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},dq={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},fq={ordinalNumber:eq({matchPattern:tq,parsePattern:nq,valueCallback:e=>parseInt(e,10)}),era:Pf({matchPatterns:rq,defaultMatchWidth:"wide",parsePatterns:iq,defaultParseWidth:"any"}),quarter:Pf({matchPatterns:aq,defaultMatchWidth:"wide",parsePatterns:sq,defaultParseWidth:"any",valueCallback:e=>e+1}),month:Pf({matchPatterns:oq,defaultMatchWidth:"wide",parsePatterns:lq,defaultParseWidth:"any"}),day:Pf({matchPatterns:cq,defaultMatchWidth:"wide",parsePatterns:uq,defaultParseWidth:"any"}),dayPeriod:Pf({matchPatterns:hq,defaultMatchWidth:"any",parsePatterns:dq,defaultParseWidth:"any"})},uy={code:"en-US",formatDistance:BY,formatLong:VY,formatRelative:WY,localize:JY,match:fq,options:{weekStartsOn:0,firstWeekContainsDate:1}};function pq(e,t){const n=Tr(e,t==null?void 0:t.in);return pP(n,gP(n))+1}function vP(e,t){const n=Tr(e,t==null?void 0:t.in),r=+Af(n)-+MY(n);return Math.round(r/lP)+1}function bP(e,t){var y,g,b,w;const n=Tr(e,t==null?void 0:t.in),r=n.getFullYear(),i=Mf(),s=(t==null?void 0:t.firstWeekContainsDate)??((g=(y=t==null?void 0:t.locale)==null?void 0:y.options)==null?void 0:g.firstWeekContainsDate)??i.firstWeekContainsDate??((w=(b=i.locale)==null?void 0:b.options)==null?void 0:w.firstWeekContainsDate)??1,c=ui((t==null?void 0:t.in)||e,0);c.setFullYear(r+1,0,s),c.setHours(0,0,0,0);const a=rh(c,t),d=ui((t==null?void 0:t.in)||e,0);d.setFullYear(r,0,s),d.setHours(0,0,0,0);const p=rh(d,t);return+n>=+a?r+1:+n>=+p?r:r-1}function mq(e,t){var a,d,p,y;const n=Mf(),r=(t==null?void 0:t.firstWeekContainsDate)??((d=(a=t==null?void 0:t.locale)==null?void 0:a.options)==null?void 0:d.firstWeekContainsDate)??n.firstWeekContainsDate??((y=(p=n.locale)==null?void 0:p.options)==null?void 0:y.firstWeekContainsDate)??1,i=bP(e,t),s=ui((t==null?void 0:t.in)||e,0);return s.setFullYear(i,0,r),s.setHours(0,0,0,0),rh(s,t)}function xP(e,t){const n=Tr(e,t==null?void 0:t.in),r=+rh(n,t)-+mq(n,t);return Math.round(r/lP)+1}function gr(e,t){const n=e<0?"-":"",r=Math.abs(e).toString().padStart(t,"0");return n+r}const Al={y(e,t){const n=e.getFullYear(),r=n>0?n:1-n;return gr(t==="yy"?r%100:r,t.length)},M(e,t){const n=e.getMonth();return t==="M"?String(n+1):gr(n+1,2)},d(e,t){return gr(e.getDate(),t.length)},a(e,t){const n=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.toUpperCase();case"aaa":return n;case"aaaaa":return n[0];case"aaaa":default:return n==="am"?"a.m.":"p.m."}},h(e,t){return gr(e.getHours()%12||12,t.length)},H(e,t){return gr(e.getHours(),t.length)},m(e,t){return gr(e.getMinutes(),t.length)},s(e,t){return gr(e.getSeconds(),t.length)},S(e,t){const n=t.length,r=e.getMilliseconds(),i=Math.trunc(r*Math.pow(10,n-3));return gr(i,t.length)}},ih={am:"am",pm:"pm",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},_P={G:function(e,t,n){const r=e.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return n.era(r,{width:"abbreviated"});case"GGGGG":return n.era(r,{width:"narrow"});case"GGGG":default:return n.era(r,{width:"wide"})}},y:function(e,t,n){if(t==="yo"){const r=e.getFullYear(),i=r>0?r:1-r;return n.ordinalNumber(i,{unit:"year"})}return Al.y(e,t)},Y:function(e,t,n,r){const i=bP(e,r),s=i>0?i:1-i;if(t==="YY"){const c=s%100;return gr(c,2)}return t==="Yo"?n.ordinalNumber(s,{unit:"year"}):gr(s,t.length)},R:function(e,t){const n=dP(e);return gr(n,t.length)},u:function(e,t){const n=e.getFullYear();return gr(n,t.length)},Q:function(e,t,n){const r=Math.ceil((e.getMonth()+1)/3);switch(t){case"Q":return String(r);case"QQ":return gr(r,2);case"Qo":return n.ordinalNumber(r,{unit:"quarter"});case"QQQ":return n.quarter(r,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(r,{width:"narrow",context:"formatting"});case"QQQQ":default:return n.quarter(r,{width:"wide",context:"formatting"})}},q:function(e,t,n){const r=Math.ceil((e.getMonth()+1)/3);switch(t){case"q":return String(r);case"qq":return gr(r,2);case"qo":return n.ordinalNumber(r,{unit:"quarter"});case"qqq":return n.quarter(r,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(r,{width:"narrow",context:"standalone"});case"qqqq":default:return n.quarter(r,{width:"wide",context:"standalone"})}},M:function(e,t,n){const r=e.getMonth();switch(t){case"M":case"MM":return Al.M(e,t);case"Mo":return n.ordinalNumber(r+1,{unit:"month"});case"MMM":return n.month(r,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(r,{width:"narrow",context:"formatting"});case"MMMM":default:return n.month(r,{width:"wide",context:"formatting"})}},L:function(e,t,n){const r=e.getMonth();switch(t){case"L":return String(r+1);case"LL":return gr(r+1,2);case"Lo":return n.ordinalNumber(r+1,{unit:"month"});case"LLL":return n.month(r,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(r,{width:"narrow",context:"standalone"});case"LLLL":default:return n.month(r,{width:"wide",context:"standalone"})}},w:function(e,t,n,r){const i=xP(e,r);return t==="wo"?n.ordinalNumber(i,{unit:"week"}):gr(i,t.length)},I:function(e,t,n){const r=vP(e);return t==="Io"?n.ordinalNumber(r,{unit:"week"}):gr(r,t.length)},d:function(e,t,n){return t==="do"?n.ordinalNumber(e.getDate(),{unit:"date"}):Al.d(e,t)},D:function(e,t,n){const r=pq(e);return t==="Do"?n.ordinalNumber(r,{unit:"dayOfYear"}):gr(r,t.length)},E:function(e,t,n){const r=e.getDay();switch(t){case"E":case"EE":case"EEE":return n.day(r,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(r,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(r,{width:"short",context:"formatting"});case"EEEE":default:return n.day(r,{width:"wide",context:"formatting"})}},e:function(e,t,n,r){const i=e.getDay(),s=(i-r.weekStartsOn+8)%7||7;switch(t){case"e":return String(s);case"ee":return gr(s,2);case"eo":return n.ordinalNumber(s,{unit:"day"});case"eee":return n.day(i,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(i,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(i,{width:"short",context:"formatting"});case"eeee":default:return n.day(i,{width:"wide",context:"formatting"})}},c:function(e,t,n,r){const i=e.getDay(),s=(i-r.weekStartsOn+8)%7||7;switch(t){case"c":return String(s);case"cc":return gr(s,t.length);case"co":return n.ordinalNumber(s,{unit:"day"});case"ccc":return n.day(i,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(i,{width:"narrow",context:"standalone"});case"cccccc":return n.day(i,{width:"short",context:"standalone"});case"cccc":default:return n.day(i,{width:"wide",context:"standalone"})}},i:function(e,t,n){const r=e.getDay(),i=r===0?7:r;switch(t){case"i":return String(i);case"ii":return gr(i,t.length);case"io":return n.ordinalNumber(i,{unit:"day"});case"iii":return n.day(r,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(r,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(r,{width:"short",context:"formatting"});case"iiii":default:return n.day(r,{width:"wide",context:"formatting"})}},a:function(e,t,n){const i=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(i,{width:"narrow",context:"formatting"});case"aaaa":default:return n.dayPeriod(i,{width:"wide",context:"formatting"})}},b:function(e,t,n){const r=e.getHours();let i;switch(r===12?i=ih.noon:r===0?i=ih.midnight:i=r/12>=1?"pm":"am",t){case"b":case"bb":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(i,{width:"narrow",context:"formatting"});case"bbbb":default:return n.dayPeriod(i,{width:"wide",context:"formatting"})}},B:function(e,t,n){const r=e.getHours();let i;switch(r>=17?i=ih.evening:r>=12?i=ih.afternoon:r>=4?i=ih.morning:i=ih.night,t){case"B":case"BB":case"BBB":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(i,{width:"narrow",context:"formatting"});case"BBBB":default:return n.dayPeriod(i,{width:"wide",context:"formatting"})}},h:function(e,t,n){if(t==="ho"){let r=e.getHours()%12;return r===0&&(r=12),n.ordinalNumber(r,{unit:"hour"})}return Al.h(e,t)},H:function(e,t,n){return t==="Ho"?n.ordinalNumber(e.getHours(),{unit:"hour"}):Al.H(e,t)},K:function(e,t,n){const r=e.getHours()%12;return t==="Ko"?n.ordinalNumber(r,{unit:"hour"}):gr(r,t.length)},k:function(e,t,n){let r=e.getHours();return r===0&&(r=24),t==="ko"?n.ordinalNumber(r,{unit:"hour"}):gr(r,t.length)},m:function(e,t,n){return t==="mo"?n.ordinalNumber(e.getMinutes(),{unit:"minute"}):Al.m(e,t)},s:function(e,t,n){return t==="so"?n.ordinalNumber(e.getSeconds(),{unit:"second"}):Al.s(e,t)},S:function(e,t){return Al.S(e,t)},X:function(e,t,n){const r=e.getTimezoneOffset();if(r===0)return"Z";switch(t){case"X":return SP(r);case"XXXX":case"XX":return Cc(r);case"XXXXX":case"XXX":default:return Cc(r,":")}},x:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"x":return SP(r);case"xxxx":case"xx":return Cc(r);case"xxxxx":case"xxx":default:return Cc(r,":")}},O:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+wP(r,":");case"OOOO":default:return"GMT"+Cc(r,":")}},z:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+wP(r,":");case"zzzz":default:return"GMT"+Cc(r,":")}},t:function(e,t,n){const r=Math.trunc(+e/1e3);return gr(r,t.length)},T:function(e,t,n){return gr(+e,t.length)}};function wP(e,t=""){const n=e>0?"-":"+",r=Math.abs(e),i=Math.trunc(r/60),s=r%60;return s===0?n+String(i):n+String(i)+t+gr(s,2)}function SP(e,t){return e%60===0?(e>0?"-":"+")+gr(Math.abs(e)/60,2):Cc(e,t)}function Cc(e,t=""){const n=e>0?"-":"+",r=Math.abs(e),i=gr(Math.trunc(r/60),2),s=gr(r%60,2);return n+i+t+s}const CP=(e,t)=>{switch(e){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});case"PPPP":default:return t.date({width:"full"})}},MP=(e,t)=>{switch(e){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});case"pppp":default:return t.time({width:"full"})}},gq={p:MP,P:(e,t)=>{const n=e.match(/(P+)(p+)?/)||[],r=n[1],i=n[2];if(!i)return CP(e,t);let s;switch(r){case"P":s=t.dateTime({width:"short"});break;case"PP":s=t.dateTime({width:"medium"});break;case"PPP":s=t.dateTime({width:"long"});break;case"PPPP":default:s=t.dateTime({width:"full"});break}return s.replace("{{date}}",CP(r,t)).replace("{{time}}",MP(i,t))}},yq=/^D+$/,vq=/^Y+$/,bq=["D","DD","YY","YYYY"];function xq(e){return yq.test(e)}function _q(e){return vq.test(e)}function wq(e,t,n){const r=Sq(e,t,n);if(console.warn(r),bq.includes(e))throw new RangeError(r)}function Sq(e,t,n){const r=e[0]==="Y"?"years":"days of the month";return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${r} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}const Cq=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,Mq=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,Aq=/^'([^]*?)'?$/,Eq=/''/g,Tq=/[a-zA-Z]/;function Iq(e,t,n){var y,g,b,w,S,C,M,O;const r=Mf(),i=(n==null?void 0:n.locale)??r.locale??uy,s=(n==null?void 0:n.firstWeekContainsDate)??((g=(y=n==null?void 0:n.locale)==null?void 0:y.options)==null?void 0:g.firstWeekContainsDate)??r.firstWeekContainsDate??((w=(b=r.locale)==null?void 0:b.options)==null?void 0:w.firstWeekContainsDate)??1,c=(n==null?void 0:n.weekStartsOn)??((C=(S=n==null?void 0:n.locale)==null?void 0:S.options)==null?void 0:C.weekStartsOn)??r.weekStartsOn??((O=(M=r.locale)==null?void 0:M.options)==null?void 0:O.weekStartsOn)??0,a=Tr(e,n==null?void 0:n.in);if(!OY(a))throw new RangeError("Invalid time value");let d=t.match(Mq).map(I=>{const D=I[0];if(D==="p"||D==="P"){const N=gq[D];return N(I,i.formatLong)}return I}).join("").match(Cq).map(I=>{if(I==="''")return{isToken:!1,value:"'"};const D=I[0];if(D==="'")return{isToken:!1,value:Pq(I)};if(_P[D])return{isToken:!0,value:I};if(D.match(Tq))throw new RangeError("Format string contains an unescaped latin alphabet character `"+D+"`");return{isToken:!1,value:I}});i.localize.preprocessor&&(d=i.localize.preprocessor(a,d));const p={firstWeekContainsDate:s,weekStartsOn:c,locale:i};return d.map(I=>{if(!I.isToken)return I.value;const D=I.value;(!(n!=null&&n.useAdditionalWeekYearTokens)&&_q(D)||!(n!=null&&n.useAdditionalDayOfYearTokens)&&xq(D))&&wq(D,t,String(e));const N=_P[D[0]];return N(a,D,i.localize,p)}).join("")}function Pq(e){const t=e.match(Aq);return t?t[1].replace(Eq,"'"):e}function Oq(e,t){const n=Tr(e,t==null?void 0:t.in),r=n.getFullYear(),i=n.getMonth(),s=ui(n,0);return s.setFullYear(r,i+1,0),s.setHours(0,0,0,0),s.getDate()}function kq(e,t){return+Tr(e)>+Tr(t)}function Dq(e,t){return+Tr(e)<+Tr(t)}function Lq(e,t,n){const[r,i]=Ef(n==null?void 0:n.in,e,t);return r.getFullYear()===i.getFullYear()&&r.getMonth()===i.getMonth()}function Nq(e,t,n){const[r,i]=Ef(n==null?void 0:n.in,e,t);return r.getFullYear()===i.getFullYear()}function Rq(e,t,n){const r=Tr(e,n==null?void 0:n.in),i=r.getFullYear(),s=r.getDate(),c=ui(e,0);c.setFullYear(i,t,15),c.setHours(0,0,0,0);const a=Oq(c);return r.setMonth(t,Math.min(s,a)),r}function jq(e,t,n){const r=Tr(e,n==null?void 0:n.in);return isNaN(+r)?ui(e,NaN):(r.setFullYear(t),r)}const AP=5,Bq=4;function Fq(e,t){const n=t.startOfMonth(e),r=n.getDay()>0?n.getDay():7,i=t.addDays(e,-r+1),s=t.addDays(i,AP*7-1);return e.getMonth()===s.getMonth()?AP:Bq}function EP(e,t){const n=t.startOfMonth(e),r=n.getDay();return r===1?n:r===0?t.addDays(n,-1*6):t.addDays(n,-1*(r-1))}function zq(e,t){const n=EP(e,t),r=Fq(e,t);return t.addDays(n,r*7-1)}class Oo{constructor(t,n){this.Date=Date,this.addDays=(r,i)=>{var s;return(s=this.overrides)!=null&&s.addDays?this.overrides.addDays(r,i):uP(r,i)},this.addMonths=(r,i)=>{var s;return(s=this.overrides)!=null&&s.addMonths?this.overrides.addMonths(r,i):hP(r,i)},this.addWeeks=(r,i)=>{var s;return(s=this.overrides)!=null&&s.addWeeks?this.overrides.addWeeks(r,i):AY(r,i)},this.addYears=(r,i)=>{var s;return(s=this.overrides)!=null&&s.addYears?this.overrides.addYears(r,i):EY(r,i)},this.differenceInCalendarDays=(r,i)=>{var s;return(s=this.overrides)!=null&&s.differenceInCalendarDays?this.overrides.differenceInCalendarDays(r,i):pP(r,i)},this.differenceInCalendarMonths=(r,i)=>{var s;return(s=this.overrides)!=null&&s.differenceInCalendarMonths?this.overrides.differenceInCalendarMonths(r,i):kY(r,i)},this.endOfBroadcastWeek=r=>{var i;return(i=this.overrides)!=null&&i.endOfBroadcastWeek?this.overrides.endOfBroadcastWeek(r,this):zq(r,this)},this.endOfISOWeek=r=>{var i;return(i=this.overrides)!=null&&i.endOfISOWeek?this.overrides.endOfISOWeek(r):RY(r)},this.endOfMonth=r=>{var i;return(i=this.overrides)!=null&&i.endOfMonth?this.overrides.endOfMonth(r):DY(r)},this.endOfWeek=r=>{var i;return(i=this.overrides)!=null&&i.endOfWeek?this.overrides.endOfWeek(r,this.options):yP(r,this.options)},this.endOfYear=r=>{var i;return(i=this.overrides)!=null&&i.endOfYear?this.overrides.endOfYear(r):NY(r)},this.format=(r,i)=>{var s;return(s=this.overrides)!=null&&s.format?this.overrides.format(r,i,this.options):Iq(r,i,this.options)},this.getISOWeek=r=>{var i;return(i=this.overrides)!=null&&i.getISOWeek?this.overrides.getISOWeek(r):vP(r)},this.getWeek=r=>{var i;return(i=this.overrides)!=null&&i.getWeek?this.overrides.getWeek(r,this.options):xP(r,this.options)},this.isAfter=(r,i)=>{var s;return(s=this.overrides)!=null&&s.isAfter?this.overrides.isAfter(r,i):kq(r,i)},this.isBefore=(r,i)=>{var s;return(s=this.overrides)!=null&&s.isBefore?this.overrides.isBefore(r,i):Dq(r,i)},this.isDate=r=>{var i;return(i=this.overrides)!=null&&i.isDate?this.overrides.isDate(r):mP(r)},this.isSameDay=(r,i)=>{var s;return(s=this.overrides)!=null&&s.isSameDay?this.overrides.isSameDay(r,i):PY(r,i)},this.isSameMonth=(r,i)=>{var s;return(s=this.overrides)!=null&&s.isSameMonth?this.overrides.isSameMonth(r,i):Lq(r,i)},this.isSameYear=(r,i)=>{var s;return(s=this.overrides)!=null&&s.isSameYear?this.overrides.isSameYear(r,i):Nq(r,i)},this.max=r=>{var i;return(i=this.overrides)!=null&&i.max?this.overrides.max(r):TY(r)},this.min=r=>{var i;return(i=this.overrides)!=null&&i.min?this.overrides.min(r):IY(r)},this.setMonth=(r,i)=>{var s;return(s=this.overrides)!=null&&s.setMonth?this.overrides.setMonth(r,i):Rq(r,i)},this.setYear=(r,i)=>{var s;return(s=this.overrides)!=null&&s.setYear?this.overrides.setYear(r,i):jq(r,i)},this.startOfBroadcastWeek=r=>{var i;return(i=this.overrides)!=null&&i.startOfBroadcastWeek?this.overrides.startOfBroadcastWeek(r,this):EP(r,this)},this.startOfDay=r=>{var i;return(i=this.overrides)!=null&&i.startOfDay?this.overrides.startOfDay(r):Tf(r)},this.startOfISOWeek=r=>{var i;return(i=this.overrides)!=null&&i.startOfISOWeek?this.overrides.startOfISOWeek(r):Af(r)},this.startOfMonth=r=>{var i;return(i=this.overrides)!=null&&i.startOfMonth?this.overrides.startOfMonth(r):LY(r)},this.startOfWeek=r=>{var i;return(i=this.overrides)!=null&&i.startOfWeek?this.overrides.startOfWeek(r,this.options):rh(r,this.options)},this.startOfYear=r=>{var i;return(i=this.overrides)!=null&&i.startOfYear?this.overrides.startOfYear(r):gP(r)},this.options={locale:uy,...t},this.overrides=n}}const Mc=new Oo;function $q(e,t,n={}){return Object.entries(e).filter(([,i])=>i===!0).reduce((i,[s])=>(n[s]?i.push(n[s]):t[Er[s]]?i.push(t[Er[s]]):t[xs[s]]&&i.push(t[xs[s]]),i),[t[Tn.Day]])}function Vq(e){return X.createElement("button",{...e})}function Gq(e){return X.createElement("span",{...e})}function Wq(e){const{size:t=24,orientation:n="left",className:r}=e;return X.createElement("svg",{className:r,width:t,height:t,viewBox:"0 0 24 24"},n==="up"&&X.createElement("polygon",{points:"6.77 17 12.5 11.43 18.24 17 20 15.28 12.5 8 5 15.28"}),n==="down"&&X.createElement("polygon",{points:"6.77 8 12.5 13.57 18.24 8 20 9.72 12.5 17 5 9.72"}),n==="left"&&X.createElement("polygon",{points:"16 18.112 9.81111111 12 16 5.87733333 14.0888889 4 6 12 14.0888889 20"}),n==="right"&&X.createElement("polygon",{points:"8 18.612 14.1888889 12.5 8 6.37733333 9.91111111 4.5 18 12.5 9.91111111 20.5"}))}function Uq(e){const{day:t,modifiers:n,...r}=e;return X.createElement("td",{...r})}function Hq(e){const{day:t,modifiers:n,...r}=e,i=X.useRef(null);return X.useEffect(()=>{var s;n.focused&&((s=i.current)==null||s.focus())},[n.focused]),X.createElement("button",{ref:i,...r})}function Xq(e){const{options:t,className:n,components:r,classNames:i,...s}=e,c=[i[Tn.Dropdown],n].join(" "),a=t==null?void 0:t.find(({value:d})=>d===s.value);return X.createElement("span",{"data-disabled":s.disabled,className:i[Tn.DropdownRoot]},X.createElement(r.Select,{className:c,...s},t==null?void 0:t.map(({value:d,label:p,disabled:y})=>X.createElement(r.Option,{key:d,value:d,disabled:y},p))),X.createElement("span",{className:i[Tn.CaptionLabel],"aria-hidden":!0},a==null?void 0:a.label,X.createElement(r.Chevron,{orientation:"down",size:18,className:i[Tn.Chevron]})))}function Zq(e){return X.createElement("div",{...e})}function Yq(e){return X.createElement("div",{...e})}function qq(e){const{calendarMonth:t,displayIndex:n,...r}=e;return X.createElement("div",{...r},e.children)}function Jq(e){const{calendarMonth:t,displayIndex:n,...r}=e;return X.createElement("div",{...r})}function Kq(e){return X.createElement("table",{...e})}function Qq(e){return X.createElement("div",{...e})}const TP=X.createContext(void 0);function Of(){const e=X.useContext(TP);if(e===void 0)throw new Error("useDayPicker() must be used within a custom component.");return e}function eJ(e){const{components:t}=Of();return X.createElement(t.Dropdown,{...e})}function tJ(e){const{onPreviousClick:t,onNextClick:n,previousMonth:r,nextMonth:i,...s}=e,{components:c,classNames:a,labels:{labelPrevious:d,labelNext:p}}=Of();return X.createElement("nav",{...s},X.createElement(c.PreviousMonthButton,{type:"button",className:a[Tn.PreviousMonthButton],tabIndex:r?void 0:-1,disabled:r?void 0:!0,"aria-label":d(r),onClick:e.onPreviousClick},X.createElement(c.Chevron,{disabled:r?void 0:!0,className:a[Tn.Chevron],orientation:"left"})),X.createElement(c.NextMonthButton,{type:"button",className:a[Tn.NextMonthButton],tabIndex:i?void 0:-1,disabled:i?void 0:!0,"aria-label":p(i),onClick:e.onNextClick},X.createElement(c.Chevron,{disabled:i?void 0:!0,orientation:"right",className:a[Tn.Chevron]})))}function nJ(e){const{components:t}=Of();return X.createElement(t.Button,{...e})}function rJ(e){return X.createElement("option",{...e})}function iJ(e){const{components:t}=Of();return X.createElement(t.Button,{...e})}function aJ(e){return X.createElement("div",{...e})}function sJ(e){return X.createElement("select",{...e})}function oJ(e){const{week:t,...n}=e;return X.createElement("tr",{...n})}function lJ(e){return X.createElement("th",{...e})}function cJ(e){return X.createElement("thead",{"aria-hidden":!0},X.createElement("tr",{...e}))}function uJ(e){const{week:t,...n}=e;return X.createElement("th",{...n})}function hJ(e){return X.createElement("th",{...e})}function dJ(e){return X.createElement("tbody",{...e})}function fJ(e){const{components:t}=Of();return X.createElement(t.Dropdown,{...e})}const pJ=Object.freeze(Object.defineProperty({__proto__:null,Button:Vq,CaptionLabel:Gq,Chevron:Wq,Day:Uq,DayButton:Hq,Dropdown:Xq,DropdownNav:Zq,Footer:Yq,Month:qq,MonthCaption:Jq,MonthGrid:Kq,Months:Qq,MonthsDropdown:eJ,Nav:tJ,NextMonthButton:nJ,Option:rJ,PreviousMonthButton:iJ,Root:aJ,Select:sJ,Week:oJ,WeekNumber:uJ,WeekNumberHeader:hJ,Weekday:lJ,Weekdays:cJ,Weeks:dJ,YearsDropdown:fJ},Symbol.toStringTag,{value:"Module"}));function mJ(e){return{...pJ,...e}}function gJ(e){const t={"data-mode":e.mode??void 0,"data-required":"required"in e?e.required:void 0,"data-multiple-months":e.numberOfMonths&&e.numberOfMonths>1||void 0,"data-week-numbers":e.showWeekNumber||void 0,"data-broadcast-calendar":e.broadcastCalendar||void 0};return Object.entries(e).forEach(([n,r])=>{n.startsWith("data-")&&(t[n]=r)}),t}function yJ(){const e={};for(const t in Tn)e[Tn[t]]=`rdp-${Tn[t]}`;for(const t in Er)e[Er[t]]=`rdp-${Er[t]}`;for(const t in xs)e[xs[t]]=`rdp-${xs[t]}`;return e}function IP(e,t,n){return(n??new Oo(t)).format(e,"LLLL y")}const vJ=IP;function bJ(e,t,n){return(n??new Oo(t)).format(e,"d")}function xJ(e,t){var n;return(n=t.localize)==null?void 0:n.month(e)}function _J(e){return e<10?`0${e.toLocaleString()}`:`${e.toLocaleString()}`}function wJ(){return""}function SJ(e,t,n){return(n??new Oo(t)).format(e,"cccccc")}function PP(e){return e.toString()}const CJ=Object.freeze(Object.defineProperty({__proto__:null,formatCaption:IP,formatDay:bJ,formatMonthCaption:vJ,formatMonthDropdown:xJ,formatWeekNumber:_J,formatWeekNumberHeader:wJ,formatWeekdayName:SJ,formatYearCaption:PP,formatYearDropdown:PP},Symbol.toStringTag,{value:"Module"}));function MJ(e){return e!=null&&e.formatMonthCaption&&!e.formatCaption&&(e.formatCaption=e.formatMonthCaption),e!=null&&e.formatYearCaption&&!e.formatYearDropdown&&(e.formatYearDropdown=e.formatYearCaption),{...CJ,...e}}function AJ(e,t,n,r,i){if(!t||!n)return;const{addMonths:s,startOfMonth:c}=i,a=e.getFullYear(),d=[];let p=t;for(;d.length<12;)d.push(p.getMonth()),p=s(p,1);return d.sort((b,w)=>b-w).map(b=>{const w=r.formatMonthDropdown(b,i.options.locale??uy),S=i.Date?new i.Date(a,b):new Date(a,b),C=t&&S<c(t)||n&&S>c(n)||!1;return{value:b,label:w,disabled:C}})}function EJ(e,t={},n={}){let r={...t==null?void 0:t[Tn.Day]};return Object.entries(e).filter(([,i])=>i===!0).forEach(([i])=>{r={...r,...n==null?void 0:n[i]}}),r}const k1={},kf={};function Df(e,t){try{const r=(k1[e]||(k1[e]=new Intl.DateTimeFormat("en-GB",{timeZone:e,hour:"numeric",timeZoneName:"longOffset"}).format))(t).split("GMT")[1]||"";return r in kf?kf[r]:OP(r,r.split(":"))}catch{if(e in kf)return kf[e];const n=e==null?void 0:e.match(TJ);return n?OP(e,n.slice(1)):NaN}}const TJ=/([+-]\d\d):?(\d\d)?/;function OP(e,t){const n=+t[0],r=+(t[1]||0);return kf[e]=n>0?n*60+r:n*60-r}class Ys extends Date{constructor(...t){super(),t.length>1&&typeof t[t.length-1]=="string"&&(this.timeZone=t.pop()),this.internal=new Date,isNaN(Df(this.timeZone,this))?this.setTime(NaN):t.length?typeof t[0]=="number"&&(t.length===1||t.length===2&&typeof t[1]!="number")?this.setTime(t[0]):typeof t[0]=="string"?this.setTime(+new Date(t[0])):t[0]instanceof Date?this.setTime(+t[0]):(this.setTime(+new Date(...t)),DP(this),D1(this)):this.setTime(Date.now())}static tz(t,...n){return n.length?new Ys(...n,t):new Ys(Date.now(),t)}withTimeZone(t){return new Ys(+this,t)}getTimezoneOffset(){return-Df(this.timeZone,this)}setTime(t){return Date.prototype.setTime.apply(this,arguments),D1(this),+this}[Symbol.for("constructDateFrom")](t){return new Ys(+new Date(t),this.timeZone)}}const kP=/^(get|set)(?!UTC)/;Object.getOwnPropertyNames(Date.prototype).forEach(e=>{if(!kP.test(e))return;const t=e.replace(kP,"$1UTC");Ys.prototype[t]&&(e.startsWith("get")?Ys.prototype[e]=function(){return this.internal[t]()}:(Ys.prototype[e]=function(){return Date.prototype[t].apply(this.internal,arguments),IJ(this),+this},Ys.prototype[t]=function(){return Date.prototype[t].apply(this,arguments),D1(this),+this}))});function D1(e){e.internal.setTime(+e),e.internal.setUTCMinutes(e.internal.getUTCMinutes()-e.getTimezoneOffset())}function IJ(e){Date.prototype.setFullYear.call(e,e.internal.getUTCFullYear(),e.internal.getUTCMonth(),e.internal.getUTCDate()),Date.prototype.setHours.call(e,e.internal.getUTCHours(),e.internal.getUTCMinutes(),e.internal.getUTCSeconds(),e.internal.getUTCMilliseconds()),DP(e)}function DP(e){const t=Df(e.timeZone,e),n=new Date(+e);n.setUTCHours(n.getUTCHours()-1);const r=-new Date(+e).getTimezoneOffset(),i=-new Date(+n).getTimezoneOffset(),s=r-i,c=Date.prototype.getHours.apply(e)!==e.internal.getUTCHours();s&&c&&e.internal.setUTCMinutes(e.internal.getUTCMinutes()+s);const a=r-t;a&&Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+a);const d=Df(e.timeZone,e),y=-new Date(+e).getTimezoneOffset()-d,g=d!==t,b=y-a;if(g&&b){Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+b);const w=Df(e.timeZone,e),S=d-w;S&&(e.internal.setUTCMinutes(e.internal.getUTCMinutes()+S),Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+S))}}class qs extends Ys{static tz(t,...n){return n.length?new qs(...n,t):new qs(Date.now(),t)}toISOString(){const[t,n,r]=this.tzComponents(),i=`${t}${n}:${r}`;return this.internal.toISOString().slice(0,-1)+i}toString(){return`${this.toDateString()} ${this.toTimeString()}`}toDateString(){const[t,n,r,i]=this.internal.toUTCString().split(" ");return`${t==null?void 0:t.slice(0,-1)} ${r} ${n} ${i}`}toTimeString(){const t=this.internal.toUTCString().split(" ")[4],[n,r,i]=this.tzComponents();return`${t} GMT${n}${r}${i} (${PJ(this.timeZone,this)})`}toLocaleString(t,n){return Date.prototype.toLocaleString.call(this,t,{...n,timeZone:(n==null?void 0:n.timeZone)||this.timeZone})}toLocaleDateString(t,n){return Date.prototype.toLocaleDateString.call(this,t,{...n,timeZone:(n==null?void 0:n.timeZone)||this.timeZone})}toLocaleTimeString(t,n){return Date.prototype.toLocaleTimeString.call(this,t,{...n,timeZone:(n==null?void 0:n.timeZone)||this.timeZone})}tzComponents(){const t=this.getTimezoneOffset(),n=t>0?"-":"+",r=String(Math.floor(Math.abs(t)/60)).padStart(2,"0"),i=String(Math.abs(t)%60).padStart(2,"0");return[n,r,i]}withTimeZone(t){return new qs(+this,t)}[Symbol.for("constructDateFrom")](t){return new qs(+new Date(t),this.timeZone)}}function PJ(e,t){return new Intl.DateTimeFormat("en-GB",{timeZone:e,timeZoneName:"long"}).format(t).slice(12)}function OJ(e,t,n,r){const i=n?qs.tz(n):e.Date?new e.Date:new Date,s=t?e.startOfISOWeek(i):e.startOfWeek(i),c=[];for(let a=0;a<7;a++){const d=e.addDays(s,a);c.push(d)}return c}function kJ(e,t,n,r){if(!e||!t)return;const{startOfYear:i,endOfYear:s,addYears:c,isBefore:a,isSameYear:d}=r,p=i(e),y=s(t),g=[];let b=p;for(;a(b,y)||d(b,y);)g.push(b.getFullYear()),b=c(b,1);return g.map(w=>{const S=n.formatYearDropdown(w);return{value:w,label:S,disabled:!1}})}function LP(e,t,n){return(n??new Oo(t)).format(e,"LLLL y")}const DJ=LP;function LJ(e,t,n,r){let i=(r??new Oo(n)).format(e,"PPPP");return t!=null&&t.today&&(i=`Today, ${i}`),i}function NP(e,t,n,r){let i=(r??new Oo(n)).format(e,"PPPP");return t.today&&(i=`Today, ${i}`),t.selected&&(i=`${i}, selected`),i}const NJ=NP;function RJ(){return""}function jJ(e){return"Choose the Month"}function BJ(e){return"Go to the Next Month"}function FJ(e){return"Go to the Previous Month"}function zJ(e,t,n){return(n??new Oo(t)).format(e,"cccc")}function $J(e,t){return`Week ${e}`}function VJ(e){return"Week Number"}function GJ(e){return"Choose the Year"}const WJ=Object.freeze(Object.defineProperty({__proto__:null,labelCaption:DJ,labelDay:NJ,labelDayButton:NP,labelGrid:LP,labelGridcell:LJ,labelMonthDropdown:jJ,labelNav:RJ,labelNext:BJ,labelPrevious:FJ,labelWeekNumber:$J,labelWeekNumberHeader:VJ,labelWeekday:zJ,labelYearDropdown:GJ},Symbol.toStringTag,{value:"Module"}));function UJ(e,t,n,r){const i=e[0],s=e[e.length-1],{ISOWeek:c,fixedWeeks:a,broadcastCalendar:d}=n??{},{addDays:p,differenceInCalendarDays:y,differenceInCalendarMonths:g,endOfBroadcastWeek:b,endOfISOWeek:w,endOfMonth:S,endOfWeek:C,isAfter:M,startOfBroadcastWeek:O,startOfISOWeek:I,startOfWeek:D}=r,N=d?O(i,r):c?I(i):D(i),k=d?b(s,r):c?w(S(s)):C(S(s)),L=y(k,N),B=g(s,i)+1,q=[];for(let $=0;$<=L;$++){const Y=p(N,$);if(t&&M(Y,t))break;q.push(Y)}const re=(d?35:42)*B;if(a&&q.length<re){const $=re-q.length;for(let Y=0;Y<$;Y++){const G=p(q[q.length-1],1);q.push(G)}}return q}function HJ(e){const t=[];return e.reduce((n,r)=>{const i=[],s=r.weeks.reduce((c,a)=>[...c,...a.days],i);return[...n,...s]},t)}function XJ(e,t,n,r){const{numberOfMonths:i=1}=n,s=[];for(let c=0;c<i;c++){const a=r.addMonths(e,c);if(t&&a>t)break;s.push(a)}return s}function RP(e,t){const{month:n,defaultMonth:r,today:i=e.timeZone?qs.tz(e.timeZone):t.Date?new t.Date:new Date,numberOfMonths:s=1,endMonth:c,startMonth:a}=e;let d=n||r||i;const{differenceInCalendarMonths:p,addMonths:y,startOfMonth:g}=t;if(c&&p(c,d)<0){const b=-1*(s-1);d=y(c,b)}return a&&p(d,a)<0&&(d=a),g(d)}class jP{constructor(t,n,r=Mc){this.date=t,this.displayMonth=n,this.outside=!!(n&&!r.isSameMonth(t,n)),this.dateLib=r}isEqualTo(t){return this.dateLib.isSameDay(t.date,this.date)&&this.dateLib.isSameMonth(t.displayMonth,this.displayMonth)}}class ZJ{constructor(t,n){this.date=t,this.weeks=n}}class YJ{constructor(t,n){this.days=n,this.weekNumber=t}}function qJ(e,t,n,r){const{addDays:i,endOfBroadcastWeek:s,endOfISOWeek:c,endOfMonth:a,endOfWeek:d,getISOWeek:p,getWeek:y,startOfBroadcastWeek:g,startOfISOWeek:b,startOfWeek:w}=r,S=e.reduce((C,M)=>{const O=n.broadcastCalendar?g(M,r):n.ISOWeek?b(M):w(M),I=n.broadcastCalendar?s(M,r):n.ISOWeek?c(a(M)):d(a(M)),D=t.filter(B=>B>=O&&B<=I),N=n.broadcastCalendar?35:42;if(n.fixedWeeks&&D.length<N){const B=t.filter(q=>{const ne=N-D.length;return q>I&&q<=i(I,ne)});D.push(...B)}const k=D.reduce((B,q)=>{const ne=n.ISOWeek?p(q):y(q),re=B.find(Y=>Y.weekNumber===ne),$=new jP(q,M,r);return re?re.days.push($):B.push(new YJ(ne,[$])),B},[]),L=new ZJ(M,k);return C.push(L),C},[]);return n.reverseMonths?S.reverse():S}function JJ(e,t){var C;let{startMonth:n,endMonth:r}=e;const{startOfYear:i,startOfDay:s,startOfMonth:c,endOfMonth:a,addYears:d,endOfYear:p}=t,{fromYear:y,toYear:g,fromMonth:b,toMonth:w}=e;!n&&b&&(n=b),!n&&y&&(n=new Date(y,0,1)),!r&&w&&(r=w),!r&&g&&(r=new Date(g,11,31));const S=(C=e.captionLayout)==null?void 0:C.startsWith("dropdown");if(n)n=c(n);else if(y)n=new Date(y,0,1);else if(!n&&S){const M=e.today??(e.timeZone?qs.tz(e.timeZone):t.Date?new t.Date:new Date);n=i(d(M,-100))}if(r)r=a(r);else if(g)r=new Date(g,11,31);else if(!r&&S){const M=e.today??(e.timeZone?qs.tz(e.timeZone):t.Date?new t.Date:new Date);r=p(M)}return[n&&s(n),r&&s(r)]}function KJ(e,t,n,r){if(n.disableNavigation)return;const{pagedNavigation:i,numberOfMonths:s=1}=n,{startOfMonth:c,addMonths:a,differenceInCalendarMonths:d}=r,p=i?s:1,y=c(e);if(!t)return a(y,p);if(!(d(t,e)<s))return a(y,p)}function QJ(e,t,n,r){if(n.disableNavigation)return;const{pagedNavigation:i,numberOfMonths:s}=n,{startOfMonth:c,addMonths:a,differenceInCalendarMonths:d}=r,p=i?s??1:1,y=c(e);if(!t)return a(y,-p);if(!(d(y,t)<=0))return a(y,-p)}function eK(e){const t=[];return e.reduce((n,r)=>[...n,...r.weeks],t)}function hy(e,t){const[n,r]=X.useState(e);return[t===void 0?n:t,r]}function tK(e,t){const[n,r]=JJ(e,t),{startOfMonth:i,endOfMonth:s}=t,c=RP(e,t),[a,d]=hy(c,e.month?i(e.month):void 0);X.useEffect(()=>{const L=RP(e,t);d(L)},[e.timeZone]);const p=XJ(a,r,e,t),y=UJ(p,e.endMonth?s(e.endMonth):void 0,e,t),g=qJ(p,y,e,t),b=eK(g),w=HJ(g),S=QJ(a,n,e,t),C=KJ(a,r,e,t),{disableNavigation:M,onMonthChange:O}=e,I=L=>b.some(B=>B.days.some(q=>q.isEqualTo(L))),D=L=>{if(M)return;let B=i(L);n&&B<i(n)&&(B=i(n)),r&&B>i(r)&&(B=i(r)),d(B),O==null||O(B)};return{months:g,weeks:b,days:w,navStart:n,navEnd:r,previousMonth:S,nextMonth:C,goToMonth:D,goToDay:L=>{I(L)||D(L.date)}}}function nK(e,t,n,r){let i,s=0,c=!1;for(;s<e.length&&!c;){const a=e[s],d=t(a);!d[Er.disabled]&&!d[Er.hidden]&&!d[Er.outside]&&(d[Er.focused]||r!=null&&r.isEqualTo(a)||n(a.date)||d[Er.today])&&(i=a,c=!0),s++}return i||(i=e.find(a=>{const d=t(a);return!d[Er.disabled]&&!d[Er.hidden]&&!d[Er.outside]})),i}function ko(e,t,n=!1,r=Mc){let{from:i,to:s}=e;const{differenceInCalendarDays:c,isSameDay:a}=r;return i&&s?(c(s,i)<0&&([i,s]=[s,i]),c(t,i)>=(n?1:0)&&c(s,t)>=(n?1:0)):!n&&s?a(s,t):!n&&i?a(i,t):!1}function BP(e){return!!(e&&typeof e=="object"&&"before"in e&&"after"in e)}function L1(e){return!!(e&&typeof e=="object"&&"from"in e)}function FP(e){return!!(e&&typeof e=="object"&&"after"in e)}function zP(e){return!!(e&&typeof e=="object"&&"before"in e)}function $P(e){return!!(e&&typeof e=="object"&&"dayOfWeek"in e)}function VP(e,t){return Array.isArray(e)&&e.every(t.isDate)}function Do(e,t,n=Mc){const r=Array.isArray(t)?t:[t],{isSameDay:i,differenceInCalendarDays:s,isAfter:c}=n;return r.some(a=>{if(typeof a=="boolean")return a;if(n.isDate(a))return i(e,a);if(VP(a,n))return a.includes(e);if(L1(a))return ko(a,e,!1,n);if($P(a))return Array.isArray(a.dayOfWeek)?a.dayOfWeek.includes(e.getDay()):a.dayOfWeek===e.getDay();if(BP(a)){const d=s(a.before,e),p=s(a.after,e),y=d>0,g=p<0;return c(a.before,a.after)?g&&y:y||g}return FP(a)?s(e,a.after)>0:zP(a)?s(a.before,e)>0:typeof a=="function"?a(e):!1})}function rK(e,t,n,r,i,s,c){const{ISOWeek:a,broadcastCalendar:d}=s,{addDays:p,addMonths:y,addWeeks:g,addYears:b,endOfBroadcastWeek:w,endOfISOWeek:S,endOfWeek:C,max:M,min:O,startOfBroadcastWeek:I,startOfISOWeek:D,startOfWeek:N}=c;let L={day:p,week:g,month:y,year:b,startOfWeek:B=>d?I(B,c):a?D(B):N(B),endOfWeek:B=>d?w(B,c):a?S(B):C(B)}[e](n,t==="after"?1:-1);return t==="before"&&r?L=M([r,L]):t==="after"&&i&&(L=O([i,L])),L}function GP(e,t,n,r,i,s,c,a=0){if(a>365)return;const d=rK(e,t,n.date,r,i,s,c),p=!!(s.disabled&&Do(d,s.disabled,c)),y=!!(s.hidden&&Do(d,s.hidden,c)),g=d,b=new jP(d,g,c);return!p&&!y?b:GP(e,t,b,r,i,s,c,a+1)}function iK(e,t,n,r,i){const{autoFocus:s}=e,[c,a]=X.useState(),d=nK(t.days,n,r||(()=>!1),c),[p,y]=X.useState(s?d:void 0);return{isFocusTarget:C=>!!(d!=null&&d.isEqualTo(C)),setFocused:y,focused:p,blur:()=>{a(p),y(void 0)},moveFocus:(C,M)=>{if(!p)return;const O=GP(C,M,p,t.navStart,t.navEnd,e,i);O&&(t.goToDay(O),y(O))}}}function aK(e,t,n){const{disabled:r,hidden:i,modifiers:s,showOutsideDays:c,broadcastCalendar:a,today:d}=t,{isSameDay:p,isSameMonth:y,startOfMonth:g,isBefore:b,endOfMonth:w,isAfter:S}=n,C=t.startMonth&&g(t.startMonth),M=t.endMonth&&w(t.endMonth),O={[Er.focused]:[],[Er.outside]:[],[Er.disabled]:[],[Er.hidden]:[],[Er.today]:[]},I={};for(const D of e){const{date:N,displayMonth:k}=D,L=!!(k&&!y(N,k)),B=!!(C&&b(N,C)),q=!!(M&&S(N,M)),ne=!!(r&&Do(N,r,n)),re=!!(i&&Do(N,i,n))||B||q||!a&&!c&&L||a&&c===!1&&L,$=p(N,d??(t.timeZone?qs.tz(t.timeZone):n.Date?new n.Date:new Date));L&&O.outside.push(D),ne&&O.disabled.push(D),re&&O.hidden.push(D),$&&O.today.push(D),s&&Object.keys(s).forEach(Y=>{const G=s==null?void 0:s[Y];G&&Do(N,G,n)&&(I[Y]?I[Y].push(D):I[Y]=[D])})}return D=>{const N={[Er.focused]:!1,[Er.disabled]:!1,[Er.hidden]:!1,[Er.outside]:!1,[Er.today]:!1},k={};for(const L in O){const B=O[L];N[L]=B.some(q=>q===D)}for(const L in I)k[L]=I[L].some(B=>B===D);return{...N,...k}}}function sK(e,t){const{selected:n,required:r,onSelect:i}=e,[s,c]=hy(n,i?n:void 0),a=i?n:s,{isSameDay:d}=t,p=w=>(a==null?void 0:a.some(S=>d(S,w)))??!1,{min:y,max:g}=e;return{selected:a,select:(w,S,C)=>{let M=[...a??[]];if(p(w)){if((a==null?void 0:a.length)===y||r&&(a==null?void 0:a.length)===1)return;M=a==null?void 0:a.filter(O=>!d(O,w))}else(a==null?void 0:a.length)===g?M=[w]:M=[...M,w];return i||c(M),i==null||i(M,w,S,C),M},isSelected:p}}function oK(e,t,n=0,r=0,i=!1,s=Mc){const{from:c,to:a}=t||{},{isSameDay:d,isAfter:p,isBefore:y}=s;let g;if(!c&&!a)g={from:e,to:n>0?void 0:e};else if(c&&!a)d(c,e)?i?g={from:c,to:void 0}:g=void 0:y(e,c)?g={from:e,to:c}:g={from:c,to:e};else if(c&&a)if(d(c,e)&&d(a,e))i?g={from:c,to:a}:g=void 0;else if(d(c,e))g={from:c,to:n>0?void 0:e};else if(d(a,e))g={from:e,to:n>0?void 0:e};else if(y(e,c))g={from:e,to:a};else if(p(e,c))g={from:c,to:e};else if(p(e,a))g={from:c,to:e};else throw new Error("Invalid range");if(g!=null&&g.from&&(g!=null&&g.to)){const b=s.differenceInCalendarDays(g.to,g.from);r>0&&b>r?g={from:e,to:void 0}:n>1&&b<n&&(g={from:e,to:void 0})}return g}function lK(e,t,n=Mc){const r=Array.isArray(t)?t:[t];let i=e.from;const s=n.differenceInCalendarDays(e.to,e.from),c=Math.min(s,6);for(let a=0;a<=c;a++){if(r.includes(i.getDay()))return!0;i=n.addDays(i,1)}return!1}function WP(e,t,n=Mc){return ko(e,t.from,!1,n)||ko(e,t.to,!1,n)||ko(t,e.from,!1,n)||ko(t,e.to,!1,n)}function cK(e,t,n=Mc){const r=Array.isArray(t)?t:[t];if(r.filter(a=>typeof a!="function").some(a=>typeof a=="boolean"?a:n.isDate(a)?ko(e,a,!1,n):VP(a,n)?a.some(d=>ko(e,d,!1,n)):L1(a)?a.from&&a.to?WP(e,{from:a.from,to:a.to},n):!1:$P(a)?lK(e,a.dayOfWeek,n):BP(a)?n.isAfter(a.before,a.after)?WP(e,{from:n.addDays(a.after,1),to:n.addDays(a.before,-1)},n):Do(e.from,a,n)||Do(e.to,a,n):FP(a)||zP(a)?Do(e.from,a,n)||Do(e.to,a,n):!1))return!0;const c=r.filter(a=>typeof a=="function");if(c.length){let a=e.from;const d=n.differenceInCalendarDays(e.to,e.from);for(let p=0;p<=d;p++){if(c.some(y=>y(a)))return!0;a=n.addDays(a,1)}}return!1}function uK(e,t){const{disabled:n,excludeDisabled:r,selected:i,required:s,onSelect:c}=e,[a,d]=hy(i,c?i:void 0),p=c?i:a;return{selected:p,select:(b,w,S)=>{const{min:C,max:M}=e,O=b?oK(b,p,C,M,s,t):void 0;return r&&n&&(O!=null&&O.from)&&O.to&&cK({from:O.from,to:O.to},n,t)&&(O.from=b,O.to=void 0),c||d(O),c==null||c(O,b,w,S),O},isSelected:b=>p&&ko(p,b,!1,t)}}function hK(e,t){const{selected:n,required:r,onSelect:i}=e,[s,c]=hy(n,i?n:void 0),a=i?n:s,{isSameDay:d}=t;return{selected:a,select:(g,b,w)=>{let S=g;return!r&&a&&a&&d(g,a)&&(S=void 0),i||c(S),i==null||i(S,g,b,w),S},isSelected:g=>a?d(a,g):!1}}function dK(e,t){const n=hK(e,t),r=sK(e,t),i=uK(e,t);switch(e.mode){case"single":return n;case"multiple":return r;case"range":return i;default:return}}function fK(e){const{components:t,formatters:n,labels:r,dateLib:i,locale:s,classNames:c}=X.useMemo(()=>{const pt={...uy,...e.locale};return{dateLib:new Oo({locale:pt,weekStartsOn:e.broadcastCalendar?1:e.weekStartsOn,firstWeekContainsDate:e.firstWeekContainsDate,useAdditionalWeekYearTokens:e.useAdditionalWeekYearTokens,useAdditionalDayOfYearTokens:e.useAdditionalDayOfYearTokens},e.dateLib),components:mJ(e.components),formatters:MJ(e.formatters),labels:{...WJ,...e.labels},locale:pt,classNames:{...yJ(),...e.classNames}}},[e.classNames,e.components,e.dateLib,e.firstWeekContainsDate,e.formatters,e.labels,e.locale,e.useAdditionalDayOfYearTokens,e.useAdditionalWeekYearTokens,e.weekStartsOn,e.broadcastCalendar]),{captionLayout:a,mode:d,onDayBlur:p,onDayClick:y,onDayFocus:g,onDayKeyDown:b,onDayMouseEnter:w,onDayMouseLeave:S,onNextClick:C,onPrevClick:M,showWeekNumber:O,styles:I}=e,{formatCaption:D,formatDay:N,formatMonthDropdown:k,formatWeekNumber:L,formatWeekNumberHeader:B,formatWeekdayName:q,formatYearDropdown:ne}=n,re=tK(e,i),{days:$,months:Y,navStart:G,navEnd:j,previousMonth:R,nextMonth:Z,goToMonth:U}=re,ie=aK($,e,i),{isSelected:ae,select:K,selected:pe}=dK(e,i)??{},{blur:xe,focused:se,isFocusTarget:ge,moveFocus:Se,setFocused:Ae}=iK(e,re,ie,ae??(()=>!1),i),{labelDayButton:$e,labelGridcell:le,labelGrid:te,labelMonthDropdown:fe,labelNav:Me,labelWeekday:H,labelWeekNumber:de,labelWeekNumberHeader:oe,labelYearDropdown:_e}=r,ce=X.useMemo(()=>OJ(i,e.ISOWeek,e.timeZone),[i,e.ISOWeek,e.timeZone]),Oe=d!==void 0||y!==void 0,Be=X.useCallback(()=>{R&&(U(R),M==null||M(R))},[R,U,M]),Re=X.useCallback(()=>{Z&&(U(Z),C==null||C(Z))},[U,Z,C]),He=X.useCallback((pt,Ke)=>mt=>{mt.preventDefault(),mt.stopPropagation(),Ae(pt),K==null||K(pt.date,Ke,mt),y==null||y(pt.date,Ke,mt)},[K,y,Ae]),ct=X.useCallback((pt,Ke)=>mt=>{Ae(pt),g==null||g(pt.date,Ke,mt)},[g,Ae]),at=X.useCallback((pt,Ke)=>mt=>{xe(),p==null||p(pt.date,Ke,mt)},[xe,p]),ke=X.useCallback((pt,Ke)=>mt=>{const wt={ArrowLeft:["day",e.dir==="rtl"?"after":"before"],ArrowRight:["day",e.dir==="rtl"?"before":"after"],ArrowDown:["week","after"],ArrowUp:["week","before"],PageUp:[mt.shiftKey?"year":"month","before"],PageDown:[mt.shiftKey?"year":"month","after"],Home:["startOfWeek","before"],End:["endOfWeek","after"]};if(wt[mt.key]){mt.preventDefault(),mt.stopPropagation();const[Pt,kt]=wt[mt.key];Se(Pt,kt)}b==null||b(pt.date,Ke,mt)},[Se,b,e.dir]),Te=X.useCallback((pt,Ke)=>mt=>{w==null||w(pt.date,Ke,mt)},[w]),Le=X.useCallback((pt,Ke)=>mt=>{S==null||S(pt.date,Ke,mt)},[S]),ze=X.useCallback(pt=>Ke=>{const mt=Number(Ke.target.value),wt=i.setMonth(i.startOfMonth(pt),mt);U(wt)},[i,U]),Qe=X.useCallback(pt=>Ke=>{const mt=Number(Ke.target.value),wt=i.setYear(i.startOfMonth(pt),mt);U(wt)},[i,U]),{className:Ve,style:it}=X.useMemo(()=>({className:[c[Tn.Root],e.className].filter(Boolean).join(" "),style:{...I==null?void 0:I[Tn.Root],...e.style}}),[c,e.className,e.style,I]),ot=gJ(e),ft={dayPickerProps:e,selected:pe,select:K,isSelected:ae,months:Y,nextMonth:Z,previousMonth:R,goToMonth:U,getModifiers:ie,components:t,classNames:c,styles:I,labels:r,formatters:n};return X.createElement(TP.Provider,{value:ft},X.createElement(t.Root,{className:Ve,style:it,dir:e.dir,id:e.id,lang:e.lang,nonce:e.nonce,title:e.title,role:e.role,"aria-label":e["aria-label"],...ot},X.createElement(t.Months,{className:c[Tn.Months],style:I==null?void 0:I[Tn.Months]},!e.hideNavigation&&X.createElement(t.Nav,{className:c[Tn.Nav],style:I==null?void 0:I[Tn.Nav],"aria-label":Me(),onPreviousClick:Be,onNextClick:Re,previousMonth:R,nextMonth:Z}),Y.map((pt,Ke)=>{const mt=AJ(pt.date,G,j,n,i),wt=kJ(G,j,n,i);return X.createElement(t.Month,{className:c[Tn.Month],style:I==null?void 0:I[Tn.Month],key:Ke,displayIndex:Ke,calendarMonth:pt},X.createElement(t.MonthCaption,{className:c[Tn.MonthCaption],style:I==null?void 0:I[Tn.MonthCaption],calendarMonth:pt,displayIndex:Ke},a!=null&&a.startsWith("dropdown")?X.createElement(t.DropdownNav,{className:c[Tn.Dropdowns],style:I==null?void 0:I[Tn.Dropdowns]},a==="dropdown"||a==="dropdown-months"?X.createElement(t.MonthsDropdown,{className:c[Tn.MonthsDropdown],"aria-label":fe(),classNames:c,components:t,disabled:!!e.disableNavigation,onChange:ze(pt.date),options:mt,style:I==null?void 0:I[Tn.Dropdown],value:pt.date.getMonth()}):X.createElement("span",{role:"status","aria-live":"polite"},k(pt.date.getMonth(),s)),a==="dropdown"||a==="dropdown-years"?X.createElement(t.YearsDropdown,{className:c[Tn.YearsDropdown],"aria-label":_e(i.options),classNames:c,components:t,disabled:!!e.disableNavigation,onChange:Qe(pt.date),options:wt,style:I==null?void 0:I[Tn.Dropdown],value:pt.date.getFullYear()}):X.createElement("span",{role:"status","aria-live":"polite"},ne(pt.date.getFullYear()))):X.createElement(t.CaptionLabel,{className:c[Tn.CaptionLabel],role:"status","aria-live":"polite"},D(pt.date,i.options,i))),X.createElement(t.MonthGrid,{role:"grid","aria-multiselectable":d==="multiple"||d==="range","aria-label":te(pt.date,i.options,i)||void 0,className:c[Tn.MonthGrid],style:I==null?void 0:I[Tn.MonthGrid]},!e.hideWeekdays&&X.createElement(t.Weekdays,{className:c[Tn.Weekdays],style:I==null?void 0:I[Tn.Weekdays]},O&&X.createElement(t.WeekNumberHeader,{"aria-label":oe(i.options),className:c[Tn.WeekNumberHeader],style:I==null?void 0:I[Tn.WeekNumberHeader],scope:"col"},B()),ce.map((Pt,kt)=>X.createElement(t.Weekday,{"aria-label":H(Pt,i.options,i),className:c[Tn.Weekday],key:kt,style:I==null?void 0:I[Tn.Weekday],scope:"col"},q(Pt,i.options,i)))),X.createElement(t.Weeks,{className:c[Tn.Weeks],style:I==null?void 0:I[Tn.Weeks]},pt.weeks.map((Pt,kt)=>X.createElement(t.Week,{className:c[Tn.Week],key:Pt.weekNumber,style:I==null?void 0:I[Tn.Week],week:Pt},O&&X.createElement(t.WeekNumber,{week:Pt,style:I==null?void 0:I[Tn.WeekNumber],"aria-label":de(Pt.weekNumber,{locale:s}),className:c[Tn.WeekNumber],scope:"row",role:"rowheader"},L(Pt.weekNumber)),Pt.days.map(bt=>{const{date:Zt}=bt,Dt=ie(bt);if(Dt[Er.focused]=!Dt.hidden&&!!(se!=null&&se.isEqualTo(bt)),Dt[xs.selected]=!Dt.disabled&&((ae==null?void 0:ae(Zt))||Dt.selected),L1(pe)){const{from:Ce,to:be}=pe;Dt[xs.range_start]=!!(Ce&&be&&i.isSameDay(Zt,Ce)),Dt[xs.range_end]=!!(Ce&&be&&i.isSameDay(Zt,be)),Dt[xs.range_middle]=ko(pe,Zt,!0,i)}const fn=EJ(Dt,I,e.modifiersStyles),An=$q(Dt,c,e.modifiersClassNames),Ue=!Oe&&!Dt.hidden?le(Zt,Dt,i.options,i):void 0;return X.createElement(t.Day,{key:`${i.format(Zt,"yyyy-MM-dd")}_${i.format(bt.displayMonth,"yyyy-MM")}`,day:bt,modifiers:Dt,className:An.join(" "),style:fn,role:"gridcell","aria-selected":Dt.selected||void 0,"aria-label":Ue,"data-day":i.format(Zt,"yyyy-MM-dd"),"data-month":bt.outside?i.format(Zt,"yyyy-MM"):void 0,"data-selected":Dt.selected||void 0,"data-disabled":Dt.disabled||void 0,"data-hidden":Dt.hidden||void 0,"data-outside":bt.outside||void 0,"data-focused":Dt.focused||void 0,"data-today":Dt.today||void 0},!Dt.hidden&&Oe?X.createElement(t.DayButton,{className:c[Tn.DayButton],style:I==null?void 0:I[Tn.DayButton],type:"button",day:bt,modifiers:Dt,disabled:Dt.disabled||void 0,tabIndex:ge(bt)?0:-1,"aria-label":$e(Zt,Dt,i.options,i),onClick:He(bt,Dt),onBlur:at(bt,Dt),onFocus:ct(bt,Dt),onKeyDown:ke(bt,Dt),onMouseEnter:Te(bt,Dt),onMouseLeave:Le(bt,Dt)},N(Zt,i.options,i)):!Dt.hidden&&N(bt.date,i.options,i))}))))))})),e.footer&&X.createElement(t.Footer,{className:c[Tn.Footer],style:I==null?void 0:I[Tn.Footer],role:"status","aria-live":"polite"},e.footer)))}const pK=(mR=rn.getState().configs)==null?void 0:mR.VITE_SENTINAL_HUB_CLIENT_ID;localStorage.getItem("VITE_SENTINAL_HUB_CLIENT_ID");const mK=(gR=rn.getState().configs)==null?void 0:gR.VITE_SENTINAL_HUB_CLIENT_SECRET;localStorage.getItem("VITE_SENTINAL_HUB_CLIENT_SECRET");const dy=X.createContext(null);function gK({children:e}){const[t,n]=X.useState(void 0),[r,i]=X.useState(null);return X.useEffect(()=>{async function s(){try{const c=await bY(pK,mK);n(c.access_token),i(Date.now()+c.expires_in*1e3)}catch(c){console.error("Failed to fetch access token",c),n(null),i(null)}}if(t||s(),r){const c=setTimeout(()=>{s()},r-Date.now()-6e4);return()=>clearTimeout(c)}},[t,r]),J.jsx(dy.Provider,{value:t,children:e})}var N1="Popover",[UP,yEe]=_o(N1,[og]),Lf=og(),[yK,El]=UP(N1),HP=e=>{const{__scopePopover:t,children:n,open:r,defaultOpen:i,onOpenChange:s,modal:c=!1}=e,a=Lf(t),d=Ne.useRef(null),[p,y]=Ne.useState(!1),[g=!1,b]=Nu({prop:r,defaultProp:i,onChange:s});return J.jsx(mA,{...a,children:J.jsx(yK,{scope:t,contentId:mc(),triggerRef:d,open:g,onOpenChange:b,onOpenToggle:Ne.useCallback(()=>b(w=>!w),[b]),hasCustomAnchor:p,onCustomAnchorAdd:Ne.useCallback(()=>y(!0),[]),onCustomAnchorRemove:Ne.useCallback(()=>y(!1),[]),modal:c,children:n})})};HP.displayName=N1;var XP="PopoverAnchor",vK=Ne.forwardRef((e,t)=>{const{__scopePopover:n,...r}=e,i=El(XP,n),s=Lf(n),{onCustomAnchorAdd:c,onCustomAnchorRemove:a}=i;return Ne.useEffect(()=>(c(),()=>a()),[c,a]),J.jsx(px,{...s,...r,ref:t})});vK.displayName=XP;var ZP="PopoverTrigger",YP=Ne.forwardRef((e,t)=>{const{__scopePopover:n,...r}=e,i=El(ZP,n),s=Lf(n),c=ci(t,i.triggerRef),a=J.jsx(Ar.button,{type:"button","aria-haspopup":"dialog","aria-expanded":i.open,"aria-controls":i.contentId,"data-state":eO(i.open),...r,ref:c,onClick:nr(e.onClick,i.onOpenToggle)});return i.hasCustomAnchor?a:J.jsx(px,{asChild:!0,...s,children:a})});YP.displayName=ZP;var R1="PopoverPortal",[bK,xK]=UP(R1,{forceMount:void 0}),qP=e=>{const{__scopePopover:t,forceMount:n,children:r,container:i}=e,s=El(R1,t);return J.jsx(bK,{scope:t,forceMount:n,children:J.jsx(Fs,{present:n||s.open,children:J.jsx(lg,{asChild:!0,container:i,children:r})})})};qP.displayName=R1;var ah="PopoverContent",JP=Ne.forwardRef((e,t)=>{const n=xK(ah,e.__scopePopover),{forceMount:r=n.forceMount,...i}=e,s=El(ah,e.__scopePopover);return J.jsx(Fs,{present:r||s.open,children:s.modal?J.jsx(_K,{...i,ref:t}):J.jsx(wK,{...i,ref:t})})});JP.displayName=ah;var _K=Ne.forwardRef((e,t)=>{const n=El(ah,e.__scopePopover),r=Ne.useRef(null),i=ci(t,r),s=Ne.useRef(!1);return Ne.useEffect(()=>{const c=r.current;if(c)return BT(c)},[]),J.jsx(s1,{as:Ya,allowPinchZoom:!0,children:J.jsx(KP,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:nr(e.onCloseAutoFocus,c=>{var a;c.preventDefault(),s.current||(a=n.triggerRef.current)==null||a.focus()}),onPointerDownOutside:nr(e.onPointerDownOutside,c=>{const a=c.detail.originalEvent,d=a.button===0&&a.ctrlKey===!0,p=a.button===2||d;s.current=p},{checkForDefaultPrevented:!1}),onFocusOutside:nr(e.onFocusOutside,c=>c.preventDefault(),{checkForDefaultPrevented:!1})})})}),wK=Ne.forwardRef((e,t)=>{const n=El(ah,e.__scopePopover),r=Ne.useRef(!1),i=Ne.useRef(!1);return J.jsx(KP,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:s=>{var c,a;(c=e.onCloseAutoFocus)==null||c.call(e,s),s.defaultPrevented||(r.current||(a=n.triggerRef.current)==null||a.focus(),s.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:s=>{var d,p;(d=e.onInteractOutside)==null||d.call(e,s),s.defaultPrevented||(r.current=!0,s.detail.originalEvent.type==="pointerdown"&&(i.current=!0));const c=s.target;((p=n.triggerRef.current)==null?void 0:p.contains(c))&&s.preventDefault(),s.detail.originalEvent.type==="focusin"&&i.current&&s.preventDefault()}})}),KP=Ne.forwardRef((e,t)=>{const{__scopePopover:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:s,disableOutsidePointerEvents:c,onEscapeKeyDown:a,onPointerDownOutside:d,onFocusOutside:p,onInteractOutside:y,...g}=e,b=El(ah,n),w=Lf(n);return ST(),J.jsx(e1,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:s,children:J.jsx(Jm,{asChild:!0,disableOutsidePointerEvents:c,onInteractOutside:y,onEscapeKeyDown:a,onPointerDownOutside:d,onFocusOutside:p,onDismiss:()=>b.onOpenChange(!1),children:J.jsx(gA,{"data-state":eO(b.open),role:"dialog",id:b.contentId,...w,...g,ref:t,style:{...g.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),QP="PopoverClose",SK=Ne.forwardRef((e,t)=>{const{__scopePopover:n,...r}=e,i=El(QP,n);return J.jsx(Ar.button,{type:"button",...r,ref:t,onClick:nr(e.onClick,()=>i.onOpenChange(!1))})});SK.displayName=QP;var CK="PopoverArrow",MK=Ne.forwardRef((e,t)=>{const{__scopePopover:n,...r}=e,i=Lf(n);return J.jsx(yA,{...i,...r,ref:t})});MK.displayName=CK;function eO(e){return e?"open":"closed"}var AK=HP,EK=YP,TK=qP,tO=JP;const IK=AK,PK=EK,nO=Ne.forwardRef(({className:e,align:t="center",sideOffset:n=4,...r},i)=>J.jsx(TK,{children:J.jsx(tO,{ref:i,align:t,sideOffset:n,className:bo("z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...r})}));nO.displayName=tO.displayName;const OK=({children:e,trigger:t})=>J.jsxs(IK,{children:[J.jsx(PK,{asChild:!0,children:t}),J.jsx(nO,{className:"w-80 bg-white dark:bg-gray-900",children:e})]}),kK=e=>J.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:25,height:24,viewBox:"0 0 24 24",fill:"none",...e,children:[J.jsx("path",{stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M21.5 14V6a2 2 0 0 0-2-2h-14a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8M16.5 2v4"}),J.jsx("path",{stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M8.5 2v4M3.5 10h18M16.5 20l2 2 4-4"})]}),DK="max-w-[320px] sm:max-w-[370px] lg:max-w-[420px]";function LK(e,t){if(!e||!t)return!0;console.log("previousBbox",e),console.log("currentBbox",t);const[n,r,i,s]=e,[c,a,d,p]=t,y=oI([n,r],[c,a],{units:"kilometers"}),g=oI([i,s],[d,p],{units:"kilometers"});return y>1||g>1}const NK=({previousMonth:e,nextMonth:t,onPreviousClick:n,onNextClick:r})=>{const i=new Date(e.getFullYear(),e.getMonth()+1,1);return J.jsxs("div",{className:"flex items-center justify-between w-full px-5",children:[J.jsx(Vn,{onClick:n,variant:"ghost",children:J.jsx(gF,{})}),J.jsx("span",{className:"text-lg font-medium text-center mx-4",children:i.toLocaleDateString("en-US",{month:"long",year:"numeric"})}),J.jsx(Vn,{onClick:r,variant:"ghost",children:J.jsx(yF,{})})]})};function RK(){var Y;const{dateRange:e,setDateRange:t,isVisible:n,setIsVisible:r}=X.useContext(Cf),[i,s]=X.useState(!1),[c,a]=X.useState(),d=rn(G=>G.rasterOpacity),p=rn(G=>G.setRasterOpacity),y=rn(G=>G.viewMode),g=G=>{p(G.target.value)},b=rn(G=>G.rasterLayer),w=rn(G=>G.setRasterLayer),{mapRef:S}=X.useContext(ii),C=(Y=S.current)==null?void 0:Y.getMap(),[M,O]=X.useState([]),I=X.useContext(dy),[D,N]=X.useState([]),k=rn(G=>G.showCroppedImages),L=rn(G=>G.setShowCroppedImages),B=G=>!M.some(j=>G.getFullYear()===j.getFullYear()&&G.getMonth()===j.getMonth()&&G.getDate()===j.getDate()),q=G=>{if(console.log("dates inside handleLayerDatesChange",G),G.length>0){let j=!1;c&&(j=G.map(R=>R.getTime()).includes(c.getTime())),G.sort((R,Z)=>Z-R),console.log("setting date range",G[0]),console.log("ddd selectedDate, new dates, isCurrentExist",c,G,j),j?console.log("currently selected date is included in new available dates, itll stay the same"):(console.log("dates doesnt include selected date. choosing most recent date"),a(G[0]),t({start:G[0],end:G[0]}))}else console.log("ddd no available date fetched"),c||t({start:void 0,end:void 0})},ne=X.useCallback(G=>{console.log("inside handlePassDates. options",G),C||console.log("no map instance found to load available dates"),s(!0),(C==null?void 0:C.getZoom())<9&&(console.log("layer is not visible or zoom is smaller than 9"),O([]));const j=C==null?void 0:C.getBounds();let R=[];if(j!=null&&j.getWest()&&(j!=null&&j.getSouth())&&(j!=null&&j.getEast())&&(j!=null&&j.getNorth())?R=[j==null?void 0:j.getWest(),j==null?void 0:j.getSouth(),j==null?void 0:j.getEast(),j==null?void 0:j.getNorth()]:(R=void 0,console.warn("no bounds found. not fetching available dates")),!(G!=null&&G.layerChanged)&&(D==null?void 0:D.length)>0&&!LK(D,R)){N(R),console.log("bbox has not changed significantly"),s(!1);return}N(R),b!=null&&b.getAvailableDates&&R?b.getAvailableDates(R).then(Z=>{const U=Z.map(ie=>{const ae=new Date(ie);return new Date(Date.UTC(ae.getUTCFullYear(),ae.getUTCMonth(),ae.getUTCDate()))});console.log("ddates",U),O(U),q(U)}).finally(()=>{s(!1)}):(I||console.warn("No access token found"),wY({aoi:R,accessToken:I}).then(Z=>{console.log("dates are: ",Z),O(Z),q(Z)}).finally(()=>{s(!1)}))},[c,b,C,O,n,t,s,I]),re=X.useMemo(()=>cy(ne,2e3),[ne]);X.useEffect(()=>(C&&(C==null||C.on("moveend",re),C==null||C.on("zoomend",re)),()=>{C&&(C==null||C.off("moveend",re),C==null||C.off("zoomend",re)),re.cancel()}),[C,re]),X.useEffect(()=>{ne({layerChanged:!0})},[C,b,I]);const $=X.useCallback(G=>{G==="plot"&&L(!0),G==="map"&&L(!1)},[L]);return J.jsxs("div",{className:"flex flex-col gap-2.5",children:[J.jsxs("div",{className:"flex flex-col gap-2 rounded-md bg-zinc-50 dark:bg-zinc-800 p-2",children:[J.jsxs("div",{className:"flex items-center justify-between",children:[J.jsx("h4",{className:"text-base dark:text-gray-100 tracking-tight",children:"Raster Layer"}),J.jsxs("div",{className:"flex items-center space-x-2",children:[J.jsxs(Mx,{defaultValue:k?"plot":"map",className:"flex items-center",onValueChange:$,children:[J.jsxs("div",{className:"flex items-center gap-2",children:[J.jsx(Bu,{value:"plot",id:"plot"}),J.jsx(fc,{htmlFor:"plot",children:"Plot"})]}),J.jsxs("div",{className:"flex items-center gap-2",children:[J.jsx(Bu,{value:"map",id:"map"}),J.jsx(fc,{htmlFor:"map",children:"Map"})]})]}),J.jsx(ju,{onTooltip:"hide layer",offTooltip:"show layer",value:n,onChange:r})]})]}),J.jsxs("div",{className:"flex items-center gap-2 justify-between",children:[J.jsxs("div",{className:"flex items-center justify-between w-full",children:[J.jsx("h4",{className:"text-base dark:text-gray-100 tracking-tight",children:"Opacity"}),y!=="PICKER"&&J.jsx(OK,{trigger:J.jsx("div",{className:"border border-solid border-[#D1D5DB] cursor-pointer dark:border-gray-200 rounded-md p-2 flex items-center justify-center",children:J.jsxs("h5",{className:"scroll-m-20 text-sm font-medium tracking-tight",children:[d,"%"]})}),children:J.jsx(Eo,{type:"range",min:"0",max:"100",value:d,onChange:g,className:"w-full"})})]}),J.jsx(Gs,{size:"sm",className:"w-full",value:b,options:Xm,placeholder:"Select Data",onChange:w,isClearable:!1})]})]}),J.jsxs("div",{className:"w-full flex flex-col gap-2.5 mt-4",children:[J.jsxs("h4",{className:"text-base flex gap-3 font-medium tracking-tight",children:[J.jsx(kK,{})," Available Days"," ",i&&J.jsx(fs,{size:"small"})]}),J.jsx(xo,{className:"flex items-center justify-center",children:J.jsx(fK,{mode:"single",selected:c,classNames:{months:"rdp-months justify-center"},onSelect:G=>{if(console.log("onDayClick",G),G){const j=new Date(Date.UTC(G.getFullYear(),G.getMonth(),G.getDate()));a(j),t({start:j,end:j})}},modifiers:{disabled:B,available:M},modifiersClassNames:{available:"dark:text-white bg-gray-200 dark:bg-gray-600 rounded-full ",selected:"bg-green-400 dark:bg-green-600",today:"dark:text-red",caption_label:"rdp-caption_label z-0"},components:{Nav:NK,MonthCaption:()=>J.jsx("span",{})}})})]})]})}const jK=J.jsx("div",{className:"h-[1px] bg-[#E9E9E9] dark:bg-zinc-100 w-[calc(100%+20px)] mx-auto"});function BK(){const e=rn(n=>n.sidebarExpanded),t=rn(n=>n.setSidebarExpanded);return J.jsxs(J.Fragment,{children:[!e&&J.jsx("div",{className:"sidebar-opener bg-white dark:bg-gray-900 mt-3 ",children:J.jsx(yo,{variant:"icon",className:"border-left-0",children:J.jsx(gM,{onClick:()=>t(!0)})})}),J.jsxs(xo,{className:`sidebar ${e&&"sidebar-expanded"} rounded-l-none h-full ${DK} `,header:J.jsxs("div",{className:"flex justify-between items-center mb-1",children:[J.jsx("h1",{className:"text-lg pr-2 text-black dark:text-white",children:"Configurations"}),J.jsx("div",{className:"bg-white dark:bg-gray-900 ",children:J.jsx(yo,{variant:"icon",className:"border-left-0",children:e?J.jsx(SF,{onClick:()=>t(!1)}):J.jsx(gM,{onClick:()=>t(!0)})})})]}),children:[J.jsx(yY,{}),jK,J.jsx(RK,{})]})]})}const rO=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array],j1=1,Nf=8;class B1{static from(t){if(!(t instanceof ArrayBuffer))throw new Error("Data must be an instance of ArrayBuffer.");const[n,r]=new Uint8Array(t,0,2);if(n!==219)throw new Error("Data does not appear to be in a KDBush format.");const i=r>>4;if(i!==j1)throw new Error(`Got v${i} data when expected v${j1}.`);const s=rO[r&15];if(!s)throw new Error("Unrecognized array type.");const[c]=new Uint16Array(t,2,1),[a]=new Uint32Array(t,4,1);return new B1(a,c,s,t)}constructor(t,n=64,r=Float64Array,i){if(isNaN(t)||t<0)throw new Error(`Unpexpected numItems value: ${t}.`);this.numItems=+t,this.nodeSize=Math.min(Math.max(+n,2),65535),this.ArrayType=r,this.IndexArrayType=t<65536?Uint16Array:Uint32Array;const s=rO.indexOf(this.ArrayType),c=t*2*this.ArrayType.BYTES_PER_ELEMENT,a=t*this.IndexArrayType.BYTES_PER_ELEMENT,d=(8-a%8)%8;if(s<0)throw new Error(`Unexpected typed array class: ${r}.`);i&&i instanceof ArrayBuffer?(this.data=i,this.ids=new this.IndexArrayType(this.data,Nf,t),this.coords=new this.ArrayType(this.data,Nf+a+d,t*2),this._pos=t*2,this._finished=!0):(this.data=new ArrayBuffer(Nf+c+a+d),this.ids=new this.IndexArrayType(this.data,Nf,t),this.coords=new this.ArrayType(this.data,Nf+a+d,t*2),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,(j1<<4)+s]),new Uint16Array(this.data,2,1)[0]=n,new Uint32Array(this.data,4,1)[0]=t)}add(t,n){const r=this._pos>>1;return this.ids[r]=r,this.coords[this._pos++]=t,this.coords[this._pos++]=n,r}finish(){const t=this._pos>>1;if(t!==this.numItems)throw new Error(`Added ${t} items when expected ${this.numItems}.`);return F1(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(t,n,r,i){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:s,coords:c,nodeSize:a}=this,d=[0,s.length-1,0],p=[];for(;d.length;){const y=d.pop()||0,g=d.pop()||0,b=d.pop()||0;if(g-b<=a){for(let M=b;M<=g;M++){const O=c[2*M],I=c[2*M+1];O>=t&&O<=r&&I>=n&&I<=i&&p.push(s[M])}continue}const w=b+g>>1,S=c[2*w],C=c[2*w+1];S>=t&&S<=r&&C>=n&&C<=i&&p.push(s[w]),(y===0?t<=S:n<=C)&&(d.push(b),d.push(w-1),d.push(1-y)),(y===0?r>=S:i>=C)&&(d.push(w+1),d.push(g),d.push(1-y))}return p}within(t,n,r){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:i,coords:s,nodeSize:c}=this,a=[0,i.length-1,0],d=[],p=r*r;for(;a.length;){const y=a.pop()||0,g=a.pop()||0,b=a.pop()||0;if(g-b<=c){for(let M=b;M<=g;M++)aO(s[2*M],s[2*M+1],t,n)<=p&&d.push(i[M]);continue}const w=b+g>>1,S=s[2*w],C=s[2*w+1];aO(S,C,t,n)<=p&&d.push(i[w]),(y===0?t-r<=S:n-r<=C)&&(a.push(b),a.push(w-1),a.push(1-y)),(y===0?t+r>=S:n+r>=C)&&(a.push(w+1),a.push(g),a.push(1-y))}return d}}function F1(e,t,n,r,i,s){if(i-r<=n)return;const c=r+i>>1;iO(e,t,c,r,i,s),F1(e,t,n,r,c-1,1-s),F1(e,t,n,c+1,i,1-s)}function iO(e,t,n,r,i,s){for(;i>r;){if(i-r>600){const p=i-r+1,y=n-r+1,g=Math.log(p),b=.5*Math.exp(2*g/3),w=.5*Math.sqrt(g*b*(p-b)/p)*(y-p/2<0?-1:1),S=Math.max(r,Math.floor(n-y*b/p+w)),C=Math.min(i,Math.floor(n+(p-y)*b/p+w));iO(e,t,n,S,C,s)}const c=t[2*n+s];let a=r,d=i;for(Rf(e,t,r,n),t[2*i+s]>c&&Rf(e,t,r,i);a<d;){for(Rf(e,t,a,d),a++,d--;t[2*a+s]<c;)a++;for(;t[2*d+s]>c;)d--}t[2*r+s]===c?Rf(e,t,r,d):(d++,Rf(e,t,d,i)),d<=n&&(r=d+1),n<=d&&(i=d-1)}}function Rf(e,t,n,r){z1(e,n,r),z1(t,2*n,2*r),z1(t,2*n+1,2*r+1)}function z1(e,t,n){const r=e[t];e[t]=e[n],e[n]=r}function aO(e,t,n,r){const i=e-n,s=t-r;return i*i+s*s}const FK={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:e=>e},sO=Math.fround||(e=>t=>(e[0]=+t,e[0]))(new Float32Array(1)),Ac=2,Tl=3,$1=4,Il=5,oO=6;class zK{constructor(t){this.options=Object.assign(Object.create(FK),t),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(t){const{log:n,minZoom:r,maxZoom:i}=this.options;n&&console.time("total time");const s=`prepare ${t.length} points`;n&&console.time(s),this.points=t;const c=[];for(let d=0;d<t.length;d++){const p=t[d];if(!p.geometry)continue;const[y,g]=p.geometry.coordinates,b=sO(fy(y)),w=sO(py(g));c.push(b,w,1/0,d,-1,1),this.options.reduce&&c.push(0)}let a=this.trees[i+1]=this._createTree(c);n&&console.timeEnd(s);for(let d=i;d>=r;d--){const p=+Date.now();a=this.trees[d]=this._createTree(this._cluster(a,d)),n&&console.log("z%d: %d clusters in %dms",d,a.numItems,+Date.now()-p)}return n&&console.timeEnd("total time"),this}getClusters(t,n){let r=((t[0]+180)%360+360)%360-180;const i=Math.max(-90,Math.min(90,t[1]));let s=t[2]===180?180:((t[2]+180)%360+360)%360-180;const c=Math.max(-90,Math.min(90,t[3]));if(t[2]-t[0]>=360)r=-180,s=180;else if(r>s){const g=this.getClusters([r,i,180,c],n),b=this.getClusters([-180,i,s,c],n);return g.concat(b)}const a=this.trees[this._limitZoom(n)],d=a.range(fy(r),py(c),fy(s),py(i)),p=a.data,y=[];for(const g of d){const b=this.stride*g;y.push(p[b+Il]>1?lO(p,b,this.clusterProps):this.points[p[b+Tl]])}return y}getChildren(t){const n=this._getOriginId(t),r=this._getOriginZoom(t),i="No cluster with the specified id.",s=this.trees[r];if(!s)throw new Error(i);const c=s.data;if(n*this.stride>=c.length)throw new Error(i);const a=this.options.radius/(this.options.extent*Math.pow(2,r-1)),d=c[n*this.stride],p=c[n*this.stride+1],y=s.within(d,p,a),g=[];for(const b of y){const w=b*this.stride;c[w+$1]===t&&g.push(c[w+Il]>1?lO(c,w,this.clusterProps):this.points[c[w+Tl]])}if(g.length===0)throw new Error(i);return g}getLeaves(t,n,r){n=n||10,r=r||0;const i=[];return this._appendLeaves(i,t,n,r,0),i}getTile(t,n,r){const i=this.trees[this._limitZoom(t)],s=Math.pow(2,t),{extent:c,radius:a}=this.options,d=a/c,p=(r-d)/s,y=(r+1+d)/s,g={features:[]};return this._addTileFeatures(i.range((n-d)/s,p,(n+1+d)/s,y),i.data,n,r,s,g),n===0&&this._addTileFeatures(i.range(1-d/s,p,1,y),i.data,s,r,s,g),n===s-1&&this._addTileFeatures(i.range(0,p,d/s,y),i.data,-1,r,s,g),g.features.length?g:null}getClusterExpansionZoom(t){let n=this._getOriginZoom(t)-1;for(;n<=this.options.maxZoom;){const r=this.getChildren(t);if(n++,r.length!==1)break;t=r[0].properties.cluster_id}return n}_appendLeaves(t,n,r,i,s){const c=this.getChildren(n);for(const a of c){const d=a.properties;if(d&&d.cluster?s+d.point_count<=i?s+=d.point_count:s=this._appendLeaves(t,d.cluster_id,r,i,s):s<i?s++:t.push(a),t.length===r)break}return s}_createTree(t){const n=new B1(t.length/this.stride|0,this.options.nodeSize,Float32Array);for(let r=0;r<t.length;r+=this.stride)n.add(t[r],t[r+1]);return n.finish(),n.data=t,n}_addTileFeatures(t,n,r,i,s,c){for(const a of t){const d=a*this.stride,p=n[d+Il]>1;let y,g,b;if(p)y=cO(n,d,this.clusterProps),g=n[d],b=n[d+1];else{const C=this.points[n[d+Tl]];y=C.properties;const[M,O]=C.geometry.coordinates;g=fy(M),b=py(O)}const w={type:1,geometry:[[Math.round(this.options.extent*(g*s-r)),Math.round(this.options.extent*(b*s-i))]],tags:y};let S;p||this.options.generateId?S=n[d+Tl]:S=this.points[n[d+Tl]].id,S!==void 0&&(w.id=S),c.features.push(w)}}_limitZoom(t){return Math.max(this.options.minZoom,Math.min(Math.floor(+t),this.options.maxZoom+1))}_cluster(t,n){const{radius:r,extent:i,reduce:s,minPoints:c}=this.options,a=r/(i*Math.pow(2,n)),d=t.data,p=[],y=this.stride;for(let g=0;g<d.length;g+=y){if(d[g+Ac]<=n)continue;d[g+Ac]=n;const b=d[g],w=d[g+1],S=t.within(d[g],d[g+1],a),C=d[g+Il];let M=C;for(const O of S){const I=O*y;d[I+Ac]>n&&(M+=d[I+Il])}if(M>C&&M>=c){let O=b*C,I=w*C,D,N=-1;const k=((g/y|0)<<5)+(n+1)+this.points.length;for(const L of S){const B=L*y;if(d[B+Ac]<=n)continue;d[B+Ac]=n;const q=d[B+Il];O+=d[B]*q,I+=d[B+1]*q,d[B+$1]=k,s&&(D||(D=this._map(d,g,!0),N=this.clusterProps.length,this.clusterProps.push(D)),s(D,this._map(d,B)))}d[g+$1]=k,p.push(O/M,I/M,1/0,k,-1,M),s&&p.push(N)}else{for(let O=0;O<y;O++)p.push(d[g+O]);if(M>1)for(const O of S){const I=O*y;if(!(d[I+Ac]<=n)){d[I+Ac]=n;for(let D=0;D<y;D++)p.push(d[I+D])}}}}return p}_getOriginId(t){return t-this.points.length>>5}_getOriginZoom(t){return(t-this.points.length)%32}_map(t,n,r){if(t[n+Il]>1){const c=this.clusterProps[t[n+oO]];return r?Object.assign({},c):c}const i=this.points[t[n+Tl]].properties,s=this.options.map(i);return r&&s===i?Object.assign({},s):s}}function lO(e,t,n){return{type:"Feature",id:e[t+Tl],properties:cO(e,t,n),geometry:{type:"Point",coordinates:[$K(e[t]),VK(e[t+1])]}}}function cO(e,t,n){const r=e[t+Il],i=r>=1e4?`${Math.round(r/1e3)}k`:r>=1e3?`${Math.round(r/100)/10}k`:r,s=e[t+oO],c=s===-1?{}:Object.assign({},n[s]);return Object.assign(c,{cluster:!0,cluster_id:e[t+Tl],point_count:r,point_count_abbreviated:i})}function fy(e){return e/360+.5}function py(e){const t=Math.sin(e*Math.PI/180),n=.5-.25*Math.log((1+t)/(1-t))/Math.PI;return n<0?0:n>1?1:n}function $K(e){return(e-.5)*360}function VK(e){const t=(180-e*360)*Math.PI/180;return 360*Math.atan(Math.exp(t))/Math.PI-90}const uO=e=>J.jsxs("svg",{width:"44",height:"60",viewBox:"0 0 44 60",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[J.jsxs("g",{filter:"url(#filter0_d_59_9575)",children:[J.jsx("path",{d:"M34.6036 48.3587C34.6036 50.0163 28.9739 51.3539 22.0115 51.3539C15.0491 51.3539 9.41931 50.0163 9.41931 48.3587C9.41931 46.7012 15.0491 45.3689 22.0115 45.3689C28.9739 45.3689 34.6036 46.7064 34.6036 48.3587Z",fill:"url(#paint0_radial_59_9575)",style:{mixBlendMode:"multiply"}}),J.jsx("path",{d:"M22.0412 0.758789C17.4838 0.764078 13.1146 2.5763 9.89212 5.79791C6.66959 9.01951 4.85685 13.3874 4.85156 17.9435C4.85156 24.118 7.72982 30.6721 13.1465 36.9066C15.5892 39.7397 18.3451 42.287 21.3616 44.4998C21.5605 44.6404 21.7976 44.717 22.0412 44.7196C22.2904 44.7139 22.533 44.6377 22.7407 44.4998C25.7433 42.2776 28.4916 39.7311 30.9358 36.9066C36.3725 30.6721 39.2307 24.118 39.2307 17.9435C39.2255 13.3874 37.4127 9.01951 34.1902 5.79791C30.9677 2.5763 26.5985 0.764078 22.0412 0.758789Z",fill:"#8a73fe"}),J.jsx("path",{d:"M22.0116 33.4607C29.8865 33.4607 36.2704 27.0794 36.2704 19.2076C36.2704 11.3358 29.8865 4.95448 22.0116 4.95448C14.1366 4.95448 7.7527 11.3358 7.7527 19.2076C7.7527 27.0794 14.1366 33.4607 22.0116 33.4607Z",fill:"#5f4cbd"}),J.jsx("path",{d:"M26.021 26.0255C25.7481 26.0255 25.4863 25.9137 25.2933 25.7147C25.1003 25.5158 24.9919 25.2459 24.9919 24.9645V18.0792C24.9919 17.7978 25.1003 17.528 25.2933 17.329C25.4863 17.13 25.7481 17.0182 26.021 17.0182C26.294 17.0182 26.5557 17.13 26.7487 17.329C26.9417 17.528 27.0502 17.7978 27.0502 18.0792V24.9645C27.0502 25.2459 26.9417 25.5158 26.7487 25.7147C26.5557 25.9137 26.294 26.0255 26.021 26.0255Z",fill:"#D9D9D9"}),J.jsx("path",{d:"M29.2731 19.0587C28.9892 19.0587 28.717 18.9469 28.5163 18.7479C28.3156 18.5489 28.2028 18.279 28.2028 17.9976C28.2028 17.4348 27.9773 16.895 27.5758 16.4971C27.1744 16.0991 26.6299 15.8755 26.0622 15.8755C25.7783 15.8755 25.5061 15.7637 25.3054 15.5648C25.1047 15.3658 24.9919 15.0959 24.9919 14.8145C24.9919 14.5331 25.1047 14.2632 25.3054 14.0642C25.5061 13.8652 25.7783 13.7534 26.0622 13.7534C27.1976 13.7534 28.2866 14.2006 29.0895 14.9965C29.8924 15.7925 30.3434 16.872 30.3434 17.9976C30.3434 18.279 30.2306 18.5489 30.0299 18.7479C29.8292 18.9469 29.557 19.0587 29.2731 19.0587Z",fill:"#FAFAFA"}),J.jsx("path",{d:"M32.376 19.0587C32.0962 19.0587 31.8279 18.9485 31.6301 18.7524C31.4322 18.5563 31.3211 18.2903 31.3211 18.0129C31.3211 16.6262 30.7654 15.2962 29.7763 14.3157C28.7871 13.3351 27.4456 12.7842 26.0468 12.7842C25.767 12.7842 25.4987 12.674 25.3008 12.4779C25.103 12.2818 24.9919 12.0158 24.9919 11.7385C24.9919 11.4611 25.103 11.1951 25.3008 10.999C25.4987 10.8029 25.767 10.6927 26.0468 10.6927C28.0051 10.6927 29.8833 11.4639 31.2681 12.8368C32.6529 14.2096 33.4308 16.0715 33.4308 18.0129C33.4308 18.2903 33.3197 18.5563 33.1219 18.7524C32.924 18.9485 32.6557 19.0587 32.376 19.0587Z",fill:"#FAFAFA"}),J.jsx("path",{d:"M12.5841 21.1168C12.6427 21.2566 12.6482 21.4128 12.5996 21.5563C12.551 21.6998 12.4515 21.821 12.3197 21.8975L12.2422 21.9351L11.4622 22.2557C11.3145 22.3154 11.1495 22.3175 11.0004 22.2615C10.8512 22.2056 10.7289 22.0958 10.658 21.9542C10.5871 21.8125 10.5728 21.6496 10.6181 21.498C10.6634 21.3463 10.7649 21.2173 10.9021 21.1368L10.9788 21.0984L11.7587 20.7778C11.8354 20.7463 11.9175 20.7301 12.0005 20.7301C12.0835 20.7301 12.1656 20.7463 12.2423 20.7778C12.3189 20.8093 12.3886 20.8554 12.4472 20.9136C12.5059 20.9717 12.5524 21.0408 12.5841 21.1168ZM18.048 17.0813L17.9039 17.1297C16.4005 17.6558 15.3241 18.8039 14.8591 20.3219L14.7993 20.5306L14.7505 20.7293L14.577 20.7619C14.073 20.8668 13.595 21.0694 13.1704 21.3581C12.7843 20.7003 12.6401 19.9302 12.7623 19.1789C12.8845 18.4276 13.2655 17.7415 13.8405 17.2373C14.4155 16.7331 15.149 16.4421 15.9161 16.4136C16.6832 16.3852 17.4366 16.6211 18.048 17.0813ZM11.3831 17.1072L11.4715 17.1364L12.2515 17.457C12.3977 17.5182 12.5154 17.6316 12.5811 17.7749C12.6468 17.9181 12.6557 18.0807 12.606 18.2301C12.5563 18.3796 12.4517 18.505 12.313 18.5815C12.1742 18.6579 12.0115 18.6798 11.8573 18.6427L11.768 18.6143L10.988 18.2937C10.8414 18.2327 10.7233 18.1192 10.6574 17.9757C10.5915 17.8323 10.5826 17.6694 10.6324 17.5197C10.6823 17.37 10.7873 17.2445 10.9264 17.1682C11.0656 17.0919 11.2286 17.0695 11.3831 17.1072ZM14.5963 14.6139L14.6342 14.6899L14.9577 15.4631C15.0187 15.6096 15.0215 15.7737 14.9653 15.9221C14.9091 16.0706 14.7982 16.1924 14.655 16.263C14.5118 16.3336 14.3468 16.3476 14.1936 16.3024C14.0403 16.2571 13.91 16.1559 13.829 16.0192L13.7903 15.9424L13.4668 15.1692C13.4066 15.0227 13.4045 14.8592 13.461 14.7113C13.5174 14.5634 13.6281 14.4421 13.771 14.3718C13.9139 14.3015 14.0783 14.2874 14.2312 14.3323C14.3841 14.3772 14.5151 14.4778 14.5963 14.6139ZM18.2627 14.3475C18.4026 14.4051 18.5169 14.5105 18.5849 14.6446C18.653 14.7787 18.6701 14.9326 18.6333 15.0781L18.6047 15.1658L18.2813 15.939C18.2196 16.084 18.1051 16.2007 17.9606 16.2658C17.8161 16.331 17.6522 16.3398 17.5014 16.2905C17.3507 16.2413 17.2242 16.1376 17.147 16C17.0699 15.8625 17.0479 15.7012 17.0852 15.5482L17.1147 15.4597L17.4373 14.6865C17.4691 14.6105 17.5156 14.5415 17.5742 14.4833C17.6329 14.4252 17.7025 14.379 17.7792 14.3475C17.8558 14.3161 17.938 14.2999 18.021 14.2999C18.1039 14.2999 18.1861 14.3161 18.2627 14.3475Z",fill:"#FFB906"}),J.jsx("path",{d:"M19.7897 17.7066C22.458 17.7066 23.9724 19.4576 24.1923 21.5726H24.2596C24.6675 21.572 25.0715 21.6512 25.4486 21.8054C25.8256 21.9597 26.1683 22.1861 26.4571 22.4716C26.7458 22.7572 26.975 23.0964 27.1315 23.4698C27.2881 23.8432 27.3689 24.2435 27.3693 24.6479C27.3688 25.0521 27.2879 25.4524 27.1313 25.8257C26.9747 26.199 26.7455 26.538 26.4568 26.8235C26.168 27.109 25.8254 27.3353 25.4484 27.4895C25.0714 27.6437 24.6675 27.7228 24.2596 27.7223H15.3189C14.9111 27.7228 14.5072 27.6437 14.1302 27.4895C13.7532 27.3353 13.4106 27.109 13.1218 26.8235C12.8331 26.538 12.6038 26.199 12.4473 25.8257C12.2907 25.4524 12.2098 25.0521 12.2093 24.6479C12.2097 24.2435 12.2905 23.8432 12.447 23.4698C12.6036 23.0964 12.8327 22.7572 13.1215 22.4716C13.4103 22.1861 13.753 21.9597 14.13 21.8054C14.5071 21.6512 14.911 21.572 15.3189 21.5726H15.3863C15.6078 19.4434 17.1214 17.7066 19.7897 17.7066Z",fill:"#FAFAFA"})]}),J.jsxs("defs",{children:[J.jsxs("filter",{id:"filter0_d_59_9575",x:"0.851562",y:"0.758789",width:"42.3792",height:"58.5951",filterUnits:"userSpaceOnUse",colorInterpolationFilters:"sRGB",children:[J.jsx("feFlood",{floodOpacity:"0",result:"BackgroundImageFix"}),J.jsx("feColorMatrix",{in:"SourceAlpha",type:"matrix",values:"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0",result:"hardAlpha"}),J.jsx("feOffset",{dy:"4"}),J.jsx("feGaussianBlur",{stdDeviation:"2"}),J.jsx("feColorMatrix",{type:"matrix",values:"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"}),J.jsx("feBlend",{mode:"normal",in2:"BackgroundImageFix",result:"effect1_dropShadow_59_9575"}),J.jsx("feBlend",{mode:"normal",in:"SourceGraphic",in2:"effect1_dropShadow_59_9575",result:"shape"})]}),J.jsxs("radialGradient",{id:"paint0_radial_59_9575",cx:"0",cy:"0",r:"1",gradientUnits:"userSpaceOnUse",gradientTransform:"translate(22.2183 16.9279) scale(17.1741 25.2115)",children:[J.jsx("stop",{offset:"0.177083"}),J.jsx("stop",{offset:"0.453125",stopOpacity:"0.53"}),J.jsx("stop",{offset:"0.911458",stopOpacity:"0"})]})]})]}),GK=X.memo(function({marker:t,latitude:n,longitude:r,onClick:i}){const s=c=>{i&&i(c)};return J.jsx(Ub,{className:"cursor-pointer",longitude:r,latitude:n,onClick:s,children:J.jsx(uO,{size:32,color:"blue"})},t.id)}),WK=e=>{var r,i;console.log("props: ",e);const t=((r=e==null?void 0:e.colors)==null?void 0:r.mainColor)||"#20A35F",n=((i=e==null?void 0:e.colors)==null?void 0:i.secondaryColor)||"#5CCC91";return J.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:75,height:89,viewBox:"-8 30 75 89",fill:"none",...e,children:[J.jsx("path",{fill:"url(#a)",d:"M38.807 86.158c0 1.573-5.262 2.842-11.769 2.842-6.507 0-11.769-1.27-11.769-2.842s5.262-2.836 11.77-2.836c6.506 0 11.768 1.269 11.768 2.836Z",opacity:.28,style:{mixBlendMode:"multiply"}}),J.jsx("path",{fill:n,d:"M27.066 41a15.967 15.967 0 0 0-11.355 4.78A16.445 16.445 0 0 0 11 57.304c0 5.858 2.69 12.076 7.753 17.99a46.558 46.558 0 0 0 7.678 7.204c.186.134.407.207.635.209a1.22 1.22 0 0 0 .654-.209 47.763 47.763 0 0 0 7.659-7.203c5.081-5.915 7.753-12.133 7.753-17.99A16.445 16.445 0 0 0 38.42 45.78 15.967 15.967 0 0 0 27.066 41Z"}),J.jsx("path",{fill:t,d:"M27.038 72.025c7.36 0 13.327-6.055 13.327-13.523S34.398 44.98 27.038 44.98s-13.327 6.055-13.327 13.523 5.967 13.522 13.327 13.522Z"}),J.jsxs("g",{fill:"#fff",filter:"url(#b)",children:[J.jsx("path",{d:"M24.7 67.484c-1.854 0-3.485-.673-4.894-2.021-1.41-1.349-2.114-3.173-2.114-5.474 0-1.447.526-3.016 1.577-4.707 1.051-1.691 2.643-3.52 4.775-5.484a1.043 1.043 0 0 1 .657-.252 1.042 1.042 0 0 1 .657.251c2.132 1.966 3.723 3.794 4.775 5.485 1.051 1.691 1.577 3.26 1.577 4.707 0 2.3-.705 4.125-2.114 5.474-1.41 1.348-3.04 2.021-4.895 2.021Zm.242-2.742a.688.688 0 0 0 .45-.216.655.655 0 0 0 .185-.47.688.688 0 0 0-.197-.513.617.617 0 0 0-.504-.172c-.599.046-1.234-.125-1.905-.513-.672-.39-1.096-1.094-1.27-2.115a.677.677 0 0 0-.658-.57.623.623 0 0 0-.503.239c-.132.16-.176.347-.132.56.248 1.386.832 2.376 1.752 2.97.92.595 1.847.861 2.782.8Z"}),J.jsx("path",{stroke:t,d:"M36.917 56.87v-.5H34.05c-.942 0-1.844.38-2.508 1.054a3.6 3.6 0 0 0-.919 1.62 3.498 3.498 0 0 0-1.984-.615H25.77v2.903c0 .95.372 1.861 1.035 2.535a3.522 3.522 0 0 0 2.51 1.053h1.19v1.998a.84.84 0 0 0 .838.843.84.84 0 0 0 .839-.843v-4.057h1.19c.943 0 1.846-.38 2.51-1.053a3.612 3.612 0 0 0 1.035-2.535V56.87Zm-6.606 6.386Z"})]}),J.jsx("defs",{children:J.jsxs("radialGradient",{id:"a",cx:0,cy:0,r:1,gradientTransform:"matrix(11.7583 0 0 2.82937 27.16 85.136)",gradientUnits:"userSpaceOnUse",children:[J.jsx("stop",{offset:.177}),J.jsx("stop",{offset:.453,stopOpacity:.53}),J.jsx("stop",{offset:.911,stopOpacity:0})]})})]})},UK=e=>{switch(e){case"SEVERE_STRESS":return{mainColor:"#E03052",secondaryColor:"#F75979"};case"STRESS_START":return{mainColor:"#FFA500",secondaryColor:"#FFD700"};case"OPTIMAL":return{mainColor:"#20A35F",secondaryColor:"#5CCC91"};case"EXCESS_WATER":return{mainColor:"#3682D4",secondaryColor:"#5EACFF"}}},HK=X.memo(function({marker:t,latitude:n,longitude:r,onClick:i}){const s=a=>{i&&i(a)},c=t==null?void 0:t.paw_status;return J.jsx(Ub,{className:"cursor-pointer",longitude:r,latitude:n,color:t==null?void 0:t.color,onClick:s,children:c==="WEATHER_STATION"?J.jsx(uO,{}):J.jsx(WK,{colors:UK(c)})},t==null?void 0:t.id)});function XK(e){switch(e.marker.type){case"station":return J.jsx(HK,{...e});case"forecast":return J.jsx(GK,{...e})}}const ZK=X.memo(XK);function YK(){const{mapRef:e}=X.useContext(ii),{markersData:t,showMarkers:n}=X.useContext(Ns),r=rn(b=>b.setClickedMarker),[i,s]=X.useState([]),[c,a]=X.useState([]),d=5,p=t.map(b=>dc(b)),y=b=>b>=1e6?(b/1e6).toFixed(1)+"M":b>=1e3?(b/1e3).toFixed(1)+"K":b,g=(b,w)=>{console.log("marker clicked",w),r(w)};return X.useEffect(()=>{if(!(e!=null&&e.current)||!n)return;const b=()=>{var I;const w=(I=e==null?void 0:e.current)==null?void 0:I.getMap();if(!w)return;const S=w.getBounds(),C=w.getZoom(),M=S.getSouthWest(),O=S.getNorthEast();if(C<d){const D=new zK({radius:40,maxZoom:16});D.load(p.map(k=>({type:"Feature",properties:{cluster:!1,marker:k},geometry:{type:"Point",coordinates:[k.longitude,k.latitude]}})));const N=D.getClusters([M.lng,M.lat,O.lng,O.lat],Math.floor(C));a(N),s([])}else{const D=p.filter(N=>{const{longitude:k,latitude:L}=N;return M.lng<=k&&k<=O.lng&&M.lat<=L&&L<=O.lat});s(D),a([])}};return b(),e.current.on("moveend",b),()=>{var w;(w=e==null?void 0:e.current)==null||w.off("moveend",b)}},[e,t,d,n]),n?J.jsxs(J.Fragment,{children:[c.length>0&&c.map(b=>{const[w,S]=b.geometry.coordinates,{cluster:C,point_count:M}=b.properties;if(C)return J.jsx(Ub,{longitude:w,latitude:S,onClick:()=>{const O=Math.min(e.current.getMap().getZoom()+3,16);e.current.getMap().easeTo({center:[w,S],zoom:O})},children:J.jsx("div",{className:"cursor-pointer rounded-full bg-green-700/80 ring-4 ring-green-400 h-[40px] w-[40px] min-w-[40px] flex items-center justify-center text-white text-[14px] px-1 overflow-hidden",children:y(M)})},`cluster-${b.id}`)}),i.length>0&&i.map(b=>J.jsx(ZK,{longitude:b.longitude,latitude:b.latitude,marker:b,onClick:w=>g(w,b)},b.id))]}):null}var hO={exports:{}};(function(e){(function(t,n){e.exports?(n.default=n,e.exports=t&&t.document?n(t):n):(t.Highcharts&&t.Highcharts.error(16,!0),t.Highcharts=n(t))})(typeof window<"u"?window:cc,function(t){var n={};function r(i,s,c,a){!i.hasOwnProperty(s)&&(i[s]=a.apply(null,c),t&&typeof CustomEvent=="function"&&t.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:s,module:i[s]}})))}return r(n,"Core/Globals.js",[],function(){var i,s;return(s=i||(i={})).SVG_NS="http://www.w3.org/2000/svg",s.product="Highcharts",s.version="11.4.8",s.win=t!==void 0?t:{},s.doc=s.win.document,s.svg=s.doc&&s.doc.createElementNS&&!!s.doc.createElementNS(s.SVG_NS,"svg").createSVGRect,s.userAgent=s.win.navigator&&s.win.navigator.userAgent||"",s.isChrome=s.win.chrome,s.isFirefox=s.userAgent.indexOf("Firefox")!==-1,s.isMS=/(edge|msie|trident)/i.test(s.userAgent)&&!s.win.opera,s.isSafari=!s.isChrome&&s.userAgent.indexOf("Safari")!==-1,s.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(s.userAgent),s.isWebKit=s.userAgent.indexOf("AppleWebKit")!==-1,s.deg2rad=2*Math.PI/360,s.hasBidiBug=s.isFirefox&&4>parseInt(s.userAgent.split("Firefox/")[1],10),s.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],s.noop=function(){},s.supportsPassiveEvents=function(){let c=!1;if(!s.isMS){let a=Object.defineProperty({},"passive",{get:function(){c=!0}});s.win.addEventListener&&s.win.removeEventListener&&(s.win.addEventListener("testPassive",s.noop,a),s.win.removeEventListener("testPassive",s.noop,a))}return c}(),s.charts=[],s.composed=[],s.dateFormats={},s.seriesTypes={},s.symbolSizes={},s.chartCount=0,i}),r(n,"Core/Utilities.js",[n["Core/Globals.js"]],function(i){let s,{charts:c,doc:a,win:d}=i;function p(j,R,Z,U){let ie=R?"Highcharts error":"Highcharts warning";j===32&&(j=`${ie}: Deprecated member`);let ae=M(j),K=ae?`${ie} #${j}: www.highcharts.com/errors/${j}/`:j.toString();if(U!==void 0){let pe="";ae&&(K+="?"),re(U,function(xe,se){pe+=`
862
862
  - ${se}: ${xe}`,ae&&(K+=encodeURI(se)+"="+encodeURI(xe))}),K+=pe}Y(i,"displayError",{chart:Z,code:j,message:K,params:U},function(){if(R)throw Error(K);d.console&&p.messages.indexOf(K)===-1&&console.warn(K)}),p.messages.push(K)}function y(j,R){return parseInt(j,R||10)}function g(j){return typeof j=="string"}function b(j){let R=Object.prototype.toString.call(j);return R==="[object Array]"||R==="[object Array Iterator]"}function w(j,R){return!!j&&typeof j=="object"&&(!R||!b(j))}function S(j){return w(j)&&typeof j.nodeType=="number"}function C(j){let R=j&&j.constructor;return!!(w(j,!0)&&!S(j)&&R&&R.name&&R.name!=="Object")}function M(j){return typeof j=="number"&&!isNaN(j)&&j<1/0&&j>-1/0}function O(j){return j!=null}function I(j,R,Z){let U,ie=g(R)&&!O(Z),ae=(K,pe)=>{O(K)?j.setAttribute(pe,K):ie?(U=j.getAttribute(pe))||pe!=="class"||(U=j.getAttribute(pe+"Name")):j.removeAttribute(pe)};return g(R)?ae(Z,R):re(R,ae),U}function D(j){return b(j)?j:[j]}function N(j,R){let Z;for(Z in j||(j={}),R)j[Z]=R[Z];return j}function k(){let j=arguments,R=j.length;for(let Z=0;Z<R;Z++){let U=j[Z];if(U!=null)return U}}function L(j,R){N(j.style,R)}function B(j){return Math.pow(10,Math.floor(Math.log(j)/Math.LN10))}function q(j,R){return j>1e14?j:parseFloat(j.toPrecision(R||14))}p.messages=[],Math.easeInOutSine=function(j){return-.5*(Math.cos(Math.PI*j)-1)};let ne=Array.prototype.find?function(j,R){return j.find(R)}:function(j,R){let Z,U=j.length;for(Z=0;Z<U;Z++)if(R(j[Z],Z))return j[Z]};function re(j,R,Z){for(let U in j)Object.hasOwnProperty.call(j,U)&&R.call(Z||j[U],j[U],U,j)}function $(j,R,Z){function U(K,pe){let xe=j.removeEventListener;xe&&xe.call(j,K,pe,!1)}function ie(K){let pe,xe;j.nodeName&&(R?(pe={})[R]=!0:pe=K,re(pe,function(se,ge){if(K[ge])for(xe=K[ge].length;xe--;)U(ge,K[ge][xe].fn)}))}let ae=typeof j=="function"&&j.prototype||j;if(Object.hasOwnProperty.call(ae,"hcEvents")){let K=ae.hcEvents;if(R){let pe=K[R]||[];Z?(K[R]=pe.filter(function(xe){return Z!==xe.fn}),U(R,Z)):(ie(K),K[R]=[])}else ie(K),delete ae.hcEvents}}function Y(j,R,Z,U){if(Z=Z||{},a.createEvent&&(j.dispatchEvent||j.fireEvent&&j!==i)){let ie=a.createEvent("Events");ie.initEvent(R,!0,!0),Z=N(ie,Z),j.dispatchEvent?j.dispatchEvent(Z):j.fireEvent(R,Z)}else if(j.hcEvents){Z.target||N(Z,{preventDefault:function(){Z.defaultPrevented=!0},target:j,type:R});let ie=[],ae=j,K=!1;for(;ae.hcEvents;)Object.hasOwnProperty.call(ae,"hcEvents")&&ae.hcEvents[R]&&(ie.length&&(K=!0),ie.unshift.apply(ie,ae.hcEvents[R])),ae=Object.getPrototypeOf(ae);K&&ie.sort((pe,xe)=>pe.order-xe.order),ie.forEach(pe=>{pe.fn.call(j,Z)===!1&&Z.preventDefault()})}U&&!Z.defaultPrevented&&U.call(j,Z)}re({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(j,R){i[R]=function(Z){return p(32,!1,void 0,{[`Highcharts.${R}`]:`use Array.${j}`}),Array.prototype[j].apply(Z,[].slice.call(arguments,1))}});let G=function(){let j=Math.random().toString(36).substring(2,9)+"-",R=0;return function(){return"highcharts-"+(s?"":j)+R++}}();return d.jQuery&&(d.jQuery.fn.highcharts=function(){let j=[].slice.call(arguments);if(this[0])return j[0]?(new i[g(j[0])?j.shift():"Chart"](this[0],j[0],j[1]),this):c[I(this[0],"data-highcharts-chart")]}),{addEvent:function(j,R,Z,U={}){let ie=typeof j=="function"&&j.prototype||j;Object.hasOwnProperty.call(ie,"hcEvents")||(ie.hcEvents={});let ae=ie.hcEvents;i.Point&&j instanceof i.Point&&j.series&&j.series.chart&&(j.series.chart.runTrackerClick=!0);let K=j.addEventListener;K&&K.call(j,R,Z,!!i.supportsPassiveEvents&&{passive:U.passive===void 0?R.indexOf("touch")!==-1:U.passive,capture:!1}),ae[R]||(ae[R]=[]);let pe={fn:Z,order:typeof U.order=="number"?U.order:1/0};return ae[R].push(pe),ae[R].sort((xe,se)=>xe.order-se.order),function(){$(j,R,Z)}},arrayMax:function(j){let R=j.length,Z=j[0];for(;R--;)j[R]>Z&&(Z=j[R]);return Z},arrayMin:function(j){let R=j.length,Z=j[0];for(;R--;)j[R]<Z&&(Z=j[R]);return Z},attr:I,clamp:function(j,R,Z){return j>R?j<Z?j:Z:R},clearTimeout:function(j){O(j)&&clearTimeout(j)},correctFloat:q,createElement:function(j,R,Z,U,ie){let ae=a.createElement(j);return R&&N(ae,R),ie&&L(ae,{padding:"0",border:"none",margin:"0"}),Z&&L(ae,Z),U&&U.appendChild(ae),ae},crisp:(j,R=0,Z)=>{let U=R%2/2,ie=Z?-1:1;return(Math.round(j*ie-U)+U)*ie},css:L,defined:O,destroyObjectProperties:function(j,R,Z){re(j,function(U,ie){U!==R&&(U!=null&&U.destroy)&&U.destroy(),(U!=null&&U.destroy||!Z)&&delete j[ie]})},diffObjects:function(j,R,Z,U){let ie={};return function ae(K,pe,xe,se){let ge=Z?pe:K;re(K,function(Se,Ae){if(!se&&U&&U.indexOf(Ae)>-1&&pe[Ae]){Se=D(Se),xe[Ae]=[];for(let $e=0;$e<Math.max(Se.length,pe[Ae].length);$e++)pe[Ae][$e]&&(Se[$e]===void 0?xe[Ae][$e]=pe[Ae][$e]:(xe[Ae][$e]={},ae(Se[$e],pe[Ae][$e],xe[Ae][$e],se+1)))}else w(Se,!0)&&!Se.nodeType?(xe[Ae]=b(Se)?[]:{},ae(Se,pe[Ae]||{},xe[Ae],se+1),Object.keys(xe[Ae]).length!==0||Ae==="colorAxis"&&se===0||delete xe[Ae]):(K[Ae]!==pe[Ae]||Ae in K&&!(Ae in pe))&&Ae!=="__proto__"&&Ae!=="constructor"&&(xe[Ae]=ge[Ae])})}(j,R,ie,0),ie},discardElement:function(j){j&&j.parentElement&&j.parentElement.removeChild(j)},erase:function(j,R){let Z=j.length;for(;Z--;)if(j[Z]===R){j.splice(Z,1);break}},error:p,extend:N,extendClass:function(j,R){let Z=function(){};return Z.prototype=new j,N(Z.prototype,R),Z},find:ne,fireEvent:Y,getClosestDistance:function(j,R){let Z,U,ie,ae=!R;return j.forEach(K=>{if(K.length>1)for(ie=K.length-1;ie>0;ie--)(U=K[ie]-K[ie-1])<0&&!ae?(R==null||R(),R=void 0):U&&(Z===void 0||U<Z)&&(Z=U)}),Z},getMagnitude:B,getNestedProperty:function(j,R){let Z=j.split(".");for(;Z.length&&O(R);){let U=Z.shift();if(U===void 0||U==="__proto__")return;if(U==="this"){let ae;return w(R)&&(ae=R["@this"]),ae??R}let ie=R[U];if(!O(ie)||typeof ie=="function"||typeof ie.nodeType=="number"||ie===d)return;R=ie}return R},getStyle:function j(R,Z,U){let ie;if(Z==="width"){let K=Math.min(R.offsetWidth,R.scrollWidth),pe=R.getBoundingClientRect&&R.getBoundingClientRect().width;return pe<K&&pe>=K-1&&(K=Math.floor(pe)),Math.max(0,K-(j(R,"padding-left",!0)||0)-(j(R,"padding-right",!0)||0))}if(Z==="height")return Math.max(0,Math.min(R.offsetHeight,R.scrollHeight)-(j(R,"padding-top",!0)||0)-(j(R,"padding-bottom",!0)||0));let ae=d.getComputedStyle(R,void 0);return ae&&(ie=ae.getPropertyValue(Z),k(U,Z!=="opacity")&&(ie=y(ie))),ie},inArray:function(j,R,Z){return p(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"}),R.indexOf(j,Z)},insertItem:function(j,R){let Z,U=j.options.index,ie=R.length;for(Z=j.options.isInternal?ie:0;Z<ie+1;Z++)if(!R[Z]||M(U)&&U<k(R[Z].options.index,R[Z]._i)||R[Z].options.isInternal){R.splice(Z,0,j);break}return Z},isArray:b,isClass:C,isDOMElement:S,isFunction:function(j){return typeof j=="function"},isNumber:M,isObject:w,isString:g,keys:function(j){return p(32,!1,void 0,{"Highcharts.keys":"use Object.keys"}),Object.keys(j)},merge:function(){let j,R=arguments,Z={},U=function(ae,K){return typeof ae!="object"&&(ae={}),re(K,function(pe,xe){xe!=="__proto__"&&xe!=="constructor"&&(!w(pe,!0)||C(pe)||S(pe)?ae[xe]=K[xe]:ae[xe]=U(ae[xe]||{},pe))}),ae};R[0]===!0&&(Z=R[1],R=Array.prototype.slice.call(R,2));let ie=R.length;for(j=0;j<ie;j++)Z=U(Z,R[j]);return Z},normalizeTickInterval:function(j,R,Z,U,ie){let ae,K=j;Z=k(Z,B(j));let pe=j/Z;for(!R&&(R=ie?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],U===!1&&(Z===1?R=R.filter(function(xe){return xe%1==0}):Z<=.1&&(R=[1/Z]))),ae=0;ae<R.length&&(K=R[ae],(!ie||!(K*Z>=j))&&(ie||!(pe<=(R[ae]+(R[ae+1]||R[ae]))/2)));ae++);return q(K*Z,-Math.round(Math.log(.001)/Math.LN10))},objectEach:re,offset:function(j){let R=a.documentElement,Z=j.parentElement||j.parentNode?j.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:Z.top+(d.pageYOffset||R.scrollTop)-(R.clientTop||0),left:Z.left+(d.pageXOffset||R.scrollLeft)-(R.clientLeft||0),width:Z.width,height:Z.height}},pad:function(j,R,Z){return Array((R||2)+1-String(j).replace("-","").length).join(Z||"0")+j},pick:k,pInt:y,pushUnique:function(j,R){return 0>j.indexOf(R)&&!!j.push(R)},relativeLength:function(j,R,Z){return/%$/.test(j)?R*parseFloat(j)/100+(Z||0):parseFloat(j)},removeEvent:$,replaceNested:function(j,...R){let Z,U;do for(U of(Z=j,R))j=j.replace(U[0],U[1]);while(j!==Z);return j},splat:D,stableSort:function(j,R){let Z,U,ie=j.length;for(U=0;U<ie;U++)j[U].safeI=U;for(j.sort(function(ae,K){return(Z=R(ae,K))===0?ae.safeI-K.safeI:Z}),U=0;U<ie;U++)delete j[U].safeI},syncTimeout:function(j,R,Z){return R>0?setTimeout(j,R,Z):(j.call(0,Z),-1)},timeUnits:{millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},uniqueKey:G,useSerialIds:function(j){return s=k(j,s)},wrap:function(j,R,Z){let U=j[R];j[R]=function(){let ie=arguments,ae=this;return Z.apply(this,[function(){return U.apply(ae,arguments.length?arguments:ie)}].concat([].slice.call(arguments)))}}}}),r(n,"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"}}),r(n,"Core/Color/Palettes.js",[],function(){return{colors:["#2caffe","#544fc5","#00e272","#fe6a35","#6b8abc","#d568fb","#2ee0ca","#fa4b42","#feb56a","#91e8e1"]}}),r(n,"Core/Time.js",[n["Core/Globals.js"],n["Core/Utilities.js"]],function(i,s){let{win:c}=i,{defined:a,error:d,extend:p,isNumber:y,isObject:g,merge:b,objectEach:w,pad:S,pick:C,splat:M,timeUnits:O}=s,I=i.isSafari&&c.Intl&&c.Intl.DateTimeFormat.prototype.formatRange,D=i.isSafari&&c.Intl&&!c.Intl.DateTimeFormat.prototype.formatRange;class N{constructor(L){this.options={},this.useUTC=!1,this.variableTimezone=!1,this.Date=c.Date,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.update(L)}get(L,B){if(this.variableTimezone||this.timezoneOffset){let q=B.getTime(),ne=q-this.getTimezoneOffset(B);B.setTime(ne);let re=B["getUTC"+L]();return B.setTime(q),re}return this.useUTC?B["getUTC"+L]():B["get"+L]()}set(L,B,q){if(this.variableTimezone||this.timezoneOffset){if(L==="Milliseconds"||L==="Seconds"||L==="Minutes"&&this.getTimezoneOffset(B)%36e5==0)return B["setUTC"+L](q);let ne=this.getTimezoneOffset(B),re=B.getTime()-ne;B.setTime(re),B["setUTC"+L](q);let $=this.getTimezoneOffset(B);return re=B.getTime()+$,B.setTime(re)}return this.useUTC||I&&L==="FullYear"?B["setUTC"+L](q):B["set"+L](q)}update(L={}){let B=C(L.useUTC,!0);this.options=L=b(!0,this.options,L),this.Date=L.Date||c.Date||Date,this.useUTC=B,this.timezoneOffset=B&&L.timezoneOffset||void 0,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.variableTimezone=B&&!!(L.getTimezoneOffset||L.timezone)}makeTime(L,B,q,ne,re,$){let Y,G,j;return this.useUTC?(Y=this.Date.UTC.apply(0,arguments),G=this.getTimezoneOffset(Y),Y+=G,G!==(j=this.getTimezoneOffset(Y))?Y+=j-G:G-36e5!==this.getTimezoneOffset(Y-36e5)||D||(Y-=36e5)):Y=new this.Date(L,B,C(q,1),C(ne,0),C(re,0),C($,0)).getTime(),Y}timezoneOffsetFunction(){let L=this,B=this.options,q=B.getTimezoneOffset;return this.useUTC?B.timezone?ne=>{try{let re=`shortOffset,${B.timezone||""}`,[$,Y,G,j,R=0]=(N.formatCache[re]=N.formatCache[re]||Intl.DateTimeFormat("en",{timeZone:B.timezone,timeZoneName:"shortOffset"})).format(ne).split(/(GMT|:)/).map(Number),Z=-(36e5*(G+R/60));if(y(Z))return Z}catch{d(34)}return 0}:this.useUTC&&q?ne=>6e4*q(ne.valueOf()):()=>6e4*(L.timezoneOffset||0):ne=>6e4*new Date(ne.toString()).getTimezoneOffset()}dateFormat(L,B,q){if(!a(B)||isNaN(B))return i.defaultOptions.lang&&i.defaultOptions.lang.invalidDate||"";L=C(L,"%Y-%m-%d %H:%M:%S");let ne=this,re=new this.Date(B),$=this.get("Hours",re),Y=this.get("Day",re),G=this.get("Date",re),j=this.get("Month",re),R=this.get("FullYear",re),Z=i.defaultOptions.lang,U=Z&&Z.weekdays,ie=Z&&Z.shortWeekdays;return w(p({a:ie?ie[Y]:U[Y].substr(0,3),A:U[Y],d:S(G),e:S(G,2," "),w:Y,b:Z.shortMonths[j],B:Z.months[j],m:S(j+1),o:j+1,y:R.toString().substr(2,2),Y:R,H:S($),k:$,I:S($%12||12),l:$%12||12,M:S(this.get("Minutes",re)),p:$<12?"AM":"PM",P:$<12?"am":"pm",S:S(this.get("Seconds",re)),L:S(Math.floor(B%1e3),3)},i.dateFormats),function(ae,K){for(;L.indexOf("%"+K)!==-1;)L=L.replace("%"+K,typeof ae=="function"?ae.call(ne,B):ae)}),q?L.substr(0,1).toUpperCase()+L.substr(1):L}resolveDTLFormat(L){return g(L,!0)?L:{main:(L=M(L))[0],from:L[1],to:L[2]}}getTimeTicks(L,B,q,ne){let re,$,Y,G,j=this,R=j.Date,Z=[],U={},ie=new R(B),ae=L.unitRange,K=L.count||1;if(ne=C(ne,1),a(B)){j.set("Milliseconds",ie,ae>=O.second?0:K*Math.floor(j.get("Milliseconds",ie)/K)),ae>=O.second&&j.set("Seconds",ie,ae>=O.minute?0:K*Math.floor(j.get("Seconds",ie)/K)),ae>=O.minute&&j.set("Minutes",ie,ae>=O.hour?0:K*Math.floor(j.get("Minutes",ie)/K)),ae>=O.hour&&j.set("Hours",ie,ae>=O.day?0:K*Math.floor(j.get("Hours",ie)/K)),ae>=O.day&&j.set("Date",ie,ae>=O.month?1:Math.max(1,K*Math.floor(j.get("Date",ie)/K))),ae>=O.month&&(j.set("Month",ie,ae>=O.year?0:K*Math.floor(j.get("Month",ie)/K)),$=j.get("FullYear",ie)),ae>=O.year&&($-=$%K,j.set("FullYear",ie,$)),ae===O.week&&(G=j.get("Day",ie),j.set("Date",ie,j.get("Date",ie)-G+ne+(G<ne?-7:0))),$=j.get("FullYear",ie);let pe=j.get("Month",ie),xe=j.get("Date",ie),se=j.get("Hours",ie);B=ie.getTime(),(j.variableTimezone||!j.useUTC)&&a(q)&&(Y=q-B>4*O.month||j.getTimezoneOffset(B)!==j.getTimezoneOffset(q));let ge=ie.getTime();for(re=1;ge<q;)Z.push(ge),ae===O.year?ge=j.makeTime($+re*K,0):ae===O.month?ge=j.makeTime($,pe+re*K):Y&&(ae===O.day||ae===O.week)?ge=j.makeTime($,pe,xe+re*K*(ae===O.day?1:7)):Y&&ae===O.hour&&K>1?ge=j.makeTime($,pe,xe,se+re*K):ge+=ae*K,re++;Z.push(ge),ae<=O.hour&&Z.length<1e4&&Z.forEach(function(Se){Se%18e5==0&&j.dateFormat("%H%M%S%L",Se)==="000000000"&&(U[Se]="day")})}return Z.info=p(L,{higherRanks:U,totalRange:ae*K}),Z}getDateFormat(L,B,q,ne){let re=this.dateFormat("%m-%d %H:%M:%S.%L",B),$="01-01 00:00:00.000",Y={millisecond:15,second:12,minute:9,hour:6,day:3},G="millisecond",j=G;for(G in O){if(L===O.week&&+this.dateFormat("%w",B)===q&&re.substr(6)===$.substr(6)){G="week";break}if(O[G]>L){G=j;break}if(Y[G]&&re.substr(Y[G])!==$.substr(Y[G]))break;G!=="week"&&(j=G)}return this.resolveDTLFormat(ne[G]).main}}return N.formatCache={},N}),r(n,"Core/Defaults.js",[n["Core/Chart/ChartDefaults.js"],n["Core/Globals.js"],n["Core/Color/Palettes.js"],n["Core/Time.js"],n["Core/Utilities.js"]],function(i,s,c,a,d){let{isTouchDevice:p}=s,{fireEvent:y,merge:g}=d,b={colors:c.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:i,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:S=>Math.sqrt(1-Math.pow(S-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:p?25:10,headerFormat:'<span style="font-size: 0.8em">{point.key}</span><br/>',pointFormat:'<span style="color:{point.color}">●</span> {series.name}: <b>{point.y}</b><br/>',backgroundColor:"#ffffff",borderWidth:void 0,shadow:!0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"0.8em"},useHTML:!1},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"0.6em"},text:"Highcharts.com"}};b.chart.styledMode=!1;let w=new a(b.time);return{defaultOptions:b,defaultTime:w,getOptions:function(){return b},setOptions:function(S){return y(s,"setOptions",{options:S}),g(!0,b,S),(S.time||S.global)&&(s.time?s.time.update(g(b.global,b.time,S.global,S.time)):s.time=w),b}}}),r(n,"Core/Color/Color.js",[n["Core/Globals.js"],n["Core/Utilities.js"]],function(i,s){let{isNumber:c,merge:a,pInt:d}=s;class p{static parse(g){return g?new p(g):p.None}constructor(g){let b,w,S,C;this.rgba=[NaN,NaN,NaN,NaN],this.input=g;let M=i.Color;if(M&&M!==p)return new M(g);if(typeof g=="object"&&g.stops!==void 0)this.stops=g.stops.map(O=>new p(O[1]));else if(typeof g=="string"){if(this.input=g=p.names[g.toLowerCase()]||g,g.charAt(0)==="#"){let O=g.length,I=parseInt(g.substr(1),16);O===7?w=[(16711680&I)>>16,(65280&I)>>8,255&I,1]:O===4&&(w=[(3840&I)>>4|(3840&I)>>8,(240&I)>>4|240&I,(15&I)<<4|15&I,1])}if(!w)for(S=p.parsers.length;S--&&!w;)(b=(C=p.parsers[S]).regex.exec(g))&&(w=C.parse(b))}w&&(this.rgba=w)}get(g){let b=this.input,w=this.rgba;if(typeof b=="object"&&this.stops!==void 0){let S=a(b);return S.stops=[].slice.call(S.stops),this.stops.forEach((C,M)=>{S.stops[M]=[S.stops[M][0],C.get(g)]}),S}return w&&c(w[0])?g!=="rgb"&&(g||w[3]!==1)?g==="a"?`${w[3]}`:"rgba("+w.join(",")+")":"rgb("+w[0]+","+w[1]+","+w[2]+")":b}brighten(g){let b=this.rgba;if(this.stops)this.stops.forEach(function(w){w.brighten(g)});else if(c(g)&&g!==0)for(let w=0;w<3;w++)b[w]+=d(255*g),b[w]<0&&(b[w]=0),b[w]>255&&(b[w]=255);return this}setOpacity(g){return this.rgba[3]=g,this}tweenTo(g,b){let w=this.rgba,S=g.rgba;if(!c(w[0])||!c(S[0]))return g.input||"none";let C=S[3]!==1||w[3]!==1;return(C?"rgba(":"rgb(")+Math.round(S[0]+(w[0]-S[0])*(1-b))+","+Math.round(S[1]+(w[1]-S[1])*(1-b))+","+Math.round(S[2]+(w[2]-S[2])*(1-b))+(C?","+(S[3]+(w[3]-S[3])*(1-b)):"")+")"}}return p.names={white:"#ffffff",black:"#000000"},p.parsers=[{regex:/rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d?(?:\.\d+)?)\s*\)/,parse:function(y){return[d(y[1]),d(y[2]),d(y[3]),parseFloat(y[4],10)]}},{regex:/rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)/,parse:function(y){return[d(y[1]),d(y[2]),d(y[3]),1]}}],p.None=new p(""),p}),r(n,"Core/Animation/Fx.js",[n["Core/Color/Color.js"],n["Core/Globals.js"],n["Core/Utilities.js"]],function(i,s,c){let{parse:a}=i,{win:d}=s,{isNumber:p,objectEach:y}=c;class g{constructor(w,S,C){this.pos=NaN,this.options=S,this.elem=w,this.prop=C}dSetter(){let w=this.paths,S=w&&w[0],C=w&&w[1],M=this.now||0,O=[];if(M!==1&&S&&C)if(S.length===C.length&&M<1)for(let I=0;I<C.length;I++){let D=S[I],N=C[I],k=[];for(let L=0;L<N.length;L++){let B=D[L],q=N[L];p(B)&&p(q)&&!(N[0]==="A"&&(L===4||L===5))?k[L]=B+M*(q-B):k[L]=q}O.push(k)}else O=C;else O=this.toD||[];this.elem.attr("d",O,void 0,!0)}update(){let w=this.elem,S=this.prop,C=this.now,M=this.options.step;this[S+"Setter"]?this[S+"Setter"]():w.attr?w.element&&w.attr(S,C,null,!0):w.style[S]=C+this.unit,M&&M.call(w,C,this)}run(w,S,C){let M=this,O=M.options,I=function(k){return!I.stopped&&M.step(k)},D=d.requestAnimationFrame||function(k){setTimeout(k,13)},N=function(){for(let k=0;k<g.timers.length;k++)g.timers[k]()||g.timers.splice(k--,1);g.timers.length&&D(N)};w!==S||this.elem["forceAnimate:"+this.prop]?(this.startTime=+new Date,this.start=w,this.end=S,this.unit=C,this.now=this.start,this.pos=0,I.elem=this.elem,I.prop=this.prop,I()&&g.timers.push(I)===1&&D(N)):(delete O.curAnim[this.prop],O.complete&&Object.keys(O.curAnim).length===0&&O.complete.call(this.elem))}step(w){let S,C,M=+new Date,O=this.options,I=this.elem,D=O.complete,N=O.duration,k=O.curAnim;return I.attr&&!I.element?S=!1:w||M>=N+this.startTime?(this.now=this.end,this.pos=1,this.update(),k[this.prop]=!0,C=!0,y(k,function(L){L!==!0&&(C=!1)}),C&&D&&D.call(I),S=!1):(this.pos=O.easing((M-this.startTime)/N),this.now=this.start+(this.end-this.start)*this.pos,this.update(),S=!0),S}initPath(w,S,C){let M=w.startX,O=w.endX,I=C.slice(),D=w.isArea,N=D?2:1,k=S&&C.length>S.length&&C.hasStackedCliffs,L,B,q,ne,re=S&&S.slice();if(!re||k)return[I,I];function $(G,j){for(;G.length<B;){let R=G[0],Z=j[B-G.length];if(Z&&R[0]==="M"&&(Z[0]==="C"?G[0]=["C",R[1],R[2],R[1],R[2],R[1],R[2]]:G[0]=["L",R[1],R[2]]),G.unshift(R),D){let U=G.pop();G.push(G[G.length-1],U)}}}function Y(G){for(;G.length<B;){let j=G[Math.floor(G.length/N)-1].slice();if(j[0]==="C"&&(j[1]=j[5],j[2]=j[6]),D){let R=G[Math.floor(G.length/N)].slice();G.splice(G.length/2,0,j,R)}else G.push(j)}}if(M&&O&&O.length){for(q=0;q<M.length;q++){if(M[q]===O[0]){L=q;break}if(M[0]===O[O.length-M.length+q]){L=q,ne=!0;break}if(M[M.length-1]===O[O.length-M.length+q]){L=M.length-q;break}}L===void 0&&(re=[])}return re.length&&p(L)&&(B=I.length+L*N,ne?($(re,I),Y(I)):($(I,re),Y(re))),[re,I]}fillSetter(){g.prototype.strokeSetter.apply(this,arguments)}strokeSetter(){this.elem.attr(this.prop,a(this.start).tweenTo(a(this.end),this.pos),void 0,!0)}}return g.timers=[],g}),r(n,"Core/Animation/AnimationUtilities.js",[n["Core/Animation/Fx.js"],n["Core/Utilities.js"]],function(i,s){let{defined:c,getStyle:a,isArray:d,isNumber:p,isObject:y,merge:g,objectEach:b,pick:w}=s;function S(M){return y(M)?g({duration:500,defer:0},M):{duration:M?500:0,defer:0}}function C(M,O){let I=i.timers.length;for(;I--;)i.timers[I].elem!==M||O&&O!==i.timers[I].prop||(i.timers[I].stopped=!0)}return{animate:function(M,O,I){let D,N="",k,L,B;y(I)||(B=arguments,I={duration:B[2],easing:B[3],complete:B[4]}),p(I.duration)||(I.duration=400),I.easing=typeof I.easing=="function"?I.easing:Math[I.easing]||Math.easeInOutSine,I.curAnim=g(O),b(O,function(q,ne){C(M,ne),L=new i(M,I,ne),k=void 0,ne==="d"&&d(O.d)?(L.paths=L.initPath(M,M.pathArray,O.d),L.toD=O.d,D=0,k=1):M.attr?D=M.attr(ne):(D=parseFloat(a(M,ne))||0,ne!=="opacity"&&(N="px")),k||(k=q),typeof k=="string"&&k.match("px")&&(k=k.replace(/px/g,"")),L.run(D,k,N)})},animObject:S,getDeferredAnimation:function(M,O,I){let D=S(O),N=I?[I]:M.series,k=0,L=0;return N.forEach(B=>{let q=S(B.options.animation);k=y(O)&&c(O.defer)?D.defer:Math.max(k,q.duration+q.defer),L=Math.min(D.duration,q.duration)}),M.renderer.forExport&&(k=0),{defer:Math.max(0,k-L),duration:Math.min(k,L)}},setAnimation:function(M,O){O.renderer.globalAnimation=w(M,O.options.chart.animation,!0)},stop:C}}),r(n,"Core/Renderer/HTML/AST.js",[n["Core/Globals.js"],n["Core/Utilities.js"]],function(i,s){let{SVG_NS:c,win:a}=i,{attr:d,createElement:p,css:y,error:g,isFunction:b,isString:w,objectEach:S,splat:C}=s,{trustedTypes:M}=a,O=M&&b(M.createPolicy)&&M.createPolicy("highcharts",{createHTML:k=>k}),I=O?O.createHTML(""):"",D=function(){try{return!!new DOMParser().parseFromString(I,"text/html")}catch{return!1}}();class N{static filterUserAttributes(L){return S(L,(B,q)=>{let ne=!0;N.allowedAttributes.indexOf(q)===-1&&(ne=!1),["background","dynsrc","href","lowsrc","src"].indexOf(q)!==-1&&(ne=w(B)&&N.allowedReferences.some(re=>B.indexOf(re)===0)),ne||(g(33,!1,void 0,{"Invalid attribute in config":`${q}`}),delete L[q]),w(B)&&L[q]&&(L[q]=B.replace(/</g,"&lt;"))}),L}static parseStyle(L){return L.split(";").reduce((B,q)=>{let ne=q.split(":").map($=>$.trim()),re=ne.shift();return re&&ne.length&&(B[re.replace(/-([a-z])/g,$=>$[1].toUpperCase())]=ne.join(":")),B},{})}static setElementHTML(L,B){L.innerHTML=N.emptyHTML,B&&new N(B).addToDOM(L)}constructor(L){this.nodes=typeof L=="string"?this.parseMarkup(L):L}addToDOM(L){return function B(q,ne){let re;return C(q).forEach(function($){let Y,G=$.tagName,j=$.textContent?i.doc.createTextNode($.textContent):void 0,R=N.bypassHTMLFiltering;if(G)if(G==="#text")Y=j;else if(N.allowedTags.indexOf(G)!==-1||R){let Z=G==="svg"?c:ne.namespaceURI||c,U=i.doc.createElementNS(Z,G),ie=$.attributes||{};S($,function(ae,K){K!=="tagName"&&K!=="attributes"&&K!=="children"&&K!=="style"&&K!=="textContent"&&(ie[K]=ae)}),d(U,R?ie:N.filterUserAttributes(ie)),$.style&&y(U,$.style),j&&U.appendChild(j),B($.children||[],U),Y=U}else g(33,!1,void 0,{"Invalid tagName in config":G});Y&&ne.appendChild(Y),re=Y}),re}(this.nodes,L)}parseMarkup(L){let B,q=[];if(L=L.trim().replace(/ style=(["'])/g," data-style=$1"),D)B=new DOMParser().parseFromString(O?O.createHTML(L):L,"text/html");else{let re=p("div");re.innerHTML=L,B={body:re}}let ne=(re,$)=>{let Y=re.nodeName.toLowerCase(),G={tagName:Y};Y==="#text"&&(G.textContent=re.textContent||"");let j=re.attributes;if(j){let R={};[].forEach.call(j,Z=>{Z.name==="data-style"?G.style=N.parseStyle(Z.value):R[Z.name]=Z.value}),G.attributes=R}if(re.childNodes.length){let R=[];[].forEach.call(re.childNodes,Z=>{ne(Z,R)}),R.length&&(G.children=R)}$.push(G)};return[].forEach.call(B.body.childNodes,re=>ne(re,q)),q}}return N.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"],N.allowedReferences=["https://","http://","mailto:","/","../","./","#"],N.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"],N.emptyHTML=I,N.bypassHTMLFiltering=!1,N}),r(n,"Core/Templating.js",[n["Core/Defaults.js"],n["Core/Utilities.js"]],function(i,s){let{defaultOptions:c,defaultTime:a}=i,{extend:d,getNestedProperty:p,isArray:y,isNumber:g,isObject:b,pick:w,pInt:S}=s,C={add:(I,D)=>I+D,divide:(I,D)=>D!==0?I/D:"",eq:(I,D)=>I==D,each:function(I){let D=arguments[arguments.length-1];return!!y(I)&&I.map((N,k)=>M(D.body,d(b(N)?N:{"@this":N},{"@index":k,"@first":k===0,"@last":k===I.length-1}))).join("")},ge:(I,D)=>I>=D,gt:(I,D)=>I>D,if:I=>!!I,le:(I,D)=>I<=D,lt:(I,D)=>I<D,multiply:(I,D)=>I*D,ne:(I,D)=>I!=D,subtract:(I,D)=>I-D,unless:I=>!I};function M(I="",D,N){let k=/\{([\w\:\.\,;\-\/<>%@"'’= #\(\)]+)\}/g,L=/\(([\w\:\.\,;\-\/<>%@"'= ]+)\)/g,B=[],q=/f$/,ne=/\.(\d)/,re=c.lang,$=N&&N.time||a,Y=N&&N.numberFormatter||O,G=(ie="")=>{let ae;return ie==="true"||ie!=="false"&&((ae=Number(ie)).toString()===ie?ae:p(ie,D))},j,R,Z=0,U;for(;(j=k.exec(I))!==null;){let ie=L.exec(j[1]);ie&&(j=ie,U=!0),R&&R.isBlock||(R={ctx:D,expression:j[1],find:j[0],isBlock:j[1].charAt(0)==="#",start:j.index,startInner:j.index+j[0].length,length:j[0].length});let ae=j[1].split(" ")[0].replace("#","");C[ae]&&(R.isBlock&&ae===R.fn&&Z++,R.fn||(R.fn=ae));let K=j[1]==="else";if(R.isBlock&&R.fn&&(j[1]===`/${R.fn}`||K))if(Z)!K&&Z--;else{let pe=R.startInner,xe=I.substr(pe,j.index-pe);R.body===void 0?(R.body=xe,R.startInner=j.index+j[0].length):R.elseBody=xe,R.find+=xe+j[0],K||(B.push(R),R=void 0)}else R.isBlock||B.push(R);if(ie&&!(R!=null&&R.isBlock))break}return B.forEach(ie=>{let ae,K,{body:pe,elseBody:xe,expression:se,fn:ge}=ie;if(ge){let Se=[ie],Ae=se.split(" ");for(K=C[ge].length;K--;)Se.unshift(G(Ae[K+1]));ae=C[ge].apply(D,Se),ie.isBlock&&typeof ae=="boolean"&&(ae=M(ae?pe:xe,D,N))}else{let Se=se.split(":");if(ae=G(Se.shift()||""),Se.length&&typeof ae=="number"){let Ae=Se.join(":");if(q.test(Ae)){let $e=parseInt((Ae.match(ne)||["","-1"])[1],10);ae!==null&&(ae=Y(ae,$e,re.decimalPoint,Ae.indexOf(",")>-1?re.thousandsSep:""))}else ae=$.dateFormat(Ae,ae)}}I=I.replace(ie.find,w(ae,""))}),U?M(I,D,N):I}function O(I,D,N,k){let L,B;I=+I||0,D=+D;let q=c.lang,ne=(I.toString().split(".")[1]||"").split("e")[0].length,re=I.toString().split("e"),$=D;D===-1?D=Math.min(ne,20):g(D)?D&&re[1]&&re[1]<0&&((B=D+ +re[1])>=0?(re[0]=(+re[0]).toExponential(B).split("e")[0],D=B):(re[0]=re[0].split(".")[0]||0,I=D<20?(re[0]*Math.pow(10,re[1])).toFixed(D):0,re[1]=0)):D=2;let Y=(Math.abs(re[1]?re[0]:I)+Math.pow(10,-Math.max(D,ne)-1)).toFixed(D),G=String(S(Y)),j=G.length>3?G.length%3:0;return N=w(N,q.decimalPoint),k=w(k,q.thousandsSep),L=(I<0?"-":"")+(j?G.substr(0,j)+k:""),0>+re[1]&&!$?L="0":L+=G.substr(j).replace(/(\d{3})(?=\d)/g,"$1"+k),D?L+=N+Y.slice(-D):+L==0&&(L="0"),re[1]&&+L!=0&&(L+="e"+re[1]),L}return{dateFormat:function(I,D,N){return a.dateFormat(I,D,N)},format:M,helpers:C,numberFormat:O}}),r(n,"Core/Renderer/RendererRegistry.js",[n["Core/Globals.js"]],function(i){var s,c;let a;return(c=s||(s={})).rendererTypes={},c.getRendererType=function(d=a){return c.rendererTypes[d]||c.rendererTypes[a]},c.registerRendererType=function(d,p,y){c.rendererTypes[d]=p,(!a||y)&&(a=d,i.Renderer=p)},s}),r(n,"Core/Renderer/RendererUtilities.js",[n["Core/Utilities.js"]],function(i){var s;let{clamp:c,pick:a,pushUnique:d,stableSort:p}=i;return(s||(s={})).distribute=function y(g,b,w){let S=g,C=S.reducedLen||b,M=(G,j)=>G.target-j.target,O=[],I=g.length,D=[],N=O.push,k,L,B,q=!0,ne,re,$=0,Y;for(k=I;k--;)$+=g[k].size;if($>C){for(p(g,(G,j)=>(j.rank||0)-(G.rank||0)),B=(Y=g[0].rank===g[g.length-1].rank)?I/2:-1,L=Y?B:I-1;B&&$>C;)ne=g[k=Math.floor(L)],d(D,k)&&($-=ne.size),L+=B,Y&&L>=g.length&&(B/=2,L=B);D.sort((G,j)=>j-G).forEach(G=>N.apply(O,g.splice(G,1)))}for(p(g,M),g=g.map(G=>({size:G.size,targets:[G.target],align:a(G.align,.5)}));q;){for(k=g.length;k--;)ne=g[k],re=(Math.min.apply(0,ne.targets)+Math.max.apply(0,ne.targets))/2,ne.pos=c(re-ne.size*ne.align,0,b-ne.size);for(k=g.length,q=!1;k--;)k>0&&g[k-1].pos+g[k-1].size>g[k].pos&&(g[k-1].size+=g[k].size,g[k-1].targets=g[k-1].targets.concat(g[k].targets),g[k-1].align=.5,g[k-1].pos+g[k-1].size>b&&(g[k-1].pos=b-g[k-1].size),g.splice(k,1),q=!0)}return N.apply(S,O),k=0,g.some(G=>{let j=0;return(G.targets||[]).some(()=>(S[k].pos=G.pos+j,w!==void 0&&Math.abs(S[k].pos-S[k].target)>w?(S.slice(0,k+1).forEach(R=>delete R.pos),S.reducedLen=(S.reducedLen||b)-.1*b,S.reducedLen>.1*b&&y(S,b,w),!0):(j+=S[k].size,k++,!1)))}),p(S,M),S},s}),r(n,"Core/Renderer/SVG/SVGElement.js",[n["Core/Animation/AnimationUtilities.js"],n["Core/Color/Color.js"],n["Core/Globals.js"],n["Core/Utilities.js"]],function(i,s,c,a){let{animate:d,animObject:p,stop:y}=i,{deg2rad:g,doc:b,svg:w,SVG_NS:S,win:C}=c,{addEvent:M,attr:O,createElement:I,crisp:D,css:N,defined:k,erase:L,extend:B,fireEvent:q,isArray:ne,isFunction:re,isObject:$,isString:Y,merge:G,objectEach:j,pick:R,pInt:Z,pushUnique:U,replaceNested:ie,syncTimeout:ae,uniqueKey:K}=a;class pe{_defaultGetter(se){let ge=R(this[se+"Value"],this[se],this.element?this.element.getAttribute(se):null,0);return/^-?[\d\.]+$/.test(ge)&&(ge=parseFloat(ge)),ge}_defaultSetter(se,ge,Se){Se.setAttribute(ge,se)}add(se){let ge,Se=this.renderer,Ae=this.element;return se&&(this.parentGroup=se),this.textStr!==void 0&&this.element.nodeName==="text"&&Se.buildText(this),this.added=!0,(!se||se.handleZ||this.zIndex)&&(ge=this.zIndexSetter()),ge||(se?se.element:Se.box).appendChild(Ae),this.onAdd&&this.onAdd(),this}addClass(se,ge){let Se=ge?"":this.attr("class")||"";return(se=(se||"").split(/ /g).reduce(function(Ae,$e){return Se.indexOf($e)===-1&&Ae.push($e),Ae},Se?[Se]:[]).join(" "))!==Se&&this.attr("class",se),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(se,ge,Se,Ae=!0){let $e,le,te,fe,Me={},H=this.renderer,de=H.alignedObjects,oe=!!se;se?(this.alignOptions=se,this.alignByTranslate=ge,this.alignTo=Se):(se=this.alignOptions||{},ge=this.alignByTranslate,Se=this.alignTo);let _e=!Se||Y(Se)?Se||"renderer":void 0;_e&&(oe&&U(de,this),Se=void 0);let ce=R(Se,H[_e],H),Oe=se.align,Be=se.verticalAlign;return $e=(ce.x||0)+(se.x||0),le=(ce.y||0)+(se.y||0),Oe==="right"?te=1:Oe==="center"&&(te=2),te&&($e+=((ce.width||0)-(se.width||0))/te),Me[ge?"translateX":"x"]=Math.round($e),Be==="bottom"?fe=1:Be==="middle"&&(fe=2),fe&&(le+=((ce.height||0)-(se.height||0))/fe),Me[ge?"translateY":"y"]=Math.round(le),Ae&&(this[this.placed?"animate":"attr"](Me),this.placed=!0),this.alignAttr=Me,this}alignSetter(se){let ge={left:"start",center:"middle",right:"end"};ge[se]&&(this.alignValue=se,this.element.setAttribute("text-anchor",ge[se]))}animate(se,ge,Se){let Ae=p(R(ge,this.renderer.globalAnimation,!0)),$e=Ae.defer;return b.hidden&&(Ae.duration=0),Ae.duration!==0?(Se&&(Ae.complete=Se),ae(()=>{this.element&&d(this,se,Ae)},$e)):(this.attr(se,void 0,Se||Ae.complete),j(se,function(le,te){Ae.step&&Ae.step.call(this,le,{prop:te,pos:1,elem:this})},this)),this}applyTextOutline(se){let ge=this.element;se.indexOf("contrast")!==-1&&(se=se.replace(/contrast/g,this.renderer.getContrast(ge.style.fill)));let Se=se.split(" "),Ae=Se[Se.length-1],$e=Se[0];if($e&&$e!=="none"&&c.svg){this.fakeTS=!0,$e=$e.replace(/(^[\d\.]+)(.*?)$/g,function(H,de,oe){return 2*Number(de)+oe}),this.removeTextOutline();let le=b.createElementNS(S,"tspan");O(le,{class:"highcharts-text-outline",fill:Ae,stroke:Ae,"stroke-width":$e,"stroke-linejoin":"round"});let te=ge.querySelector("textPath")||ge;[].forEach.call(te.childNodes,H=>{let de=H.cloneNode(!0);de.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(oe=>de.removeAttribute(oe)),le.appendChild(de)});let fe=0;[].forEach.call(te.querySelectorAll("text tspan"),H=>{fe+=Number(H.getAttribute("dy"))});let Me=b.createElementNS(S,"tspan");Me.textContent="​",O(Me,{x:Number(ge.getAttribute("x")),dy:-fe}),le.appendChild(Me),te.insertBefore(le,te.firstChild)}}attr(se,ge,Se,Ae){let{element:$e}=this,le=pe.symbolCustomAttribs,te,fe,Me=this,H;return typeof se=="string"&&ge!==void 0&&(te=se,(se={})[te]=ge),typeof se=="string"?Me=(this[se+"Getter"]||this._defaultGetter).call(this,se,$e):(j(se,function(de,oe){H=!1,Ae||y(this,oe),this.symbolName&&le.indexOf(oe)!==-1&&(fe||(this.symbolAttr(se),fe=!0),H=!0),this.rotation&&(oe==="x"||oe==="y")&&(this.doTransform=!0),H||(this[oe+"Setter"]||this._defaultSetter).call(this,de,oe,$e)},this),this.afterSetters()),Se&&Se.call(this),Me}clip(se){if(se&&!se.clipPath){let ge=K()+"-",Se=this.renderer.createElement("clipPath").attr({id:ge}).add(this.renderer.defs);B(se,{clipPath:Se,id:ge,count:0}),se.add(Se)}return this.attr("clip-path",se?`url(${this.renderer.url}#${se.id})`:"none")}crisp(se,ge){ge=Math.round(ge||se.strokeWidth||0);let Se=se.x||this.x||0,Ae=se.y||this.y||0,$e=(se.width||this.width||0)+Se,le=(se.height||this.height||0)+Ae,te=D(Se,ge),fe=D(Ae,ge);return B(se,{x:te,y:fe,width:D($e,ge)-te,height:D(le,ge)-fe}),k(se.strokeWidth)&&(se.strokeWidth=ge),se}complexColor(se,ge,Se){let Ae=this.renderer,$e,le,te,fe,Me,H,de,oe,_e,ce,Oe=[],Be;q(this.renderer,"complexColor",{args:arguments},function(){if(se.radialGradient?le="radialGradient":se.linearGradient&&(le="linearGradient"),le){if(te=se[le],Me=Ae.gradients,H=se.stops,_e=Se.radialReference,ne(te)&&(se[le]=te={x1:te[0],y1:te[1],x2:te[2],y2:te[3],gradientUnits:"userSpaceOnUse"}),le==="radialGradient"&&_e&&!k(te.gradientUnits)&&(fe=te,te=G(te,Ae.getRadialAttr(_e,fe),{gradientUnits:"userSpaceOnUse"})),j(te,function(Re,He){He!=="id"&&Oe.push(He,Re)}),j(H,function(Re){Oe.push(Re)}),Me[Oe=Oe.join(",")])ce=Me[Oe].attr("id");else{te.id=ce=K();let Re=Me[Oe]=Ae.createElement(le).attr(te).add(Ae.defs);Re.radAttr=fe,Re.stops=[],H.forEach(function(He){He[1].indexOf("rgba")===0?(de=($e=s.parse(He[1])).get("rgb"),oe=$e.get("a")):(de=He[1],oe=1);let ct=Ae.createElement("stop").attr({offset:He[0],"stop-color":de,"stop-opacity":oe}).add(Re);Re.stops.push(ct)})}Be="url("+Ae.url+"#"+ce+")",Se.setAttribute(ge,Be),Se.gradient=Oe,se.toString=function(){return Be}}})}css(se){let ge=this.styles,Se={},Ae=this.element,$e,le=!ge;if(ge&&j(se,function(te,fe){ge&&ge[fe]!==te&&(Se[fe]=te,le=!0)}),le){ge&&(se=B(ge,Se)),se.width===null||se.width==="auto"?delete this.textWidth:Ae.nodeName.toLowerCase()==="text"&&se.width&&($e=this.textWidth=Z(se.width)),B(this.styles,se),$e&&!w&&this.renderer.forExport&&delete se.width;let te=G(se);Ae.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","width"].forEach(fe=>te&&delete te[fe]),te.color&&(te.fill=te.color)),N(Ae,te)}return this.added&&(this.element.nodeName==="text"&&this.renderer.buildText(this),se.textOutline&&this.applyTextOutline(se.textOutline)),this}dashstyleSetter(se){let ge,Se=this["stroke-width"];if(Se==="inherit"&&(Se=1),se=se&&se.toLowerCase()){let Ae=se.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(ge=Ae.length;ge--;)Ae[ge]=""+Z(Ae[ge])*R(Se,NaN);se=Ae.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",se)}}destroy(){var fe;let se=this,ge=se.element||{},Se=se.renderer,Ae=ge.ownerSVGElement,$e=ge.nodeName==="SPAN"&&se.parentGroup||void 0,le,te;if(ge.onclick=ge.onmouseout=ge.onmouseover=ge.onmousemove=ge.point=null,y(se),se.clipPath&&Ae){let Me=se.clipPath;[].forEach.call(Ae.querySelectorAll("[clip-path],[CLIP-PATH]"),function(H){H.getAttribute("clip-path").indexOf(Me.element.id)>-1&&H.removeAttribute("clip-path")}),se.clipPath=Me.destroy()}if(se.connector=(fe=se.connector)==null?void 0:fe.destroy(),se.stops){for(te=0;te<se.stops.length;te++)se.stops[te].destroy();se.stops.length=0,se.stops=void 0}for(se.safeRemoveChild(ge);$e&&$e.div&&$e.div.childNodes.length===0;)le=$e.parentGroup,se.safeRemoveChild($e.div),delete $e.div,$e=le;se.alignOptions&&L(Se.alignedObjects,se),j(se,function(Me,H){se[H]&&se[H].parentGroup===se&&se[H].destroy&&se[H].destroy(),delete se[H]})}dSetter(se,ge,Se){ne(se)&&(typeof se[0]=="string"&&(se=this.renderer.pathToSegments(se)),this.pathArray=se,se=se.reduce((Ae,$e,le)=>$e&&$e.join?(le?Ae+" ":"")+$e.join(" "):($e||"").toString(),"")),/(NaN| {2}|^$)/.test(se)&&(se="M 0 0"),this[ge]!==se&&(Se.setAttribute(ge,se),this[ge]=se)}fillSetter(se,ge,Se){typeof se=="string"?Se.setAttribute(ge,se):se&&this.complexColor(se,ge,Se)}hrefSetter(se,ge,Se){Se.setAttributeNS("http://www.w3.org/1999/xlink",ge,se)}getBBox(se,ge){let Se,Ae,$e,le,{alignValue:te,element:fe,renderer:Me,styles:H,textStr:de}=this,{cache:oe,cacheKeys:_e}=Me,ce=fe.namespaceURI===this.SVG_NS,Oe=R(ge,this.rotation,0),Be=Me.styledMode?fe&&pe.prototype.getStyle.call(fe,"font-size"):H.fontSize;if(k(de)&&((le=de.toString()).indexOf("<")===-1&&(le=le.replace(/\d/g,"0")),le+=["",Me.rootFontSize,Be,Oe,this.textWidth,te,H.textOverflow,H.fontWeight].join(",")),le&&!se&&(Se=oe[le]),!Se||Se.polygon){if(ce||Me.forExport){try{$e=this.fakeTS&&function(He){let ct=fe.querySelector(".highcharts-text-outline");ct&&N(ct,{display:He})},re($e)&&$e("none"),Se=fe.getBBox?B({},fe.getBBox()):{width:fe.offsetWidth,height:fe.offsetHeight,x:0,y:0},re($e)&&$e("")}catch{}(!Se||Se.width<0)&&(Se={x:0,y:0,width:0,height:0})}else Se=this.htmlGetBBox();Ae=Se.height,ce&&(Se.height=Ae={"11px,17":14,"13px,20":16}[`${Be||""},${Math.round(Ae)}`]||Ae),Oe&&(Se=this.getRotatedBox(Se,Oe));let Re={bBox:Se};q(this,"afterGetBBox",Re),Se=Re.bBox}if(le&&(de===""||Se.height>0)){for(;_e.length>250;)delete oe[_e.shift()];oe[le]||_e.push(le),oe[le]=Se}return Se}getRotatedBox(se,ge){let{x:Se,y:Ae,width:$e,height:le}=se,{alignValue:te,translateY:fe,rotationOriginX:Me=0,rotationOriginY:H=0}=this,de={right:1,center:.5}[te||0]||0,oe=Number(this.element.getAttribute("y")||0)-(fe?0:Ae),_e=ge*g,ce=(ge-90)*g,Oe=Math.cos(_e),Be=Math.sin(_e),Re=$e*Oe,He=$e*Be,ct=Math.cos(ce),at=Math.sin(ce),[[ke,Te],[Le,ze]]=[Me,H].map(Zt=>[Zt-Zt*Oe,Zt*Be]),Qe=Se+de*($e-Re)+ke+ze+oe*ct,Ve=Qe+Re,it=Ve-le*ct,ot=it-Re,ft=Ae+oe-de*He-Te+Le+oe*at,pt=ft+He,Ke=pt-le*at,mt=Ke-He,wt=Math.min(Qe,Ve,it,ot),Pt=Math.min(ft,pt,Ke,mt),kt=Math.max(Qe,Ve,it,ot)-wt,bt=Math.max(ft,pt,Ke,mt)-Pt;return{x:wt,y:Pt,width:kt,height:bt,polygon:[[Qe,ft],[Ve,pt],[it,Ke],[ot,mt]]}}getStyle(se){return C.getComputedStyle(this.element||this,"").getPropertyValue(se)}hasClass(se){return(""+this.attr("class")).split(" ").indexOf(se)!==-1}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(se,ge){this.onEvents={},this.opacity=1,this.SVG_NS=S,this.element=ge==="span"||ge==="body"?I(ge):b.createElementNS(this.SVG_NS,ge),this.renderer=se,this.styles={},q(this,"afterInit")}on(se,ge){let{onEvents:Se}=this;return Se[se]&&Se[se](),Se[se]=M(this.element,se,ge),this}opacitySetter(se,ge,Se){let Ae=Number(Number(se).toFixed(3));this.opacity=Ae,Se.setAttribute(ge,Ae)}reAlign(){var se;(se=this.alignOptions)!=null&&se.width&&this.alignOptions.align!=="left"&&(this.alignOptions.width=this.getBBox().width,this.placed=!1,this.align())}removeClass(se){return this.attr("class",(""+this.attr("class")).replace(Y(se)?RegExp(`(^| )${se}( |$)`):se," ").replace(/ +/g," ").trim())}removeTextOutline(){let se=this.element.querySelector("tspan.highcharts-text-outline");se&&this.safeRemoveChild(se)}safeRemoveChild(se){let ge=se.parentNode;ge&&ge.removeChild(se)}setRadialReference(se){let ge=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=se,ge&&ge.radAttr&&ge.animate(this.renderer.getRadialAttr(se,ge.radAttr)),this}shadow(se){var $e;let{renderer:ge}=this,Se=G((($e=this.parentGroup)==null?void 0:$e.rotation)===90?{offsetX:-1,offsetY:-1}:{},$(se)?se:{}),Ae=ge.shadowDefinition(Se);return this.attr({filter:se?`url(${ge.url}#${Ae})`:"none"})}show(se=!0){return this.attr({visibility:se?"inherit":"visible"})}"stroke-widthSetter"(se,ge,Se){this[ge]=se,Se.setAttribute(ge,se)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let se=this.getStyle("stroke-width"),ge=0,Se;return/px$/.test(se)?ge=Z(se):se!==""&&(O(Se=b.createElementNS(S,"rect"),{width:se,"stroke-width":0}),this.element.parentNode.appendChild(Se),ge=Se.getBBox().width,Se.parentNode.removeChild(Se)),ge}symbolAttr(se){let ge=this;pe.symbolCustomAttribs.forEach(function(Se){ge[Se]=R(se[Se],ge[Se])}),ge.attr({d:ge.renderer.symbols[ge.symbolName](ge.x,ge.y,ge.width,ge.height,ge)})}textSetter(se){se!==this.textStr&&(delete this.textPxLength,this.textStr=se,this.added&&this.renderer.buildText(this),this.reAlign())}titleSetter(se){let ge=this.element,Se=ge.getElementsByTagName("title")[0]||b.createElementNS(this.SVG_NS,"title");ge.insertBefore?ge.insertBefore(Se,ge.firstChild):ge.appendChild(Se),Se.textContent=ie(R(se,""),[/<[^>]*>/g,""]).replace(/&lt;/g,"<").replace(/&gt;/g,">")}toFront(){let se=this.element;return se.parentNode.appendChild(se),this}translate(se,ge){return this.attr({translateX:se,translateY:ge})}updateTransform(se="transform"){var oe;let{element:ge,matrix:Se,rotation:Ae=0,rotationOriginX:$e,rotationOriginY:le,scaleX:te,scaleY:fe,translateX:Me=0,translateY:H=0}=this,de=["translate("+Me+","+H+")"];k(Se)&&de.push("matrix("+Se.join(",")+")"),Ae&&(de.push("rotate("+Ae+" "+R($e,ge.getAttribute("x"),0)+" "+R(le,ge.getAttribute("y")||0)+")"),((oe=this.text)==null?void 0:oe.element.tagName)==="SPAN"&&this.text.attr({rotation:Ae,rotationOriginX:($e||0)-this.padding,rotationOriginY:(le||0)-this.padding})),(k(te)||k(fe))&&de.push("scale("+R(te,1)+" "+R(fe,1)+")"),de.length&&!(this.text||this).textPath&&ge.setAttribute(se,de.join(" "))}visibilitySetter(se,ge,Se){se==="inherit"?Se.removeAttribute(ge):this[ge]!==se&&Se.setAttribute(ge,se),this[ge]=se}xGetter(se){return this.element.nodeName==="circle"&&(se==="x"?se="cx":se==="y"&&(se="cy")),this._defaultGetter(se)}zIndexSetter(se,ge){let Se=this.renderer,Ae=this.parentGroup,$e=(Ae||Se).element||Se.box,le=this.element,te=$e===Se.box,fe,Me,H,de=!1,oe,_e=this.added,ce;if(k(se)?(le.setAttribute("data-z-index",se),se=+se,this[ge]===se&&(_e=!1)):k(this[ge])&&le.removeAttribute("data-z-index"),this[ge]=se,_e){for((se=this.zIndex)&&Ae&&(Ae.handleZ=!0),ce=(fe=$e.childNodes).length-1;ce>=0&&!de;ce--)oe=!k(H=(Me=fe[ce]).getAttribute("data-z-index")),Me!==le&&(se<0&&oe&&!te&&!ce?($e.insertBefore(le,fe[ce]),de=!0):(Z(H)<=se||oe&&(!k(se)||se>=0))&&($e.insertBefore(le,fe[ce+1]),de=!0));de||($e.insertBefore(le,fe[te?3:0]),de=!0)}return de}}return pe.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],pe.prototype.strokeSetter=pe.prototype.fillSetter,pe.prototype.yGetter=pe.prototype.xGetter,pe.prototype.matrixSetter=pe.prototype.rotationOriginXSetter=pe.prototype.rotationOriginYSetter=pe.prototype.rotationSetter=pe.prototype.scaleXSetter=pe.prototype.scaleYSetter=pe.prototype.translateXSetter=pe.prototype.translateYSetter=pe.prototype.verticalAlignSetter=function(xe,se){this[se]=xe,this.doTransform=!0},pe}),r(n,"Core/Renderer/SVG/SVGLabel.js",[n["Core/Renderer/SVG/SVGElement.js"],n["Core/Utilities.js"]],function(i,s){let{defined:c,extend:a,isNumber:d,merge:p,pick:y,removeEvent:g}=s;class b extends i{constructor(S,C,M,O,I,D,N,k,L,B){let q;super(S,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.doUpdate=!1,this.textStr=C,this.x=M,this.y=O,this.anchorX=D,this.anchorY=N,this.baseline=L,this.className=B,this.addClass(B==="button"?"highcharts-no-tooltip":"highcharts-label"),B&&this.addClass("highcharts-"+B),this.text=S.text(void 0,0,0,k).attr({zIndex:1}),typeof I=="string"&&((q=/^url\((.*?)\)$/.test(I))||this.renderer.symbols[I])&&(this.symbolKey=I),this.bBox=b.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=S.styledMode||q,this.deferredAttr={},this.alignFactor=0}alignSetter(S){let C={left:0,center:.5,right:1}[S];C!==this.alignFactor&&(this.alignFactor=C,this.bBox&&d(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(S,C){this.anchorX=S,this.boxAttr(C,Math.round(S)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(S,C){this.anchorY=S,this.boxAttr(C,S-this.ySetting)}boxAttr(S,C){this.box?this.box.attr(S,C):this.deferredAttr[S]=C}css(S){if(S){let C={};S=p(S),b.textProps.forEach(M=>{S[M]!==void 0&&(C[M]=S[M],delete S[M])}),this.text.css(C),"fontSize"in C||"fontWeight"in C?this.updateTextPadding():("width"in C||"textOverflow"in C)&&this.updateBoxSize()}return i.prototype.css.call(this,S)}destroy(){g(this.element,"mouseenter"),g(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),i.prototype.destroy.call(this)}fillSetter(S,C){S&&(this.needsBox=!0),this.fill=S,this.boxAttr(C,S)}getBBox(S,C){this.textStr&&this.bBox.width===0&&this.bBox.height===0&&this.updateBoxSize();let{padding:M,height:O=0,translateX:I=0,translateY:D=0,width:N=0}=this,k=y(this.paddingLeft,M),L=C??(this.rotation||0),B={width:N,height:O,x:I+this.bBox.x-k,y:D+this.bBox.y-M+this.baselineOffset};return L&&(B=this.getRotatedBox(B,L)),B}getCrispAdjust(){return(this.renderer.styledMode&&this.box?this.box.strokeWidth():this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(S){this.heightSetting=S,this.doUpdate=!0}afterSetters(){super.afterSetters(),this.doUpdate&&(this.updateBoxSize(),this.doUpdate=!1)}onAdd(){this.text.add(this),this.attr({text:y(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&c(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(S,C){d(S)?S!==this[C]&&(this[C]=S,this.updateTextPadding()):this[C]=void 0}rSetter(S,C){this.boxAttr(C,S)}strokeSetter(S,C){this.stroke=S,this.boxAttr(C,S)}"stroke-widthSetter"(S,C){S&&(this.needsBox=!0),this["stroke-width"]=S,this.boxAttr(C,S)}"text-alignSetter"(S){this.textAlign=S}textSetter(S){S!==void 0&&this.text.attr({text:S}),this.updateTextPadding(),this.reAlign()}updateBoxSize(){let S,C=this.text,M={},O=this.padding,I=this.bBox=(!d(this.widthSetting)||!d(this.heightSetting)||this.textAlign)&&c(C.textStr)?C.getBBox(void 0,0):b.emptyBBox;this.width=this.getPaddedWidth(),this.height=(this.heightSetting||I.height||0)+2*O;let D=this.renderer.fontMetrics(C);if(this.baselineOffset=O+Math.min((this.text.firstLineMetrics||D).b,I.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-D.h)/2),this.needsBox&&!C.textPath){if(!this.box){let N=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();N.addClass((this.className==="button"?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),N.add(this)}S=this.getCrispAdjust(),M.x=S,M.y=(this.baseline?-this.baselineOffset:0)+S,M.width=Math.round(this.width),M.height=Math.round(this.height),this.box.attr(a(M,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let S=this.text;if(!S.textPath){this.updateBoxSize();let C=this.baseline?0:this.baselineOffset,M=y(this.paddingLeft,this.padding);c(this.widthSetting)&&this.bBox&&(this.textAlign==="center"||this.textAlign==="right")&&(M+={center:.5,right:1}[this.textAlign]*(this.widthSetting-this.bBox.width)),(M!==S.x||C!==S.y)&&(S.attr("x",M),S.hasBoxWidthChanged&&(this.bBox=S.getBBox(!0)),C!==void 0&&S.attr("y",C)),S.x=M,S.y=C}}widthSetter(S){this.widthSetting=d(S)?S:void 0,this.doUpdate=!0}getPaddedWidth(){let S=this.padding,C=y(this.paddingLeft,S),M=y(this.paddingRight,S);return(this.widthSetting||this.bBox.width||0)+C+M}xSetter(S){this.x=S,this.alignFactor&&(S-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(S),this.attr("translateX",this.xSetting)}ySetter(S){this.ySetting=this.y=Math.round(S),this.attr("translateY",this.ySetting)}}return b.emptyBBox={width:0,height:0,x:0,y:0},b.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"],b}),r(n,"Core/Renderer/SVG/Symbols.js",[n["Core/Utilities.js"]],function(i){let{defined:s,isNumber:c,pick:a}=i;function d(g,b,w,S,C){let M=[];if(C){let O=C.start||0,I=a(C.r,w),D=a(C.r,S||w),N=2e-4/(C.borderRadius?1:Math.max(I,1)),k=Math.abs((C.end||0)-O-2*Math.PI)<N,L=(C.end||0)-(k?N:0),B=C.innerR,q=a(C.open,k),ne=Math.cos(O),re=Math.sin(O),$=Math.cos(L),Y=Math.sin(L),G=a(C.longArc,L-O-Math.PI<N?0:1),j=["A",I,D,0,G,a(C.clockwise,1),g+I*$,b+D*Y];j.params={start:O,end:L,cx:g,cy:b},M.push(["M",g+I*ne,b+D*re],j),s(B)&&((j=["A",B,B,0,G,s(C.clockwise)?1-C.clockwise:0,g+B*ne,b+B*re]).params={start:L,end:O,cx:g,cy:b},M.push(q?["M",g+B*$,b+B*Y]:["L",g+B*$,b+B*Y],j)),q||M.push(["Z"])}return M}function p(g,b,w,S,C){return C&&C.r?y(g,b,w,S,C):[["M",g,b],["L",g+w,b],["L",g+w,b+S],["L",g,b+S],["Z"]]}function y(g,b,w,S,C){let M=(C==null?void 0:C.r)||0;return[["M",g+M,b],["L",g+w-M,b],["A",M,M,0,0,1,g+w,b+M],["L",g+w,b+S-M],["A",M,M,0,0,1,g+w-M,b+S],["L",g+M,b+S],["A",M,M,0,0,1,g,b+S-M],["L",g,b+M],["A",M,M,0,0,1,g+M,b],["Z"]]}return{arc:d,callout:function(g,b,w,S,C){let M=Math.min(C&&C.r||0,w,S),O=M+6,I=C&&C.anchorX,D=C&&C.anchorY||0,N=y(g,b,w,S,{r:M});if(!c(I)||I<w&&I>0&&D<S&&D>0)return N;if(g+I>w-O)if(D>b+O&&D<b+S-O)N.splice(3,1,["L",g+w,D-6],["L",g+w+6,D],["L",g+w,D+6],["L",g+w,b+S-M]);else if(I<w){let k=D<b+O,L=k?b:b+S;N.splice(k?2:5,0,["L",I,D],["L",g+w-M,L])}else N.splice(3,1,["L",g+w,S/2],["L",I,D],["L",g+w,S/2],["L",g+w,b+S-M]);else if(g+I<O)if(D>b+O&&D<b+S-O)N.splice(7,1,["L",g,D+6],["L",g-6,D],["L",g,D-6],["L",g,b+M]);else if(I>0){let k=D<b+O,L=k?b:b+S;N.splice(k?1:6,0,["L",I,D],["L",g+M,L])}else N.splice(7,1,["L",g,S/2],["L",I,D],["L",g,S/2],["L",g,b+M]);else D>S&&I<w-O?N.splice(5,1,["L",I+6,b+S],["L",I,b+S+6],["L",I-6,b+S],["L",g+M,b+S]):D<0&&I>O&&N.splice(1,1,["L",I-6,b],["L",I,b-6],["L",I+6,b],["L",w-M,b]);return N},circle:function(g,b,w,S){return d(g+w/2,b+S/2,w/2,S/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(g,b,w,S){return[["M",g+w/2,b],["L",g+w,b+S/2],["L",g+w/2,b+S],["L",g,b+S/2],["Z"]]},rect:p,roundedRect:y,square:p,triangle:function(g,b,w,S){return[["M",g+w/2,b],["L",g+w,b+S],["L",g,b+S],["Z"]]},"triangle-down":function(g,b,w,S){return[["M",g,b],["L",g+w,b],["L",g+w/2,b+S],["Z"]]}}}),r(n,"Core/Renderer/SVG/TextBuilder.js",[n["Core/Renderer/HTML/AST.js"],n["Core/Globals.js"],n["Core/Utilities.js"]],function(i,s,c){let{doc:a,SVG_NS:d,win:p}=s,{attr:y,extend:g,fireEvent:b,isString:w,objectEach:S,pick:C}=c;return class{constructor(M){let O=M.styles;this.renderer=M.renderer,this.svgElement=M,this.width=M.textWidth,this.textLineHeight=O&&O.lineHeight,this.textOutline=O&&O.textOutline,this.ellipsis=!!(O&&O.textOverflow==="ellipsis"),this.noWrap=!!(O&&O.whiteSpace==="nowrap")}buildSVG(){let M=this.svgElement,O=M.element,I=M.renderer,D=C(M.textStr,"").toString(),N=D.indexOf("<")!==-1,k=O.childNodes,L=!M.added&&I.box,B=[D,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,M.getStyle("font-size"),this.width].join(",");if(B!==M.textCache){M.textCache=B,delete M.actualWidth;for(let q=k.length;q--;)O.removeChild(k[q]);if(N||this.ellipsis||this.width||M.textPath||D.indexOf(" ")!==-1&&(!this.noWrap||/<br.*?>/g.test(D))){if(D!==""){L&&L.appendChild(O);let q=new i(D);this.modifyTree(q.nodes),q.addToDOM(O),this.modifyDOM(),this.ellipsis&&(O.textContent||"").indexOf("…")!==-1&&M.attr("title",this.unescapeEntities(M.textStr||"",["&lt;","&gt;"])),L&&L.removeChild(O)}}else O.appendChild(a.createTextNode(this.unescapeEntities(D)));w(this.textOutline)&&M.applyTextOutline&&M.applyTextOutline(this.textOutline)}}modifyDOM(){let M,O=this.svgElement,I=y(O.element,"x");for(O.firstLineMetrics=void 0;(M=O.element.firstChild)&&/^[\s\u200B]*$/.test(M.textContent||" ");)O.element.removeChild(M);[].forEach.call(O.element.querySelectorAll("tspan.highcharts-br"),(L,B)=>{L.nextSibling&&L.previousSibling&&(B===0&&L.previousSibling.nodeType===1&&(O.firstLineMetrics=O.renderer.fontMetrics(L.previousSibling)),y(L,{dy:this.getLineHeight(L.nextSibling),x:I}))});let D=this.width||0;if(!D)return;let N=(L,B)=>{let q=L.textContent||"",ne=q.replace(/([^\^])-/g,"$1- ").split(" "),re=!this.noWrap&&(ne.length>1||O.element.childNodes.length>1),$=this.getLineHeight(B),Y=0,G=O.actualWidth;if(this.ellipsis)q&&this.truncate(L,q,void 0,0,Math.max(0,D-.8*$),(j,R)=>j.substring(0,R)+"…");else if(re){let j=[],R=[];for(;B.firstChild&&B.firstChild!==L;)R.push(B.firstChild),B.removeChild(B.firstChild);for(;ne.length;)ne.length&&!this.noWrap&&Y>0&&(j.push(L.textContent||""),L.textContent=ne.join(" ").replace(/- /g,"-")),this.truncate(L,void 0,ne,Y===0&&G||0,D,(Z,U)=>ne.slice(0,U).join(" ").replace(/- /g,"-")),G=O.actualWidth,Y++;R.forEach(Z=>{B.insertBefore(Z,L)}),j.forEach(Z=>{B.insertBefore(a.createTextNode(Z),L);let U=a.createElementNS(d,"tspan");U.textContent="​",y(U,{dy:$,x:I}),B.insertBefore(U,L)})}},k=L=>{[].slice.call(L.childNodes).forEach(B=>{B.nodeType===p.Node.TEXT_NODE?N(B,L):(B.className.baseVal.indexOf("highcharts-br")!==-1&&(O.actualWidth=0),k(B))})};k(O.element)}getLineHeight(M){let O=M.nodeType===p.Node.TEXT_NODE?M.parentElement:M;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(O||this.svgElement.element).h}modifyTree(M){let O=(I,D)=>{let{attributes:N={},children:k,style:L={},tagName:B}=I,q=this.renderer.styledMode;if(B==="b"||B==="strong"?q?N.class="highcharts-strong":L.fontWeight="bold":(B==="i"||B==="em")&&(q?N.class="highcharts-emphasized":L.fontStyle="italic"),L&&L.color&&(L.fill=L.color),B==="br"){N.class="highcharts-br",I.textContent="​";let ne=M[D+1];ne&&ne.textContent&&(ne.textContent=ne.textContent.replace(/^ +/gm,""))}else B==="a"&&k&&k.some(ne=>ne.tagName==="#text")&&(I.children=[{children:k,tagName:"tspan"}]);B!=="#text"&&B!=="a"&&(I.tagName="tspan"),g(I,{attributes:N,style:L}),k&&k.filter(ne=>ne.tagName!=="#text").forEach(O)};M.forEach(O),b(this.svgElement,"afterModifyTree",{nodes:M})}truncate(M,O,I,D,N,k){let L,B,q=this.svgElement,{rotation:ne}=q,re=[],$=I?1:0,Y=(O||I||"").length,G=Y,j=function(R,Z){let U=Z||R,ie=M.parentNode;if(ie&&re[U]===void 0&&ie.getSubStringLength)try{re[U]=D+ie.getSubStringLength(0,I?U+1:U)}catch{}return re[U]};if(q.rotation=0,D+(B=j(M.textContent.length))>N){for(;$<=Y;)G=Math.ceil(($+Y)/2),I&&(L=k(I,G)),B=j(G,L&&L.length-1),$===Y?$=Y+1:B>N?Y=G-1:$=G;Y===0?M.textContent="":O&&Y===O.length-1||(M.textContent=L||k(O||I,G))}I&&I.splice(0,G),q.actualWidth=B,q.rotation=ne}unescapeEntities(M,O){return S(this.renderer.escapes,function(I,D){O&&O.indexOf(I)!==-1||(M=M.toString().replace(RegExp(I,"g"),D))}),M}}}),r(n,"Core/Renderer/SVG/SVGRenderer.js",[n["Core/Renderer/HTML/AST.js"],n["Core/Defaults.js"],n["Core/Color/Color.js"],n["Core/Globals.js"],n["Core/Renderer/RendererRegistry.js"],n["Core/Renderer/SVG/SVGElement.js"],n["Core/Renderer/SVG/SVGLabel.js"],n["Core/Renderer/SVG/Symbols.js"],n["Core/Renderer/SVG/TextBuilder.js"],n["Core/Utilities.js"]],function(i,s,c,a,d,p,y,g,b,w){let S,{defaultOptions:C}=s,{charts:M,deg2rad:O,doc:I,isFirefox:D,isMS:N,isWebKit:k,noop:L,SVG_NS:B,symbolSizes:q,win:ne}=a,{addEvent:re,attr:$,createElement:Y,crisp:G,css:j,defined:R,destroyObjectProperties:Z,extend:U,isArray:ie,isNumber:ae,isObject:K,isString:pe,merge:xe,pick:se,pInt:ge,replaceNested:Se,uniqueKey:Ae}=w;class $e{constructor(te,fe,Me,H,de,oe,_e){let ce,Oe,Be=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),Re=Be.element;_e||Be.css(this.getStyle(H||{})),te.appendChild(Re),$(te,"dir","ltr"),te.innerHTML.indexOf("xmlns")===-1&&$(Re,"xmlns",this.SVG_NS),this.box=Re,this.boxWrapper=Be,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(I.createTextNode("Created with Highcharts 11.4.8")),this.defs=this.createElement("defs").add(),this.allowHTML=oe,this.forExport=de,this.styledMode=_e,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=Be.getStyle("font-size"),this.setSize(fe,Me,!1),D&&te.getBoundingClientRect&&((ce=function(){j(te,{left:0,top:0}),Oe=te.getBoundingClientRect(),j(te,{left:Math.ceil(Oe.left)-Oe.left+"px",top:Math.ceil(Oe.top)-Oe.top+"px"})})(),this.unSubPixelFix=re(ne,"resize",ce))}definition(te){return new i([te]).addToDOM(this.defs.element)}getReferenceURL(){if((D||k)&&I.getElementsByTagName("base").length){if(!R(S)){let te=Ae(),fe=new i([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:te},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${te})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(I.body);j(fe,{position:"fixed",top:0,left:0,zIndex:9e5});let Me=I.elementFromPoint(6,6);S=(Me&&Me.id)==="hitme",I.body.removeChild(fe)}if(S)return Se(ne.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"])}return""}getStyle(te){return this.style=U({fontFamily:"Helvetica, Arial, sans-serif",fontSize:"1rem"},te),this.style}setStyle(te){this.boxWrapper.css(this.getStyle(te))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let te=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),Z(this.gradients||{}),this.gradients=null,this.defs=te.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null,null}createElement(te){return new this.Element(this,te)}getRadialAttr(te,fe){return{cx:te[0]-te[2]/2+(fe.cx||0)*te[2],cy:te[1]-te[2]/2+(fe.cy||0)*te[2],r:(fe.r||0)*te[2]}}shadowDefinition(te){let fe=[`highcharts-drop-shadow-${this.chartIndex}`,...Object.keys(te).map(H=>`${H}-${te[H]}`)].join("-").toLowerCase().replace(/[^a-z\d\-]/g,""),Me=xe({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},te);return this.defs.element.querySelector(`#${fe}`)||this.definition({tagName:"filter",attributes:{id:fe,filterUnits:Me.filterUnits},children:this.getShadowFilterContent(Me)}),fe}getShadowFilterContent(te){return[{tagName:"feDropShadow",attributes:{dx:te.offsetX,dy:te.offsetY,"flood-color":te.color,"flood-opacity":Math.min(5*te.opacity,1),stdDeviation:te.width/2}}]}buildText(te){new b(te).buildSVG()}getContrast(te){let fe=c.parse(te).rgba.map(H=>{let de=H/255;return de<=.03928?de/12.92:Math.pow((de+.055)/1.055,2.4)}),Me=.2126*fe[0]+.7152*fe[1]+.0722*fe[2];return 1.05/(Me+.05)>(Me+.05)/.05?"#FFFFFF":"#000000"}button(te,fe,Me,H,de={},oe,_e,ce,Oe,Be){let Re=this.label(te,fe,Me,Oe,void 0,void 0,Be,void 0,"button"),He=this.styledMode,ct=arguments,at=0;de=xe(C.global.buttonTheme,de),He&&(delete de.fill,delete de.stroke,delete de["stroke-width"]);let ke=de.states||{},Te=de.style||{};delete de.states,delete de.style;let Le=[i.filterUserAttributes(de)],ze=[Te];return He||["hover","select","disabled"].forEach((Qe,Ve)=>{Le.push(xe(Le[0],i.filterUserAttributes(ct[Ve+5]||ke[Qe]||{}))),ze.push(Le[Ve+1].style),delete Le[Ve+1].style}),re(Re.element,N?"mouseover":"mouseenter",function(){at!==3&&Re.setState(1)}),re(Re.element,N?"mouseout":"mouseleave",function(){at!==3&&Re.setState(at)}),Re.setState=(Qe=0)=>{if(Qe!==1&&(Re.state=at=Qe),Re.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][Qe]),!He){Re.attr(Le[Qe]);let Ve=ze[Qe];K(Ve)&&Re.css(Ve)}},Re.attr(Le[0]),!He&&(Re.css(U({cursor:"default"},Te)),Be&&Re.text.css({pointerEvents:"none"})),Re.on("touchstart",Qe=>Qe.stopPropagation()).on("click",function(Qe){at!==3&&H.call(Re,Qe)})}crispLine(te,fe){let[Me,H]=te;return R(Me[1])&&Me[1]===H[1]&&(Me[1]=H[1]=G(Me[1],fe)),R(Me[2])&&Me[2]===H[2]&&(Me[2]=H[2]=G(Me[2],fe)),te}path(te){let fe=this.styledMode?{}:{fill:"none"};return ie(te)?fe.d=te:K(te)&&U(fe,te),this.createElement("path").attr(fe)}circle(te,fe,Me){let H=K(te)?te:te===void 0?{}:{x:te,y:fe,r:Me},de=this.createElement("circle");return de.xSetter=de.ySetter=function(oe,_e,ce){ce.setAttribute("c"+_e,oe)},de.attr(H)}arc(te,fe,Me,H,de,oe){let _e;K(te)?(fe=(_e=te).y,Me=_e.r,H=_e.innerR,de=_e.start,oe=_e.end,te=_e.x):_e={innerR:H,start:de,end:oe};let ce=this.symbol("arc",te,fe,Me,Me,_e);return ce.r=Me,ce}rect(te,fe,Me,H,de,oe){let _e=K(te)?te:te===void 0?{}:{x:te,y:fe,r:de,width:Math.max(Me||0,0),height:Math.max(H||0,0)},ce=this.createElement("rect");return this.styledMode||(oe!==void 0&&(_e["stroke-width"]=oe,U(_e,ce.crisp(_e))),_e.fill="none"),ce.rSetter=function(Oe,Be,Re){ce.r=Oe,$(Re,{rx:Oe,ry:Oe})},ce.rGetter=function(){return ce.r||0},ce.attr(_e)}roundedRect(te){return this.symbol("roundedRect").attr(te)}setSize(te,fe,Me){this.width=te,this.height=fe,this.boxWrapper.animate({width:te,height:fe},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:se(Me,!0)?void 0:0}),this.alignElements()}g(te){let fe=this.createElement("g");return te?fe.attr({class:"highcharts-"+te}):fe}image(te,fe,Me,H,de,oe){let _e={preserveAspectRatio:"none"};ae(fe)&&(_e.x=fe),ae(Me)&&(_e.y=Me),ae(H)&&(_e.width=H),ae(de)&&(_e.height=de);let ce=this.createElement("image").attr(_e),Oe=function(Be){ce.attr({href:te}),oe.call(ce,Be)};if(oe){ce.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let Be=new ne.Image;re(Be,"load",Oe),Be.src=te,Be.complete&&Oe({})}else ce.attr({href:te});return ce}symbol(te,fe,Me,H,de,oe){let _e,ce,Oe,Be,Re=this,He=/^url\((.*?)\)$/,ct=He.test(te),at=!ct&&(this.symbols[te]?te:"circle"),ke=at&&this.symbols[at];if(ke)typeof fe=="number"&&(ce=ke.call(this.symbols,fe||0,Me||0,H||0,de||0,oe)),_e=this.path(ce),Re.styledMode||_e.attr("fill","none"),U(_e,{symbolName:at||void 0,x:fe,y:Me,width:H,height:de}),oe&&U(_e,oe);else if(ct){Oe=te.match(He)[1];let Te=_e=this.image(Oe);Te.imgwidth=se(oe&&oe.width,q[Oe]&&q[Oe].width),Te.imgheight=se(oe&&oe.height,q[Oe]&&q[Oe].height),Be=Le=>Le.attr({width:Le.width,height:Le.height}),["width","height"].forEach(Le=>{Te[`${Le}Setter`]=function(ze,Qe){this[Qe]=ze;let{alignByTranslate:Ve,element:it,width:ot,height:ft,imgwidth:pt,imgheight:Ke}=this,mt=Qe==="width"?pt:Ke,wt=1;oe&&oe.backgroundSize==="within"&&ot&&ft&&pt&&Ke?(wt=Math.min(ot/pt,ft/Ke),$(it,{width:Math.round(pt*wt),height:Math.round(Ke*wt)})):it&&mt&&it.setAttribute(Qe,mt),!Ve&&pt&&Ke&&this.translate(((ot||0)-pt*wt)/2,((ft||0)-Ke*wt)/2)}}),R(fe)&&Te.attr({x:fe,y:Me}),Te.isImg=!0,Te.symbolUrl=te,R(Te.imgwidth)&&R(Te.imgheight)?Be(Te):(Te.attr({width:0,height:0}),Y("img",{onload:function(){let Le=M[Re.chartIndex];this.width===0&&(j(this,{position:"absolute",top:"-999em"}),I.body.appendChild(this)),q[Oe]={width:this.width,height:this.height},Te.imgwidth=this.width,Te.imgheight=this.height,Te.element&&Be(Te),this.parentNode&&this.parentNode.removeChild(this),Re.imgCount--,Re.imgCount||!Le||Le.hasLoaded||Le.onload()},src:Oe}),this.imgCount++)}return _e}clipRect(te,fe,Me,H){return this.rect(te,fe,Me,H,0)}text(te,fe,Me,H){let de={};if(H&&(this.allowHTML||!this.forExport))return this.html(te,fe,Me);de.x=Math.round(fe||0),Me&&(de.y=Math.round(Me)),R(te)&&(de.text=te);let oe=this.createElement("text").attr(de);return H&&(!this.forExport||this.allowHTML)||(oe.xSetter=function(_e,ce,Oe){let Be=Oe.getElementsByTagName("tspan"),Re=Oe.getAttribute(ce);for(let He=0,ct;He<Be.length;He++)(ct=Be[He]).getAttribute(ce)===Re&&ct.setAttribute(ce,_e);Oe.setAttribute(ce,_e)}),oe}fontMetrics(te){let fe=ge(p.prototype.getStyle.call(te,"font-size")||0),Me=fe<24?fe+3:Math.round(1.2*fe),H=Math.round(.8*Me);return{h:Me,b:H,f:fe}}rotCorr(te,fe,Me){let H=te;return fe&&Me&&(H=Math.max(H*Math.cos(fe*O),4)),{x:-te/3*Math.sin(fe*O),y:H}}pathToSegments(te){let fe=[],Me=[],H={A:8,C:7,H:2,L:3,M:3,Q:5,S:5,T:3,V:2};for(let de=0;de<te.length;de++)pe(Me[0])&&ae(te[de])&&Me.length===H[Me[0].toUpperCase()]&&te.splice(de,0,Me[0].replace("M","L").replace("m","l")),typeof te[de]=="string"&&(Me.length&&fe.push(Me.slice(0)),Me.length=0),Me.push(te[de]);return fe.push(Me.slice(0)),fe}label(te,fe,Me,H,de,oe,_e,ce,Oe){return new y(this,te,fe,Me,H,de,oe,_e,ce,Oe)}alignElements(){this.alignedObjects.forEach(te=>te.align())}}return U($e.prototype,{Element:p,SVG_NS:B,escapes:{"&":"&amp;","<":"&lt;",">":"&gt;","'":"&#39;",'"':"&quot;"},symbols:g,draw:L}),d.registerRendererType("svg",$e,!0),$e}),r(n,"Core/Renderer/HTML/HTMLElement.js",[n["Core/Renderer/HTML/AST.js"],n["Core/Globals.js"],n["Core/Renderer/SVG/SVGElement.js"],n["Core/Utilities.js"]],function(i,s,c,a){let{composed:d}=s,{attr:p,css:y,createElement:g,defined:b,extend:w,pInt:S,pushUnique:C}=a;function M(N,k,L){var q;let B=((q=this.div)==null?void 0:q.style)||L.style;c.prototype[`${k}Setter`].call(this,N,k,L),B&&(B[k]=N)}let O=(N,k)=>{var L;if(!N.div){let B=p(N.element,"class"),q=N.css,ne=g("div",B?{className:B}:void 0,{position:"absolute",left:`${N.translateX||0}px`,top:`${N.translateY||0}px`,...N.styles,display:N.display,opacity:N.opacity,visibility:N.visibility},((L=N.parentGroup)==null?void 0:L.div)||k);N.classSetter=(re,$,Y)=>{Y.setAttribute("class",re),ne.className=re},N.translateXSetter=N.translateYSetter=(re,$)=>{N[$]=re,ne.style[$==="translateX"?"left":"top"]=`${re}px`,N.doTransform=!0},N.opacitySetter=N.visibilitySetter=M,N.css=re=>(q.call(N,re),re.cursor&&(ne.style.cursor=re.cursor),re.pointerEvents&&(ne.style.pointerEvents=re.pointerEvents),N),N.on=function(){return c.prototype.on.apply({element:ne,onEvents:N.onEvents},arguments),N},N.div=ne}return N.div};class I extends c{static compose(k){C(d,this.compose)&&(k.prototype.html=function(L,B,q){return new I(this,"span").attr({text:L,x:Math.round(B),y:Math.round(q)})})}constructor(k,L){super(k,L),this.css({position:"absolute",...k.styledMode?{}:{fontFamily:k.style.fontFamily,fontSize:k.style.fontSize}}),this.element.style.whiteSpace="nowrap"}getSpanCorrection(k,L,B){this.xCorr=-k*B,this.yCorr=-L}css(k){let L,{element:B}=this,q=B.tagName==="SPAN"&&k&&"width"in k,ne=q&&k.width;return q&&(delete k.width,this.textWidth=S(ne)||void 0,L=!0),(k==null?void 0:k.textOverflow)==="ellipsis"&&(k.whiteSpace="nowrap",k.overflow="hidden"),w(this.styles,k),y(B,k),L&&this.updateTransform(),this}htmlGetBBox(){let{element:k}=this;return{x:k.offsetLeft,y:k.offsetTop,width:k.offsetWidth,height:k.offsetHeight}}updateTransform(){var ae;if(!this.added){this.alignOnAdd=!0;return}let{element:k,renderer:L,rotation:B,rotationOriginX:q,rotationOriginY:ne,styles:re,textAlign:$="left",textWidth:Y,translateX:G=0,translateY:j=0,x:R=0,y:Z=0}=this,U={left:0,center:.5,right:1}[$],ie=re.whiteSpace;if(y(k,{marginLeft:`${G}px`,marginTop:`${j}px`}),k.tagName==="SPAN"){let K=[B,$,k.innerHTML,Y,this.textAlign].join(","),pe=-(((ae=this.parentGroup)==null?void 0:ae.padding)*1)||0,xe,se=!1;if(Y!==this.oldTextWidth){let le=this.textPxLength?this.textPxLength:(y(k,{width:"",whiteSpace:ie||"nowrap"}),k.offsetWidth),te=Y||0;(te>this.oldTextWidth||le>te)&&(/[ \-]/.test(k.textContent||k.innerText)||k.style.textOverflow==="ellipsis")&&(y(k,{width:le>te||B?Y+"px":"auto",display:"block",whiteSpace:ie||"normal"}),this.oldTextWidth=Y,se=!0)}this.hasBoxWidthChanged=se,K!==this.cTT&&(xe=L.fontMetrics(k).b,b(B)&&(B!==(this.oldRotation||0)||$!==this.oldAlign)&&this.setSpanRotation(B,pe,pe),this.getSpanCorrection(!b(B)&&this.textPxLength||k.offsetWidth,xe,U));let{xCorr:ge=0,yCorr:Se=0}=this,Ae=(q??R)-ge-R-pe,$e=(ne??Z)-Se-Z-pe;y(k,{left:`${R+ge}px`,top:`${Z+Se}px`,transformOrigin:`${Ae}px ${$e}px`}),this.cTT=K,this.oldRotation=B,this.oldAlign=$}}setSpanRotation(k,L,B){y(this.element,{transform:`rotate(${k}deg)`,transformOrigin:`${L}% ${B}px`})}add(k){let L,B=this.renderer.box.parentNode,q=[];if(this.parentGroup=k,k&&!(L=k.div)){let ne=k;for(;ne;)q.push(ne),ne=ne.parentGroup;for(let re of q.reverse())L=O(re,B)}return(L||B).appendChild(this.element),this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(k){k!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,i.setElementHTML(this.element,k??""),this.textStr=k,this.doTransform=!0)}alignSetter(k){this.alignValue=this.textAlign=k,this.doTransform=!0}xSetter(k,L){this[L]=k,this.doTransform=!0}}let D=I.prototype;return D.visibilitySetter=D.opacitySetter=M,D.ySetter=D.rotationSetter=D.rotationOriginXSetter=D.rotationOriginYSetter=D.xSetter,I}),r(n,"Core/Axis/AxisDefaults.js",[],function(){var i,s;return(s=i||(i={})).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"},s.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:c}=this.axis.chart;return c(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},i}),r(n,"Core/Foundation.js",[n["Core/Utilities.js"]],function(i){var s;let{addEvent:c,isFunction:a,objectEach:d,removeEvent:p}=i;return(s||(s={})).registerEventOptions=function(y,g){y.eventOptions=y.eventOptions||{},d(g.events,function(b,w){y.eventOptions[w]!==b&&(y.eventOptions[w]&&(p(y,w,y.eventOptions[w]),delete y.eventOptions[w]),a(b)&&(y.eventOptions[w]=b,c(y,w,b,{order:0})))})},s}),r(n,"Core/Axis/Tick.js",[n["Core/Templating.js"],n["Core/Globals.js"],n["Core/Utilities.js"]],function(i,s,c){let{deg2rad:a}=s,{clamp:d,correctFloat:p,defined:y,destroyObjectProperties:g,extend:b,fireEvent:w,isNumber:S,merge:C,objectEach:M,pick:O}=c;return class{constructor(I,D,N,k,L){this.isNew=!0,this.isNewLabel=!0,this.axis=I,this.pos=D,this.type=N||"",this.parameters=L||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,w(this,"init"),N||k||this.addLabel()}addLabel(){let I=this,D=I.axis,N=D.options,k=D.chart,L=D.categories,B=D.logarithmic,q=D.names,ne=I.pos,re=O(I.options&&I.options.labels,N.labels),$=D.tickPositions,Y=ne===$[0],G=ne===$[$.length-1],j=(!re.step||re.step===1)&&D.tickInterval===1,R=$.info,Z=I.label,U,ie,ae,K=this.parameters.category||(L?O(L[ne],q[ne],ne):ne);B&&S(K)&&(K=p(B.lin2log(K))),D.dateTime&&(R?U=(ie=k.time.resolveDTLFormat(N.dateTimeLabelFormats[!N.grid&&R.higherRanks[ne]||R.unitName])).main:S(K)&&(U=D.dateTime.getXDateFormat(K,N.dateTimeLabelFormats||{}))),I.isFirst=Y,I.isLast=G;let pe={axis:D,chart:k,dateTimeLabelFormat:U,isFirst:Y,isLast:G,pos:ne,tick:I,tickPositionInfo:R,value:K};w(this,"labelFormat",pe);let xe=Se=>re.formatter?re.formatter.call(Se,Se):re.format?(Se.text=D.defaultLabelFormatter.call(Se),i.format(re.format,Se,k)):D.defaultLabelFormatter.call(Se),se=xe.call(pe,pe),ge=ie&&ie.list;ge?I.shortenLabel=function(){for(ae=0;ae<ge.length;ae++)if(b(pe,{dateTimeLabelFormat:ge[ae]}),Z.attr({text:xe.call(pe,pe)}),Z.getBBox().width<D.getSlotWidth(I)-2*(re.padding||0))return;Z.attr({text:""})}:I.shortenLabel=void 0,j&&D._addedPlotLB&&I.moveLabel(se,re),y(Z)||I.movedLabel?Z&&Z.textStr!==se&&!j&&(!Z.textWidth||re.style.width||Z.styles.width||Z.css({width:null}),Z.attr({text:se}),Z.textPxLength=Z.getBBox().width):(I.label=Z=I.createLabel(se,re),I.rotation=0)}createLabel(I,D,N){let k=this.axis,L=k.chart,B=y(I)&&D.enabled?L.renderer.text(I,N==null?void 0:N.x,N==null?void 0:N.y,D.useHTML).add(k.labelGroup):void 0;return B&&(L.styledMode||B.css(C(D.style)),B.textPxLength=B.getBBox().width),B}destroy(){g(this,this.axis)}getPosition(I,D,N,k){let L=this.axis,B=L.chart,q=k&&B.oldChartHeight||B.chartHeight,ne={x:I?p(L.translate(D+N,void 0,void 0,k)+L.transB):L.left+L.offset+(L.opposite?(k&&B.oldChartWidth||B.chartWidth)-L.right-L.left:0),y:I?q-L.bottom+L.offset-(L.opposite?L.height:0):p(q-L.translate(D+N,void 0,void 0,k)-L.transB)};return ne.y=d(ne.y,-1e9,1e9),w(this,"afterGetPosition",{pos:ne}),ne}getLabelPosition(I,D,N,k,L,B,q,ne){let re,$,Y=this.axis,G=Y.transA,j=Y.isLinked&&Y.linkedParent?Y.linkedParent.reversed:Y.reversed,R=Y.staggerLines,Z=Y.tickRotCorr||{x:0,y:0},U=k||Y.reserveSpaceDefault?0:-Y.labelOffset*(Y.labelAlign==="center"?.5:1),ie=L.distance,ae={};return re=Y.side===0?N.rotation?-ie:-N.getBBox().height:Y.side===2?Z.y+ie:Math.cos(N.rotation*a)*(Z.y-N.getBBox(!1,0).height/2),y(L.y)&&(re=Y.side===0&&Y.horiz?L.y+re:L.y),I=I+O(L.x,[0,1,0,-1][Y.side]*ie)+U+Z.x-(B&&k?B*G*(j?-1:1):0),D=D+re-(B&&!k?B*G*(j?1:-1):0),R&&($=q/(ne||1)%R,Y.opposite&&($=R-$-1),D+=$*(Y.labelOffset/R)),ae.x=I,ae.y=Math.round(D),w(this,"afterGetLabelPosition",{pos:ae,tickmarkOffset:B,index:q}),ae}getLabelSize(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0}getMarkPath(I,D,N,k,L=!1,B){return B.crispLine([["M",I,D],["L",I+(L?0:-N),D+(L?N:0)]],k)}handleOverflow(I){let D=this.axis,N=D.options.labels,k=I.x,L=D.chart.chartWidth,B=D.chart.spacing,q=O(D.labelLeft,Math.min(D.pos,B[3])),ne=O(D.labelRight,Math.max(D.isRadial?0:D.pos+D.len,L-B[1])),re=this.label,$=this.rotation,Y={left:0,center:.5,right:1}[D.labelAlign||re.attr("align")],G=re.getBBox().width,j=D.getSlotWidth(this),R={},Z=j,U=1,ie,ae,K;$||N.overflow!=="justify"?$<0&&k-Y*G<q?K=Math.round(k/Math.cos($*a)-q):$>0&&k+Y*G>ne&&(K=Math.round((L-k)/Math.cos($*a))):(ie=k-Y*G,ae=k+(1-Y)*G,ie<q?Z=I.x+Z*(1-Y)-q:ae>ne&&(Z=ne-I.x+Z*Y,U=-1),(Z=Math.min(j,Z))<j&&D.labelAlign==="center"&&(I.x+=U*(j-Z-Y*(j-Math.min(G,Z)))),(G>Z||D.autoRotation&&(re.styles||{}).width)&&(K=Z)),K&&(this.shortenLabel?this.shortenLabel():(R.width=Math.floor(K)+"px",(N.style||{}).textOverflow||(R.textOverflow="ellipsis"),re.css(R)))}moveLabel(I,D){let N=this,k=N.label,L=N.axis,B=!1,q;k&&k.textStr===I?(N.movedLabel=k,B=!0,delete N.label):M(L.ticks,function(ne){B||ne.isNew||ne===N||!ne.label||ne.label.textStr!==I||(N.movedLabel=ne.label,B=!0,ne.labelPos=N.movedLabel.xy,delete ne.label)}),!B&&(N.labelPos||k)&&(q=N.labelPos||k.xy,N.movedLabel=N.createLabel(I,D,q),N.movedLabel&&N.movedLabel.attr({opacity:0}))}render(I,D,N){let k=this.axis,L=k.horiz,B=this.pos,q=O(this.tickmarkOffset,k.tickmarkOffset),ne=this.getPosition(L,B,q,D),re=ne.x,$=ne.y,Y=k.pos,G=Y+k.len,j=L?re:$;!k.chart.polar&&this.isNew&&(p(j)<Y||j>G)&&(N=0);let R=O(N,this.label&&this.label.newOpacity,1);N=O(N,1),this.isActive=!0,this.renderGridLine(D,N),this.renderMark(ne,N),this.renderLabel(ne,D,R,I),this.isNew=!1,w(this,"afterRender")}renderGridLine(I,D){let N=this.axis,k=N.options,L={},B=this.pos,q=this.type,ne=O(this.tickmarkOffset,N.tickmarkOffset),re=N.chart.renderer,$=this.gridLine,Y,G=k.gridLineWidth,j=k.gridLineColor,R=k.gridLineDashStyle;this.type==="minor"&&(G=k.minorGridLineWidth,j=k.minorGridLineColor,R=k.minorGridLineDashStyle),$||(N.chart.styledMode||(L.stroke=j,L["stroke-width"]=G||0,L.dashstyle=R),q||(L.zIndex=1),I&&(D=0),this.gridLine=$=re.path().attr(L).addClass("highcharts-"+(q?q+"-":"")+"grid-line").add(N.gridGroup)),$&&(Y=N.getPlotLinePath({value:B+ne,lineWidth:$.strokeWidth(),force:"pass",old:I,acrossPanes:!1}))&&$[I||this.isNew?"attr":"animate"]({d:Y,opacity:D})}renderMark(I,D){let N=this.axis,k=N.options,L=N.chart.renderer,B=this.type,q=N.tickSize(B?B+"Tick":"tick"),ne=I.x,re=I.y,$=O(k[B!=="minor"?"tickWidth":"minorTickWidth"],!B&&N.isXAxis?1:0),Y=k[B!=="minor"?"tickColor":"minorTickColor"],G=this.mark,j=!G;q&&(N.opposite&&(q[0]=-q[0]),G||(this.mark=G=L.path().addClass("highcharts-"+(B?B+"-":"")+"tick").add(N.axisGroup),N.chart.styledMode||G.attr({stroke:Y,"stroke-width":$})),G[j?"attr":"animate"]({d:this.getMarkPath(ne,re,q[0],G.strokeWidth(),N.horiz,L),opacity:D}))}renderLabel(I,D,N,k){let L=this.axis,B=L.horiz,q=L.options,ne=this.label,re=q.labels,$=re.step,Y=O(this.tickmarkOffset,L.tickmarkOffset),G=I.x,j=I.y,R=!0;ne&&S(G)&&(ne.xy=I=this.getLabelPosition(G,j,ne,B,re,Y,k,$),(!this.isFirst||this.isLast||q.showFirstLabel)&&(!this.isLast||this.isFirst||q.showLastLabel)?!B||re.step||re.rotation||D||N===0||this.handleOverflow(I):R=!1,$&&k%$&&(R=!1),R&&S(I.y)?(I.opacity=N,ne[this.isNewLabel?"attr":"animate"](I).show(!0),this.isNewLabel=!1):(ne.hide(),this.isNewLabel=!0))}replaceMovedLabel(){let I=this.label,D=this.axis;I&&!this.isNew&&(I.animate({opacity:0},void 0,I.destroy),delete this.label),D.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel}}}),r(n,"Core/Axis/Axis.js",[n["Core/Animation/AnimationUtilities.js"],n["Core/Axis/AxisDefaults.js"],n["Core/Color/Color.js"],n["Core/Defaults.js"],n["Core/Foundation.js"],n["Core/Globals.js"],n["Core/Axis/Tick.js"],n["Core/Utilities.js"]],function(i,s,c,a,d,p,y,g){let{animObject:b}=i,{xAxis:w,yAxis:S}=s,{defaultOptions:C}=a,{registerEventOptions:M}=d,{deg2rad:O}=p,{arrayMax:I,arrayMin:D,clamp:N,correctFloat:k,defined:L,destroyObjectProperties:B,erase:q,error:ne,extend:re,fireEvent:$,getClosestDistance:Y,insertItem:G,isArray:j,isNumber:R,isString:Z,merge:U,normalizeTickInterval:ie,objectEach:ae,pick:K,relativeLength:pe,removeEvent:xe,splat:se,syncTimeout:ge}=g,Se=($e,le)=>ie(le,void 0,void 0,K($e.options.allowDecimals,le<.5||$e.tickAmount!==void 0),!!$e.tickAmount);re(C,{xAxis:w,yAxis:U(w,S)});class Ae{constructor(le,te,fe){this.init(le,te,fe)}init(le,te,fe=this.coll){let Me=fe==="xAxis",H=this.isZAxis||(le.inverted?!Me:Me);this.chart=le,this.horiz=H,this.isXAxis=Me,this.coll=fe,$(this,"init",{userOptions:te}),this.opposite=K(te.opposite,this.opposite),this.side=K(te.side,this.side,H?this.opposite?0:2:this.opposite?1:3),this.setOptions(te);let de=this.options,oe=de.labels;this.type??(this.type=de.type||"linear"),this.uniqueNames??(this.uniqueNames=de.uniqueNames??!0),$(this,"afterSetType"),this.userOptions=te,this.minPixelPadding=0,this.reversed=K(de.reversed,this.reversed),this.visible=de.visible,this.zoomEnabled=de.zoomEnabled,this.hasNames=this.type==="category"||de.categories===!0,this.categories=j(de.categories)&&de.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=L(de.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len??(this.len=0),this.minRange=this.userMinRange=de.minRange||de.maxZoom,this.range=de.range,this.offset=de.offset||0,this.max=void 0,this.min=void 0;let _e=K(de.crosshair,se(le.options.tooltip.crosshairs)[Me?0:1]);this.crosshair=_e===!0?{}:_e,le.axes.indexOf(this)===-1&&(Me?le.axes.splice(le.xAxis.length,0,this):le.axes.push(this),G(this,le[this.coll])),le.orderItems(this.coll),this.series=this.series||[],le.inverted&&!this.isZAxis&&Me&&!L(this.reversed)&&(this.reversed=!0),this.labelRotation=R(oe.rotation)?oe.rotation:void 0,M(this,de),$(this,"afterInit")}setOptions(le){let te=this.horiz?{labels:{autoRotation:[-45],padding:4},margin:15}:{labels:{padding:1},title:{rotation:90*this.side}};this.options=U(te,C[this.coll],le),$(this,"afterSetOptions",{userOptions:le})}defaultLabelFormatter(){let le=this.axis,{numberFormatter:te}=this.chart,fe=R(this.value)?this.value:NaN,Me=le.chart.time,H=le.categories,de=this.dateTimeLabelFormat,oe=C.lang,_e=oe.numericSymbols,ce=oe.numericSymbolMagnitude||1e3,Oe=le.logarithmic?Math.abs(fe):le.tickInterval,Be=_e&&_e.length,Re,He;if(H)He=`${this.value}`;else if(de)He=Me.dateFormat(de,fe);else if(Be&&_e&&Oe>=1e3)for(;Be--&&He===void 0;)Oe>=(Re=Math.pow(ce,Be+1))&&10*fe%Re==0&&_e[Be]!==null&&fe!==0&&(He=te(fe/Re,-1)+_e[Be]);return He===void 0&&(He=Math.abs(fe)>=1e4?te(fe,-1):te(fe,-1,void 0,"")),He}getSeriesExtremes(){let le,te=this;$(this,"getSeriesExtremes",null,function(){te.hasVisibleSeries=!1,te.dataMin=te.dataMax=te.threshold=void 0,te.softThreshold=!te.isXAxis,te.series.forEach(fe=>{if(fe.reserveSpace()){let Me=fe.options,H,de=Me.threshold,oe,_e;if(te.hasVisibleSeries=!0,te.positiveValuesOnly&&0>=(de||0)&&(de=void 0),te.isXAxis)(H=fe.xData)&&H.length&&(H=te.logarithmic?H.filter(ce=>ce>0):H,oe=(le=fe.getXExtremes(H)).min,_e=le.max,R(oe)||oe instanceof Date||(H=H.filter(R),oe=(le=fe.getXExtremes(H)).min,_e=le.max),H.length&&(te.dataMin=Math.min(K(te.dataMin,oe),oe),te.dataMax=Math.max(K(te.dataMax,_e),_e)));else{let ce=fe.applyExtremes();R(ce.dataMin)&&(oe=ce.dataMin,te.dataMin=Math.min(K(te.dataMin,oe),oe)),R(ce.dataMax)&&(_e=ce.dataMax,te.dataMax=Math.max(K(te.dataMax,_e),_e)),L(de)&&(te.threshold=de),(!Me.softThreshold||te.positiveValuesOnly)&&(te.softThreshold=!1)}}})}),$(this,"afterGetSeriesExtremes")}translate(le,te,fe,Me,H,de){var at;let oe=this.linkedParent||this,_e=Me&&oe.old?oe.old.min:oe.min;if(!R(_e))return NaN;let ce=oe.minPixelPadding,Oe=(oe.isOrdinal||((at=oe.brokenAxis)==null?void 0:at.hasBreaks)||oe.logarithmic&&H)&&oe.lin2val,Be=1,Re=0,He=Me&&oe.old?oe.old.transA:oe.transA,ct=0;return He||(He=oe.transA),fe&&(Be*=-1,Re=oe.len),oe.reversed&&(Be*=-1,Re-=Be*(oe.sector||oe.len)),te?(ct=(le=le*Be+Re-ce)/He+_e,Oe&&(ct=oe.lin2val(ct))):(Oe&&(le=oe.val2lin(le)),ct=Be*(le-_e)*He+Re+Be*ce+(R(de)?He*de:0),oe.isRadial||(ct=k(ct))),ct}toPixels(le,te){return this.translate(le,!1,!this.horiz,void 0,!0)+(te?0:this.pos)}toValue(le,te){return this.translate(le-(te?0:this.pos),!0,!this.horiz,void 0,!0)}getPlotLinePath(le){let te=this,fe=te.chart,Me=te.left,H=te.top,de=le.old,oe=le.value,_e=le.lineWidth,ce=de&&fe.oldChartHeight||fe.chartHeight,Oe=de&&fe.oldChartWidth||fe.chartWidth,Be=te.transB,Re=le.translatedValue,He=le.force,ct,at,ke,Te,Le;function ze(Ve,it,ot){return He!=="pass"&&(Ve<it||Ve>ot)&&(He?Ve=N(Ve,it,ot):Le=!0),Ve}let Qe={value:oe,lineWidth:_e,old:de,force:He,acrossPanes:le.acrossPanes,translatedValue:Re};return $(this,"getPlotLinePath",Qe,function(Ve){ct=ke=(Re=N(Re=K(Re,te.translate(oe,void 0,void 0,de)),-1e9,1e9))+Be,at=Te=ce-Re-Be,R(Re)?te.horiz?(at=H,Te=ce-te.bottom+(te.options.isInternal?0:fe.scrollablePixelsY||0),ct=ke=ze(ct,Me,Me+te.width)):(ct=Me,ke=Oe-te.right+(fe.scrollablePixelsX||0),at=Te=ze(at,H,H+te.height)):(Le=!0,He=!1),Ve.path=Le&&!He?void 0:fe.renderer.crispLine([["M",ct,at],["L",ke,Te]],_e||1)}),Qe.path}getLinearTickPositions(le,te,fe){let Me,H,de,oe=k(Math.floor(te/le)*le),_e=k(Math.ceil(fe/le)*le),ce=[];if(k(oe+le)===oe&&(de=20),this.single)return[te];for(Me=oe;Me<=_e&&(ce.push(Me),(Me=k(Me+le,de))!==H);)H=Me;return ce}getMinorTickInterval(){let{minorTicks:le,minorTickInterval:te}=this.options;return le===!0?K(te,"auto"):le!==!1?te:void 0}getMinorTickPositions(){let le=this.options,te=this.tickPositions,fe=this.minorTickInterval,Me=this.pointRangePadding||0,H=(this.min||0)-Me,de=(this.max||0)+Me,oe=de-H,_e=[],ce;if(oe&&oe/fe<this.len/3){let Oe=this.logarithmic;if(Oe)this.paddedTicks.forEach(function(Be,Re,He){Re&&_e.push.apply(_e,Oe.getLogTickPositions(fe,He[Re-1],He[Re],!0))});else if(this.dateTime&&this.getMinorTickInterval()==="auto")_e=_e.concat(this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(fe),H,de,le.startOfWeek));else for(ce=H+(te[0]-H)%fe;ce<=de&&ce!==_e[0];ce+=fe)_e.push(ce)}return _e.length!==0&&this.trimTicks(_e),_e}adjustForMinRange(){let le=this.options,te=this.logarithmic,{max:fe,min:Me,minRange:H}=this,de,oe,_e,ce;this.isXAxis&&H===void 0&&!te&&(H=L(le.min)||L(le.max)||L(le.floor)||L(le.ceiling)?null:Math.min(5*(Y(this.series.map(Oe=>{var Be;return(Oe.xIncrement?(Be=Oe.xData)==null?void 0:Be.slice(0,2):Oe.xData)||[]}))||0),this.dataMax-this.dataMin)),R(fe)&&R(Me)&&R(H)&&fe-Me<H&&(oe=this.dataMax-this.dataMin>=H,de=(H-fe+Me)/2,_e=[Me-de,K(le.min,Me-de)],oe&&(_e[2]=te?te.log2lin(this.dataMin):this.dataMin),ce=[(Me=I(_e))+H,K(le.max,Me+H)],oe&&(ce[2]=te?te.log2lin(this.dataMax):this.dataMax),(fe=D(ce))-Me<H&&(_e[0]=fe-H,_e[1]=K(le.min,fe-H),Me=I(_e))),this.minRange=H,this.min=Me,this.max=fe}getClosest(){let le,te;if(this.categories)te=1;else{let fe=[];this.series.forEach(function(Me){var de;let H=Me.closestPointRange;((de=Me.xData)==null?void 0:de.length)===1?fe.push(Me.xData[0]):!Me.noSharedTooltip&&L(H)&&Me.reserveSpace()&&(te=L(te)?Math.min(te,H):H)}),fe.length&&(fe.sort((Me,H)=>Me-H),le=Y([fe]))}return le&&te?Math.min(le,te):le||te}nameToX(le){let te=j(this.options.categories),fe=te?this.categories:this.names,Me=le.options.x,H;return le.series.requireSorting=!1,L(Me)||(Me=this.uniqueNames&&fe?te?fe.indexOf(le.name):K(fe.keys[le.name],-1):le.series.autoIncrement()),Me===-1?!te&&fe&&(H=fe.length):H=Me,H!==void 0?(this.names[H]=le.name,this.names.keys[le.name]=H):le.x&&(H=le.x),H}updateNames(){let le=this,te=this.names;te.length>0&&(Object.keys(te.keys).forEach(function(fe){delete te.keys[fe]}),te.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(fe=>{fe.xIncrement=null,(!fe.points||fe.isDirtyData)&&(le.max=Math.max(le.max,fe.xData.length-1),fe.processData(),fe.generatePoints()),fe.data.forEach(function(Me,H){let de;Me!=null&&Me.options&&Me.name!==void 0&&(de=le.nameToX(Me))!==void 0&&de!==Me.x&&(Me.x=de,fe.xData[H]=de)})}))}setAxisTranslation(){let le=this,te=le.max-le.min,fe=le.linkedParent,Me=!!le.categories,H=le.isXAxis,de=le.axisPointRange||0,oe,_e=0,ce=0,Oe,Be=le.transA;(H||Me||de)&&(oe=le.getClosest(),fe?(_e=fe.minPointOffset,ce=fe.pointRangePadding):le.series.forEach(function(Re){let He=Me?1:H?K(Re.options.pointRange,oe,0):le.axisPointRange||0,ct=Re.options.pointPlacement;if(de=Math.max(de,He),!le.single||Me){let at=Re.is("xrange")?!H:H;_e=Math.max(_e,at&&Z(ct)?0:He/2),ce=Math.max(ce,at&&ct==="on"?0:He)}}),Oe=le.ordinal&&le.ordinal.slope&&oe?le.ordinal.slope/oe:1,le.minPointOffset=_e*=Oe,le.pointRangePadding=ce*=Oe,le.pointRange=Math.min(de,le.single&&Me?1:te),H&&oe&&(le.closestPointRange=oe)),le.translationSlope=le.transA=Be=le.staticScale||le.len/(te+ce||1),le.transB=le.horiz?le.left:le.bottom,le.minPixelPadding=Be*_e,$(this,"afterSetAxisTranslation")}minFromRange(){let{max:le,min:te}=this;return R(le)&&R(te)&&le-te||void 0}setTickInterval(le){var kt,bt,Zt,Dt;let{categories:te,chart:fe,dataMax:Me,dataMin:H,dateTime:de,isXAxis:oe,logarithmic:_e,options:ce,softThreshold:Oe}=this,Be=R(this.threshold)?this.threshold:void 0,Re=this.minRange||0,{ceiling:He,floor:ct,linkedTo:at,softMax:ke,softMin:Te}=ce,Le=R(at)&&((kt=fe[this.coll])==null?void 0:kt[at]),ze=ce.tickPixelInterval,Qe=ce.maxPadding,Ve=ce.minPadding,it=0,ot,ft=R(ce.tickInterval)&&ce.tickInterval>=0?ce.tickInterval:void 0,pt,Ke,mt,wt;if(de||te||Le||this.getTickAmount(),mt=K(this.userMin,ce.min),wt=K(this.userMax,ce.max),Le?(this.linkedParent=Le,ot=Le.getExtremes(),this.min=K(ot.min,ot.dataMin),this.max=K(ot.max,ot.dataMax),this.type!==Le.type&&ne(11,!0,fe)):(Oe&&L(Be)&&R(Me)&&R(H)&&(H>=Be?(pt=Be,Ve=0):Me<=Be&&(Ke=Be,Qe=0)),this.min=K(mt,pt,H),this.max=K(wt,Ke,Me)),R(this.max)&&R(this.min)&&(_e&&(this.positiveValuesOnly&&!le&&0>=Math.min(this.min,K(H,this.min))&&ne(10,!0,fe),this.min=k(_e.log2lin(this.min),16),this.max=k(_e.log2lin(this.max),16)),this.range&&R(H)&&(this.userMin=this.min=mt=Math.max(H,this.minFromRange()||0),this.userMax=wt=this.max,this.range=void 0)),$(this,"foundExtremes"),this.adjustForMinRange(),R(this.min)&&R(this.max)){if(!R(this.userMin)&&R(Te)&&Te<this.min&&(this.min=mt=Te),!R(this.userMax)&&R(ke)&&ke>this.max&&(this.max=wt=ke),te||this.axisPointRange||(bt=this.stacking)!=null&&bt.usePercentage||Le||!(it=this.max-this.min)||(!L(mt)&&Ve&&(this.min-=it*Ve),L(wt)||!Qe||(this.max+=it*Qe)),!R(this.userMin)&&R(ct)&&(this.min=Math.max(this.min,ct)),!R(this.userMax)&&R(He)&&(this.max=Math.min(this.max,He)),Oe&&R(H)&&R(Me)){let fn=Be||0;!L(mt)&&this.min<fn&&H>=fn?this.min=ce.minRange?Math.min(fn,this.max-Re):fn:!L(wt)&&this.max>fn&&Me<=fn&&(this.max=ce.minRange?Math.max(fn,this.min+Re):fn)}!fe.polar&&this.min>this.max&&(L(ce.min)?this.max=this.min:L(ce.max)&&(this.min=this.max)),it=this.max-this.min}if(this.min!==this.max&&R(this.min)&&R(this.max)?Le&&!ft&&ze===Le.options.tickPixelInterval?this.tickInterval=ft=Le.tickInterval:this.tickInterval=K(ft,this.tickAmount?it/Math.max(this.tickAmount-1,1):void 0,te?1:it*ze/Math.max(this.len,ze)):this.tickInterval=1,oe&&!le){let fn=this.min!==((Zt=this.old)==null?void 0:Zt.min)||this.max!==((Dt=this.old)==null?void 0:Dt.max);this.series.forEach(function(An){var Ue;An.forceCrop=(Ue=An.forceCropping)==null?void 0:Ue.call(An),An.processData(fn)}),$(this,"postProcessData",{hasExtremesChanged:fn})}this.setAxisTranslation(),$(this,"initialAxisTranslation"),this.pointRange&&!ft&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));let Pt=K(ce.minTickInterval,de&&!this.series.some(fn=>fn.noSharedTooltip)?this.closestPointRange:0);!ft&&this.tickInterval<Pt&&(this.tickInterval=Pt),de||_e||ft||(this.tickInterval=Se(this,this.tickInterval)),this.tickAmount||(this.tickInterval=this.unsquish()),this.setTickPositions()}setTickPositions(){var Oe,Be;let le=this.options,te=le.tickPositions,fe=le.tickPositioner,Me=this.getMinorTickInterval(),H=!this.isPanning,de=H&&le.startOnTick,oe=H&&le.endOnTick,_e=[],ce;if(this.tickmarkOffset=this.categories&&le.tickmarkPlacement==="between"&&this.tickInterval===1?.5:0,this.single=this.min===this.max&&L(this.min)&&!this.tickAmount&&(this.min%1==0||le.allowDecimals!==!1),te)_e=te.slice();else if(R(this.min)&&R(this.max)){if(!((Oe=this.ordinal)!=null&&Oe.positions)&&(this.max-this.min)/this.tickInterval>Math.max(2*this.len,200))_e=[this.min,this.max],ne(19,!1,this.chart);else if(this.dateTime)_e=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,le.units),this.min,this.max,le.startOfWeek,(Be=this.ordinal)==null?void 0:Be.positions,this.closestPointRange,!0);else if(this.logarithmic)_e=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let Re=this.tickInterval,He=Re;for(;He<=2*Re&&(_e=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&_e.length>this.tickAmount);)this.tickInterval=Se(this,He*=1.1)}_e.length>this.len&&(_e=[_e[0],_e[_e.length-1]])[0]===_e[1]&&(_e.length=1),fe&&(this.tickPositions=_e,(ce=fe.apply(this,[this.min,this.max]))&&(_e=ce))}this.tickPositions=_e,this.minorTickInterval=Me==="auto"&&this.tickInterval?this.tickInterval/le.minorTicksPerMajor:Me,this.paddedTicks=_e.slice(0),this.trimTicks(_e,de,oe),!this.isLinked&&R(this.min)&&R(this.max)&&(this.single&&_e.length<2&&!this.categories&&!this.series.some(Re=>Re.is("heatmap")&&Re.options.pointPlacement==="between")&&(this.min-=.5,this.max+=.5),te||ce||this.adjustTickAmount()),$(this,"afterSetTickPositions")}trimTicks(le,te,fe){let Me=le[0],H=le[le.length-1],de=!this.isOrdinal&&this.minPointOffset||0;if($(this,"trimTicks"),!this.isLinked){if(te&&Me!==-1/0)this.min=Me;else for(;this.min-de>le[0];)le.shift();if(fe)this.max=H;else for(;this.max+de<le[le.length-1];)le.pop();le.length===0&&L(Me)&&!this.options.tickPositions&&le.push((H+Me)/2)}}alignToOthers(){let le,te=this,fe=te.chart,Me=[this],H=te.options,de=fe.options.chart,oe=this.coll==="yAxis"&&de.alignThresholds,_e=[];if(te.thresholdAlignment=void 0,(de.alignTicks!==!1&&H.alignTicks||oe)&&H.startOnTick!==!1&&H.endOnTick!==!1&&!te.logarithmic){let ce=Be=>{let{horiz:Re,options:He}=Be;return[Re?He.left:He.top,He.width,He.height,He.pane].join(",")},Oe=ce(this);fe[this.coll].forEach(function(Be){let{series:Re}=Be;Re.length&&Re.some(He=>He.visible)&&Be!==te&&ce(Be)===Oe&&(le=!0,Me.push(Be))})}if(le&&oe){Me.forEach(Oe=>{let Be=Oe.getThresholdAlignment(te);R(Be)&&_e.push(Be)});let ce=_e.length>1?_e.reduce((Oe,Be)=>Oe+=Be,0)/_e.length:void 0;Me.forEach(Oe=>{Oe.thresholdAlignment=ce})}return le}getThresholdAlignment(le){if((!R(this.dataMin)||this!==le&&this.series.some(te=>te.isDirty||te.isDirtyData))&&this.getSeriesExtremes(),R(this.threshold)){let te=N((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return this.options.reversed&&(te=1-te),te}}getTickAmount(){let le=this.options,te=le.tickPixelInterval,fe=le.tickAmount;L(le.tickInterval)||fe||!(this.len<te)||this.isRadial||this.logarithmic||!le.startOnTick||!le.endOnTick||(fe=2),!fe&&this.alignToOthers()&&(fe=Math.ceil(this.len/te)+1),fe<4&&(this.finalTickAmt=fe,fe=5),this.tickAmount=fe}adjustTickAmount(){let le=this,{finalTickAmt:te,max:fe,min:Me,options:H,tickPositions:de,tickAmount:oe,thresholdAlignment:_e}=le,ce=de==null?void 0:de.length,Oe=K(le.threshold,le.softThreshold?0:null),Be,Re,He=le.tickInterval,ct,at=()=>de.push(k(de[de.length-1]+He)),ke=()=>de.unshift(k(de[0]-He));if(R(_e)&&(ct=_e<.5?Math.ceil(_e*(oe-1)):Math.floor(_e*(oe-1)),H.reversed&&(ct=oe-1-ct)),le.hasData()&&R(Me)&&R(fe)){let Te=()=>{le.transA*=(ce-1)/(oe-1),le.min=H.startOnTick?de[0]:Math.min(Me,de[0]),le.max=H.endOnTick?de[de.length-1]:Math.max(fe,de[de.length-1])};if(R(ct)&&R(le.threshold)){for(;de[ct]!==Oe||de.length!==oe||de[0]>Me||de[de.length-1]<fe;){for(de.length=0,de.push(le.threshold);de.length<oe;)de[ct]===void 0||de[ct]>le.threshold?ke():at();if(He>8*le.tickInterval)break;He*=2}Te()}else if(ce<oe){for(;de.length<oe;)de.length%2||Me===Oe?at():ke();Te()}if(L(te)){for(Re=Be=de.length;Re--;)(te===3&&Re%2==1||te<=2&&Re>0&&Re<Be-1)&&de.splice(Re,1);le.finalTickAmt=void 0}}}setScale(){var de,oe;let{coll:le,stacking:te}=this,fe=!1,Me=!1;this.series.forEach(_e=>{fe=fe||_e.isDirtyData||_e.isDirty,Me=Me||_e.xAxis&&_e.xAxis.isDirty||!1}),this.setAxisSize();let H=this.len!==(this.old&&this.old.len);H||fe||Me||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?(te&&le==="yAxis"&&te.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),te&&le==="xAxis"&&te.buildStacks(),this.isDirty||(this.isDirty=H||this.min!==((de=this.old)==null?void 0:de.min)||this.max!==((oe=this.old)==null?void 0:oe.max))):te&&te.cleanStacks(),fe&&delete this.allExtremes,$(this,"afterSetScale")}setExtremes(le,te,fe=!0,Me,H){this.series.forEach(de=>{delete de.kdTree}),$(this,"setExtremes",H=re(H,{min:le,max:te}),de=>{this.userMin=de.min,this.userMax=de.max,this.eventArgs=de,fe&&this.chart.redraw(Me)})}setAxisSize(){let le=this.chart,te=this.options,fe=te.offsets||[0,0,0,0],Me=this.horiz,H=this.width=Math.round(pe(K(te.width,le.plotWidth-fe[3]+fe[1]),le.plotWidth)),de=this.height=Math.round(pe(K(te.height,le.plotHeight-fe[0]+fe[2]),le.plotHeight)),oe=this.top=Math.round(pe(K(te.top,le.plotTop+fe[0]),le.plotHeight,le.plotTop)),_e=this.left=Math.round(pe(K(te.left,le.plotLeft+fe[3]),le.plotWidth,le.plotLeft));this.bottom=le.chartHeight-de-oe,this.right=le.chartWidth-H-_e,this.len=Math.max(Me?H:de,0),this.pos=Me?_e:oe}getExtremes(){let le=this.logarithmic;return{min:le?k(le.lin2log(this.min)):this.min,max:le?k(le.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(le){let te=this.logarithmic,fe=te?te.lin2log(this.min):this.min,Me=te?te.lin2log(this.max):this.max;return le===null||le===-1/0?le=fe:le===1/0?le=Me:fe>le?le=fe:Me<le&&(le=Me),this.translate(le,0,1,0,1)}autoLabelAlign(le){let te=(K(le,0)-90*this.side+720)%360,fe={align:"center"};return $(this,"autoLabelAlign",fe,function(Me){te>15&&te<165?Me.align="right":te>195&&te<345&&(Me.align="left")}),fe.align}tickSize(le){let te=this.options,fe=K(te[le==="tick"?"tickWidth":"minorTickWidth"],le==="tick"&&this.isXAxis&&!this.categories?1:0),Me=te[le==="tick"?"tickLength":"minorTickLength"],H;fe&&Me&&(te[le+"Position"]==="inside"&&(Me=-Me),H=[Me,fe]);let de={tickSize:H};return $(this,"afterTickSize",de),de.tickSize}labelMetrics(){let le=this.chart.renderer,te=this.ticks,fe=te[Object.keys(te)[0]]||{};return this.chart.renderer.fontMetrics(fe.label||fe.movedLabel||le.box)}unsquish(){let le=this.options.labels,te=le.padding||0,fe=this.horiz,Me=this.tickInterval,H=this.len/(((this.categories?1:0)+this.max-this.min)/Me),de=le.rotation,oe=k(.8*this.labelMetrics().h),_e=Math.max(this.max-this.min,0),ce=function(ct){let at=(ct+2*te)/(H||1);return(at=at>1?Math.ceil(at):1)*Me>_e&&ct!==1/0&&H!==1/0&&_e&&(at=Math.ceil(_e/Me)),k(at*Me)},Oe=Me,Be,Re=Number.MAX_VALUE,He;if(fe){if(!le.staggerLines&&(R(de)?He=[de]:H<le.autoRotationLimit&&(He=le.autoRotation)),He){let ct,at;for(let ke of He)(ke===de||ke&&ke>=-90&&ke<=90)&&(at=(ct=ce(Math.abs(oe/Math.sin(O*ke))))+Math.abs(ke/360))<Re&&(Re=at,Be=ke,Oe=ct)}}else Oe=ce(.75*oe);return this.autoRotation=He,this.labelRotation=K(Be,R(de)?de:0),le.step?Me:Oe}getSlotWidth(le){let te=this.chart,fe=this.horiz,Me=this.options.labels,H=Math.max(this.tickPositions.length-(this.categories?0:1),1),de=te.margin[3];if(le&&R(le.slotWidth))return le.slotWidth;if(fe&&Me.step<2)return Me.rotation?0:(this.staggerLines||1)*this.len/H;if(!fe){let oe=Me.style.width;if(oe!==void 0)return parseInt(String(oe),10);if(de)return de-te.spacing[3]}return .33*te.chartWidth}renderUnsquish(){let le=this.chart,te=le.renderer,fe=this.tickPositions,Me=this.ticks,H=this.options.labels,de=H.style,oe=this.horiz,_e=this.getSlotWidth(),ce=Math.max(1,Math.round(_e-(oe?2*(H.padding||0):H.distance||0))),Oe={},Be=this.labelMetrics(),Re=de.textOverflow,He,ct,at=0,ke,Te;if(Z(H.rotation)||(Oe.rotation=H.rotation||0),fe.forEach(function(Le){let ze=Me[Le];ze.movedLabel&&ze.replaceMovedLabel(),ze&&ze.label&&ze.label.textPxLength>at&&(at=ze.label.textPxLength)}),this.maxLabelLength=at,this.autoRotation)at>ce&&at>Be.h?Oe.rotation=this.labelRotation:this.labelRotation=0;else if(_e&&(He=ce,!Re))for(ct="clip",Te=fe.length;!oe&&Te--;)(ke=Me[fe[Te]].label)&&(ke.styles.textOverflow==="ellipsis"?ke.css({textOverflow:"clip"}):ke.textPxLength>_e&&ke.css({width:_e+"px"}),ke.getBBox().height>this.len/fe.length-(Be.h-Be.f)&&(ke.specificTextOverflow="ellipsis"));Oe.rotation&&(He=at>.5*le.chartHeight?.33*le.chartHeight:at,Re||(ct="ellipsis")),this.labelAlign=H.align||this.autoLabelAlign(this.labelRotation),this.labelAlign&&(Oe.align=this.labelAlign),fe.forEach(function(Le){let ze=Me[Le],Qe=ze&&ze.label,Ve=de.width,it={};Qe&&(Qe.attr(Oe),ze.shortenLabel?ze.shortenLabel():He&&!Ve&&de.whiteSpace!=="nowrap"&&(He<Qe.textPxLength||Qe.element.tagName==="SPAN")?(it.width=He+"px",Re||(it.textOverflow=Qe.specificTextOverflow||ct),Qe.css(it)):!Qe.styles.width||it.width||Ve||Qe.css({width:null}),delete Qe.specificTextOverflow,ze.rotation=Oe.rotation)},this),this.tickRotCorr=te.rotCorr(Be.b,this.labelRotation||0,this.side!==0)}hasData(){return this.series.some(function(le){return le.hasData()})||this.options.showEmpty&&L(this.min)&&L(this.max)}addTitle(le){let te,fe=this.chart.renderer,Me=this.horiz,H=this.opposite,de=this.options.title,oe=this.chart.styledMode;this.axisTitle||((te=de.textAlign)||(te=(Me?{low:"left",middle:"center",high:"right"}:{low:H?"right":"left",middle:"center",high:H?"left":"right"})[de.align]),this.axisTitle=fe.text(de.text||"",0,0,de.useHTML).attr({zIndex:7,rotation:de.rotation||0,align:te}).addClass("highcharts-axis-title"),oe||this.axisTitle.css(U(de.style)),this.axisTitle.add(this.axisGroup),this.axisTitle.isNew=!0),oe||de.style.width||this.isRadial||this.axisTitle.css({width:this.len+"px"}),this.axisTitle[le?"show":"hide"](le)}generateTick(le){let te=this.ticks;te[le]?te[le].addLabel():te[le]=new y(this,le)}createGroups(){let{axisParent:le,chart:te,coll:fe,options:Me}=this,H=te.renderer,de=(oe,_e,ce)=>H.g(oe).attr({zIndex:ce}).addClass(`highcharts-${fe.toLowerCase()}${_e} `+(this.isRadial?`highcharts-radial-axis${_e} `:"")+(Me.className||"")).add(le);this.axisGroup||(this.gridGroup=de("grid","-grid",Me.gridZIndex),this.axisGroup=de("axis","",Me.zIndex),this.labelGroup=de("axis-labels","-labels",Me.labels.zIndex))}getOffset(){let le=this,{chart:te,horiz:fe,options:Me,side:H,ticks:de,tickPositions:oe,coll:_e}=le,ce=te.inverted&&!le.isZAxis?[1,0,3,2][H]:H,Oe=le.hasData(),Be=Me.title,Re=Me.labels,He=R(Me.crossing),ct=te.axisOffset,at=te.clipOffset,ke=[-1,1,1,-1][H],Te,Le=0,ze,Qe=0,Ve=0,it,ot;if(le.showAxis=Te=Oe||Me.showEmpty,le.staggerLines=le.horiz&&Re.staggerLines||void 0,le.createGroups(),Oe||le.isLinked?(oe.forEach(function(ft){le.generateTick(ft)}),le.renderUnsquish(),le.reserveSpaceDefault=H===0||H===2||{1:"left",3:"right"}[H]===le.labelAlign,K(Re.reserveSpace,!He&&null,le.labelAlign==="center"||null,le.reserveSpaceDefault)&&oe.forEach(function(ft){Ve=Math.max(de[ft].getLabelSize(),Ve)}),le.staggerLines&&(Ve*=le.staggerLines),le.labelOffset=Ve*(le.opposite?-1:1)):ae(de,function(ft,pt){ft.destroy(),delete de[pt]}),Be!=null&&Be.text&&Be.enabled!==!1&&(le.addTitle(Te),Te&&!He&&Be.reserveSpace!==!1&&(le.titleOffset=Le=le.axisTitle.getBBox()[fe?"height":"width"],Qe=L(ze=Be.offset)?0:K(Be.margin,fe?5:10))),le.renderLine(),le.offset=ke*K(Me.offset,ct[H]?ct[H]+(Me.margin||0):0),le.tickRotCorr=le.tickRotCorr||{x:0,y:0},ot=H===0?-le.labelMetrics().h:H===2?le.tickRotCorr.y:0,it=Math.abs(Ve)+Qe,Ve&&(it-=ot,it+=ke*(fe?K(Re.y,le.tickRotCorr.y+ke*Re.distance):K(Re.x,ke*Re.distance))),le.axisTitleMargin=K(ze,it),le.getMaxLabelDimensions&&(le.maxLabelDimensions=le.getMaxLabelDimensions(de,oe)),_e!=="colorAxis"&&at){let ft=this.tickSize("tick");ct[H]=Math.max(ct[H],(le.axisTitleMargin||0)+Le+ke*le.offset,it,oe&&oe.length&&ft?ft[0]+ke*le.offset:0);let pt=!le.axisLine||Me.offset?0:le.axisLine.strokeWidth()/2;at[ce]=Math.max(at[ce],pt)}$(this,"afterGetOffset")}getLinePath(le){let te=this.chart,fe=this.opposite,Me=this.offset,H=this.horiz,de=this.left+(fe?this.width:0)+Me,oe=te.chartHeight-this.bottom-(fe?this.height:0)+Me;return fe&&(le*=-1),te.renderer.crispLine([["M",H?this.left:de,H?oe:this.top],["L",H?te.chartWidth-this.right:de,H?oe:te.chartHeight-this.bottom]],le)}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(le){let te=this.horiz,fe=this.left,Me=this.top,H=this.len,de=this.options.title,oe=te?fe:Me,_e=this.opposite,ce=this.offset,Oe=de.x,Be=de.y,Re=this.chart.renderer.fontMetrics(le),He=le?Math.max(le.getBBox(!1,0).height-Re.h-1,0):0,ct={low:oe+(te?0:H),middle:oe+H/2,high:oe+(te?H:0)}[de.align],at=(te?Me+this.height:fe)+(te?1:-1)*(_e?-1:1)*(this.axisTitleMargin||0)+[-He,He,Re.f,-He][this.side],ke={x:te?ct+Oe:at+(_e?this.width:0)+ce+Oe,y:te?at+Be-(_e?this.height:0)+ce:ct+Be};return $(this,"afterGetTitlePosition",{titlePosition:ke}),ke}renderMinorTick(le,te){let fe=this.minorTicks;fe[le]||(fe[le]=new y(this,le,"minor")),te&&fe[le].isNew&&fe[le].render(null,!0),fe[le].render(null,!1,1)}renderTick(le,te,fe){let Me=this.isLinked,H=this.ticks;(!Me||le>=this.min&&le<=this.max||this.grid&&this.grid.isColumn)&&(H[le]||(H[le]=new y(this,le)),fe&&H[le].isNew&&H[le].render(te,!0,-1),H[le].render(te))}render(){let le,te,fe=this,Me=fe.chart,H=fe.logarithmic,de=Me.renderer,oe=fe.options,_e=fe.isLinked,ce=fe.tickPositions,Oe=fe.axisTitle,Be=fe.ticks,Re=fe.minorTicks,He=fe.alternateBands,ct=oe.stackLabels,at=oe.alternateGridColor,ke=oe.crossing,Te=fe.tickmarkOffset,Le=fe.axisLine,ze=fe.showAxis,Qe=b(de.globalAnimation);if(fe.labelEdge.length=0,fe.overlap=!1,[Be,Re,He].forEach(function(Ve){ae(Ve,function(it){it.isActive=!1})}),R(ke)){let Ve=this.isXAxis?Me.yAxis[0]:Me.xAxis[0],it=[1,-1,-1,1][this.side];if(Ve){let ot=Ve.toPixels(ke,!0);fe.horiz&&(ot=Ve.len-ot),fe.offset=it*ot}}if(fe.hasData()||_e){let Ve=fe.chart.hasRendered&&fe.old&&R(fe.old.min);fe.minorTickInterval&&!fe.categories&&fe.getMinorTickPositions().forEach(function(it){fe.renderMinorTick(it,Ve)}),ce.length&&(ce.forEach(function(it,ot){fe.renderTick(it,ot,Ve)}),Te&&(fe.min===0||fe.single)&&(Be[-1]||(Be[-1]=new y(fe,-1,null,!0)),Be[-1].render(-1))),at&&ce.forEach(function(it,ot){te=ce[ot+1]!==void 0?ce[ot+1]+Te:fe.max-Te,ot%2==0&&it<fe.max&&te<=fe.max+(Me.polar?-Te:Te)&&(He[it]||(He[it]=new p.PlotLineOrBand(fe,{})),le=it+Te,He[it].options={from:H?H.lin2log(le):le,to:H?H.lin2log(te):te,color:at,className:"highcharts-alternate-grid"},He[it].render(),He[it].isActive=!0)}),fe._addedPlotLB||(fe._addedPlotLB=!0,(oe.plotLines||[]).concat(oe.plotBands||[]).forEach(function(it){fe.addPlotBandOrLine(it)}))}[Be,Re,He].forEach(function(Ve){let it=[],ot=Qe.duration;ae(Ve,function(ft,pt){ft.isActive||(ft.render(pt,!1,0),ft.isActive=!1,it.push(pt))}),ge(function(){let ft=it.length;for(;ft--;)Ve[it[ft]]&&!Ve[it[ft]].isActive&&(Ve[it[ft]].destroy(),delete Ve[it[ft]])},Ve!==He&&Me.hasRendered&&ot?ot:0)}),Le&&(Le[Le.isPlaced?"animate":"attr"]({d:this.getLinePath(Le.strokeWidth())}),Le.isPlaced=!0,Le[ze?"show":"hide"](ze)),Oe&&ze&&(Oe[Oe.isNew?"attr":"animate"](fe.getTitlePosition(Oe)),Oe.isNew=!1),ct&&ct.enabled&&fe.stacking&&fe.stacking.renderStackTotals(),fe.old={len:fe.len,max:fe.max,min:fe.min,transA:fe.transA,userMax:fe.userMax,userMin:fe.userMin},fe.isDirty=!1,$(this,"afterRender")}redraw(){this.visible&&(this.render(),this.plotLinesAndBands.forEach(function(le){le.render()})),this.series.forEach(function(le){le.isDirty=!0})}getKeepProps(){return this.keepProps||Ae.keepProps}destroy(le){let te=this,fe=te.plotLinesAndBands,Me=this.eventOptions;if($(this,"destroy",{keepEvents:le}),le||xe(te),[te.ticks,te.minorTicks,te.alternateBands].forEach(function(H){B(H)}),fe){let H=fe.length;for(;H--;)fe[H].destroy()}for(let H in["axisLine","axisTitle","axisGroup","gridGroup","labelGroup","cross","scrollbar"].forEach(function(de){te[de]&&(te[de]=te[de].destroy())}),te.plotLinesAndBandsGroups)te.plotLinesAndBandsGroups[H]=te.plotLinesAndBandsGroups[H].destroy();ae(te,function(H,de){te.getKeepProps().indexOf(de)===-1&&delete te[de]}),this.eventOptions=Me}drawCrosshair(le,te){let fe=this.crosshair,Me=K(fe&&fe.snap,!0),H=this.chart,de,oe,_e,ce=this.cross,Oe;if($(this,"drawCrosshair",{e:le,point:te}),le||(le=this.cross&&this.cross.e),fe&&(L(te)||!Me)!==!1){if(Me?L(te)&&(oe=K(this.coll!=="colorAxis"?te.crosshairPos:null,this.isXAxis?te.plotX:this.len-te.plotY)):oe=le&&(this.horiz?le.chartX-this.pos:this.len-le.chartY+this.pos),L(oe)&&(Oe={value:te&&(this.isXAxis?te.x:K(te.stackY,te.y)),translatedValue:oe},H.polar&&re(Oe,{isCrosshair:!0,chartX:le&&le.chartX,chartY:le&&le.chartY,point:te}),de=this.getPlotLinePath(Oe)||null),!L(de)){this.hideCrosshair();return}_e=this.categories&&!this.isRadial,ce||(this.cross=ce=H.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+(_e?"category ":"thin ")+(fe.className||"")).attr({zIndex:K(fe.zIndex,2)}).add(),!H.styledMode&&(ce.attr({stroke:fe.color||(_e?c.parse("#ccd3ff").setOpacity(.25).get():"#cccccc"),"stroke-width":K(fe.width,1)}).css({"pointer-events":"none"}),fe.dashStyle&&ce.attr({dashstyle:fe.dashStyle}))),ce.show().attr({d:de}),_e&&!fe.width&&ce.attr({"stroke-width":this.transA}),this.cross.e=le}else this.hideCrosshair();$(this,"afterDrawCrosshair",{e:le,point:te})}hideCrosshair(){this.cross&&this.cross.hide(),$(this,"afterHideCrosshair")}update(le,te){let fe=this.chart;le=U(this.userOptions,le),this.destroy(!0),this.init(fe,le),fe.isDirtyBox=!0,K(te,!0)&&fe.redraw()}remove(le){let te=this.chart,fe=this.coll,Me=this.series,H=Me.length;for(;H--;)Me[H]&&Me[H].remove(!1);q(te.axes,this),q(te[fe]||[],this),te.orderItems(fe),this.destroy(),te.isDirtyBox=!0,K(le,!0)&&te.redraw()}setTitle(le,te){this.update({title:le},te)}setCategories(le,te){this.update({categories:le},te)}}return Ae.keepProps=["coll","extKey","hcEvents","len","names","series","userMax","userMin"],Ae}),r(n,"Core/Axis/DateTimeAxis.js",[n["Core/Utilities.js"]],function(i){var s;let{addEvent:c,getMagnitude:a,normalizeTickInterval:d,timeUnits:p}=i;return function(y){function g(){return this.chart.time.getTimeTicks.apply(this.chart.time,arguments)}function b(){if(this.type!=="datetime"){this.dateTime=void 0;return}this.dateTime||(this.dateTime=new w(this))}y.compose=function(S){return S.keepProps.includes("dateTime")||(S.keepProps.push("dateTime"),S.prototype.getTimeTicks=g,c(S,"afterSetType",b)),S};class w{constructor(C){this.axis=C}normalizeTimeTickInterval(C,M){let O=M||[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2]],["week",[1,2]],["month",[1,2,3,4,6]],["year",null]],I=O[O.length-1],D=p[I[0]],N=I[1],k;for(k=0;k<O.length&&(D=p[(I=O[k])[0]],N=I[1],!O[k+1]||!(C<=(D*N[N.length-1]+p[O[k+1][0]])/2));k++);D===p.year&&C<5*D&&(N=[1,2,5]);let L=d(C/D,N,I[0]==="year"?Math.max(a(C/D),1):1);return{unitRange:D,count:L,unitName:I[0]}}getXDateFormat(C,M){let{axis:O}=this,I=O.chart.time;return O.closestPointRange?I.getDateFormat(O.closestPointRange,C,O.options.startOfWeek,M)||I.resolveDTLFormat(M.year).main:I.resolveDTLFormat(M.day).main}}y.Additions=w}(s||(s={})),s}),r(n,"Core/Axis/LogarithmicAxis.js",[n["Core/Utilities.js"]],function(i){var s;let{addEvent:c,normalizeTickInterval:a,pick:d}=i;return function(p){function y(){this.type!=="logarithmic"?this.logarithmic=void 0:this.logarithmic??(this.logarithmic=new b(this))}function g(){let w=this.logarithmic;w&&(this.lin2val=function(S){return w.lin2log(S)},this.val2lin=function(S){return w.log2lin(S)})}p.compose=function(w){return w.keepProps.includes("logarithmic")||(w.keepProps.push("logarithmic"),c(w,"afterSetType",y),c(w,"afterInit",g)),w};class b{constructor(S){this.axis=S}getLogTickPositions(S,C,M,O){let I=this.axis,D=I.len,N=I.options,k=[];if(O||(this.minorAutoInterval=void 0),S>=.5)S=Math.round(S),k=I.getLinearTickPositions(S,C,M);else if(S>=.08){let L,B,q,ne,re,$,Y,G=Math.floor(C);for(L=S>.3?[1,2,4]:S>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],B=G;B<M+1&&!Y;B++)for(q=0,ne=L.length;q<ne&&!Y;q++)(re=this.log2lin(this.lin2log(B)*L[q]))>C&&(!O||$<=M)&&$!==void 0&&k.push($),$>M&&(Y=!0),$=re}else{let L=this.lin2log(C),B=this.lin2log(M),q=O?I.getMinorTickInterval():N.tickInterval,ne=N.tickPixelInterval/(O?5:1),re=O?D/I.tickPositions.length:D;S=a(S=d(q==="auto"?null:q,this.minorAutoInterval,(B-L)*ne/(re||1))),k=I.getLinearTickPositions(S,L,B).map(this.log2lin),O||(this.minorAutoInterval=S/5)}return O||(I.tickInterval=S),k}lin2log(S){return Math.pow(10,S)}log2lin(S){return Math.log(S)/Math.LN10}}p.Additions=b}(s||(s={})),s}),r(n,"Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js",[n["Core/Utilities.js"]],function(i){var s;let{erase:c,extend:a,isNumber:d}=i;return function(p){let y;function g(I){return this.addPlotBandOrLine(I,"plotBands")}function b(I,D){let N=this.userOptions,k=new y(this,I);if(this.visible&&(k=k.render()),k){if(this._addedPlotLB||(this._addedPlotLB=!0,(N.plotLines||[]).concat(N.plotBands||[]).forEach(L=>{this.addPlotBandOrLine(L)})),D){let L=N[D]||[];L.push(I),N[D]=L}this.plotLinesAndBands.push(k)}return k}function w(I){return this.addPlotBandOrLine(I,"plotLines")}function S(I,D,N){N=N||this.options;let k=this.getPlotLinePath({value:D,force:!0,acrossPanes:N.acrossPanes}),L=[],B=this.horiz,q=!d(this.min)||!d(this.max)||I<this.min&&D<this.min||I>this.max&&D>this.max,ne=this.getPlotLinePath({value:I,force:!0,acrossPanes:N.acrossPanes}),re,$=1,Y;if(ne&&k)for(q&&(Y=ne.toString()===k.toString(),$=0),re=0;re<ne.length;re+=2){let G=ne[re],j=ne[re+1],R=k[re],Z=k[re+1];(G[0]==="M"||G[0]==="L")&&(j[0]==="M"||j[0]==="L")&&(R[0]==="M"||R[0]==="L")&&(Z[0]==="M"||Z[0]==="L")&&(B&&R[1]===G[1]?(R[1]+=$,Z[1]+=$):B||R[2]!==G[2]||(R[2]+=$,Z[2]+=$),L.push(["M",G[1],G[2]],["L",j[1],j[2]],["L",Z[1],Z[2]],["L",R[1],R[2]],["Z"])),L.isFlat=Y}return L}function C(I){this.removePlotBandOrLine(I)}function M(I){let D=this.plotLinesAndBands,N=this.options,k=this.userOptions;if(D){let L=D.length;for(;L--;)D[L].id===I&&D[L].destroy();[N.plotLines||[],k.plotLines||[],N.plotBands||[],k.plotBands||[]].forEach(function(B){for(L=B.length;L--;)(B[L]||{}).id===I&&c(B,B[L])})}}function O(I){this.removePlotBandOrLine(I)}p.compose=function(I,D){let N=D.prototype;return N.addPlotBand||(y=I,a(N,{addPlotBand:g,addPlotLine:w,addPlotBandOrLine:b,getPlotBandPath:S,removePlotBand:C,removePlotLine:O,removePlotBandOrLine:M})),D}}(s||(s={})),s}),r(n,"Core/Axis/PlotLineOrBand/PlotLineOrBand.js",[n["Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js"],n["Core/Utilities.js"]],function(i,s){let{addEvent:c,arrayMax:a,arrayMin:d,defined:p,destroyObjectProperties:y,erase:g,fireEvent:b,merge:w,objectEach:S,pick:C}=s;class M{static compose(I,D){return c(I,"afterInit",function(){this.labelCollectors.push(()=>{var k;let N=[];for(let L of this.axes)for(let{label:B,options:q}of L.plotLinesAndBands)B&&!((k=q==null?void 0:q.label)!=null&&k.allowOverlap)&&N.push(B);return N})}),i.compose(M,D)}constructor(I,D){this.axis=I,this.options=D,this.id=D.id}render(){b(this,"render");let{axis:I,options:D}=this,{horiz:N,logarithmic:k}=I,{color:L,events:B,zIndex:q=0}=D,ne={},re=I.chart.renderer,$=D.to,Y=D.from,G=D.value,j=D.borderWidth,R=D.label,{label:Z,svgElem:U}=this,ie=[],ae,K=p(Y)&&p($),pe=p(G),xe=!U,se={class:"highcharts-plot-"+(K?"band ":"line ")+(D.className||"")},ge=K?"bands":"lines";if(!I.chart.styledMode&&(pe?(se.stroke=L||"#999999",se["stroke-width"]=C(D.width,1),D.dashStyle&&(se.dashstyle=D.dashStyle)):K&&(se.fill=L||"#e6e9ff",j&&(se.stroke=D.borderColor,se["stroke-width"]=j))),ne.zIndex=q,ge+="-"+q,(ae=I.plotLinesAndBandsGroups[ge])||(I.plotLinesAndBandsGroups[ge]=ae=re.g("plot-"+ge).attr(ne).add()),U||(this.svgElem=U=re.path().attr(se).add(ae)),p(G))ie=I.getPlotLinePath({value:(k==null?void 0:k.log2lin(G))??G,lineWidth:U.strokeWidth(),acrossPanes:D.acrossPanes});else{if(!(p(Y)&&p($)))return;ie=I.getPlotBandPath((k==null?void 0:k.log2lin(Y))??Y,(k==null?void 0:k.log2lin($))??$,D)}return!this.eventsAdded&&B&&(S(B,(Se,Ae)=>{U==null||U.on(Ae,$e=>{B[Ae].apply(this,[$e])})}),this.eventsAdded=!0),(xe||!U.d)&&(ie!=null&&ie.length)?U.attr({d:ie}):U&&(ie?(U.show(),U.animate({d:ie})):U.d&&(U.hide(),Z&&(this.label=Z=Z.destroy()))),R&&(p(R.text)||p(R.formatter))&&(ie!=null&&ie.length)&&I.width>0&&I.height>0&&!ie.isFlat?(R=w({align:N&&K?"center":void 0,x:N?!K&&4:10,verticalAlign:!N&&K?"middle":void 0,y:N?K?16:10:K?6:-4,rotation:N&&!K?90:0,...K?{inside:!0}:{}},R),this.renderLabel(R,ie,K,q)):Z&&Z.hide(),this}renderLabel(I,D,N,k){var R;let L=this.axis,B=L.chart.renderer,q=I.inside,ne=this.label;ne||(this.label=ne=B.text(this.getLabelText(I),0,0,I.useHTML).attr({align:I.textAlign||I.align,rotation:I.rotation,class:"highcharts-plot-"+(N?"band":"line")+"-label "+(I.className||""),zIndex:k}),L.chart.styledMode||ne.css(w({fontSize:"0.8em",textOverflow:N&&!q?"":"ellipsis"},I.style)),ne.add());let re=D.xBounds||[D[0][1],D[1][1],N?D[2][1]:D[0][1]],$=D.yBounds||[D[0][2],D[1][2],N?D[2][2]:D[0][2]],Y=d(re),G=d($),j=a(re)-Y;ne.align(I,!1,{x:Y,y:G,width:j,height:a($)-G}),(!ne.alignValue||ne.alignValue==="left"||p(q))&&ne.css({width:(((R=I.style)==null?void 0:R.width)||(N&&q?j:ne.rotation===90?L.height-(ne.alignAttr.y-L.top):(I.clip?L.width:L.chart.chartWidth)-(ne.alignAttr.x-L.left)))+"px"}),ne.show(!0)}getLabelText(I){return p(I.formatter)?I.formatter.call(this):I.text}destroy(){g(this.axis.plotLinesAndBands,this),delete this.axis,y(this)}}return M}),r(n,"Core/Tooltip.js",[n["Core/Animation/AnimationUtilities.js"],n["Core/Templating.js"],n["Core/Globals.js"],n["Core/Renderer/RendererUtilities.js"],n["Core/Renderer/RendererRegistry.js"],n["Core/Utilities.js"]],function(i,s,c,a,d,p){var y;let{animObject:g}=i,{format:b}=s,{composed:w,doc:S,isSafari:C}=c,{distribute:M}=a,{addEvent:O,clamp:I,css:D,discardElement:N,extend:k,fireEvent:L,isArray:B,isNumber:q,isString:ne,merge:re,pick:$,pushUnique:Y,splat:G,syncTimeout:j}=p;class R{constructor(U,ie,ae){this.allowShared=!0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.options={},this.outside=!1,this.chart=U,this.init(U,ie),this.pointer=ae}bodyFormatter(U){return U.map(function(ie){let ae=ie.series.tooltipOptions;return(ae[(ie.point.formatPrefix||"point")+"Formatter"]||ie.point.tooltipFormatter).call(ie.point,ae[(ie.point.formatPrefix||"point")+"Format"]||"")})}cleanSplit(U){this.chart.series.forEach(function(ie){let ae=ie&&ie.tt;ae&&(!ae.isActive||U?ie.tt=ae.destroy():ae.isActive=!1)})}defaultFormatter(U){let ie,ae=this.points||G(this);return(ie=(ie=[U.tooltipFooterHeaderFormatter(ae[0])]).concat(U.bodyFormatter(ae))).push(U.tooltipFooterHeaderFormatter(ae[0],!0)),ie}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(),N(this.container)),p.clearTimeout(this.hideTimer)}getAnchor(U,ie){let ae,{chart:K,pointer:pe}=this,xe=K.inverted,se=K.plotTop,ge=K.plotLeft;if((U=G(U))[0].series&&U[0].series.yAxis&&!U[0].series.yAxis.options.reversedStacks&&(U=U.slice().reverse()),this.followPointer&&ie)ie.chartX===void 0&&(ie=pe.normalize(ie)),ae=[ie.chartX-ge,ie.chartY-se];else if(U[0].tooltipPos)ae=U[0].tooltipPos;else{let Se=0,Ae=0;U.forEach(function($e){let le=$e.pos(!0);le&&(Se+=le[0],Ae+=le[1])}),Se/=U.length,Ae/=U.length,this.shared&&U.length>1&&ie&&(xe?Se=ie.chartX:Ae=ie.chartY),ae=[Se-ge,Ae-se]}return ae.map(Math.round)}getClassName(U,ie,ae){let K=this.options,pe=U.series,xe=pe.options;return[K.className,"highcharts-label",ae&&"highcharts-tooltip-header",ie?"highcharts-tooltip-box":"highcharts-tooltip",!ae&&"highcharts-color-"+$(U.colorIndex,pe.colorIndex),xe&&xe.className].filter(ne).join(" ")}getLabel({anchorX:U,anchorY:ie}={anchorX:0,anchorY:0}){let ae=this,K=this.chart.styledMode,pe=this.options,xe=this.split&&this.allowShared,se=this.container,ge=this.chart.renderer;if(this.label){let Se=!this.label.hasClass("highcharts-label");(!xe&&Se||xe&&!Se)&&this.destroy()}if(!this.label){if(this.outside){let Se=this.chart.options.chart.style,Ae=d.getRendererType();this.container=se=c.doc.createElement("div"),se.className="highcharts-tooltip-container",D(se,{position:"absolute",top:"1px",pointerEvents:"none",zIndex:Math.max(this.options.style.zIndex||0,(Se&&Se.zIndex||0)+3)}),this.renderer=ge=new Ae(se,0,0,Se,void 0,void 0,ge.styledMode)}if(xe?this.label=ge.g("tooltip"):(this.label=ge.label("",U,ie,pe.shape,void 0,void 0,pe.useHTML,void 0,"tooltip").attr({padding:pe.padding,r:pe.borderRadius}),K||this.label.attr({fill:pe.backgroundColor,"stroke-width":pe.borderWidth||0}).css(pe.style).css({pointerEvents:pe.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none")})),ae.outside){let Se=this.label;[Se.xSetter,Se.ySetter].forEach((Ae,$e)=>{Se[$e?"ySetter":"xSetter"]=le=>{Ae.call(Se,ae.distance),Se[$e?"y":"x"]=le,se&&(se.style[$e?"top":"left"]=`${le}px`)}})}this.label.attr({zIndex:8}).shadow(pe.shadow).add()}return se&&!se.parentElement&&c.doc.body.appendChild(se),this.label}getPlayingField(){let{body:U,documentElement:ie}=S,{chart:ae,distance:K,outside:pe}=this;return{width:pe?Math.max(U.scrollWidth,ie.scrollWidth,U.offsetWidth,ie.offsetWidth,ie.clientWidth)-2*K:ae.chartWidth,height:pe?Math.max(U.scrollHeight,ie.scrollHeight,U.offsetHeight,ie.offsetHeight,ie.clientHeight):ae.chartHeight}}getPosition(U,ie,ae){var Qe,Ve;let{distance:K,chart:pe,outside:xe,pointer:se}=this,{inverted:ge,plotLeft:Se,plotTop:Ae,polar:$e}=pe,{plotX:le=0,plotY:te=0}=ae,fe={},Me=ge&&ae.h||0,{height:H,width:de}=this.getPlayingField(),oe=se.getChartPosition(),_e=it=>it*oe.scaleX,ce=it=>it*oe.scaleY,Oe=it=>{let ot=it==="x";return[it,ot?de:H,ot?U:ie].concat(xe?[ot?_e(U):ce(ie),ot?oe.left-K+_e(le+Se):oe.top-K+ce(te+Ae),0,ot?de:H]:[ot?U:ie,ot?le+Se:te+Ae,ot?Se:Ae,ot?Se+pe.plotWidth:Ae+pe.plotHeight])},Be=Oe("y"),Re=Oe("x"),He,ct=!!ae.negative;!$e&&((Ve=(Qe=pe.hoverSeries)==null?void 0:Qe.yAxis)!=null&&Ve.reversed)&&(ct=!ct);let at=!this.followPointer&&$(ae.ttBelow,!$e&&!ge===ct),ke=function(it,ot,ft,pt,Ke,mt,wt){let Pt=xe?it==="y"?ce(K):_e(K):K,kt=(ft-pt)/2,bt=pt<Ke-K,Zt=Ke+K+pt<ot,Dt=Ke-Pt-ft+kt,fn=Ke+Pt-kt;if(at&&Zt)fe[it]=fn;else if(!at&&bt)fe[it]=Dt;else if(bt)fe[it]=Math.min(wt-pt,Dt-Me<0?Dt:Dt-Me);else{if(!Zt)return!1;fe[it]=Math.max(mt,fn+Me+ft>ot?fn:fn+Me)}},Te=function(it,ot,ft,pt,Ke){if(Ke<K||Ke>ot-K)return!1;Ke<ft/2?fe[it]=1:Ke>ot-pt/2?fe[it]=ot-pt-2:fe[it]=Ke-ft/2},Le=function(it){[Be,Re]=[Re,Be],He=it},ze=()=>{ke.apply(0,Be)!==!1?Te.apply(0,Re)!==!1||He||(Le(!0),ze()):He?fe.x=fe.y=0:(Le(!0),ze())};return(ge&&!$e||this.len>1)&&Le(),ze(),fe}hide(U){let ie=this;p.clearTimeout(this.hideTimer),U=$(U,this.options.hideDelay),this.isHidden||(this.hideTimer=j(function(){let ae=ie.getLabel();ie.getLabel().animate({opacity:0},{duration:U&&150,complete:()=>{ae.hide(),ie.container&&ie.container.remove()}}),ie.isHidden=!0},U))}init(U,ie){this.chart=U,this.options=ie,this.crosshairs=[],this.isHidden=!0,this.split=ie.split&&!U.inverted&&!U.polar,this.shared=ie.shared||this.split,this.outside=$(ie.outside,!!(U.scrollablePixelsX||U.scrollablePixelsY))}shouldStickOnContact(U){return!!(!this.followPointer&&this.options.stickOnContact&&(!U||this.pointer.inClass(U.target,"highcharts-tooltip")))}move(U,ie,ae,K){let pe=this,xe=g(!pe.isHidden&&pe.options.animation),se=pe.followPointer||(pe.len||0)>1,ge={x:U,y:ie};se||(ge.anchorX=ae,ge.anchorY=K),xe.step=()=>pe.drawTracker(),pe.getLabel().animate(ge,xe)}refresh(U,ie){let{chart:ae,options:K,pointer:pe,shared:xe}=this,se=G(U),ge=se[0],Se=[],Ae=K.format,$e=K.formatter||this.defaultFormatter,le=ae.styledMode,te={},fe=this.allowShared;if(!K.enabled||!ge.series)return;p.clearTimeout(this.hideTimer),this.allowShared=!(!B(U)&&U.series&&U.series.noSharedTooltip),fe=fe&&!this.allowShared,this.followPointer=!this.split&&ge.series.tooltipOptions.followPointer;let Me=this.getAnchor(U,ie),H=Me[0],de=Me[1];xe&&this.allowShared?(pe.applyInactiveState(se),se.forEach(function(ce){ce.setState("hover"),Se.push(ce.getLabelConfig())}),(te=ge.getLabelConfig()).points=Se):te=ge.getLabelConfig(),this.len=Se.length;let oe=ne(Ae)?b(Ae,te,ae):$e.call(te,this),_e=ge.series;if(this.distance=$(_e.tooltipOptions.distance,16),oe===!1)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(oe,se);else{let ce=H,Oe=de;if(ie&&pe.isDirectTouch&&(ce=ie.chartX-ae.plotLeft,Oe=ie.chartY-ae.plotTop),ae.polar||_e.options.clip===!1||se.some(Be=>pe.isDirectTouch||Be.series.shouldShowTooltip(ce,Oe))){let Be=this.getLabel(fe&&this.tt||{});(!K.style.width||le)&&Be.css({width:(this.outside?this.getPlayingField():ae.spacingBox).width+"px"}),Be.attr({class:this.getClassName(ge),text:oe&&oe.join?oe.join(""):oe}),this.outside&&Be.attr({x:I(Be.x||0,0,this.getPlayingField().width-(Be.width||0))}),le||Be.attr({stroke:K.borderColor||ge.color||_e.color||"#666666"}),this.updatePosition({plotX:H,plotY:de,negative:ge.negative,ttBelow:ge.ttBelow,h:Me[2]||0})}else{this.hide();return}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}L(this,"refresh")}renderSplit(U,ie){var ot;let ae=this,{chart:K,chart:{chartWidth:pe,chartHeight:xe,plotHeight:se,plotLeft:ge,plotTop:Se,scrollablePixelsY:Ae=0,scrollablePixelsX:$e,styledMode:le},distance:te,options:fe,options:{positioner:Me},pointer:H}=ae,{scrollLeft:de=0,scrollTop:oe=0}=((ot=K.scrollablePlotArea)==null?void 0:ot.scrollingContainer)||{},_e=ae.outside&&typeof $e!="number"?S.documentElement.getBoundingClientRect():{left:de,right:de+pe,top:oe,bottom:oe+xe},ce=ae.getLabel(),Oe=this.renderer||K.renderer,Be=!!(K.xAxis[0]&&K.xAxis[0].opposite),{left:Re,top:He}=H.getChartPosition(),ct=Se+oe,at=0,ke=se-Ae;function Te(ft,pt,Ke,mt,wt=!0){let Pt,kt;return Ke?(Pt=Be?0:ke,kt=I(ft-mt/2,_e.left,_e.right-mt-(ae.outside?Re:0))):(Pt=pt-ct,kt=I(kt=wt?ft-mt-te:ft+te,wt?kt:_e.left,_e.right)),{x:kt,y:Pt}}ne(U)&&(U=[!1,U]);let Le=U.slice(0,ie.length+1).reduce(function(ft,pt,Ke){if(pt!==!1&&pt!==""){let mt=ie[Ke-1]||{isHeader:!0,plotX:ie[0].plotX,plotY:se,series:{}},wt=mt.isHeader,Pt=wt?ae:mt.series,kt=Pt.tt=function(An,Ue,Ce){let be=An,{isHeader:Pe,series:Ge}=Ue;if(!be){let nt={padding:fe.padding,r:fe.borderRadius};le||(nt.fill=fe.backgroundColor,nt["stroke-width"]=fe.borderWidth??1),be=Oe.label("",0,0,fe[Pe?"headerShape":"shape"],void 0,void 0,fe.useHTML).addClass(ae.getClassName(Ue,!0,Pe)).attr(nt).add(ce)}return be.isActive=!0,be.attr({text:Ce}),le||be.css(fe.style).attr({stroke:fe.borderColor||Ue.color||Ge.color||"#333333"}),be}(Pt.tt,mt,pt.toString()),bt=kt.getBBox(),Zt=bt.width+kt.strokeWidth();wt&&(at=bt.height,ke+=at,Be&&(ct-=at));let{anchorX:Dt,anchorY:fn}=function(An){let Ue,Ce,{isHeader:be,plotX:Pe=0,plotY:Ge=0,series:nt}=An;if(be)Ue=Math.max(ge+Pe,ge),Ce=Se+se/2;else{let{xAxis:lt,yAxis:ht}=nt;Ue=lt.pos+I(Pe,-te,lt.len+te),nt.shouldShowTooltip(0,ht.pos-Se+Ge,{ignoreX:!0})&&(Ce=ht.pos+Ge)}return{anchorX:Ue=I(Ue,_e.left-te,_e.right+te),anchorY:Ce}}(mt);if(typeof fn=="number"){let An=bt.height+1,Ue=Me?Me.call(ae,Zt,An,mt):Te(Dt,fn,wt,Zt);ft.push({align:Me?0:void 0,anchorX:Dt,anchorY:fn,boxWidth:Zt,point:mt,rank:$(Ue.rank,wt?1:0),size:An,target:Ue.y,tt:kt,x:Ue.x})}else kt.isActive=!1}return ft},[]);!Me&&Le.some(ft=>{let{outside:pt}=ae,Ke=(pt?Re:0)+ft.anchorX;return Ke<_e.left&&Ke+ft.boxWidth<_e.right||Ke<Re-_e.left+ft.boxWidth&&_e.right-Ke>Ke})&&(Le=Le.map(ft=>{let{x:pt,y:Ke}=Te(ft.anchorX,ft.anchorY,ft.point.isHeader,ft.boxWidth,!1);return k(ft,{target:Ke,x:pt})})),ae.cleanSplit(),M(Le,ke);let ze={left:Re,right:Re};Le.forEach(function(ft){let{x:pt,boxWidth:Ke,isHeader:mt}=ft;!mt&&(ae.outside&&Re+pt<ze.left&&(ze.left=Re+pt),!mt&&ae.outside&&ze.left+Ke>ze.right&&(ze.right=Re+pt))}),Le.forEach(function(ft){let{x:pt,anchorX:Ke,anchorY:mt,pos:wt,point:{isHeader:Pt}}=ft,kt={visibility:wt===void 0?"hidden":"inherit",x:pt,y:(wt||0)+ct,anchorX:Ke,anchorY:mt};if(ae.outside&&pt<Ke){let bt=Re-ze.left;bt>0&&(Pt||(kt.x=pt+bt,kt.anchorX=Ke+bt),Pt&&(kt.x=(ze.right-ze.left)/2,kt.anchorX=Ke+bt))}ft.tt.attr(kt)});let{container:Qe,outside:Ve,renderer:it}=ae;if(Ve&&Qe&&it){let{width:ft,height:pt,x:Ke,y:mt}=ce.getBBox();it.setSize(ft+Ke,pt+mt,!1),Qe.style.left=ze.left+"px",Qe.style.top=He+"px"}C&&ce.attr({opacity:ce.opacity===1?.999:1})}drawTracker(){if(!this.shouldStickOnContact()){this.tracker&&(this.tracker=this.tracker.destroy());return}let U=this.chart,ie=this.label,ae=this.shared?U.hoverPoints:U.hoverPoint;if(!ie||!ae)return;let K={x:0,y:0,width:0,height:0},pe=this.getAnchor(ae),xe=ie.getBBox();pe[0]+=U.plotLeft-(ie.translateX||0),pe[1]+=U.plotTop-(ie.translateY||0),K.x=Math.min(0,pe[0]),K.y=Math.min(0,pe[1]),K.width=pe[0]<0?Math.max(Math.abs(pe[0]),xe.width-pe[0]):Math.max(Math.abs(pe[0]),xe.width),K.height=pe[1]<0?Math.max(Math.abs(pe[1]),xe.height-Math.abs(pe[1])):Math.max(Math.abs(pe[1]),xe.height),this.tracker?this.tracker.attr(K):(this.tracker=ie.renderer.rect(K).addClass("highcharts-tracker").add(ie),U.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}styledModeFormat(U){return U.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(U,ie){let ae=U.series,K=ae.tooltipOptions,pe=ae.xAxis,xe=pe&&pe.dateTime,se={isFooter:ie,labelConfig:U},ge=K.xDateFormat,Se=K[ie?"footerFormat":"headerFormat"];return L(this,"headerFormatter",se,function(Ae){xe&&!ge&&q(U.key)&&(ge=xe.getXDateFormat(U.key,K.dateTimeLabelFormats)),xe&&ge&&(U.point&&U.point.tooltipDateKeys||["key"]).forEach(function($e){Se=Se.replace("{point."+$e+"}","{point."+$e+":"+ge+"}")}),ae.chart.styledMode&&(Se=this.styledModeFormat(Se)),Ae.text=b(Se,{point:U,series:ae},this.chart)}),se.text}update(U){this.destroy(),this.init(this.chart,re(!0,this.options,U))}updatePosition(U){let{chart:ie,container:ae,distance:K,options:pe,pointer:xe,renderer:se}=this,{height:ge=0,width:Se=0}=this.getLabel(),{left:Ae,top:$e,scaleX:le,scaleY:te}=xe.getChartPosition(),fe=(pe.positioner||this.getPosition).call(this,Se,ge,U),Me=(U.plotX||0)+ie.plotLeft,H=(U.plotY||0)+ie.plotTop,de;se&&ae&&(pe.positioner&&(fe.x+=Ae-K,fe.y+=$e-K),de=(pe.borderWidth||0)+2*K+2,se.setSize(Se+de,ge+de,!1),(le!==1||te!==1)&&(D(ae,{transform:`scale(${le}, ${te})`}),Me*=le,H*=te),Me+=Ae-fe.x,H+=$e-fe.y),this.move(Math.round(fe.x),Math.round(fe.y||0),Me,H)}}return(y=R).compose=function(Z){Y(w,"Core.Tooltip")&&O(Z,"afterInit",function(){let U=this.chart;U.options.tooltip&&(U.tooltip=new y(U,U.options.tooltip,this))})},R}),r(n,"Core/Series/Point.js",[n["Core/Renderer/HTML/AST.js"],n["Core/Animation/AnimationUtilities.js"],n["Core/Defaults.js"],n["Core/Templating.js"],n["Core/Utilities.js"]],function(i,s,c,a,d){let{animObject:p}=s,{defaultOptions:y}=c,{format:g}=a,{addEvent:b,crisp:w,erase:S,extend:C,fireEvent:M,getNestedProperty:O,isArray:I,isFunction:D,isNumber:N,isObject:k,merge:L,pick:B,syncTimeout:q,removeEvent:ne,uniqueKey:re}=d;class ${animateBeforeDestroy(){let G=this,j={x:G.startXPos,opacity:0},R=G.getGraphicalProps();R.singular.forEach(function(Z){G[Z]=G[Z].animate(Z==="dataLabel"?{x:G[Z].startXPos,y:G[Z].startYPos,opacity:0}:j)}),R.plural.forEach(function(Z){G[Z].forEach(function(U){U.element&&U.animate(C({x:G.startXPos},U.startYPos?{x:U.startXPos,y:U.startYPos}:{}))})})}applyOptions(G,j){let R=this.series,Z=R.options.pointValKey||R.pointValKey;return C(this,G=$.prototype.optionsToObject.call(this,G)),this.options=this.options?C(this.options,G):G,G.group&&delete this.group,G.dataLabels&&delete this.dataLabels,Z&&(this.y=$.prototype.getNestedProperty.call(this,Z)),this.selected&&(this.state="select"),"name"in this&&j===void 0&&R.xAxis&&R.xAxis.hasNames&&(this.x=R.xAxis.nameToX(this)),this.x===void 0&&R?this.x=j??R.autoIncrement():N(G.x)&&R.options.relativeXValue&&(this.x=R.autoIncrement(G.x)),this.isNull=this.isValid&&!this.isValid(),this.formatPrefix=this.isNull?"null":"point",this}destroy(){if(!this.destroyed){let G=this,j=G.series,R=j.chart,Z=j.options.dataSorting,U=R.hoverPoints,ie=p(G.series.chart.renderer.globalAnimation),ae=()=>{for(let K in(G.graphic||G.graphics||G.dataLabel||G.dataLabels)&&(ne(G),G.destroyElements()),G)delete G[K]};G.legendItem&&R.legend.destroyItem(G),U&&(G.setState(),S(U,G),U.length||(R.hoverPoints=null)),G===R.hoverPoint&&G.onMouseOut(),Z&&Z.enabled?(this.animateBeforeDestroy(),q(ae,ie.duration)):ae(),R.pointCount--}this.destroyed=!0}destroyElements(G){let j=this,R=j.getGraphicalProps(G);R.singular.forEach(function(Z){j[Z]=j[Z].destroy()}),R.plural.forEach(function(Z){j[Z].forEach(function(U){U&&U.element&&U.destroy()}),delete j[Z]})}firePointEvent(G,j,R){let Z=this,U=this.series.options;Z.manageEvent(G),G==="click"&&U.allowPointSelect&&(R=function(ie){!Z.destroyed&&Z.select&&Z.select(null,ie.ctrlKey||ie.metaKey||ie.shiftKey)}),M(Z,G,j,R)}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(G){let j,R,Z=this,U=[],ie={singular:[],plural:[]};for((G=G||{graphic:1,dataLabel:1}).graphic&&U.push("graphic","connector"),G.dataLabel&&U.push("dataLabel","dataLabelPath","dataLabelUpper"),R=U.length;R--;)Z[j=U[R]]&&ie.singular.push(j);return["graphic","dataLabel"].forEach(function(ae){let K=ae+"s";G[ae]&&Z[K]&&ie.plural.push(K)}),ie}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(G){return G?G.indexOf("custom.")===0?O(G,this.options):this[G]:void 0}getZone(){let G=this.series,j=G.zones,R=G.zoneAxis||"y",Z,U=0;for(Z=j[0];this[R]>=Z.value;)Z=j[++U];return this.nonZonedColor||(this.nonZonedColor=this.color),Z&&Z.color&&!this.options.color?this.color=Z.color:this.color=this.nonZonedColor,Z}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}constructor(G,j,R){this.formatPrefix="point",this.visible=!0,this.series=G,this.applyOptions(j,R),this.id??(this.id=re()),this.resolveColor(),G.chart.pointCount++,M(this,"afterInit")}isValid(){return(N(this.x)||this.x instanceof Date)&&N(this.y)}optionsToObject(G){let j=this.series,R=j.options.keys,Z=R||j.pointArrayMap||["y"],U=Z.length,ie={},ae,K=0,pe=0;if(N(G)||G===null)ie[Z[0]]=G;else if(I(G))for(!R&&G.length>U&&((ae=typeof G[0])=="string"?ie.name=G[0]:ae==="number"&&(ie.x=G[0]),K++);pe<U;)R&&G[K]===void 0||(Z[pe].indexOf(".")>0?$.prototype.setNestedProperty(ie,G[K],Z[pe]):ie[Z[pe]]=G[K]),K++,pe++;else typeof G=="object"&&(ie=G,G.dataLabels&&(j.hasDataLabels=()=>!0),G.marker&&(j._hasPointMarkers=!0));return ie}pos(G,j=this.plotY){if(!this.destroyed){let{plotX:R,series:Z}=this,{chart:U,xAxis:ie,yAxis:ae}=Z,K=0,pe=0;if(N(R)&&N(j))return G&&(K=ie?ie.pos:U.plotLeft,pe=ae?ae.pos:U.plotTop),U.inverted&&ie&&ae?[ae.len-j+pe,ie.len-R+K]:[R+K,j+pe]}}resolveColor(){let G=this.series,j=G.chart.options.chart,R=G.chart.styledMode,Z,U,ie=j.colorCount,ae;delete this.nonZonedColor,G.options.colorByPoint?(R||(Z=(U=G.options.colors||G.chart.options.colors)[G.colorCounter],ie=U.length),ae=G.colorCounter,G.colorCounter++,G.colorCounter===ie&&(G.colorCounter=0)):(R||(Z=G.color),ae=G.colorIndex),this.colorIndex=B(this.options.colorIndex,ae),this.color=B(this.options.color,Z)}setNestedProperty(G,j,R){return R.split(".").reduce(function(Z,U,ie,ae){let K=ae.length-1===ie;return Z[U]=K?j:k(Z[U],!0)?Z[U]:{},Z[U]},G),G}shouldDraw(){return!this.isNull}tooltipFormatter(G){let j=this.series,R=j.tooltipOptions,Z=B(R.valueDecimals,""),U=R.valuePrefix||"",ie=R.valueSuffix||"";return j.chart.styledMode&&(G=j.chart.tooltip.styledModeFormat(G)),(j.pointArrayMap||["y"]).forEach(function(ae){ae="{point."+ae,(U||ie)&&(G=G.replace(RegExp(ae+"}","g"),U+ae+"}"+ie)),G=G.replace(RegExp(ae+"}","g"),ae+":,."+Z+"f}")}),g(G,{point:this,series:this.series},j.chart)}update(G,j,R,Z){let U,ie=this,ae=ie.series,K=ie.graphic,pe=ae.chart,xe=ae.options;function se(){ie.applyOptions(G);let ge=K&&ie.hasMockGraphic,Se=ie.y===null?!ge:ge;K&&Se&&(ie.graphic=K.destroy(),delete ie.hasMockGraphic),k(G,!0)&&(K&&K.element&&G&&G.marker&&G.marker.symbol!==void 0&&(ie.graphic=K.destroy()),G!=null&&G.dataLabels&&ie.dataLabel&&(ie.dataLabel=ie.dataLabel.destroy())),U=ie.index,ae.updateParallelArrays(ie,U),xe.data[U]=k(xe.data[U],!0)||k(G,!0)?ie.options:B(G,xe.data[U]),ae.isDirty=ae.isDirtyData=!0,!ae.fixedBox&&ae.hasCartesianSeries&&(pe.isDirtyBox=!0),xe.legendType==="point"&&(pe.isDirtyLegend=!0),j&&pe.redraw(R)}j=B(j,!0),Z===!1?se():ie.firePointEvent("update",{options:G},se)}remove(G,j){this.series.removePoint(this.series.data.indexOf(this),G,j)}select(G,j){let R=this,Z=R.series,U=Z.chart;G=B(G,!R.selected),this.selectedStaging=G,R.firePointEvent(G?"select":"unselect",{accumulate:j},function(){R.selected=R.options.selected=G,Z.options.data[Z.data.indexOf(R)]=R.options,R.setState(G&&"select"),j||U.getSelectedPoints().forEach(function(ie){let ae=ie.series;ie.selected&&ie!==R&&(ie.selected=ie.options.selected=!1,ae.options.data[ae.data.indexOf(ie)]=ie.options,ie.setState(U.hoverPoints&&ae.options.inactiveOtherPoints?"inactive":""),ie.firePointEvent("unselect"))})}),delete this.selectedStaging}onMouseOver(G){let{inverted:j,pointer:R}=this.series.chart;R&&(G=G?R.normalize(G):R.getChartCoordinatesFromPoint(this,j),R.runPointActions(G,this))}onMouseOut(){let G=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(G.hoverPoints||[]).forEach(function(j){j.setState()}),G.hoverPoints=G.hoverPoint=null}manageEvent(G){var Z,U,ie,ae,K,pe;let j=L(this.series.options.point,this.options),R=(Z=j.events)==null?void 0:Z[G];D(R)&&(!((U=this.hcEvents)!=null&&U[G])||((ae=(ie=this.hcEvents)==null?void 0:ie[G])==null?void 0:ae.map(xe=>xe.fn).indexOf(R))===-1)?((K=this.importedUserEvent)==null||K.call(this),this.importedUserEvent=b(this,G,R)):this.importedUserEvent&&!R&&((pe=this.hcEvents)!=null&&pe[G])&&(ne(this,G),delete this.hcEvents[G],Object.keys(this.hcEvents)||delete this.importedUserEvent)}setState(G,j){var oe;let R=this.series,Z=this.state,U=R.options.states[G||"normal"]||{},ie=y.plotOptions[R.type].marker&&R.options.marker,ae=ie&&ie.enabled===!1,K=ie&&ie.states&&ie.states[G||"normal"]||{},pe=K.enabled===!1,xe=this.marker||{},se=R.chart,ge=ie&&R.markerAttribs,Se=R.halo,Ae,$e,le,te=R.stateMarkerGraphic,fe;if((G=G||"")===this.state&&!j||this.selected&&G!=="select"||U.enabled===!1||G&&(pe||ae&&K.enabled===!1)||G&&xe.states&&xe.states[G]&&xe.states[G].enabled===!1)return;if(this.state=G,ge&&(Ae=R.markerAttribs(this,G)),this.graphic&&!this.hasMockGraphic){if(Z&&this.graphic.removeClass("highcharts-point-"+Z),G&&this.graphic.addClass("highcharts-point-"+G),!se.styledMode){$e=R.pointAttribs(this,G),le=B(se.options.chart.animation,U.animation);let _e=$e.opacity;R.options.inactiveOtherPoints&&N(_e)&&(this.dataLabels||[]).forEach(function(ce){ce&&!ce.hasClass("highcharts-data-label-hidden")&&(ce.animate({opacity:_e},le),ce.connector&&ce.connector.animate({opacity:_e},le))}),this.graphic.animate($e,le)}Ae&&this.graphic.animate(Ae,B(se.options.chart.animation,K.animation,ie.animation)),te&&te.hide()}else G&&K&&(fe=xe.symbol||R.symbol,te&&te.currentSymbol!==fe&&(te=te.destroy()),Ae&&(te?te[j?"animate":"attr"]({x:Ae.x,y:Ae.y}):fe&&(R.stateMarkerGraphic=te=se.renderer.symbol(fe,Ae.x,Ae.y,Ae.width,Ae.height).add(R.markerGroup),te.currentSymbol=fe)),!se.styledMode&&te&&this.state!=="inactive"&&te.attr(R.pointAttribs(this,G))),te&&(te[G&&this.isInside?"show":"hide"](),te.element.point=this,te.addClass(this.getClassName(),!0));let Me=U.halo,H=this.graphic||te,de=H&&H.visibility||"inherit";Me&&Me.size&&H&&de!=="hidden"&&!this.isCluster?(Se||(R.halo=Se=se.renderer.path().add(H.parentGroup)),Se.show()[j?"animate":"attr"]({d:this.haloPath(Me.size)}),Se.attr({class:"highcharts-halo highcharts-color-"+B(this.colorIndex,R.colorIndex)+(this.className?" "+this.className:""),visibility:de,zIndex:-1}),Se.point=this,se.styledMode||Se.attr(C({fill:this.color||R.color,"fill-opacity":Me.opacity},i.filterUserAttributes(Me.attributes||{})))):(oe=Se==null?void 0:Se.point)!=null&&oe.haloPath&&!Se.point.destroyed&&Se.animate({d:Se.point.haloPath(0)},null,Se.hide),M(this,"afterSetState",{state:G})}haloPath(G){let j=this.pos();return j?this.series.chart.renderer.symbols.circle(w(j[0],1)-G,j[1]-G,2*G,2*G):[]}}return $}),r(n,"Core/Pointer.js",[n["Core/Color/Color.js"],n["Core/Globals.js"],n["Core/Utilities.js"]],function(i,s,c){var a;let{parse:d}=i,{charts:p,composed:y,isTouchDevice:g}=s,{addEvent:b,attr:w,css:S,extend:C,find:M,fireEvent:O,isNumber:I,isObject:D,objectEach:N,offset:k,pick:L,pushUnique:B,splat:q}=c;class ne{applyInactiveState($){let Y=[],G;($||[]).forEach(function(j){G=j.series,Y.push(G),G.linkedParent&&Y.push(G.linkedParent),G.linkedSeries&&(Y=Y.concat(G.linkedSeries)),G.navigatorSeries&&Y.push(G.navigatorSeries)}),this.chart.series.forEach(function(j){Y.indexOf(j)===-1?j.setState("inactive",!0):j.options.inactiveOtherPoints&&j.setAllPointsToState("inactive")})}destroy(){let $=this;this.eventsToUnbind.forEach(Y=>Y()),this.eventsToUnbind=[],!s.chartCount&&(ne.unbindDocumentMouseUp&&ne.unbindDocumentMouseUp.forEach(Y=>Y()),ne.unbindDocumentTouchEnd&&(ne.unbindDocumentTouchEnd=ne.unbindDocumentTouchEnd())),clearInterval($.tooltipTimeout),N($,function(Y,G){$[G]=void 0})}getSelectionMarkerAttrs($,Y){let G={args:{chartX:$,chartY:Y},attrs:{},shapeType:"rect"};return O(this,"getSelectionMarkerAttrs",G,j=>{let R,{chart:Z,zoomHor:U,zoomVert:ie}=this,{mouseDownX:ae=0,mouseDownY:K=0}=Z,pe=j.attrs;pe.x=Z.plotLeft,pe.y=Z.plotTop,pe.width=U?1:Z.plotWidth,pe.height=ie?1:Z.plotHeight,U&&(R=$-ae,pe.width=Math.max(1,Math.abs(R)),pe.x=(R>0?0:R)+ae),ie&&(R=Y-K,pe.height=Math.max(1,Math.abs(R)),pe.y=(R>0?0:R)+K)}),G}drag($){let{chart:Y}=this,{mouseDownX:G=0,mouseDownY:j=0}=Y,{panning:R,panKey:Z,selectionMarkerFill:U}=Y.options.chart,ie=Y.plotLeft,ae=Y.plotTop,K=Y.plotWidth,pe=Y.plotHeight,xe=D(R)?R.enabled:R,se=Z&&$[`${Z}Key`],ge=$.chartX,Se=$.chartY,Ae,$e=this.selectionMarker;if((!$e||!$e.touch)&&(ge<ie?ge=ie:ge>ie+K&&(ge=ie+K),Se<ae?Se=ae:Se>ae+pe&&(Se=ae+pe),this.hasDragged=Math.sqrt(Math.pow(G-ge,2)+Math.pow(j-Se,2)),this.hasDragged>10)){Ae=Y.isInsidePlot(G-ie,j-ae,{visiblePlotOnly:!0});let{shapeType:le,attrs:te}=this.getSelectionMarkerAttrs(ge,Se);(Y.hasCartesianSeries||Y.mapView)&&this.hasZoom&&Ae&&!se&&!$e&&(this.selectionMarker=$e=Y.renderer[le](),$e.attr({class:"highcharts-selection-marker",zIndex:7}).add(),Y.styledMode||$e.attr({fill:U||d("#334eff").setOpacity(.25).get()})),$e&&$e.attr(te),Ae&&!$e&&xe&&Y.pan($,R)}}dragStart($){let Y=this.chart;Y.mouseIsDown=$.type,Y.cancelClick=!1,Y.mouseDownX=$.chartX,Y.mouseDownY=$.chartY}getSelectionBox($){let Y={args:{marker:$},result:$.getBBox()};return O(this,"getSelectionBox",Y),Y.result}drop($){let Y,{chart:G,selectionMarker:j}=this;for(let R of G.axes)R.isPanning&&(R.isPanning=!1,(R.options.startOnTick||R.options.endOnTick||R.series.some(Z=>Z.boosted))&&(R.forceRedraw=!0,R.setExtremes(R.userMin,R.userMax,!1),Y=!0));if(Y&&G.redraw(),j&&$){if(this.hasDragged){let R=this.getSelectionBox(j);G.transform({axes:G.axes.filter(Z=>Z.zoomEnabled&&(Z.coll==="xAxis"&&this.zoomX||Z.coll==="yAxis"&&this.zoomY)),selection:{originalEvent:$,xAxis:[],yAxis:[],...R},from:R})}I(G.index)&&(this.selectionMarker=j.destroy())}G&&I(G.index)&&(S(G.container,{cursor:G._cursor}),G.cancelClick=this.hasDragged>10,G.mouseIsDown=!1,this.hasDragged=0,this.pinchDown=[])}findNearestKDPoint($,Y,G){let j;return $.forEach(function(R){let Z=!(R.noSharedTooltip&&Y)&&0>R.options.findNearestPointBy.indexOf("y"),U=R.searchPoint(G,Z);D(U,!0)&&U.series&&(!D(j,!0)||function(ie,ae){var se,ge;let K=ie.distX-ae.distX,pe=ie.dist-ae.dist,xe=((se=ae.series.group)==null?void 0:se.zIndex)-((ge=ie.series.group)==null?void 0:ge.zIndex);return K!==0&&Y?K:pe!==0?pe:xe!==0?xe:ie.series.index>ae.series.index?-1:1}(j,U)>0)&&(j=U)}),j}getChartCoordinatesFromPoint($,Y){let{xAxis:G,yAxis:j}=$.series,R=$.shapeArgs;if(G&&j){let Z=$.clientX??$.plotX??0,U=$.plotY||0;return $.isNode&&R&&I(R.x)&&I(R.y)&&(Z=R.x,U=R.y),Y?{chartX:j.len+j.pos-U,chartY:G.len+G.pos-Z}:{chartX:Z+G.pos,chartY:U+j.pos}}if(R&&R.x&&R.y)return{chartX:R.x,chartY:R.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;let{container:$}=this.chart,Y=k($);this.chartPosition={left:Y.left,top:Y.top,scaleX:1,scaleY:1};let{offsetHeight:G,offsetWidth:j}=$;return j>2&&G>2&&(this.chartPosition.scaleX=Y.width/j,this.chartPosition.scaleY=Y.height/G),this.chartPosition}getCoordinates($){let Y={xAxis:[],yAxis:[]};for(let G of this.chart.axes)Y[G.isXAxis?"xAxis":"yAxis"].push({axis:G,value:G.toValue($[G.horiz?"chartX":"chartY"])});return Y}getHoverData($,Y,G,j,R,Z){let U=[],ie=function(se){return se.visible&&!(!R&&se.directTouch)&&L(se.options.enableMouseTracking,!0)},ae=Y,K,pe={chartX:Z?Z.chartX:void 0,chartY:Z?Z.chartY:void 0,shared:R};O(this,"beforeGetHoverData",pe),K=ae&&!ae.stickyTracking?[ae]:G.filter(se=>se.stickyTracking&&(pe.filter||ie)(se));let xe=j&&$||!Z?$:this.findNearestKDPoint(K,R,Z);return ae=xe&&xe.series,xe&&(R&&!ae.noSharedTooltip?(K=G.filter(function(se){return pe.filter?pe.filter(se):ie(se)&&!se.noSharedTooltip})).forEach(function(se){let ge=M(se.points,function(Se){return Se.x===xe.x&&!Se.isNull});D(ge)&&(se.boosted&&se.boost&&(ge=se.boost.getPoint(ge)),U.push(ge))}):U.push(xe)),O(this,"afterGetHoverData",pe={hoverPoint:xe}),{hoverPoint:pe.hoverPoint,hoverSeries:ae,hoverPoints:U}}getPointFromEvent($){let Y=$.target,G;for(;Y&&!G;)G=Y.point,Y=Y.parentNode;return G}onTrackerMouseOut($){let Y=this.chart,G=$.relatedTarget,j=Y.hoverSeries;this.isDirectTouch=!1,!j||!G||j.stickyTracking||this.inClass(G,"highcharts-tooltip")||this.inClass(G,"highcharts-series-"+j.index)&&this.inClass(G,"highcharts-tracker")||j.onMouseOut()}inClass($,Y){let G=$,j;for(;G;){if(j=w(G,"class")){if(j.indexOf(Y)!==-1)return!0;if(j.indexOf("highcharts-container")!==-1)return!1}G=G.parentElement}}constructor($,Y){var G;this.hasDragged=0,this.pointerCaptureEventsToUnbind=[],this.eventsToUnbind=[],this.options=Y,this.chart=$,this.runChartClick=!!((G=Y.chart.events)!=null&&G.click),this.pinchDown=[],this.setDOMEvents(),O(this,"afterInit")}normalize($,Y){let G=$.touches,j=G?G.length?G.item(0):L(G.changedTouches,$.changedTouches)[0]:$;Y||(Y=this.getChartPosition());let R=j.pageX-Y.left,Z=j.pageY-Y.top;return C($,{chartX:Math.round(R/=Y.scaleX),chartY:Math.round(Z/=Y.scaleY)})}onContainerClick($){let Y=this.chart,G=Y.hoverPoint,j=this.normalize($),R=Y.plotLeft,Z=Y.plotTop;!Y.cancelClick&&(G&&this.inClass(j.target,"highcharts-tracker")?(O(G.series,"click",C(j,{point:G})),Y.hoverPoint&&G.firePointEvent("click",j)):(C(j,this.getCoordinates(j)),Y.isInsidePlot(j.chartX-R,j.chartY-Z,{visiblePlotOnly:!0})&&O(Y,"click",j)))}onContainerMouseDown($){var G;let Y=(1&($.buttons||$.button))==1;$=this.normalize($),s.isFirefox&&$.button!==0&&this.onContainerMouseMove($),($.button===void 0||Y)&&(this.zoomOption($),Y&&((G=$.preventDefault)==null||G.call($)),this.dragStart($))}onContainerMouseLeave($){let{pointer:Y}=p[L(ne.hoverChartIndex,-1)]||{};$=this.normalize($),this.onContainerMouseMove($),Y&&!this.inClass($.relatedTarget,"highcharts-tooltip")&&(Y.reset(),Y.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove($){let Y=this.chart,G=Y.tooltip,j=this.normalize($);this.setHoverChartIndex($),(Y.mouseIsDown==="mousedown"||this.touchSelect(j))&&this.drag(j),!Y.openMenu&&(this.inClass(j.target,"highcharts-tracker")||Y.isInsidePlot(j.chartX-Y.plotLeft,j.chartY-Y.plotTop,{visiblePlotOnly:!0}))&&!(G&&G.shouldStickOnContact(j))&&(this.inClass(j.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(j))}onDocumentTouchEnd($){this.onDocumentMouseUp($)}onContainerTouchMove($){this.touchSelect($)?this.onContainerMouseMove($):this.touch($)}onContainerTouchStart($){this.touchSelect($)?this.onContainerMouseDown($):(this.zoomOption($),this.touch($,!0))}onDocumentMouseMove($){let Y=this.chart,G=Y.tooltip,j=this.chartPosition,R=this.normalize($,j);!j||Y.isInsidePlot(R.chartX-Y.plotLeft,R.chartY-Y.plotTop,{visiblePlotOnly:!0})||G&&G.shouldStickOnContact(R)||R.target!==Y.container.ownerDocument&&this.inClass(R.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp($){var Y,G;(G=(Y=p[L(ne.hoverChartIndex,-1)])==null?void 0:Y.pointer)==null||G.drop($)}pinch($){let Y=this,{chart:G,hasZoom:j,lastTouches:R}=Y,Z=[].map.call($.touches||[],pe=>Y.normalize(pe)),U=Z.length,ie=U===1&&(Y.inClass($.target,"highcharts-tracker")&&G.runTrackerClick||Y.runChartClick),ae=G.tooltip,K=U===1&&L(ae==null?void 0:ae.options.followTouchMove,!0);U>1?Y.initiated=!0:K&&(Y.initiated=!1),j&&Y.initiated&&!ie&&$.cancelable!==!1&&$.preventDefault(),$.type==="touchstart"?(Y.pinchDown=Z,Y.res=!0,G.mouseDownX=$.chartX):K?this.runPointActions(Y.normalize($)):R&&(O(G,"touchpan",{originalEvent:$,touches:Z},()=>{let pe=xe=>{let se=xe[0],ge=xe[1]||se;return{x:se.chartX,y:se.chartY,width:ge.chartX-se.chartX,height:ge.chartY-se.chartY}};G.transform({axes:G.axes.filter(xe=>xe.zoomEnabled&&(this.zoomHor&&xe.horiz||this.zoomVert&&!xe.horiz)),to:pe(Z),from:pe(R),trigger:$.type})}),Y.res&&(Y.res=!1,this.reset(!1,0))),Y.lastTouches=Z}reset($,Y){let G=this.chart,j=G.hoverSeries,R=G.hoverPoint,Z=G.hoverPoints,U=G.tooltip,ie=U&&U.shared?Z:R;$&&ie&&q(ie).forEach(function(ae){ae.series.isCartesian&&ae.plotX===void 0&&($=!1)}),$?U&&ie&&q(ie).length&&(U.refresh(ie),U.shared&&Z?Z.forEach(function(ae){ae.setState(ae.state,!0),ae.series.isCartesian&&(ae.series.xAxis.crosshair&&ae.series.xAxis.drawCrosshair(null,ae),ae.series.yAxis.crosshair&&ae.series.yAxis.drawCrosshair(null,ae))}):R&&(R.setState(R.state,!0),G.axes.forEach(function(ae){ae.crosshair&&R.series[ae.coll]===ae&&ae.drawCrosshair(null,R)}))):(R&&R.onMouseOut(),Z&&Z.forEach(function(ae){ae.setState()}),j&&j.onMouseOut(),U&&U.hide(Y),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),G.axes.forEach(function(ae){ae.hideCrosshair()}),G.hoverPoints=G.hoverPoint=void 0)}runPointActions($,Y,G){let j=this.chart,R=j.series,Z=j.tooltip&&j.tooltip.options.enabled?j.tooltip:void 0,U=!!Z&&Z.shared,ie=Y||j.hoverPoint,ae=ie&&ie.series||j.hoverSeries,K=(!$||$.type!=="touchmove")&&(!!Y||ae&&ae.directTouch&&this.isDirectTouch),pe=this.getHoverData(ie,ae,R,K,U,$);ie=pe.hoverPoint,ae=pe.hoverSeries;let xe=pe.hoverPoints,se=ae&&ae.tooltipOptions.followPointer&&!ae.tooltipOptions.split,ge=U&&ae&&!ae.noSharedTooltip;if(ie&&(G||ie!==j.hoverPoint||Z&&Z.isHidden)){if((j.hoverPoints||[]).forEach(function(Se){xe.indexOf(Se)===-1&&Se.setState()}),j.hoverSeries!==ae&&ae.onMouseOver(),this.applyInactiveState(xe),(xe||[]).forEach(function(Se){Se.setState("hover")}),j.hoverPoint&&j.hoverPoint.firePointEvent("mouseOut"),!ie.series)return;j.hoverPoints=xe,j.hoverPoint=ie,ie.firePointEvent("mouseOver",void 0,()=>{Z&&ie&&Z.refresh(ge?xe:ie,$)})}else if(se&&Z&&!Z.isHidden){let Se=Z.getAnchor([{}],$);j.isInsidePlot(Se[0],Se[1],{visiblePlotOnly:!0})&&Z.updatePosition({plotX:Se[0],plotY:Se[1]})}this.unDocMouseMove||(this.unDocMouseMove=b(j.container.ownerDocument,"mousemove",Se=>{var Ae,$e;return($e=(Ae=p[ne.hoverChartIndex??-1])==null?void 0:Ae.pointer)==null?void 0:$e.onDocumentMouseMove(Se)}),this.eventsToUnbind.push(this.unDocMouseMove)),j.axes.forEach(function(Se){let Ae,$e=L((Se.crosshair||{}).snap,!0);!$e||(Ae=j.hoverPoint)&&Ae.series[Se.coll]===Se||(Ae=M(xe,le=>le.series&&le.series[Se.coll]===Se)),Ae||!$e?Se.drawCrosshair($,Ae):Se.hideCrosshair()})}setDOMEvents(){let $=this.chart.container,Y=$.ownerDocument;$.onmousedown=this.onContainerMouseDown.bind(this),$.onmousemove=this.onContainerMouseMove.bind(this),$.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(b($,"mouseenter",this.onContainerMouseEnter.bind(this)),b($,"mouseleave",this.onContainerMouseLeave.bind(this))),ne.unbindDocumentMouseUp||(ne.unbindDocumentMouseUp=[]),ne.unbindDocumentMouseUp.push(b(Y,"mouseup",this.onDocumentMouseUp.bind(this)));let G=this.chart.renderTo.parentElement;for(;G&&G.tagName!=="BODY";)this.eventsToUnbind.push(b(G,"scroll",()=>{delete this.chartPosition})),G=G.parentElement;this.eventsToUnbind.push(b($,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),b($,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),ne.unbindDocumentTouchEnd||(ne.unbindDocumentTouchEnd=b(Y,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})),this.setPointerCapture(),b(this.chart,"redraw",this.setPointerCapture.bind(this))}setPointerCapture(){var R,Z;if(!g)return;let $=this.pointerCaptureEventsToUnbind,Y=this.chart,G=Y.container,j=L((R=Y.options.tooltip)==null?void 0:R.followTouchMove,!0)&&Y.series.some(U=>U.options.findNearestPointBy.indexOf("y")>-1);!this.hasPointerCapture&&j?($.push(b(G,"pointerdown",U=>{var ie,ae;(ie=U.target)!=null&&ie.hasPointerCapture(U.pointerId)&&((ae=U.target)==null||ae.releasePointerCapture(U.pointerId))}),b(G,"pointermove",U=>{var ie,ae;(ae=(ie=Y.pointer)==null?void 0:ie.getPointFromEvent(U))==null||ae.onMouseOver(U)})),Y.styledMode||S(G,{"touch-action":"none"}),G.className+=" highcharts-no-touch-action",this.hasPointerCapture=!0):this.hasPointerCapture&&!j&&($.forEach(U=>U()),$.length=0,Y.styledMode||S(G,{"touch-action":L((Z=Y.options.chart.style)==null?void 0:Z["touch-action"],"manipulation")}),G.className=G.className.replace(" highcharts-no-touch-action",""),this.hasPointerCapture=!1)}setHoverChartIndex($){var j;let Y=this.chart,G=s.charts[L(ne.hoverChartIndex,-1)];if(G&&G!==Y){let R={relatedTarget:Y.container};$&&!($!=null&&$.relatedTarget)&&($={...R,...$}),(j=G.pointer)==null||j.onContainerMouseLeave($||R)}G&&G.mouseIsDown||(ne.hoverChartIndex=Y.index)}touch($,Y){let G,{chart:j,pinchDown:R=[]}=this;this.setHoverChartIndex(),($=this.normalize($)).touches.length===1?j.isInsidePlot($.chartX-j.plotLeft,$.chartY-j.plotTop,{visiblePlotOnly:!0})&&!j.openMenu?(Y&&this.runPointActions($),$.type==="touchmove"&&(G=!!R[0]&&Math.pow(R[0].chartX-$.chartX,2)+Math.pow(R[0].chartY-$.chartY,2)>=16),L(G,!0)&&this.pinch($)):Y&&this.reset():$.touches.length===2&&this.pinch($)}touchSelect($){return!!(this.chart.zooming.singleTouch&&$.touches&&$.touches.length===1)}zoomOption($){let Y=this.chart,G=Y.inverted,j=Y.zooming.type||"",R,Z;/touch/.test($.type)&&(j=L(Y.zooming.pinchType,j)),this.zoomX=R=/x/.test(j),this.zoomY=Z=/y/.test(j),this.zoomHor=R&&!G||Z&&G,this.zoomVert=Z&&!G||R&&G,this.hasZoom=R||Z}}return(a=ne).compose=function(re){B(y,"Core.Pointer")&&b(re,"beforeRender",function(){this.pointer=new a(this,this.options)})},ne}),r(n,"Core/Legend/LegendSymbol.js",[n["Core/Utilities.js"]],function(i){var s;let{extend:c,merge:a,pick:d}=i;return function(p){function y(g,b,w){var G,j;let S=this.legendItem=this.legendItem||{},{chart:C,options:M}=this,{baseline:O=0,symbolWidth:I,symbolHeight:D}=g,N=this.symbol||"circle",k=D/2,L=C.renderer,B=S.group,q=O-Math.round((((G=g.fontMetrics)==null?void 0:G.b)||D)*(w?.4:.3)),ne={},re,$=M.marker,Y=0;if(C.styledMode||(ne["stroke-width"]=Math.min(M.lineWidth||0,24),M.dashStyle?ne.dashstyle=M.dashStyle:M.linecap==="square"||(ne["stroke-linecap"]="round")),S.line=L.path().addClass("highcharts-graph").attr(ne).add(B),w&&(S.area=L.path().addClass("highcharts-area").add(B)),ne["stroke-linecap"]&&(Y=Math.min(S.line.strokeWidth(),I)/2),I){let R=[["M",Y,q],["L",I-Y,q]];S.line.attr({d:R}),(j=S.area)==null||j.attr({d:[...R,["L",I-Y,O],["L",Y,O]]})}if($&&$.enabled!==!1&&I){let R=Math.min(d($.radius,k),k);N.indexOf("url")===0&&($=a($,{width:D,height:D}),R=0),S.symbol=re=L.symbol(N,I/2-R,q-R,2*R,2*R,c({context:"legend"},$)).addClass("highcharts-point").add(B),re.isMarker=!0}}p.areaMarker=function(g,b){y.call(this,g,b,!0)},p.lineMarker=y,p.rectangle=function(g,b){let w=b.legendItem||{},S=g.options,C=g.symbolHeight,M=S.squareSymbol,O=M?C:g.symbolWidth;w.symbol=this.chart.renderer.rect(M?(g.symbolWidth-C)/2:0,g.baseline-C+1,O,C,d(g.options.symbolRadius,C/2)).addClass("highcharts-point").attr({zIndex:3}).add(w.group)}}(s||(s={})),s}),r(n,"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:i}=this.series.chart;return typeof this.y!="number"?"":i(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"}}),r(n,"Core/Series/SeriesRegistry.js",[n["Core/Globals.js"],n["Core/Defaults.js"],n["Core/Series/Point.js"],n["Core/Utilities.js"]],function(i,s,c,a){var d;let{defaultOptions:p}=s,{extend:y,extendClass:g,merge:b}=a;return function(w){function S(C,M){let O=p.plotOptions||{},I=M.defaultOptions,D=M.prototype;return D.type=C,D.pointClass||(D.pointClass=c),!w.seriesTypes[C]&&(I&&(O[C]=I),w.seriesTypes[C]=M,!0)}w.seriesTypes=i.seriesTypes,w.registerSeriesType=S,w.seriesType=function(C,M,O,I,D){let N=p.plotOptions||{};if(M=M||"",N[C]=b(N[M],O),delete w.seriesTypes[C],S(C,g(w.seriesTypes[M]||function(){},I)),w.seriesTypes[C].prototype.type=C,D){class k extends c{}y(k.prototype,D),w.seriesTypes[C].prototype.pointClass=k}return w.seriesTypes[C]}}(d||(d={})),d}),r(n,"Core/Series/Series.js",[n["Core/Animation/AnimationUtilities.js"],n["Core/Defaults.js"],n["Core/Foundation.js"],n["Core/Globals.js"],n["Core/Legend/LegendSymbol.js"],n["Core/Series/Point.js"],n["Core/Series/SeriesDefaults.js"],n["Core/Series/SeriesRegistry.js"],n["Core/Renderer/SVG/SVGElement.js"],n["Core/Utilities.js"]],function(i,s,c,a,d,p,y,g,b,w){let{animObject:S,setAnimation:C}=i,{defaultOptions:M}=s,{registerEventOptions:O}=c,{svg:I,win:D}=a,{seriesTypes:N}=g,{arrayMax:k,arrayMin:L,clamp:B,correctFloat:q,crisp:ne,defined:re,destroyObjectProperties:$,diffObjects:Y,erase:G,error:j,extend:R,find:Z,fireEvent:U,getClosestDistance:ie,getNestedProperty:ae,insertItem:K,isArray:pe,isNumber:xe,isString:se,merge:ge,objectEach:Se,pick:Ae,removeEvent:$e,splat:le,syncTimeout:te}=w;class fe{constructor(){this.zoneAxis="y"}init(H,de){let oe;U(this,"init",{options:de});let _e=this,ce=H.series;this.eventsToUnbind=[],_e.chart=H,_e.options=_e.setOptions(de);let Oe=_e.options,Be=Oe.visible!==!1;_e.linkedSeries=[],_e.bindAxes(),R(_e,{name:Oe.name,state:"",visible:Be,selected:Oe.selected===!0}),O(this,Oe);let Re=Oe.events;(Re&&Re.click||Oe.point&&Oe.point.events&&Oe.point.events.click||Oe.allowPointSelect)&&(H.runTrackerClick=!0),_e.getColor(),_e.getSymbol(),_e.parallelArrays.forEach(function(He){_e[He+"Data"]||(_e[He+"Data"]=[])}),_e.isCartesian&&(H.hasCartesianSeries=!0),ce.length&&(oe=ce[ce.length-1]),_e._i=Ae(oe&&oe._i,-1)+1,_e.opacity=_e.options.opacity,H.orderItems("series",K(this,ce)),Oe.dataSorting&&Oe.dataSorting.enabled?_e.setDataSortingOptions():_e.points||_e.data||_e.setData(Oe.data,!1),U(this,"afterInit")}is(H){return N[H]&&this instanceof N[H]}bindAxes(){let H,de=this,oe=de.options,_e=de.chart;U(this,"bindAxes",null,function(){(de.axisTypes||[]).forEach(function(ce){(_e[ce]||[]).forEach(function(Oe){H=Oe.options,(Ae(oe[ce],0)===Oe.index||oe[ce]!==void 0&&oe[ce]===H.id)&&(K(de,Oe.series),de[ce]=Oe,Oe.isDirty=!0)}),de[ce]||de.optionalAxis===ce||j(18,!0,_e)})}),U(this,"afterBindAxes")}updateParallelArrays(H,de,oe){let _e=H.series,ce=xe(de)?function(Oe){let Be=Oe==="y"&&_e.toYData?_e.toYData(H):H[Oe];_e[Oe+"Data"][de]=Be}:function(Oe){Array.prototype[de].apply(_e[Oe+"Data"],oe)};_e.parallelArrays.forEach(ce)}hasData(){return this.visible&&this.dataMax!==void 0&&this.dataMin!==void 0||this.visible&&this.yData&&this.yData.length>0}hasMarkerChanged(H,de){let oe=H.marker,_e=de.marker||{};return oe&&(_e.enabled&&!oe.enabled||_e.symbol!==oe.symbol||_e.height!==oe.height||_e.width!==oe.width)}autoIncrement(H){let de=this.options,oe=de.pointIntervalUnit,_e=de.relativeXValue,ce=this.chart.time,Oe=this.xIncrement,Be,Re;return Oe=Ae(Oe,de.pointStart,0),this.pointInterval=Re=Ae(this.pointInterval,de.pointInterval,1),_e&&xe(H)&&(Re*=H),oe&&(Be=new ce.Date(Oe),oe==="day"?ce.set("Date",Be,ce.get("Date",Be)+Re):oe==="month"?ce.set("Month",Be,ce.get("Month",Be)+Re):oe==="year"&&ce.set("FullYear",Be,ce.get("FullYear",Be)+Re),Re=Be.getTime()-Oe),_e&&xe(H)?Oe+Re:(this.xIncrement=Oe+Re,Oe)}setDataSortingOptions(){let H=this.options;R(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),re(H.pointRange)||(H.pointRange=1)}setOptions(H){var Qe,Ve;let de,oe=this.chart,_e=oe.options.plotOptions,ce=oe.userOptions||{},Oe=ge(H),Be=oe.styledMode,Re={plotOptions:_e,userOptions:Oe};U(this,"setOptions",Re);let He=Re.plotOptions[this.type],ct=ce.plotOptions||{},at=ct.series||{},ke=M.plotOptions[this.type]||{},Te=ct[this.type]||{};this.userOptions=Re.userOptions;let Le=ge(He,_e.series,Te,Oe);this.tooltipOptions=ge(M.tooltip,(Qe=M.plotOptions.series)==null?void 0:Qe.tooltip,ke==null?void 0:ke.tooltip,oe.userOptions.tooltip,(Ve=ct.series)==null?void 0:Ve.tooltip,Te.tooltip,Oe.tooltip),this.stickyTracking=Ae(Oe.stickyTracking,Te.stickyTracking,at.stickyTracking,!!this.tooltipOptions.shared&&!this.noSharedTooltip||Le.stickyTracking),He.marker===null&&delete Le.marker,this.zoneAxis=Le.zoneAxis||"y";let ze=this.zones=(Le.zones||[]).map(it=>({...it}));return(Le.negativeColor||Le.negativeFillColor)&&!Le.zones&&(de={value:Le[this.zoneAxis+"Threshold"]||Le.threshold||0,className:"highcharts-negative"},Be||(de.color=Le.negativeColor,de.fillColor=Le.negativeFillColor),ze.push(de)),ze.length&&re(ze[ze.length-1].value)&&ze.push(Be?{}:{color:this.color,fillColor:this.fillColor}),U(this,"afterSetOptions",{options:Le}),Le}getName(){return Ae(this.options.name,"Series "+(this.index+1))}getCyclic(H,de,oe){let _e,ce,Oe=this.chart,Be=`${H}Index`,Re=`${H}Counter`,He=(oe==null?void 0:oe.length)||Oe.options.chart.colorCount;!de&&(re(ce=Ae(H==="color"?this.options.colorIndex:void 0,this[Be]))?_e=ce:(Oe.series.length||(Oe[Re]=0),_e=Oe[Re]%He,Oe[Re]+=1),oe&&(de=oe[_e])),_e!==void 0&&(this[Be]=_e),this[H]=de}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||M.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,de){let oe,_e,ce,Oe=H.id,Be=H.x,Re=this.points,He=this.options.dataSorting;if(Oe){let ct=this.chart.get(Oe);ct instanceof p&&(oe=ct)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let ct=at=>!at.touched&&at.index===H.index;if(He&&He.matchByName?ct=at=>!at.touched&&at.name===H.name:this.options.relativeXValue&&(ct=at=>!at.touched&&at.options.x===H.x),!(oe=Z(Re,ct)))return}return oe&&(ce=oe&&oe.index)!==void 0&&(_e=!0),ce===void 0&&xe(Be)&&(ce=this.xData.indexOf(Be,de)),ce!==-1&&ce!==void 0&&this.cropped&&(ce=ce>=this.cropStart?ce-this.cropStart:ce),!_e&&xe(ce)&&Re[ce]&&Re[ce].touched&&(ce=void 0),ce}updateData(H,de){let oe=this.options,_e=oe.dataSorting,ce=this.points,Oe=[],Be=this.requireSorting,Re=H.length===ce.length,He,ct,at,ke,Te=!0;if(this.xIncrement=null,H.forEach(function(Le,ze){let Qe,Ve=re(Le)&&this.pointClass.prototype.optionsToObject.call({series:this},Le)||{},it=Ve.x;Ve.id||xe(it)?((Qe=this.findPointIndex(Ve,ke))===-1||Qe===void 0?Oe.push(Le):ce[Qe]&&Le!==oe.data[Qe]?(ce[Qe].update(Le,!1,null,!1),ce[Qe].touched=!0,Be&&(ke=Qe+1)):ce[Qe]&&(ce[Qe].touched=!0),(!Re||ze!==Qe||_e&&_e.enabled||this.hasDerivedData)&&(He=!0)):Oe.push(Le)},this),He)for(ct=ce.length;ct--;)(at=ce[ct])&&!at.touched&&at.remove&&at.remove(!1,de);else!Re||_e&&_e.enabled?Te=!1:(H.forEach(function(Le,ze){Le===ce[ze].y||ce[ze].destroyed||ce[ze].update(Le,!1,null,!1)}),Oe.length=0);return ce.forEach(function(Le){Le&&(Le.touched=!1)}),!!Te&&(Oe.forEach(function(Le){this.addPoint(Le,!1,null,null,!1)},this),this.xIncrement===null&&this.xData&&this.xData.length&&(this.xIncrement=k(this.xData),this.autoIncrement()),!0)}setData(H,de=!0,oe,_e){var Pt;let ce=this,Oe=ce.points,Be=Oe&&Oe.length||0,Re=ce.options,He=ce.chart,ct=Re.dataSorting,at=ce.xAxis,ke=Re.turboThreshold,Te=this.xData,Le=this.yData,ze=ce.pointArrayMap,Qe=ze&&ze.length,Ve=Re.keys,it,ot,ft,pt=0,Ke=1,mt;He.options.chart.allowMutatingData||(Re.data&&delete ce.options.data,ce.userOptions.data&&delete ce.userOptions.data,mt=ge(!0,H));let wt=(H=mt||H||[]).length;if(ct&&ct.enabled&&(H=this.sortData(H)),He.options.chart.allowMutatingData&&_e!==!1&&wt&&Be&&!ce.cropped&&!ce.hasGroupedData&&ce.visible&&!ce.boosted&&(ft=this.updateData(H,oe)),!ft){ce.xIncrement=null,ce.colorCounter=0,this.parallelArrays.forEach(function(bt){ce[bt+"Data"].length=0});let kt=ke&&wt>ke;if(kt){let bt=ce.getFirstValidPoint(H),Zt=ce.getFirstValidPoint(H,wt-1,-1),Dt=fn=>!!(pe(fn)&&(Ve||xe(fn[0])));if(xe(bt)&&xe(Zt))for(it=0;it<wt;it++)Te[it]=this.autoIncrement(),Le[it]=H[it];else if(Dt(bt)&&Dt(Zt))if(Qe)if(bt.length===Qe)for(it=0;it<wt;it++)Te[it]=this.autoIncrement(),Le[it]=H[it];else for(it=0;it<wt;it++)ot=H[it],Te[it]=ot[0],Le[it]=ot.slice(1,Qe+1);else if(Ve&&(pt=Ve.indexOf("x"),Ke=Ve.indexOf("y"),pt=pt>=0?pt:0,Ke=Ke>=0?Ke:1),bt.length===1&&(Ke=0),pt===Ke)for(it=0;it<wt;it++)Te[it]=this.autoIncrement(),Le[it]=H[it][Ke];else for(it=0;it<wt;it++)ot=H[it],Te[it]=ot[pt],Le[it]=ot[Ke];else kt=!1}if(!kt)for(it=0;it<wt;it++)ot={series:ce},ce.pointClass.prototype.applyOptions.apply(ot,[H[it]]),ce.updateParallelArrays(ot,it);for(Le&&se(Le[0])&&j(14,!0,He),ce.data=[],ce.options.data=ce.userOptions.data=H,it=Be;it--;)(Pt=Oe[it])==null||Pt.destroy();at&&(at.minRange=at.userMinRange),ce.isDirty=He.isDirtyBox=!0,ce.isDirtyData=!!Oe,oe=!1}Re.legendType==="point"&&(this.processData(),this.generatePoints()),de&&He.redraw(oe)}sortData(H){let de=this,oe=de.options.dataSorting.sortKey||"y",_e=function(ce,Oe){return re(Oe)&&ce.pointClass.prototype.optionsToObject.call({series:ce},Oe)||{}};return H.forEach(function(ce,Oe){H[Oe]=_e(de,ce),H[Oe].index=Oe},this),H.concat().sort((ce,Oe)=>{let Be=ae(oe,ce),Re=ae(oe,Oe);return Re<Be?-1:Re>Be?1:0}).forEach(function(ce,Oe){ce.x=Oe},this),de.linkedSeries&&de.linkedSeries.forEach(function(ce){let Oe=ce.options,Be=Oe.data;Oe.dataSorting&&Oe.dataSorting.enabled||!Be||(Be.forEach(function(Re,He){Be[He]=_e(ce,Re),H[He]&&(Be[He].x=H[He].x,Be[He].index=He)}),ce.setData(Be,!1))}),H}getProcessedData(H){let de=this,oe=de.xAxis,_e=de.options.cropThreshold,ce=oe==null?void 0:oe.logarithmic,Oe=de.isCartesian,Be,Re,He=0,ct,at,ke,Te=de.xData,Le=de.yData,ze=!1,Qe=Te.length;oe&&(at=(ct=oe.getExtremes()).min,ke=ct.max,ze=!!(oe.categories&&!oe.names.length)),Oe&&de.sorted&&!H&&(!_e||Qe>_e||de.forceCrop)&&(Te[Qe-1]<at||Te[0]>ke?(Te=[],Le=[]):de.yData&&(Te[0]<at||Te[Qe-1]>ke)&&(Te=(Be=this.cropData(de.xData,de.yData,at,ke)).xData,Le=Be.yData,He=Be.start,Re=!0));let Ve=ie([ce?Te.map(ce.log2lin):Te],()=>de.requireSorting&&!ze&&j(15,!1,de.chart));return{xData:Te,yData:Le,cropped:Re,cropStart:He,closestPointRange:Ve}}processData(H){let de=this.xAxis;if(this.isCartesian&&!this.isDirty&&!de.isDirty&&!this.yAxis.isDirty&&!H)return!1;let oe=this.getProcessedData();this.cropped=oe.cropped,this.cropStart=oe.cropStart,this.processedXData=oe.xData,this.processedYData=oe.yData,this.closestPointRange=this.basePointRange=oe.closestPointRange,U(this,"afterProcessData")}cropData(H,de,oe,_e){let ce=H.length,Oe,Be,Re=0,He=ce;for(Oe=0;Oe<ce;Oe++)if(H[Oe]>=oe){Re=Math.max(0,Oe-1);break}for(Be=Oe;Be<ce;Be++)if(H[Be]>_e){He=Be+1;break}return{xData:H.slice(Re,He),yData:de.slice(Re,He),start:Re,end:He}}generatePoints(){let H=this.options,de=this.processedData||H.data,oe=this.processedXData,_e=this.processedYData,ce=this.pointClass,Oe=oe.length,Be=this.cropStart||0,Re=this.hasGroupedData,He=H.keys,ct=[],at=H.dataGrouping&&H.dataGrouping.groupAll?Be:0,ke,Te,Le,ze,Qe=this.data;if(!Qe&&!Re){let Ve=[];Ve.length=de.length,Qe=this.data=Ve}for(He&&Re&&(this.options.keys=!1),ze=0;ze<Oe;ze++)Te=Be+ze,Re?((Le=new ce(this,[oe[ze]].concat(le(_e[ze])))).dataGroup=this.groupMap[at+ze],Le.dataGroup.options&&(Le.options=Le.dataGroup.options,R(Le,Le.dataGroup.options),delete Le.dataLabels)):(Le=Qe[Te])||de[Te]===void 0||(Qe[Te]=Le=new ce(this,de[Te],oe[ze])),Le&&(Le.index=Re?at+ze:Te,ct[ze]=Le);if(this.options.keys=He,Qe&&(Oe!==(ke=Qe.length)||Re))for(ze=0;ze<ke;ze++)ze!==Be||Re||(ze+=Oe),Qe[ze]&&(Qe[ze].destroyElements(),Qe[ze].plotX=void 0);this.data=Qe,this.points=ct,U(this,"afterGeneratePoints")}getXExtremes(H){return{min:L(H),max:k(H)}}getExtremes(H,de){let oe=this.xAxis,_e=this.yAxis,ce=[],Oe=this.requireSorting&&!this.is("column")?1:0,Be=!!_e&&_e.positiveValuesOnly,Re=de||this.getExtremesFromAll||this.options.getExtremesFromAll,{processedXData:He,processedYData:ct}=this,at,ke,Te,Le,ze,Qe,Ve,it=0,ot=0,ft=0;if(this.cropped&&Re){let wt=this.getProcessedData(!0);He=wt.xData,ct=wt.yData}let pt=(H=H||this.stackedYData||ct||[]).length,Ke=He||this.xData;for(oe&&(it=(at=oe.getExtremes()).min,ot=at.max),Qe=0;Qe<pt;Qe++)if(Le=Ke[Qe],ke=(xe(ze=H[Qe])||pe(ze))&&((xe(ze)?ze>0:ze.length)||!Be),Te=de||this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||!oe||(Ke[Qe+Oe]||Le)>=it&&(Ke[Qe-Oe]||Le)<=ot,ke&&Te)if(Ve=ze.length)for(;Ve--;)xe(ze[Ve])&&(ce[ft++]=ze[Ve]);else ce[ft++]=ze;let mt={activeYData:ce,dataMin:L(ce),dataMax:k(ce)};return U(this,"afterGetExtremes",{dataExtremes:mt}),mt}applyExtremes(){let H=this.getExtremes();return this.dataMin=H.dataMin,this.dataMax=H.dataMax,H}getFirstValidPoint(H,de=0,oe=1){let _e=H.length,ce=de;for(;ce>=0&&ce<_e;){if(re(H[ce]))return H[ce];ce+=oe}}translate(){var ot;this.processedXData||this.processData(),this.generatePoints();let H=this.options,de=H.stacking,oe=this.xAxis,_e=oe.categories,ce=this.enabledDataSorting,Oe=this.yAxis,Be=this.points,Re=Be.length,He=this.pointPlacementToXValue(),ct=!!He,at=H.threshold,ke=H.startFromThreshold?at:0,Te,Le,ze,Qe,Ve=Number.MAX_VALUE;function it(ft){return B(ft,-1e9,1e9)}for(Te=0;Te<Re;Te++){let ft,pt=Be[Te],Ke=pt.x,mt,wt,Pt=pt.y,kt=pt.low,bt=de&&((ot=Oe.stacking)==null?void 0:ot.stacks[(this.negStacks&&Pt<(ke?0:at)?"-":"")+this.stackKey]);Le=oe.translate(Ke,!1,!1,!1,!0,He),pt.plotX=xe(Le)?q(it(Le)):void 0,de&&this.visible&&bt&&bt[Ke]&&(Qe=this.getStackIndicator(Qe,Ke,this.index),!pt.isNull&&Qe.key&&(wt=(mt=bt[Ke]).points[Qe.key]),mt&&pe(wt)&&(kt=wt[0],Pt=wt[1],kt===ke&&Qe.key===bt[Ke].base&&(kt=Ae(xe(at)?at:Oe.min)),Oe.positiveValuesOnly&&re(kt)&&kt<=0&&(kt=void 0),pt.total=pt.stackTotal=Ae(mt.total),pt.percentage=re(pt.y)&&mt.total?pt.y/mt.total*100:void 0,pt.stackY=Pt,this.irregularWidths||mt.setOffset(this.pointXOffset||0,this.barW||0,void 0,void 0,void 0,this.xAxis))),pt.yBottom=re(kt)?it(Oe.translate(kt,!1,!0,!1,!0)):void 0,this.dataModify&&(Pt=this.dataModify.modifyValue(Pt,Te)),xe(Pt)&&pt.plotX!==void 0&&(ft=xe(ft=Oe.translate(Pt,!1,!0,!1,!0))?it(ft):void 0),pt.plotY=ft,pt.isInside=this.isPointInside(pt),pt.clientX=ct?q(oe.translate(Ke,!1,!1,!1,!0,He)):Le,pt.negative=(pt.y||0)<(at||0),pt.category=Ae(_e&&_e[pt.x],pt.x),pt.isNull||pt.visible===!1||(ze!==void 0&&(Ve=Math.min(Ve,Math.abs(Le-ze))),ze=Le),pt.zone=this.zones.length?pt.getZone():void 0,!pt.graphic&&this.group&&ce&&(pt.isNew=!0)}this.closestPointRangePx=Ve,U(this,"afterTranslate")}getValidPoints(H,de,oe){let _e=this.chart;return(H||this.points||[]).filter(function(ce){let{plotX:Oe,plotY:Be}=ce;return!!((oe||!ce.isNull&&xe(Be))&&(!de||_e.isInsidePlot(Oe,Be,{inverted:_e.inverted})))&&ce.visible!==!1})}getClipBox(){let{chart:H,xAxis:de,yAxis:oe}=this,{x:_e,y:ce,width:Oe,height:Be}=ge(H.clipBox);return de&&de.len!==H.plotSizeX&&(Oe=de.len),oe&&oe.len!==H.plotSizeY&&(Be=oe.len),H.inverted&&!this.invertible&&([Oe,Be]=[Be,Oe]),{x:_e,y:ce,width:Oe,height:Be}}getSharedClipKey(){return this.sharedClipKey=(this.options.xAxis||0)+","+(this.options.yAxis||0),this.sharedClipKey}setClip(){let{chart:H,group:de,markerGroup:oe}=this,_e=H.sharedClips,ce=H.renderer,Oe=this.getClipBox(),Be=this.getSharedClipKey(),Re=_e[Be];Re?Re.animate(Oe):_e[Be]=Re=ce.clipRect(Oe),de&&de.clip(this.options.clip===!1?void 0:Re),oe&&oe.clip()}animate(H){let{chart:de,group:oe,markerGroup:_e}=this,ce=de.inverted,Oe=S(this.options.animation),Be=[this.getSharedClipKey(),Oe.duration,Oe.easing,Oe.defer].join(","),Re=de.sharedClips[Be],He=de.sharedClips[Be+"m"];if(H&&oe){let ct=this.getClipBox();if(Re)Re.attr("height",ct.height);else{ct.width=0,ce&&(ct.x=de.plotHeight),Re=de.renderer.clipRect(ct),de.sharedClips[Be]=Re;let at={x:-99,y:-99,width:ce?de.plotWidth+199:99,height:ce?99:de.plotHeight+199};He=de.renderer.clipRect(at),de.sharedClips[Be+"m"]=He}oe.clip(Re),_e==null||_e.clip(He)}else if(Re&&!Re.hasClass("highcharts-animating")){let ct=this.getClipBox(),at=Oe.step;(_e!=null&&_e.element.childNodes.length||de.series.length>1)&&(Oe.step=function(ke,Te){at&&at.apply(Te,arguments),Te.prop==="width"&&(He!=null&&He.element)&&He.attr(ce?"height":"width",ke+99)}),Re.addClass("highcharts-animating").animate(ct,Oe)}}afterAnimate(){this.setClip(),Se(this.chart.sharedClips,(H,de,oe)=>{H&&!this.chart.container.querySelector(`[clip-path="url(#${H.id})"]`)&&(H.destroy(),delete oe[de])}),this.finishedAnimating=!0,U(this,"afterAnimate")}drawPoints(H=this.points){let de,oe,_e,ce,Oe,Be,Re,He=this.chart,ct=He.styledMode,{colorAxis:at,options:ke}=this,Te=ke.marker,Le=this[this.specialGroup||"markerGroup"],ze=this.xAxis,Qe=Ae(Te.enabled,!ze||!!ze.isRadial||null,this.closestPointRangePx>=Te.enabledThreshold*Te.radius);if(Te.enabled!==!1||this._hasPointMarkers)for(de=0;de<H.length;de++)if(ce=(_e=(oe=H[de]).graphic)?"animate":"attr",Oe=oe.marker||{},Be=!!oe.marker,(Qe&&Oe.enabled===void 0||Oe.enabled)&&!oe.isNull&&oe.visible!==!1){let Ve=Ae(Oe.symbol,this.symbol,"rect");Re=this.markerAttribs(oe,oe.selected&&"select"),this.enabledDataSorting&&(oe.startXPos=ze.reversed?-(Re.width||0):ze.width);let it=oe.isInside!==!1;if(!_e&&it&&((Re.width||0)>0||oe.hasImage)&&(oe.graphic=_e=He.renderer.symbol(Ve,Re.x,Re.y,Re.width,Re.height,Be?Oe:Te).add(Le),this.enabledDataSorting&&He.hasRendered&&(_e.attr({x:oe.startXPos}),ce="animate")),_e&&ce==="animate"&&_e[it?"show":"hide"](it).animate(Re),_e){let ot=this.pointAttribs(oe,ct||!oe.selected?void 0:"select");ct?at&&_e.css({fill:ot.fill}):_e[ce](ot)}_e&&_e.addClass(oe.getClassName(),!0)}else _e&&(oe.graphic=_e.destroy())}markerAttribs(H,de){let oe=this.options,_e=oe.marker,ce=H.marker||{},Oe=ce.symbol||_e.symbol,Be={},Re,He,ct=Ae(ce.radius,_e&&_e.radius);de&&(Re=_e.states[de],ct=Ae((He=ce.states&&ce.states[de])&&He.radius,Re&&Re.radius,ct&&ct+(Re&&Re.radiusPlus||0))),H.hasImage=Oe&&Oe.indexOf("url")===0,H.hasImage&&(ct=0);let at=H.pos();return xe(ct)&&at&&(oe.crisp&&(at[0]=ne(at[0],H.hasImage?0:Oe==="rect"?(_e==null?void 0:_e.lineWidth)||0:1)),Be.x=at[0]-ct,Be.y=at[1]-ct),ct&&(Be.width=Be.height=2*ct),Be}pointAttribs(H,de){let oe=this.options.marker,_e=H&&H.options,ce=_e&&_e.marker||{},Oe=_e&&_e.color,Be=H&&H.color,Re=H&&H.zone&&H.zone.color,He,ct,at=this.color,ke,Te,Le=Ae(ce.lineWidth,oe.lineWidth),ze=1;return at=Oe||Re||Be||at,ke=ce.fillColor||oe.fillColor||at,Te=ce.lineColor||oe.lineColor||at,de=de||"normal",He=oe.states[de]||{},Le=Ae((ct=ce.states&&ce.states[de]||{}).lineWidth,He.lineWidth,Le+Ae(ct.lineWidthPlus,He.lineWidthPlus,0)),ke=ct.fillColor||He.fillColor||ke,{stroke:Te=ct.lineColor||He.lineColor||Te,"stroke-width":Le,fill:ke,opacity:ze=Ae(ct.opacity,He.opacity,ze)}}destroy(H){let de,oe,_e,ce=this,Oe=ce.chart,Be=/AppleWebKit\/533/.test(D.navigator.userAgent),Re=ce.data||[];for(U(ce,"destroy",{keepEventsForUpdate:H}),this.removeEvents(H),(ce.axisTypes||[]).forEach(function(He){(_e=ce[He])&&_e.series&&(G(_e.series,ce),_e.isDirty=_e.forceRedraw=!0)}),ce.legendItem&&ce.chart.legend.destroyItem(ce),de=Re.length;de--;)(oe=Re[de])&&oe.destroy&&oe.destroy();for(let He of ce.zones)$(He,void 0,!0);w.clearTimeout(ce.animationTimeout),Se(ce,function(He,ct){He instanceof b&&!He.survive&&He[Be&&ct==="group"?"hide":"destroy"]()}),Oe.hoverSeries===ce&&(Oe.hoverSeries=void 0),G(Oe.series,ce),Oe.orderItems("series"),Se(ce,function(He,ct){H&&ct==="hcEvents"||delete ce[ct]})}applyZones(){let{area:H,chart:de,graph:oe,zones:_e,points:ce,xAxis:Oe,yAxis:Be,zoneAxis:Re}=this,{inverted:He,renderer:ct}=de,at=this[`${Re}Axis`],{isXAxis:ke,len:Te=0}=at||{},Le=((oe==null?void 0:oe.strokeWidth())||0)/2+1,ze=(Qe,Ve=0,it=0)=>{He&&(it=Te-it);let{translated:ot=0,lineClip:ft}=Qe,pt=it-ot;ft==null||ft.push(["L",Ve,Math.abs(pt)<Le?it-Le*(pt<=0?-1:1):ot])};if(_e.length&&(oe||H)&&at&&xe(at.min)){let Qe=at.getExtremes().max,Ve=ft=>{ft.forEach((pt,Ke)=>{(pt[0]==="M"||pt[0]==="L")&&(ft[Ke]=[pt[0],ke?Te-pt[1]:pt[1],ke?pt[2]:Te-pt[2]])})};if(_e.forEach(ft=>{ft.lineClip=[],ft.translated=B(at.toPixels(Ae(ft.value,Qe),!0)||0,0,Te)}),oe&&!this.showLine&&oe.hide(),H&&H.hide(),Re==="y"&&ce.length<Oe.len)for(let ft of ce){let{plotX:pt,plotY:Ke,zone:mt}=ft,wt=mt&&_e[_e.indexOf(mt)-1];mt&&ze(mt,pt,Ke),wt&&ze(wt,pt,Ke)}let it=[],ot=at.toPixels(at.getExtremes().min,!0);_e.forEach(ft=>{var An,Ue;let pt=ft.lineClip||[],Ke=Math.round(ft.translated||0);Oe.reversed&&pt.reverse();let{clip:mt,simpleClip:wt}=ft,Pt=0,kt=0,bt=Oe.len,Zt=Be.len;ke?(Pt=Ke,bt=ot):(kt=Ke,Zt=ot);let Dt=[["M",Pt,kt],["L",bt,kt],["L",bt,Zt],["L",Pt,Zt],["Z"]],fn=[Dt[0],...pt,Dt[1],Dt[2],...it,Dt[3],Dt[4]];it=pt.reverse(),ot=Ke,He&&(Ve(fn),H&&Ve(Dt)),mt?(mt.animate({d:fn}),wt==null||wt.animate({d:Dt})):(mt=ft.clip=ct.path(fn),H&&(wt=ft.simpleClip=ct.path(Dt))),oe&&((An=ft.graph)==null||An.clip(mt)),H&&((Ue=ft.area)==null||Ue.clip(wt))})}else this.visible&&(oe&&oe.show(),H&&H.show())}plotGroup(H,de,oe,_e,ce){let Oe=this[H],Be=!Oe,Re={visibility:oe,zIndex:_e||.1};return re(this.opacity)&&!this.chart.styledMode&&this.state!=="inactive"&&(Re.opacity=this.opacity),Oe||(this[H]=Oe=this.chart.renderer.g().add(ce)),Oe.addClass("highcharts-"+de+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(re(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(Oe.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),Oe.attr(Re)[Be?"attr":"animate"](this.getPlotBox(de)),Oe}getPlotBox(H){let de=this.xAxis,oe=this.yAxis,_e=this.chart,ce=_e.inverted&&!_e.polar&&de&&this.invertible&&H==="series";return _e.inverted&&(de=oe,oe=this.xAxis),{translateX:de?de.left:_e.plotLeft,translateY:oe?oe.top:_e.plotTop,rotation:ce?90:0,rotationOriginX:ce?(de.len-oe.len)/2:0,rotationOriginY:ce?(de.len+oe.len)/2:0,scaleX:ce?-1:1,scaleY:1}}removeEvents(H){let{eventsToUnbind:de}=this;H||$e(this),de.length&&(de.forEach(oe=>{oe()}),de.length=0)}render(){var ct,at,ke,Te,Le;let H=this,{chart:de,options:oe,hasRendered:_e}=H,ce=S(oe.animation),Oe=H.visible?"inherit":"hidden",Be=oe.zIndex,Re=de.seriesGroup,He=H.finishedAnimating?0:ce.duration;U(this,"render"),H.plotGroup("group","series",Oe,Be,Re),H.markerGroup=H.plotGroup("markerGroup","markers",Oe,Be,Re),oe.clip!==!1&&H.setClip(),He&&((ct=H.animate)==null||ct.call(H,!0)),H.drawGraph&&(H.drawGraph(),H.applyZones()),H.visible&&H.drawPoints(),(at=H.drawDataLabels)==null||at.call(H),(ke=H.redrawPoints)==null||ke.call(H),oe.enableMouseTracking&&((Te=H.drawTracker)==null||Te.call(H)),He&&((Le=H.animate)==null||Le.call(H)),_e||(He&&ce.defer&&(He+=ce.defer),H.animationTimeout=te(()=>{H.afterAnimate()},He||0)),H.isDirty=!1,H.hasRendered=!0,U(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,de){let{xAxis:oe,yAxis:_e}=this,ce=this.chart.inverted;return this.searchKDTree({clientX:ce?oe.len-H.chartY+oe.pos:H.chartX-oe.pos,plotY:ce?_e.len-H.chartX+_e.pos:H.chartY-_e.pos},de,H)}buildKDTree(H){this.buildingKdTree=!0;let de=this,oe=de.options.findNearestPointBy.indexOf("y")>-1?2:1;delete de.kdTree,te(function(){de.kdTree=function _e(ce,Oe,Be){let Re,He,ct=ce==null?void 0:ce.length;if(ct)return Re=de.kdAxisArray[Oe%Be],ce.sort((at,ke)=>(at[Re]||0)-(ke[Re]||0)),{point:ce[He=Math.floor(ct/2)],left:_e(ce.slice(0,He),Oe+1,Be),right:_e(ce.slice(He+1),Oe+1,Be)}}(de.getValidPoints(void 0,!de.directTouch),oe,oe),de.buildingKdTree=!1},de.options.kdNow||(H==null?void 0:H.type)==="touchstart"?0:1)}searchKDTree(H,de,oe){let _e=this,[ce,Oe]=this.kdAxisArray,Be=de?"distX":"dist",Re=(_e.options.findNearestPointBy||"").indexOf("y")>-1?2:1,He=!!_e.isBubble;if(this.kdTree||this.buildingKdTree||this.buildKDTree(oe),this.kdTree)return function ct(at,ke,Te,Le){var mt;let ze=ke.point,Qe=_e.kdAxisArray[Te%Le],Ve,it,ot=ze;(function(wt,Pt){var Ce;let kt=wt[ce],bt=Pt[ce],Zt=re(kt)&&re(bt)?kt-bt:null,Dt=wt[Oe],fn=Pt[Oe],An=re(Dt)&&re(fn)?Dt-fn:0,Ue=He&&((Ce=Pt.marker)==null?void 0:Ce.radius)||0;Pt.dist=Math.sqrt((Zt&&Zt*Zt||0)+An*An)-Ue,Pt.distX=re(Zt)?Math.abs(Zt)-Ue:Number.MAX_VALUE})(at,ze);let ft=(at[Qe]||0)-(ze[Qe]||0)+(He&&((mt=ze.marker)==null?void 0:mt.radius)||0),pt=ft<0?"left":"right",Ke=ft<0?"right":"left";return ke[pt]&&(ot=(Ve=ct(at,ke[pt],Te+1,Le))[Be]<ot[Be]?Ve:ze),ke[Ke]&&Math.sqrt(ft*ft)<ot[Be]&&(ot=(it=ct(at,ke[Ke],Te+1,Le))[Be]<ot[Be]?it:ot),ot}(H,this.kdTree,Re,Re)}pointPlacementToXValue(){let{options:H,xAxis:de}=this,oe=H.pointPlacement;return oe==="between"&&(oe=de.reversed?-.5:.5),xe(oe)?oe*(H.pointRange||de.pointRange):0}isPointInside(H){let{chart:de,xAxis:oe,yAxis:_e}=this,{plotX:ce=-1,plotY:Oe=-1}=H;return Oe>=0&&Oe<=(_e?_e.len:de.plotHeight)&&ce>=0&&ce<=(oe?oe.len:de.plotWidth)}drawTracker(){var ke;let H=this,de=H.options,oe=de.trackByArea,_e=[].concat((oe?H.areaPath:H.graphPath)||[]),ce=H.chart,Oe=ce.pointer,Be=ce.renderer,Re=((ke=ce.options.tooltip)==null?void 0:ke.snap)||0,He=()=>{de.enableMouseTracking&&ce.hoverSeries!==H&&H.onMouseOver()},ct="rgba(192,192,192,"+(I?1e-4:.002)+")",at=H.tracker;at?at.attr({d:_e}):H.graph&&(H.tracker=at=Be.path(_e).attr({visibility:H.visible?"inherit":"hidden",zIndex:2}).addClass(oe?"highcharts-tracker-area":"highcharts-tracker-line").add(H.group),ce.styledMode||at.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:ct,fill:oe?ct:"none","stroke-width":H.graph.strokeWidth()+(oe?0:2*Re)}),[H.tracker,H.markerGroup,H.dataLabelsGroup].forEach(Te=>{Te&&(Te.addClass("highcharts-tracker").on("mouseover",He).on("mouseout",Le=>{Oe==null||Oe.onTrackerMouseOut(Le)}),de.cursor&&!ce.styledMode&&Te.css({cursor:de.cursor}),Te.on("touchstart",He))})),U(this,"afterDrawTracker")}addPoint(H,de,oe,_e,ce){let Oe,Be,Re=this.options,He=this.data,ct=this.chart,at=this.xAxis,ke=at&&at.hasNames&&at.names,Te=Re.data,Le=this.xData;de=Ae(de,!0);let ze={series:this};this.pointClass.prototype.applyOptions.apply(ze,[H]);let Qe=ze.x;if(Be=Le.length,this.requireSorting&&Qe<Le[Be-1])for(Oe=!0;Be&&Le[Be-1]>Qe;)Be--;this.updateParallelArrays(ze,"splice",[Be,0,0]),this.updateParallelArrays(ze,Be),ke&&ze.name&&(ke[Qe]=ze.name),Te.splice(Be,0,H),(Oe||this.processedData)&&(this.data.splice(Be,0,null),this.processData()),Re.legendType==="point"&&this.generatePoints(),oe&&(He[0]&&He[0].remove?He[0].remove(!1):(He.shift(),this.updateParallelArrays(ze,"shift"),Te.shift())),ce!==!1&&U(this,"addPoint",{point:ze}),this.isDirty=!0,this.isDirtyData=!0,de&&ct.redraw(_e)}removePoint(H,de,oe){let _e=this,ce=_e.data,Oe=ce[H],Be=_e.points,Re=_e.chart,He=function(){Be&&Be.length===ce.length&&Be.splice(H,1),ce.splice(H,1),_e.options.data.splice(H,1),_e.updateParallelArrays(Oe||{series:_e},"splice",[H,1]),Oe&&Oe.destroy(),_e.isDirty=!0,_e.isDirtyData=!0,de&&Re.redraw()};C(oe,Re),de=Ae(de,!0),Oe?Oe.firePointEvent("remove",null,He):He()}remove(H,de,oe,_e){let ce=this,Oe=ce.chart;function Be(){ce.destroy(_e),Oe.isDirtyLegend=Oe.isDirtyBox=!0,Oe.linkSeries(_e),Ae(H,!0)&&Oe.redraw(de)}oe!==!1?U(ce,"remove",null,Be):Be()}update(H,de){var Ve,it,ot;U(this,"update",{options:H=Y(H,this.userOptions)});let oe=this,_e=oe.chart,ce=oe.userOptions,Oe=oe.initialType||oe.type,Be=_e.options.plotOptions,Re=N[Oe].prototype,He=oe.finishedAnimating&&{animation:!1},ct={},at,ke,Te=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],Le=H.type||ce.type||_e.options.chart.type,ze=!(this.hasDerivedData||Le&&Le!==this.type||H.pointStart!==void 0||H.pointInterval!==void 0||H.relativeXValue!==void 0||H.joinBy||H.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some(ft=>oe.hasOptionChanged(ft)));Le=Le||Oe,ze&&(Te.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&&Te.push("area","graph"),oe.parallelArrays.forEach(function(ft){Te.push(ft+"Data")}),H.data&&(H.dataSorting&&R(oe.options.dataSorting,H.dataSorting),this.setData(H.data,!1))),H=ge(ce,{index:ce.index===void 0?oe.index:ce.index,pointStart:((Ve=Be==null?void 0:Be.series)==null?void 0:Ve.pointStart)??ce.pointStart??((it=oe.xData)==null?void 0:it[0])},!ze&&{data:oe.options.data},H,He),ze&&H.data&&(H.data=oe.options.data),(Te=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(Te)).forEach(function(ft){Te[ft]=oe[ft],delete oe[ft]});let Qe=!1;if(N[Le]){if(Qe=Le!==oe.type,oe.remove(!1,!1,!1,!0),Qe)if(_e.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(oe,N[Le].prototype);else{let ft=Object.hasOwnProperty.call(oe,"hcEvents")&&oe.hcEvents;for(ke in Re)oe[ke]=void 0;R(oe,N[Le].prototype),ft?oe.hcEvents=ft:delete oe.hcEvents}}else j(17,!0,_e,{missingModuleFor:Le});if(Te.forEach(function(ft){oe[ft]=Te[ft]}),oe.init(_e,H),ze&&this.points)for(let ft of((at=oe.options).visible===!1?(ct.graphic=1,ct.dataLabel=1):(this.hasMarkerChanged(at,ce)&&(ct.graphic=1),(ot=oe.hasDataLabels)!=null&&ot.call(oe)||(ct.dataLabel=1)),this.points))ft&&ft.series&&(ft.resolveColor(),Object.keys(ct).length&&ft.destroyElements(ct),at.showInLegend===!1&&ft.legendItem&&_e.legend.destroyItem(ft));oe.initialType=Oe,_e.linkSeries(),_e.setSortedData(),Qe&&oe.linkedSeries.length&&(oe.isDirtyData=!0),U(this,"afterUpdate"),Ae(de,!0)&&_e.redraw(!!ze&&void 0)}setName(H){this.name=this.options.name=this.userOptions.name=H,this.chart.isDirtyLegend=!0}hasOptionChanged(H){var Be,Re;let de=this.chart,oe=this.options[H],_e=de.options.plotOptions,ce=this.userOptions[H],Oe=Ae((Be=_e==null?void 0:_e[this.type])==null?void 0:Be[H],(Re=_e==null?void 0:_e.series)==null?void 0:Re[H]);return ce&&!re(Oe)?oe!==ce:oe!==Ae(Oe,oe)}onMouseOver(){let H=this.chart,de=H.hoverSeries,oe=H.pointer;oe==null||oe.setHoverChartIndex(),de&&de!==this&&de.onMouseOut(),this.options.events.mouseOver&&U(this,"mouseOver"),this.setState("hover"),H.hoverSeries=this}onMouseOut(){let H=this.options,de=this.chart,oe=de.tooltip,_e=de.hoverPoint;de.hoverSeries=null,_e&&_e.onMouseOut(),this&&H.events.mouseOut&&U(this,"mouseOut"),oe&&!this.stickyTracking&&(!oe.shared||this.noSharedTooltip)&&oe.hide(),de.series.forEach(function(ce){ce.setState("",!0)})}setState(H,de){let oe=this,_e=oe.options,ce=oe.graph,Oe=_e.inactiveOtherPoints,Be=_e.states,Re=Ae(Be[H||"normal"]&&Be[H||"normal"].animation,oe.chart.options.chart.animation),He=_e.lineWidth,ct=_e.opacity;if(H=H||"",oe.state!==H&&([oe.group,oe.markerGroup,oe.dataLabelsGroup].forEach(function(at){at&&(oe.state&&at.removeClass("highcharts-series-"+oe.state),H&&at.addClass("highcharts-series-"+H))}),oe.state=H,!oe.chart.styledMode)){if(Be[H]&&Be[H].enabled===!1)return;if(H&&(He=Be[H].lineWidth||He+(Be[H].lineWidthPlus||0),ct=Ae(Be[H].opacity,ct)),ce&&!ce.dashstyle&&xe(He))for(let at of[ce,...this.zones.map(ke=>ke.graph)])at==null||at.animate({"stroke-width":He},Re);Oe||[oe.group,oe.markerGroup,oe.dataLabelsGroup,oe.labelBySeries].forEach(function(at){at&&at.animate({opacity:ct},Re)})}de&&Oe&&oe.points&&oe.setAllPointsToState(H||void 0)}setAllPointsToState(H){this.points.forEach(function(de){de.setState&&de.setState(H)})}setVisible(H,de){var Re;let oe=this,_e=oe.chart,ce=_e.options.chart.ignoreHiddenSeries,Oe=oe.visible;oe.visible=H=oe.options.visible=oe.userOptions.visible=H===void 0?!Oe:H;let Be=H?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(He=>{var ct;(ct=oe[He])==null||ct[Be]()}),(_e.hoverSeries===oe||((Re=_e.hoverPoint)==null?void 0:Re.series)===oe)&&oe.onMouseOut(),oe.legendItem&&_e.legend.colorizeItem(oe,H),oe.isDirty=!0,oe.options.stacking&&_e.series.forEach(He=>{He.options.stacking&&He.visible&&(He.isDirty=!0)}),oe.linkedSeries.forEach(He=>{He.setVisible(H,!1)}),ce&&(_e.isDirtyBox=!0),U(oe,Be),de!==!1&&_e.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),U(this,H?"select":"unselect")}shouldShowTooltip(H,de,oe={}){return oe.series=this,oe.visiblePlotOnly=!0,this.chart.isInsidePlot(H,de,oe)}drawLegendSymbol(H,de){var oe;(oe=d[this.options.legendSymbol||"rectangle"])==null||oe.call(this,H,de)}}return fe.defaultOptions=y,fe.types=g.seriesTypes,fe.registerType=g.registerSeriesType,R(fe.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:p,requireSorting:!0,sorted:!0}),g.series=fe,fe}),r(n,"Core/Legend/Legend.js",[n["Core/Animation/AnimationUtilities.js"],n["Core/Foundation.js"],n["Core/Globals.js"],n["Core/Series/Series.js"],n["Core/Series/Point.js"],n["Core/Renderer/RendererUtilities.js"],n["Core/Templating.js"],n["Core/Utilities.js"]],function(i,s,c,a,d,p,y,g){var b;let{animObject:w,setAnimation:S}=i,{registerEventOptions:C}=s,{composed:M,marginNames:O}=c,{distribute:I}=p,{format:D}=y,{addEvent:N,createElement:k,css:L,defined:B,discardElement:q,find:ne,fireEvent:re,isNumber:$,merge:Y,pick:G,pushUnique:j,relativeLength:R,stableSort:Z,syncTimeout:U}=g;class ie{constructor(K,pe){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=K,this.setOptions(pe),pe.enabled&&(this.render(),C(this,pe),N(this.chart,"endResize",function(){this.legend.positionCheckboxes()})),N(this.chart,"render",()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(K){let pe=G(K.padding,8);this.options=K,this.chart.styledMode||(this.itemStyle=K.itemStyle,this.itemHiddenStyle=Y(this.itemStyle,K.itemHiddenStyle)),this.itemMarginTop=K.itemMarginTop,this.itemMarginBottom=K.itemMarginBottom,this.padding=pe,this.initialItemY=pe-5,this.symbolWidth=G(K.symbolWidth,16),this.pages=[],this.proximate=K.layout==="proximate"&&!this.chart.inverted,this.baseline=void 0}update(K,pe){let xe=this.chart;this.setOptions(Y(!0,this.options,K)),"events"in this.options&&C(this,this.options),this.destroy(),xe.isDirtyLegend=xe.isDirtyBox=!0,G(pe,!0)&&xe.redraw(),re(this,"afterUpdate",{redraw:pe})}colorizeItem(K,pe){let{area:xe,group:se,label:ge,line:Se,symbol:Ae}=K.legendItem||{};if(se==null||se[pe?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:$e={}}=this,le=$e.color,{fillColor:te,fillOpacity:fe,lineColor:Me,marker:H}=K.options,de=oe=>(!pe&&(oe.fill&&(oe.fill=le),oe.stroke&&(oe.stroke=le)),oe);ge==null||ge.css(Y(pe?this.itemStyle:$e)),Se==null||Se.attr(de({stroke:Me||K.color})),Ae&&Ae.attr(de(H&&Ae.isMarker?K.pointAttribs():{fill:K.color})),xe==null||xe.attr(de({fill:te||K.color,"fill-opacity":te?1:fe??.75}))}re(this,"afterColorizeItem",{item:K,visible:pe})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(K){let{group:pe,x:xe=0,y:se=0}=K.legendItem||{},ge=this.options,Se=ge.symbolPadding,Ae=!ge.rtl,$e=K.checkbox;if(pe&&pe.element){let le={translateX:Ae?xe:this.legendWidth-xe-2*Se-4,translateY:se};pe[B(pe.translateY)?"animate":"attr"](le,void 0,()=>{re(this,"afterPositionItem",{item:K})})}$e&&($e.x=xe,$e.y=se)}destroyItem(K){let pe=K.checkbox,xe=K.legendItem||{};for(let se of["group","label","line","symbol"])xe[se]&&(xe[se]=xe[se].destroy());pe&&q(pe),K.legendItem=void 0}destroy(){for(let K of this.getAllItems())this.destroyItem(K);for(let K of["clipRect","up","down","pager","nav","box","title","group"])this[K]&&(this[K]=this[K].destroy());this.display=null}positionCheckboxes(){let K,pe=this.group&&this.group.alignAttr,xe=this.clipHeight||this.legendHeight,se=this.titleHeight;pe&&(K=pe.translateY,this.allItems.forEach(function(ge){let Se,Ae=ge.checkbox;Ae&&(Se=K+se+Ae.y+(this.scrollOffset||0)+3,L(Ae,{left:pe.translateX+ge.checkboxOffset+Ae.x-20+"px",top:Se+"px",display:this.proximate||Se>K-6&&Se<K+xe-6?"":"none"}))},this))}renderTitle(){let K=this.options,pe=this.padding,xe=K.title,se,ge=0;xe.text&&(this.title||(this.title=this.chart.renderer.label(xe.text,pe-3,pe-4,void 0,void 0,void 0,K.useHTML,void 0,"legend-title").attr({zIndex:1}),this.chart.styledMode||this.title.css(xe.style),this.title.add(this.group)),xe.width||this.title.css({width:this.maxLegendWidth+"px"}),ge=(se=this.title.getBBox()).height,this.offsetWidth=se.width,this.contentGroup.attr({translateY:ge})),this.titleHeight=ge}setText(K){let pe=this.options;K.legendItem.label.attr({text:pe.labelFormat?D(pe.labelFormat,K,this.chart):pe.labelFormatter.call(K)})}renderItem(K){let pe=K.legendItem=K.legendItem||{},xe=this.chart,se=xe.renderer,ge=this.options,Se=ge.layout==="horizontal",Ae=this.symbolWidth,$e=ge.symbolPadding||0,le=this.itemStyle,te=this.itemHiddenStyle,fe=Se?G(ge.itemDistance,20):0,Me=!ge.rtl,H=!K.series,de=!H&&K.series.drawLegendSymbol?K.series:K,oe=de.options,_e=!!this.createCheckboxForItem&&oe&&oe.showCheckbox,ce=ge.useHTML,Oe=K.options.className,Be=pe.label,Re=Ae+$e+fe+(_e?20:0);!Be&&(pe.group=se.g("legend-item").addClass("highcharts-"+de.type+"-series highcharts-color-"+K.colorIndex+(Oe?" "+Oe:"")+(H?" highcharts-series-"+K.index:"")).attr({zIndex:1}).add(this.scrollGroup),pe.label=Be=se.text("",Me?Ae+$e:-$e,this.baseline||0,ce),xe.styledMode||Be.css(Y(K.visible?le:te)),Be.attr({align:Me?"left":"right",zIndex:2}).add(pe.group),!this.baseline&&(this.fontMetrics=se.fontMetrics(Be),this.baseline=this.fontMetrics.f+3+this.itemMarginTop,Be.attr("y",this.baseline),this.symbolHeight=G(ge.symbolHeight,this.fontMetrics.f),ge.squareSymbol&&(this.symbolWidth=G(ge.symbolWidth,Math.max(this.symbolHeight,16)),Re=this.symbolWidth+$e+fe+(_e?20:0),Me&&Be.attr("x",this.symbolWidth+$e))),de.drawLegendSymbol(this,K),this.setItemEvents&&this.setItemEvents(K,Be,ce)),_e&&!K.checkbox&&this.createCheckboxForItem&&this.createCheckboxForItem(K),this.colorizeItem(K,K.visible),(xe.styledMode||!le.width)&&Be.css({width:(ge.itemWidth||this.widthOption||xe.spacingBox.width)-Re+"px"}),this.setText(K);let He=Be.getBBox(),ct=this.fontMetrics&&this.fontMetrics.h||0;K.itemWidth=K.checkboxOffset=ge.itemWidth||pe.labelWidth||He.width+Re,this.maxItemWidth=Math.max(this.maxItemWidth,K.itemWidth),this.totalItemWidth+=K.itemWidth,this.itemHeight=K.itemHeight=Math.round(pe.labelHeight||(He.height>1.5*ct?He.height:ct))}layoutItem(K){let pe=this.options,xe=this.padding,se=pe.layout==="horizontal",ge=K.itemHeight,Se=this.itemMarginBottom,Ae=this.itemMarginTop,$e=se?G(pe.itemDistance,20):0,le=this.maxLegendWidth,te=pe.alignColumns&&this.totalItemWidth>le?this.maxItemWidth:K.itemWidth,fe=K.legendItem||{};se&&this.itemX-xe+te>le&&(this.itemX=xe,this.lastLineHeight&&(this.itemY+=Ae+this.lastLineHeight+Se),this.lastLineHeight=0),this.lastItemY=Ae+this.itemY+Se,this.lastLineHeight=Math.max(ge,this.lastLineHeight),fe.x=this.itemX,fe.y=this.itemY,se?this.itemX+=te:(this.itemY+=Ae+ge+Se,this.lastLineHeight=ge),this.offsetWidth=this.widthOption||Math.max((se?this.itemX-xe-(K.checkbox?0:$e):te)+xe,this.offsetWidth)}getAllItems(){let K=[];return this.chart.series.forEach(function(pe){let xe=pe&&pe.options;pe&&G(xe.showInLegend,!B(xe.linkedTo)&&void 0,!0)&&(K=K.concat((pe.legendItem||{}).labels||(xe.legendType==="point"?pe.data:pe)))}),re(this,"afterGetAllItems",{allItems:K}),K}getAlignment(){let K=this.options;return this.proximate?K.align.charAt(0)+"tv":K.floating?"":K.align.charAt(0)+K.verticalAlign.charAt(0)+K.layout.charAt(0)}adjustMargins(K,pe){let xe=this.chart,se=this.options,ge=this.getAlignment();ge&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(Se,Ae){Se.test(ge)&&!B(K[Ae])&&(xe[O[Ae]]=Math.max(xe[O[Ae]],xe.legend[(Ae+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][Ae]*se[Ae%2?"x":"y"]+G(se.margin,12)+pe[Ae]+(xe.titleOffset[Ae]||0)))})}proximatePositions(){let K,pe=this.chart,xe=[],se=this.options.align==="left";for(let ge of(this.allItems.forEach(function(Se){let Ae,$e,le=se,te,fe;Se.yAxis&&(Se.xAxis.options.reversed&&(le=!le),Se.points&&(Ae=ne(le?Se.points:Se.points.slice(0).reverse(),function(Me){return $(Me.plotY)})),$e=this.itemMarginTop+Se.legendItem.label.getBBox().height+this.itemMarginBottom,fe=Se.yAxis.top-pe.plotTop,te=Se.visible?(Ae?Ae.plotY:Se.yAxis.height)+(fe-.3*$e):fe+Se.yAxis.height,xe.push({target:te,size:$e,item:Se}))},this),I(xe,pe.plotHeight)))K=ge.item.legendItem||{},$(ge.pos)&&(K.y=pe.plotTop-pe.spacing[0]+ge.pos)}render(){let K=this.chart,pe=K.renderer,xe=this.options,se=this.padding,ge=this.getAllItems(),Se,Ae,$e,le=this.group,te,fe=this.box;this.itemX=se,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=R(xe.width,K.spacingBox.width-se),te=K.spacingBox.width-2*se-xe.x,["rm","lm"].indexOf(this.getAlignment().substring(0,2))>-1&&(te/=2),this.maxLegendWidth=this.widthOption||te,le||(this.group=le=pe.g("legend").addClass(xe.className||"").attr({zIndex:7}).add(),this.contentGroup=pe.g().attr({zIndex:1}).add(le),this.scrollGroup=pe.g().add(this.contentGroup)),this.renderTitle(),Z(ge,(Me,H)=>(Me.options&&Me.options.legendIndex||0)-(H.options&&H.options.legendIndex||0)),xe.reversed&&ge.reverse(),this.allItems=ge,this.display=Se=!!ge.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,ge.forEach(this.renderItem,this),ge.forEach(this.layoutItem,this),Ae=(this.widthOption||this.offsetWidth)+se,$e=this.lastItemY+this.lastLineHeight+this.titleHeight,$e=this.handleOverflow($e)+se,fe||(this.box=fe=pe.rect().addClass("highcharts-legend-box").attr({r:xe.borderRadius}).add(le)),K.styledMode||fe.attr({stroke:xe.borderColor,"stroke-width":xe.borderWidth||0,fill:xe.backgroundColor||"none"}).shadow(xe.shadow),Ae>0&&$e>0&&fe[fe.placed?"animate":"attr"](fe.crisp.call({},{x:0,y:0,width:Ae,height:$e},fe.strokeWidth())),le[Se?"show":"hide"](),K.styledMode&&le.getStyle("display")==="none"&&(Ae=$e=0),this.legendWidth=Ae,this.legendHeight=$e,Se&&this.align(),this.proximate||this.positionItems(),re(this,"afterRender")}align(K=this.chart.spacingBox){let pe=this.chart,xe=this.options,se=K.y;/(lth|ct|rth)/.test(this.getAlignment())&&pe.titleOffset[0]>0?se+=pe.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&pe.titleOffset[2]>0&&(se-=pe.titleOffset[2]),se!==K.y&&(K=Y(K,{y:se})),pe.hasRendered||(this.group.placed=!1),this.group.align(Y(xe,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":xe.verticalAlign}),!0,K)}handleOverflow(K){let pe=this,xe=this.chart,se=xe.renderer,ge=this.options,Se=ge.y,Ae=ge.verticalAlign==="top",$e=this.padding,le=ge.maxHeight,te=ge.navigation,fe=G(te.animation,!0),Me=te.arrowSize||12,H=this.pages,de=this.allItems,oe=function(at){typeof at=="number"?ct.attr({height:at}):ct&&(pe.clipRect=ct.destroy(),pe.contentGroup.clip()),pe.contentGroup.div&&(pe.contentGroup.div.style.clip=at?"rect("+$e+"px,9999px,"+($e+at)+"px,0)":"auto")},_e=function(at){return pe[at]=se.circle(0,0,1.3*Me).translate(Me/2,Me/2).add(He),xe.styledMode||pe[at].attr("fill","rgba(0,0,0,0.0001)"),pe[at]},ce,Oe,Be,Re=xe.spacingBox.height+(Ae?-Se:Se)-$e,He=this.nav,ct=this.clipRect;return ge.layout!=="horizontal"||ge.verticalAlign==="middle"||ge.floating||(Re/=2),le&&(Re=Math.min(Re,le)),H.length=0,K&&Re>0&&K>Re&&te.enabled!==!1?(this.clipHeight=ce=Math.max(Re-20-this.titleHeight-$e,0),this.currentPage=G(this.currentPage,1),this.fullHeight=K,de.forEach((at,ke)=>{let Te=(Be=at.legendItem||{}).y||0,Le=Math.round(Be.label.getBBox().height),ze=H.length;(!ze||Te-H[ze-1]>ce&&(Oe||Te)!==H[ze-1])&&(H.push(Oe||Te),ze++),Be.pageIx=ze-1,Oe&&((de[ke-1].legendItem||{}).pageIx=ze-1),ke===de.length-1&&Te+Le-H[ze-1]>ce&&Te>H[ze-1]&&(H.push(Te),Be.pageIx=ze),Te!==Oe&&(Oe=Te)}),ct||(ct=pe.clipRect=se.clipRect(0,$e-2,9999,0),pe.contentGroup.clip(ct)),oe(ce),He||(this.nav=He=se.g().attr({zIndex:1}).add(this.group),this.up=se.symbol("triangle",0,0,Me,Me).add(He),_e("upTracker").on("click",function(){pe.scroll(-1,fe)}),this.pager=se.text("",15,10).addClass("highcharts-legend-navigation"),!xe.styledMode&&te.style&&this.pager.css(te.style),this.pager.add(He),this.down=se.symbol("triangle-down",0,0,Me,Me).add(He),_e("downTracker").on("click",function(){pe.scroll(1,fe)})),pe.scroll(0),K=Re):He&&(oe(),this.nav=He.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),K}scroll(K,pe){let xe=this.chart,se=this.pages,ge=se.length,Se=this.clipHeight,Ae=this.options.navigation,$e=this.pager,le=this.padding,te=this.currentPage+K;te>ge&&(te=ge),te>0&&(pe!==void 0&&S(pe,xe),this.nav.attr({translateX:le,translateY:Se+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(fe){fe.attr({class:te===1?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),$e.attr({text:te+"/"+ge}),[this.down,this.downTracker].forEach(function(fe){fe.attr({x:18+this.pager.getBBox().width,class:te===ge?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),xe.styledMode||(this.up.attr({fill:te===1?Ae.inactiveColor:Ae.activeColor}),this.upTracker.css({cursor:te===1?"default":"pointer"}),this.down.attr({fill:te===ge?Ae.inactiveColor:Ae.activeColor}),this.downTracker.css({cursor:te===ge?"default":"pointer"})),this.scrollOffset=-se[te-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=te,this.positionCheckboxes(),U(()=>{re(this,"afterScroll",{currentPage:te})},w(G(pe,xe.renderer.globalAnimation,!0)).duration))}setItemEvents(K,pe,xe){let se=this,ge=K.legendItem||{},Se=se.chart.renderer.boxWrapper,Ae=K instanceof d,$e=K instanceof a,le="highcharts-legend-"+(Ae?"point":"series")+"-active",te=se.chart.styledMode,fe=xe?[pe,ge.symbol]:[ge.group],Me=H=>{se.allItems.forEach(de=>{K!==de&&[de].concat(de.linkedSeries||[]).forEach(oe=>{oe.setState(H,!Ae)})})};for(let H of fe)H&&H.on("mouseover",function(){K.visible&&Me("inactive"),K.setState("hover"),K.visible&&Se.addClass(le),te||pe.css(se.options.itemHoverStyle)}).on("mouseout",function(){se.chart.styledMode||pe.css(Y(K.visible?se.itemStyle:se.itemHiddenStyle)),Me(""),Se.removeClass(le),K.setState()}).on("click",function(de){let oe=function(){K.setVisible&&K.setVisible(),Me(K.visible?"inactive":"")};Se.removeClass(le),re(se,"itemClick",{browserEvent:de,legendItem:K},oe),Ae?K.firePointEvent("legendItemClick",{browserEvent:de}):$e&&re(K,"legendItemClick",{browserEvent:de})})}createCheckboxForItem(K){K.checkbox=k("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:K.selected,defaultChecked:K.selected},this.options.itemCheckboxStyle,this.chart.container),N(K.checkbox,"click",function(pe){let xe=pe.target;re(K.series||K,"checkboxClick",{checked:xe.checked,item:K},function(){K.select()})})}}return(b=ie).compose=function(ae){j(M,"Core.Legend")&&N(ae,"beforeMargins",function(){this.legend=new b(this,this.options.legend)})},ie}),r(n,"Core/Chart/Chart.js",[n["Core/Animation/AnimationUtilities.js"],n["Core/Axis/Axis.js"],n["Core/Defaults.js"],n["Core/Templating.js"],n["Core/Foundation.js"],n["Core/Globals.js"],n["Core/Renderer/RendererRegistry.js"],n["Core/Series/Series.js"],n["Core/Series/SeriesRegistry.js"],n["Core/Renderer/SVG/SVGRenderer.js"],n["Core/Time.js"],n["Core/Utilities.js"],n["Core/Renderer/HTML/AST.js"],n["Core/Axis/Tick.js"]],function(i,s,c,a,d,p,y,g,b,w,S,C,M,O){let{animate:I,animObject:D,setAnimation:N}=i,{defaultOptions:k,defaultTime:L}=c,{numberFormat:B}=a,{registerEventOptions:q}=d,{charts:ne,doc:re,marginNames:$,svg:Y,win:G}=p,{seriesTypes:j}=b,{addEvent:R,attr:Z,createElement:U,css:ie,defined:ae,diffObjects:K,discardElement:pe,erase:xe,error:se,extend:ge,find:Se,fireEvent:Ae,getStyle:$e,isArray:le,isNumber:te,isObject:fe,isString:Me,merge:H,objectEach:de,pick:oe,pInt:_e,relativeLength:ce,removeEvent:Oe,splat:Be,syncTimeout:Re,uniqueKey:He}=C;class ct{static chart(ke,Te,Le){return new ct(ke,Te,Le)}constructor(ke,Te,Le){this.sharedClips={};let ze=[...arguments];(Me(ke)||ke.nodeName)&&(this.renderTo=ze.shift()),this.init(ze[0],ze[1])}setZoomOptions(){let ke=this.options.chart,Te=ke.zooming;this.zooming={...Te,type:oe(ke.zoomType,Te.type),key:oe(ke.zoomKey,Te.key),pinchType:oe(ke.pinchType,Te.pinchType),singleTouch:oe(ke.zoomBySingleTouch,Te.singleTouch,!1),resetButton:H(Te.resetButton,ke.resetZoomButton)}}init(ke,Te){Ae(this,"init",{args:arguments},function(){let Le=H(k,ke),ze=Le.chart;this.userOptions=ge({},ke),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=Te,this.isResizing=0,this.options=Le,this.axes=[],this.series=[],this.time=ke.time&&Object.keys(ke.time).length?new S(ke.time):p.time,this.numberFormatter=ze.numberFormatter||B,this.styledMode=ze.styledMode,this.hasCartesianSeries=ze.showAxes,this.index=ne.length,ne.push(this),p.chartCount++,q(this,ze),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),Ae(this,"afterInit"),this.firstRender()})}initSeries(ke){let Te=this.options.chart,Le=ke.type||Te.type,ze=j[Le];ze||se(17,!0,this,{missingModuleFor:Le});let Qe=new ze;return typeof Qe.init=="function"&&Qe.init(this,ke),Qe}setSortedData(){this.getSeriesOrderByLinks().forEach(function(ke){ke.points||ke.data||!ke.enabledDataSorting||ke.setData(ke.options.data,!1)})}getSeriesOrderByLinks(){return this.series.concat().sort(function(ke,Te){return ke.linkedSeries.length||Te.linkedSeries.length?Te.linkedSeries.length-ke.linkedSeries.length:0})}orderItems(ke,Te=0){let Le=this[ke],ze=this.options[ke]=Be(this.options[ke]).slice(),Qe=this.userOptions[ke]=this.userOptions[ke]?Be(this.userOptions[ke]).slice():[];if(this.hasRendered&&(ze.splice(Te),Qe.splice(Te)),Le)for(let Ve=Te,it=Le.length;Ve<it;++Ve){let ot=Le[Ve];ot&&(ot.index=Ve,ot instanceof g&&(ot.name=ot.getName()),ot.options.isInternal||(ze[Ve]=ot.options,Qe[Ve]=ot.userOptions))}}isInsidePlot(ke,Te,Le={}){var bt;let{inverted:ze,plotBox:Qe,plotLeft:Ve,plotTop:it,scrollablePlotBox:ot}=this,{scrollLeft:ft=0,scrollTop:pt=0}=Le.visiblePlotOnly&&((bt=this.scrollablePlotArea)==null?void 0:bt.scrollingContainer)||{},Ke=Le.series,mt=Le.visiblePlotOnly&&ot||Qe,wt=Le.inverted?Te:ke,Pt=Le.inverted?ke:Te,kt={x:wt,y:Pt,isInsidePlot:!0,options:Le};if(!Le.ignoreX){let Zt=Ke&&(ze&&!this.polar?Ke.yAxis:Ke.xAxis)||{pos:Ve,len:1/0},Dt=Le.paneCoordinates?Zt.pos+wt:Ve+wt;Dt>=Math.max(ft+Ve,Zt.pos)&&Dt<=Math.min(ft+Ve+mt.width,Zt.pos+Zt.len)||(kt.isInsidePlot=!1)}if(!Le.ignoreY&&kt.isInsidePlot){let Zt=!ze&&Le.axis&&!Le.axis.isXAxis&&Le.axis||Ke&&(ze?Ke.xAxis:Ke.yAxis)||{pos:it,len:1/0},Dt=Le.paneCoordinates?Zt.pos+Pt:it+Pt;Dt>=Math.max(pt+it,Zt.pos)&&Dt<=Math.min(pt+it+mt.height,Zt.pos+Zt.len)||(kt.isInsidePlot=!1)}return Ae(this,"afterIsInsidePlot",kt),kt.isInsidePlot}redraw(ke){Ae(this,"beforeRedraw");let Te=this.hasCartesianSeries?this.axes:this.colorAxis||[],Le=this.series,ze=this.pointer,Qe=this.legend,Ve=this.userOptions.legend,it=this.renderer,ot=it.isHidden(),ft=[],pt,Ke,mt,wt=this.isDirtyBox,Pt=this.isDirtyLegend,kt;for(it.rootFontSize=it.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),N(!!this.hasRendered&&ke,this),ot&&this.temporaryDisplay(),this.layOutTitles(!1),mt=Le.length;mt--;)if(((kt=Le[mt]).options.stacking||kt.options.centerInCategory)&&(Ke=!0,kt.isDirty)){pt=!0;break}if(pt)for(mt=Le.length;mt--;)(kt=Le[mt]).options.stacking&&(kt.isDirty=!0);Le.forEach(function(bt){bt.isDirty&&(bt.options.legendType==="point"?(typeof bt.updateTotals=="function"&&bt.updateTotals(),Pt=!0):Ve&&(Ve.labelFormatter||Ve.labelFormat)&&(Pt=!0)),bt.isDirtyData&&Ae(bt,"updatedData")}),Pt&&Qe&&Qe.options.enabled&&(Qe.render(),this.isDirtyLegend=!1),Ke&&this.getStacks(),Te.forEach(function(bt){bt.updateNames(),bt.setScale()}),this.getMargins(),Te.forEach(function(bt){bt.isDirty&&(wt=!0)}),Te.forEach(function(bt){let Zt=bt.min+","+bt.max;bt.extKey!==Zt&&(bt.extKey=Zt,ft.push(function(){Ae(bt,"afterSetExtremes",ge(bt.eventArgs,bt.getExtremes())),delete bt.eventArgs})),(wt||Ke)&&bt.redraw()}),wt&&this.drawChartBox(),Ae(this,"predraw"),Le.forEach(function(bt){(wt||bt.isDirty)&&bt.visible&&bt.redraw(),bt.isDirtyData=!1}),ze&&ze.reset(!0),it.draw(),Ae(this,"redraw"),Ae(this,"render"),ot&&this.temporaryDisplay(!0),ft.forEach(function(bt){bt.call()})}get(ke){let Te=this.series;function Le(Qe){return Qe.id===ke||Qe.options&&Qe.options.id===ke}let ze=Se(this.axes,Le)||Se(this.series,Le);for(let Qe=0;!ze&&Qe<Te.length;Qe++)ze=Se(Te[Qe].points||[],Le);return ze}getAxes(){let ke=this.userOptions;for(let Te of(Ae(this,"getAxes"),["xAxis","yAxis"]))for(let Le of ke[Te]=Be(ke[Te]||{}))new s(this,Le,Te);Ae(this,"afterGetAxes")}getSelectedPoints(){return this.series.reduce((ke,Te)=>(Te.getPointsCollection().forEach(Le=>{oe(Le.selectedStaging,Le.selected)&&ke.push(Le)}),ke),[])}getSelectedSeries(){return this.series.filter(function(ke){return ke.selected})}setTitle(ke,Te,Le){this.applyDescription("title",ke),this.applyDescription("subtitle",Te),this.applyDescription("caption",void 0),this.layOutTitles(Le)}applyDescription(ke,Te){let Le=this,ze=this.options[ke]=H(this.options[ke],Te),Qe=this[ke];Qe&&Te&&(this[ke]=Qe=Qe.destroy()),ze&&!Qe&&((Qe=this.renderer.text(ze.text,0,0,ze.useHTML).attr({align:ze.align,class:"highcharts-"+ke,zIndex:ze.zIndex||4}).add()).update=function(Ve,it){Le.applyDescription(ke,Ve),Le.layOutTitles(it)},this.styledMode||Qe.css(ge(ke==="title"?{fontSize:this.options.isStock?"1em":"1.2em"}:{},ze.style)),this[ke]=Qe)}layOutTitles(ke=!0){let Te=[0,0,0],Le=this.renderer,ze=this.spacingBox;["title","subtitle","caption"].forEach(function(Ve){let it=this[Ve],ot=this.options[Ve],ft=ot.verticalAlign||"top",pt=Ve==="title"?ft==="top"?-3:0:ft==="top"?Te[0]+2:0;if(it){it.css({width:(ot.width||ze.width+(ot.widthAdjust||0))+"px"});let Ke=Le.fontMetrics(it).b,mt=Math.round(it.getBBox(ot.useHTML).height);it.align(ge({y:ft==="bottom"?Ke:pt+Ke,height:mt},ot),!1,"spacingBox"),ot.floating||(ft==="top"?Te[0]=Math.ceil(Te[0]+mt):ft==="bottom"&&(Te[2]=Math.ceil(Te[2]+mt)))}},this),Te[0]&&(this.options.title.verticalAlign||"top")==="top"&&(Te[0]+=this.options.title.margin),Te[2]&&this.options.caption.verticalAlign==="bottom"&&(Te[2]+=this.options.caption.margin);let Qe=!this.titleOffset||this.titleOffset.join(",")!==Te.join(",");this.titleOffset=Te,Ae(this,"afterLayOutTitles"),!this.isDirtyBox&&Qe&&(this.isDirtyBox=this.isDirtyLegend=Qe,this.hasRendered&&ke&&this.isDirtyBox&&this.redraw())}getContainerBox(){let ke=[].map.call(this.renderTo.children,Le=>{if(Le!==this.container){let ze=Le.style.display;return Le.style.display="none",[Le,ze]}}),Te={width:$e(this.renderTo,"width",!0)||0,height:$e(this.renderTo,"height",!0)||0};return ke.filter(Boolean).forEach(([Le,ze])=>{Le.style.display=ze}),Te}getChartSize(){var Ve;let ke=this.options.chart,Te=ke.width,Le=ke.height,ze=this.getContainerBox(),Qe=ze.height>1&&!(!((Ve=this.renderTo.parentElement)!=null&&Ve.style.height)&&this.renderTo.style.height==="100%");this.chartWidth=Math.max(0,Te||ze.width||600),this.chartHeight=Math.max(0,ce(Le,this.chartWidth)||(Qe?ze.height:400)),this.containerBox=ze}temporaryDisplay(ke){let Te=this.renderTo,Le;if(ke)for(;Te&&Te.style;)Te.hcOrigStyle&&(ie(Te,Te.hcOrigStyle),delete Te.hcOrigStyle),Te.hcOrigDetached&&(re.body.removeChild(Te),Te.hcOrigDetached=!1),Te=Te.parentNode;else for(;Te&&Te.style&&(re.body.contains(Te)||Te.parentNode||(Te.hcOrigDetached=!0,re.body.appendChild(Te)),($e(Te,"display",!1)==="none"||Te.hcOricDetached)&&(Te.hcOrigStyle={display:Te.style.display,height:Te.style.height,overflow:Te.style.overflow},Le={display:"block",overflow:"hidden"},Te!==this.renderTo&&(Le.height=0),ie(Te,Le),Te.offsetWidth||Te.style.setProperty("display","block","important")),(Te=Te.parentNode)!==re.body););}setClassName(ke){this.container.className="highcharts-container "+(ke||"")}getContainer(){var mt;let ke=this.options,Te=ke.chart,Le="data-highcharts-chart",ze=He(),Qe,Ve=this.renderTo;Ve||(this.renderTo=Ve=Te.renderTo),Me(Ve)&&(this.renderTo=Ve=re.getElementById(Ve)),Ve||se(13,!0,this);let it=_e(Z(Ve,Le));te(it)&&ne[it]&&ne[it].hasRendered&&ne[it].destroy(),Z(Ve,Le,this.index),Ve.innerHTML=M.emptyHTML,Te.skipClone||Ve.offsetWidth||this.temporaryDisplay(),this.getChartSize();let ot=this.chartHeight,ft=this.chartWidth;ie(Ve,{overflow:"hidden"}),this.styledMode||(Qe=ge({position:"relative",overflow:"hidden",width:ft+"px",height:ot+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none",padding:"0px"},Te.style||{}));let pt=U("div",{id:ze},Qe,Ve);this.container=pt,this.getChartSize(),ft===this.chartWidth||(ft=this.chartWidth,this.styledMode||ie(pt,{width:oe((mt=Te.style)==null?void 0:mt.width,ft+"px")})),this.containerBox=this.getContainerBox(),this._cursor=pt.style.cursor;let Ke=Te.renderer||!Y?y.getRendererType(Te.renderer):w;if(this.renderer=new Ke(pt,ft,ot,void 0,Te.forExport,ke.exporting&&ke.exporting.allowHTML,this.styledMode),N(void 0,this),this.setClassName(Te.className),this.styledMode)for(let wt in ke.defs)this.renderer.definition(ke.defs[wt]);else this.renderer.setStyle(Te.style);this.renderer.chartIndex=this.index,Ae(this,"afterGetContainer")}getMargins(ke){let{spacing:Te,margin:Le,titleOffset:ze}=this;this.resetMargins(),ze[0]&&!ae(Le[0])&&(this.plotTop=Math.max(this.plotTop,ze[0]+Te[0])),ze[2]&&!ae(Le[2])&&(this.marginBottom=Math.max(this.marginBottom,ze[2]+Te[2])),this.legend&&this.legend.display&&this.legend.adjustMargins(Le,Te),Ae(this,"getMargins"),ke||this.getAxisMargins()}getAxisMargins(){let ke=this,Te=ke.axisOffset=[0,0,0,0],Le=ke.colorAxis,ze=ke.margin,Qe=function(Ve){Ve.forEach(function(it){it.visible&&it.getOffset()})};ke.hasCartesianSeries?Qe(ke.axes):Le&&Le.length&&Qe(Le),$.forEach(function(Ve,it){ae(ze[it])||(ke[Ve]+=Te[it])}),ke.setChartSize()}getOptions(){return K(this.userOptions,k)}reflow(ke){var Qe;let Te=this,Le=Te.containerBox,ze=Te.getContainerBox();(Qe=Te.pointer)==null||delete Qe.chartPosition,!Te.isPrinting&&!Te.isResizing&&Le&&ze.width&&((ze.width!==Le.width||ze.height!==Le.height)&&(C.clearTimeout(Te.reflowTimeout),Te.reflowTimeout=Re(function(){Te.container&&Te.setSize(void 0,void 0,!1)},ke?100:0)),Te.containerBox=ze)}setReflow(){let ke=this,Te=Le=>{var ze;(ze=ke.options)!=null&&ze.chart.reflow&&ke.hasLoaded&&ke.reflow(Le)};if(typeof ResizeObserver=="function")new ResizeObserver(Te).observe(ke.renderTo);else{let Le=R(G,"resize",Te);R(this,"destroy",Le)}}setSize(ke,Te,Le){let ze=this,Qe=ze.renderer;ze.isResizing+=1,N(Le,ze);let Ve=Qe.globalAnimation;ze.oldChartHeight=ze.chartHeight,ze.oldChartWidth=ze.chartWidth,ke!==void 0&&(ze.options.chart.width=ke),Te!==void 0&&(ze.options.chart.height=Te),ze.getChartSize();let{chartWidth:it,chartHeight:ot,scrollablePixelsX:ft=0,scrollablePixelsY:pt=0}=ze;(ze.isDirtyBox||it!==ze.oldChartWidth||ot!==ze.oldChartHeight)&&(ze.styledMode||(Ve?I:ie)(ze.container,{width:`${it+ft}px`,height:`${ot+pt}px`},Ve),ze.setChartSize(!0),Qe.setSize(it,ot,Ve),ze.axes.forEach(function(Ke){Ke.isDirty=!0,Ke.setScale()}),ze.isDirtyLegend=!0,ze.isDirtyBox=!0,ze.layOutTitles(),ze.getMargins(),ze.redraw(Ve),ze.oldChartHeight=void 0,Ae(ze,"resize"),setTimeout(()=>{ze&&Ae(ze,"endResize")},D(Ve).duration)),ze.isResizing-=1}setChartSize(ke){let Te,Le,ze,Qe,{chartHeight:Ve,chartWidth:it,inverted:ot,spacing:ft,renderer:pt}=this,Ke=this.clipOffset,mt=Math[ot?"floor":"round"];this.plotLeft=Te=Math.round(this.plotLeft),this.plotTop=Le=Math.round(this.plotTop),this.plotWidth=ze=Math.max(0,Math.round(it-Te-this.marginRight)),this.plotHeight=Qe=Math.max(0,Math.round(Ve-Le-this.marginBottom)),this.plotSizeX=ot?Qe:ze,this.plotSizeY=ot?ze:Qe,this.spacingBox=pt.spacingBox={x:ft[3],y:ft[0],width:it-ft[3]-ft[1],height:Ve-ft[0]-ft[2]},this.plotBox=pt.plotBox={x:Te,y:Le,width:ze,height:Qe},Ke&&(this.clipBox={x:mt(Ke[3]),y:mt(Ke[0]),width:mt(this.plotSizeX-Ke[1]-Ke[3]),height:mt(this.plotSizeY-Ke[0]-Ke[2])}),ke||(this.axes.forEach(function(wt){wt.setAxisSize(),wt.setAxisTranslation()}),pt.alignElements()),Ae(this,"afterSetChartSize",{skipAxes:ke})}resetMargins(){Ae(this,"resetMargins");let ke=this,Te=ke.options.chart,Le=Te.plotBorderWidth||0,ze=Le/2;["margin","spacing"].forEach(function(Qe){let Ve=Te[Qe],it=fe(Ve)?Ve:[Ve,Ve,Ve,Ve];["Top","Right","Bottom","Left"].forEach(function(ot,ft){ke[Qe][ft]=oe(Te[Qe+ot],it[ft])})}),$.forEach(function(Qe,Ve){ke[Qe]=oe(ke.margin[Ve],ke.spacing[Ve])}),ke.axisOffset=[0,0,0,0],ke.clipOffset=[ze,ze,ze,ze],ke.plotBorderWidth=Le}drawChartBox(){let ke=this.options.chart,Te=this.renderer,Le=this.chartWidth,ze=this.chartHeight,Qe=this.styledMode,Ve=this.plotBGImage,it=ke.backgroundColor,ot=ke.plotBackgroundColor,ft=ke.plotBackgroundImage,pt=this.plotLeft,Ke=this.plotTop,mt=this.plotWidth,wt=this.plotHeight,Pt=this.plotBox,kt=this.clipRect,bt=this.clipBox,Zt=this.chartBackground,Dt=this.plotBackground,fn=this.plotBorder,An,Ue,Ce,be="animate";Zt||(this.chartBackground=Zt=Te.rect().addClass("highcharts-background").add(),be="attr"),Qe?An=Ue=Zt.strokeWidth():(Ue=(An=ke.borderWidth||0)+(ke.shadow?8:0),Ce={fill:it||"none"},(An||Zt["stroke-width"])&&(Ce.stroke=ke.borderColor,Ce["stroke-width"]=An),Zt.attr(Ce).shadow(ke.shadow)),Zt[be]({x:Ue/2,y:Ue/2,width:Le-Ue-An%2,height:ze-Ue-An%2,r:ke.borderRadius}),be="animate",Dt||(be="attr",this.plotBackground=Dt=Te.rect().addClass("highcharts-plot-background").add()),Dt[be](Pt),!Qe&&(Dt.attr({fill:ot||"none"}).shadow(ke.plotShadow),ft&&(Ve?(ft!==Ve.attr("href")&&Ve.attr("href",ft),Ve.animate(Pt)):this.plotBGImage=Te.image(ft,pt,Ke,mt,wt).add())),kt?kt.animate({width:bt.width,height:bt.height}):this.clipRect=Te.clipRect(bt),be="animate",fn||(be="attr",this.plotBorder=fn=Te.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),Qe||fn.attr({stroke:ke.plotBorderColor,"stroke-width":ke.plotBorderWidth||0,fill:"none"}),fn[be](fn.crisp({x:pt,y:Ke,width:mt,height:wt},-fn.strokeWidth())),this.isDirtyBox=!1,Ae(this,"afterDrawChartBox")}propFromSeries(){let ke,Te,Le,ze=this,Qe=ze.options.chart,Ve=ze.options.series;["inverted","angular","polar"].forEach(function(it){for(Te=j[Qe.type],Le=Qe[it]||Te&&Te.prototype[it],ke=Ve&&Ve.length;!Le&&ke--;)(Te=j[Ve[ke].type])&&Te.prototype[it]&&(Le=!0);ze[it]=Le})}linkSeries(ke){let Te=this,Le=Te.series;Le.forEach(function(ze){ze.linkedSeries.length=0}),Le.forEach(function(ze){let{linkedTo:Qe}=ze.options;if(Me(Qe)){let Ve;(Ve=Qe===":previous"?Te.series[ze.index-1]:Te.get(Qe))&&Ve.linkedParent!==ze&&(Ve.linkedSeries.push(ze),ze.linkedParent=Ve,Ve.enabledDataSorting&&ze.setDataSortingOptions(),ze.visible=oe(ze.options.visible,Ve.options.visible,ze.visible))}}),Ae(this,"afterLinkSeries",{isUpdating:ke})}renderSeries(){this.series.forEach(function(ke){ke.translate(),ke.render()})}render(){var pt;let ke=this.axes,Te=this.colorAxis,Le=this.renderer,ze=this.options.chart.axisLayoutRuns||2,Qe=Ke=>{Ke.forEach(mt=>{mt.visible&&mt.render()})},Ve=0,it=!0,ot,ft=0;for(let Ke of(this.setTitle(),Ae(this,"beforeMargins"),(pt=this.getStacks)==null||pt.call(this),this.getMargins(!0),this.setChartSize(),ke)){let{options:mt}=Ke,{labels:wt}=mt;if(this.hasCartesianSeries&&Ke.horiz&&Ke.visible&&wt.enabled&&Ke.series.length&&Ke.coll!=="colorAxis"&&!this.polar){Ve=mt.tickLength,Ke.createGroups();let Pt=new O(Ke,0,"",!0),kt=Pt.createLabel("x",wt);if(Pt.destroy(),kt&&oe(wt.reserveSpace,!te(mt.crossing))&&(Ve=kt.getBBox().height+wt.distance+Math.max(mt.offset||0,0)),Ve){kt==null||kt.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-Ve,0);(it||ot||ze>1)&&ft<ze;){let Ke=this.plotWidth,mt=this.plotHeight;for(let wt of ke)ft===0?wt.setScale():(wt.horiz&&it||!wt.horiz&&ot)&&wt.setTickInterval(!0);ft===0?this.getAxisMargins():this.getMargins(),it=Ke/this.plotWidth>(ft?1:1.1),ot=mt/this.plotHeight>(ft?1:1.05),ft++}this.drawChartBox(),this.hasCartesianSeries?Qe(ke):Te&&Te.length&&Qe(Te),this.seriesGroup||(this.seriesGroup=Le.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(ke){let Te=this,Le=H(!0,this.options.credits,ke);Le.enabled&&!this.credits&&(this.credits=this.renderer.text(Le.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){Le.href&&(G.location.href=Le.href)}).attr({align:Le.position.align,zIndex:8}),Te.styledMode||this.credits.css(Le.style),this.credits.add().align(Le.position),this.credits.update=function(ze){Te.credits=Te.credits.destroy(),Te.addCredits(ze)})}destroy(){let ke,Te=this,Le=Te.axes,ze=Te.series,Qe=Te.container,Ve=Qe&&Qe.parentNode;for(Ae(Te,"destroy"),Te.renderer.forExport?xe(ne,Te):ne[Te.index]=void 0,p.chartCount--,Te.renderTo.removeAttribute("data-highcharts-chart"),Oe(Te),ke=Le.length;ke--;)Le[ke]=Le[ke].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),ke=ze.length;ke--;)ze[ke]=ze[ke].destroy();["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach(function(it){let ot=Te[it];ot&&ot.destroy&&(Te[it]=ot.destroy())}),Qe&&(Qe.innerHTML=M.emptyHTML,Oe(Qe),Ve&&pe(Qe)),de(Te,function(it,ot){delete Te[ot]})}firstRender(){var ze;let ke=this,Te=ke.options;ke.getContainer(),ke.resetMargins(),ke.setChartSize(),ke.propFromSeries(),ke.getAxes();let Le=le(Te.series)?Te.series:[];Te.series=[],Le.forEach(function(Qe){ke.initSeries(Qe)}),ke.linkSeries(),ke.setSortedData(),Ae(ke,"beforeRender"),ke.render(),(ze=ke.pointer)==null||ze.getChartPosition(),ke.renderer.imgCount||ke.hasLoaded||ke.onload(),ke.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach(function(ke){ke&&this.index!==void 0&&ke.apply(this,[this])},this),Ae(this,"load"),Ae(this,"render"),ae(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:ke,title:Te}=this;!ke||this.accessibility||(this.renderer.boxWrapper.attr({role:"img","aria-label":(Te&&Te.element.textContent||"").replace(/</g,"&lt;")}),ke.accessibility&&ke.accessibility.enabled===!1||se('Highcharts warning: Consider including the "accessibility.js" module to make your chart more usable for people with disabilities. Set the "accessibility.enabled" option to false to remove this warning. See https://www.highcharts.com/docs/accessibility/accessibility-module.',!1,this))}addSeries(ke,Te,Le){let ze,Qe=this;return ke&&(Te=oe(Te,!0),Ae(Qe,"addSeries",{options:ke},function(){ze=Qe.initSeries(ke),Qe.isDirtyLegend=!0,Qe.linkSeries(),ze.enabledDataSorting&&ze.setData(ke.data,!1),Ae(Qe,"afterAddSeries",{series:ze}),Te&&Qe.redraw(Le)})),ze}addAxis(ke,Te,Le,ze){return this.createAxis(Te?"xAxis":"yAxis",{axis:ke,redraw:Le,animation:ze})}addColorAxis(ke,Te,Le){return this.createAxis("colorAxis",{axis:ke,redraw:Te,animation:Le})}createAxis(ke,Te){let Le=new s(this,Te.axis,ke);return oe(Te.redraw,!0)&&this.redraw(Te.animation),Le}showLoading(ke){let Te=this,Le=Te.options,ze=Le.loading,Qe=function(){Ve&&ie(Ve,{left:Te.plotLeft+"px",top:Te.plotTop+"px",width:Te.plotWidth+"px",height:Te.plotHeight+"px"})},Ve=Te.loadingDiv,it=Te.loadingSpan;Ve||(Te.loadingDiv=Ve=U("div",{className:"highcharts-loading highcharts-loading-hidden"},null,Te.container)),it||(Te.loadingSpan=it=U("span",{className:"highcharts-loading-inner"},null,Ve),R(Te,"redraw",Qe)),Ve.className="highcharts-loading",M.setElementHTML(it,oe(ke,Le.lang.loading,"")),Te.styledMode||(ie(Ve,ge(ze.style,{zIndex:10})),ie(it,ze.labelStyle),Te.loadingShown||(ie(Ve,{opacity:0,display:""}),I(Ve,{opacity:ze.style.opacity||.5},{duration:ze.showDuration||0}))),Te.loadingShown=!0,Qe()}hideLoading(){let ke=this.options,Te=this.loadingDiv;Te&&(Te.className="highcharts-loading highcharts-loading-hidden",this.styledMode||I(Te,{opacity:0},{duration:ke.loading.hideDuration||100,complete:function(){ie(Te,{display:"none"})}})),this.loadingShown=!1}update(ke,Te,Le,ze){let Qe,Ve,it,ot=this,ft={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle",caption:"setCaption"},pt=ke.isResponsiveOptions,Ke=[];Ae(ot,"update",{options:ke}),pt||ot.setResponsive(!1,!0),ke=K(ke,ot.options),ot.userOptions=H(ot.userOptions,ke);let mt=ke.chart;mt&&(H(!0,ot.options.chart,mt),this.setZoomOptions(),"className"in mt&&ot.setClassName(mt.className),("inverted"in mt||"polar"in mt||"type"in mt)&&(ot.propFromSeries(),Qe=!0),"alignTicks"in mt&&(Qe=!0),"events"in mt&&q(this,mt),de(mt,function(kt,bt){ot.propsRequireUpdateSeries.indexOf("chart."+bt)!==-1&&(Ve=!0),ot.propsRequireDirtyBox.indexOf(bt)!==-1&&(ot.isDirtyBox=!0),ot.propsRequireReflow.indexOf(bt)===-1||(ot.isDirtyBox=!0,pt||(it=!0))}),!ot.styledMode&&mt.style&&ot.renderer.setStyle(ot.options.chart.style||{})),!ot.styledMode&&ke.colors&&(this.options.colors=ke.colors),ke.time&&(this.time===L&&(this.time=new S(ke.time)),H(!0,ot.options.time,ke.time)),de(ke,function(kt,bt){ot[bt]&&typeof ot[bt].update=="function"?ot[bt].update(kt,!1):typeof ot[ft[bt]]=="function"?ot[ft[bt]](kt):bt!=="colors"&&ot.collectionsWithUpdate.indexOf(bt)===-1&&H(!0,ot.options[bt],ke[bt]),bt!=="chart"&&ot.propsRequireUpdateSeries.indexOf(bt)!==-1&&(Ve=!0)}),this.collectionsWithUpdate.forEach(function(kt){ke[kt]&&(Be(ke[kt]).forEach(function(bt,Zt){let Dt,fn=ae(bt.id);fn&&(Dt=ot.get(bt.id)),!Dt&&ot[kt]&&(Dt=ot[kt][oe(bt.index,Zt)])&&(fn&&ae(Dt.options.id)||Dt.options.isInternal)&&(Dt=void 0),Dt&&Dt.coll===kt&&(Dt.update(bt,!1),Le&&(Dt.touched=!0)),!Dt&&Le&&ot.collectionsWithInit[kt]&&(ot.collectionsWithInit[kt][0].apply(ot,[bt].concat(ot.collectionsWithInit[kt][1]||[]).concat([!1])).touched=!0)}),Le&&ot[kt].forEach(function(bt){bt.touched||bt.options.isInternal?delete bt.touched:Ke.push(bt)}))}),Ke.forEach(function(kt){kt.chart&&kt.remove&&kt.remove(!1)}),Qe&&ot.axes.forEach(function(kt){kt.update({},!1)}),Ve&&ot.getSeriesOrderByLinks().forEach(function(kt){kt.chart&&kt.update({},!1)},this);let wt=mt&&mt.width,Pt=mt&&(Me(mt.height)?ce(mt.height,wt||ot.chartWidth):mt.height);it||te(wt)&&wt!==ot.chartWidth||te(Pt)&&Pt!==ot.chartHeight?ot.setSize(wt,Pt,ze):oe(Te,!0)&&ot.redraw(ze),Ae(ot,"afterUpdate",{options:ke,redraw:Te,animation:ze})}setSubtitle(ke,Te){this.applyDescription("subtitle",ke),this.layOutTitles(Te)}setCaption(ke,Te){this.applyDescription("caption",ke),this.layOutTitles(Te)}showResetZoom(){let ke=this,Te=k.lang,Le=ke.zooming.resetButton,ze=Le.theme,Qe=Le.relativeTo==="chart"||Le.relativeTo==="spacingBox"?null:"plotBox";function Ve(){ke.zoomOut()}Ae(this,"beforeShowResetZoom",null,function(){ke.resetZoomButton=ke.renderer.button(Te.resetZoom,null,null,Ve,ze).attr({align:Le.position.align,title:Te.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(Le.position,!1,Qe)}),Ae(this,"afterShowResetZoom")}zoomOut(){Ae(this,"selection",{resetSelection:!0},()=>this.transform({reset:!0,trigger:"zoom"}))}pan(ke,Te){let Le=this,ze=typeof Te=="object"?Te:{enabled:Te,type:"x"},Qe=ze.type,Ve=Qe&&Le[{x:"xAxis",xy:"axes",y:"yAxis"}[Qe]].filter(ot=>ot.options.panningEnabled&&!ot.options.isInternal),it=Le.options.chart;it!=null&&it.panning&&(it.panning=ze),Ae(this,"pan",{originalEvent:ke},()=>{Le.transform({axes:Ve,event:ke,to:{x:ke.chartX-(Le.mouseDownX||0),y:ke.chartY-(Le.mouseDownY||0)},trigger:"pan"}),ie(Le.container,{cursor:"move"})})}transform(ke){var wt;let{axes:Te=this.axes,event:Le,from:ze={},reset:Qe,selection:Ve,to:it={},trigger:ot}=ke,{inverted:ft}=this,pt=!1,Ke,mt;for(let Pt of((wt=this.hoverPoints)==null||wt.forEach(kt=>kt.setState()),Te)){let{horiz:kt,len:bt,minPointOffset:Zt=0,options:Dt,reversed:fn}=Pt,An=kt?"width":"height",Ue=kt?"x":"y",Ce=oe(it[An],Pt.len),be=oe(ze[An],Pt.len),Pe=10>Math.abs(Ce)?1:Ce/be,Ge=(ze[Ue]||0)+be/2-Pt.pos,nt=Ge-((it[Ue]??Pt.pos)+Ce/2-Pt.pos)/Pe,lt=fn&&!ft||!fn&&ft?-1:1;if(!Qe&&(Ge<0||Ge>Pt.len))continue;let ht=Pt.toValue(nt,!0)+(Ve||Pt.isOrdinal?0:Zt*lt),Je=Pt.toValue(nt+bt/Pe,!0)-(Ve||Pt.isOrdinal?0:Zt*lt||0),_t=Pt.allExtremes;if(ht>Je&&([ht,Je]=[Je,ht]),Pe===1&&!Qe&&Pt.coll==="yAxis"&&!_t){for(let Cn of Pt.series){let On=Cn.getExtremes(Cn.getProcessedData(!0).yData,!0);_t??(_t={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE}),te(On.dataMin)&&te(On.dataMax)&&(_t.dataMin=Math.min(On.dataMin,_t.dataMin),_t.dataMax=Math.max(On.dataMax,_t.dataMax))}Pt.allExtremes=_t}let{dataMin:At,dataMax:St,min:jt,max:an}=ge(Pt.getExtremes(),_t||{}),Xe=At??Dt.min,Mt=St??Dt.max,Ot=Je-ht,Vt=Pt.categories?0:Math.min(Ot,Mt-Xe),Kt=Xe-Vt*(ae(Dt.min)?0:Dt.minPadding),bn=Mt+Vt*(ae(Dt.max)?0:Dt.maxPadding),pn=Pt.allowZoomOutside||Pe===1||ot!=="zoom"&&Pe>1,Gt=Math.min(Dt.min??Kt,Kt,pn?jt:Kt),wn=Math.max(Dt.max??bn,bn,pn?an:bn);(!Pt.isOrdinal||Pt.options.overscroll||Pe!==1||Qe)&&(ht<Gt&&(ht=Gt,Pe>=1&&(Je=ht+Ot)),Je>wn&&(Je=wn,Pe>=1&&(ht=Je-Ot)),(Qe||Pt.series.length&&(ht!==jt||Je!==an)&&ht>=Gt&&Je<=wn)&&(Ve?Ve[Pt.coll].push({axis:Pt,min:ht,max:Je}):(Pt.isPanning=ot!=="zoom",Pt.isPanning&&(mt=!0),Pt.setExtremes(Qe?void 0:ht,Qe?void 0:Je,!1,!1,{move:nt,trigger:ot,scale:Pe}),!Qe&&(ht>Gt||Je<wn)&&ot!=="mousewheel"&&(Ke=!0)),pt=!0),Le&&(this[kt?"mouseDownX":"mouseDownY"]=Le[kt?"chartX":"chartY"]))}return pt&&(Ve?Ae(this,"selection",Ve,()=>{delete ke.selection,ke.trigger="zoom",this.transform(ke)}):(!Ke||mt||this.resetZoomButton?!Ke&&this.resetZoomButton&&(this.resetZoomButton=this.resetZoomButton.destroy()):this.showResetZoom(),this.redraw(ot==="zoom"&&(this.options.chart.animation??this.pointCount<100)))),pt}}return ge(ct.prototype,{callbacks:[],collectionsWithInit:{xAxis:[ct.prototype.addAxis,[!0]],yAxis:[ct.prototype.addAxis,[!1]],series:[ct.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"]}),ct}),r(n,"Extensions/ScrollablePlotArea.js",[n["Core/Animation/AnimationUtilities.js"],n["Core/Globals.js"],n["Core/Renderer/RendererRegistry.js"],n["Core/Utilities.js"]],function(i,s,c,a){let{stop:d}=i,{composed:p}=s,{addEvent:y,createElement:g,css:b,defined:w,merge:S,pushUnique:C}=a;function M(){let D=this.scrollablePlotArea;(this.scrollablePixelsX||this.scrollablePixelsY)&&!D&&(this.scrollablePlotArea=D=new I(this)),D==null||D.applyFixed()}function O(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class I{static compose(N,k,L){C(p,this.compose)&&(y(N,"afterInit",O),y(k,"afterSetChartSize",B=>this.afterSetSize(B.target,B)),y(k,"render",M),y(L,"show",O))}static afterSetSize(N,k){let L,B,q,{minWidth:ne,minHeight:re}=N.options.chart.scrollablePlotArea||{},{clipBox:$,plotBox:Y,inverted:G,renderer:j}=N;if(!j.forExport&&(ne?(N.scrollablePixelsX=L=Math.max(0,ne-N.chartWidth),L&&(N.scrollablePlotBox=S(N.plotBox),Y.width=N.plotWidth+=L,$[G?"height":"width"]+=L,q=!0)):re&&(N.scrollablePixelsY=B=Math.max(0,re-N.chartHeight),w(B)&&(N.scrollablePlotBox=S(N.plotBox),Y.height=N.plotHeight+=B,$[G?"width":"height"]+=B,q=!1)),w(q)&&!k.skipAxes))for(let R of N.axes)R.horiz===q&&(R.setAxisSize(),R.setAxisTranslation())}constructor(N){var Z;let k,L=N.options.chart,B=c.getRendererType(),q=L.scrollablePlotArea||{},ne=this.moveFixedElements.bind(this),re={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};N.scrollablePixelsX&&(re.overflowX="auto"),N.scrollablePixelsY&&(re.overflowY="auto"),this.chart=N;let $=this.parentDiv=g("div",{className:"highcharts-scrolling-parent"},{position:"relative"},N.renderTo),Y=this.scrollingContainer=g("div",{className:"highcharts-scrolling"},re,$),G=this.innerContainer=g("div",{className:"highcharts-inner-container"},void 0,Y),j=this.fixedDiv=g("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(((Z=L.style)==null?void 0:Z.zIndex)||0)+2,top:0},void 0,!0),R=this.fixedRenderer=new B(j,N.chartWidth,N.chartHeight,L.style);this.mask=R.path().attr({fill:L.backgroundColor||"#fff","fill-opacity":q.opacity??.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),Y.parentNode.insertBefore(j,Y),b(N.renderTo,{overflow:"visible"}),y(N,"afterShowResetZoom",ne),y(N,"afterApplyDrilldown",ne),y(N,"afterLayOutTitles",ne),y(Y,"scroll",()=>{let{pointer:U,hoverPoint:ie}=N;U&&(delete U.chartPosition,ie&&(k=ie),U.runPointActions(void 0,k,!0))}),G.appendChild(N.container)}applyFixed(){var te;let{chart:N,fixedRenderer:k,isDirty:L,scrollingContainer:B}=this,{axisOffset:q,chartWidth:ne,chartHeight:re,container:$,plotHeight:Y,plotLeft:G,plotTop:j,plotWidth:R,scrollablePixelsX:Z=0,scrollablePixelsY:U=0}=N,{scrollPositionX:ie=0,scrollPositionY:ae=0}=N.options.chart.scrollablePlotArea||{},K=ne+Z,pe=re+U;k.setSize(ne,re),(L??!0)&&(this.isDirty=!1,this.moveFixedElements()),d(N.container),b($,{width:`${K}px`,height:`${pe}px`}),N.renderer.boxWrapper.attr({width:K,height:pe,viewBox:[0,0,K,pe].join(" ")}),(te=N.chartBackground)==null||te.attr({width:K,height:pe}),b(B,{width:`${ne}px`,height:`${re}px`}),w(L)||(B.scrollLeft=Z*ie,B.scrollTop=U*ae);let xe=j-q[0]-1,se=G-q[3]-1,ge=j+Y+q[2]+1,Se=G+R+q[1]+1,Ae=G+R-Z,$e=j+Y-U,le=[["M",0,0]];Z?le=[["M",0,xe],["L",G-1,xe],["L",G-1,ge],["L",0,ge],["Z"],["M",Ae,xe],["L",ne,xe],["L",ne,ge],["L",Ae,ge],["Z"]]:U&&(le=[["M",se,0],["L",se,j-1],["L",Se,j-1],["L",Se,0],["Z"],["M",se,$e],["L",se,re],["L",Se,re],["L",Se,$e],["Z"]]),N.redrawTrigger!=="adjustHeight"&&this.mask.attr({d:le})}moveFixedElements(){let N,{container:k,inverted:L,scrollablePixelsX:B,scrollablePixelsY:q}=this.chart,ne=this.fixedRenderer,re=I.fixedSelectors;for(let $ of(B&&!L?N=".highcharts-yaxis":B&&L||q&&!L?N=".highcharts-xaxis":q&&L&&(N=".highcharts-yaxis"),N&&re.push(`${N}:not(.highcharts-radial-axis)`,`${N}-labels:not(.highcharts-radial-axis-labels)`),re))[].forEach.call(k.querySelectorAll($),Y=>{(Y.namespaceURI===ne.SVG_NS?ne.box:ne.box.parentNode).appendChild(Y),Y.style.pointerEvents="auto"})}}return I.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"],I}),r(n,"Core/Axis/Stacking/StackItem.js",[n["Core/Templating.js"],n["Core/Series/SeriesRegistry.js"],n["Core/Utilities.js"]],function(i,s,c){let{format:a}=i,{series:d}=s,{destroyObjectProperties:p,fireEvent:y,isNumber:g,pick:b}=c;return class{constructor(w,S,C,M,O){let I=w.chart.inverted,D=w.reversed;this.axis=w;let N=this.isNegative=!!C!=!!D;this.options=S=S||{},this.x=M,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=O,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:S.align||(I?N?"left":"right":"center"),verticalAlign:S.verticalAlign||(I?"middle":N?"bottom":"top"),y:S.y,x:S.x},this.textAlign=S.textAlign||(I?N?"right":"left":"center")}destroy(){p(this,this.axis)}render(w){let S=this.axis.chart,C=this.options,M=C.format,O=M?a(M,this,S):C.formatter.call(this);if(this.label)this.label.attr({text:O,visibility:"hidden"});else{this.label=S.renderer.label(O,null,void 0,C.shape,void 0,void 0,C.useHTML,!1,"stack-labels");let I={r:C.borderRadius||0,text:O,padding:b(C.padding,5),visibility:"hidden"};S.styledMode||(I.fill=C.backgroundColor,I.stroke=C.borderColor,I["stroke-width"]=C.borderWidth,this.label.css(C.style||{})),this.label.attr(I),this.label.added||this.label.add(w)}this.label.labelrank=S.plotSizeY,y(this,"afterRender")}setOffset(w,S,C,M,O,I){let{alignOptions:D,axis:N,label:k,options:L,textAlign:B}=this,q=N.chart,ne=this.getStackBox({xOffset:w,width:S,boxBottom:C,boxTop:M,defaultX:O,xAxis:I}),{verticalAlign:re}=D;if(k&&ne){let $=k.getBBox(void 0,0),Y=k.padding,G=b(L.overflow,"justify")==="justify",j;D.x=L.x||0,D.y=L.y||0;let{x:R,y:Z}=this.adjustStackPosition({labelBox:$,verticalAlign:re,textAlign:B});ne.x-=R,ne.y-=Z,k.align(D,!1,ne),(j=q.isInsidePlot(k.alignAttr.x+D.x+R,k.alignAttr.y+D.y+Z))||(G=!1),G&&d.prototype.justifyDataLabel.call(N,k,D,k.alignAttr,$,ne),k.attr({x:k.alignAttr.x,y:k.alignAttr.y,rotation:L.rotation,rotationOriginX:$.width*{left:0,center:.5,right:1}[L.textAlign||"center"],rotationOriginY:$.height/2}),b(!G&&L.crop,!0)&&(j=g(k.x)&&g(k.y)&&q.isInsidePlot(k.x-Y+(k.width||0),k.y)&&q.isInsidePlot(k.x+Y,k.y)),k[j?"show":"hide"]()}y(this,"afterSetOffset",{xOffset:w,width:S})}adjustStackPosition({labelBox:w,verticalAlign:S,textAlign:C}){let M={bottom:0,middle:1,top:2,right:1,center:0,left:-1},O=M[S],I=M[C];return{x:w.width/2+w.width/2*I,y:w.height/2*O}}getStackBox(w){let S=this.axis,C=S.chart,{boxTop:M,defaultX:O,xOffset:I,width:D,boxBottom:N}=w,k=S.stacking.usePercentage?100:b(M,this.total,0),L=S.toPixels(k),B=w.xAxis||C.xAxis[0],q=b(O,B.translate(this.x))+I,ne=Math.abs(L-S.toPixels(N||g(S.min)&&S.logarithmic&&S.logarithmic.lin2log(S.min)||0)),re=C.inverted,$=this.isNegative;return re?{x:($?L:L-ne)-C.plotLeft,y:B.height-q-D+B.top-C.plotTop,width:ne,height:D}:{x:q+B.transB-C.plotLeft,y:($?L-ne:L)-C.plotTop,width:D,height:ne}}}}),r(n,"Core/Axis/Stacking/StackingAxis.js",[n["Core/Animation/AnimationUtilities.js"],n["Core/Axis/Axis.js"],n["Core/Series/SeriesRegistry.js"],n["Core/Axis/Stacking/StackItem.js"],n["Core/Utilities.js"]],function(i,s,c,a,d){var p;let{getDeferredAnimation:y}=i,{series:{prototype:g}}=c,{addEvent:b,correctFloat:w,defined:S,destroyObjectProperties:C,fireEvent:M,isArray:O,isNumber:I,objectEach:D,pick:N}=d;function k(){let j=this.inverted;this.axes.forEach(R=>{R.stacking&&R.stacking.stacks&&R.hasVisibleSeries&&(R.stacking.oldStacks=R.stacking.stacks)}),this.series.forEach(R=>{let Z=R.xAxis&&R.xAxis.options||{};R.options.stacking&&R.reserveSpace()&&(R.stackKey=[R.type,N(R.options.stack,""),j?Z.top:Z.left,j?Z.height:Z.width].join(","))})}function L(){var R;let j=this.stacking;if(j){let Z=j.stacks;D(Z,(U,ie)=>{C(U),delete Z[ie]}),(R=j.stackTotalGroup)==null||R.destroy()}}function B(){this.stacking||(this.stacking=new G(this))}function q(j,R,Z,U){return!S(j)||j.x!==R||U&&j.stackKey!==U?j={x:R,index:0,key:U,stackKey:U}:j.index++,j.key=[Z,R,j.index].join(","),j}function ne(){let j,R=this,Z=R.yAxis,U=R.stackKey||"",ie=Z.stacking.stacks,ae=R.processedXData,K=R.options.stacking,pe=R[K+"Stacker"];pe&&[U,"-"+U].forEach(xe=>{var $e;let se=ae.length,ge,Se,Ae;for(;se--;)ge=ae[se],j=R.getStackIndicator(j,ge,R.index,xe),Se=($e=ie[xe])==null?void 0:$e[ge],(Ae=Se==null?void 0:Se.points[j.key||""])&&pe.call(R,Ae,Se,se)})}function re(j,R,Z){let U=R.total?100/R.total:0;j[0]=w(j[0]*U),j[1]=w(j[1]*U),this.stackedYData[Z]=j[1]}function $(j){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&!this.options.stacking&&this.chart.series.length>1?g.setStackedPoints.call(this,j,"group"):j.stacking.resetStacks())}function Y(j,R){var He,ct;let Z,U,ie,ae,K,pe,xe,se,ge,Se=R||this.options.stacking;if(!Se||!this.reserveSpace()||({group:"xAxis"}[Se]||"yAxis")!==j.coll)return;let Ae=this.processedXData,$e=this.processedYData,le=[],te=$e.length,fe=this.options,Me=fe.threshold||0,H=fe.startFromThreshold?Me:0,de=fe.stack,oe=R?`${this.type},${Se}`:this.stackKey||"",_e="-"+oe,ce=this.negStacks,Oe=j.stacking,Be=Oe.stacks,Re=Oe.oldStacks;for(Oe.stacksTouched+=1,xe=0;xe<te;xe++){se=Ae[xe],ge=$e[xe],pe=(Z=this.getStackIndicator(Z,se,this.index)).key||"",Be[K=(U=ce&&ge<(H?0:Me))?_e:oe]||(Be[K]={}),Be[K][se]||((He=Re[K])!=null&&He[se]?(Be[K][se]=Re[K][se],Be[K][se].total=null):Be[K][se]=new a(j,j.options.stackLabels,!!U,se,de)),ie=Be[K][se],ge!==null?(ie.points[pe]=ie.points[this.index]=[N(ie.cumulative,H)],S(ie.cumulative)||(ie.base=pe),ie.touched=Oe.stacksTouched,Z.index>0&&this.singleStacks===!1&&(ie.points[pe][0]=ie.points[this.index+","+se+",0"][0])):(delete ie.points[pe],delete ie.points[this.index]);let at=ie.total||0;Se==="percent"?(ae=U?oe:_e,at=ce&&((ct=Be[ae])!=null&&ct[se])?(ae=Be[ae][se]).total=Math.max(ae.total||0,at)+Math.abs(ge)||0:w(at+(Math.abs(ge)||0))):Se==="group"?(O(ge)&&(ge=ge[0]),ge!==null&&at++):at=w(at+(ge||0)),Se==="group"?ie.cumulative=(at||1)-1:ie.cumulative=w(N(ie.cumulative,H)+(ge||0)),ie.total=at,ge!==null&&(ie.points[pe].push(ie.cumulative),le[xe]=ie.cumulative,ie.hasValidPoints=!0)}Se==="percent"&&(Oe.usePercentage=!0),Se!=="group"&&(this.stackedYData=le),Oe.oldStacks={}}class G{constructor(R){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=R}buildStacks(){let R,Z,U=this.axis,ie=U.series,ae=U.coll==="xAxis",K=U.options.reversedStacks,pe=ie.length;for(this.resetStacks(),this.usePercentage=!1,Z=pe;Z--;)R=ie[K?Z:pe-Z-1],ae&&R.setGroupedPoints(U),R.setStackedPoints(U);if(!ae)for(Z=0;Z<pe;Z++)ie[Z].modifyStacks();M(U,"afterBuildStacks")}cleanStacks(){this.oldStacks&&(this.stacks=this.oldStacks,D(this.stacks,R=>{D(R,Z=>{Z.cumulative=Z.total})}))}resetStacks(){D(this.stacks,R=>{D(R,(Z,U)=>{I(Z.touched)&&Z.touched<this.stacksTouched?(Z.destroy(),delete R[U]):(Z.total=null,Z.cumulative=null)})})}renderStackTotals(){var pe;let R=this.axis,Z=R.chart,U=Z.renderer,ie=this.stacks,ae=y(Z,((pe=R.options.stackLabels)==null?void 0:pe.animation)||!1),K=this.stackTotalGroup=this.stackTotalGroup||U.g("stack-labels").attr({zIndex:6,opacity:0}).add();K.translate(Z.plotLeft,Z.plotTop),D(ie,xe=>{D(xe,se=>{se.render(K)})}),K.animate({opacity:1},ae)}}return(p||(p={})).compose=function(j,R,Z){let U=R.prototype,ie=Z.prototype;U.getStacks||(b(j,"init",B),b(j,"destroy",L),U.getStacks=k,ie.getStackIndicator=q,ie.modifyStacks=ne,ie.percentStacker=re,ie.setGroupedPoints=$,ie.setStackedPoints=Y)},p}),r(n,"Series/Line/LineSeries.js",[n["Core/Series/Series.js"],n["Core/Series/SeriesRegistry.js"],n["Core/Utilities.js"]],function(i,s,c){let{defined:a,merge:d,isObject:p}=c;class y extends i{drawGraph(){let b=this.options,w=(this.gappedPath||this.getGraphPath).call(this),S=this.chart.styledMode;[this,...this.zones].forEach((C,M)=>{let O,I=C.graph,D=I?"animate":"attr",N=C.dashStyle||b.dashStyle;I?(I.endX=this.preventGraphAnimation?null:w.xMap,I.animate({d:w})):w.length&&(C.graph=I=this.chart.renderer.path(w).addClass("highcharts-graph"+(M?` highcharts-zone-graph-${M-1} `:" ")+(M&&C.className||"")).attr({zIndex:1}).add(this.group)),I&&!S&&(O={stroke:!M&&b.lineColor||C.color||this.color||"#cccccc","stroke-width":b.lineWidth||0,fill:this.fillGraph&&this.color||"none"},N?O.dashstyle=N:b.linecap!=="square"&&(O["stroke-linecap"]=O["stroke-linejoin"]="round"),I[D](O).shadow(M<2&&b.shadow&&d({filterUnits:"userSpaceOnUse"},p(b.shadow)?b.shadow:{}))),I&&(I.startX=w.xMap,I.isArea=w.isArea)})}getGraphPath(b,w,S){let C=this,M=C.options,O=[],I=[],D,N=M.step,k=(b=b||C.points).reversed;return k&&b.reverse(),(N={right:1,center:2}[N]||N&&3)&&k&&(N=4-N),(b=this.getValidPoints(b,!1,!(M.connectNulls&&!w&&!S))).forEach(function(L,B){let q,ne=L.plotX,re=L.plotY,$=b[B-1],Y=L.isNull||typeof re!="number";(L.leftCliff||$&&$.rightCliff)&&!S&&(D=!0),Y&&!a(w)&&B>0?D=!M.connectNulls:Y&&!w?D=!0:(B===0||D?q=[["M",L.plotX,L.plotY]]:C.getPointSpline?q=[C.getPointSpline(b,L,B)]:N?(q=N===1?[["L",$.plotX,re]]:N===2?[["L",($.plotX+ne)/2,$.plotY],["L",($.plotX+ne)/2,re]]:[["L",ne,$.plotY]]).push(["L",ne,re]):q=[["L",ne,re]],I.push(L.x),N&&(I.push(L.x),N===2&&I.push(L.x)),O.push.apply(O,q),D=!1)}),O.xMap=I,C.graphPath=O,O}}return y.defaultOptions=d(i.defaultOptions,{legendSymbol:"lineMarker"}),s.registerSeriesType("line",y),y}),r(n,"Series/Area/AreaSeriesDefaults.js",[],function(){return{threshold:0,legendSymbol:"areaMarker"}}),r(n,"Series/Area/AreaSeries.js",[n["Series/Area/AreaSeriesDefaults.js"],n["Core/Series/SeriesRegistry.js"],n["Core/Utilities.js"]],function(i,s,c){let{seriesTypes:{line:a}}=s,{extend:d,merge:p,objectEach:y,pick:g}=c;class b extends a{drawGraph(){this.areaPath=[],super.drawGraph.apply(this);let{areaPath:S,options:C}=this;[this,...this.zones].forEach((M,O)=>{let I={},D=M.fillColor||C.fillColor,N=M.area,k=N?"animate":"attr";N?(N.endX=this.preventGraphAnimation?null:S.xMap,N.animate({d:S})):(I.zIndex=0,(N=M.area=this.chart.renderer.path(S).addClass("highcharts-area"+(O?` highcharts-zone-area-${O-1} `:" ")+(O&&M.className||"")).add(this.group)).isArea=!0),this.chart.styledMode||(I.fill=D||M.color||this.color,I["fill-opacity"]=D?1:C.fillOpacity??.75,N.css({pointerEvents:this.stickyTracking?"none":"auto"})),N[k](I),N.startX=S.xMap,N.shiftUnit=C.step?2:1})}getGraphPath(S){let C,M,O,I=a.prototype.getGraphPath,D=this.options,N=D.stacking,k=this.yAxis,L=[],B=[],q=this.index,ne=k.stacking.stacks[this.stackKey],re=D.threshold,$=Math.round(k.getThreshold(D.threshold)),Y=g(D.connectNulls,N==="percent"),G=function(ae,K,pe){let xe=S[ae],se=N&&ne[xe.x].points[q],ge=xe[pe+"Null"]||0,Se=xe[pe+"Cliff"]||0,Ae,$e,le=!0;Se||ge?(Ae=(ge?se[0]:se[1])+Se,$e=se[0]+Se,le=!!ge):!N&&S[K]&&S[K].isNull&&(Ae=$e=re),Ae!==void 0&&(B.push({plotX:C,plotY:Ae===null?$:k.getThreshold(Ae),isNull:le,isCliff:!0}),L.push({plotX:C,plotY:$e===null?$:k.getThreshold($e),doCurve:!1}))};S=S||this.points,N&&(S=this.getStackPoints(S));for(let ae=0,K=S.length;ae<K;++ae)N||(S[ae].leftCliff=S[ae].rightCliff=S[ae].leftNull=S[ae].rightNull=void 0),M=S[ae].isNull,C=g(S[ae].rectPlotX,S[ae].plotX),O=N?g(S[ae].yBottom,$):$,M&&!Y||(Y||G(ae,ae-1,"left"),M&&!N&&Y||(B.push(S[ae]),L.push({x:ae,plotX:C,plotY:O})),Y||G(ae,ae+1,"right"));let j=I.call(this,B,!0,!0);L.reversed=!0;let R=I.call(this,L,!0,!0),Z=R[0];Z&&Z[0]==="M"&&(R[0]=["L",Z[1],Z[2]]);let U=j.concat(R);U.length&&U.push(["Z"]);let ie=I.call(this,B,!1,Y);return this.chart.series.length>1&&N&&B.some(ae=>ae.isCliff)&&(U.hasStackedCliffs=ie.hasStackedCliffs=!0),U.xMap=j.xMap,this.areaPath=U,ie}getStackPoints(S){let C=this,M=[],O=[],I=this.xAxis,D=this.yAxis,N=D.stacking.stacks[this.stackKey],k={},L=D.series,B=L.length,q=D.options.reversedStacks?1:-1,ne=L.indexOf(C);if(S=S||this.points,this.options.stacking){for(let $=0;$<S.length;$++)S[$].leftNull=S[$].rightNull=void 0,k[S[$].x]=S[$];y(N,function($,Y){$.total!==null&&O.push(Y)}),O.sort(function($,Y){return $-Y});let re=L.map($=>$.visible);O.forEach(function($,Y){let G=0,j,R;if(k[$]&&!k[$].isNull)M.push(k[$]),[-1,1].forEach(function(Z){let U=Z===1?"rightNull":"leftNull",ie=N[O[Y+Z]],ae=0;if(ie){let K=ne;for(;K>=0&&K<B;){let pe=L[K].index;!(j=ie.points[pe])&&(pe===C.index?k[$][U]=!0:re[K]&&(R=N[$].points[pe])&&(ae-=R[1]-R[0])),K+=q}}k[$][Z===1?"rightCliff":"leftCliff"]=ae});else{let Z=ne;for(;Z>=0&&Z<B;){let U=L[Z].index;if(j=N[$].points[U]){G=j[1];break}Z+=q}G=g(G,0),G=D.translate(G,0,1,0,1),M.push({isNull:!0,plotX:I.translate($,0,0,0,1),x:$,plotY:G,yBottom:G})}})}return M}}return b.defaultOptions=p(a.defaultOptions,i),d(b.prototype,{singleStacks:!1}),s.registerSeriesType("area",b),b}),r(n,"Series/Spline/SplineSeries.js",[n["Core/Series/SeriesRegistry.js"],n["Core/Utilities.js"]],function(i,s){let{line:c}=i.seriesTypes,{merge:a,pick:d}=s;class p extends c{getPointSpline(g,b,w){let S,C,M,O,I=b.plotX||0,D=b.plotY||0,N=g[w-1],k=g[w+1];function L(q){return q&&!q.isNull&&q.doCurve!==!1&&!b.isCliff}if(L(N)&&L(k)){let q=N.plotX||0,ne=N.plotY||0,re=k.plotX||0,$=k.plotY||0,Y=0;S=(1.5*I+q)/2.5,C=(1.5*D+ne)/2.5,M=(1.5*I+re)/2.5,O=(1.5*D+$)/2.5,M!==S&&(Y=(O-C)*(M-I)/(M-S)+D-O),C+=Y,O+=Y,C>ne&&C>D?(C=Math.max(ne,D),O=2*D-C):C<ne&&C<D&&(C=Math.min(ne,D),O=2*D-C),O>$&&O>D?(O=Math.max($,D),C=2*D-O):O<$&&O<D&&(O=Math.min($,D),C=2*D-O),b.rightContX=M,b.rightContY=O,b.controlPoints={low:[S,C],high:[M,O]}}let B=["C",d(N.rightContX,N.plotX,0),d(N.rightContY,N.plotY,0),d(S,I,0),d(C,D,0),I,D];return N.rightContX=N.rightContY=void 0,B}}return p.defaultOptions=a(c.defaultOptions),i.registerSeriesType("spline",p),p}),r(n,"Series/AreaSpline/AreaSplineSeries.js",[n["Series/Spline/SplineSeries.js"],n["Core/Series/SeriesRegistry.js"],n["Core/Utilities.js"]],function(i,s,c){let{area:a,area:{prototype:d}}=s.seriesTypes,{extend:p,merge:y}=c;class g extends i{}return g.defaultOptions=y(i.defaultOptions,a.defaultOptions),p(g.prototype,{getGraphPath:d.getGraphPath,getStackPoints:d.getStackPoints,drawGraph:d.drawGraph}),s.registerSeriesType("areaspline",g),g}),r(n,"Series/Column/ColumnSeriesDefaults.js",[],function(){return{borderRadius:3,centerInCategory:!1,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{halo:!1,brightness:.1},select:{color:"#cccccc",borderColor:"#000000"}},dataLabels:{align:void 0,verticalAlign:void 0,y:void 0},startFromThreshold:!0,stickyTracking:!1,tooltip:{distance:6},threshold:0,borderColor:"#ffffff"}}),r(n,"Series/Column/ColumnSeries.js",[n["Core/Animation/AnimationUtilities.js"],n["Core/Color/Color.js"],n["Series/Column/ColumnSeriesDefaults.js"],n["Core/Globals.js"],n["Core/Series/Series.js"],n["Core/Series/SeriesRegistry.js"],n["Core/Utilities.js"]],function(i,s,c,a,d,p,y){let{animObject:g}=i,{parse:b}=s,{noop:w}=a,{clamp:S,crisp:C,defined:M,extend:O,fireEvent:I,isArray:D,isNumber:N,merge:k,pick:L,objectEach:B}=y;class q extends d{animate(re){let $,Y,G=this,j=this.yAxis,R=j.pos,Z=j.reversed,U=G.options,{clipOffset:ie,inverted:ae}=this.chart,K={},pe=ae?"translateX":"translateY";re&&ie?(K.scaleY=.001,Y=S(j.toPixels(U.threshold),R,R+j.len),ae?(Y+=Z?-Math.floor(ie[0]):Math.ceil(ie[2]),K.translateX=Y-j.len):(Y+=Z?Math.ceil(ie[0]):-Math.floor(ie[2]),K.translateY=Y),G.clipBox&&G.setClip(),G.group.attr(K)):($=Number(G.group.attr(pe)),G.group.animate({scaleY:1},O(g(G.options.animation),{step:function(xe,se){G.group&&(K[pe]=$+se.pos*(R-$),G.group.attr(K))}})))}init(re,$){super.init.apply(this,arguments);let Y=this;(re=Y.chart).hasRendered&&re.series.forEach(function(G){G.type===Y.type&&(G.isDirty=!0)})}getColumnMetrics(){var ge,Se;let re=this,$=re.options,Y=re.xAxis,G=re.yAxis,j=Y.options.reversedStacks,R=Y.reversed&&!j||!Y.reversed&&j,Z={},U,ie=0;$.grouping===!1?ie=1:re.chart.series.forEach(function(Ae){let $e,le=Ae.yAxis,te=Ae.options;Ae.type===re.type&&Ae.reserveSpace()&&G.len===le.len&&G.pos===le.pos&&(te.stacking&&te.stacking!=="group"?(Z[U=Ae.stackKey]===void 0&&(Z[U]=ie++),$e=Z[U]):te.grouping!==!1&&($e=ie++),Ae.columnIndex=$e)});let ae=Math.min(Math.abs(Y.transA)*(!((ge=Y.brokenAxis)!=null&&ge.hasBreaks)&&((Se=Y.ordinal)==null?void 0:Se.slope)||$.pointRange||Y.closestPointRange||Y.tickInterval||1),Y.len),K=ae*$.groupPadding,pe=(ae-2*K)/(ie||1),xe=Math.min($.maxPointWidth||Y.len,L($.pointWidth,pe*(1-2*$.pointPadding))),se=(re.columnIndex||0)+(R?1:0);return re.columnMetrics={width:xe,offset:(pe-xe)/2+(K+se*pe-ae/2)*(R?-1:1),paddedWidth:pe,columnCount:ie},re.columnMetrics}crispCol(re,$,Y,G){let j=this.borderWidth,R=this.chart.inverted;return G=C($+G,j,R)-($=C($,j,R)),this.options.crisp&&(Y=C(re+Y,j)-(re=C(re,j))),{x:re,y:$,width:Y,height:G}}adjustForMissingColumns(re,$,Y,G){var j;if(!Y.isNull&&G.columnCount>1){let R=this.xAxis.series.filter(ae=>ae.visible).map(ae=>ae.index),Z=0,U=0;B((j=this.xAxis.stacking)==null?void 0:j.stacks,ae=>{if(typeof Y.x=="number"){let K=ae[Y.x.toString()];if(K&&D(K.points[this.index])){let pe=Object.keys(K.points).filter(xe=>!xe.match(",")&&K.points[xe]&&K.points[xe].length>1).map(parseFloat).filter(xe=>R.indexOf(xe)!==-1).sort((xe,se)=>se-xe);Z=pe.indexOf(this.index),U=pe.length}}}),Z=this.xAxis.reversed?U-1-Z:Z;let ie=(U-1)*G.paddedWidth+$;re=(Y.plotX||0)+ie/2-$-Z*G.paddedWidth}return re}translate(){let re=this,$=re.chart,Y=re.options,G=re.dense=re.closestPointRange*re.xAxis.transA<2,j=re.borderWidth=L(Y.borderWidth,G?0:1),R=re.xAxis,Z=re.yAxis,U=Y.threshold,ie=L(Y.minPointLength,5),ae=re.getColumnMetrics(),K=ae.width,pe=re.pointXOffset=ae.offset,xe=re.dataMin,se=re.dataMax,ge=re.translatedThreshold=Z.getThreshold(U),Se=re.barW=Math.max(K,1+2*j);Y.pointPadding&&(Se=Math.ceil(Se)),d.prototype.translate.apply(re),re.points.forEach(function(Ae){let $e=L(Ae.yBottom,ge),le=999+Math.abs($e),te=Ae.plotX||0,fe=S(Ae.plotY,-le,Z.len+le),Me,H=Math.min(fe,$e),de=Math.max(fe,$e)-H,oe=K,_e=te+pe,ce=Se;ie&&Math.abs(de)<ie&&(de=ie,Me=!Z.reversed&&!Ae.negative||Z.reversed&&Ae.negative,N(U)&&N(se)&&Ae.y===U&&se<=U&&(Z.min||0)<U&&(xe!==se||(Z.max||0)<=U)&&(Me=!Me,Ae.negative=!Ae.negative),H=Math.abs(H-ge)>ie?$e-ie:ge-(Me?ie:0)),M(Ae.options.pointWidth)&&(_e-=Math.round(((oe=ce=Math.ceil(Ae.options.pointWidth))-K)/2)),Y.centerInCategory&&!Y.stacking&&(_e=re.adjustForMissingColumns(_e,oe,Ae,ae)),Ae.barX=_e,Ae.pointWidth=oe,Ae.tooltipPos=$.inverted?[S(Z.len+Z.pos-$.plotLeft-fe,Z.pos-$.plotLeft,Z.len+Z.pos-$.plotLeft),R.len+R.pos-$.plotTop-_e-ce/2,de]:[R.left-$.plotLeft+_e+ce/2,S(fe+Z.pos-$.plotTop,Z.pos-$.plotTop,Z.len+Z.pos-$.plotTop),de],Ae.shapeType=re.pointClass.prototype.shapeType||"roundedRect",Ae.shapeArgs=re.crispCol(_e,Ae.isNull?ge:H,ce,Ae.isNull?0:de)}),I(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(re,$){let Y=this.options,G=this.pointAttrToOptions||{},j=G.stroke||"borderColor",R=G["stroke-width"]||"borderWidth",Z,U,ie,ae=re&&re.color||this.color,K=re&&re[j]||Y[j]||ae,pe=re&&re.options.dashStyle||Y.dashStyle,xe=re&&re[R]||Y[R]||this[R]||0,se=L(re&&re.opacity,Y.opacity,1);re&&this.zones.length&&(U=re.getZone(),ae=re.options.color||U&&(U.color||re.nonZonedColor)||this.color,U&&(K=U.borderColor||K,pe=U.dashStyle||pe,xe=U.borderWidth||xe)),$&&re&&(ie=(Z=k(Y.states[$],re.options.states&&re.options.states[$]||{})).brightness,ae=Z.color||ie!==void 0&&b(ae).brighten(Z.brightness).get()||ae,K=Z[j]||K,xe=Z[R]||xe,pe=Z.dashStyle||pe,se=L(Z.opacity,se));let ge={fill:ae,stroke:K,"stroke-width":xe,opacity:se};return pe&&(ge.dashstyle=pe),ge}drawPoints(re=this.points){let $,Y=this,G=this.chart,j=Y.options,R=G.renderer,Z=j.animationLimit||250;re.forEach(function(U){let ie=U.plotY,ae=U.graphic,K=!!ae,pe=ae&&G.pointCount<Z?"animate":"attr";N(ie)&&U.y!==null?($=U.shapeArgs,ae&&U.hasNewShapeType()&&(ae=ae.destroy()),Y.enabledDataSorting&&(U.startXPos=Y.xAxis.reversed?-($&&$.width||0):Y.xAxis.width),!ae&&(U.graphic=ae=R[U.shapeType]($).add(U.group||Y.group),ae&&Y.enabledDataSorting&&G.hasRendered&&G.pointCount<Z&&(ae.attr({x:U.startXPos}),K=!0,pe="animate")),ae&&K&&ae[pe](k($)),G.styledMode||ae[pe](Y.pointAttribs(U,U.selected&&"select")).shadow(U.allowShadow!==!1&&j.shadow),ae&&(ae.addClass(U.getClassName(),!0),ae.attr({visibility:U.visible?"inherit":"hidden"}))):ae&&(U.graphic=ae.destroy())})}drawTracker(re=this.points){let $,Y=this,G=Y.chart,j=G.pointer,R=function(Z){let U=j==null?void 0:j.getPointFromEvent(Z);j&&U&&Y.options.enableMouseTracking&&(j.isDirectTouch=!0,U.onMouseOver(Z))};re.forEach(function(Z){$=D(Z.dataLabels)?Z.dataLabels:Z.dataLabel?[Z.dataLabel]:[],Z.graphic&&(Z.graphic.element.point=Z),$.forEach(function(U){(U.div||U.element).point=Z})}),Y._hasTracking||(Y.trackerGroups.forEach(function(Z){Y[Z]&&(Y[Z].addClass("highcharts-tracker").on("mouseover",R).on("mouseout",function(U){j==null||j.onTrackerMouseOut(U)}).on("touchstart",R),!G.styledMode&&Y.options.cursor&&Y[Z].css({cursor:Y.options.cursor}))}),Y._hasTracking=!0),I(this,"afterDrawTracker")}remove(){let re=this,$=re.chart;$.hasRendered&&$.series.forEach(function(Y){Y.type===re.type&&(Y.isDirty=!0)}),d.prototype.remove.apply(re,arguments)}}return q.defaultOptions=k(d.defaultOptions,c),O(q.prototype,{directTouch:!0,getSymbol:w,negStacks:!0,trackerGroups:["group","dataLabelsGroup"]}),p.registerSeriesType("column",q),q}),r(n,"Core/Series/DataLabel.js",[n["Core/Animation/AnimationUtilities.js"],n["Core/Templating.js"],n["Core/Utilities.js"]],function(i,s,c){var a;let{getDeferredAnimation:d}=i,{format:p}=s,{defined:y,extend:g,fireEvent:b,isArray:w,isString:S,merge:C,objectEach:M,pick:O,pInt:I,splat:D}=c;return function(N){function k(){return Y(this).some(j=>j==null?void 0:j.enabled)}function L(j,R,Z,U,ie){var fe;let{chart:ae,enabledDataSorting:K}=this,pe=this.isCartesian&&ae.inverted,xe=j.plotX,se=j.plotY,ge=Z.rotation||0,Se=y(xe)&&y(se)&&ae.isInsidePlot(xe,Math.round(se),{inverted:pe,paneCoordinates:!0,series:this}),Ae=ge===0&&O(Z.overflow,K?"none":"justify")==="justify",$e=this.visible&&j.visible!==!1&&y(xe)&&(j.series.forceDL||K&&!Ae||Se||O(Z.inside,!!this.options.stacking)&&U&&ae.isInsidePlot(xe,pe?U.x+1:U.y+U.height-1,{inverted:pe,paneCoordinates:!0,series:this})),le=j.pos();if($e&&le){var te;let Me=R.getBBox(),H=R.getBBox(void 0,0),de={right:1,center:.5}[Z.align||0]||0,oe={bottom:1,middle:.5}[Z.verticalAlign||0]||0;if(U=g({x:le[0],y:Math.round(le[1]),width:0,height:0},U||{}),Z.alignTo==="plotEdges"&&this.isCartesian&&(U[pe?"x":"y"]=0,U[pe?"width":"height"]=((fe=this.yAxis)==null?void 0:fe.len)||0),g(Z,{width:Me.width,height:Me.height}),te=U,K&&this.xAxis&&!Ae&&this.setDataLabelStartPos(j,R,ie,Se,te),R.align(C(Z,{width:H.width,height:H.height}),!1,U,!1),R.alignAttr.x+=de*(H.width-Me.width),R.alignAttr.y+=oe*(H.height-Me.height),R[R.placed?"animate":"attr"]({x:R.alignAttr.x+(Me.width-H.width)/2,y:R.alignAttr.y+(Me.height-H.height)/2,rotationOriginX:(R.width||0)/2,rotationOriginY:(R.height||0)/2}),Ae&&U.height>=0)this.justifyDataLabel(R,Z,R.alignAttr,Me,U,ie);else if(O(Z.crop,!0)){let{x:_e,y:ce}=R.alignAttr;$e=ae.isInsidePlot(_e,ce,{paneCoordinates:!0,series:this})&&ae.isInsidePlot(_e+Me.width-1,ce+Me.height-1,{paneCoordinates:!0,series:this})}Z.shape&&!ge&&R[ie?"attr":"animate"]({anchorX:le[0],anchorY:le[1]})}ie&&K&&(R.placed=!1),$e||K&&!Ae?(R.show(),R.placed=!0):(R.hide(),R.placed=!1)}function B(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",this.options.dataLabels.zIndex||6)}function q(j){let R=this.hasRendered||0,Z=this.initDataLabelsGroup().attr({opacity:+R});return!R&&Z&&(this.visible&&Z.show(),this.options.animation?Z.animate({opacity:1},j):Z.attr({opacity:1})),Z}function ne(j){var $e;let R;j=j||this.points;let Z=this,U=Z.chart,ie=Z.options,ae=U.renderer,{backgroundColor:K,plotBackgroundColor:pe}=U.options.chart,xe=ae.getContrast(S(pe)&&pe||S(K)&&K||"#000000"),se=Y(Z),{animation:ge,defer:Se}=se[0],Ae=Se?d(U,ge,Z):{defer:0,duration:0};b(this,"drawDataLabels"),($e=Z.hasDataLabels)!=null&&$e.call(Z)&&(R=this.initDataLabels(Ae),j.forEach(le=>{var Me,H;let te=le.dataLabels||[];D($(se,le.dlOptions||((Me=le.options)==null?void 0:Me.dataLabels))).forEach((de,oe)=>{let _e=de.enabled&&(le.visible||le.dataLabelOnHidden)&&(!le.isNull||le.dataLabelOnNull)&&function(Ve,it){let ot=it.filter;if(ot){let ft=ot.operator,pt=Ve[ot.property],Ke=ot.value;return ft===">"&&pt>Ke||ft==="<"&&pt<Ke||ft===">="&&pt>=Ke||ft==="<="&&pt<=Ke||ft==="=="&&pt==Ke||ft==="==="&&pt===Ke||ft==="!="&&pt!=Ke||ft==="!=="&&pt!==Ke}return!0}(le,de),{backgroundColor:ce,borderColor:Oe,distance:Be,style:Re={}}=de,He,ct,at,ke,Te={},Le=te[oe],ze=!Le,Qe;_e&&(ct=O(de[le.formatPrefix+"Format"],de.format),He=le.getLabelConfig(),at=y(ct)?p(ct,He,U):(de[le.formatPrefix+"Formatter"]||de.formatter).call(He,de),ke=de.rotation,!U.styledMode&&(Re.color=O(de.color,Re.color,S(Z.color)?Z.color:void 0,"#000000"),Re.color==="contrast"?(ce!=="none"&&(Qe=ce),le.contrastColor=ae.getContrast(Qe!=="auto"&&Qe||le.color||Z.color),Re.color=Qe||!y(Be)&&de.inside||0>I(Be||0)||ie.stacking?le.contrastColor:xe):delete le.contrastColor,ie.cursor&&(Re.cursor=ie.cursor)),Te={r:de.borderRadius||0,rotation:ke,padding:de.padding,zIndex:1},U.styledMode||(Te.fill=ce==="auto"?le.color:ce,Te.stroke=Oe==="auto"?le.color:Oe,Te["stroke-width"]=de.borderWidth),M(Te,(Ve,it)=>{Ve===void 0&&delete Te[it]})),!Le||_e&&y(at)&&!!Le.div==!!de.useHTML&&(Le.rotation&&de.rotation||Le.rotation===de.rotation)||(Le=void 0,ze=!0),_e&&y(at)&&(Le?Te.text=at:(Le=ae.label(at,0,0,de.shape,void 0,void 0,de.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+le.colorIndex+" "+(de.className||"")+(de.useHTML?" highcharts-tracker":"")),Le&&(Le.options=de,Le.attr(Te),U.styledMode?Re.width&&Le.css({width:Re.width,textOverflow:Re.textOverflow}):Le.css(Re).shadow(de.shadow),b(Le,"beforeAddingDataLabel",{labelOptions:de,point:le}),Le.added||Le.add(R),Z.alignDataLabel(le,Le,de,void 0,ze),Le.isActive=!0,te[oe]&&te[oe]!==Le&&te[oe].destroy(),te[oe]=Le))});let fe=te.length;for(;fe--;)te[fe]&&te[fe].isActive?te[fe].isActive=!1:((H=te[fe])==null||H.destroy(),te.splice(fe,1));le.dataLabel=te[0],le.dataLabels=te})),b(this,"afterDrawDataLabels")}function re(j,R,Z,U,ie,ae){let K=this.chart,pe=R.align,xe=R.verticalAlign,se=j.box?0:j.padding||0,ge=K.inverted?this.yAxis:this.xAxis,Se=ge?ge.left-K.plotLeft:0,Ae=K.inverted?this.xAxis:this.yAxis,$e=Ae?Ae.top-K.plotTop:0,{x:le=0,y:te=0}=R,fe,Me;return(fe=(Z.x||0)+se+Se)<0&&(pe==="right"&&le>=0?(R.align="left",R.inside=!0):le-=fe,Me=!0),(fe=(Z.x||0)+U.width-se+Se)>K.plotWidth&&(pe==="left"&&le<=0?(R.align="right",R.inside=!0):le+=K.plotWidth-fe,Me=!0),(fe=Z.y+se+$e)<0&&(xe==="bottom"&&te>=0?(R.verticalAlign="top",R.inside=!0):te-=fe,Me=!0),(fe=(Z.y||0)+U.height-se+$e)>K.plotHeight&&(xe==="top"&&te<=0?(R.verticalAlign="bottom",R.inside=!0):te+=K.plotHeight-fe,Me=!0),Me&&(R.x=le,R.y=te,j.placed=!ae,j.align(R,void 0,ie)),Me}function $(j,R){let Z=[],U;if(w(j)&&!w(R))Z=j.map(function(ie){return C(ie,R)});else if(w(R)&&!w(j))Z=R.map(function(ie){return C(j,ie)});else if(w(j)||w(R)){if(w(j)&&w(R))for(U=Math.max(j.length,R.length);U--;)Z[U]=C(j[U],R[U])}else Z=C(j,R);return Z}function Y(j){var Z,U;let R=j.chart.options.plotOptions;return D($($((Z=R==null?void 0:R.series)==null?void 0:Z.dataLabels,(U=R==null?void 0:R[j.type])==null?void 0:U.dataLabels),j.options.dataLabels))}function G(j,R,Z,U,ie){let ae=this.chart,K=ae.inverted,pe=this.xAxis,xe=pe.reversed,se=((K?R.height:R.width)||0)/2,ge=j.pointWidth,Se=ge?ge/2:0;R.startXPos=K?ie.x:xe?-se-Se:pe.width-se+Se,R.startYPos=K?xe?this.yAxis.height-se+Se:-se-Se:ie.y,U?R.visibility==="hidden"&&(R.show(),R.attr({opacity:0}).animate({opacity:1})):R.attr({opacity:1}).animate({opacity:0},void 0,R.hide),ae.hasRendered&&(Z&&R.attr({x:R.startXPos,y:R.startYPos}),R.placed=!0)}N.compose=function(j){let R=j.prototype;R.initDataLabels||(R.initDataLabels=q,R.initDataLabelsGroup=B,R.alignDataLabel=L,R.drawDataLabels=ne,R.justifyDataLabel=re,R.setDataLabelStartPos=G,R.hasDataLabels=k)}}(a||(a={})),a}),r(n,"Series/Column/ColumnDataLabel.js",[n["Core/Series/DataLabel.js"],n["Core/Globals.js"],n["Core/Series/SeriesRegistry.js"],n["Core/Utilities.js"]],function(i,s,c,a){var d;let{composed:p}=s,{series:y}=c,{merge:g,pick:b,pushUnique:w}=a;return function(S){function C(M,O,I,D,N){let k=this.chart.inverted,L=M.series,B=(L.xAxis?L.xAxis.len:this.chart.plotSizeX)||0,q=(L.yAxis?L.yAxis.len:this.chart.plotSizeY)||0,ne=M.dlBox||M.shapeArgs,re=b(M.below,M.plotY>b(this.translatedThreshold,q)),$=b(I.inside,!!this.options.stacking);if(ne){if(D=g(ne),!(I.overflow==="allow"&&I.crop===!1)){D.y<0&&(D.height+=D.y,D.y=0);let Y=D.y+D.height-q;Y>0&&Y<D.height-1&&(D.height-=Y)}k&&(D={x:q-D.y-D.height,y:B-D.x-D.width,width:D.height,height:D.width}),$||(k?(D.x+=re?0:D.width,D.width=0):(D.y+=re?D.height:0,D.height=0))}I.align=b(I.align,!k||$?"center":re?"right":"left"),I.verticalAlign=b(I.verticalAlign,k||$?"middle":re?"top":"bottom"),y.prototype.alignDataLabel.call(this,M,O,I,D,N),I.inside&&M.contrastColor&&O.css({color:M.contrastColor})}S.compose=function(M){i.compose(y),w(p,"ColumnDataLabel")&&(M.prototype.alignDataLabel=C)}}(d||(d={})),d}),r(n,"Series/Bar/BarSeries.js",[n["Series/Column/ColumnSeries.js"],n["Core/Series/SeriesRegistry.js"],n["Core/Utilities.js"]],function(i,s,c){let{extend:a,merge:d}=c;class p extends i{}return p.defaultOptions=d(i.defaultOptions,{}),a(p.prototype,{inverted:!0}),s.registerSeriesType("bar",p),p}),r(n,"Series/Scatter/ScatterSeriesDefaults.js",[],function(){return{lineWidth:0,findNearestPointBy:"xy",jitter:{x:0,y:0},marker:{enabled:!0},tooltip:{headerFormat:'<span style="color:{point.color}">●</span> <span style="font-size: 0.8em"> {series.name}</span><br/>',pointFormat:"x: <b>{point.x}</b><br/>y: <b>{point.y}</b><br/>"}}}),r(n,"Series/Scatter/ScatterSeries.js",[n["Series/Scatter/ScatterSeriesDefaults.js"],n["Core/Series/SeriesRegistry.js"],n["Core/Utilities.js"]],function(i,s,c){let{column:a,line:d}=s.seriesTypes,{addEvent:p,extend:y,merge:g}=c;class b extends d{applyJitter(){let S=this,C=this.options.jitter,M=this.points.length;C&&this.points.forEach(function(O,I){["x","y"].forEach(function(D,N){if(C[D]&&!O.isNull){let k=`plot${D.toUpperCase()}`,L=S[`${D}Axis`],B=C[D]*L.transA;if(L&&!L.logarithmic){let q=Math.max(0,(O[k]||0)-B),ne=Math.min(L.len,(O[k]||0)+B);O[k]=q+(ne-q)*function(re){let $=1e4*Math.sin(re);return $-Math.floor($)}(I+N*M),D==="x"&&(O.clientX=O.plotX)}}})})}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}}return b.defaultOptions=g(d.defaultOptions,i),y(b.prototype,{drawTracker:a.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),p(b,"afterTranslate",function(){this.applyJitter()}),s.registerSeriesType("scatter",b),b}),r(n,"Series/CenteredUtilities.js",[n["Core/Globals.js"],n["Core/Series/Series.js"],n["Core/Utilities.js"]],function(i,s,c){var a,d;let{deg2rad:p}=i,{fireEvent:y,isNumber:g,pick:b,relativeLength:w}=c;return(d=a||(a={})).getCenter=function(){let S=this.options,C=this.chart,M=2*(S.slicedOffset||0),O=C.plotWidth-2*M,I=C.plotHeight-2*M,D=S.center,N=Math.min(O,I),k=S.thickness,L,B=S.size,q=S.innerSize||0,ne,re;typeof B=="string"&&(B=parseFloat(B)),typeof q=="string"&&(q=parseFloat(q));let $=[b(D[0],"50%"),b(D[1],"50%"),b(B&&B<0?void 0:S.size,"100%"),b(q&&q<0?void 0:S.innerSize||0,"0%")];for(!C.angular||this instanceof s||($[3]=0),ne=0;ne<4;++ne)re=$[ne],L=ne<2||ne===2&&/%$/.test(re),$[ne]=w(re,[O,I,N,$[2]][ne])+(L?M:0);return $[3]>$[2]&&($[3]=$[2]),g(k)&&2*k<$[2]&&k>0&&($[3]=$[2]-2*k),y(this,"afterGetCenter",{positions:$}),$},d.getStartAndEndRadians=function(S,C){let M=g(S)?S:0,O=g(C)&&C>M&&C-M<360?C:M+360;return{start:p*(M+-90),end:p*(O+-90)}},a}),r(n,"Series/Pie/PiePoint.js",[n["Core/Animation/AnimationUtilities.js"],n["Core/Series/Point.js"],n["Core/Utilities.js"]],function(i,s,c){let{setAnimation:a}=i,{addEvent:d,defined:p,extend:y,isNumber:g,pick:b,relativeLength:w}=c;class S extends s{getConnectorPath(M){let O=M.dataLabelPosition,I=M.options||{},D=I.connectorShape,N=this.connectorShapes[D]||D;return O&&N.call(this,{...O.computed,alignment:O.alignment},O.connectorPosition,I)||[]}getTranslate(){return this.sliced&&this.slicedTranslation||{translateX:0,translateY:0}}haloPath(M){let O=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(O.x,O.y,O.r+M,O.r+M,{innerR:O.r-1,start:O.start,end:O.end,borderRadius:O.borderRadius})}constructor(M,O,I){super(M,O,I),this.half=0,this.name??(this.name="Slice");let D=N=>{this.slice(N.type==="select")};d(this,"select",D),d(this,"unselect",D)}isValid(){return g(this.y)&&this.y>=0}setVisible(M,O=!0){M!==this.visible&&this.update({visible:M??!this.visible},O,void 0,!1)}slice(M,O,I){let D=this.series;a(I,D.chart),O=b(O,!0),this.sliced=this.options.sliced=M=p(M)?M:!this.sliced,D.options.data[D.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}return y(S.prototype,{connectorShapes:{fixedOffset:function(C,M,O){let I=M.breakAt,D=M.touchingSliceAt,N=O.softConnector?["C",C.x+(C.alignment==="left"?-5:5),C.y,2*I.x-D.x,2*I.y-D.y,I.x,I.y]:["L",I.x,I.y];return[["M",C.x,C.y],N,["L",D.x,D.y]]},straight:function(C,M){let O=M.touchingSliceAt;return[["M",C.x,C.y],["L",O.x,O.y]]},crookedLine:function(C,M,O){let{breakAt:I,touchingSliceAt:D}=M,{series:N}=this,[k,L,B]=N.center,q=B/2,{plotLeft:ne,plotWidth:re}=N.chart,$=C.alignment==="left",{x:Y,y:G}=C,j=I.x;if(O.crookDistance){let Z=w(O.crookDistance,1);j=$?k+q+(re+ne-k-q)*(1-Z):ne+(k-q)*Z}else j=k+(L-G)*Math.tan((this.angle||0)-Math.PI/2);let R=[["M",Y,G]];return($?j<=Y&&j>=I.x:j>=Y&&j<=I.x)&&R.push(["L",j,G]),R.push(["L",I.x,I.y],["L",D.x,D.y]),R}}}),S}),r(n,"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}}}}),r(n,"Series/Pie/PieSeries.js",[n["Series/CenteredUtilities.js"],n["Series/Column/ColumnSeries.js"],n["Core/Globals.js"],n["Series/Pie/PiePoint.js"],n["Series/Pie/PieSeriesDefaults.js"],n["Core/Series/Series.js"],n["Core/Series/SeriesRegistry.js"],n["Core/Renderer/SVG/Symbols.js"],n["Core/Utilities.js"]],function(i,s,c,a,d,p,y,g,b){let{getStartAndEndRadians:w}=i,{noop:S}=c,{clamp:C,extend:M,fireEvent:O,merge:I,pick:D}=b;class N extends p{animate(L){let B=this,q=B.points,ne=B.startAngleRad;L||q.forEach(function(re){let $=re.graphic,Y=re.shapeArgs;$&&Y&&($.attr({r:D(re.startR,B.center&&B.center[3]/2),start:ne,end:ne}),$.animate({r:Y.r,start:Y.start,end:Y.end},B.options.animation))})}drawEmpty(){let L,B,q=this.startAngleRad,ne=this.endAngleRad,re=this.options;this.total===0&&this.center?(L=this.center[0],B=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(L,B,this.center[1]/2,0,q,ne).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:g.arc(L,B,this.center[2]/2,0,{start:q,end:ne,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":re.borderWidth,fill:re.fillColor||"none",stroke:re.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let L=this.chart.renderer;this.points.forEach(function(B){B.graphic&&B.hasNewShapeType()&&(B.graphic=B.graphic.destroy()),B.graphic||(B.graphic=L[B.shapeType](B.shapeArgs).add(B.series.group),B.delayedRendering=!0)})}generatePoints(){super.generatePoints(),this.updateTotals()}getX(L,B,q,ne){let re=this.center,$=this.radii?this.radii[q.index]||0:re[2]/2,Y=ne.dataLabelPosition,G=(Y==null?void 0:Y.distance)||0,j=Math.asin(C((L-re[1])/($+G),-1,1));return re[0]+Math.cos(j)*($+G)*(B?-1:1)+(G>0?(B?-1:1)*(ne.padding||0):0)}hasData(){return!!this.processedXData.length}redrawPoints(){let L,B,q,ne,re=this,$=re.chart;this.drawEmpty(),re.group&&!$.styledMode&&re.group.shadow(re.options.shadow),re.points.forEach(function(Y){let G={};B=Y.graphic,!Y.isNull&&B?(ne=Y.shapeArgs,L=Y.getTranslate(),$.styledMode||(q=re.pointAttribs(Y,Y.selected&&"select")),Y.delayedRendering?(B.setRadialReference(re.center).attr(ne).attr(L),$.styledMode||B.attr(q).attr({"stroke-linejoin":"round"}),Y.delayedRendering=!1):(B.setRadialReference(re.center),$.styledMode||I(!0,G,q),I(!0,G,ne,L),B.animate(G)),B.attr({visibility:Y.visible?"inherit":"hidden"}),B.addClass(Y.getClassName(),!0)):B&&(Y.graphic=B.destroy())})}sortByAngle(L,B){L.sort(function(q,ne){return q.angle!==void 0&&(ne.angle-q.angle)*B})}translate(L){O(this,"translate"),this.generatePoints();let B=this.options,q=B.slicedOffset,ne=w(B.startAngle,B.endAngle),re=this.startAngleRad=ne.start,$=(this.endAngleRad=ne.end)-re,Y=this.points,G=B.ignoreHiddenPoint,j=Y.length,R,Z,U,ie,ae,K,pe,xe=0;for(L||(this.center=L=this.getCenter()),K=0;K<j;K++){pe=Y[K],R=re+xe*$,pe.isValid()&&(!G||pe.visible)&&(xe+=pe.percentage/100),Z=re+xe*$;let se={x:L[0],y:L[1],r:L[2]/2,innerR:L[3]/2,start:Math.round(1e3*R)/1e3,end:Math.round(1e3*Z)/1e3};pe.shapeType="arc",pe.shapeArgs=se,(U=(Z+R)/2)>1.5*Math.PI?U-=2*Math.PI:U<-Math.PI/2&&(U+=2*Math.PI),pe.slicedTranslation={translateX:Math.round(Math.cos(U)*q),translateY:Math.round(Math.sin(U)*q)},ie=Math.cos(U)*L[2]/2,ae=Math.sin(U)*L[2]/2,pe.tooltipPos=[L[0]+.7*ie,L[1]+.7*ae],pe.half=U<-Math.PI/2||U>Math.PI/2?1:0,pe.angle=U}O(this,"afterTranslate")}updateTotals(){let L=this.points,B=L.length,q=this.options.ignoreHiddenPoint,ne,re,$=0;for(ne=0;ne<B;ne++)(re=L[ne]).isValid()&&(!q||re.visible)&&($+=re.y);for(ne=0,this.total=$;ne<B;ne++)(re=L[ne]).percentage=$>0&&(re.visible||!q)?re.y/$*100:0,re.total=$}}return N.defaultOptions=I(p.defaultOptions,d),M(N.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:s.prototype.drawTracker,getCenter:i.getCenter,getSymbol:S,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointAttribs:s.prototype.pointAttribs,pointClass:a,requireSorting:!1,searchPoint:S,trackerGroups:["group","dataLabelsGroup"]}),y.registerSeriesType("pie",N),N}),r(n,"Series/Pie/PieDataLabel.js",[n["Core/Series/DataLabel.js"],n["Core/Globals.js"],n["Core/Renderer/RendererUtilities.js"],n["Core/Series/SeriesRegistry.js"],n["Core/Utilities.js"]],function(i,s,c,a,d){var p;let{composed:y,noop:g}=s,{distribute:b}=c,{series:w}=a,{arrayMax:S,clamp:C,defined:M,pick:O,pushUnique:I,relativeLength:D}=d;return function(N){let k={radialDistributionY:function(re,$){var Y;return(((Y=$.dataLabelPosition)==null?void 0:Y.top)||0)+re.distributeBox.pos},radialDistributionX:function(re,$,Y,G,j){let R=j.dataLabelPosition;return re.getX(Y<((R==null?void 0:R.top)||0)+2||Y>((R==null?void 0:R.bottom)||0)-2?G:Y,$.half,$,j)},justify:function(re,$,Y,G){var j;return G[0]+(re.half?-1:1)*(Y+(((j=$.dataLabelPosition)==null?void 0:j.distance)||0))},alignToPlotEdges:function(re,$,Y,G){let j=re.getBBox().width;return $?j+G:Y-j-G},alignToConnectors:function(re,$,Y,G){let j=0,R;return re.forEach(function(Z){(R=Z.dataLabel.getBBox().width)>j&&(j=R)}),$?j+G:Y-j-G}};function L(re,$){let{center:Y,options:G}=this,j=Y[2]/2,R=re.angle||0,Z=Math.cos(R),U=Math.sin(R),ie=Y[0]+Z*j,ae=Y[1]+U*j,K=Math.min((G.slicedOffset||0)+(G.borderWidth||0),$/5);return{natural:{x:ie+Z*$,y:ae+U*$},computed:{},alignment:$<0?"center":re.half?"right":"left",connectorPosition:{breakAt:{x:ie+Z*K,y:ae+U*K},touchingSliceAt:{x:ie,y:ae}},distance:$}}function B(){var $e;let re=this,$=re.points,Y=re.chart,G=Y.plotWidth,j=Y.plotHeight,R=Y.plotLeft,Z=Math.round(Y.chartWidth/3),U=re.center,ie=U[2]/2,ae=U[1],K=[[],[]],pe=[0,0,0,0],xe=re.dataLabelPositioners,se,ge,Se,Ae=0;re.visible&&(($e=re.hasDataLabels)!=null&&$e.call(re))&&($.forEach(le=>{(le.dataLabels||[]).forEach(te=>{te.shortened&&(te.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),te.shortened=!1)})}),w.prototype.drawDataLabels.apply(re),$.forEach(le=>{(le.dataLabels||[]).forEach((te,fe)=>{var oe;let Me=U[2]/2,H=te.options,de=D((H==null?void 0:H.distance)||0,Me);fe===0&&K[le.half].push(le),!M((oe=H==null?void 0:H.style)==null?void 0:oe.width)&&te.getBBox().width>Z&&(te.css({width:Math.round(.7*Z)+"px"}),te.shortened=!0),te.dataLabelPosition=this.getDataLabelPosition(le,de),Ae=Math.max(Ae,de)})}),K.forEach((le,te)=>{let fe=le.length,Me=[],H,de,oe=0,_e;fe&&(re.sortByAngle(le,te-.5),Ae>0&&(H=Math.max(0,ae-ie-Ae),de=Math.min(ae+ie+Ae,Y.plotHeight),le.forEach(ce=>{(ce.dataLabels||[]).forEach(Oe=>{var Re;let Be=Oe.dataLabelPosition;Be&&Be.distance>0&&(Be.top=Math.max(0,ae-ie-Be.distance),Be.bottom=Math.min(ae+ie+Be.distance,Y.plotHeight),oe=Oe.getBBox().height||21,Oe.lineHeight=Y.renderer.fontMetrics(Oe.text||Oe).h+2*Oe.padding,ce.distributeBox={target:(((Re=Oe.dataLabelPosition)==null?void 0:Re.natural.y)||0)-Be.top+Oe.lineHeight/2,size:oe,rank:ce.y},Me.push(ce.distributeBox))})}),b(Me,_e=de+oe-H,_e/5)),le.forEach(ce=>{(ce.dataLabels||[]).forEach(Oe=>{let Be=Oe.options||{},Re=ce.distributeBox,He=Oe.dataLabelPosition,ct=(He==null?void 0:He.natural.y)||0,at=Be.connectorPadding||0,ke=Oe.lineHeight||21,Te=(ke-Oe.getBBox().height)/2,Le=0,ze=ct,Qe="inherit";if(He){if(M(Re)&&He.distance>0&&(Re.pos===void 0?Qe="hidden":(Se=Re.size,ze=xe.radialDistributionY(ce,Oe))),Be.justify)Le=xe.justify(ce,Oe,ie,U);else switch(Be.alignTo){case"connectors":Le=xe.alignToConnectors(le,te,G,R);break;case"plotEdges":Le=xe.alignToPlotEdges(Oe,te,G,R);break;default:Le=xe.radialDistributionX(re,ce,ze-Te,ct,Oe)}if(He.attribs={visibility:Qe,align:He.alignment},He.posAttribs={x:Le+(Be.x||0)+({left:at,right:-at}[He.alignment]||0),y:ze+(Be.y||0)-ke/2},He.computed.x=Le,He.computed.y=ze-Te,O(Be.crop,!0)){let Ve;Le-(ge=Oe.getBBox().width)<at&&te===1?(Ve=Math.round(ge-Le+at),pe[3]=Math.max(Ve,pe[3])):Le+ge>G-at&&te===0&&(Ve=Math.round(Le+ge-G+at),pe[1]=Math.max(Ve,pe[1])),ze-Se/2<0?pe[0]=Math.max(Math.round(-ze+Se/2),pe[0]):ze+Se/2>j&&(pe[2]=Math.max(Math.round(ze+Se/2-j),pe[2])),He.sideOverflow=Ve}}})}))}),(S(pe)===0||this.verifyDataLabelOverflow(pe))&&(this.placeDataLabels(),this.points.forEach(le=>{(le.dataLabels||[]).forEach(te=>{var de;let{connectorColor:fe,connectorWidth:Me=1}=te.options||{},H=te.dataLabelPosition;if(Me){let oe;se=te.connector,H&&H.distance>0?(oe=!se,se||(te.connector=se=Y.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+le.colorIndex+(le.className?" "+le.className:"")).add(re.dataLabelsGroup)),Y.styledMode||se.attr({"stroke-width":Me,stroke:fe||le.color||"#666666"}),se[oe?"attr":"animate"]({d:le.getConnectorPath(te)}),se.attr({visibility:(de=H.attribs)==null?void 0:de.visibility})):se&&(te.connector=se.destroy())}})})))}function q(){this.points.forEach(re=>{(re.dataLabels||[]).forEach($=>{var G;let Y=$.dataLabelPosition;Y?(Y.sideOverflow&&($.css({width:Math.max($.getBBox().width-Y.sideOverflow,0)+"px",textOverflow:(((G=$.options)==null?void 0:G.style)||{}).textOverflow||"ellipsis"}),$.shortened=!0),$.attr(Y.attribs),$[$.moved?"animate":"attr"](Y.posAttribs),$.moved=!0):$&&$.attr({y:-9999})}),delete re.distributeBox},this)}function ne(re){let $=this.center,Y=this.options,G=Y.center,j=Y.minSize||80,R=j,Z=Y.size!==null;return!Z&&(G[0]!==null?R=Math.max($[2]-Math.max(re[1],re[3]),j):(R=Math.max($[2]-re[1]-re[3],j),$[0]+=(re[3]-re[1])/2),G[1]!==null?R=C(R,j,$[2]-Math.max(re[0],re[2])):(R=C(R,j,$[2]-re[0]-re[2]),$[1]+=(re[0]-re[2])/2),R<$[2]?($[2]=R,$[3]=Math.min(Y.thickness?Math.max(0,R-2*Y.thickness):Math.max(0,D(Y.innerSize||0,R)),R),this.translate($),this.drawDataLabels&&this.drawDataLabels()):Z=!0),Z}N.compose=function(re){if(i.compose(w),I(y,"PieDataLabel")){let $=re.prototype;$.dataLabelPositioners=k,$.alignDataLabel=g,$.drawDataLabels=B,$.getDataLabelPosition=L,$.placeDataLabels=q,$.verifyDataLabelOverflow=ne}}}(p||(p={})),p}),r(n,"Core/Geometry/GeometryUtilities.js",[],function(){var i,s;return(s=i||(i={})).getCenterOfPoints=function(c){let a=c.reduce((d,p)=>(d.x+=p.x,d.y+=p.y,d),{x:0,y:0});return{x:a.x/c.length,y:a.y/c.length}},s.getDistanceBetweenPoints=function(c,a){return Math.sqrt(Math.pow(a.x-c.x,2)+Math.pow(a.y-c.y,2))},s.getAngleBetweenPoints=function(c,a){return Math.atan2(a.x-c.x,a.y-c.y)},s.pointInPolygon=function({x:c,y:a},d){let p=d.length,y,g,b=!1;for(y=0,g=p-1;y<p;g=y++){let[w,S]=d[y],[C,M]=d[g];S>a!=M>a&&c<(C-w)*(a-S)/(M-S)+w&&(b=!b)}return b},i}),r(n,"Extensions/OverlappingDataLabels.js",[n["Core/Geometry/GeometryUtilities.js"],n["Core/Utilities.js"]],function(i,s){let{pointInPolygon:c}=i,{addEvent:a,fireEvent:d,objectEach:p,pick:y}=s;function g(S){let C=S.length,M=(q,ne)=>!(ne.x>=q.x+q.width||ne.x+ne.width<=q.x||ne.y>=q.y+q.height||ne.y+ne.height<=q.y),O=(q,ne)=>{for(let re of q)if(c({x:re[0],y:re[1]},ne))return!0;return!1},I,D,N,k,L,B=!1;for(let q=0;q<C;q++)(I=S[q])&&(I.oldOpacity=I.opacity,I.newOpacity=1,I.absoluteBox=function(ne){var re,$;if(ne&&(!ne.alignAttr||ne.placed)){let Y=ne.box?0:ne.padding||0,G=ne.alignAttr||{x:ne.attr("x"),y:ne.attr("y")},j=ne.getBBox();return ne.width=j.width,ne.height=j.height,{x:G.x+(((re=ne.parentGroup)==null?void 0:re.translateX)||0)+Y,y:G.y+((($=ne.parentGroup)==null?void 0:$.translateY)||0)+Y,width:(ne.width||0)-2*Y,height:(ne.height||0)-2*Y,polygon:j==null?void 0:j.polygon}}}(I));S.sort((q,ne)=>(ne.labelrank||0)-(q.labelrank||0));for(let q=0;q<C;++q){k=(D=S[q])&&D.absoluteBox;let ne=k==null?void 0:k.polygon;for(let re=q+1;re<C;++re){L=(N=S[re])&&N.absoluteBox;let $=!1;if(k&&L&&D!==N&&D.newOpacity!==0&&N.newOpacity!==0&&D.visibility!=="hidden"&&N.visibility!=="hidden"){let Y=L.polygon;if(ne&&Y&&ne!==Y?O(ne,Y)&&($=!0):M(k,L)&&($=!0),$){let G=D.labelrank<N.labelrank?D:N,j=G.text;G.newOpacity=0,j!=null&&j.element.querySelector("textPath")&&j.hide()}}}}for(let q of S)b(q,this)&&(B=!0);B&&d(this,"afterHideAllOverlappingLabels")}function b(S,C){let M,O,I=!1;return S&&(O=S.newOpacity,S.oldOpacity!==O&&(S.hasClass("highcharts-data-label")?(S[O?"removeClass":"addClass"]("highcharts-data-label-hidden"),M=function(){C.styledMode||S.css({pointerEvents:O?"auto":"none"})},I=!0,S[S.isOld?"animate":"attr"]({opacity:O},void 0,M),d(C,"afterHideOverlappingLabel")):S.attr({opacity:O})),S.isOld=!0),I}function w(){var M;let S=this,C=[];for(let O of S.labelCollectors||[])C=C.concat(O());for(let O of S.yAxis||[])O.stacking&&O.options.stackLabels&&!O.options.stackLabels.allowOverlap&&p(O.stacking.stacks,I=>{p(I,D=>{D.label&&C.push(D.label)})});for(let O of S.series||[])if(O.visible&&((M=O.hasDataLabels)!=null&&M.call(O))){let I=D=>{for(let N of D)N.visible&&(N.dataLabels||[]).forEach(k=>{var B;let L=k.options||{};k.labelrank=y(L.labelrank,N.labelrank,(B=N.shapeArgs)==null?void 0:B.height),L.allowOverlap??Number(L.distance)>0?(k.oldOpacity=k.opacity,k.newOpacity=1,b(k,S)):C.push(k)})};I(O.nodes||[]),I(O.points)}this.hideOverlappingLabels(C)}return{compose:function(S){let C=S.prototype;C.hideOverlappingLabels||(C.hideOverlappingLabels=g,a(S,"render",w))}}}),r(n,"Extensions/BorderRadius.js",[n["Core/Defaults.js"],n["Core/Globals.js"],n["Core/Utilities.js"]],function(i,s,c){let{defaultOptions:a}=i,{noop:d}=s,{addEvent:p,extend:y,isObject:g,merge:b,relativeLength:w}=c,S={radius:0,scope:"stack",where:void 0},C=d,M=d;function O(L,B,q,ne,re={}){let $=C(L,B,q,ne,re),{innerR:Y=0,r:G=q,start:j=0,end:R=0}=re;if(re.open||!re.borderRadius)return $;let Z=R-j,U=Math.sin(Z/2),ie=Math.max(Math.min(w(re.borderRadius||0,G-Y),(G-Y)/2,G*U/(1+U)),0),ae=Math.min(ie,Z/Math.PI*2*Y),K=$.length-1;for(;K--;)(function(pe,xe,se){let ge,Se,Ae,$e=pe[xe],le=pe[xe+1];if(le[0]==="Z"&&(le=pe[0]),($e[0]==="M"||$e[0]==="L")&&le[0]==="A"?(ge=$e,Se=le,Ae=!0):$e[0]==="A"&&(le[0]==="M"||le[0]==="L")&&(ge=le,Se=$e),ge&&Se&&Se.params){let te=Se[1],fe=Se[5],Me=Se.params,{start:H,end:de,cx:oe,cy:_e}=Me,ce=fe?te-se:te+se,Oe=ce?Math.asin(se/ce):0,Be=fe?Oe:-Oe,Re=Math.cos(Oe)*ce;Ae?(Me.start=H+Be,ge[1]=oe+Re*Math.cos(H),ge[2]=_e+Re*Math.sin(H),pe.splice(xe+1,0,["A",se,se,0,0,1,oe+te*Math.cos(Me.start),_e+te*Math.sin(Me.start)])):(Me.end=de-Be,Se[6]=oe+te*Math.cos(Me.end),Se[7]=_e+te*Math.sin(Me.end),pe.splice(xe+1,0,["A",se,se,0,0,1,oe+Re*Math.cos(de),_e+Re*Math.sin(de)])),Se[4]=Math.abs(Me.end-Me.start)<Math.PI?0:1}})($,K,K>1?ae:ie);return $}function I(){var L,B;if(this.options.borderRadius&&!(this.chart.is3d&&this.chart.is3d())){let{options:q,yAxis:ne}=this,re=q.stacking==="percent",$=(B=(L=a.plotOptions)==null?void 0:L[this.type])==null?void 0:B.borderRadius,Y=D(q.borderRadius,g($)?$:{}),G=ne.options.reversed;for(let j of this.points){let{shapeArgs:R}=j;if(j.shapeType==="roundedRect"&&R){let{width:Z=0,height:U=0,y:ie=0}=R,ae=ie,K=U;if(Y.scope==="stack"&&j.stackTotal){let ge=ne.translate(re?100:j.stackTotal,!1,!0,!1,!0),Se=ne.translate(q.threshold||0,!1,!0,!1,!0),Ae=this.crispCol(0,Math.min(ge,Se),0,Math.abs(ge-Se));ae=Ae.y,K=Ae.height}let pe=(j.negative?-1:1)*(G?-1:1)==-1,xe=Y.where;!xe&&this.is("waterfall")&&Math.abs((j.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(xe="all"),xe||(xe="end");let se=Math.min(w(Y.radius,Z),Z/2,xe==="all"?U/2:1/0)||0;xe==="end"&&(pe&&(ae-=se),K+=se),y(R,{brBoxHeight:K,brBoxY:ae,r:se})}}}}function D(L,B){return g(L)||(L={radius:L||0}),b(S,B,L)}function N(){let L=D(this.options.borderRadius);for(let B of this.points){let q=B.shapeArgs;q&&(q.borderRadius=w(L.radius,(q.r||0)-(q.innerR||0)))}}function k(L,B,q,ne,re={}){let $=M(L,B,q,ne,re),{r:Y=0,brBoxHeight:G=ne,brBoxY:j=B}=re,R=B-j,Z=j+G-(B+ne),U=R-Y>-.1?0:Y,ie=Z-Y>-.1?0:Y,ae=Math.max(U&&R,0),K=Math.max(ie&&Z,0),pe=[L+U,B],xe=[L+q-U,B],se=[L+q,B+U],ge=[L+q,B+ne-ie],Se=[L+q-ie,B+ne],Ae=[L+ie,B+ne],$e=[L,B+ne-ie],le=[L,B+U],te=(fe,Me)=>Math.sqrt(Math.pow(fe,2)-Math.pow(Me,2));if(ae){let fe=te(U,U-ae);pe[0]-=fe,xe[0]+=fe,se[1]=le[1]=B+U-ae}if(ne<U-ae){let fe=te(U,U-ae-ne);se[0]=ge[0]=L+q-U+fe,Se[0]=Math.min(se[0],Se[0]),Ae[0]=Math.max(ge[0],Ae[0]),$e[0]=le[0]=L+U-fe,se[1]=le[1]=B+ne}if(K){let fe=te(ie,ie-K);Se[0]+=fe,Ae[0]-=fe,ge[1]=$e[1]=B+ne-ie+K}if(ne<ie-K){let fe=te(ie,ie-K-ne);se[0]=ge[0]=L+q-ie+fe,xe[0]=Math.min(se[0],xe[0]),pe[0]=Math.max(ge[0],pe[0]),$e[0]=le[0]=L+ie-fe,ge[1]=$e[1]=B}return $.length=0,$.push(["M",...pe],["L",...xe],["A",U,U,0,0,1,...se],["L",...ge],["A",ie,ie,0,0,1,...Se],["L",...Ae],["A",ie,ie,0,0,1,...$e],["L",...le],["A",U,U,0,0,1,...pe],["Z"]),$}return{compose:function(L,B,q){let ne=L.types.pie;if(!B.symbolCustomAttribs.includes("borderRadius")){let re=q.prototype.symbols;p(L,"afterColumnTranslate",I,{order:9}),p(ne,"afterTranslate",N),B.symbolCustomAttribs.push("borderRadius","brBoxHeight","brBoxY"),C=re.arc,M=re.roundedRect,re.arc=O,re.roundedRect=k}},optionsToObject:D}}),r(n,"Core/Responsive.js",[n["Core/Utilities.js"]],function(i){var s;let{diffObjects:c,extend:a,find:d,merge:p,pick:y,uniqueKey:g}=i;return function(b){function w(C,M){let O=C.condition;(O.callback||function(){return this.chartWidth<=y(O.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=y(O.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=y(O.minWidth,0)&&this.chartHeight>=y(O.minHeight,0)}).call(this)&&M.push(C._id)}function S(C,M){let O=this.options.responsive,I=this.currentResponsive,D=[],N;!M&&O&&O.rules&&O.rules.forEach(B=>{B._id===void 0&&(B._id=g()),this.matchResponsiveRule(B,D)},this);let k=p(...D.map(B=>d((O||{}).rules||[],q=>q._id===B)).map(B=>B&&B.chartOptions));k.isResponsiveOptions=!0,D=D.toString()||void 0;let L=I&&I.ruleIds;D===L||(I&&(this.currentResponsive=void 0,this.updatingResponsive=!0,this.update(I.undoOptions,C,!0),this.updatingResponsive=!1),D?((N=c(k,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:D,mergedOptions:k,undoOptions:N},this.updatingResponsive||this.update(k,C,!0)):this.currentResponsive=void 0)}b.compose=function(C){let M=C.prototype;return M.matchResponsiveRule||a(M,{matchResponsiveRule:w,setResponsive:S}),C}}(s||(s={})),s}),r(n,"masters/highcharts.src.js",[n["Core/Globals.js"],n["Core/Utilities.js"],n["Core/Defaults.js"],n["Core/Animation/Fx.js"],n["Core/Animation/AnimationUtilities.js"],n["Core/Renderer/HTML/AST.js"],n["Core/Templating.js"],n["Core/Renderer/RendererRegistry.js"],n["Core/Renderer/RendererUtilities.js"],n["Core/Renderer/SVG/SVGElement.js"],n["Core/Renderer/SVG/SVGRenderer.js"],n["Core/Renderer/HTML/HTMLElement.js"],n["Core/Axis/Axis.js"],n["Core/Axis/DateTimeAxis.js"],n["Core/Axis/LogarithmicAxis.js"],n["Core/Axis/PlotLineOrBand/PlotLineOrBand.js"],n["Core/Axis/Tick.js"],n["Core/Tooltip.js"],n["Core/Series/Point.js"],n["Core/Pointer.js"],n["Core/Legend/Legend.js"],n["Core/Legend/LegendSymbol.js"],n["Core/Chart/Chart.js"],n["Extensions/ScrollablePlotArea.js"],n["Core/Axis/Stacking/StackingAxis.js"],n["Core/Axis/Stacking/StackItem.js"],n["Core/Series/Series.js"],n["Core/Series/SeriesRegistry.js"],n["Series/Column/ColumnDataLabel.js"],n["Series/Pie/PieDataLabel.js"],n["Core/Series/DataLabel.js"],n["Extensions/OverlappingDataLabels.js"],n["Extensions/BorderRadius.js"],n["Core/Responsive.js"],n["Core/Color/Color.js"],n["Core/Time.js"]],function(i,s,c,a,d,p,y,g,b,w,S,C,M,O,I,D,N,k,L,B,q,ne,re,$,Y,G,j,R,Z,U,ie,ae,K,pe,xe,se){return i.AST=p,i.Axis=M,i.Chart=re,i.Color=xe,i.DataLabel=ie,i.Fx=a,i.HTMLElement=C,i.Legend=q,i.LegendSymbol=ne,i.OverlappingDataLabels=i.OverlappingDataLabels||ae,i.PlotLineOrBand=D,i.Point=L,i.Pointer=B,i.RendererRegistry=g,i.Series=j,i.SeriesRegistry=R,i.StackItem=G,i.SVGElement=w,i.SVGRenderer=S,i.Templating=y,i.Tick=N,i.Time=se,i.Tooltip=k,i.animate=d.animate,i.animObject=d.animObject,i.chart=re.chart,i.color=xe.parse,i.dateFormat=y.dateFormat,i.defaultOptions=c.defaultOptions,i.distribute=b.distribute,i.format=y.format,i.getDeferredAnimation=d.getDeferredAnimation,i.getOptions=c.getOptions,i.numberFormat=y.numberFormat,i.seriesType=R.seriesType,i.setAnimation=d.setAnimation,i.setOptions=c.setOptions,i.stop=d.stop,i.time=c.defaultTime,i.timers=a.timers,K.compose(i.Series,i.SVGElement,i.SVGRenderer),Z.compose(i.Series.types.column),ie.compose(i.Series),O.compose(i.Axis),C.compose(i.SVGRenderer),q.compose(i.Chart),I.compose(i.Axis),ae.compose(i.Chart),U.compose(i.Series.types.pie),D.compose(i.Chart,i.Axis),B.compose(i.Chart),pe.compose(i.Chart),$.compose(i.Axis,i.Chart,i.Series),Y.compose(i.Axis,i.Chart,i.Series),k.compose(i.Pointer),s.extend(i,s),i}),n["masters/highcharts.src.js"]._modules=n,n["masters/highcharts.src.js"]})})(hO);var qK=hO.exports;const dO=Jn(qK);var fO={exports:{}};(function(e,t){(function(n,r){e.exports=r(X)})(typeof self<"u"?self:cc,function(n){return function(r){function i(c){if(s[c])return s[c].exports;var a=s[c]={i:c,l:!1,exports:{}};return r[c].call(a.exports,a,a.exports,i),a.l=!0,a.exports}var s={};return i.m=r,i.c=s,i.d=function(c,a,d){i.o(c,a)||Object.defineProperty(c,a,{configurable:!1,enumerable:!0,get:d})},i.n=function(c){var a=c&&c.__esModule?function(){return c.default}:function(){return c};return i.d(a,"a",a),a},i.o=function(c,a){return Object.prototype.hasOwnProperty.call(c,a)},i.p="",i(i.s=0)}([function(r,i,s){function c(){return c=Object.assign?Object.assign.bind():function(I){for(var D=1;D<arguments.length;D++){var N=arguments[D];for(var k in N)Object.prototype.hasOwnProperty.call(N,k)&&(I[k]=N[k])}return I},c.apply(this,arguments)}function a(I){return g(I)||y(I)||p(I)||d()}function d(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
863
863
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function p(I,D){{if(typeof I=="string")return b(I,D);var N=Object.prototype.toString.call(I).slice(8,-1);return N==="Object"&&I.constructor&&(N=I.constructor.name),N==="Map"||N==="Set"?Array.from(I):N==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(N)?b(I,D):void 0}}function y(I){if(typeof Symbol<"u"&&I[Symbol.iterator]!=null||I["@@iterator"]!=null)return Array.from(I)}function g(I){if(Array.isArray(I))return b(I)}function b(I,D){(D==null||D>I.length)&&(D=I.length);for(var N=0,k=new Array(D);N<D;N++)k[N]=I[N];return k}function w(I){"@babel/helpers - typeof";return(w=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(D){return typeof D}:function(D){return D&&typeof Symbol=="function"&&D.constructor===Symbol&&D!==Symbol.prototype?"symbol":typeof D})(I)}Object.defineProperty(i,"__esModule",{value:!0}),s.d(i,"HighchartsReact",function(){return O});var S=s(1),C=s.n(S),M=typeof window<"u"?S.useLayoutEffect:S.useEffect,O=Object(S.memo)(Object(S.forwardRef)(function(I,D){var N=Object(S.useRef)(),k=Object(S.useRef)(),L=Object(S.useRef)(I.constructorType),B=Object(S.useRef)(I.highcharts);return M(function(){function q(){var re=I.highcharts||(typeof window>"u"?"undefined":w(window))==="object"&&window.Highcharts,$=I.constructorType||"chart";re?re[$]?I.options?k.current=re[$](N.current,I.options,I.callback):console.warn('The "options" property was not passed.'):console.warn('The "constructorType" property is incorrect or some required module is not imported.'):console.warn('The "highcharts" property was not passed.')}if(k.current){if(I.allowChartUpdate!==!1)if(I.constructorType!==L.current||I.highcharts!==B.current)L.current=I.constructorType,B.current=I.highcharts,q();else if(!I.immutable&&k.current){var ne;(ne=k.current).update.apply(ne,[I.options].concat(a(I.updateArgs||[!0,!0])))}else q()}else q()},[I.options,I.allowChartUpdate,I.updateArgs,I.containerProps,I.highcharts,I.constructorType]),M(function(){return function(){k.current&&(k.current.destroy(),k.current=null)}},[]),Object(S.useImperativeHandle)(D,function(){return{get chart(){return k.current},container:N}},[]),C.a.createElement("div",c({},I.containerProps,{ref:N}))}));i.default=O},function(r,i){r.exports=n}])})})(fO);var JK=fO.exports;const pO=Jn(JK),KK=({marker:e})=>{const[t,n]=X.useState([]),[r,i]=X.useState(!0),c={time:{timezone:"UTC"},chart:{backgroundColor:null,borderWidth:0,type:"line",margin:[10,0,5,0],height:90,style:{overflow:"visible"},skipClone:!0},title:{text:""},credits:{enabled:!1},xAxis:{labels:{enabled:!1},title:{text:null},startOnTick:!1,endOnTick:!1,type:"datetime"},yAxis:{plotBands:[{from:1,to:30,color:"rgba(255,179,186,.3)"},{from:30,to:70,color:"rgba(255,255,186,.3)"},{from:70,to:100,color:"rgba(186,255,201,.3)"},{from:100,to:200,color:"rgba(110,192,255,.3)"}],min:0,max:180,endOnTick:!1,startOnTick:!1,labels:{enabled:!1},title:{text:null},tickPositions:[0]},legend:{enabled:!1},tooltip:{hideDelay:0,outside:!0,shared:!0,pointFormat:"<b>{point.y}</b>"},plotOptions:{series:{animation:!1,lineWidth:1,shadow:!1,states:{hover:{lineWidth:1}},marker:{radius:1,states:{hover:{radius:2}}},fillOpacity:.25},column:{negativeColor:"#910000",borderColor:"silver"}},series:[{data:t}]};return X.useEffect(()=>{(async()=>{i(!0);try{const d=await f6(e==null?void 0:e.id);n(d)}catch{console.log("error fetching paw data")}finally{i(!1)}})()},[e]),r?J.jsx(fs,{}):J.jsx(pO,{highcharts:dO,options:c})};function mO(e){switch(e){case"SEVERE_STRESS":return"#ef6666";case"STRESS_START":return"#efef66";case"OPTIMAL":return"#5dae5d";case"EXCESS_WATER":return"#00bfff"}}const QK=({color:e="blue",children:t,variant:n="circle"})=>{const r={fontSize:"inherit",backgroundColor:n==="background"?e:"transparent",borderRadius:"50%",display:"inline-flex",alignItems:"center",justifyContent:"center",color:"#f2f2f2",fontWeight:"bold",padding:n==="circle"?"0":"0.5em 1em",border:n==="circle"?`2px solid ${e}`:"none"},i={width:"1em",height:"1em",backgroundColor:e,borderRadius:"50%",display:"inline-block",marginRight:"0.2em"};return n==="circle"?J.jsxs("span",{style:{display:"flex",alignItems:"center"},children:[J.jsx("div",{style:i}),J.jsxs("span",{children:[" ",t]})]}):J.jsx("div",{style:r,children:t})};function eQ(){const{showMarkers:e}=X.useContext(Ns),t=rn(a=>a.clickedMarker),n=rn(a=>a.setClickedMarker);X.useContext(ii);const{handleDeleteMarker:r}=X.useContext(Ns),{isConfirmed:i}=rf(),s=X.useCallback(async a=>{const d=a.currentTarget.getAttribute("data-marker-id");await i("Do you want to delete this marker?")&&r(d)},[i]),c=()=>{console.log("setClickedMarker closePopup"),n(null)};return console.log("marker popup exists",t),!t||!e?null:(console.log("marker popup exists",t),J.jsxs(fM,{anchor:"top",longitude:Number(t.location.lng),latitude:t.location.lat,closeButton:!1,closeOnClick:!1,onClose:c,className:"!max-w-[240px] sm:!max-w-[270px] lg:!max-w-[320px]",children:[J.jsxs("div",{className:"flex gap-2 items-center dark:text-gray-100 font-black text-[14px]",children:[J.jsx("h3",{className:"text-wrap",children:t==null?void 0:t.title}),J.jsxs("span",{className:"flex items-center gap-1",children:[J.jsx(Vn,{variant:"outline",size:"icon",onClick:s,"data-marker-id":t==null?void 0:t.id,tabIndex:-1,disabled:!0,children:J.jsx(Lg,{className:"w-5 h-5 action-icon text-red-500 "})}),J.jsx(nI,{marker:t,buttonClassName:"!rounded-md !border !border-solid !border-[#D1D5DB] dark:!border-gray-200 !bg-inherit"}),J.jsx(gs,{text:"close popup",children:J.jsx(Vn,{variant:"outline",size:"icon",onClick:c,children:J.jsx(ml,{className:"w-5 h-5 action-icon "})})})]})]}),t.type==="station"?J.jsx(tQ,{marker:t,closePopup:()=>{console.log("setClickedMarker StationPopupContent"),n(null)}}):J.jsx(nQ,{marker:t,closePopup:()=>{console.log("setClickedMarker ForeCastPopupContent"),n(null)}})]}))}function tQ({marker:e,closePopup:t}){return J.jsxs("div",{children:[J.jsx(KK,{marker:e}),J.jsxs("div",{className:"flex flex-col items-center gap-1",children:[J.jsxs("div",{className:"flex items-center justify-between w-full gap-2 rounded-md bg-zinc-100 dark:bg-zinc-800 p-2",children:[J.jsx("h4",{className:"scroll-m-20 text-xs font-medium tracking-tight",children:"Battery"}),J.jsx("div",{className:"flex items-center space-x-2",children:J.jsxs("span",{className:"text-xs text-gray-700 dark:text-gray-200",children:[e.battery.percentage,"%"]})})]}),J.jsxs("div",{className:"flex items-center justify-between w-full gap-2 rounded-md bg-zinc-100 dark:bg-zinc-800 p-2",children:[J.jsx("h4",{className:"scroll-m-20 text-xs font-medium tracking-tight",children:"PAW Status"}),J.jsx("div",{className:"flex items-center space-x-2",children:J.jsx(QK,{color:mO(e.paw_status),children:e.paw_status})})]}),J.jsxs("div",{className:"flex items-center justify-between w-full gap-2 rounded-md bg-zinc-100 dark:bg-zinc-800 p-2",children:[J.jsx("h4",{className:"scroll-m-20 text-xs font-medium tracking-tight",children:"Average PAW"}),J.jsx("div",{className:"flex items-center space-x-2",children:J.jsx("span",{className:"text-xs text-gray-700 dark:text-gray-200",children:e.avg_paw})})]}),J.jsxs("div",{className:"flex items-center justify-between w-full gap-2 rounded-md bg-zinc-100 dark:bg-zinc-800 p-2",children:[J.jsx("h4",{className:"scroll-m-20 text-xs font-medium tracking-tight",children:"Crop"}),J.jsx("div",{className:"flex items-center space-x-2",children:J.jsx("span",{className:"text-xs text-gray-700 dark:text-gray-200",children:e.crop})})]})]})]})}function nQ({marker:e}){return J.jsxs("div",{children:[J.jsx("div",{className:"popup-header",children:J.jsx("h3",{children:e.title})}),J.jsx("hr",{})]})}var rQ=Array.isArray,ya=rQ,iQ=typeof cc=="object"&&cc&&cc.Object===Object&&cc,gO=iQ,aQ=gO,sQ=typeof self=="object"&&self&&self.Object===Object&&self,oQ=aQ||sQ||Function("return this")(),Js=oQ,lQ=Js,cQ=lQ.Symbol,jf=cQ,yO=jf,vO=Object.prototype,uQ=vO.hasOwnProperty,hQ=vO.toString,Bf=yO?yO.toStringTag:void 0;function dQ(e){var t=uQ.call(e,Bf),n=e[Bf];try{e[Bf]=void 0;var r=!0}catch{}var i=hQ.call(e);return r&&(t?e[Bf]=n:delete e[Bf]),i}var fQ=dQ,pQ=Object.prototype,mQ=pQ.toString;function gQ(e){return mQ.call(e)}var yQ=gQ,bO=jf,vQ=fQ,bQ=yQ,xQ="[object Null]",_Q="[object Undefined]",xO=bO?bO.toStringTag:void 0;function wQ(e){return e==null?e===void 0?_Q:xQ:xO&&xO in Object(e)?vQ(e):bQ(e)}var Lo=wQ;function SQ(e){return e!=null&&typeof e=="object"}var No=SQ,CQ=Lo,MQ=No,AQ="[object Symbol]";function EQ(e){return typeof e=="symbol"||MQ(e)&&CQ(e)==AQ}var sh=EQ,TQ=ya,IQ=sh,PQ=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,OQ=/^\w*$/;function kQ(e,t){if(TQ(e))return!1;var n=typeof e;return n=="number"||n=="symbol"||n=="boolean"||e==null||IQ(e)?!0:OQ.test(e)||!PQ.test(e)||t!=null&&e in Object(t)}var V1=kQ;function DQ(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Pl=DQ;const oh=Jn(Pl);var LQ=Lo,NQ=Pl,RQ="[object AsyncFunction]",jQ="[object Function]",BQ="[object GeneratorFunction]",FQ="[object Proxy]";function zQ(e){if(!NQ(e))return!1;var t=LQ(e);return t==jQ||t==BQ||t==RQ||t==FQ}var G1=zQ;const $n=Jn(G1);var $Q=Js,VQ=$Q["__core-js_shared__"],GQ=VQ,W1=GQ,_O=function(){var e=/[^.]+$/.exec(W1&&W1.keys&&W1.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function WQ(e){return!!_O&&_O in e}var UQ=WQ,HQ=Function.prototype,XQ=HQ.toString;function ZQ(e){if(e!=null){try{return XQ.call(e)}catch{}try{return e+""}catch{}}return""}var wO=ZQ,YQ=G1,qQ=UQ,JQ=Pl,KQ=wO,QQ=/[\\^$.*+?()[\]{}|]/g,eee=/^\[object .+?Constructor\]$/,tee=Function.prototype,nee=Object.prototype,ree=tee.toString,iee=nee.hasOwnProperty,aee=RegExp("^"+ree.call(iee).replace(QQ,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function see(e){if(!JQ(e)||qQ(e))return!1;var t=YQ(e)?aee:eee;return t.test(KQ(e))}var oee=see;function lee(e,t){return e==null?void 0:e[t]}var cee=lee,uee=oee,hee=cee;function dee(e,t){var n=hee(e,t);return uee(n)?n:void 0}var Ec=dee,fee=Ec,pee=fee(Object,"create"),my=pee,SO=my;function mee(){this.__data__=SO?SO(null):{},this.size=0}var gee=mee;function yee(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var vee=yee,bee=my,xee="__lodash_hash_undefined__",_ee=Object.prototype,wee=_ee.hasOwnProperty;function See(e){var t=this.__data__;if(bee){var n=t[e];return n===xee?void 0:n}return wee.call(t,e)?t[e]:void 0}var Cee=See,Mee=my,Aee=Object.prototype,Eee=Aee.hasOwnProperty;function Tee(e){var t=this.__data__;return Mee?t[e]!==void 0:Eee.call(t,e)}var Iee=Tee,Pee=my,Oee="__lodash_hash_undefined__";function kee(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=Pee&&t===void 0?Oee:t,this}var Dee=kee,Lee=gee,Nee=vee,Ree=Cee,jee=Iee,Bee=Dee;function lh(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}lh.prototype.clear=Lee,lh.prototype.delete=Nee,lh.prototype.get=Ree,lh.prototype.has=jee,lh.prototype.set=Bee;var Fee=lh;function zee(){this.__data__=[],this.size=0}var $ee=zee;function Vee(e,t){return e===t||e!==e&&t!==t}var U1=Vee,Gee=U1;function Wee(e,t){for(var n=e.length;n--;)if(Gee(e[n][0],t))return n;return-1}var gy=Wee,Uee=gy,Hee=Array.prototype,Xee=Hee.splice;function Zee(e){var t=this.__data__,n=Uee(t,e);if(n<0)return!1;var r=t.length-1;return n==r?t.pop():Xee.call(t,n,1),--this.size,!0}var Yee=Zee,qee=gy;function Jee(e){var t=this.__data__,n=qee(t,e);return n<0?void 0:t[n][1]}var Kee=Jee,Qee=gy;function ete(e){return Qee(this.__data__,e)>-1}var tte=ete,nte=gy;function rte(e,t){var n=this.__data__,r=nte(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}var ite=rte,ate=$ee,ste=Yee,ote=Kee,lte=tte,cte=ite;function ch(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}ch.prototype.clear=ate,ch.prototype.delete=ste,ch.prototype.get=ote,ch.prototype.has=lte,ch.prototype.set=cte;var yy=ch,ute=Ec,hte=Js,dte=ute(hte,"Map"),H1=dte,CO=Fee,fte=yy,pte=H1;function mte(){this.size=0,this.__data__={hash:new CO,map:new(pte||fte),string:new CO}}var gte=mte;function yte(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var vte=yte,bte=vte;function xte(e,t){var n=e.__data__;return bte(t)?n[typeof t=="string"?"string":"hash"]:n.map}var vy=xte,_te=vy;function wte(e){var t=_te(this,e).delete(e);return this.size-=t?1:0,t}var Ste=wte,Cte=vy;function Mte(e){return Cte(this,e).get(e)}var Ate=Mte,Ete=vy;function Tte(e){return Ete(this,e).has(e)}var Ite=Tte,Pte=vy;function Ote(e,t){var n=Pte(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this}var kte=Ote,Dte=gte,Lte=Ste,Nte=Ate,Rte=Ite,jte=kte;function uh(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}uh.prototype.clear=Dte,uh.prototype.delete=Lte,uh.prototype.get=Nte,uh.prototype.has=Rte,uh.prototype.set=jte;var X1=uh,MO=X1,Bte="Expected a function";function Z1(e,t){if(typeof e!="function"||t!=null&&typeof t!="function")throw new TypeError(Bte);var n=function(){var r=arguments,i=t?t.apply(this,r):r[0],s=n.cache;if(s.has(i))return s.get(i);var c=e.apply(this,r);return n.cache=s.set(i,c)||s,c};return n.cache=new(Z1.Cache||MO),n}Z1.Cache=MO;var AO=Z1;const Fte=Jn(AO);var zte=AO,$te=500;function Vte(e){var t=zte(e,function(r){return n.size===$te&&n.clear(),r}),n=t.cache;return t}var Gte=Vte,Wte=Gte,Ute=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Hte=/\\(\\)?/g,Xte=Wte(function(e){var t=[];return e.charCodeAt(0)===46&&t.push(""),e.replace(Ute,function(n,r,i,s){t.push(i?s.replace(Hte,"$1"):r||n)}),t}),Zte=Xte;function Yte(e,t){for(var n=-1,r=e==null?0:e.length,i=Array(r);++n<r;)i[n]=t(e[n],n,e);return i}var Y1=Yte,EO=jf,qte=Y1,Jte=ya,Kte=sh,TO=EO?EO.prototype:void 0,IO=TO?TO.toString:void 0;function PO(e){if(typeof e=="string")return e;if(Jte(e))return qte(e,PO)+"";if(Kte(e))return IO?IO.call(e):"";var t=e+"";return t=="0"&&1/e==-1/0?"-0":t}var Qte=PO,ene=Qte;function tne(e){return e==null?"":ene(e)}var OO=tne,nne=ya,rne=V1,ine=Zte,ane=OO;function sne(e,t){return nne(e)?e:rne(e,t)?[e]:ine(ane(e))}var kO=sne,one=sh;function lne(e){if(typeof e=="string"||one(e))return e;var t=e+"";return t=="0"&&1/e==-1/0?"-0":t}var by=lne,cne=kO,une=by;function hne(e,t){t=cne(t,e);for(var n=0,r=t.length;e!=null&&n<r;)e=e[une(t[n++])];return n&&n==r?e:void 0}var q1=hne,dne=q1;function fne(e,t,n){var r=e==null?void 0:dne(e,t);return r===void 0?n:r}var DO=fne;const _s=Jn(DO);function pne(e){return e==null}var mne=pne;const Xn=Jn(mne);var gne=Lo,yne=ya,vne=No,bne="[object String]";function xne(e){return typeof e=="string"||!yne(e)&&vne(e)&&gne(e)==bne}var _ne=xne;const Ff=Jn(_ne);var J1={exports:{}},dr={};/**
864
864
  * @license React