@magmacomputing/tempo-plugin-geo 1.1.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -0
- package/dist/index.global.min.js +1 -1
- package/dist/index.js +2 -2
- package/dist/install.d.ts +2 -0
- package/dist/install.global.min.js +1 -0
- package/dist/install.js +3262 -0
- package/package.json +13 -10
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,13 @@ All notable changes to the `@magmacomputing/tempo-plugin-geo` project will be do
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [1.2.0] - 2026-09-18
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
- **`/install` Subpath Side-Effect Entry Point**:
|
|
12
|
+
- Added dedicated `@magmacomputing/tempo-plugin-geo/install` subpath for one-line side-effect installation (`import '@magmacomputing/tempo-plugin-geo/install'`).
|
|
13
|
+
- Automatically mounts `Tempo.geo` on `globalThis.Tempo` or imported `Tempo` while preserving 100% tree-shakeability for the main package entry point.
|
|
14
|
+
|
|
8
15
|
## [1.1.0] - 2026-09-16
|
|
9
16
|
|
|
10
17
|
### Added
|
package/dist/index.global.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var Magma;((Magma||={}).plugins||={}).geo=(()=>{var qr=Object.create;var Be=Object.defineProperty;var Hr=Object.getOwnPropertyDescriptor;var Vr=Object.getOwnPropertyNames;var Xr=Object.getPrototypeOf,Qr=Object.prototype.hasOwnProperty;var E=(e,t,r)=>()=>{if(r)throw r[0];try{return e&&(t=e(e=0)),t}catch(n){throw r=[n],n}};var en=(e,t)=>()=>{try{return t||e((t={exports:{}}).exports,t),t.exports}catch(r){throw t=0,r}},ge=(e,t)=>{for(var r in t)Be(e,r,{get:t[r],enumerable:!0})},Je=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Vr(t))!Qr.call(e,o)&&o!==r&&Be(e,o,{get:()=>t[o],enumerable:!(n=Hr(t,o))||n.enumerable});return e},Oe=(e,t,r)=>(Je(e,t,"default"),r&&Je(r,t,"default")),jt=(e,t,r)=>(r=e!=null?qr(Xr(e)):{},Je(t||!e||!e.__esModule?Be(r,"default",{value:e,enumerable:!0}):r,e)),tn=e=>Je(Be({},"__esModule",{value:!0}),e);var pt=en((ao,Yt)=>{"use strict";Yt.exports=window.Magma.pluginSdk});var nn,on,sn,an,cn,ln,un,fn,qt,pn,Ht,w,Z=E(()=>{"use strict";nn=Symbol.for("$LibraryTarget"),on=Symbol.for("$LibraryDiscover"),sn=Symbol.for("$LibraryExtensible"),an=Symbol.for("nodejs.util.inspect.custom"),cn=Symbol.for("$LibraryLogConfig"),ln=Symbol.for("$LibraryRegistry"),un=Symbol.for("$LibraryRegister"),fn=Symbol.for("$LibrarySerializerRegistry"),qt=Symbol.for("$LibraryMutable"),pn=Symbol.for("$LibraryIdentity"),Ht=Symbol.for("$LibraryUnwrapped"),w={$Target:nn,$Discover:on,$Extensible:sn,$Inspect:an,$LogConfig:cn,$Registry:ln,$Register:un,$SerializerRegistry:fn,$Identity:pn,$Mutable:qt,$Unwrapped:Ht}});function he(e){let t=e,r=0,n=50;for(;t;){let o=t[w.$Target];if(!o||r>=n)break;t=o,r++}return t}function C(e,t=!1){if(!e||typeof e!="object")return[];let r=he(e);if(!t){let u=Reflect.ownKeys(r),f=[];for(let d of u){let h=Object.getOwnPropertyDescriptor(r,d);h&&h.enumerable&&f.push([d,r[d]])}return f}let n=[],o=50,s=0,i=r;for(;i&&i!==Object.prototype&&s++<o;)n.push(he(i)),i=Object.getPrototypeOf(i);let a=[],c=new Set;for(let u of n.reverse()){let f=Reflect.ownKeys(u);for(let d of f){if(c.has(d))continue;let h=Object.getOwnPropertyDescriptor(u,d);!h||!h.enumerable||(c.add(d),a.push([d,r[d]]))}}return a}function Ke(e,t=!1){return C(e,t).map(([r])=>r)}function Vt(e,t=!1){return C(e,t).map(([r,n])=>n)}function je(e,t,r){return t?je(e.map(t,r)):Array.from(new Set(e))}var K=E(()=>{"use strict";Z()});var mt,gt,Ye,ue,V,dn,mn,qe,J=E(()=>{"use strict";Z();K();mt=[],gt=e=>{if(e===null)return"Null";if(e===void 0)return"Undefined";let t=typeof e;if(t==="string")return"String";if(t==="number")return"Number";if(t==="boolean")return"Boolean";if(t==="bigint")return"BigInt";if(t==="symbol")return"Symbol";try{let r=t==="object"?he(e):e;return Object.prototype.toString.call(r).slice(8,-1)}catch{return t==="function"?"Function":"Object"}},Ye=e=>{try{let t=e?.[Symbol.toStringTag]??e?.prototype?.[Symbol.toStringTag];if(typeof t=="string")return t}catch{}},ue=(e,...t)=>{let r=e;try{r=e?.[w.$Target]??e}catch{r=e}let n=gt(r);switch(n){case"Function":try{return mn(r)?"Class":"Function"}catch{return"Function"}case"Object":{try{if("length"in r&&Object.keys(r).every(s=>s==="length"||Number.isFinite(Number(s))))return"ArrayLike";for(let s of t){let i=s.class?.[w.$Target]??s.class;if(r===i||i&&r instanceof i)return s.type}let o=globalThis[w.$Registry]??[];for(let s of[...mt,...o]){let i=s.class?.[w.$Target]??s.class;if(r===i||i&&r instanceof i)return s.type}}catch{return"Object"}return"Object"}default:return n}},V=(e,...t)=>({type:ue(e,...t),value:e}),dn=/^\s*(class\s|\[native code\])/,mn=e=>{if(typeof e!="function")return!1;let t=e?.[w.$Target]??e;if(!("prototype"in t))return!1;let r=t?.name,n=Ye(t);if(t?.[w.$Identity]||t?.prototype?.[w.$Identity]||typeof n=="string"&&n.startsWith("Temporal."))return!0;if(typeof n=="string"&&n.endsWith("Function"))return!1;if((globalThis[w.$Registry]??[]).some(s=>(s.class?.[w.$Target]??s.class)===t||r&&s.type===r||n&&s.type===n))return!0;try{let s=Function.prototype.toString.call(t);if(dn.test(s))return!0;let i=Object.getOwnPropertyDescriptor(t,"prototype");if(i&&i.writable===!1&&!Object.isFrozen(t))return!0;let a=t.prototype;if(a&&Object.getOwnPropertyNames(a).length>2)return!0}catch{return!1}return!1},qe=(e,t)=>{if(typeof e!="function")return;let r=Ye(e),n=t??r??e.name;n&&!["Object","Function",""].includes(n)&&(mt.some(o=>o.class===e)||mt.push({class:e,type:n}))}});function He(e){switch(typeof e){case"number":return Number.isFinite(e);case"bigint":return!0;case"string":{let r=e.trim();return r.length===0?!1:gn.test(r)||g(Number(r))}default:return!1}}var W,X,$,Xt,m,Qt,g,gn,ht,fe,er,T,Ee,tr,Q,yt,k,_,j,N,S,A,_e,Ne,Ve,Pe,R,P=E(()=>{"use strict";Z();J();W=(e,...t)=>t.includes(ue(e)),X=e=>e===null||typeof e!="object"&&typeof e!="function",$=e=>!X(e),Xt=e=>Symbol.iterator in Object(e)&&!m(e),m=e=>typeof e=="string",Qt=e=>typeof e=="string"&&e.trim().length>0,g=e=>Number.isFinite(e),gn=/^[+-]?[0-9]+n$/;ht=e=>typeof e=="bigint",fe=e=>Array.isArray(e),er=e=>gt(e)==="Object"&&"length"in e&&Object.keys(e).every(t=>t==="length"||g(Number(t))),T=e=>W(e,"Object"),Ee=e=>W(e,"Date"),tr=e=>W(e,"RegExp"),Q=e=>typeof e=="symbol",yt=e=>typeof e=="symbol"&&Symbol.keyFor(e)!==void 0,k=e=>e!=="__proto__"&&e!=="constructor"&&e!=="prototype",_=e=>e==null||W(e,"Void","Empty"),j=e=>e===void 0||W(e,"Void","Empty"),N=e=>e!=null&&!_(e),S=e=>W(e,"Function","AsyncFunction","GeneratorFunction","AsyncGeneratorFunction"),A=e=>typeof e=="function",_e=e=>W(e,"Map"),Ne=e=>W(e,"Set"),Ve=(e,t)=>W(e,"Error")&&(t?e instanceof t:!0),Pe=e=>typeof Intl<"u"&&typeof Intl.Locale=="function"&&e instanceof Intl.Locale,R=e=>_(e)||T(e)&&Reflect.ownKeys(e).length===0||m(e)&&e.trim().length===0||typeof e=="number"&&Number.isNaN(e)||fe(e)&&e.length===0||Ne(e)&&e.size===0||_e(e)&&e.size===0||ArrayBuffer.isView(e)&&e.byteLength===0||Ee(e)&&Number.isNaN(e.getTime())});function wt(e,t,r=new WeakSet){let n=t instanceof WeakSet?t:t?.skip??hn;return X(e)||r.has(e)||n.has(e)||e instanceof Date||e instanceof RegExp||e instanceof Error||e instanceof Map||e instanceof Set||e instanceof Promise||e?.[Symbol.toStringTag]==="Enumify"||e[w.$Extensible]?e:(r.add(e),C(e).forEach(([o,s])=>{k(o)&&wt(s,{skip:n},r)}),Object.freeze(e))}var x,ye,hn,De=E(()=>{"use strict";K();P();Z();x={Unknown:"unknown",Browser:"browser",WebWorker:"web-worker",NodeJS:"nodejs",Deno:"deno",GoogleAppsScript:"google-apps-script"},ye=()=>{let e=globalThis;try{if(N(e.SpreadsheetApp))return{global:e,type:x.GoogleAppsScript};if(N(e.window?.document))return{global:e,type:x.Browser};if(S(e.importScripts)||N(e.WorkerGlobalScope)&&e instanceof e.WorkerGlobalScope)return{global:e,type:x.WebWorker};if(N(e.Deno))return{global:e,type:x.Deno};if(N(e.process?.versions?.node)&&e.process?.release?.name==="node")return{global:e,type:x.NodeJS}}catch{}return{global:e,type:x.Unknown}},hn=new WeakSet});function rr(e){return Object.fromEntries(C(e,!0))}var nr=E(()=>{"use strict";K();J();P()});function ir(e,t={},r=!1){let{frozen:n,lock:o,appendOnly:s,onGet:i,keys:a,bind:c,skip:u}=t,f=new Set,d,h,b=he(e);o&&wt(b,u?{skip:u}:void 0),qe(b);let O={isExtensible:l=>Reflect.isExtensible(l),getPrototypeOf:l=>Reflect.getPrototypeOf(l),setPrototypeOf:(l,p)=>{if(n)throw new TypeError("Security: Prototype mutation attempt on protected object");return Reflect.setPrototypeOf(l,p)},getOwnPropertyDescriptor:(l,p)=>{if(!(a&&!a.includes(p))){if(a){if(i&&!Q(p)&&!f.has(p)){f.add(p);try{let y=i(p,l);if(N(y))return{enumerable:!0,configurable:!0,value:y}}finally{f.delete(p)}}return{enumerable:!0,configurable:!0}}return Reflect.getOwnPropertyDescriptor(l,p)}},ownKeys:l=>{if(a)return a;if(i&&!f.has(w.$Discover)){f.add(w.$Discover);try{i(w.$Discover,l)}finally{f.delete(w.$Discover)}}return Reflect.ownKeys(l)},has:(l,p)=>a?a.includes(p):Reflect.has(l,p),deleteProperty:(l,p)=>{if(n)throw new TypeError(`Cannot delete property '${String(p)}' from a protected object.`);if(s&&Reflect.has(l,p))throw new Error(`Security: Deletion attempt on protected key '${String(p)}'`);return Reflect.deleteProperty(l,p)},defineProperty:(l,p,y)=>{if(n&&!Object.isFrozen(l))throw new TypeError(`Cannot define property '${String(p)}' on a frozen object.`);if(s&&Reflect.has(l,p))throw new Error(`Security: Mutation attempt on protected key '${String(p)}'`);return Reflect.defineProperty(l,p,y)},set:(l,p,y,I)=>{if(n&&I===h)throw new TypeError(`Cannot set property '${String(p)}' on a frozen object.`);if(s){if(Array.isArray(l)&&p==="length"&&y<l.length)throw new Error("Security: Truncation attempt on protected array.");if(!(Array.isArray(l)&&p==="length")&&Reflect.has(l,p))throw new Error(`Security: Mutation attempt on protected key '${String(p)}'`)}return Reflect.set(l,p,y,I)},get:(l,p,y)=>{if(p===w.$Target)return y===h?l:void 0;if(n&&(p===w.$Inspect||p==="toJSON")){let v=Object.getOwnPropertyDescriptor(l,p);return v&&S(v.value)?v.value:(d||(d=()=>rr(l)),d)}if(a&&!a.includes(p))return;if(i&&!Q(p)&&!Reflect.has(l,p)&&!f.has(p)){f.add(p);try{let v=i(p,l);if(N(v))return v}finally{f.delete(p)}}let I=Reflect.get(l,p,y);if(c&&p!=="constructor"&&S(I)){let v=Object.getOwnPropertyDescriptor(l,p);if(v&&!v.configurable&&!v.writable)return I;let ce=or.get(I);ce||(ce=new WeakMap,or.set(I,ce));let le=ce.get(l);if(le)return le;let Kt=I.bind(l);return ce.set(l,Kt),Kt}return I}};if(r){let l=Proxy.revocable(b,O);return h=l.proxy,{proxy:l.proxy,revoke:l.revoke}}return h=new Proxy(b,O),h}function sr(e,t=!0,r=t,n=new WeakSet){return ir(e,{frozen:t,lock:r,skip:n,bind:t})}function Ie(e,t=new WeakSet){return ir(e,{frozen:!0,lock:!0,skip:t,bind:!0})}var or,Xe=E(()=>{"use strict";Z();nr();De();K();P();J();or=new WeakMap});function ve(e,t=new WeakSet){return JSON.stringify(e,function(r,n){if(n===void 0)return"\0__undefined__\0";if(ht(n))return`\0__bigint:${n}__\0`;if(S(n))return`function:${n.name||"anonymous"}`;if($(n)){if(t.has(n))return"<Circular>";if(t.add(n),Pe(n))return n.toString();if(_e(n))return`map:[${Array.from(n.entries()).map(o=>ve(o,t)).sort().join(",")}]`;if(Ne(n))return`set:[${Array.from(n).map(o=>ve(o,t)).sort().join(",")}]`}return n})}function cr(e){return function t(...r){return r.length>=e.length?e(...r):(...n)=>t(...r,...n)}}function M(e){let t=new Map;return function(...r){let n=ve(this!==void 0&&this!==globalThis?[this,...r]:r);if(!t.has(n)){let o=e.apply(this,r);t.set(n,o)}return t.get(n)}}function Re(e,t){return{enumerable:!1,configurable:!1,writable:!1,value:function(...r){let n=`${String(e)},${ve(r)}`,o=ar.get(this);if(o||(o=new Map,ar.set(this,o)),!o.has(n)){let s=t.apply(this,r);Ie(s),o.set(n,s)}return o.get(n)}}}var ar,Qe=E(()=>{"use strict";Xe();P();ar=new WeakMap});function lr(e){try{return JSON.parse(JSON.stringify(e))}catch(t){throw console.warn("Could not clean object:",t?.message??t),t}}var ur=E(()=>{"use strict";P()});function te(e){return N(e)?S(e)?e():e:t=>S(t)?t():t}var wn,ee,St=E(()=>{"use strict";K();P();J();wn=e=>{let t=new Set,r=e,n=0;for(;r&&r!==Object.prototype&&n++<10;){let o=Object.getOwnPropertyDescriptors(r);for(let[s,i]of Object.entries(o))k(s)&&(i.enumerable||S(i.get))&&t.add(s);r=Object.getPrototypeOf(r)}return Array.from(t)},ee=e=>{if(X(e)||S(e))return e;if(fe(e))return e.map(r=>ee(r));if(Ee(e)||tr(e)||_e(e)||Ne(e))return e;try{if(S(e.toJSON))return ee(e.toJSON())}catch{}let t={};for(let r of wn(e))try{t[r]=ee(e[r])}catch{}return t};te.stringSymbol=te();te.symbolRegExp=te();te.symbolString=te();te.stringString=te()});function mr(e,t){try{return globalThis.structuredClone(e,t)}catch{return lr(e)}}function Sn(e,t){return xn(t)}function pr(e){let t=encodeURI(e);return t.includes("%")&&(t=t.replace(bn,r=>gr[r.toUpperCase()]??decodeURI(r))),t}function xn(e){if(m(e))try{return decodeURI(e)}catch{}return e}function Ce(e){return!W(e,"Function","AsyncFunction","WeakMap","WeakSet","WeakRef")}function Tn(e,t){return`{"$${e}":${t}}`}function On(e){return F(Q(e)?`${yt(e)?"@":""}@(${e.description??""})`:e)}function bt(e){let[t,r,n]=e.toString().match(En)||[null,void 0,void 0];switch(!0){case Q(e):case _(t):case(N(r)&&j(n)):return e;case N(r):return Symbol.for(n);case j(r):default:return Symbol(n)}}function B(e,t){let r=pe;pe=t?.compact!==!1;try{let n=F(e,!1);if(t?.signed){if(!m(t.secret)||!t.secret)throw new TypeError("stringify: signed serialization requires an explicit secret string");return`$sig:${hr(n,t.secret)}:${n}`}return n}finally{pe=r}}function F(e,t=!0){let r=V(e),n=cr(Tn)(r.type);switch(r.type){case"String":{let o=r.value;return o.startsWith("~")&&(o=`~${o}`),t||(t=o==="true"||o==="false"||o==="null"||parseFloat(o).toString()===o||o.startsWith("~")),t?JSON.stringify(pr(o)):pr(o)}case"Boolean":case"Null":case"Number":return JSON.stringify(r.value);case"Void":case"Undefined":return pe?JSON.stringify("~u"):n(JSON.stringify("void"));case"BigInt":return pe?JSON.stringify(`~n${r.value.toString()}`):n(r.value.toString());case"Date":return pe?JSON.stringify(`~t${r.value.getTime()}`):n(F(r.value.toJSON()));case"Object":return`{${C(r.value).filter(([,s])=>Ce(s)).map(([s,i])=>`${On(s)}: ${F(i)}`).join(",")}}`;case"Array":return`[${r.value.filter(s=>Ce(s)).map(s=>F(s)).join(",")}]`;case"Map":{let o=Array.from(r.value.entries()).filter(([,s])=>Ce(s)).map(([s,i])=>`[${F(s)}, ${F(i)}]`).join(",");return n(`[${o}]`)}case"Set":{let o=Array.from(r.value.values()).filter(s=>Ce(s)).map(s=>F(s)).join(",");return n(`[${o}]`)}case"Symbol":{let o=`${yt(r.value)?"@":""}@(${r.value.description??""})`;return pe?JSON.stringify(`~y${o}`):n(JSON.stringify(o))}case"RegExp":return n(F({source:r.value.source,flags:r.value.flags}));default:{let o=r.value;switch(!0){case!Ce(o):return;case S(o.toJSON):return n(F(o.toJSON()));case(S(o.toString)&&o.toString!==Object.prototype.toString):{let s=o.toString();return n(s.includes('"')?s:JSON.stringify(s))}case(S(o.valueOf)&&o.valueOf!==Object.prototype.valueOf):return n(JSON.stringify(o.valueOf()));default:{let s=ee(o);return $(s)&&Object.keys(s).length>0?F(s):n(JSON.stringify(o,(i,a)=>R(i)?a:F(a)))}}}}}function de(e,t){if(!m(e))return e;let r=S(t)?{sentinel:t}:t??{};if(e.startsWith("$sig:")){let o=e.indexOf(":",5);if(o!==-1){let s=e.substring(5,o),i=e.substring(o+1);if(!m(r.secret)||!r.secret){if(console.warn("objectify: signature verification requires an explicit secret string"),r.throwOnError)throw new TypeError("objectify: signature verification requires an explicit secret string");return e}let a=hr(i,r.secret);if(!Nn(s,a)){if(console.warn("objectify: signature verification failed"),r.throwOnError)throw new Error("objectify: signature verification failed");return e}e=i}else if(r.requireSigned){if(console.warn("objectify: malformed signed payload"),r.throwOnError)throw new Error("objectify: malformed signed payload");return e}}else if(r.requireSigned){if(console.warn("objectify: unsigned string rejected by requireSigned policy"),r.throwOnError)throw new Error("objectify: unsigned string rejected by requireSigned policy");return e}let n;try{n=JSON.parse(e,Sn)}catch(o){return e.startsWith('"')&&e.endsWith('"')?(console.warn(`objectify.parse: -> ${e}, ${o.message}`),e):de(`"${e}"`,r.requireSigned?{...r,requireSigned:!1}:r)}switch(!0){case(e.startsWith("{")&&e.endsWith("}")):case(e.startsWith("[")&&e.endsWith("]")):return xt(n,r,0);default:return Ae(n,r)}}function xt(e,t,r=0){let n=t.maxDepth??Pn;return r>=n?e:T(e)?Ae(C(e).filter(([o])=>k(o)).reduce((o,[s,i])=>Object.assign(o,{[bt(s)]:Ae(xt(i,t,r+1),t)}),{}),t):fe(e)?Vt(e).map(o=>Ae(xt(o,t,r+1),t)):Ae(e,t)}function Ae(e,t){if(m(e)&&e.startsWith("~"))try{if(e.startsWith("~~"))return e.substring(1);if(e.startsWith("~n"))return BigInt(e.substring(2));if(e.startsWith("~t")){let s=e.substring(2),i=new Date(He(s)?Number(s):s);return isNaN(i.getTime())?e:i}if(e==="~u")return t.sentinel?.();if(e.startsWith("~y"))return bt(e.substring(2))}catch{return e}if(!T(e)||Ke(e).length!==1)return e;let[r,n]=C(e)[0];if(!String(r).startsWith("$"))return e;let o=r.substring(1);try{switch(o){case"String":case"Boolean":case"Object":case"Array":return n;case"Number":return Number(n);case"BigInt":return BigInt(n);case"Null":return null;case"Undefined":case"Empty":case"Void":return t.sentinel?.();case"Date":return new Date(n);case"RegExp":return t.allowRegExp===!1||!T(n)||!m(n.source)||n.source.length>Dn?e:new RegExp(n.source,n.flags);case"Symbol":return bt(n);case"Map":return fe(n)?new Map(n):e;case"Set":return fe(n)?new Set(n):e;default:{if(t.allowClasses===!1||t.allowedClasses&&!(t.allowedClasses instanceof Set?t.allowedClasses.has(r)||t.allowedClasses.has(o):t.allowedClasses.includes(r)||t.allowedClasses.includes(o)))return e;let s=et.get(r);return s?Reflect.construct(s,[n]):(console.warn(`objectify: dont know how to deserialize '${o}'`),e)}}}catch{return e}}var et,fr,dr,gr,bn,En,_n,hr,Nn,pe,Pn,Dn,we=E(()=>{"use strict";Qe();K();ur();St();J();P();Z();et=globalThis[w.$SerializerRegistry]??=new Map,fr=e=>{try{let t=e?.prototype?.[Symbol.toStringTag]??e?.[Symbol.toStringTag];return m(t)?t:void 0}catch{return}},dr=(e,t)=>{let r=e.startsWith("$")?e:`$${e}`;if(et.has(r)){let n=et.get(r),o=fr(n),s=fr(t),i=n.name||o,a=t.name||s||(e.startsWith("$")?e.slice(1):e);if(n===t||n.toString()===t.toString()||!!t[w.$Identity]&&n[w.$Identity]===t[w.$Identity]||!!t[w.$Target]&&n[w.$Target]===t[w.$Target]||!!i&&!!a&&i===a)return;throw new Error(`[registerSerializable] Collision: '${r}' is already registered with ${n.name||"anonymous constructor"}`)}et.set(r,t)};gr={"%20":" ","%22":'"',"%3B":";","%3C":"<","%3E":">","%5B":"[","%5D":"]","%5E":"^","%7B":"{","%7C":"|","%7D":"}"},bn=new RegExp(Object.keys(gr).join("|"),"gi");En=/^@(@)?\(([^\)]*)\)$/;_n=globalThis.crypto?.randomUUID?globalThis.crypto.randomUUID().split("-")[0]:Math.random().toString(36).slice(2,10),hr=(e,t=_n)=>{let r=2166136261,n=2654435769,o=`${t}:${e}`;for(let s=0;s<o.length;s++){let i=o.charCodeAt(s);r=Math.imul(r^i,16777619),n=Math.imul(n^i,2246822507)}return(r>>>0).toString(16).padStart(8,"0")+(n>>>0).toString(16).padStart(8,"0")},Nn=(e,t)=>{if(!m(e)||!m(t)||e.length!==t.length)return!1;let r=0;for(let n=0;n<e.length;n++)r|=e.charCodeAt(n)^t.charCodeAt(n);return r===0},pe=!0;Pn=64,Dn=512});function re(e,t,r,n,o,s){function i(y){if(y!==void 0&&typeof y!="function")throw new TypeError("Function expected");return y}for(var a=n.kind,c=a==="getter"?"get":a==="setter"?"set":"value",u=!t&&e?n.static?e:e.prototype:null,f=t||(u?Object.getOwnPropertyDescriptor(u,n.name):{}),d,h=!1,b=r.length-1;b>=0;b--){var O={};for(var l in n)O[l]=l==="access"?{}:n[l];for(var l in n.access)O.access[l]=n.access[l];O.addInitializer=function(y){if(h)throw new TypeError("Cannot add initializers after decoration has completed");s.push(i(y||null))};var p=(0,r[b])(a==="accessor"?{get:f.get,set:f.set}:f[c],O);if(a==="accessor"){if(p===void 0)continue;if(p===null||typeof p!="object")throw new TypeError("Object expected");(d=i(p.get))&&(f.get=d),(d=i(p.set))&&(f.set=d),(d=i(p.init))&&o.unshift(d)}else(d=i(p))&&(a==="field"?o.unshift(d):f[c]=d)}u&&Object.defineProperty(u,n.name,f),h=!0}function ne(e,t,r){for(var n=arguments.length>2,o=0;o<t.length;o++)r=n?t[o].call(e,r):t[o].call(e);return n?r:void 0}var $e=E(()=>{"use strict"});function yr(e,t){return Ye(e)??(j(t)?e.name||void 0:String(t))}function wr(e,{kind:t,name:r,addInitializer:n}){let o=yr(e,r);if(o&&qe(e,o),t==="class")return o&&n(()=>dr(o,e)),e;throw new Error(`@Serializable decorating unknown 'kind': ${t} (${r})`)}function oe(e,t){let r=(n,o,s)=>{let i=n.prototype,a=o??yr(n,s);if(a&&(i&&!Object.hasOwn(i,Symbol.toStringTag)&&Object.defineProperty(i,Symbol.toStringTag,{value:a,configurable:!0,writable:!1,enumerable:!1}),!n.name||n.name!==a))try{Object.defineProperty(n,"name",{value:a,configurable:!0,writable:!1,enumerable:!1})}catch{}return n};return A(e)&&t?.kind==="class"?r(e,void 0,t.name):(n,o)=>r(n,m(e)?e:void 0,o?.name)}var Me=E(()=>{"use strict";Z();Xe();P();we();J()});var Tt,Sr=E(()=>{"use strict";$e();P();Me();Tt=(()=>{let e=[oe("BoundedCache")],t,r=[],n,o=Map;var s=class extends o{static{n=this}static{let i=typeof Symbol=="function"&&Symbol.metadata?Object.create(o[Symbol.metadata]??null):void 0;re(null,t={value:n},e,{kind:"class",name:n.name,metadata:i},null,r),s=n=t.value,i&&Object.defineProperty(n,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:i}),ne(n,r)}#t=new Map;#e=new Set;#r=new Map;maxSize;ttl;constructor(i=1e3,a=1440*60*1e3){super(),this.maxSize=i,this.ttl=a}get isBoundedCache(){return!0}#n(i){let a=this.#t.get(i);return a===void 0?!1:Date.now()>a}evictExpired(){if(this.#t.size===0)return;let i=Date.now();for(let[a,c]of this.#t.entries())i>c&&this.delete(a)}setStatic(i,a){return super.has(i)&&super.delete(i),super.set(i,a),this.#e.add(i),this.#t.delete(i),this.#r.delete(i),this}isStatic(i){return this.#e.has(i)}get(i){if(this.#n(i)){this.delete(i);return}if(!super.has(i))return;let a=super.get(i);return super.delete(i),super.set(i,a),a}has(i){return this.#n(i)?(this.delete(i),!1):super.has(i)}get size(){return this.evictExpired(),super.size}forEach(i,a){this.evictExpired(),super.forEach(i,a)}set(i,a,c){this.evictExpired();let u=this.#t.get(i);for(super.has(i)&&super.delete(i),super.set(i,a),this.#e.delete(i),N(c)?c!==1/0?(this.#t.set(i,Date.now()+c),this.#r.set(i,c)):(this.#t.delete(i),this.#r.delete(i)):u!==void 0?this.#t.set(i,u):this.ttl!==1/0?(this.#t.set(i,Date.now()+this.ttl),this.#r.delete(i)):(this.#t.delete(i),this.#r.delete(i));this.size-this.#e.size>this.maxSize;){let f=!1,d=super.keys(),h=d.next();for(;!h.done;){let b=h.value;if(!this.#e.has(b)){this.delete(b),f=!0;break}h=d.next()}if(!f)break}return this}delete(i){return this.#e.delete(i),this.#t.delete(i),this.#r.delete(i),super.delete(i)}deletePrefix(i){let a=String(i).trim().toLowerCase();if(R(a))return 0;let c=[];for(let u of super.keys())m(u)&&u.toLowerCase().startsWith(a)&&c.push(u);for(let u of c)this.delete(u);return c.length}clear(i){if(i===void 0){this.#e.clear(),this.#t.clear(),this.#r.clear(),super.clear();return}let a=0;for(let c of super.keys()){if(a>=i)break;this.#e.has(c)||(this.delete(c),a++)}}keys(){return this.evictExpired(),super.keys()}values(){return this.evictExpired(),super.values()}entries(){return this.evictExpired(),super.entries()}[Symbol.iterator](){return this.evictExpired(),super[Symbol.iterator]()}toJSON(){this.evictExpired();let i=[];for(let[a,c]of super.entries())m(a)&&i.push([a,c]);return Object.fromEntries(i)}static fromEntries(i,a=1e3,c=1440*60*1e3){let u=new s(a,c);for(let[f,d]of i)u.set(f,d);return u}};return s=n})()});function Tr(e,t){let r;if(j(e))return t??{};switch(z.type){case x.Browser:r=Ot.getItem(e);break;case x.NodeJS:r=Le.has(e)?Le.get(e):In(e);break;case x.Deno:r=z.global.Deno.env.get(e);break;case x.GoogleAppsScript:r=z.global.PropertiesService?.getUserProperties().getProperty(e);break;case x.WebWorker:case x.Unknown:r=void 0;break;default:throw new Error(`Cannot determine Javascript context: ${z.type}`)}return m(r)?de(r):t}function Nt(e,t,r){let n=N(t)?B(t):void 0,o=N(n);switch(z.type){case x.Browser:try{o?Ot.setItem(e,n):Ot.removeItem(e)}catch(s){console.warn(`[Storage] Failed to ${o?"setItem":"removeItem"} for key '${e}':`,s)}break;case x.NodeJS:o?r?.static?Le.setStatic(e,n):Le.set(e,n,r?.ttl):Le.set(e,void 0,r?.ttl);break;case x.Deno:o?z.global.Deno.env.set(e,n):z.global.Deno.env.delete(e);break;case x.GoogleAppsScript:o?z.global.PropertiesService?.getUserProperties().setProperty(e,n):z.global.PropertiesService?.getUserProperties().deleteProperty(e);break;case x.WebWorker:case x.Unknown:break;default:throw new Error(`Cannot determine Javascript context: ${z.type}`)}}var z,xr,br,Et,_t,Ot,Le,In,Pt=E(()=>{"use strict";we();De();P();Sr();z=ye(),xr=(e=1e3,t=1/0)=>{let r=new Tt(e,t);return{get length(){return r.size},clear:()=>r.clear(),getItem:n=>r.get(n)??null,key:n=>Array.from(r.keys())[n]??null,removeItem:n=>{r.delete(n)},setItem:(n,o)=>{r.set(n,String(o))}}},br=new Map,Et=e=>{let t=br.get(e);return t||(t=xr(),br.set(e,t)),t},_t=(e="localStorage")=>{try{let t=globalThis?.[e];if(t&&A(t.getItem)&&A(t.setItem)&&A(t.removeItem)&&A(t.clear)&&A(t.key)&&g(t.length))return t}catch{}return Et(e)},Ot=z.type===x.Browser?_t():xr(),Le=new Tt(1e3,1/0),In=e=>{try{let t=Reflect.get(z.global,"process");if(!t||typeof t!="object")return;let r=Reflect.get(t,"env");return!r||typeof r!="object"?void 0:Reflect.get(r,e)}catch{return}}});var Or=E(()=>{"use strict";we();P()});function Er(e=[],t){let r=n=>j(t)||N(n)?n:mr(t);return er(e)||Xt(e)&&!m(e)?Array.from(e,r):[e]}function _r(e){if(Ve(e))return e;let t=new Error(T(e)&&m(e.message)?e.message:String(e));return T(e)&&(t.name=m(e.name)?e.name:"Error","code"in e&&(m(e.code)||g(e.code))&&(t.code=e.code),"stack"in e&&m(e.stack)&&(t.stack=e.stack)),t}var Pi,Di,Dt=E(()=>{"use strict";we();J();P();Or();Pi=BigInt(Number.MAX_SAFE_INTEGER),Di=BigInt(Number.MIN_SAFE_INTEGER)});var Nr=E(()=>{"use strict";Dt();if(typeof globalThis.Temporal>"u")throw new Error("Temporal API is not available. Node 20+ with a polyfill (e.g. @js-temporal/polyfill) is highly recommended. Native Temporal is fully reliable only on Node 26+ (while Node 22 may have instabilities).");try{if(typeof Temporal.Now.zonedDateTimeISO=="function"&&typeof Temporal.Now.zonedDateTimeISO().add!="function")throw new Error("Incomplete Temporal implementation")}catch(e){let t=_r(e);if(console.warn("Tempo: Native Temporal implementation appears incomplete. Consider loading a polyfill.",t),t.message!=="Incomplete Temporal implementation")throw t}});function Pr(){return Temporal.Now.instant()}function Dr(e,t=2024){let r=Temporal.ZonedDateTime.from({year:t,month:1,day:1,hour:0,minute:0,second:0,timeZone:e}).offsetNanoseconds,n=Temporal.ZonedDateTime.from({year:t,month:7,day:1,hour:0,minute:0,second:0,timeZone:e}).offsetNanoseconds;return{jan:r,jul:n}}var It=E(()=>{"use strict";Nr();P()});function Fe(e,t,r){if(e){if(A(e[t]))return e[t]();if(r&&r in e)return e[r]}}function Un(e){return e?Mn.has(e)?5:$n.has(e)?6:An.has(e)?7:1:1}function Jn(e){return e?e==="IR"?Wn:e==="AF"?kn:Ln.has(e)?Gn:Ir:Ir}function Bn(e,t){let r=e?.script??(A(e?.maximize)?e.maximize().script:void 0);return r&&zn.has(r)||t&&Fn.has(t)?"rtl":"ltr"}var vn,Rn,Se,se,Gi,Wi,Rt,ki,Cn,Ui,An,$n,Mn,Ln,Fn,zn,Ir,Gn,Wn,kn,vt,Ji,Bi,Zn,Kn,vr,Zi,tt,Ki,Ct=E(()=>{"use strict";It();Qe();P();Dt();vn=/_/g,Rn=/[.@]/,Se=e=>typeof Intl<"u"&&(!e||Object.hasOwn(Intl,e)&&A(Intl[e])),se=e=>{if(Pe(e)&&(e=e.toString()),!m(e))return;let t=e.trim();if(R(t))return;let r=t.split(Rn)[0];if(!R(r))return r.replace(vn,"-")},Gi=M((e,t)=>new Intl.RelativeTimeFormat(se(e),t)),Wi=M((e,t)=>new Intl.ListFormat(se(e),t)),Rt=M((e,t)=>new Intl.DateTimeFormat(se(e),t)),ki=M((e,t)=>{try{return new Intl.PluralRules(se(e),t)}catch{return{select:()=>"other"}}}),Cn=M((e,t)=>new Intl.NumberFormat(se(e),t)),Ui=M((e,t)=>{try{let r=new Intl.DurationFormat(se(e),t);if(S(r.format))return r;throw new Error("No format method")}catch{return{format:n=>String(n)}}});An=new Set(["US","CA","MX","BR","IL","JP","TW","HK","MO","PH","SG","TH","IN","KR","CO","PE","VE","ZA"]),$n=new Set(["SA","AF","BH","DJ","DZ","EG","IQ","IR","JO","KW","LY","OM","QA","SD","SY","YE"]),Mn=new Set(["MV"]),Ln=new Set(["SA","BH","DJ","DZ","EG","IQ","JO","KW","LY","OM","QA","SD","SY","YE"]),Fn=new Set(["ar","he","fa","ur","yi","ps","sd","ug","ckb"]),zn=new Set(["Arab","Hebr","Thaa","Syrc","Mand","Samr","Nkoo"]),Ir=Object.freeze([6,7]),Gn=Object.freeze([5,6]),Wn=Object.freeze([5]),kn=Object.freeze([4,5]);vt=M(e=>{if(Pe(e))return e;if(Se("Locale"))try{let t=se(e);return new Intl.Locale(t||"en-US")}catch{return}}),Ji=M(e=>{let t=vt(e)??vt("en-US"),r=t?.baseName??vr(e)??"en-US",n=t?.language??r.split("-")[0]?.toLowerCase(),o=[];for(let le of r.split("-").slice(1)){if(le.length===1)break;o.push(le)}let s=t?.region??(A(t?.maximize)?t.maximize().region:void 0)??o.find(le=>/^[a-zA-Z]{2}$|^\d{3}$/.test(le))?.toUpperCase(),i=t?.script??(A(t?.maximize)?t.maximize().script:void 0),a=Fe(t,"getWeekInfo","weekInfo"),c=a?.firstDay??Un(s),u=Array.isArray(a?.weekend)?Object.freeze([...a.weekend]):Jn(s),d=Fe(t,"getHourCycles","hourCycles")??t?.hourCycle??(Se("DateTimeFormat")?Rt(r,{hour:"numeric"}).resolvedOptions().hourCycle:void 0),h=Array.isArray(d)&&d.length>0?Object.freeze([...d]):m(d)?Object.freeze([d]):Object.freeze(["h23"]),b=Fe(t,"getTextInfo","textInfo"),O=b?.direction==="rtl"||b?.direction==="ltr"?b.direction:Bn(t,n),p=Fe(t,"getNumberingSystems","numberingSystems")??t?.numberingSystem??(Se("NumberFormat")?Cn(r).resolvedOptions().numberingSystem:void 0),y=Array.isArray(p)&&p.length>0?Object.freeze([...p]):m(p)?Object.freeze([p]):Object.freeze(["latn"]),I=Fe(t,"getTimeZones","timeZones"),v=Array.isArray(I)&&I.length>0?Object.freeze([...I]):Object.freeze([]),ce=Object.freeze({firstDay:c,weekend:u});return Object.freeze({locale:t,baseName:r,language:n,region:s,script:i,weekInfo:ce,firstDay:c,weekend:u,hourCycle:h[0],hourCycles:h,direction:O,numberingSystem:y[0],numberingSystems:y,timeZones:v})}),Bi=M((e="latn")=>{if(!(!e||e==="latn"||!Se("NumberFormat")))try{let t=new Intl.NumberFormat(`en-u-nu-${e}`,{useGrouping:!1}),r=Array.from({length:10},(n,o)=>t.format(o));return r[0]==="0"&&r[9]==="9"?void 0:Object.freeze(r)}catch{return}}),Zn=Object.freeze({locale:"en-US",calendar:"iso8601",numberingSystem:"latn",timeZone:"UTC"}),Kn=M(()=>Se("DateTimeFormat")?Object.freeze(Rt().resolvedOptions()):Zn),vr=M(e=>{let t=se(e);if(t){if(Se("getCanonicalLocales"))try{return Intl.getCanonicalLocales(t)[0]}catch{return}return vt(t)?.baseName??t}}),Zi=M(e=>Object.freeze(Er(e).map(t=>vr(t)).filter(Boolean))),tt=M((e=Kn().timeZone)=>{try{let{jan:t,jul:r}=Dr(e),o=["Australia","Antarctica","Africa/Johannesburg","America/Argentina/Buenos_Aires","America/Sao_Paulo"].some(s=>e.startsWith(s));switch(!0){case r>t:return"north";case r<t:return"south";default:return o?"south":void 0}}catch{return}}),Ki=M(e=>{try{let t=new Date(2024,11,24),r=Rt(e).formatToParts(t);return r[0].type==="month"&&r[0].value==="12"}catch{return!1}})});function Y(e){return{enumerable:!1,configurable:!1,writable:!1,value:e}}function be(e,t=!0){let n=ue(this)!=="Module"&&S(this?.has)?this:Yn,o=V(e),s=Object.create(n);switch(o.type){case"Enumify":case"Object":Object.defineProperties(s,Object.getOwnPropertyDescriptors(o.value));break;case"Array":o.value.forEach((i,a)=>{if(g(i))throw new Error("Enumify: numeric keys are not supported");s[i]=a});break;default:throw new Error(`Enumify: invalid argument type: ${o.type}`)}return sr(s,!0,t)}var jn,Yn,ts,Rr=E(()=>{"use strict";$e();J();P();K();Xe();Me();Qe();jn="Enumify",Yn=Ie(Object.create(null,{keys:Re("keys",function(){return C(this,!0).map(([e])=>e)}),values:Re("values",function(){return C(this,!0).map(([e,t])=>t)}),entries:Re("entries",function(){return C(this,!0).map(([e,t])=>Object.freeze([e,t]))}),invert:Re("invert",function(){return Object.fromEntries(this.entries().map(([e,t])=>[t,e]))}),has:Y(function(e){return this.keys().includes(e)}),count:Y(function(){return this.keys().length}),includes:Y(function(e){return this.values().includes(e)}),keyOf:Y(function(e){return this.invert()[e]}),extend:Y(function(e,t){return be.call(this,e,t)}),forEach:Y(function(e,t){this.entries().forEach((r,n)=>e.call(t,r,n,this))}),filter:Y(function(e,t){return be(this.entries().reduce((r,n,o)=>e.call(t,n,o,this)?Object.assign(r,{[n[0]]:n[1]}):r,{}))}),map:Y(function(e,t){return be(this.entries().reduce((r,n,o)=>Object.assign(r,{[n[0]]:e.call(t,n,o,this)}),{}))}),[Symbol.iterator]:Y(function*(){for(let e of this.entries())yield e}),[Symbol.toStringTag]:{enumerable:!1,configurable:!1,writable:!1,value:jn}}));ts=(()=>{let e=[wr,oe("Enumify")],t,r=[],n;var o=class{static{n=this}static{let s=typeof Symbol=="function"&&Symbol.metadata?Object.create(null):void 0;re(null,t={value:n},e,{kind:"class",name:n.name,metadata:s},null,r),o=n=t.value,s&&Object.defineProperty(n,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:s}),ne(n,r)}constructor(s){return be(s)}};return o=n})()});function qn(e,t=G.Info){return g(e)?e>=G.Off&&e<=G.Trace?e:t:m(e)?Cr[e.toLowerCase()]??t:t}var G,L,Cr,rt,At=E(()=>{"use strict";$e();P();Rr();Z();Me();G=be(["Off","Error","Warn","Info","Debug","Trace"]),L={Off:"off",Log:"log",Info:"info",Warn:"warn",Debug:"debug",Trace:"trace",Error:"error"},Cr={[L.Off]:G.Off,[L.Error]:G.Error,[L.Warn]:G.Warn,[L.Info]:G.Info,[L.Log]:G.Info,[L.Debug]:G.Debug,[L.Trace]:G.Trace};rt=(()=>{let e=[oe("Logger")],t,r=[],n;var o=class{static{n=this}static{let s=typeof Symbol=="function"&&Symbol.metadata?Object.create(null):void 0;re(null,t={value:n},e,{kind:"class",name:n.name,metadata:s},null,r),o=n=t.value,s&&Object.defineProperty(n,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:s}),ne(n,r)}#t;level;constructor(s,i=G.Info){this.#t=s.startsWith("[")?s:`[${s}]`,this.level=i}#e(s,...i){let a;if(i.length>0&&T(i[0]))try{i[0][w.$LogConfig]&&(a=i.shift())}catch{}let c=this.level;if(a){if(a.silent===!0)return;a.debug!==void 0&&(c=qn(a.debug,c))}if(c===G.Off||(Cr[s]??0)>c)return;let f=i.map(d=>{if(Ve(d))return d.message;if(T(d))try{let h=d.constructor?.name??"Object";if(h==="Object"){let b=Object.keys(d);return`{ ${b.slice(0,3).join(", ")}${b.length>3?`, ... (+${b.length-3} more)`:""} }`}return`[${h}]`}catch{return"[Object]"}return String(d)}).filter(d=>!R(d)).join(" ");R(f)||console[s](`${this.#t} ${f}`)}log=(...s)=>this.#e(L.Log,...s);info=(...s)=>this.#e(L.Info,...s);warn=(...s)=>this.#e(L.Warn,...s);debug=(...s)=>this.#e(L.Debug,...s);trace=(...s)=>this.#e(L.Trace,...s);error=(...s)=>this.#e(L.Error,...s)};return o=n})()});var Ar={};ge(Ar,{WebStore:()=>Hn});var ze,Hn,$r=E(()=>{"use strict";$e();K();we();J();P();Pt();Me();ze={Local:"local",Session:"session"},Hn=(()=>{let e=[oe("WebStore")],t,r=[],n;var o=class{static{n=this}static{let s=typeof Symbol=="function"&&Symbol.metadata?Object.create(null):void 0;re(null,t={value:n},e,{kind:"class",name:n.name,metadata:s},null,r),o=n=t.value,s&&Object.defineProperty(n,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:s}),ne(n,r)}static _localInstance;static _sessionInstance;static get local(){return o._localInstance??=new o(ze.Local)}static get session(){return o._sessionInstance??=new o(ze.Session)}#t;#e;get#r(){if(this.#e)return this.#e;let s=this.#t===ze.Local?"localStorage":"sessionStorage";return this.#e=_t(s)}#n(s){try{return s(this.#r)}catch{let a=this.#t===ze.Local?"localStorage":"sessionStorage",c=Et(a);return this.#e=c,s(c)}}constructor(s=ze.Local){this.#t=s}get(s,i){let a=this.#n(c=>c.getItem(B(s)));return m(a)?de(a):i??null}set(s,i,a={merge:!0}){if(_(s))return this.clear();let c=this.get(s),u=V(i);switch(u.type){case"Undefined":return this.del(s);case"Object":return c??={},this.#o(s,a.merge?Object.assign(c,u.value):u.value);case"Array":return c??=[],this.#o(s,a.merge?je(c.concat(u.value)):i);case"Map":return c??=new Map,a.merge?(u.value.forEach((f,d)=>c.set(d,f)),this.#o(s,c)):this.#o(s,u.value);case"Set":return c??=new Set,a.merge?(u.value.forEach(f=>c.add(f)),this.#o(s,c)):this.#o(s,u.value);default:return this.#o(s,u.value)}}clear(){try{this.#n(s=>s.clear())}catch(s){console.warn("[WebStore] Failed to clear storage:",s)}return this}del(...s){return s.forEach(i=>{try{this.#n(a=>a.removeItem(B(i)))}catch(a){console.warn(`[WebStore] Failed to removeItem for key '${String(i)}':`,a)}}),this}keys(...s){return this.entries(...s).map(([i])=>i)}values(...s){return this.entries(...s).map(([,i])=>i)}entries(...s){let i=new Set(s.map(c=>B(c))),a=[];return this.#n(c=>{for(let u=0;u<c.length;u++){let f=c.key(u);if(f!==null&&(R(s)||i.has(f))){let d=c.getItem(f);a.push([de(f),de(d)])}}}),a}from(s){return C(s).forEach(([i,a])=>this.set(i,a)),this}#o(s,i){try{this.#n(a=>a.setItem(B(s),B(i)))}catch(a){console.warn(`[WebStore] Failed to setItem for key '${String(s)}':`,a)}return this}};return o=n})()});var Fr={};ge(Fr,{geoCoords:()=>Lr,geoLocation:()=>Ge,mapAddress:()=>Xn,mapHemisphere:()=>Vn,mapQuery:()=>Lt});var ot,Mr,D,Mt,q,$t,nt,Ge,Lr,Lt,Vn,Xn,Ft=E(()=>{"use strict";St();De();P();It();Ct();At();ot={catch:!0,debug:0},Mr=ye(),D={},Mt="_magma_browser_map_",q=new rt("[Mapper]"),$t=null,nt=()=>($t||($t=new Promise((e,t)=>{Mr.type===x.Browser?Promise.resolve().then(()=>($r(),Ar)).then(({WebStore:r})=>{let n=new r("local"),o=n.get(Mt,{});$(o)&&(o.geolocation&&(!o.geolocation.coords||o.geolocation.$GeolocationPosition)&&delete o.geolocation,Object.assign(D,o)),e(n)}).catch(t):e(void 0)})),$t),Ge=(e={})=>nt().then(()=>new Promise((t,r)=>{e=Object.assign({},ot,e);let n=e.catch?t:r;typeof navigator<"u"&&"geolocation"in navigator?navigator.geolocation.getCurrentPosition(o=>{let s=D.geolocation?.coords,i=s?.latitude?.toFixed(3),a=s?.longitude?.toFixed(3),c=D.geolocation?.timestamp??0,u=o.coords.latitude.toFixed(3)!==i,f=o.coords.longitude.toFixed(3)!==a,d=c<Pr().epochMilliseconds-36e5;(u||f||d)&&(Object.assign(D,{georesponse:null}),q.info(e,"GeoLocation: device update")),Object.assign(D,{geolocation:ee(o)}),t(D.geolocation)},o=>{Object.assign(D,{geolocation:{error:o.message},georesponse:null}),n(D.geolocation)}):(Object.assign(D,{geolocation:{error:"Not Supported"},georesponse:null}),n(D.geolocation))})).finally(()=>{(D.geolocation?.error?q.error:q.info)(e,"geoLocation: ",D.geolocation),nt().then(r=>r?.set(Mt,D))}),Lr=e=>new Promise((t,r)=>{if(!_(e))return t(e);Ge().then(n=>_(n.error)?{location:{lat:n.coords.latitude,lng:n.coords.longitude}}:null).then(n=>t(n)).catch(n=>r(n))}),Lt=(e,t={})=>nt().then(()=>new Promise((r,n)=>{t=Object.assign({},ot,t);let o=t.catch?r:n;Lr(e).then(s=>{switch(!0){case(Mr.type!==x.Browser||!window.google?.maps):throw new Error("Google Maps API not configured");case _(s):throw new Error("Cannot determine Coordinates");case _(e):{let i=D.geolocation&&D.georesponse,a=_(D.geolocation?.error)&&_(D.georesponse?.error);if(i&&a)return t.debug&&q.debug(t,"mapQuery: cache"),r(D.georesponse)}default:new window.google.maps.Geocoder().geocode(s).then(i=>r(D.georesponse=ee(i)))}}).catch(s=>{Object.assign(D,{georesponse:{error:s.message}}),o(D.georesponse)})})).finally(()=>{t.debug&&(D.georesponse?.error?q.error:q.debug)(t,"mapQuery: ",D.georesponse),nt().then(r=>r?.set(Mt,D))}),Vn=(e,t={})=>Lt(e,t).then(r=>{if(t=Object.assign({},ot,t),_(r.error))return t.debug&&q.debug(t,"sphere: ",r),r.results[0].geometry.location.lat()>=0?"north":"south";let n=tt();if(_(n)&&t.catch===!1)throw new Error("Cannot determine Hemisphere");return n}).catch(r=>{if(t.debug&&q.warn(t,"mapHemisphere: ",r.message),t.catch===!1)throw r;return null}),Xn=(e,t={})=>Lt(e,t).then(r=>{if(!_(r.error))throw new Error(r.error);return r.results[0]}).then(({formatted_address:r,address_components:n})=>n.reduce((o,s)=>(s.types.filter(i=>i!=="political").forEach(i=>o[i]=(o[i]?o[i]+",":"").concat(s.short_name)),o),{formatted_address:r})).catch(r=>{if(t=Object.assign({},ot,t),t.debug&&q.warn(t,"mapAddress: ",r.message),t.catch===!1)throw r;return null})});var Ur={};ge(Ur,{HTTP:()=>Wr,HttpError:()=>H,METHOD:()=>kr,fetchHead:()=>eo,fetchRequest:()=>Qn});var zt,zr,Wr,kr,H,Gr,Qn,eo,Jr=E(()=>{"use strict";P();zt=2e3,zr=/\);?$/,Wr={Ok:200,PermRedirect:301,TempRedirect:302,BadRequest:400,Unauthorised:401,Forbidden:403},kr={Head:"HEAD",Get:"GET",Put:"PUT",Delete:"DELETE",Post:"POST"},H=class extends Error{status;statusText;body;constructor(t,r,n){super(`${t}: ${r}`),this.status=t,this.statusText=r,this.body=n,this.name="HttpError"}},Gr=async(e,t)=>{let r=e.headers?.get?.("Content-Length")||e.headers?.get?.("content-length");if(r){let a=parseInt(r,10);if(g(a)&&a>t){try{await e.body?.cancel()}catch{}throw new H(413,`Content-Length (${a}) exceeds limit (${t} bytes)`,null)}}if(!e.body){let a;if(S(e.text))a=await e.text();else if(S(e.json)){let u=await e.json();a=JSON.stringify(u)??""}else a="";let c=new TextEncoder().encode(a).byteLength;if(c>t)throw new H(413,`Payload length (${c}) exceeds limit (${t} bytes)`,null);return a}let n=e.body.getReader(),o=new TextDecoder,s=0,i="";try{for(;;){let{done:a,value:c}=await n.read();if(a)break;if(c){if(s+=c.byteLength,s>t){try{await n.cancel()}catch{}throw new H(413,`Streamed payload exceeded limit (${t} bytes)`,null)}i+=o.decode(c,{stream:!0})}}return i+=o.decode(),i}finally{try{n.releaseLock()}catch{}}},Qn=(e,t={},r={})=>{let n={...t,signal:t.signal?AbortSignal.any([t.signal,AbortSignal.timeout(r.timeout??zt)]):AbortSignal.timeout(r.timeout??zt)};return fetch(e,n).then(async o=>{if(o.ok){let a=(o.headers?.get?.("Content-Type")||o.headers?.get?.("content-type")||"").includes("application/json");if(N(r.maxBytes)){let c=await Gr(o,r.maxBytes);if(r.rawText)return c;if(r.prefix){let u=c.startsWith(r.prefix)?c.substring(r.prefix.length).replace(zr,""):c;return JSON.parse(u)}if(a)return JSON.parse(c);try{return JSON.parse(c)}catch{return c}}if(r.rawText)return S(o.text)?await o.text():"";if(r.prefix){let c=await o.text(),u=c.startsWith(r.prefix)?c.substring(r.prefix.length).replace(zr,""):c;return JSON.parse(u)}if(S(o.text)){let c=await o.text();try{return JSON.parse(c)}catch{return c}}return S(o.json)?await o.json():""}let s=null;try{let i=N(r.maxBytes)?await Gr(o,r.maxBytes):S(o.text)?await o.text():"";try{s=JSON.parse(i)}catch{s=i}}catch(i){if(i instanceof H&&i.status===413)throw i}throw new H(o.status,o.statusText,s)})},eo=e=>{let t=AbortSignal.timeout(zt),r={method:kr.Head,signal:t};return fetch(e,r).then(({ok:n,status:o,statusText:s,headers:i})=>{if(n||o===Wr.Forbidden)return{status:o,headers:i};throw new H(o,s,null)})}});var Zr={};ge(Zr,{serverGeoCoords:()=>it,serverGeoLocation:()=>We,serverMapHemisphere:()=>Ut});var Br,kt,Gt,Wt,to,We,it,Ut,Jt=E(()=>{"use strict";P();Ct();At();Br=new rt("[ServerMapper]"),kt="https://ipwho.is",Gt={endpoint:`${kt}/`,timeout:3e3,catch:!0,debug:0},Wt=null,to=()=>(Wt||(Wt=Promise.resolve().then(()=>(Jr(),Ur))),Wt),We=async(e={})=>{let t={...Gt,...e},r=t.catch!==!1;try{let n=t.endpoint||Gt.endpoint;if(m(t.ip)){let d=encodeURIComponent(t.ip.trim());if((n.endsWith("/")?n.slice(0,-1):n)===kt)n=`${kt}/${d}`;else if(n.includes("{ip}"))n=n.replace("{ip}",d);else if(d!=="")throw new Error(`Custom endpoint must include an '{ip}' placeholder to resolve a specific IP: ${n}`)}let o=t.timeout??Gt.timeout,{fetchRequest:s}=await to(),i=await s(n,{},{...g(o)?{timeout:o}:{},maxBytes:64*1024});if(typeof i!="object"||_(i))throw new Error("Geolocation lookup failed");if(i.status==="fail"||i.success===!1)throw new Error(i.message||i.reason||"Geolocation lookup failed");let a=g(i.lat)?i.lat:i.latitude,c=g(i.lon)?i.lon:i.lng??i.longitude;if(!g(a)||!g(c))throw new Error("Geolocation lookup failed");let u=m(i.timezone)?i.timezone:i.timezone?.id??i.timeZone,f={lat:a,lng:c,latitude:a,longitude:c,...m(i.country||i.countryName||i.country_name)?{country:i.country||i.countryName||i.country_name}:{},...m(i.city||i.cityName||i.city_name)?{city:i.city||i.cityName||i.city_name}:{},...m(u)?{timezone:u}:{},...m(i.query||i.ip||i.ip_address)?{query:i.query||i.ip||i.ip_address}:{},status:"success"};return t.debug&&Br.info(t,"serverGeoLocation success: ",f),f}catch(n){let o=n?.message||"Server geolocation error";if(t.debug&&Br.error(t,"serverGeoLocation error: ",o),!r)throw n;return{error:o,status:"fail"}}},it=async(e,t)=>{if(!_(e)){let n=e.latitude??e.lat,o=e.longitude??e.lng??e.lon??e.long;if(g(n)&&g(o))return{lat:n,lng:o}}let r=await We(t);return _(r.error)&&g(r.lat)&&g(r.lng)?{lat:r.lat,lng:r.lng}:null},Ut=async(e,t)=>{let r=await it(e,t);return r?r.lat>=0?"north":"south":tt()??null}});var io={};ge(io,{GEO_PROPERTIES:()=>ke,GeoPlugin:()=>Zt,clearStashedGeo:()=>ct,coerceGeo:()=>ae,default:()=>oo,geoLocation:()=>Ge,geoLookup:()=>lt,geoPlugin:()=>no,getStashedGeo:()=>Te,haversineDistance:()=>ut,resolveGeoCoordinates:()=>Ue,serverGeoCoords:()=>it,serverGeoLocation:()=>We,serverMapHemisphere:()=>Ut,solarOffset:()=>ft,stashGeo:()=>at});var U={};ge(U,{definePlugin:()=>dt,defineTerm:()=>rn});Oe(U,jt(pt()));var Ze=jt(pt()),dt=e=>(0,Ze.definePlugin)({...e,version:"1.1.0"}),rn=e=>(0,Ze.defineTerm)({...e,version:"1.1.0"});De();P();Pt();P();function ie(...e){for(let t of e){let r=S(t)?t():t;if(r!==void 0)return r}}var st="_magma_geo_",Kr=1440*60*1e3,ke=["latitude","lat","longitude","lng","lon","long","elevation","sphere","country","city","timezone","tz"],jr=e=>g(e)&&e>=-90&&e<=90?Math.round(e*1e3)/1e3:void 0,Yr=e=>g(e)&&e>=-180&&e<=180?Math.round(e*1e3)/1e3:void 0,xe=(e,t)=>{let r=jr(e),n=Yr(t);return r!==void 0&&n!==void 0?{lat:r,lng:n}:void 0},me=(e,t)=>{if(e==="north"||e==="south"||e==="equator")return e;if(g(t))return t>.001?"north":t<-.001?"south":"equator"},ae=e=>{if(m(e)&&e.includes(",")){let p=e.split(",").map(y=>y.trim()).map(y=>y===""?NaN:Number(y));if(p.length>=2&&!isNaN(p[0])&&!isNaN(p[1])){let y=xe(p[0],p[1]);if(y){let I={latitude:y.lat,longitude:y.lng},v=me(void 0,y.lat);return v&&(I.sphere=v),I}}return}if(X(e))return;if(Array.isArray(e)&&e.length>=2){let l=xe(e[0],e[1]);if(l){let p={latitude:l.lat,longitude:l.lng},y=me(void 0,l.lat);return y&&(p.sphere=y),p}return}let t=e.geo??e,r=e.config?.geo??e.config,n=ie(t?.latitude,t?.lat,e.latitude,e.lat,r?.latitude,r?.lat),o=ie(t?.longitude,t?.lng,t?.lon,t?.long,e.longitude,e.lng,e.lon,e.long,r?.longitude,r?.lng,r?.lon,r?.long),s=ie(t?.elevation,e.elevation,r?.elevation),i=ie(t?.sphere,e.sphere,r?.sphere),a=ie(t?.country,e.country,r?.country),c=ie(t?.city,e.city,r?.city),u=ie(t?.timezone,t?.tz,e.timezone,e.tz,r?.timezone,r?.tz),f={},d=jr(n),h=Yr(o);d!==void 0&&(f.latitude=d),h!==void 0&&(f.longitude=h),g(s)&&(f.elevation=Math.round(s*1e3)/1e3);let b=me(i,f.latitude);b&&(f.sphere=b),m(a)&&(f.country=a),m(c)&&(f.city=c),m(u)&&(f.timezone=u);let O=$(e.geo)?e.geo:$(e.config?.geo)?e.config.geo:void 0;if($(O))for(let l of Object.keys(O))k(l)&&!ke.includes(l)&&(f[l]=O[l]);return Object.keys(f).length>0?f:void 0},Bt=e=>{if(m(e)&&!R(e)){let t=e.trim();return t.startsWith(st)?t:`${st}:${t}`}if(e&&T(e)){let t=e.key??e.ip??e.query;if(m(t)&&!R(t))return`${st}:${t.trim()}`}return st},Te=e=>{let t=Bt(e);try{let r=Tr(t)??(typeof localStorage<"u"?localStorage.getItem(t):void 0);if(!r)return;let n=m(r)&&(r.startsWith("{")||r.startsWith("["))?JSON.parse(r):r;if(T(n)&&g(n._expires)&&Date.now()>n._expires){ct(e);return}if(m(n)&&n.includes(",")){let o=n.split(",").map(i=>parseFloat(i.trim())),s=xe(o[0],o[1]);if(s)return{latitude:s.lat,longitude:s.lng,sphere:me(void 0,s.lat)}}if(T(n)){let o=n.geolocation?.coords??n.coords??n,s=o?.latitude??o?.lat,i=o?.longitude??o?.lng??o?.lon??o?.long,a=xe(s,i);if(a){let c={latitude:a.lat,longitude:a.lng},u=n.elevation??o.elevation;return g(u)&&(c.elevation=Math.round(u*1e3)/1e3),c.sphere=me(n.sphere,a.lat),m(n.country)&&(c.country=n.country),m(n.city)&&(c.city=n.city),m(n.timezone)&&(c.timezone=n.timezone),c}}}catch{}},at=(e,t=Kr,r)=>{let n=Bt(r),o=g(t)&&t>0?{...e,_expires:Date.now()+t}:e;Nt(n,o,{ttl:t})},ct=e=>{let t=Bt(e);Nt(t,void 0)},lt=async(e={})=>{if(e.refresh!==!0){let a=Te(e);if(a&&g(a.latitude)&&g(a.longitude)){let{latitude:c,longitude:u,...f}=a;return{...f,status:"cached",lat:c,lng:u,latitude:c,longitude:u}}}let{type:r}=ye(),n;switch(r){case x.Browser:{let{geoLocation:a}=await Promise.resolve().then(()=>(Ft(),Fr)),c=await a(e);if(c.error)return{error:c.error};let u=c.coords?.latitude,f=c.coords?.longitude;n={...c,lat:u,lng:f,latitude:u,longitude:f};break}case x.WebWorker:case x.NodeJS:case x.Deno:default:{let{serverGeoLocation:a}=await Promise.resolve().then(()=>(Jt(),Zr));n=await a(e);break}}let o=n.latitude??n.lat,s=n.longitude??n.lng,i=xe(o,s);if(_(n.error)&&i){let a=me(n.sphere,i.lat);n.lat=i.lat,n.lng=i.lng,n.latitude=i.lat,n.longitude=i.lng,n.sphere=a;let c={latitude:i.lat,longitude:i.lng,sphere:a,...m(n.city)?{city:n.city}:{},...m(n.country)?{country:n.country}:{},...g(n.elevation)?{elevation:Math.round(n.elevation*1e3)/1e3}:{},...m(n.timezone)?{timezone:n.timezone}:{}};try{let u=g(e.ttl)?e.ttl:Kr;at(c,u,e)}catch{}}return n},Ue=async(e,t={})=>{let r=ae(e);if(r&&g(r.latitude)&&g(r.longitude))return{...r,lat:r.latitude,lng:r.longitude};let n=t.refresh===!0?void 0:Te(t);if(n&&g(n.latitude)&&g(n.longitude))return{...n,lat:n.latitude,lng:n.longitude};let o=await lt(t),s=xe(o.lat,o.lng);if(_(o.error)&&s){let i=me(o.sphere,s.lat);return{...o,lat:s.lat,lng:s.lng,latitude:s.lat,longitude:s.lng,sphere:i}}return null};function ut(e,t,r="km"){let n=ae(e),o=ae(t);if(!n||!o||!g(n.latitude)||!g(n.longitude)||!g(o.latitude)||!g(o.longitude))return NaN;let s=Math.PI/180,i=n.latitude*s,a=n.longitude*s,c=o.latitude*s,u=o.longitude*s,f=c-i,d=u-a,h=Math.sin(f/2)**2+Math.cos(i)*Math.cos(c)*Math.sin(d/2)**2,b=2*Math.atan2(Math.sqrt(h),Math.sqrt(1-h)),O;r==="miles"?O=3958.7613:r==="m"?O=63710088e-1:O=6371.0088;let l=O*b;return r==="m"?Math.round(l):Math.round(l*1e3)/1e3}var ro=(e,t)=>{try{if(typeof Temporal<"u"&&typeof Temporal.Instant?.fromEpochMilliseconds=="function")return Temporal.Instant.fromEpochMilliseconds(t).toZonedDateTimeISO(e).offsetNanoseconds/6e10;let n=new Intl.DateTimeFormat("en-US",{timeZone:e,timeZoneName:"longOffset",year:"numeric"}).formatToParts(new Date(t)).find(o=>o.type==="timeZoneName")?.value;if(n){if(n==="GMT"||n==="UTC")return 0;let o=n.match(/GMT([+-])(\d{2}):(\d{2})/);if(o)return(o[1]==="-"?-1:1)*(parseInt(o[2],10)*60+parseInt(o[3],10))}}catch{}};function ft(e,t){let r=ae(e);if(!r||!g(r.latitude)||!g(r.longitude)||isNaN(r.latitude)||isNaN(r.longitude))return NaN;let n=r.longitude,o=t?.timeZone??($(e)?e.timezone??e.tz:void 0)??r.timezone,s=t?.date??($(e)&&g(e.epoch?.ms)?e.epoch.ms:Date.now()),i=typeof s=="number"?s:m(s)?Date.parse(s):Ee(s)?s.getTime():$(s)&&g(s?.epoch?.ms)?s.epoch.ms:Date.now();if(!Number.isFinite(i))return NaN;let a=Qt(o)?ro(o,i):void 0,c=a!==void 0?a/60*15:Math.round(n/15)*15,f=(n-c)*4;if(t?.apparent){let l=new Date(i),p=Date.UTC(l.getUTCFullYear(),0,1),y=Math.floor((i-p)/864e5)+1,I=2*Math.PI/365*(y-1),v=229.18*(75e-6+.001868*Math.cos(I)-.032077*Math.sin(I)-.014615*Math.cos(2*I)-.040849*Math.sin(2*I));f+=v}let d=t?.unit??"minutes",h;d==="seconds"?h=f*60:d==="hours"?h=f/60:h=f;let b=t?.precision??2,O=Math.pow(10,b);return Math.round(h*O)/O}Jt();Ft();P();var Zt=dt({name:"geo",install(e,t){let r=e||this,n=(o,s)=>{let i=r.config?.pluginOptions?.geo,a=s?.config?.pluginOptions?.geo;return{...T(t)?t:{},...T(i)?i:{},...T(a)?a:{},...T(o)?o:{}}};Object.hasOwn(r,"geo")||Object.defineProperty(r,"geo",{value:(0,U.deepFreeze)({lookup:s=>lt(n(s)),resolve:(s,i)=>Ue(s,n(i,s)),coerce:ae,distance:ut,solarOffset:ft,stash:at,clear:ct,get:Te,server:We,browser:Ge,get current(){return Te()??r.config?.geo}}),writable:!1,configurable:!1,enumerable:!1}),e.prototype.geoLocate=async function(o){let s=n(o,this),i=s?.setTimezone!==!1,a=await Ue(this,s);if(a){let c=T(this.config.geo)?this.config.geo:{},u={};for(let l of Object.keys(c))k(l)&&!ke.includes(l)&&(u[l]=c[l]);let f=ae(o)??{};if(T(o))for(let l of Object.keys(o))k(l)&&!["setTimezone","refresh","ttl","endpoint","timeout","catch","debug","geo"].includes(l)&&(ke.includes(l)||(u[l]=o[l]));let d=g(a?.elevation)?a.elevation:g(c.elevation)?c.elevation:void 0,h={...u,...a,...g(d)?{elevation:d}:{},...f};g(h.latitude)&&(h.latitude=Math.round(h.latitude*1e3)/1e3),g(h.longitude)&&(h.longitude=Math.round(h.longitude*1e3)/1e3),!h.sphere&&g(h.latitude)&&(h.sphere=h.latitude>.001?"north":h.latitude<-.001?"south":"equator");let b=this,O=h.timezone;return i&&m(O)&&!R(O)&&(b=this.set({timeZone:O})),new e(b,{...b.config,geo:(0,U.deepFreeze)(h),...h.sphere?{sphere:h.sphere}:{}})}return this},e.prototype.geoLookup=async function(o){return Ue(this,n(o,this))},e.prototype.geoDistance=function(o,s){return ut(this,o,s)},e.prototype.geoSolarOffset=function(o){return ft(this,o)}}}),no=Zt,oo=Zt;return tn(io);})();
|
|
1
|
+
"use strict";var Magma;((Magma||={}).plugins||={}).geo=(()=>{var qr=Object.create;var Be=Object.defineProperty;var Hr=Object.getOwnPropertyDescriptor;var Vr=Object.getOwnPropertyNames;var Xr=Object.getPrototypeOf,Qr=Object.prototype.hasOwnProperty;var E=(e,t,r)=>()=>{if(r)throw r[0];try{return e&&(t=e(e=0)),t}catch(n){throw r=[n],n}};var en=(e,t)=>()=>{try{return t||e((t={exports:{}}).exports,t),t.exports}catch(r){throw t=0,r}},ge=(e,t)=>{for(var r in t)Be(e,r,{get:t[r],enumerable:!0})},Je=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Vr(t))!Qr.call(e,o)&&o!==r&&Be(e,o,{get:()=>t[o],enumerable:!(n=Hr(t,o))||n.enumerable});return e},Oe=(e,t,r)=>(Je(e,t,"default"),r&&Je(r,t,"default")),jt=(e,t,r)=>(r=e!=null?qr(Xr(e)):{},Je(t||!e||!e.__esModule?Be(r,"default",{value:e,enumerable:!0}):r,e)),tn=e=>Je(Be({},"__esModule",{value:!0}),e);var pt=en((ao,Yt)=>{"use strict";Yt.exports=window.Magma.pluginSdk});var nn,on,sn,an,cn,ln,un,fn,qt,pn,Ht,w,Z=E(()=>{"use strict";nn=Symbol.for("$LibraryTarget"),on=Symbol.for("$LibraryDiscover"),sn=Symbol.for("$LibraryExtensible"),an=Symbol.for("nodejs.util.inspect.custom"),cn=Symbol.for("$LibraryLogConfig"),ln=Symbol.for("$LibraryRegistry"),un=Symbol.for("$LibraryRegister"),fn=Symbol.for("$LibrarySerializerRegistry"),qt=Symbol.for("$LibraryMutable"),pn=Symbol.for("$LibraryIdentity"),Ht=Symbol.for("$LibraryUnwrapped"),w={$Target:nn,$Discover:on,$Extensible:sn,$Inspect:an,$LogConfig:cn,$Registry:ln,$Register:un,$SerializerRegistry:fn,$Identity:pn,$Mutable:qt,$Unwrapped:Ht}});function he(e){let t=e,r=0,n=50;for(;t;){let o=t[w.$Target];if(!o||r>=n)break;t=o,r++}return t}function C(e,t=!1){if(!e||typeof e!="object")return[];let r=he(e);if(!t){let u=Reflect.ownKeys(r),f=[];for(let d of u){let h=Object.getOwnPropertyDescriptor(r,d);h&&h.enumerable&&f.push([d,r[d]])}return f}let n=[],o=50,s=0,i=r;for(;i&&i!==Object.prototype&&s++<o;)n.push(he(i)),i=Object.getPrototypeOf(i);let a=[],c=new Set;for(let u of n.reverse()){let f=Reflect.ownKeys(u);for(let d of f){if(c.has(d))continue;let h=Object.getOwnPropertyDescriptor(u,d);!h||!h.enumerable||(c.add(d),a.push([d,r[d]]))}}return a}function Ke(e,t=!1){return C(e,t).map(([r])=>r)}function Vt(e,t=!1){return C(e,t).map(([r,n])=>n)}function je(e,t,r){return t?je(e.map(t,r)):Array.from(new Set(e))}var K=E(()=>{"use strict";Z()});var mt,gt,Ye,ue,V,dn,mn,qe,J=E(()=>{"use strict";Z();K();mt=[],gt=e=>{if(e===null)return"Null";if(e===void 0)return"Undefined";let t=typeof e;if(t==="string")return"String";if(t==="number")return"Number";if(t==="boolean")return"Boolean";if(t==="bigint")return"BigInt";if(t==="symbol")return"Symbol";try{let r=t==="object"?he(e):e;return Object.prototype.toString.call(r).slice(8,-1)}catch{return t==="function"?"Function":"Object"}},Ye=e=>{try{let t=e?.[Symbol.toStringTag]??e?.prototype?.[Symbol.toStringTag];if(typeof t=="string")return t}catch{}},ue=(e,...t)=>{let r=e;try{r=e?.[w.$Target]??e}catch{r=e}let n=gt(r);switch(n){case"Function":try{return mn(r)?"Class":"Function"}catch{return"Function"}case"Object":{try{if("length"in r&&Object.keys(r).every(s=>s==="length"||Number.isFinite(Number(s))))return"ArrayLike";for(let s of t){let i=s.class?.[w.$Target]??s.class;if(r===i||i&&r instanceof i)return s.type}let o=globalThis[w.$Registry]??[];for(let s of[...mt,...o]){let i=s.class?.[w.$Target]??s.class;if(r===i||i&&r instanceof i)return s.type}}catch{return"Object"}return"Object"}default:return n}},V=(e,...t)=>({type:ue(e,...t),value:e}),dn=/^\s*(class\s|\[native code\])/,mn=e=>{if(typeof e!="function")return!1;let t=e?.[w.$Target]??e;if(!("prototype"in t))return!1;let r=t?.name,n=Ye(t);if(t?.[w.$Identity]||t?.prototype?.[w.$Identity]||typeof n=="string"&&n.startsWith("Temporal."))return!0;if(typeof n=="string"&&n.endsWith("Function"))return!1;if((globalThis[w.$Registry]??[]).some(s=>(s.class?.[w.$Target]??s.class)===t||r&&s.type===r||n&&s.type===n))return!0;try{let s=Function.prototype.toString.call(t);if(dn.test(s))return!0;let i=Object.getOwnPropertyDescriptor(t,"prototype");if(i&&i.writable===!1&&!Object.isFrozen(t))return!0;let a=t.prototype;if(a&&Object.getOwnPropertyNames(a).length>2)return!0}catch{return!1}return!1},qe=(e,t)=>{if(typeof e!="function")return;let r=Ye(e),n=t??r??e.name;n&&!["Object","Function",""].includes(n)&&(mt.some(o=>o.class===e)||mt.push({class:e,type:n}))}});function He(e){switch(typeof e){case"number":return Number.isFinite(e);case"bigint":return!0;case"string":{let r=e.trim();return r.length===0?!1:gn.test(r)||g(Number(r))}default:return!1}}var W,X,$,Xt,m,Qt,g,gn,ht,fe,er,T,Ee,tr,Q,yt,k,_,j,N,S,A,_e,Ne,Ve,Pe,R,P=E(()=>{"use strict";Z();J();W=(e,...t)=>t.includes(ue(e)),X=e=>e===null||typeof e!="object"&&typeof e!="function",$=e=>!X(e),Xt=e=>Symbol.iterator in Object(e)&&!m(e),m=e=>typeof e=="string",Qt=e=>typeof e=="string"&&e.trim().length>0,g=e=>Number.isFinite(e),gn=/^[+-]?[0-9]+n$/;ht=e=>typeof e=="bigint",fe=e=>Array.isArray(e),er=e=>gt(e)==="Object"&&"length"in e&&Object.keys(e).every(t=>t==="length"||g(Number(t))),T=e=>W(e,"Object"),Ee=e=>W(e,"Date"),tr=e=>W(e,"RegExp"),Q=e=>typeof e=="symbol",yt=e=>typeof e=="symbol"&&Symbol.keyFor(e)!==void 0,k=e=>e!=="__proto__"&&e!=="constructor"&&e!=="prototype",_=e=>e==null||W(e,"Void","Empty"),j=e=>e===void 0||W(e,"Void","Empty"),N=e=>e!=null&&!_(e),S=e=>W(e,"Function","AsyncFunction","GeneratorFunction","AsyncGeneratorFunction"),A=e=>typeof e=="function",_e=e=>W(e,"Map"),Ne=e=>W(e,"Set"),Ve=(e,t)=>W(e,"Error")&&(t?e instanceof t:!0),Pe=e=>typeof Intl<"u"&&typeof Intl.Locale=="function"&&e instanceof Intl.Locale,R=e=>_(e)||T(e)&&Reflect.ownKeys(e).length===0||m(e)&&e.trim().length===0||typeof e=="number"&&Number.isNaN(e)||fe(e)&&e.length===0||Ne(e)&&e.size===0||_e(e)&&e.size===0||ArrayBuffer.isView(e)&&e.byteLength===0||Ee(e)&&Number.isNaN(e.getTime())});function wt(e,t,r=new WeakSet){let n=t instanceof WeakSet?t:t?.skip??hn;return X(e)||r.has(e)||n.has(e)||e instanceof Date||e instanceof RegExp||e instanceof Error||e instanceof Map||e instanceof Set||e instanceof Promise||e?.[Symbol.toStringTag]==="Enumify"||e[w.$Extensible]?e:(r.add(e),C(e).forEach(([o,s])=>{k(o)&&wt(s,{skip:n},r)}),Object.freeze(e))}var x,ye,hn,De=E(()=>{"use strict";K();P();Z();x={Unknown:"unknown",Browser:"browser",WebWorker:"web-worker",NodeJS:"nodejs",Deno:"deno",GoogleAppsScript:"google-apps-script"},ye=()=>{let e=globalThis;try{if(N(e.SpreadsheetApp))return{global:e,type:x.GoogleAppsScript};if(N(e.window?.document))return{global:e,type:x.Browser};if(S(e.importScripts)||N(e.WorkerGlobalScope)&&e instanceof e.WorkerGlobalScope)return{global:e,type:x.WebWorker};if(N(e.Deno))return{global:e,type:x.Deno};if(N(e.process?.versions?.node)&&e.process?.release?.name==="node")return{global:e,type:x.NodeJS}}catch{}return{global:e,type:x.Unknown}},hn=new WeakSet});function rr(e){return Object.fromEntries(C(e,!0))}var nr=E(()=>{"use strict";K();J();P()});function ir(e,t={},r=!1){let{frozen:n,lock:o,appendOnly:s,onGet:i,keys:a,bind:c,skip:u}=t,f=new Set,d,h,b=he(e);o&&wt(b,u?{skip:u}:void 0),qe(b);let O={isExtensible:l=>Reflect.isExtensible(l),getPrototypeOf:l=>Reflect.getPrototypeOf(l),setPrototypeOf:(l,p)=>{if(n)throw new TypeError("Security: Prototype mutation attempt on protected object");return Reflect.setPrototypeOf(l,p)},getOwnPropertyDescriptor:(l,p)=>{if(!(a&&!a.includes(p))){if(a){if(i&&!Q(p)&&!f.has(p)){f.add(p);try{let y=i(p,l);if(N(y))return{enumerable:!0,configurable:!0,value:y}}finally{f.delete(p)}}return{enumerable:!0,configurable:!0}}return Reflect.getOwnPropertyDescriptor(l,p)}},ownKeys:l=>{if(a)return a;if(i&&!f.has(w.$Discover)){f.add(w.$Discover);try{i(w.$Discover,l)}finally{f.delete(w.$Discover)}}return Reflect.ownKeys(l)},has:(l,p)=>a?a.includes(p):Reflect.has(l,p),deleteProperty:(l,p)=>{if(n)throw new TypeError(`Cannot delete property '${String(p)}' from a protected object.`);if(s&&Reflect.has(l,p))throw new Error(`Security: Deletion attempt on protected key '${String(p)}'`);return Reflect.deleteProperty(l,p)},defineProperty:(l,p,y)=>{if(n&&!Object.isFrozen(l))throw new TypeError(`Cannot define property '${String(p)}' on a frozen object.`);if(s&&Reflect.has(l,p))throw new Error(`Security: Mutation attempt on protected key '${String(p)}'`);return Reflect.defineProperty(l,p,y)},set:(l,p,y,I)=>{if(n&&I===h)throw new TypeError(`Cannot set property '${String(p)}' on a frozen object.`);if(s){if(Array.isArray(l)&&p==="length"&&y<l.length)throw new Error("Security: Truncation attempt on protected array.");if(!(Array.isArray(l)&&p==="length")&&Reflect.has(l,p))throw new Error(`Security: Mutation attempt on protected key '${String(p)}'`)}return Reflect.set(l,p,y,I)},get:(l,p,y)=>{if(p===w.$Target)return y===h?l:void 0;if(n&&(p===w.$Inspect||p==="toJSON")){let v=Object.getOwnPropertyDescriptor(l,p);return v&&S(v.value)?v.value:(d||(d=()=>rr(l)),d)}if(a&&!a.includes(p))return;if(i&&!Q(p)&&!Reflect.has(l,p)&&!f.has(p)){f.add(p);try{let v=i(p,l);if(N(v))return v}finally{f.delete(p)}}let I=Reflect.get(l,p,y);if(c&&p!=="constructor"&&S(I)){let v=Object.getOwnPropertyDescriptor(l,p);if(v&&!v.configurable&&!v.writable)return I;let ce=or.get(I);ce||(ce=new WeakMap,or.set(I,ce));let le=ce.get(l);if(le)return le;let Kt=I.bind(l);return ce.set(l,Kt),Kt}return I}};if(r){let l=Proxy.revocable(b,O);return h=l.proxy,{proxy:l.proxy,revoke:l.revoke}}return h=new Proxy(b,O),h}function sr(e,t=!0,r=t,n=new WeakSet){return ir(e,{frozen:t,lock:r,skip:n,bind:t})}function Ie(e,t=new WeakSet){return ir(e,{frozen:!0,lock:!0,skip:t,bind:!0})}var or,Xe=E(()=>{"use strict";Z();nr();De();K();P();J();or=new WeakMap});function ve(e,t=new WeakSet){return JSON.stringify(e,function(r,n){if(n===void 0)return"\0__undefined__\0";if(ht(n))return`\0__bigint:${n}__\0`;if(S(n))return`function:${n.name||"anonymous"}`;if($(n)){if(t.has(n))return"<Circular>";if(t.add(n),Pe(n))return n.toString();if(_e(n))return`map:[${Array.from(n.entries()).map(o=>ve(o,t)).sort().join(",")}]`;if(Ne(n))return`set:[${Array.from(n).map(o=>ve(o,t)).sort().join(",")}]`}return n})}function cr(e){return function t(...r){return r.length>=e.length?e(...r):(...n)=>t(...r,...n)}}function M(e){let t=new Map;return function(...r){let n=ve(this!==void 0&&this!==globalThis?[this,...r]:r);if(!t.has(n)){let o=e.apply(this,r);t.set(n,o)}return t.get(n)}}function Re(e,t){return{enumerable:!1,configurable:!1,writable:!1,value:function(...r){let n=`${String(e)},${ve(r)}`,o=ar.get(this);if(o||(o=new Map,ar.set(this,o)),!o.has(n)){let s=t.apply(this,r);Ie(s),o.set(n,s)}return o.get(n)}}}var ar,Qe=E(()=>{"use strict";Xe();P();ar=new WeakMap});function lr(e){try{return JSON.parse(JSON.stringify(e))}catch(t){throw console.warn("Could not clean object:",t?.message??t),t}}var ur=E(()=>{"use strict";P()});function te(e){return N(e)?S(e)?e():e:t=>S(t)?t():t}var wn,ee,St=E(()=>{"use strict";K();P();J();wn=e=>{let t=new Set,r=e,n=0;for(;r&&r!==Object.prototype&&n++<10;){let o=Object.getOwnPropertyDescriptors(r);for(let[s,i]of Object.entries(o))k(s)&&(i.enumerable||S(i.get))&&t.add(s);r=Object.getPrototypeOf(r)}return Array.from(t)},ee=e=>{if(X(e)||S(e))return e;if(fe(e))return e.map(r=>ee(r));if(Ee(e)||tr(e)||_e(e)||Ne(e))return e;try{if(S(e.toJSON))return ee(e.toJSON())}catch{}let t={};for(let r of wn(e))try{t[r]=ee(e[r])}catch{}return t};te.stringSymbol=te();te.symbolRegExp=te();te.symbolString=te();te.stringString=te()});function mr(e,t){try{return globalThis.structuredClone(e,t)}catch{return lr(e)}}function Sn(e,t){return xn(t)}function pr(e){let t=encodeURI(e);return t.includes("%")&&(t=t.replace(bn,r=>gr[r.toUpperCase()]??decodeURI(r))),t}function xn(e){if(m(e))try{return decodeURI(e)}catch{}return e}function Ce(e){return!W(e,"Function","AsyncFunction","WeakMap","WeakSet","WeakRef")}function Tn(e,t){return`{"$${e}":${t}}`}function On(e){return F(Q(e)?`${yt(e)?"@":""}@(${e.description??""})`:e)}function bt(e){let[t,r,n]=e.toString().match(En)||[null,void 0,void 0];switch(!0){case Q(e):case _(t):case(N(r)&&j(n)):return e;case N(r):return Symbol.for(n);case j(r):default:return Symbol(n)}}function B(e,t){let r=pe;pe=t?.compact!==!1;try{let n=F(e,!1);if(t?.signed){if(!m(t.secret)||!t.secret)throw new TypeError("stringify: signed serialization requires an explicit secret string");return`$sig:${hr(n,t.secret)}:${n}`}return n}finally{pe=r}}function F(e,t=!0){let r=V(e),n=cr(Tn)(r.type);switch(r.type){case"String":{let o=r.value;return o.startsWith("~")&&(o=`~${o}`),t||(t=o==="true"||o==="false"||o==="null"||parseFloat(o).toString()===o||o.startsWith("~")),t?JSON.stringify(pr(o)):pr(o)}case"Boolean":case"Null":case"Number":return JSON.stringify(r.value);case"Void":case"Undefined":return pe?JSON.stringify("~u"):n(JSON.stringify("void"));case"BigInt":return pe?JSON.stringify(`~n${r.value.toString()}`):n(r.value.toString());case"Date":return pe?JSON.stringify(`~t${r.value.getTime()}`):n(F(r.value.toJSON()));case"Object":return`{${C(r.value).filter(([,s])=>Ce(s)).map(([s,i])=>`${On(s)}: ${F(i)}`).join(",")}}`;case"Array":return`[${r.value.filter(s=>Ce(s)).map(s=>F(s)).join(",")}]`;case"Map":{let o=Array.from(r.value.entries()).filter(([,s])=>Ce(s)).map(([s,i])=>`[${F(s)}, ${F(i)}]`).join(",");return n(`[${o}]`)}case"Set":{let o=Array.from(r.value.values()).filter(s=>Ce(s)).map(s=>F(s)).join(",");return n(`[${o}]`)}case"Symbol":{let o=`${yt(r.value)?"@":""}@(${r.value.description??""})`;return pe?JSON.stringify(`~y${o}`):n(JSON.stringify(o))}case"RegExp":return n(F({source:r.value.source,flags:r.value.flags}));default:{let o=r.value;switch(!0){case!Ce(o):return;case S(o.toJSON):return n(F(o.toJSON()));case(S(o.toString)&&o.toString!==Object.prototype.toString):{let s=o.toString();return n(s.includes('"')?s:JSON.stringify(s))}case(S(o.valueOf)&&o.valueOf!==Object.prototype.valueOf):return n(JSON.stringify(o.valueOf()));default:{let s=ee(o);return $(s)&&Object.keys(s).length>0?F(s):n(JSON.stringify(o,(i,a)=>R(i)?a:F(a)))}}}}}function de(e,t){if(!m(e))return e;let r=S(t)?{sentinel:t}:t??{};if(e.startsWith("$sig:")){let o=e.indexOf(":",5);if(o!==-1){let s=e.substring(5,o),i=e.substring(o+1);if(!m(r.secret)||!r.secret){if(console.warn("objectify: signature verification requires an explicit secret string"),r.throwOnError)throw new TypeError("objectify: signature verification requires an explicit secret string");return e}let a=hr(i,r.secret);if(!Nn(s,a)){if(console.warn("objectify: signature verification failed"),r.throwOnError)throw new Error("objectify: signature verification failed");return e}e=i}else if(r.requireSigned){if(console.warn("objectify: malformed signed payload"),r.throwOnError)throw new Error("objectify: malformed signed payload");return e}}else if(r.requireSigned){if(console.warn("objectify: unsigned string rejected by requireSigned policy"),r.throwOnError)throw new Error("objectify: unsigned string rejected by requireSigned policy");return e}let n;try{n=JSON.parse(e,Sn)}catch(o){return e.startsWith('"')&&e.endsWith('"')?(console.warn(`objectify.parse: -> ${e}, ${o.message}`),e):de(`"${e}"`,r.requireSigned?{...r,requireSigned:!1}:r)}switch(!0){case(e.startsWith("{")&&e.endsWith("}")):case(e.startsWith("[")&&e.endsWith("]")):return xt(n,r,0);default:return Ae(n,r)}}function xt(e,t,r=0){let n=t.maxDepth??Pn;return r>=n?e:T(e)?Ae(C(e).filter(([o])=>k(o)).reduce((o,[s,i])=>Object.assign(o,{[bt(s)]:Ae(xt(i,t,r+1),t)}),{}),t):fe(e)?Vt(e).map(o=>Ae(xt(o,t,r+1),t)):Ae(e,t)}function Ae(e,t){if(m(e)&&e.startsWith("~"))try{if(e.startsWith("~~"))return e.substring(1);if(e.startsWith("~n"))return BigInt(e.substring(2));if(e.startsWith("~t")){let s=e.substring(2),i=new Date(He(s)?Number(s):s);return isNaN(i.getTime())?e:i}if(e==="~u")return t.sentinel?.();if(e.startsWith("~y"))return bt(e.substring(2))}catch{return e}if(!T(e)||Ke(e).length!==1)return e;let[r,n]=C(e)[0];if(!String(r).startsWith("$"))return e;let o=r.substring(1);try{switch(o){case"String":case"Boolean":case"Object":case"Array":return n;case"Number":return Number(n);case"BigInt":return BigInt(n);case"Null":return null;case"Undefined":case"Empty":case"Void":return t.sentinel?.();case"Date":return new Date(n);case"RegExp":return t.allowRegExp===!1||!T(n)||!m(n.source)||n.source.length>Dn?e:new RegExp(n.source,n.flags);case"Symbol":return bt(n);case"Map":return fe(n)?new Map(n):e;case"Set":return fe(n)?new Set(n):e;default:{if(t.allowClasses===!1||t.allowedClasses&&!(t.allowedClasses instanceof Set?t.allowedClasses.has(r)||t.allowedClasses.has(o):t.allowedClasses.includes(r)||t.allowedClasses.includes(o)))return e;let s=et.get(r);return s?Reflect.construct(s,[n]):(console.warn(`objectify: dont know how to deserialize '${o}'`),e)}}}catch{return e}}var et,fr,dr,gr,bn,En,_n,hr,Nn,pe,Pn,Dn,we=E(()=>{"use strict";Qe();K();ur();St();J();P();Z();et=globalThis[w.$SerializerRegistry]??=new Map,fr=e=>{try{let t=e?.prototype?.[Symbol.toStringTag]??e?.[Symbol.toStringTag];return m(t)?t:void 0}catch{return}},dr=(e,t)=>{let r=e.startsWith("$")?e:`$${e}`;if(et.has(r)){let n=et.get(r),o=fr(n),s=fr(t),i=n.name||o,a=t.name||s||(e.startsWith("$")?e.slice(1):e);if(n===t||n.toString()===t.toString()||!!t[w.$Identity]&&n[w.$Identity]===t[w.$Identity]||!!t[w.$Target]&&n[w.$Target]===t[w.$Target]||!!i&&!!a&&i===a)return;throw new Error(`[registerSerializable] Collision: '${r}' is already registered with ${n.name||"anonymous constructor"}`)}et.set(r,t)};gr={"%20":" ","%22":'"',"%3B":";","%3C":"<","%3E":">","%5B":"[","%5D":"]","%5E":"^","%7B":"{","%7C":"|","%7D":"}"},bn=new RegExp(Object.keys(gr).join("|"),"gi");En=/^@(@)?\(([^\)]*)\)$/;_n=globalThis.crypto?.randomUUID?globalThis.crypto.randomUUID().split("-")[0]:Math.random().toString(36).slice(2,10),hr=(e,t=_n)=>{let r=2166136261,n=2654435769,o=`${t}:${e}`;for(let s=0;s<o.length;s++){let i=o.charCodeAt(s);r=Math.imul(r^i,16777619),n=Math.imul(n^i,2246822507)}return(r>>>0).toString(16).padStart(8,"0")+(n>>>0).toString(16).padStart(8,"0")},Nn=(e,t)=>{if(!m(e)||!m(t)||e.length!==t.length)return!1;let r=0;for(let n=0;n<e.length;n++)r|=e.charCodeAt(n)^t.charCodeAt(n);return r===0},pe=!0;Pn=64,Dn=512});function re(e,t,r,n,o,s){function i(y){if(y!==void 0&&typeof y!="function")throw new TypeError("Function expected");return y}for(var a=n.kind,c=a==="getter"?"get":a==="setter"?"set":"value",u=!t&&e?n.static?e:e.prototype:null,f=t||(u?Object.getOwnPropertyDescriptor(u,n.name):{}),d,h=!1,b=r.length-1;b>=0;b--){var O={};for(var l in n)O[l]=l==="access"?{}:n[l];for(var l in n.access)O.access[l]=n.access[l];O.addInitializer=function(y){if(h)throw new TypeError("Cannot add initializers after decoration has completed");s.push(i(y||null))};var p=(0,r[b])(a==="accessor"?{get:f.get,set:f.set}:f[c],O);if(a==="accessor"){if(p===void 0)continue;if(p===null||typeof p!="object")throw new TypeError("Object expected");(d=i(p.get))&&(f.get=d),(d=i(p.set))&&(f.set=d),(d=i(p.init))&&o.unshift(d)}else(d=i(p))&&(a==="field"?o.unshift(d):f[c]=d)}u&&Object.defineProperty(u,n.name,f),h=!0}function ne(e,t,r){for(var n=arguments.length>2,o=0;o<t.length;o++)r=n?t[o].call(e,r):t[o].call(e);return n?r:void 0}var $e=E(()=>{"use strict"});function yr(e,t){return Ye(e)??(j(t)?e.name||void 0:String(t))}function wr(e,{kind:t,name:r,addInitializer:n}){let o=yr(e,r);if(o&&qe(e,o),t==="class")return o&&n(()=>dr(o,e)),e;throw new Error(`@Serializable decorating unknown 'kind': ${t} (${r})`)}function oe(e,t){let r=(n,o,s)=>{let i=n.prototype,a=o??yr(n,s);if(a&&(i&&!Object.hasOwn(i,Symbol.toStringTag)&&Object.defineProperty(i,Symbol.toStringTag,{value:a,configurable:!0,writable:!1,enumerable:!1}),!n.name||n.name!==a))try{Object.defineProperty(n,"name",{value:a,configurable:!0,writable:!1,enumerable:!1})}catch{}return n};return A(e)&&t?.kind==="class"?r(e,void 0,t.name):(n,o)=>r(n,m(e)?e:void 0,o?.name)}var Me=E(()=>{"use strict";Z();Xe();P();we();J()});var Tt,Sr=E(()=>{"use strict";$e();P();Me();Tt=(()=>{let e=[oe("BoundedCache")],t,r=[],n,o=Map;var s=class extends o{static{n=this}static{let i=typeof Symbol=="function"&&Symbol.metadata?Object.create(o[Symbol.metadata]??null):void 0;re(null,t={value:n},e,{kind:"class",name:n.name,metadata:i},null,r),s=n=t.value,i&&Object.defineProperty(n,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:i}),ne(n,r)}#t=new Map;#e=new Set;#r=new Map;maxSize;ttl;constructor(i=1e3,a=1440*60*1e3){super(),this.maxSize=i,this.ttl=a}get isBoundedCache(){return!0}#n(i){let a=this.#t.get(i);return a===void 0?!1:Date.now()>a}evictExpired(){if(this.#t.size===0)return;let i=Date.now();for(let[a,c]of this.#t.entries())i>c&&this.delete(a)}setStatic(i,a){return super.has(i)&&super.delete(i),super.set(i,a),this.#e.add(i),this.#t.delete(i),this.#r.delete(i),this}isStatic(i){return this.#e.has(i)}get(i){if(this.#n(i)){this.delete(i);return}if(!super.has(i))return;let a=super.get(i);return super.delete(i),super.set(i,a),a}has(i){return this.#n(i)?(this.delete(i),!1):super.has(i)}get size(){return this.evictExpired(),super.size}forEach(i,a){this.evictExpired(),super.forEach(i,a)}set(i,a,c){this.evictExpired();let u=this.#t.get(i);for(super.has(i)&&super.delete(i),super.set(i,a),this.#e.delete(i),N(c)?c!==1/0?(this.#t.set(i,Date.now()+c),this.#r.set(i,c)):(this.#t.delete(i),this.#r.delete(i)):u!==void 0?this.#t.set(i,u):this.ttl!==1/0?(this.#t.set(i,Date.now()+this.ttl),this.#r.delete(i)):(this.#t.delete(i),this.#r.delete(i));this.size-this.#e.size>this.maxSize;){let f=!1,d=super.keys(),h=d.next();for(;!h.done;){let b=h.value;if(!this.#e.has(b)){this.delete(b),f=!0;break}h=d.next()}if(!f)break}return this}delete(i){return this.#e.delete(i),this.#t.delete(i),this.#r.delete(i),super.delete(i)}deletePrefix(i){let a=String(i).trim().toLowerCase();if(R(a))return 0;let c=[];for(let u of super.keys())m(u)&&u.toLowerCase().startsWith(a)&&c.push(u);for(let u of c)this.delete(u);return c.length}clear(i){if(i===void 0){this.#e.clear(),this.#t.clear(),this.#r.clear(),super.clear();return}let a=0;for(let c of super.keys()){if(a>=i)break;this.#e.has(c)||(this.delete(c),a++)}}keys(){return this.evictExpired(),super.keys()}values(){return this.evictExpired(),super.values()}entries(){return this.evictExpired(),super.entries()}[Symbol.iterator](){return this.evictExpired(),super[Symbol.iterator]()}toJSON(){this.evictExpired();let i=[];for(let[a,c]of super.entries())m(a)&&i.push([a,c]);return Object.fromEntries(i)}static fromEntries(i,a=1e3,c=1440*60*1e3){let u=new s(a,c);for(let[f,d]of i)u.set(f,d);return u}};return s=n})()});function Tr(e,t){let r;if(j(e))return t??{};switch(z.type){case x.Browser:r=Ot.getItem(e);break;case x.NodeJS:r=Le.has(e)?Le.get(e):In(e);break;case x.Deno:r=z.global.Deno.env.get(e);break;case x.GoogleAppsScript:r=z.global.PropertiesService?.getUserProperties().getProperty(e);break;case x.WebWorker:case x.Unknown:r=void 0;break;default:throw new Error(`Cannot determine Javascript context: ${z.type}`)}return m(r)?de(r):t}function Nt(e,t,r){let n=N(t)?B(t):void 0,o=N(n);switch(z.type){case x.Browser:try{o?Ot.setItem(e,n):Ot.removeItem(e)}catch(s){console.warn(`[Storage] Failed to ${o?"setItem":"removeItem"} for key '${e}':`,s)}break;case x.NodeJS:o?r?.static?Le.setStatic(e,n):Le.set(e,n,r?.ttl):Le.set(e,void 0,r?.ttl);break;case x.Deno:o?z.global.Deno.env.set(e,n):z.global.Deno.env.delete(e);break;case x.GoogleAppsScript:o?z.global.PropertiesService?.getUserProperties().setProperty(e,n):z.global.PropertiesService?.getUserProperties().deleteProperty(e);break;case x.WebWorker:case x.Unknown:break;default:throw new Error(`Cannot determine Javascript context: ${z.type}`)}}var z,xr,br,Et,_t,Ot,Le,In,Pt=E(()=>{"use strict";we();De();P();Sr();z=ye(),xr=(e=1e3,t=1/0)=>{let r=new Tt(e,t);return{get length(){return r.size},clear:()=>r.clear(),getItem:n=>r.get(n)??null,key:n=>Array.from(r.keys())[n]??null,removeItem:n=>{r.delete(n)},setItem:(n,o)=>{r.set(n,String(o))}}},br=new Map,Et=e=>{let t=br.get(e);return t||(t=xr(),br.set(e,t)),t},_t=(e="localStorage")=>{try{let t=globalThis?.[e];if(t&&A(t.getItem)&&A(t.setItem)&&A(t.removeItem)&&A(t.clear)&&A(t.key)&&g(t.length))return t}catch{}return Et(e)},Ot=z.type===x.Browser?_t():xr(),Le=new Tt(1e3,1/0),In=e=>{try{let t=Reflect.get(z.global,"process");if(!t||typeof t!="object")return;let r=Reflect.get(t,"env");return!r||typeof r!="object"?void 0:Reflect.get(r,e)}catch{return}}});var Or=E(()=>{"use strict";we();P()});function Er(e=[],t){let r=n=>j(t)||N(n)?n:mr(t);return er(e)||Xt(e)&&!m(e)?Array.from(e,r):[e]}function _r(e){if(Ve(e))return e;let t=new Error(T(e)&&m(e.message)?e.message:String(e));return T(e)&&(t.name=m(e.name)?e.name:"Error","code"in e&&(m(e.code)||g(e.code))&&(t.code=e.code),"stack"in e&&m(e.stack)&&(t.stack=e.stack)),t}var Pi,Di,Dt=E(()=>{"use strict";we();J();P();Or();Pi=BigInt(Number.MAX_SAFE_INTEGER),Di=BigInt(Number.MIN_SAFE_INTEGER)});var Nr=E(()=>{"use strict";Dt();if(typeof globalThis.Temporal>"u")throw new Error("Temporal API is not available. Node 20+ with a polyfill (e.g. @js-temporal/polyfill) is highly recommended. Native Temporal is fully reliable only on Node 26+ (while Node 22 may have instabilities).");try{if(typeof Temporal.Now.zonedDateTimeISO=="function"&&typeof Temporal.Now.zonedDateTimeISO().add!="function")throw new Error("Incomplete Temporal implementation")}catch(e){let t=_r(e);if(console.warn("Tempo: Native Temporal implementation appears incomplete. Consider loading a polyfill.",t),t.message!=="Incomplete Temporal implementation")throw t}});function Pr(){return Temporal.Now.instant()}function Dr(e,t=2024){let r=Temporal.ZonedDateTime.from({year:t,month:1,day:1,hour:0,minute:0,second:0,timeZone:e}).offsetNanoseconds,n=Temporal.ZonedDateTime.from({year:t,month:7,day:1,hour:0,minute:0,second:0,timeZone:e}).offsetNanoseconds;return{jan:r,jul:n}}var It=E(()=>{"use strict";Nr();P()});function Fe(e,t,r){if(e){if(A(e[t]))return e[t]();if(r&&r in e)return e[r]}}function Un(e){return e?Mn.has(e)?5:$n.has(e)?6:An.has(e)?7:1:1}function Jn(e){return e?e==="IR"?Wn:e==="AF"?kn:Ln.has(e)?Gn:Ir:Ir}function Bn(e,t){let r=e?.script??(A(e?.maximize)?e.maximize().script:void 0);return r&&zn.has(r)||t&&Fn.has(t)?"rtl":"ltr"}var vn,Rn,Se,se,Gi,Wi,Rt,ki,Cn,Ui,An,$n,Mn,Ln,Fn,zn,Ir,Gn,Wn,kn,vt,Ji,Bi,Zn,Kn,vr,Zi,tt,Ki,Ct=E(()=>{"use strict";It();Qe();P();Dt();vn=/_/g,Rn=/[.@]/,Se=e=>typeof Intl<"u"&&(!e||Object.hasOwn(Intl,e)&&A(Intl[e])),se=e=>{if(Pe(e)&&(e=e.toString()),!m(e))return;let t=e.trim();if(R(t))return;let r=t.split(Rn)[0];if(!R(r))return r.replace(vn,"-")},Gi=M((e,t)=>new Intl.RelativeTimeFormat(se(e),t)),Wi=M((e,t)=>new Intl.ListFormat(se(e),t)),Rt=M((e,t)=>new Intl.DateTimeFormat(se(e),t)),ki=M((e,t)=>{try{return new Intl.PluralRules(se(e),t)}catch{return{select:()=>"other"}}}),Cn=M((e,t)=>new Intl.NumberFormat(se(e),t)),Ui=M((e,t)=>{try{let r=new Intl.DurationFormat(se(e),t);if(S(r.format))return r;throw new Error("No format method")}catch{return{format:n=>String(n)}}});An=new Set(["US","CA","MX","BR","IL","JP","TW","HK","MO","PH","SG","TH","IN","KR","CO","PE","VE","ZA"]),$n=new Set(["SA","AF","BH","DJ","DZ","EG","IQ","IR","JO","KW","LY","OM","QA","SD","SY","YE"]),Mn=new Set(["MV"]),Ln=new Set(["SA","BH","DJ","DZ","EG","IQ","JO","KW","LY","OM","QA","SD","SY","YE"]),Fn=new Set(["ar","he","fa","ur","yi","ps","sd","ug","ckb"]),zn=new Set(["Arab","Hebr","Thaa","Syrc","Mand","Samr","Nkoo"]),Ir=Object.freeze([6,7]),Gn=Object.freeze([5,6]),Wn=Object.freeze([5]),kn=Object.freeze([4,5]);vt=M(e=>{if(Pe(e))return e;if(Se("Locale"))try{let t=se(e);return new Intl.Locale(t||"en-US")}catch{return}}),Ji=M(e=>{let t=vt(e)??vt("en-US"),r=t?.baseName??vr(e)??"en-US",n=t?.language??r.split("-")[0]?.toLowerCase(),o=[];for(let le of r.split("-").slice(1)){if(le.length===1)break;o.push(le)}let s=t?.region??(A(t?.maximize)?t.maximize().region:void 0)??o.find(le=>/^[a-zA-Z]{2}$|^\d{3}$/.test(le))?.toUpperCase(),i=t?.script??(A(t?.maximize)?t.maximize().script:void 0),a=Fe(t,"getWeekInfo","weekInfo"),c=a?.firstDay??Un(s),u=Array.isArray(a?.weekend)?Object.freeze([...a.weekend]):Jn(s),d=Fe(t,"getHourCycles","hourCycles")??t?.hourCycle??(Se("DateTimeFormat")?Rt(r,{hour:"numeric"}).resolvedOptions().hourCycle:void 0),h=Array.isArray(d)&&d.length>0?Object.freeze([...d]):m(d)?Object.freeze([d]):Object.freeze(["h23"]),b=Fe(t,"getTextInfo","textInfo"),O=b?.direction==="rtl"||b?.direction==="ltr"?b.direction:Bn(t,n),p=Fe(t,"getNumberingSystems","numberingSystems")??t?.numberingSystem??(Se("NumberFormat")?Cn(r).resolvedOptions().numberingSystem:void 0),y=Array.isArray(p)&&p.length>0?Object.freeze([...p]):m(p)?Object.freeze([p]):Object.freeze(["latn"]),I=Fe(t,"getTimeZones","timeZones"),v=Array.isArray(I)&&I.length>0?Object.freeze([...I]):Object.freeze([]),ce=Object.freeze({firstDay:c,weekend:u});return Object.freeze({locale:t,baseName:r,language:n,region:s,script:i,weekInfo:ce,firstDay:c,weekend:u,hourCycle:h[0],hourCycles:h,direction:O,numberingSystem:y[0],numberingSystems:y,timeZones:v})}),Bi=M((e="latn")=>{if(!(!e||e==="latn"||!Se("NumberFormat")))try{let t=new Intl.NumberFormat(`en-u-nu-${e}`,{useGrouping:!1}),r=Array.from({length:10},(n,o)=>t.format(o));return r[0]==="0"&&r[9]==="9"?void 0:Object.freeze(r)}catch{return}}),Zn=Object.freeze({locale:"en-US",calendar:"iso8601",numberingSystem:"latn",timeZone:"UTC"}),Kn=M(()=>Se("DateTimeFormat")?Object.freeze(Rt().resolvedOptions()):Zn),vr=M(e=>{let t=se(e);if(t){if(Se("getCanonicalLocales"))try{return Intl.getCanonicalLocales(t)[0]}catch{return}return vt(t)?.baseName??t}}),Zi=M(e=>Object.freeze(Er(e).map(t=>vr(t)).filter(Boolean))),tt=M((e=Kn().timeZone)=>{try{let{jan:t,jul:r}=Dr(e),o=["Australia","Antarctica","Africa/Johannesburg","America/Argentina/Buenos_Aires","America/Sao_Paulo"].some(s=>e.startsWith(s));switch(!0){case r>t:return"north";case r<t:return"south";default:return o?"south":void 0}}catch{return}}),Ki=M(e=>{try{let t=new Date(2024,11,24),r=Rt(e).formatToParts(t);return r[0].type==="month"&&r[0].value==="12"}catch{return!1}})});function Y(e){return{enumerable:!1,configurable:!1,writable:!1,value:e}}function be(e,t=!0){let n=ue(this)!=="Module"&&S(this?.has)?this:Yn,o=V(e),s=Object.create(n);switch(o.type){case"Enumify":case"Object":Object.defineProperties(s,Object.getOwnPropertyDescriptors(o.value));break;case"Array":o.value.forEach((i,a)=>{if(g(i))throw new Error("Enumify: numeric keys are not supported");s[i]=a});break;default:throw new Error(`Enumify: invalid argument type: ${o.type}`)}return sr(s,!0,t)}var jn,Yn,ts,Rr=E(()=>{"use strict";$e();J();P();K();Xe();Me();Qe();jn="Enumify",Yn=Ie(Object.create(null,{keys:Re("keys",function(){return C(this,!0).map(([e])=>e)}),values:Re("values",function(){return C(this,!0).map(([e,t])=>t)}),entries:Re("entries",function(){return C(this,!0).map(([e,t])=>Object.freeze([e,t]))}),invert:Re("invert",function(){return Object.fromEntries(this.entries().map(([e,t])=>[t,e]))}),has:Y(function(e){return this.keys().includes(e)}),count:Y(function(){return this.keys().length}),includes:Y(function(e){return this.values().includes(e)}),keyOf:Y(function(e){return this.invert()[e]}),extend:Y(function(e,t){return be.call(this,e,t)}),forEach:Y(function(e,t){this.entries().forEach((r,n)=>e.call(t,r,n,this))}),filter:Y(function(e,t){return be(this.entries().reduce((r,n,o)=>e.call(t,n,o,this)?Object.assign(r,{[n[0]]:n[1]}):r,{}))}),map:Y(function(e,t){return be(this.entries().reduce((r,n,o)=>Object.assign(r,{[n[0]]:e.call(t,n,o,this)}),{}))}),[Symbol.iterator]:Y(function*(){for(let e of this.entries())yield e}),[Symbol.toStringTag]:{enumerable:!1,configurable:!1,writable:!1,value:jn}}));ts=(()=>{let e=[wr,oe("Enumify")],t,r=[],n;var o=class{static{n=this}static{let s=typeof Symbol=="function"&&Symbol.metadata?Object.create(null):void 0;re(null,t={value:n},e,{kind:"class",name:n.name,metadata:s},null,r),o=n=t.value,s&&Object.defineProperty(n,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:s}),ne(n,r)}constructor(s){return be(s)}};return o=n})()});function qn(e,t=G.Info){return g(e)?e>=G.Off&&e<=G.Trace?e:t:m(e)?Cr[e.toLowerCase()]??t:t}var G,L,Cr,rt,At=E(()=>{"use strict";$e();P();Rr();Z();Me();G=be(["Off","Error","Warn","Info","Debug","Trace"]),L={Off:"off",Log:"log",Info:"info",Warn:"warn",Debug:"debug",Trace:"trace",Error:"error"},Cr={[L.Off]:G.Off,[L.Error]:G.Error,[L.Warn]:G.Warn,[L.Info]:G.Info,[L.Log]:G.Info,[L.Debug]:G.Debug,[L.Trace]:G.Trace};rt=(()=>{let e=[oe("Logger")],t,r=[],n;var o=class{static{n=this}static{let s=typeof Symbol=="function"&&Symbol.metadata?Object.create(null):void 0;re(null,t={value:n},e,{kind:"class",name:n.name,metadata:s},null,r),o=n=t.value,s&&Object.defineProperty(n,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:s}),ne(n,r)}#t;level;constructor(s,i=G.Info){this.#t=s.startsWith("[")?s:`[${s}]`,this.level=i}#e(s,...i){let a;if(i.length>0&&T(i[0]))try{i[0][w.$LogConfig]&&(a=i.shift())}catch{}let c=this.level;if(a){if(a.silent===!0)return;a.debug!==void 0&&(c=qn(a.debug,c))}if(c===G.Off||(Cr[s]??0)>c)return;let f=i.map(d=>{if(Ve(d))return d.message;if(T(d))try{let h=d.constructor?.name??"Object";if(h==="Object"){let b=Object.keys(d);return`{ ${b.slice(0,3).join(", ")}${b.length>3?`, ... (+${b.length-3} more)`:""} }`}return`[${h}]`}catch{return"[Object]"}return String(d)}).filter(d=>!R(d)).join(" ");R(f)||console[s](`${this.#t} ${f}`)}log=(...s)=>this.#e(L.Log,...s);info=(...s)=>this.#e(L.Info,...s);warn=(...s)=>this.#e(L.Warn,...s);debug=(...s)=>this.#e(L.Debug,...s);trace=(...s)=>this.#e(L.Trace,...s);error=(...s)=>this.#e(L.Error,...s)};return o=n})()});var Ar={};ge(Ar,{WebStore:()=>Hn});var ze,Hn,$r=E(()=>{"use strict";$e();K();we();J();P();Pt();Me();ze={Local:"local",Session:"session"},Hn=(()=>{let e=[oe("WebStore")],t,r=[],n;var o=class{static{n=this}static{let s=typeof Symbol=="function"&&Symbol.metadata?Object.create(null):void 0;re(null,t={value:n},e,{kind:"class",name:n.name,metadata:s},null,r),o=n=t.value,s&&Object.defineProperty(n,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:s}),ne(n,r)}static _localInstance;static _sessionInstance;static get local(){return o._localInstance??=new o(ze.Local)}static get session(){return o._sessionInstance??=new o(ze.Session)}#t;#e;get#r(){if(this.#e)return this.#e;let s=this.#t===ze.Local?"localStorage":"sessionStorage";return this.#e=_t(s)}#n(s){try{return s(this.#r)}catch{let a=this.#t===ze.Local?"localStorage":"sessionStorage",c=Et(a);return this.#e=c,s(c)}}constructor(s=ze.Local){this.#t=s}get(s,i){let a=this.#n(c=>c.getItem(B(s)));return m(a)?de(a):i??null}set(s,i,a={merge:!0}){if(_(s))return this.clear();let c=this.get(s),u=V(i);switch(u.type){case"Undefined":return this.del(s);case"Object":return c??={},this.#o(s,a.merge?Object.assign(c,u.value):u.value);case"Array":return c??=[],this.#o(s,a.merge?je(c.concat(u.value)):i);case"Map":return c??=new Map,a.merge?(u.value.forEach((f,d)=>c.set(d,f)),this.#o(s,c)):this.#o(s,u.value);case"Set":return c??=new Set,a.merge?(u.value.forEach(f=>c.add(f)),this.#o(s,c)):this.#o(s,u.value);default:return this.#o(s,u.value)}}clear(){try{this.#n(s=>s.clear())}catch(s){console.warn("[WebStore] Failed to clear storage:",s)}return this}del(...s){return s.forEach(i=>{try{this.#n(a=>a.removeItem(B(i)))}catch(a){console.warn(`[WebStore] Failed to removeItem for key '${String(i)}':`,a)}}),this}keys(...s){return this.entries(...s).map(([i])=>i)}values(...s){return this.entries(...s).map(([,i])=>i)}entries(...s){let i=new Set(s.map(c=>B(c))),a=[];return this.#n(c=>{for(let u=0;u<c.length;u++){let f=c.key(u);if(f!==null&&(R(s)||i.has(f))){let d=c.getItem(f);a.push([de(f),de(d)])}}}),a}from(s){return C(s).forEach(([i,a])=>this.set(i,a)),this}#o(s,i){try{this.#n(a=>a.setItem(B(s),B(i)))}catch(a){console.warn(`[WebStore] Failed to setItem for key '${String(s)}':`,a)}return this}};return o=n})()});var Fr={};ge(Fr,{geoCoords:()=>Lr,geoLocation:()=>Ge,mapAddress:()=>Xn,mapHemisphere:()=>Vn,mapQuery:()=>Lt});var ot,Mr,D,Mt,q,$t,nt,Ge,Lr,Lt,Vn,Xn,Ft=E(()=>{"use strict";St();De();P();It();Ct();At();ot={catch:!0,debug:0},Mr=ye(),D={},Mt="_magma_browser_map_",q=new rt("[Mapper]"),$t=null,nt=()=>($t||($t=new Promise((e,t)=>{Mr.type===x.Browser?Promise.resolve().then(()=>($r(),Ar)).then(({WebStore:r})=>{let n=new r("local"),o=n.get(Mt,{});$(o)&&(o.geolocation&&(!o.geolocation.coords||o.geolocation.$GeolocationPosition)&&delete o.geolocation,Object.assign(D,o)),e(n)}).catch(t):e(void 0)})),$t),Ge=(e={})=>nt().then(()=>new Promise((t,r)=>{e=Object.assign({},ot,e);let n=e.catch?t:r;typeof navigator<"u"&&"geolocation"in navigator?navigator.geolocation.getCurrentPosition(o=>{let s=D.geolocation?.coords,i=s?.latitude?.toFixed(3),a=s?.longitude?.toFixed(3),c=D.geolocation?.timestamp??0,u=o.coords.latitude.toFixed(3)!==i,f=o.coords.longitude.toFixed(3)!==a,d=c<Pr().epochMilliseconds-36e5;(u||f||d)&&(Object.assign(D,{georesponse:null}),q.info(e,"GeoLocation: device update")),Object.assign(D,{geolocation:ee(o)}),t(D.geolocation)},o=>{Object.assign(D,{geolocation:{error:o.message},georesponse:null}),n(D.geolocation)}):(Object.assign(D,{geolocation:{error:"Not Supported"},georesponse:null}),n(D.geolocation))})).finally(()=>{(D.geolocation?.error?q.error:q.info)(e,"geoLocation: ",D.geolocation),nt().then(r=>r?.set(Mt,D))}),Lr=e=>new Promise((t,r)=>{if(!_(e))return t(e);Ge().then(n=>_(n.error)?{location:{lat:n.coords.latitude,lng:n.coords.longitude}}:null).then(n=>t(n)).catch(n=>r(n))}),Lt=(e,t={})=>nt().then(()=>new Promise((r,n)=>{t=Object.assign({},ot,t);let o=t.catch?r:n;Lr(e).then(s=>{switch(!0){case(Mr.type!==x.Browser||!window.google?.maps):throw new Error("Google Maps API not configured");case _(s):throw new Error("Cannot determine Coordinates");case _(e):{let i=D.geolocation&&D.georesponse,a=_(D.geolocation?.error)&&_(D.georesponse?.error);if(i&&a)return t.debug&&q.debug(t,"mapQuery: cache"),r(D.georesponse)}default:new window.google.maps.Geocoder().geocode(s).then(i=>r(D.georesponse=ee(i)))}}).catch(s=>{Object.assign(D,{georesponse:{error:s.message}}),o(D.georesponse)})})).finally(()=>{t.debug&&(D.georesponse?.error?q.error:q.debug)(t,"mapQuery: ",D.georesponse),nt().then(r=>r?.set(Mt,D))}),Vn=(e,t={})=>Lt(e,t).then(r=>{if(t=Object.assign({},ot,t),_(r.error))return t.debug&&q.debug(t,"sphere: ",r),r.results[0].geometry.location.lat()>=0?"north":"south";let n=tt();if(_(n)&&t.catch===!1)throw new Error("Cannot determine Hemisphere");return n}).catch(r=>{if(t.debug&&q.warn(t,"mapHemisphere: ",r.message),t.catch===!1)throw r;return null}),Xn=(e,t={})=>Lt(e,t).then(r=>{if(!_(r.error))throw new Error(r.error);return r.results[0]}).then(({formatted_address:r,address_components:n})=>n.reduce((o,s)=>(s.types.filter(i=>i!=="political").forEach(i=>o[i]=(o[i]?o[i]+",":"").concat(s.short_name)),o),{formatted_address:r})).catch(r=>{if(t=Object.assign({},ot,t),t.debug&&q.warn(t,"mapAddress: ",r.message),t.catch===!1)throw r;return null})});var Ur={};ge(Ur,{HTTP:()=>Wr,HttpError:()=>H,METHOD:()=>kr,fetchHead:()=>eo,fetchRequest:()=>Qn});var zt,zr,Wr,kr,H,Gr,Qn,eo,Jr=E(()=>{"use strict";P();zt=2e3,zr=/\);?$/,Wr={Ok:200,PermRedirect:301,TempRedirect:302,BadRequest:400,Unauthorised:401,Forbidden:403},kr={Head:"HEAD",Get:"GET",Put:"PUT",Delete:"DELETE",Post:"POST"},H=class extends Error{status;statusText;body;constructor(t,r,n){super(`${t}: ${r}`),this.status=t,this.statusText=r,this.body=n,this.name="HttpError"}},Gr=async(e,t)=>{let r=e.headers?.get?.("Content-Length")||e.headers?.get?.("content-length");if(r){let a=parseInt(r,10);if(g(a)&&a>t){try{await e.body?.cancel()}catch{}throw new H(413,`Content-Length (${a}) exceeds limit (${t} bytes)`,null)}}if(!e.body){let a;if(S(e.text))a=await e.text();else if(S(e.json)){let u=await e.json();a=JSON.stringify(u)??""}else a="";let c=new TextEncoder().encode(a).byteLength;if(c>t)throw new H(413,`Payload length (${c}) exceeds limit (${t} bytes)`,null);return a}let n=e.body.getReader(),o=new TextDecoder,s=0,i="";try{for(;;){let{done:a,value:c}=await n.read();if(a)break;if(c){if(s+=c.byteLength,s>t){try{await n.cancel()}catch{}throw new H(413,`Streamed payload exceeded limit (${t} bytes)`,null)}i+=o.decode(c,{stream:!0})}}return i+=o.decode(),i}finally{try{n.releaseLock()}catch{}}},Qn=(e,t={},r={})=>{let n={...t,signal:t.signal?AbortSignal.any([t.signal,AbortSignal.timeout(r.timeout??zt)]):AbortSignal.timeout(r.timeout??zt)};return fetch(e,n).then(async o=>{if(o.ok){let a=(o.headers?.get?.("Content-Type")||o.headers?.get?.("content-type")||"").includes("application/json");if(N(r.maxBytes)){let c=await Gr(o,r.maxBytes);if(r.rawText)return c;if(r.prefix){let u=c.startsWith(r.prefix)?c.substring(r.prefix.length).replace(zr,""):c;return JSON.parse(u)}if(a)return JSON.parse(c);try{return JSON.parse(c)}catch{return c}}if(r.rawText)return S(o.text)?await o.text():"";if(r.prefix){let c=await o.text(),u=c.startsWith(r.prefix)?c.substring(r.prefix.length).replace(zr,""):c;return JSON.parse(u)}if(S(o.text)){let c=await o.text();try{return JSON.parse(c)}catch{return c}}return S(o.json)?await o.json():""}let s=null;try{let i=N(r.maxBytes)?await Gr(o,r.maxBytes):S(o.text)?await o.text():"";try{s=JSON.parse(i)}catch{s=i}}catch(i){if(i instanceof H&&i.status===413)throw i}throw new H(o.status,o.statusText,s)})},eo=e=>{let t=AbortSignal.timeout(zt),r={method:kr.Head,signal:t};return fetch(e,r).then(({ok:n,status:o,statusText:s,headers:i})=>{if(n||o===Wr.Forbidden)return{status:o,headers:i};throw new H(o,s,null)})}});var Zr={};ge(Zr,{serverGeoCoords:()=>it,serverGeoLocation:()=>We,serverMapHemisphere:()=>Ut});var Br,kt,Gt,Wt,to,We,it,Ut,Jt=E(()=>{"use strict";P();Ct();At();Br=new rt("[ServerMapper]"),kt="https://ipwho.is",Gt={endpoint:`${kt}/`,timeout:3e3,catch:!0,debug:0},Wt=null,to=()=>(Wt||(Wt=Promise.resolve().then(()=>(Jr(),Ur))),Wt),We=async(e={})=>{let t={...Gt,...e},r=t.catch!==!1;try{let n=t.endpoint||Gt.endpoint;if(m(t.ip)){let d=encodeURIComponent(t.ip.trim());if((n.endsWith("/")?n.slice(0,-1):n)===kt)n=`${kt}/${d}`;else if(n.includes("{ip}"))n=n.replace("{ip}",d);else if(d!=="")throw new Error(`Custom endpoint must include an '{ip}' placeholder to resolve a specific IP: ${n}`)}let o=t.timeout??Gt.timeout,{fetchRequest:s}=await to(),i=await s(n,{},{...g(o)?{timeout:o}:{},maxBytes:64*1024});if(typeof i!="object"||_(i))throw new Error("Geolocation lookup failed");if(i.status==="fail"||i.success===!1)throw new Error(i.message||i.reason||"Geolocation lookup failed");let a=g(i.lat)?i.lat:i.latitude,c=g(i.lon)?i.lon:i.lng??i.longitude;if(!g(a)||!g(c))throw new Error("Geolocation lookup failed");let u=m(i.timezone)?i.timezone:i.timezone?.id??i.timeZone,f={lat:a,lng:c,latitude:a,longitude:c,...m(i.country||i.countryName||i.country_name)?{country:i.country||i.countryName||i.country_name}:{},...m(i.city||i.cityName||i.city_name)?{city:i.city||i.cityName||i.city_name}:{},...m(u)?{timezone:u}:{},...m(i.query||i.ip||i.ip_address)?{query:i.query||i.ip||i.ip_address}:{},status:"success"};return t.debug&&Br.info(t,"serverGeoLocation success: ",f),f}catch(n){let o=n?.message||"Server geolocation error";if(t.debug&&Br.error(t,"serverGeoLocation error: ",o),!r)throw n;return{error:o,status:"fail"}}},it=async(e,t)=>{if(!_(e)){let n=e.latitude??e.lat,o=e.longitude??e.lng??e.lon??e.long;if(g(n)&&g(o))return{lat:n,lng:o}}let r=await We(t);return _(r.error)&&g(r.lat)&&g(r.lng)?{lat:r.lat,lng:r.lng}:null},Ut=async(e,t)=>{let r=await it(e,t);return r?r.lat>=0?"north":"south":tt()??null}});var io={};ge(io,{GEO_PROPERTIES:()=>ke,GeoPlugin:()=>Zt,clearStashedGeo:()=>ct,coerceGeo:()=>ae,default:()=>oo,geoLocation:()=>Ge,geoLookup:()=>lt,geoPlugin:()=>no,getStashedGeo:()=>Te,haversineDistance:()=>ut,resolveGeoCoordinates:()=>Ue,serverGeoCoords:()=>it,serverGeoLocation:()=>We,serverMapHemisphere:()=>Ut,solarOffset:()=>ft,stashGeo:()=>at});var U={};ge(U,{definePlugin:()=>dt,defineTerm:()=>rn});Oe(U,jt(pt()));var Ze=jt(pt()),dt=e=>(0,Ze.definePlugin)({...e,version:"1.2.0"}),rn=e=>(0,Ze.defineTerm)({...e,version:"1.2.0"});De();P();Pt();P();function ie(...e){for(let t of e){let r=S(t)?t():t;if(r!==void 0)return r}}var st="_magma_geo_",Kr=1440*60*1e3,ke=["latitude","lat","longitude","lng","lon","long","elevation","sphere","country","city","timezone","tz"],jr=e=>g(e)&&e>=-90&&e<=90?Math.round(e*1e3)/1e3:void 0,Yr=e=>g(e)&&e>=-180&&e<=180?Math.round(e*1e3)/1e3:void 0,xe=(e,t)=>{let r=jr(e),n=Yr(t);return r!==void 0&&n!==void 0?{lat:r,lng:n}:void 0},me=(e,t)=>{if(e==="north"||e==="south"||e==="equator")return e;if(g(t))return t>.001?"north":t<-.001?"south":"equator"},ae=e=>{if(m(e)&&e.includes(",")){let p=e.split(",").map(y=>y.trim()).map(y=>y===""?NaN:Number(y));if(p.length>=2&&!isNaN(p[0])&&!isNaN(p[1])){let y=xe(p[0],p[1]);if(y){let I={latitude:y.lat,longitude:y.lng},v=me(void 0,y.lat);return v&&(I.sphere=v),I}}return}if(X(e))return;if(Array.isArray(e)&&e.length>=2){let l=xe(e[0],e[1]);if(l){let p={latitude:l.lat,longitude:l.lng},y=me(void 0,l.lat);return y&&(p.sphere=y),p}return}let t=e.geo??e,r=e.config?.geo??e.config,n=ie(t?.latitude,t?.lat,e.latitude,e.lat,r?.latitude,r?.lat),o=ie(t?.longitude,t?.lng,t?.lon,t?.long,e.longitude,e.lng,e.lon,e.long,r?.longitude,r?.lng,r?.lon,r?.long),s=ie(t?.elevation,e.elevation,r?.elevation),i=ie(t?.sphere,e.sphere,r?.sphere),a=ie(t?.country,e.country,r?.country),c=ie(t?.city,e.city,r?.city),u=ie(t?.timezone,t?.tz,e.timezone,e.tz,r?.timezone,r?.tz),f={},d=jr(n),h=Yr(o);d!==void 0&&(f.latitude=d),h!==void 0&&(f.longitude=h),g(s)&&(f.elevation=Math.round(s*1e3)/1e3);let b=me(i,f.latitude);b&&(f.sphere=b),m(a)&&(f.country=a),m(c)&&(f.city=c),m(u)&&(f.timezone=u);let O=$(e.geo)?e.geo:$(e.config?.geo)?e.config.geo:void 0;if($(O))for(let l of Object.keys(O))k(l)&&!ke.includes(l)&&(f[l]=O[l]);return Object.keys(f).length>0?f:void 0},Bt=e=>{if(m(e)&&!R(e)){let t=e.trim();return t.startsWith(st)?t:`${st}:${t}`}if(e&&T(e)){let t=e.key??e.ip??e.query;if(m(t)&&!R(t))return`${st}:${t.trim()}`}return st},Te=e=>{let t=Bt(e);try{let r=Tr(t)??(typeof localStorage<"u"?localStorage.getItem(t):void 0);if(!r)return;let n=m(r)&&(r.startsWith("{")||r.startsWith("["))?JSON.parse(r):r;if(T(n)&&g(n._expires)&&Date.now()>n._expires){ct(e);return}if(m(n)&&n.includes(",")){let o=n.split(",").map(i=>parseFloat(i.trim())),s=xe(o[0],o[1]);if(s)return{latitude:s.lat,longitude:s.lng,sphere:me(void 0,s.lat)}}if(T(n)){let o=n.geolocation?.coords??n.coords??n,s=o?.latitude??o?.lat,i=o?.longitude??o?.lng??o?.lon??o?.long,a=xe(s,i);if(a){let c={latitude:a.lat,longitude:a.lng},u=n.elevation??o.elevation;return g(u)&&(c.elevation=Math.round(u*1e3)/1e3),c.sphere=me(n.sphere,a.lat),m(n.country)&&(c.country=n.country),m(n.city)&&(c.city=n.city),m(n.timezone)&&(c.timezone=n.timezone),c}}}catch{}},at=(e,t=Kr,r)=>{let n=Bt(r),o=g(t)&&t>0?{...e,_expires:Date.now()+t}:e;Nt(n,o,{ttl:t})},ct=e=>{let t=Bt(e);Nt(t,void 0)},lt=async(e={})=>{if(e.refresh!==!0){let a=Te(e);if(a&&g(a.latitude)&&g(a.longitude)){let{latitude:c,longitude:u,...f}=a;return{...f,status:"cached",lat:c,lng:u,latitude:c,longitude:u}}}let{type:r}=ye(),n;switch(r){case x.Browser:{let{geoLocation:a}=await Promise.resolve().then(()=>(Ft(),Fr)),c=await a(e);if(c.error)return{error:c.error};let u=c.coords?.latitude,f=c.coords?.longitude;n={...c,lat:u,lng:f,latitude:u,longitude:f};break}case x.WebWorker:case x.NodeJS:case x.Deno:default:{let{serverGeoLocation:a}=await Promise.resolve().then(()=>(Jt(),Zr));n=await a(e);break}}let o=n.latitude??n.lat,s=n.longitude??n.lng,i=xe(o,s);if(_(n.error)&&i){let a=me(n.sphere,i.lat);n.lat=i.lat,n.lng=i.lng,n.latitude=i.lat,n.longitude=i.lng,n.sphere=a;let c={latitude:i.lat,longitude:i.lng,sphere:a,...m(n.city)?{city:n.city}:{},...m(n.country)?{country:n.country}:{},...g(n.elevation)?{elevation:Math.round(n.elevation*1e3)/1e3}:{},...m(n.timezone)?{timezone:n.timezone}:{}};try{let u=g(e.ttl)?e.ttl:Kr;at(c,u,e)}catch{}}return n},Ue=async(e,t={})=>{let r=ae(e);if(r&&g(r.latitude)&&g(r.longitude))return{...r,lat:r.latitude,lng:r.longitude};let n=t.refresh===!0?void 0:Te(t);if(n&&g(n.latitude)&&g(n.longitude))return{...n,lat:n.latitude,lng:n.longitude};let o=await lt(t),s=xe(o.lat,o.lng);if(_(o.error)&&s){let i=me(o.sphere,s.lat);return{...o,lat:s.lat,lng:s.lng,latitude:s.lat,longitude:s.lng,sphere:i}}return null};function ut(e,t,r="km"){let n=ae(e),o=ae(t);if(!n||!o||!g(n.latitude)||!g(n.longitude)||!g(o.latitude)||!g(o.longitude))return NaN;let s=Math.PI/180,i=n.latitude*s,a=n.longitude*s,c=o.latitude*s,u=o.longitude*s,f=c-i,d=u-a,h=Math.sin(f/2)**2+Math.cos(i)*Math.cos(c)*Math.sin(d/2)**2,b=2*Math.atan2(Math.sqrt(h),Math.sqrt(1-h)),O;r==="miles"?O=3958.7613:r==="m"?O=63710088e-1:O=6371.0088;let l=O*b;return r==="m"?Math.round(l):Math.round(l*1e3)/1e3}var ro=(e,t)=>{try{if(typeof Temporal<"u"&&typeof Temporal.Instant?.fromEpochMilliseconds=="function")return Temporal.Instant.fromEpochMilliseconds(t).toZonedDateTimeISO(e).offsetNanoseconds/6e10;let n=new Intl.DateTimeFormat("en-US",{timeZone:e,timeZoneName:"longOffset",year:"numeric"}).formatToParts(new Date(t)).find(o=>o.type==="timeZoneName")?.value;if(n){if(n==="GMT"||n==="UTC")return 0;let o=n.match(/GMT([+-])(\d{2}):(\d{2})/);if(o)return(o[1]==="-"?-1:1)*(parseInt(o[2],10)*60+parseInt(o[3],10))}}catch{}};function ft(e,t){let r=ae(e);if(!r||!g(r.latitude)||!g(r.longitude)||isNaN(r.latitude)||isNaN(r.longitude))return NaN;let n=r.longitude,o=t?.timeZone??($(e)?e.timezone??e.tz:void 0)??r.timezone,s=t?.date??($(e)&&g(e.epoch?.ms)?e.epoch.ms:Date.now()),i=typeof s=="number"?s:m(s)?Date.parse(s):Ee(s)?s.getTime():$(s)&&g(s?.epoch?.ms)?s.epoch.ms:Date.now();if(!Number.isFinite(i))return NaN;let a=Qt(o)?ro(o,i):void 0,c=a!==void 0?a/60*15:Math.round(n/15)*15,f=(n-c)*4;if(t?.apparent){let l=new Date(i),p=Date.UTC(l.getUTCFullYear(),0,1),y=Math.floor((i-p)/864e5)+1,I=2*Math.PI/365*(y-1),v=229.18*(75e-6+.001868*Math.cos(I)-.032077*Math.sin(I)-.014615*Math.cos(2*I)-.040849*Math.sin(2*I));f+=v}let d=t?.unit??"minutes",h;d==="seconds"?h=f*60:d==="hours"?h=f/60:h=f;let b=t?.precision??2,O=Math.pow(10,b);return Math.round(h*O)/O}Jt();Ft();P();var Zt=dt({name:"geo",install(e,t){let r=e||this,n=(o,s)=>{let i=r.config?.pluginOptions?.geo,a=s?.config?.pluginOptions?.geo;return{...T(t)?t:{},...T(i)?i:{},...T(a)?a:{},...T(o)?o:{}}};Object.hasOwn(r,"geo")||Object.defineProperty(r,"geo",{value:(0,U.deepFreeze)({lookup:s=>lt(n(s)),resolve:(s,i)=>Ue(s,n(i,s)),coerce:ae,distance:ut,solarOffset:ft,stash:at,clear:ct,get:Te,server:We,browser:Ge,get current(){return Te()??r.config?.geo}}),writable:!1,configurable:!1,enumerable:!1}),e.prototype.geoLocate=async function(o){let s=n(o,this),i=s?.setTimezone!==!1,a=await Ue(this,s);if(a){let c=T(this.config.geo)?this.config.geo:{},u={};for(let l of Object.keys(c))k(l)&&!ke.includes(l)&&(u[l]=c[l]);let f=ae(o)??{};if(T(o))for(let l of Object.keys(o))k(l)&&!["setTimezone","refresh","ttl","endpoint","timeout","catch","debug","geo"].includes(l)&&(ke.includes(l)||(u[l]=o[l]));let d=g(a?.elevation)?a.elevation:g(c.elevation)?c.elevation:void 0,h={...u,...a,...g(d)?{elevation:d}:{},...f};g(h.latitude)&&(h.latitude=Math.round(h.latitude*1e3)/1e3),g(h.longitude)&&(h.longitude=Math.round(h.longitude*1e3)/1e3),!h.sphere&&g(h.latitude)&&(h.sphere=h.latitude>.001?"north":h.latitude<-.001?"south":"equator");let b=this,O=h.timezone;return i&&m(O)&&!R(O)&&(b=this.set({timeZone:O})),new e(b,{...b.config,geo:(0,U.deepFreeze)(h),...h.sphere?{sphere:h.sphere}:{}})}return this},e.prototype.geoLookup=async function(o){return Ue(this,n(o,this))},e.prototype.geoDistance=function(o,s){return ut(this,o,s)},e.prototype.geoSolarOffset=function(o){return ft(this,o)}}}),no=Zt,oo=Zt;return tn(io);})();
|
package/dist/index.js
CHANGED
|
@@ -2774,8 +2774,8 @@ __export(sdk_exports, {
|
|
|
2774
2774
|
__reExport(sdk_exports, sdk_star);
|
|
2775
2775
|
import * as sdk_star from "@magmacomputing/tempo/plugin/sdk";
|
|
2776
2776
|
import { definePlugin as originalPlugin, defineTerm as originalTerm } from "@magmacomputing/tempo/plugin/sdk";
|
|
2777
|
-
var definePlugin = (config) => originalPlugin({ ...config, version: "1.
|
|
2778
|
-
var defineTerm = (config) => originalTerm({ ...config, version: "1.
|
|
2777
|
+
var definePlugin = (config) => originalPlugin({ ...config, version: "1.2.0" });
|
|
2778
|
+
var defineTerm = (config) => originalTerm({ ...config, version: "1.2.0" });
|
|
2779
2779
|
|
|
2780
2780
|
// ../../library/dist/common/runtime/mapper.library.js
|
|
2781
2781
|
init_utility_library();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var Magma;((Magma||={}).plugins||={}).geo=(()=>{var Vr=Object.create;var Ze=Object.defineProperty;var Xr=Object.getOwnPropertyDescriptor;var Qr=Object.getOwnPropertyNames;var en=Object.getPrototypeOf,tn=Object.prototype.hasOwnProperty;var E=(e,t,r)=>()=>{if(r)throw r[0];try{return e&&(t=e(e=0)),t}catch(n){throw r=[n],n}};var rn=(e,t)=>()=>{try{return t||e((t={exports:{}}).exports,t),t.exports}catch(r){throw t=0,r}},ge=(e,t)=>{for(var r in t)Ze(e,r,{get:t[r],enumerable:!0})},Be=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Qr(t))!tn.call(e,o)&&o!==r&&Ze(e,o,{get:()=>t[o],enumerable:!(n=Xr(t,o))||n.enumerable});return e},Ee=(e,t,r)=>(Be(e,t,"default"),r&&Be(r,t,"default")),jt=(e,t,r)=>(r=e!=null?Vr(en(e)):{},Be(t||!e||!e.__esModule?Ze(r,"default",{value:e,enumerable:!0}):r,e)),nn=e=>Be(Ze({},"__esModule",{value:!0}),e);var dt=rn((ao,Yt)=>{"use strict";Yt.exports=window.Magma.pluginSdk});var sn,an,cn,ln,un,fn,pn,dn,qt,mn,Ht,w,Z=E(()=>{"use strict";sn=Symbol.for("$LibraryTarget"),an=Symbol.for("$LibraryDiscover"),cn=Symbol.for("$LibraryExtensible"),ln=Symbol.for("nodejs.util.inspect.custom"),un=Symbol.for("$LibraryLogConfig"),fn=Symbol.for("$LibraryRegistry"),pn=Symbol.for("$LibraryRegister"),dn=Symbol.for("$LibrarySerializerRegistry"),qt=Symbol.for("$LibraryMutable"),mn=Symbol.for("$LibraryIdentity"),Ht=Symbol.for("$LibraryUnwrapped"),w={$Target:sn,$Discover:an,$Extensible:cn,$Inspect:ln,$LogConfig:un,$Registry:fn,$Register:pn,$SerializerRegistry:dn,$Identity:mn,$Mutable:qt,$Unwrapped:Ht}});function he(e){let t=e,r=0,n=50;for(;t;){let o=t[w.$Target];if(!o||r>=n)break;t=o,r++}return t}function C(e,t=!1){if(!e||typeof e!="object")return[];let r=he(e);if(!t){let u=Reflect.ownKeys(r),f=[];for(let d of u){let h=Object.getOwnPropertyDescriptor(r,d);h&&h.enumerable&&f.push([d,r[d]])}return f}let n=[],o=50,s=0,i=r;for(;i&&i!==Object.prototype&&s++<o;)n.push(he(i)),i=Object.getPrototypeOf(i);let a=[],c=new Set;for(let u of n.reverse()){let f=Reflect.ownKeys(u);for(let d of f){if(c.has(d))continue;let h=Object.getOwnPropertyDescriptor(u,d);!h||!h.enumerable||(c.add(d),a.push([d,r[d]]))}}return a}function je(e,t=!1){return C(e,t).map(([r])=>r)}function Vt(e,t=!1){return C(e,t).map(([r,n])=>n)}function Ye(e,t,r){return t?Ye(e.map(t,r)):Array.from(new Set(e))}var K=E(()=>{"use strict";Z()});var gt,ht,qe,ue,V,gn,hn,He,J=E(()=>{"use strict";Z();K();gt=[],ht=e=>{if(e===null)return"Null";if(e===void 0)return"Undefined";let t=typeof e;if(t==="string")return"String";if(t==="number")return"Number";if(t==="boolean")return"Boolean";if(t==="bigint")return"BigInt";if(t==="symbol")return"Symbol";try{let r=t==="object"?he(e):e;return Object.prototype.toString.call(r).slice(8,-1)}catch{return t==="function"?"Function":"Object"}},qe=e=>{try{let t=e?.[Symbol.toStringTag]??e?.prototype?.[Symbol.toStringTag];if(typeof t=="string")return t}catch{}},ue=(e,...t)=>{let r=e;try{r=e?.[w.$Target]??e}catch{r=e}let n=ht(r);switch(n){case"Function":try{return hn(r)?"Class":"Function"}catch{return"Function"}case"Object":{try{if("length"in r&&Object.keys(r).every(s=>s==="length"||Number.isFinite(Number(s))))return"ArrayLike";for(let s of t){let i=s.class?.[w.$Target]??s.class;if(r===i||i&&r instanceof i)return s.type}let o=globalThis[w.$Registry]??[];for(let s of[...gt,...o]){let i=s.class?.[w.$Target]??s.class;if(r===i||i&&r instanceof i)return s.type}}catch{return"Object"}return"Object"}default:return n}},V=(e,...t)=>({type:ue(e,...t),value:e}),gn=/^\s*(class\s|\[native code\])/,hn=e=>{if(typeof e!="function")return!1;let t=e?.[w.$Target]??e;if(!("prototype"in t))return!1;let r=t?.name,n=qe(t);if(t?.[w.$Identity]||t?.prototype?.[w.$Identity]||typeof n=="string"&&n.startsWith("Temporal."))return!0;if(typeof n=="string"&&n.endsWith("Function"))return!1;if((globalThis[w.$Registry]??[]).some(s=>(s.class?.[w.$Target]??s.class)===t||r&&s.type===r||n&&s.type===n))return!0;try{let s=Function.prototype.toString.call(t);if(gn.test(s))return!0;let i=Object.getOwnPropertyDescriptor(t,"prototype");if(i&&i.writable===!1&&!Object.isFrozen(t))return!0;let a=t.prototype;if(a&&Object.getOwnPropertyNames(a).length>2)return!0}catch{return!1}return!1},He=(e,t)=>{if(typeof e!="function")return;let r=qe(e),n=t??r??e.name;n&&!["Object","Function",""].includes(n)&&(gt.some(o=>o.class===e)||gt.push({class:e,type:n}))}});function Ve(e){switch(typeof e){case"number":return Number.isFinite(e);case"bigint":return!0;case"string":{let r=e.trim();return r.length===0?!1:yn.test(r)||g(Number(r))}default:return!1}}var k,X,$,Xt,m,Qt,g,yn,yt,fe,er,T,_e,tr,Q,wt,U,_,j,N,S,A,Ne,Pe,Xe,De,R,P=E(()=>{"use strict";Z();J();k=(e,...t)=>t.includes(ue(e)),X=e=>e===null||typeof e!="object"&&typeof e!="function",$=e=>!X(e),Xt=e=>Symbol.iterator in Object(e)&&!m(e),m=e=>typeof e=="string",Qt=e=>typeof e=="string"&&e.trim().length>0,g=e=>Number.isFinite(e),yn=/^[+-]?[0-9]+n$/;yt=e=>typeof e=="bigint",fe=e=>Array.isArray(e),er=e=>ht(e)==="Object"&&"length"in e&&Object.keys(e).every(t=>t==="length"||g(Number(t))),T=e=>k(e,"Object"),_e=e=>k(e,"Date"),tr=e=>k(e,"RegExp"),Q=e=>typeof e=="symbol",wt=e=>typeof e=="symbol"&&Symbol.keyFor(e)!==void 0,U=e=>e!=="__proto__"&&e!=="constructor"&&e!=="prototype",_=e=>e==null||k(e,"Void","Empty"),j=e=>e===void 0||k(e,"Void","Empty"),N=e=>e!=null&&!_(e),S=e=>k(e,"Function","AsyncFunction","GeneratorFunction","AsyncGeneratorFunction"),A=e=>typeof e=="function",Ne=e=>k(e,"Map"),Pe=e=>k(e,"Set"),Xe=(e,t)=>k(e,"Error")&&(t?e instanceof t:!0),De=e=>typeof Intl<"u"&&typeof Intl.Locale=="function"&&e instanceof Intl.Locale,R=e=>_(e)||T(e)&&Reflect.ownKeys(e).length===0||m(e)&&e.trim().length===0||typeof e=="number"&&Number.isNaN(e)||fe(e)&&e.length===0||Pe(e)&&e.size===0||Ne(e)&&e.size===0||ArrayBuffer.isView(e)&&e.byteLength===0||_e(e)&&Number.isNaN(e.getTime())});function St(e,t,r=new WeakSet){let n=t instanceof WeakSet?t:t?.skip??wn;return X(e)||r.has(e)||n.has(e)||e instanceof Date||e instanceof RegExp||e instanceof Error||e instanceof Map||e instanceof Set||e instanceof Promise||e?.[Symbol.toStringTag]==="Enumify"||e[w.$Extensible]?e:(r.add(e),C(e).forEach(([o,s])=>{U(o)&&St(s,{skip:n},r)}),Object.freeze(e))}var x,ye,wn,Ie=E(()=>{"use strict";K();P();Z();x={Unknown:"unknown",Browser:"browser",WebWorker:"web-worker",NodeJS:"nodejs",Deno:"deno",GoogleAppsScript:"google-apps-script"},ye=()=>{let e=globalThis;try{if(N(e.SpreadsheetApp))return{global:e,type:x.GoogleAppsScript};if(N(e.window?.document))return{global:e,type:x.Browser};if(S(e.importScripts)||N(e.WorkerGlobalScope)&&e instanceof e.WorkerGlobalScope)return{global:e,type:x.WebWorker};if(N(e.Deno))return{global:e,type:x.Deno};if(N(e.process?.versions?.node)&&e.process?.release?.name==="node")return{global:e,type:x.NodeJS}}catch{}return{global:e,type:x.Unknown}},wn=new WeakSet});function rr(e){return Object.fromEntries(C(e,!0))}var nr=E(()=>{"use strict";K();J();P()});function ir(e,t={},r=!1){let{frozen:n,lock:o,appendOnly:s,onGet:i,keys:a,bind:c,skip:u}=t,f=new Set,d,h,b=he(e);o&&St(b,u?{skip:u}:void 0),He(b);let O={isExtensible:l=>Reflect.isExtensible(l),getPrototypeOf:l=>Reflect.getPrototypeOf(l),setPrototypeOf:(l,p)=>{if(n)throw new TypeError("Security: Prototype mutation attempt on protected object");return Reflect.setPrototypeOf(l,p)},getOwnPropertyDescriptor:(l,p)=>{if(!(a&&!a.includes(p))){if(a){if(i&&!Q(p)&&!f.has(p)){f.add(p);try{let y=i(p,l);if(N(y))return{enumerable:!0,configurable:!0,value:y}}finally{f.delete(p)}}return{enumerable:!0,configurable:!0}}return Reflect.getOwnPropertyDescriptor(l,p)}},ownKeys:l=>{if(a)return a;if(i&&!f.has(w.$Discover)){f.add(w.$Discover);try{i(w.$Discover,l)}finally{f.delete(w.$Discover)}}return Reflect.ownKeys(l)},has:(l,p)=>a?a.includes(p):Reflect.has(l,p),deleteProperty:(l,p)=>{if(n)throw new TypeError(`Cannot delete property '${String(p)}' from a protected object.`);if(s&&Reflect.has(l,p))throw new Error(`Security: Deletion attempt on protected key '${String(p)}'`);return Reflect.deleteProperty(l,p)},defineProperty:(l,p,y)=>{if(n&&!Object.isFrozen(l))throw new TypeError(`Cannot define property '${String(p)}' on a frozen object.`);if(s&&Reflect.has(l,p))throw new Error(`Security: Mutation attempt on protected key '${String(p)}'`);return Reflect.defineProperty(l,p,y)},set:(l,p,y,I)=>{if(n&&I===h)throw new TypeError(`Cannot set property '${String(p)}' on a frozen object.`);if(s){if(Array.isArray(l)&&p==="length"&&y<l.length)throw new Error("Security: Truncation attempt on protected array.");if(!(Array.isArray(l)&&p==="length")&&Reflect.has(l,p))throw new Error(`Security: Mutation attempt on protected key '${String(p)}'`)}return Reflect.set(l,p,y,I)},get:(l,p,y)=>{if(p===w.$Target)return y===h?l:void 0;if(n&&(p===w.$Inspect||p==="toJSON")){let v=Object.getOwnPropertyDescriptor(l,p);return v&&S(v.value)?v.value:(d||(d=()=>rr(l)),d)}if(a&&!a.includes(p))return;if(i&&!Q(p)&&!Reflect.has(l,p)&&!f.has(p)){f.add(p);try{let v=i(p,l);if(N(v))return v}finally{f.delete(p)}}let I=Reflect.get(l,p,y);if(c&&p!=="constructor"&&S(I)){let v=Object.getOwnPropertyDescriptor(l,p);if(v&&!v.configurable&&!v.writable)return I;let ce=or.get(I);ce||(ce=new WeakMap,or.set(I,ce));let le=ce.get(l);if(le)return le;let Kt=I.bind(l);return ce.set(l,Kt),Kt}return I}};if(r){let l=Proxy.revocable(b,O);return h=l.proxy,{proxy:l.proxy,revoke:l.revoke}}return h=new Proxy(b,O),h}function sr(e,t=!0,r=t,n=new WeakSet){return ir(e,{frozen:t,lock:r,skip:n,bind:t})}function ve(e,t=new WeakSet){return ir(e,{frozen:!0,lock:!0,skip:t,bind:!0})}var or,Qe=E(()=>{"use strict";Z();nr();Ie();K();P();J();or=new WeakMap});function Re(e,t=new WeakSet){return JSON.stringify(e,function(r,n){if(n===void 0)return"\0__undefined__\0";if(yt(n))return`\0__bigint:${n}__\0`;if(S(n))return`function:${n.name||"anonymous"}`;if($(n)){if(t.has(n))return"<Circular>";if(t.add(n),De(n))return n.toString();if(Ne(n))return`map:[${Array.from(n.entries()).map(o=>Re(o,t)).sort().join(",")}]`;if(Pe(n))return`set:[${Array.from(n).map(o=>Re(o,t)).sort().join(",")}]`}return n})}function cr(e){return function t(...r){return r.length>=e.length?e(...r):(...n)=>t(...r,...n)}}function M(e){let t=new Map;return function(...r){let n=Re(this!==void 0&&this!==globalThis?[this,...r]:r);if(!t.has(n)){let o=e.apply(this,r);t.set(n,o)}return t.get(n)}}function Ce(e,t){return{enumerable:!1,configurable:!1,writable:!1,value:function(...r){let n=`${String(e)},${Re(r)}`,o=ar.get(this);if(o||(o=new Map,ar.set(this,o)),!o.has(n)){let s=t.apply(this,r);ve(s),o.set(n,s)}return o.get(n)}}}var ar,et=E(()=>{"use strict";Qe();P();ar=new WeakMap});function lr(e){try{return JSON.parse(JSON.stringify(e))}catch(t){throw console.warn("Could not clean object:",t?.message??t),t}}var ur=E(()=>{"use strict";P()});function te(e){return N(e)?S(e)?e():e:t=>S(t)?t():t}var bn,ee,bt=E(()=>{"use strict";K();P();J();bn=e=>{let t=new Set,r=e,n=0;for(;r&&r!==Object.prototype&&n++<10;){let o=Object.getOwnPropertyDescriptors(r);for(let[s,i]of Object.entries(o))U(s)&&(i.enumerable||S(i.get))&&t.add(s);r=Object.getPrototypeOf(r)}return Array.from(t)},ee=e=>{if(X(e)||S(e))return e;if(fe(e))return e.map(r=>ee(r));if(_e(e)||tr(e)||Ne(e)||Pe(e))return e;try{if(S(e.toJSON))return ee(e.toJSON())}catch{}let t={};for(let r of bn(e))try{t[r]=ee(e[r])}catch{}return t};te.stringSymbol=te();te.symbolRegExp=te();te.symbolString=te();te.stringString=te()});function mr(e,t){try{return globalThis.structuredClone(e,t)}catch{return lr(e)}}function xn(e,t){return On(t)}function pr(e){let t=encodeURI(e);return t.includes("%")&&(t=t.replace(Tn,r=>gr[r.toUpperCase()]??decodeURI(r))),t}function On(e){if(m(e))try{return decodeURI(e)}catch{}return e}function Ae(e){return!k(e,"Function","AsyncFunction","WeakMap","WeakSet","WeakRef")}function En(e,t){return`{"$${e}":${t}}`}function _n(e){return z(Q(e)?`${wt(e)?"@":""}@(${e.description??""})`:e)}function xt(e){let[t,r,n]=e.toString().match(Nn)||[null,void 0,void 0];switch(!0){case Q(e):case _(t):case(N(r)&&j(n)):return e;case N(r):return Symbol.for(n);case j(r):default:return Symbol(n)}}function B(e,t){let r=pe;pe=t?.compact!==!1;try{let n=z(e,!1);if(t?.signed){if(!m(t.secret)||!t.secret)throw new TypeError("stringify: signed serialization requires an explicit secret string");return`$sig:${hr(n,t.secret)}:${n}`}return n}finally{pe=r}}function z(e,t=!0){let r=V(e),n=cr(En)(r.type);switch(r.type){case"String":{let o=r.value;return o.startsWith("~")&&(o=`~${o}`),t||(t=o==="true"||o==="false"||o==="null"||parseFloat(o).toString()===o||o.startsWith("~")),t?JSON.stringify(pr(o)):pr(o)}case"Boolean":case"Null":case"Number":return JSON.stringify(r.value);case"Void":case"Undefined":return pe?JSON.stringify("~u"):n(JSON.stringify("void"));case"BigInt":return pe?JSON.stringify(`~n${r.value.toString()}`):n(r.value.toString());case"Date":return pe?JSON.stringify(`~t${r.value.getTime()}`):n(z(r.value.toJSON()));case"Object":return`{${C(r.value).filter(([,s])=>Ae(s)).map(([s,i])=>`${_n(s)}: ${z(i)}`).join(",")}}`;case"Array":return`[${r.value.filter(s=>Ae(s)).map(s=>z(s)).join(",")}]`;case"Map":{let o=Array.from(r.value.entries()).filter(([,s])=>Ae(s)).map(([s,i])=>`[${z(s)}, ${z(i)}]`).join(",");return n(`[${o}]`)}case"Set":{let o=Array.from(r.value.values()).filter(s=>Ae(s)).map(s=>z(s)).join(",");return n(`[${o}]`)}case"Symbol":{let o=`${wt(r.value)?"@":""}@(${r.value.description??""})`;return pe?JSON.stringify(`~y${o}`):n(JSON.stringify(o))}case"RegExp":return n(z({source:r.value.source,flags:r.value.flags}));default:{let o=r.value;switch(!0){case!Ae(o):return;case S(o.toJSON):return n(z(o.toJSON()));case(S(o.toString)&&o.toString!==Object.prototype.toString):{let s=o.toString();return n(s.includes('"')?s:JSON.stringify(s))}case(S(o.valueOf)&&o.valueOf!==Object.prototype.valueOf):return n(JSON.stringify(o.valueOf()));default:{let s=ee(o);return $(s)&&Object.keys(s).length>0?z(s):n(JSON.stringify(o,(i,a)=>R(i)?a:z(a)))}}}}}function de(e,t){if(!m(e))return e;let r=S(t)?{sentinel:t}:t??{};if(e.startsWith("$sig:")){let o=e.indexOf(":",5);if(o!==-1){let s=e.substring(5,o),i=e.substring(o+1);if(!m(r.secret)||!r.secret){if(console.warn("objectify: signature verification requires an explicit secret string"),r.throwOnError)throw new TypeError("objectify: signature verification requires an explicit secret string");return e}let a=hr(i,r.secret);if(!Dn(s,a)){if(console.warn("objectify: signature verification failed"),r.throwOnError)throw new Error("objectify: signature verification failed");return e}e=i}else if(r.requireSigned){if(console.warn("objectify: malformed signed payload"),r.throwOnError)throw new Error("objectify: malformed signed payload");return e}}else if(r.requireSigned){if(console.warn("objectify: unsigned string rejected by requireSigned policy"),r.throwOnError)throw new Error("objectify: unsigned string rejected by requireSigned policy");return e}let n;try{n=JSON.parse(e,xn)}catch(o){return e.startsWith('"')&&e.endsWith('"')?(console.warn(`objectify.parse: -> ${e}, ${o.message}`),e):de(`"${e}"`,r.requireSigned?{...r,requireSigned:!1}:r)}switch(!0){case(e.startsWith("{")&&e.endsWith("}")):case(e.startsWith("[")&&e.endsWith("]")):return Tt(n,r,0);default:return $e(n,r)}}function Tt(e,t,r=0){let n=t.maxDepth??In;return r>=n?e:T(e)?$e(C(e).filter(([o])=>U(o)).reduce((o,[s,i])=>Object.assign(o,{[xt(s)]:$e(Tt(i,t,r+1),t)}),{}),t):fe(e)?Vt(e).map(o=>$e(Tt(o,t,r+1),t)):$e(e,t)}function $e(e,t){if(m(e)&&e.startsWith("~"))try{if(e.startsWith("~~"))return e.substring(1);if(e.startsWith("~n"))return BigInt(e.substring(2));if(e.startsWith("~t")){let s=e.substring(2),i=new Date(Ve(s)?Number(s):s);return isNaN(i.getTime())?e:i}if(e==="~u")return t.sentinel?.();if(e.startsWith("~y"))return xt(e.substring(2))}catch{return e}if(!T(e)||je(e).length!==1)return e;let[r,n]=C(e)[0];if(!String(r).startsWith("$"))return e;let o=r.substring(1);try{switch(o){case"String":case"Boolean":case"Object":case"Array":return n;case"Number":return Number(n);case"BigInt":return BigInt(n);case"Null":return null;case"Undefined":case"Empty":case"Void":return t.sentinel?.();case"Date":return new Date(n);case"RegExp":return t.allowRegExp===!1||!T(n)||!m(n.source)||n.source.length>vn?e:new RegExp(n.source,n.flags);case"Symbol":return xt(n);case"Map":return fe(n)?new Map(n):e;case"Set":return fe(n)?new Set(n):e;default:{if(t.allowClasses===!1||t.allowedClasses&&!(t.allowedClasses instanceof Set?t.allowedClasses.has(r)||t.allowedClasses.has(o):t.allowedClasses.includes(r)||t.allowedClasses.includes(o)))return e;let s=tt.get(r);return s?Reflect.construct(s,[n]):(console.warn(`objectify: dont know how to deserialize '${o}'`),e)}}}catch{return e}}var tt,fr,dr,gr,Tn,Nn,Pn,hr,Dn,pe,In,vn,we=E(()=>{"use strict";et();K();ur();bt();J();P();Z();tt=globalThis[w.$SerializerRegistry]??=new Map,fr=e=>{try{let t=e?.prototype?.[Symbol.toStringTag]??e?.[Symbol.toStringTag];return m(t)?t:void 0}catch{return}},dr=(e,t)=>{let r=e.startsWith("$")?e:`$${e}`;if(tt.has(r)){let n=tt.get(r),o=fr(n),s=fr(t),i=n.name||o,a=t.name||s||(e.startsWith("$")?e.slice(1):e);if(n===t||n.toString()===t.toString()||!!t[w.$Identity]&&n[w.$Identity]===t[w.$Identity]||!!t[w.$Target]&&n[w.$Target]===t[w.$Target]||!!i&&!!a&&i===a)return;throw new Error(`[registerSerializable] Collision: '${r}' is already registered with ${n.name||"anonymous constructor"}`)}tt.set(r,t)};gr={"%20":" ","%22":'"',"%3B":";","%3C":"<","%3E":">","%5B":"[","%5D":"]","%5E":"^","%7B":"{","%7C":"|","%7D":"}"},Tn=new RegExp(Object.keys(gr).join("|"),"gi");Nn=/^@(@)?\(([^\)]*)\)$/;Pn=globalThis.crypto?.randomUUID?globalThis.crypto.randomUUID().split("-")[0]:Math.random().toString(36).slice(2,10),hr=(e,t=Pn)=>{let r=2166136261,n=2654435769,o=`${t}:${e}`;for(let s=0;s<o.length;s++){let i=o.charCodeAt(s);r=Math.imul(r^i,16777619),n=Math.imul(n^i,2246822507)}return(r>>>0).toString(16).padStart(8,"0")+(n>>>0).toString(16).padStart(8,"0")},Dn=(e,t)=>{if(!m(e)||!m(t)||e.length!==t.length)return!1;let r=0;for(let n=0;n<e.length;n++)r|=e.charCodeAt(n)^t.charCodeAt(n);return r===0},pe=!0;In=64,vn=512});function re(e,t,r,n,o,s){function i(y){if(y!==void 0&&typeof y!="function")throw new TypeError("Function expected");return y}for(var a=n.kind,c=a==="getter"?"get":a==="setter"?"set":"value",u=!t&&e?n.static?e:e.prototype:null,f=t||(u?Object.getOwnPropertyDescriptor(u,n.name):{}),d,h=!1,b=r.length-1;b>=0;b--){var O={};for(var l in n)O[l]=l==="access"?{}:n[l];for(var l in n.access)O.access[l]=n.access[l];O.addInitializer=function(y){if(h)throw new TypeError("Cannot add initializers after decoration has completed");s.push(i(y||null))};var p=(0,r[b])(a==="accessor"?{get:f.get,set:f.set}:f[c],O);if(a==="accessor"){if(p===void 0)continue;if(p===null||typeof p!="object")throw new TypeError("Object expected");(d=i(p.get))&&(f.get=d),(d=i(p.set))&&(f.set=d),(d=i(p.init))&&o.unshift(d)}else(d=i(p))&&(a==="field"?o.unshift(d):f[c]=d)}u&&Object.defineProperty(u,n.name,f),h=!0}function ne(e,t,r){for(var n=arguments.length>2,o=0;o<t.length;o++)r=n?t[o].call(e,r):t[o].call(e);return n?r:void 0}var Me=E(()=>{"use strict"});function yr(e,t){return qe(e)??(j(t)?e.name||void 0:String(t))}function wr(e,{kind:t,name:r,addInitializer:n}){let o=yr(e,r);if(o&&He(e,o),t==="class")return o&&n(()=>dr(o,e)),e;throw new Error(`@Serializable decorating unknown 'kind': ${t} (${r})`)}function oe(e,t){let r=(n,o,s)=>{let i=n.prototype,a=o??yr(n,s);if(a&&(i&&!Object.hasOwn(i,Symbol.toStringTag)&&Object.defineProperty(i,Symbol.toStringTag,{value:a,configurable:!0,writable:!1,enumerable:!1}),!n.name||n.name!==a))try{Object.defineProperty(n,"name",{value:a,configurable:!0,writable:!1,enumerable:!1})}catch{}return n};return A(e)&&t?.kind==="class"?r(e,void 0,t.name):(n,o)=>r(n,m(e)?e:void 0,o?.name)}var Le=E(()=>{"use strict";Z();Qe();P();we();J()});var Ot,Sr=E(()=>{"use strict";Me();P();Le();Ot=(()=>{let e=[oe("BoundedCache")],t,r=[],n,o=Map;var s=class extends o{static{n=this}static{let i=typeof Symbol=="function"&&Symbol.metadata?Object.create(o[Symbol.metadata]??null):void 0;re(null,t={value:n},e,{kind:"class",name:n.name,metadata:i},null,r),s=n=t.value,i&&Object.defineProperty(n,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:i}),ne(n,r)}#t=new Map;#e=new Set;#r=new Map;maxSize;ttl;constructor(i=1e3,a=1440*60*1e3){super(),this.maxSize=i,this.ttl=a}get isBoundedCache(){return!0}#n(i){let a=this.#t.get(i);return a===void 0?!1:Date.now()>a}evictExpired(){if(this.#t.size===0)return;let i=Date.now();for(let[a,c]of this.#t.entries())i>c&&this.delete(a)}setStatic(i,a){return super.has(i)&&super.delete(i),super.set(i,a),this.#e.add(i),this.#t.delete(i),this.#r.delete(i),this}isStatic(i){return this.#e.has(i)}get(i){if(this.#n(i)){this.delete(i);return}if(!super.has(i))return;let a=super.get(i);return super.delete(i),super.set(i,a),a}has(i){return this.#n(i)?(this.delete(i),!1):super.has(i)}get size(){return this.evictExpired(),super.size}forEach(i,a){this.evictExpired(),super.forEach(i,a)}set(i,a,c){this.evictExpired();let u=this.#t.get(i);for(super.has(i)&&super.delete(i),super.set(i,a),this.#e.delete(i),N(c)?c!==1/0?(this.#t.set(i,Date.now()+c),this.#r.set(i,c)):(this.#t.delete(i),this.#r.delete(i)):u!==void 0?this.#t.set(i,u):this.ttl!==1/0?(this.#t.set(i,Date.now()+this.ttl),this.#r.delete(i)):(this.#t.delete(i),this.#r.delete(i));this.size-this.#e.size>this.maxSize;){let f=!1,d=super.keys(),h=d.next();for(;!h.done;){let b=h.value;if(!this.#e.has(b)){this.delete(b),f=!0;break}h=d.next()}if(!f)break}return this}delete(i){return this.#e.delete(i),this.#t.delete(i),this.#r.delete(i),super.delete(i)}deletePrefix(i){let a=String(i).trim().toLowerCase();if(R(a))return 0;let c=[];for(let u of super.keys())m(u)&&u.toLowerCase().startsWith(a)&&c.push(u);for(let u of c)this.delete(u);return c.length}clear(i){if(i===void 0){this.#e.clear(),this.#t.clear(),this.#r.clear(),super.clear();return}let a=0;for(let c of super.keys()){if(a>=i)break;this.#e.has(c)||(this.delete(c),a++)}}keys(){return this.evictExpired(),super.keys()}values(){return this.evictExpired(),super.values()}entries(){return this.evictExpired(),super.entries()}[Symbol.iterator](){return this.evictExpired(),super[Symbol.iterator]()}toJSON(){this.evictExpired();let i=[];for(let[a,c]of super.entries())m(a)&&i.push([a,c]);return Object.fromEntries(i)}static fromEntries(i,a=1e3,c=1440*60*1e3){let u=new s(a,c);for(let[f,d]of i)u.set(f,d);return u}};return s=n})()});function Tr(e,t){let r;if(j(e))return t??{};switch(G.type){case x.Browser:r=Et.getItem(e);break;case x.NodeJS:r=Fe.has(e)?Fe.get(e):Rn(e);break;case x.Deno:r=G.global.Deno.env.get(e);break;case x.GoogleAppsScript:r=G.global.PropertiesService?.getUserProperties().getProperty(e);break;case x.WebWorker:case x.Unknown:r=void 0;break;default:throw new Error(`Cannot determine Javascript context: ${G.type}`)}return m(r)?de(r):t}function Pt(e,t,r){let n=N(t)?B(t):void 0,o=N(n);switch(G.type){case x.Browser:try{o?Et.setItem(e,n):Et.removeItem(e)}catch(s){console.warn(`[Storage] Failed to ${o?"setItem":"removeItem"} for key '${e}':`,s)}break;case x.NodeJS:o?r?.static?Fe.setStatic(e,n):Fe.set(e,n,r?.ttl):Fe.set(e,void 0,r?.ttl);break;case x.Deno:o?G.global.Deno.env.set(e,n):G.global.Deno.env.delete(e);break;case x.GoogleAppsScript:o?G.global.PropertiesService?.getUserProperties().setProperty(e,n):G.global.PropertiesService?.getUserProperties().deleteProperty(e);break;case x.WebWorker:case x.Unknown:break;default:throw new Error(`Cannot determine Javascript context: ${G.type}`)}}var G,xr,br,_t,Nt,Et,Fe,Rn,Dt=E(()=>{"use strict";we();Ie();P();Sr();G=ye(),xr=(e=1e3,t=1/0)=>{let r=new Ot(e,t);return{get length(){return r.size},clear:()=>r.clear(),getItem:n=>r.get(n)??null,key:n=>Array.from(r.keys())[n]??null,removeItem:n=>{r.delete(n)},setItem:(n,o)=>{r.set(n,String(o))}}},br=new Map,_t=e=>{let t=br.get(e);return t||(t=xr(),br.set(e,t)),t},Nt=(e="localStorage")=>{try{let t=globalThis?.[e];if(t&&A(t.getItem)&&A(t.setItem)&&A(t.removeItem)&&A(t.clear)&&A(t.key)&&g(t.length))return t}catch{}return _t(e)},Et=G.type===x.Browser?Nt():xr(),Fe=new Ot(1e3,1/0),Rn=e=>{try{let t=Reflect.get(G.global,"process");if(!t||typeof t!="object")return;let r=Reflect.get(t,"env");return!r||typeof r!="object"?void 0:Reflect.get(r,e)}catch{return}}});var Or=E(()=>{"use strict";we();P()});function Er(e=[],t){let r=n=>j(t)||N(n)?n:mr(t);return er(e)||Xt(e)&&!m(e)?Array.from(e,r):[e]}function _r(e){if(Xe(e))return e;let t=new Error(T(e)&&m(e.message)?e.message:String(e));return T(e)&&(t.name=m(e.name)?e.name:"Error","code"in e&&(m(e.code)||g(e.code))&&(t.code=e.code),"stack"in e&&m(e.stack)&&(t.stack=e.stack)),t}var Pi,Di,It=E(()=>{"use strict";we();J();P();Or();Pi=BigInt(Number.MAX_SAFE_INTEGER),Di=BigInt(Number.MIN_SAFE_INTEGER)});var Nr=E(()=>{"use strict";It();if(typeof globalThis.Temporal>"u")throw new Error("Temporal API is not available. Node 20+ with a polyfill (e.g. @js-temporal/polyfill) is highly recommended. Native Temporal is fully reliable only on Node 26+ (while Node 22 may have instabilities).");try{if(typeof Temporal.Now.zonedDateTimeISO=="function"&&typeof Temporal.Now.zonedDateTimeISO().add!="function")throw new Error("Incomplete Temporal implementation")}catch(e){let t=_r(e);if(console.warn("Tempo: Native Temporal implementation appears incomplete. Consider loading a polyfill.",t),t.message!=="Incomplete Temporal implementation")throw t}});function Pr(){return Temporal.Now.instant()}function Dr(e,t=2024){let r=Temporal.ZonedDateTime.from({year:t,month:1,day:1,hour:0,minute:0,second:0,timeZone:e}).offsetNanoseconds,n=Temporal.ZonedDateTime.from({year:t,month:7,day:1,hour:0,minute:0,second:0,timeZone:e}).offsetNanoseconds;return{jan:r,jul:n}}var vt=E(()=>{"use strict";Nr();P()});function ze(e,t,r){if(e){if(A(e[t]))return e[t]();if(r&&r in e)return e[r]}}function Bn(e){return e?Fn.has(e)?5:Ln.has(e)?6:Mn.has(e)?7:1:1}function Zn(e){return e?e==="IR"?Un:e==="AF"?Jn:zn.has(e)?kn:Ir:Ir}function Kn(e,t){let r=e?.script??(A(e?.maximize)?e.maximize().script:void 0);return r&&Wn.has(r)||t&&Gn.has(t)?"rtl":"ltr"}var Cn,An,Se,se,Gi,Wi,Ct,ki,$n,Ui,Mn,Ln,Fn,zn,Gn,Wn,Ir,kn,Un,Jn,Rt,Ji,Bi,jn,Yn,vr,Zi,rt,Ki,At=E(()=>{"use strict";vt();et();P();It();Cn=/_/g,An=/[.@]/,Se=e=>typeof Intl<"u"&&(!e||Object.hasOwn(Intl,e)&&A(Intl[e])),se=e=>{if(De(e)&&(e=e.toString()),!m(e))return;let t=e.trim();if(R(t))return;let r=t.split(An)[0];if(!R(r))return r.replace(Cn,"-")},Gi=M((e,t)=>new Intl.RelativeTimeFormat(se(e),t)),Wi=M((e,t)=>new Intl.ListFormat(se(e),t)),Ct=M((e,t)=>new Intl.DateTimeFormat(se(e),t)),ki=M((e,t)=>{try{return new Intl.PluralRules(se(e),t)}catch{return{select:()=>"other"}}}),$n=M((e,t)=>new Intl.NumberFormat(se(e),t)),Ui=M((e,t)=>{try{let r=new Intl.DurationFormat(se(e),t);if(S(r.format))return r;throw new Error("No format method")}catch{return{format:n=>String(n)}}});Mn=new Set(["US","CA","MX","BR","IL","JP","TW","HK","MO","PH","SG","TH","IN","KR","CO","PE","VE","ZA"]),Ln=new Set(["SA","AF","BH","DJ","DZ","EG","IQ","IR","JO","KW","LY","OM","QA","SD","SY","YE"]),Fn=new Set(["MV"]),zn=new Set(["SA","BH","DJ","DZ","EG","IQ","JO","KW","LY","OM","QA","SD","SY","YE"]),Gn=new Set(["ar","he","fa","ur","yi","ps","sd","ug","ckb"]),Wn=new Set(["Arab","Hebr","Thaa","Syrc","Mand","Samr","Nkoo"]),Ir=Object.freeze([6,7]),kn=Object.freeze([5,6]),Un=Object.freeze([5]),Jn=Object.freeze([4,5]);Rt=M(e=>{if(De(e))return e;if(Se("Locale"))try{let t=se(e);return new Intl.Locale(t||"en-US")}catch{return}}),Ji=M(e=>{let t=Rt(e)??Rt("en-US"),r=t?.baseName??vr(e)??"en-US",n=t?.language??r.split("-")[0]?.toLowerCase(),o=[];for(let le of r.split("-").slice(1)){if(le.length===1)break;o.push(le)}let s=t?.region??(A(t?.maximize)?t.maximize().region:void 0)??o.find(le=>/^[a-zA-Z]{2}$|^\d{3}$/.test(le))?.toUpperCase(),i=t?.script??(A(t?.maximize)?t.maximize().script:void 0),a=ze(t,"getWeekInfo","weekInfo"),c=a?.firstDay??Bn(s),u=Array.isArray(a?.weekend)?Object.freeze([...a.weekend]):Zn(s),d=ze(t,"getHourCycles","hourCycles")??t?.hourCycle??(Se("DateTimeFormat")?Ct(r,{hour:"numeric"}).resolvedOptions().hourCycle:void 0),h=Array.isArray(d)&&d.length>0?Object.freeze([...d]):m(d)?Object.freeze([d]):Object.freeze(["h23"]),b=ze(t,"getTextInfo","textInfo"),O=b?.direction==="rtl"||b?.direction==="ltr"?b.direction:Kn(t,n),p=ze(t,"getNumberingSystems","numberingSystems")??t?.numberingSystem??(Se("NumberFormat")?$n(r).resolvedOptions().numberingSystem:void 0),y=Array.isArray(p)&&p.length>0?Object.freeze([...p]):m(p)?Object.freeze([p]):Object.freeze(["latn"]),I=ze(t,"getTimeZones","timeZones"),v=Array.isArray(I)&&I.length>0?Object.freeze([...I]):Object.freeze([]),ce=Object.freeze({firstDay:c,weekend:u});return Object.freeze({locale:t,baseName:r,language:n,region:s,script:i,weekInfo:ce,firstDay:c,weekend:u,hourCycle:h[0],hourCycles:h,direction:O,numberingSystem:y[0],numberingSystems:y,timeZones:v})}),Bi=M((e="latn")=>{if(!(!e||e==="latn"||!Se("NumberFormat")))try{let t=new Intl.NumberFormat(`en-u-nu-${e}`,{useGrouping:!1}),r=Array.from({length:10},(n,o)=>t.format(o));return r[0]==="0"&&r[9]==="9"?void 0:Object.freeze(r)}catch{return}}),jn=Object.freeze({locale:"en-US",calendar:"iso8601",numberingSystem:"latn",timeZone:"UTC"}),Yn=M(()=>Se("DateTimeFormat")?Object.freeze(Ct().resolvedOptions()):jn),vr=M(e=>{let t=se(e);if(t){if(Se("getCanonicalLocales"))try{return Intl.getCanonicalLocales(t)[0]}catch{return}return Rt(t)?.baseName??t}}),Zi=M(e=>Object.freeze(Er(e).map(t=>vr(t)).filter(Boolean))),rt=M((e=Yn().timeZone)=>{try{let{jan:t,jul:r}=Dr(e),o=["Australia","Antarctica","Africa/Johannesburg","America/Argentina/Buenos_Aires","America/Sao_Paulo"].some(s=>e.startsWith(s));switch(!0){case r>t:return"north";case r<t:return"south";default:return o?"south":void 0}}catch{return}}),Ki=M(e=>{try{let t=new Date(2024,11,24),r=Ct(e).formatToParts(t);return r[0].type==="month"&&r[0].value==="12"}catch{return!1}})});function Y(e){return{enumerable:!1,configurable:!1,writable:!1,value:e}}function be(e,t=!0){let n=ue(this)!=="Module"&&S(this?.has)?this:Hn,o=V(e),s=Object.create(n);switch(o.type){case"Enumify":case"Object":Object.defineProperties(s,Object.getOwnPropertyDescriptors(o.value));break;case"Array":o.value.forEach((i,a)=>{if(g(i))throw new Error("Enumify: numeric keys are not supported");s[i]=a});break;default:throw new Error(`Enumify: invalid argument type: ${o.type}`)}return sr(s,!0,t)}var qn,Hn,ts,Rr=E(()=>{"use strict";Me();J();P();K();Qe();Le();et();qn="Enumify",Hn=ve(Object.create(null,{keys:Ce("keys",function(){return C(this,!0).map(([e])=>e)}),values:Ce("values",function(){return C(this,!0).map(([e,t])=>t)}),entries:Ce("entries",function(){return C(this,!0).map(([e,t])=>Object.freeze([e,t]))}),invert:Ce("invert",function(){return Object.fromEntries(this.entries().map(([e,t])=>[t,e]))}),has:Y(function(e){return this.keys().includes(e)}),count:Y(function(){return this.keys().length}),includes:Y(function(e){return this.values().includes(e)}),keyOf:Y(function(e){return this.invert()[e]}),extend:Y(function(e,t){return be.call(this,e,t)}),forEach:Y(function(e,t){this.entries().forEach((r,n)=>e.call(t,r,n,this))}),filter:Y(function(e,t){return be(this.entries().reduce((r,n,o)=>e.call(t,n,o,this)?Object.assign(r,{[n[0]]:n[1]}):r,{}))}),map:Y(function(e,t){return be(this.entries().reduce((r,n,o)=>Object.assign(r,{[n[0]]:e.call(t,n,o,this)}),{}))}),[Symbol.iterator]:Y(function*(){for(let e of this.entries())yield e}),[Symbol.toStringTag]:{enumerable:!1,configurable:!1,writable:!1,value:qn}}));ts=(()=>{let e=[wr,oe("Enumify")],t,r=[],n;var o=class{static{n=this}static{let s=typeof Symbol=="function"&&Symbol.metadata?Object.create(null):void 0;re(null,t={value:n},e,{kind:"class",name:n.name,metadata:s},null,r),o=n=t.value,s&&Object.defineProperty(n,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:s}),ne(n,r)}constructor(s){return be(s)}};return o=n})()});function Vn(e,t=W.Info){return g(e)?e>=W.Off&&e<=W.Trace?e:t:m(e)?Cr[e.toLowerCase()]??t:t}var W,F,Cr,nt,$t=E(()=>{"use strict";Me();P();Rr();Z();Le();W=be(["Off","Error","Warn","Info","Debug","Trace"]),F={Off:"off",Log:"log",Info:"info",Warn:"warn",Debug:"debug",Trace:"trace",Error:"error"},Cr={[F.Off]:W.Off,[F.Error]:W.Error,[F.Warn]:W.Warn,[F.Info]:W.Info,[F.Log]:W.Info,[F.Debug]:W.Debug,[F.Trace]:W.Trace};nt=(()=>{let e=[oe("Logger")],t,r=[],n;var o=class{static{n=this}static{let s=typeof Symbol=="function"&&Symbol.metadata?Object.create(null):void 0;re(null,t={value:n},e,{kind:"class",name:n.name,metadata:s},null,r),o=n=t.value,s&&Object.defineProperty(n,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:s}),ne(n,r)}#t;level;constructor(s,i=W.Info){this.#t=s.startsWith("[")?s:`[${s}]`,this.level=i}#e(s,...i){let a;if(i.length>0&&T(i[0]))try{i[0][w.$LogConfig]&&(a=i.shift())}catch{}let c=this.level;if(a){if(a.silent===!0)return;a.debug!==void 0&&(c=Vn(a.debug,c))}if(c===W.Off||(Cr[s]??0)>c)return;let f=i.map(d=>{if(Xe(d))return d.message;if(T(d))try{let h=d.constructor?.name??"Object";if(h==="Object"){let b=Object.keys(d);return`{ ${b.slice(0,3).join(", ")}${b.length>3?`, ... (+${b.length-3} more)`:""} }`}return`[${h}]`}catch{return"[Object]"}return String(d)}).filter(d=>!R(d)).join(" ");R(f)||console[s](`${this.#t} ${f}`)}log=(...s)=>this.#e(F.Log,...s);info=(...s)=>this.#e(F.Info,...s);warn=(...s)=>this.#e(F.Warn,...s);debug=(...s)=>this.#e(F.Debug,...s);trace=(...s)=>this.#e(F.Trace,...s);error=(...s)=>this.#e(F.Error,...s)};return o=n})()});var Ar={};ge(Ar,{WebStore:()=>Xn});var Ge,Xn,$r=E(()=>{"use strict";Me();K();we();J();P();Dt();Le();Ge={Local:"local",Session:"session"},Xn=(()=>{let e=[oe("WebStore")],t,r=[],n;var o=class{static{n=this}static{let s=typeof Symbol=="function"&&Symbol.metadata?Object.create(null):void 0;re(null,t={value:n},e,{kind:"class",name:n.name,metadata:s},null,r),o=n=t.value,s&&Object.defineProperty(n,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:s}),ne(n,r)}static _localInstance;static _sessionInstance;static get local(){return o._localInstance??=new o(Ge.Local)}static get session(){return o._sessionInstance??=new o(Ge.Session)}#t;#e;get#r(){if(this.#e)return this.#e;let s=this.#t===Ge.Local?"localStorage":"sessionStorage";return this.#e=Nt(s)}#n(s){try{return s(this.#r)}catch{let a=this.#t===Ge.Local?"localStorage":"sessionStorage",c=_t(a);return this.#e=c,s(c)}}constructor(s=Ge.Local){this.#t=s}get(s,i){let a=this.#n(c=>c.getItem(B(s)));return m(a)?de(a):i??null}set(s,i,a={merge:!0}){if(_(s))return this.clear();let c=this.get(s),u=V(i);switch(u.type){case"Undefined":return this.del(s);case"Object":return c??={},this.#o(s,a.merge?Object.assign(c,u.value):u.value);case"Array":return c??=[],this.#o(s,a.merge?Ye(c.concat(u.value)):i);case"Map":return c??=new Map,a.merge?(u.value.forEach((f,d)=>c.set(d,f)),this.#o(s,c)):this.#o(s,u.value);case"Set":return c??=new Set,a.merge?(u.value.forEach(f=>c.add(f)),this.#o(s,c)):this.#o(s,u.value);default:return this.#o(s,u.value)}}clear(){try{this.#n(s=>s.clear())}catch(s){console.warn("[WebStore] Failed to clear storage:",s)}return this}del(...s){return s.forEach(i=>{try{this.#n(a=>a.removeItem(B(i)))}catch(a){console.warn(`[WebStore] Failed to removeItem for key '${String(i)}':`,a)}}),this}keys(...s){return this.entries(...s).map(([i])=>i)}values(...s){return this.entries(...s).map(([,i])=>i)}entries(...s){let i=new Set(s.map(c=>B(c))),a=[];return this.#n(c=>{for(let u=0;u<c.length;u++){let f=c.key(u);if(f!==null&&(R(s)||i.has(f))){let d=c.getItem(f);a.push([de(f),de(d)])}}}),a}from(s){return C(s).forEach(([i,a])=>this.set(i,a)),this}#o(s,i){try{this.#n(a=>a.setItem(B(s),B(i)))}catch(a){console.warn(`[WebStore] Failed to setItem for key '${String(s)}':`,a)}return this}};return o=n})()});var Fr={};ge(Fr,{geoCoords:()=>Lr,geoLocation:()=>We,mapAddress:()=>eo,mapHemisphere:()=>Qn,mapQuery:()=>Ft});var it,Mr,D,Lt,q,Mt,ot,We,Lr,Ft,Qn,eo,zt=E(()=>{"use strict";bt();Ie();P();vt();At();$t();it={catch:!0,debug:0},Mr=ye(),D={},Lt="_magma_browser_map_",q=new nt("[Mapper]"),Mt=null,ot=()=>(Mt||(Mt=new Promise((e,t)=>{Mr.type===x.Browser?Promise.resolve().then(()=>($r(),Ar)).then(({WebStore:r})=>{let n=new r("local"),o=n.get(Lt,{});$(o)&&(o.geolocation&&(!o.geolocation.coords||o.geolocation.$GeolocationPosition)&&delete o.geolocation,Object.assign(D,o)),e(n)}).catch(t):e(void 0)})),Mt),We=(e={})=>ot().then(()=>new Promise((t,r)=>{e=Object.assign({},it,e);let n=e.catch?t:r;typeof navigator<"u"&&"geolocation"in navigator?navigator.geolocation.getCurrentPosition(o=>{let s=D.geolocation?.coords,i=s?.latitude?.toFixed(3),a=s?.longitude?.toFixed(3),c=D.geolocation?.timestamp??0,u=o.coords.latitude.toFixed(3)!==i,f=o.coords.longitude.toFixed(3)!==a,d=c<Pr().epochMilliseconds-36e5;(u||f||d)&&(Object.assign(D,{georesponse:null}),q.info(e,"GeoLocation: device update")),Object.assign(D,{geolocation:ee(o)}),t(D.geolocation)},o=>{Object.assign(D,{geolocation:{error:o.message},georesponse:null}),n(D.geolocation)}):(Object.assign(D,{geolocation:{error:"Not Supported"},georesponse:null}),n(D.geolocation))})).finally(()=>{(D.geolocation?.error?q.error:q.info)(e,"geoLocation: ",D.geolocation),ot().then(r=>r?.set(Lt,D))}),Lr=e=>new Promise((t,r)=>{if(!_(e))return t(e);We().then(n=>_(n.error)?{location:{lat:n.coords.latitude,lng:n.coords.longitude}}:null).then(n=>t(n)).catch(n=>r(n))}),Ft=(e,t={})=>ot().then(()=>new Promise((r,n)=>{t=Object.assign({},it,t);let o=t.catch?r:n;Lr(e).then(s=>{switch(!0){case(Mr.type!==x.Browser||!window.google?.maps):throw new Error("Google Maps API not configured");case _(s):throw new Error("Cannot determine Coordinates");case _(e):{let i=D.geolocation&&D.georesponse,a=_(D.geolocation?.error)&&_(D.georesponse?.error);if(i&&a)return t.debug&&q.debug(t,"mapQuery: cache"),r(D.georesponse)}default:new window.google.maps.Geocoder().geocode(s).then(i=>r(D.georesponse=ee(i)))}}).catch(s=>{Object.assign(D,{georesponse:{error:s.message}}),o(D.georesponse)})})).finally(()=>{t.debug&&(D.georesponse?.error?q.error:q.debug)(t,"mapQuery: ",D.georesponse),ot().then(r=>r?.set(Lt,D))}),Qn=(e,t={})=>Ft(e,t).then(r=>{if(t=Object.assign({},it,t),_(r.error))return t.debug&&q.debug(t,"sphere: ",r),r.results[0].geometry.location.lat()>=0?"north":"south";let n=rt();if(_(n)&&t.catch===!1)throw new Error("Cannot determine Hemisphere");return n}).catch(r=>{if(t.debug&&q.warn(t,"mapHemisphere: ",r.message),t.catch===!1)throw r;return null}),eo=(e,t={})=>Ft(e,t).then(r=>{if(!_(r.error))throw new Error(r.error);return r.results[0]}).then(({formatted_address:r,address_components:n})=>n.reduce((o,s)=>(s.types.filter(i=>i!=="political").forEach(i=>o[i]=(o[i]?o[i]+",":"").concat(s.short_name)),o),{formatted_address:r})).catch(r=>{if(t=Object.assign({},it,t),t.debug&&q.warn(t,"mapAddress: ",r.message),t.catch===!1)throw r;return null})});var Ur={};ge(Ur,{HTTP:()=>Wr,HttpError:()=>H,METHOD:()=>kr,fetchHead:()=>ro,fetchRequest:()=>to});var Gt,zr,Wr,kr,H,Gr,to,ro,Jr=E(()=>{"use strict";P();Gt=2e3,zr=/\);?$/,Wr={Ok:200,PermRedirect:301,TempRedirect:302,BadRequest:400,Unauthorised:401,Forbidden:403},kr={Head:"HEAD",Get:"GET",Put:"PUT",Delete:"DELETE",Post:"POST"},H=class extends Error{status;statusText;body;constructor(t,r,n){super(`${t}: ${r}`),this.status=t,this.statusText=r,this.body=n,this.name="HttpError"}},Gr=async(e,t)=>{let r=e.headers?.get?.("Content-Length")||e.headers?.get?.("content-length");if(r){let a=parseInt(r,10);if(g(a)&&a>t){try{await e.body?.cancel()}catch{}throw new H(413,`Content-Length (${a}) exceeds limit (${t} bytes)`,null)}}if(!e.body){let a;if(S(e.text))a=await e.text();else if(S(e.json)){let u=await e.json();a=JSON.stringify(u)??""}else a="";let c=new TextEncoder().encode(a).byteLength;if(c>t)throw new H(413,`Payload length (${c}) exceeds limit (${t} bytes)`,null);return a}let n=e.body.getReader(),o=new TextDecoder,s=0,i="";try{for(;;){let{done:a,value:c}=await n.read();if(a)break;if(c){if(s+=c.byteLength,s>t){try{await n.cancel()}catch{}throw new H(413,`Streamed payload exceeded limit (${t} bytes)`,null)}i+=o.decode(c,{stream:!0})}}return i+=o.decode(),i}finally{try{n.releaseLock()}catch{}}},to=(e,t={},r={})=>{let n={...t,signal:t.signal?AbortSignal.any([t.signal,AbortSignal.timeout(r.timeout??Gt)]):AbortSignal.timeout(r.timeout??Gt)};return fetch(e,n).then(async o=>{if(o.ok){let a=(o.headers?.get?.("Content-Type")||o.headers?.get?.("content-type")||"").includes("application/json");if(N(r.maxBytes)){let c=await Gr(o,r.maxBytes);if(r.rawText)return c;if(r.prefix){let u=c.startsWith(r.prefix)?c.substring(r.prefix.length).replace(zr,""):c;return JSON.parse(u)}if(a)return JSON.parse(c);try{return JSON.parse(c)}catch{return c}}if(r.rawText)return S(o.text)?await o.text():"";if(r.prefix){let c=await o.text(),u=c.startsWith(r.prefix)?c.substring(r.prefix.length).replace(zr,""):c;return JSON.parse(u)}if(S(o.text)){let c=await o.text();try{return JSON.parse(c)}catch{return c}}return S(o.json)?await o.json():""}let s=null;try{let i=N(r.maxBytes)?await Gr(o,r.maxBytes):S(o.text)?await o.text():"";try{s=JSON.parse(i)}catch{s=i}}catch(i){if(i instanceof H&&i.status===413)throw i}throw new H(o.status,o.statusText,s)})},ro=e=>{let t=AbortSignal.timeout(Gt),r={method:kr.Head,signal:t};return fetch(e,r).then(({ok:n,status:o,statusText:s,headers:i})=>{if(n||o===Wr.Forbidden)return{status:o,headers:i};throw new H(o,s,null)})}});var Zr={};ge(Zr,{serverGeoCoords:()=>st,serverGeoLocation:()=>ke,serverMapHemisphere:()=>Jt});var Br,Ut,Wt,kt,no,ke,st,Jt,Bt=E(()=>{"use strict";P();At();$t();Br=new nt("[ServerMapper]"),Ut="https://ipwho.is",Wt={endpoint:`${Ut}/`,timeout:3e3,catch:!0,debug:0},kt=null,no=()=>(kt||(kt=Promise.resolve().then(()=>(Jr(),Ur))),kt),ke=async(e={})=>{let t={...Wt,...e},r=t.catch!==!1;try{let n=t.endpoint||Wt.endpoint;if(m(t.ip)){let d=encodeURIComponent(t.ip.trim());if((n.endsWith("/")?n.slice(0,-1):n)===Ut)n=`${Ut}/${d}`;else if(n.includes("{ip}"))n=n.replace("{ip}",d);else if(d!=="")throw new Error(`Custom endpoint must include an '{ip}' placeholder to resolve a specific IP: ${n}`)}let o=t.timeout??Wt.timeout,{fetchRequest:s}=await no(),i=await s(n,{},{...g(o)?{timeout:o}:{},maxBytes:64*1024});if(typeof i!="object"||_(i))throw new Error("Geolocation lookup failed");if(i.status==="fail"||i.success===!1)throw new Error(i.message||i.reason||"Geolocation lookup failed");let a=g(i.lat)?i.lat:i.latitude,c=g(i.lon)?i.lon:i.lng??i.longitude;if(!g(a)||!g(c))throw new Error("Geolocation lookup failed");let u=m(i.timezone)?i.timezone:i.timezone?.id??i.timeZone,f={lat:a,lng:c,latitude:a,longitude:c,...m(i.country||i.countryName||i.country_name)?{country:i.country||i.countryName||i.country_name}:{},...m(i.city||i.cityName||i.city_name)?{city:i.city||i.cityName||i.city_name}:{},...m(u)?{timezone:u}:{},...m(i.query||i.ip||i.ip_address)?{query:i.query||i.ip||i.ip_address}:{},status:"success"};return t.debug&&Br.info(t,"serverGeoLocation success: ",f),f}catch(n){let o=n?.message||"Server geolocation error";if(t.debug&&Br.error(t,"serverGeoLocation error: ",o),!r)throw n;return{error:o,status:"fail"}}},st=async(e,t)=>{if(!_(e)){let n=e.latitude??e.lat,o=e.longitude??e.lng??e.lon??e.long;if(g(n)&&g(o))return{lat:n,lng:o}}let r=await ke(t);return _(r.error)&&g(r.lat)&&g(r.lng)?{lat:r.lat,lng:r.lng}:null},Jt=async(e,t)=>{let r=await st(e,t);return r?r.lat>=0?"north":"south":rt()??null}});var io={};ge(io,{GEO_PROPERTIES:()=>Ue,GeoPlugin:()=>Oe,clearStashedGeo:()=>lt,coerceGeo:()=>ae,default:()=>Hr,geoLocation:()=>We,geoLookup:()=>ut,geoPlugin:()=>qr,getStashedGeo:()=>Te,haversineDistance:()=>ft,resolveGeoCoordinates:()=>Je,serverGeoCoords:()=>st,serverGeoLocation:()=>ke,serverMapHemisphere:()=>Jt,solarOffset:()=>pt,stashGeo:()=>ct});var L={};ge(L,{definePlugin:()=>mt,defineTerm:()=>on});Ee(L,jt(dt()));var Ke=jt(dt()),mt=e=>(0,Ke.definePlugin)({...e,version:"1.2.0"}),on=e=>(0,Ke.defineTerm)({...e,version:"1.2.0"});Ie();P();Dt();P();function ie(...e){for(let t of e){let r=S(t)?t():t;if(r!==void 0)return r}}var at="_magma_geo_",Kr=1440*60*1e3,Ue=["latitude","lat","longitude","lng","lon","long","elevation","sphere","country","city","timezone","tz"],jr=e=>g(e)&&e>=-90&&e<=90?Math.round(e*1e3)/1e3:void 0,Yr=e=>g(e)&&e>=-180&&e<=180?Math.round(e*1e3)/1e3:void 0,xe=(e,t)=>{let r=jr(e),n=Yr(t);return r!==void 0&&n!==void 0?{lat:r,lng:n}:void 0},me=(e,t)=>{if(e==="north"||e==="south"||e==="equator")return e;if(g(t))return t>.001?"north":t<-.001?"south":"equator"},ae=e=>{if(m(e)&&e.includes(",")){let p=e.split(",").map(y=>y.trim()).map(y=>y===""?NaN:Number(y));if(p.length>=2&&!isNaN(p[0])&&!isNaN(p[1])){let y=xe(p[0],p[1]);if(y){let I={latitude:y.lat,longitude:y.lng},v=me(void 0,y.lat);return v&&(I.sphere=v),I}}return}if(X(e))return;if(Array.isArray(e)&&e.length>=2){let l=xe(e[0],e[1]);if(l){let p={latitude:l.lat,longitude:l.lng},y=me(void 0,l.lat);return y&&(p.sphere=y),p}return}let t=e.geo??e,r=e.config?.geo??e.config,n=ie(t?.latitude,t?.lat,e.latitude,e.lat,r?.latitude,r?.lat),o=ie(t?.longitude,t?.lng,t?.lon,t?.long,e.longitude,e.lng,e.lon,e.long,r?.longitude,r?.lng,r?.lon,r?.long),s=ie(t?.elevation,e.elevation,r?.elevation),i=ie(t?.sphere,e.sphere,r?.sphere),a=ie(t?.country,e.country,r?.country),c=ie(t?.city,e.city,r?.city),u=ie(t?.timezone,t?.tz,e.timezone,e.tz,r?.timezone,r?.tz),f={},d=jr(n),h=Yr(o);d!==void 0&&(f.latitude=d),h!==void 0&&(f.longitude=h),g(s)&&(f.elevation=Math.round(s*1e3)/1e3);let b=me(i,f.latitude);b&&(f.sphere=b),m(a)&&(f.country=a),m(c)&&(f.city=c),m(u)&&(f.timezone=u);let O=$(e.geo)?e.geo:$(e.config?.geo)?e.config.geo:void 0;if($(O))for(let l of Object.keys(O))U(l)&&!Ue.includes(l)&&(f[l]=O[l]);return Object.keys(f).length>0?f:void 0},Zt=e=>{if(m(e)&&!R(e)){let t=e.trim();return t.startsWith(at)?t:`${at}:${t}`}if(e&&T(e)){let t=e.key??e.ip??e.query;if(m(t)&&!R(t))return`${at}:${t.trim()}`}return at},Te=e=>{let t=Zt(e);try{let r=Tr(t)??(typeof localStorage<"u"?localStorage.getItem(t):void 0);if(!r)return;let n=m(r)&&(r.startsWith("{")||r.startsWith("["))?JSON.parse(r):r;if(T(n)&&g(n._expires)&&Date.now()>n._expires){lt(e);return}if(m(n)&&n.includes(",")){let o=n.split(",").map(i=>parseFloat(i.trim())),s=xe(o[0],o[1]);if(s)return{latitude:s.lat,longitude:s.lng,sphere:me(void 0,s.lat)}}if(T(n)){let o=n.geolocation?.coords??n.coords??n,s=o?.latitude??o?.lat,i=o?.longitude??o?.lng??o?.lon??o?.long,a=xe(s,i);if(a){let c={latitude:a.lat,longitude:a.lng},u=n.elevation??o.elevation;return g(u)&&(c.elevation=Math.round(u*1e3)/1e3),c.sphere=me(n.sphere,a.lat),m(n.country)&&(c.country=n.country),m(n.city)&&(c.city=n.city),m(n.timezone)&&(c.timezone=n.timezone),c}}}catch{}},ct=(e,t=Kr,r)=>{let n=Zt(r),o=g(t)&&t>0?{...e,_expires:Date.now()+t}:e;Pt(n,o,{ttl:t})},lt=e=>{let t=Zt(e);Pt(t,void 0)},ut=async(e={})=>{if(e.refresh!==!0){let a=Te(e);if(a&&g(a.latitude)&&g(a.longitude)){let{latitude:c,longitude:u,...f}=a;return{...f,status:"cached",lat:c,lng:u,latitude:c,longitude:u}}}let{type:r}=ye(),n;switch(r){case x.Browser:{let{geoLocation:a}=await Promise.resolve().then(()=>(zt(),Fr)),c=await a(e);if(c.error)return{error:c.error};let u=c.coords?.latitude,f=c.coords?.longitude;n={...c,lat:u,lng:f,latitude:u,longitude:f};break}case x.WebWorker:case x.NodeJS:case x.Deno:default:{let{serverGeoLocation:a}=await Promise.resolve().then(()=>(Bt(),Zr));n=await a(e);break}}let o=n.latitude??n.lat,s=n.longitude??n.lng,i=xe(o,s);if(_(n.error)&&i){let a=me(n.sphere,i.lat);n.lat=i.lat,n.lng=i.lng,n.latitude=i.lat,n.longitude=i.lng,n.sphere=a;let c={latitude:i.lat,longitude:i.lng,sphere:a,...m(n.city)?{city:n.city}:{},...m(n.country)?{country:n.country}:{},...g(n.elevation)?{elevation:Math.round(n.elevation*1e3)/1e3}:{},...m(n.timezone)?{timezone:n.timezone}:{}};try{let u=g(e.ttl)?e.ttl:Kr;ct(c,u,e)}catch{}}return n},Je=async(e,t={})=>{let r=ae(e);if(r&&g(r.latitude)&&g(r.longitude))return{...r,lat:r.latitude,lng:r.longitude};let n=t.refresh===!0?void 0:Te(t);if(n&&g(n.latitude)&&g(n.longitude))return{...n,lat:n.latitude,lng:n.longitude};let o=await ut(t),s=xe(o.lat,o.lng);if(_(o.error)&&s){let i=me(o.sphere,s.lat);return{...o,lat:s.lat,lng:s.lng,latitude:s.lat,longitude:s.lng,sphere:i}}return null};function ft(e,t,r="km"){let n=ae(e),o=ae(t);if(!n||!o||!g(n.latitude)||!g(n.longitude)||!g(o.latitude)||!g(o.longitude))return NaN;let s=Math.PI/180,i=n.latitude*s,a=n.longitude*s,c=o.latitude*s,u=o.longitude*s,f=c-i,d=u-a,h=Math.sin(f/2)**2+Math.cos(i)*Math.cos(c)*Math.sin(d/2)**2,b=2*Math.atan2(Math.sqrt(h),Math.sqrt(1-h)),O;r==="miles"?O=3958.7613:r==="m"?O=63710088e-1:O=6371.0088;let l=O*b;return r==="m"?Math.round(l):Math.round(l*1e3)/1e3}var oo=(e,t)=>{try{if(typeof Temporal<"u"&&typeof Temporal.Instant?.fromEpochMilliseconds=="function")return Temporal.Instant.fromEpochMilliseconds(t).toZonedDateTimeISO(e).offsetNanoseconds/6e10;let n=new Intl.DateTimeFormat("en-US",{timeZone:e,timeZoneName:"longOffset",year:"numeric"}).formatToParts(new Date(t)).find(o=>o.type==="timeZoneName")?.value;if(n){if(n==="GMT"||n==="UTC")return 0;let o=n.match(/GMT([+-])(\d{2}):(\d{2})/);if(o)return(o[1]==="-"?-1:1)*(parseInt(o[2],10)*60+parseInt(o[3],10))}}catch{}};function pt(e,t){let r=ae(e);if(!r||!g(r.latitude)||!g(r.longitude)||isNaN(r.latitude)||isNaN(r.longitude))return NaN;let n=r.longitude,o=t?.timeZone??($(e)?e.timezone??e.tz:void 0)??r.timezone,s=t?.date??($(e)&&g(e.epoch?.ms)?e.epoch.ms:Date.now()),i=typeof s=="number"?s:m(s)?Date.parse(s):_e(s)?s.getTime():$(s)&&g(s?.epoch?.ms)?s.epoch.ms:Date.now();if(!Number.isFinite(i))return NaN;let a=Qt(o)?oo(o,i):void 0,c=a!==void 0?a/60*15:Math.round(n/15)*15,f=(n-c)*4;if(t?.apparent){let l=new Date(i),p=Date.UTC(l.getUTCFullYear(),0,1),y=Math.floor((i-p)/864e5)+1,I=2*Math.PI/365*(y-1),v=229.18*(75e-6+.001868*Math.cos(I)-.032077*Math.sin(I)-.014615*Math.cos(2*I)-.040849*Math.sin(2*I));f+=v}let d=t?.unit??"minutes",h;d==="seconds"?h=f*60:d==="hours"?h=f/60:h=f;let b=t?.precision??2,O=Math.pow(10,b);return Math.round(h*O)/O}Bt();zt();P();var Oe=mt({name:"geo",install(e,t){let r=e||this,n=(o,s)=>{let i=r.config?.pluginOptions?.geo,a=s?.config?.pluginOptions?.geo;return{...T(t)?t:{},...T(i)?i:{},...T(a)?a:{},...T(o)?o:{}}};Object.hasOwn(r,"geo")||Object.defineProperty(r,"geo",{value:(0,L.deepFreeze)({lookup:s=>ut(n(s)),resolve:(s,i)=>Je(s,n(i,s)),coerce:ae,distance:ft,solarOffset:pt,stash:ct,clear:lt,get:Te,server:ke,browser:We,get current(){return Te()??r.config?.geo}}),writable:!1,configurable:!1,enumerable:!1}),e.prototype.geoLocate=async function(o){let s=n(o,this),i=s?.setTimezone!==!1,a=await Je(this,s);if(a){let c=T(this.config.geo)?this.config.geo:{},u={};for(let l of Object.keys(c))U(l)&&!Ue.includes(l)&&(u[l]=c[l]);let f=ae(o)??{};if(T(o))for(let l of Object.keys(o))U(l)&&!["setTimezone","refresh","ttl","endpoint","timeout","catch","debug","geo"].includes(l)&&(Ue.includes(l)||(u[l]=o[l]));let d=g(a?.elevation)?a.elevation:g(c.elevation)?c.elevation:void 0,h={...u,...a,...g(d)?{elevation:d}:{},...f};g(h.latitude)&&(h.latitude=Math.round(h.latitude*1e3)/1e3),g(h.longitude)&&(h.longitude=Math.round(h.longitude*1e3)/1e3),!h.sphere&&g(h.latitude)&&(h.sphere=h.latitude>.001?"north":h.latitude<-.001?"south":"equator");let b=this,O=h.timezone;return i&&m(O)&&!R(O)&&(b=this.set({timeZone:O})),new e(b,{...b.config,geo:(0,L.deepFreeze)(h),...h.sphere?{sphere:h.sphere}:{}})}return this},e.prototype.geoLookup=async function(o){return Je(this,n(o,this))},e.prototype.geoDistance=function(o,s){return ft(this,o,s)},e.prototype.geoSolarOffset=function(o){return pt(this,o)}}}),qr=Oe,Hr=Oe;(0,L.autoInstall)(Oe);return nn(io);})();
|