tempest.games 0.1.43 → 0.1.44

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.
@@ -2,7 +2,7 @@
2
2
  // @bun
3
3
  var RW=Object.create;var{getPrototypeOf:YW,defineProperty:O1,getOwnPropertyNames:QW}=Object;var zW=Object.prototype.hasOwnProperty;var s1=(H,A,L)=>{L=H!=null?RW(YW(H)):{};let I=A||!H||!H.__esModule?O1(L,"default",{value:H,enumerable:!0}):L;for(let $ of QW(H))if(!zW.call(I,$))O1(I,$,{get:()=>H[$],enumerable:!0});return I};var Q=(H,A)=>()=>(A||H((A={exports:{}}).exports,A),A.exports);var bW=(H,A)=>{for(var L in A)O1(H,L,{get:A[L],enumerable:!0,configurable:!0,set:(I)=>A[L]=()=>I})};var O=import.meta.require;var Bp=Q((zl,ZW)=>{ZW.exports=O("./bcrypt.linux-x64-musl-jkg5vvm1.node")});var cp=Q((bl,hW)=>{hW.exports=O("./bcrypt.linux-x64-gnu-30qvt60g.node")});var xp=Q((Hm,TI)=>{var __filename="/home/runner/work/wayforge/wayforge/node_modules/.pnpm/@node-rs+bcrypt@1.10.7/node_modules/@node-rs/bcrypt/binding.js",{createRequire:rW}=O("module");O=rW(__filename);var{readFileSync:jW}=O("fs"),AL=null,g=[],iD=()=>{let H=!1;if(process.platform==="linux"){if(H=dW(),H===null)H=qW();if(H===null)H=gW()}return H},kW=(H)=>H.includes("libc.musl-")||H.includes("ld-musl-"),dW=()=>{try{return jW("/usr/bin/ldd","utf-8").includes("musl")}catch{return null}},qW=()=>{let H=typeof process.report.getReport==="function"?process.report.getReport():null;if(!H)return null;if(H.header&&H.header.glibcVersionRuntime)return!1;if(Array.isArray(H.sharedObjects)){if(H.sharedObjects.some(kW))return!0}return!1},gW=()=>{try{return O("child_process").execSync("ldd --version",{encoding:"utf8"}).includes("musl")}catch(H){return!1}};function eW(){if(process.platform==="android")if(process.arch==="arm64"){try{return (()=>{throw new Error("Cannot require module "+"./bcrypt.android-arm64.node");})()}catch(H){g.push(H)}try{return (()=>{throw new Error("Cannot require module "+"@node-rs/bcrypt-android-arm64");})()}catch(H){g.push(H)}}else if(process.arch==="arm"){try{return (()=>{throw new Error("Cannot require module "+"./bcrypt.android-arm-eabi.node");})()}catch(H){g.push(H)}try{return (()=>{throw new Error("Cannot require module "+"@node-rs/bcrypt-android-arm-eabi");})()}catch(H){g.push(H)}}else g.push(new Error(`Unsupported architecture on Android ${process.arch}`));else if(process.platform==="win32")if(process.arch==="x64"){try{return (()=>{throw new Error("Cannot require module "+"./bcrypt.win32-x64-msvc.node");})()}catch(H){g.push(H)}try{return (()=>{throw new Error("Cannot require module "+"@node-rs/bcrypt-win32-x64-msvc");})()}catch(H){g.push(H)}}else if(process.arch==="ia32"){try{return (()=>{throw new Error("Cannot require module "+"./bcrypt.win32-ia32-msvc.node");})()}catch(H){g.push(H)}try{return (()=>{throw new Error("Cannot require module "+"@node-rs/bcrypt-win32-ia32-msvc");})()}catch(H){g.push(H)}}else if(process.arch==="arm64"){try{return (()=>{throw new Error("Cannot require module "+"./bcrypt.win32-arm64-msvc.node");})()}catch(H){g.push(H)}try{return (()=>{throw new Error("Cannot require module "+"@node-rs/bcrypt-win32-arm64-msvc");})()}catch(H){g.push(H)}}else g.push(new Error(`Unsupported architecture on Windows: ${process.arch}`));else if(process.platform==="darwin"){try{return (()=>{throw new Error("Cannot require module "+"./bcrypt.darwin-universal.node");})()}catch(H){g.push(H)}try{return (()=>{throw new Error("Cannot require module "+"@node-rs/bcrypt-darwin-universal");})()}catch(H){g.push(H)}if(process.arch==="x64"){try{return (()=>{throw new Error("Cannot require module "+"./bcrypt.darwin-x64.node");})()}catch(H){g.push(H)}try{return (()=>{throw new Error("Cannot require module "+"@node-rs/bcrypt-darwin-x64");})()}catch(H){g.push(H)}}else if(process.arch==="arm64"){try{return (()=>{throw new Error("Cannot require module "+"./bcrypt.darwin-arm64.node");})()}catch(H){g.push(H)}try{return (()=>{throw new Error("Cannot require module "+"@node-rs/bcrypt-darwin-arm64");})()}catch(H){g.push(H)}}else g.push(new Error(`Unsupported architecture on macOS: ${process.arch}`))}else if(process.platform==="freebsd")if(process.arch==="x64"){try{return (()=>{throw new Error("Cannot require module "+"./bcrypt.freebsd-x64.node");})()}catch(H){g.push(H)}try{return (()=>{throw new Error("Cannot require module "+"@node-rs/bcrypt-freebsd-x64");})()}catch(H){g.push(H)}}else if(process.arch==="arm64"){try{return (()=>{throw new Error("Cannot require module "+"./bcrypt.freebsd-arm64.node");})()}catch(H){g.push(H)}try{return (()=>{throw new Error("Cannot require module "+"@node-rs/bcrypt-freebsd-arm64");})()}catch(H){g.push(H)}}else g.push(new Error(`Unsupported architecture on FreeBSD: ${process.arch}`));else if(process.platform==="linux")if(process.arch==="x64")if(iD()){try{return (()=>{throw new Error("Cannot require module "+"./bcrypt.linux-x64-musl.node");})()}catch(H){g.push(H)}try{return Bp()}catch(H){g.push(H)}}else{try{return (()=>{throw new Error("Cannot require module "+"./bcrypt.linux-x64-gnu.node");})()}catch(H){g.push(H)}try{return cp()}catch(H){g.push(H)}}else if(process.arch==="arm64")if(iD()){try{return (()=>{throw new Error("Cannot require module "+"./bcrypt.linux-arm64-musl.node");})()}catch(H){g.push(H)}try{return (()=>{throw new Error("Cannot require module "+"@node-rs/bcrypt-linux-arm64-musl");})()}catch(H){g.push(H)}}else{try{return (()=>{throw new Error("Cannot require module "+"./bcrypt.linux-arm64-gnu.node");})()}catch(H){g.push(H)}try{return (()=>{throw new Error("Cannot require module "+"@node-rs/bcrypt-linux-arm64-gnu");})()}catch(H){g.push(H)}}else if(process.arch==="arm")if(iD()){try{return (()=>{throw new Error("Cannot require module "+"./bcrypt.linux-arm-musleabihf.node");})()}catch(H){g.push(H)}try{return (()=>{throw new Error("Cannot require module "+"@node-rs/bcrypt-linux-arm-musleabihf");})()}catch(H){g.push(H)}}else{try{return (()=>{throw new Error("Cannot require module "+"./bcrypt.linux-arm-gnueabihf.node");})()}catch(H){g.push(H)}try{return (()=>{throw new Error("Cannot require module "+"@node-rs/bcrypt-linux-arm-gnueabihf");})()}catch(H){g.push(H)}}else if(process.arch==="riscv64")if(iD()){try{return (()=>{throw new Error("Cannot require module "+"./bcrypt.linux-riscv64-musl.node");})()}catch(H){g.push(H)}try{return (()=>{throw new Error("Cannot require module "+"@node-rs/bcrypt-linux-riscv64-musl");})()}catch(H){g.push(H)}}else{try{return (()=>{throw new Error("Cannot require module "+"./bcrypt.linux-riscv64-gnu.node");})()}catch(H){g.push(H)}try{return (()=>{throw new Error("Cannot require module "+"@node-rs/bcrypt-linux-riscv64-gnu");})()}catch(H){g.push(H)}}else if(process.arch==="ppc64"){try{return (()=>{throw new Error("Cannot require module "+"./bcrypt.linux-ppc64-gnu.node");})()}catch(H){g.push(H)}try{return (()=>{throw new Error("Cannot require module "+"@node-rs/bcrypt-linux-ppc64-gnu");})()}catch(H){g.push(H)}}else if(process.arch==="s390x"){try{return (()=>{throw new Error("Cannot require module "+"./bcrypt.linux-s390x-gnu.node");})()}catch(H){g.push(H)}try{return (()=>{throw new Error("Cannot require module "+"@node-rs/bcrypt-linux-s390x-gnu");})()}catch(H){g.push(H)}}else g.push(new Error(`Unsupported architecture on Linux: ${process.arch}`));else g.push(new Error(`Unsupported OS: ${process.platform}, architecture: ${process.arch}`))}AL=eW();if(!AL||process.env.NAPI_RS_FORCE_WASI){try{AL=(()=>{throw new Error("Cannot require module "+"./bcrypt.wasi.cjs");})()}catch(H){if(process.env.NAPI_RS_FORCE_WASI)g.push(H)}if(!AL)try{AL=(()=>{throw new Error("Cannot require module "+"@node-rs/bcrypt-wasm32-wasi");})()}catch(H){if(process.env.NAPI_RS_FORCE_WASI)g.push(H)}}if(!AL){if(g.length>0)throw new Error("Failed to load native binding",{cause:g});throw new Error("Failed to load native binding")}Hm.DEFAULT_COST=AL.DEFAULT_COST;Hm.genSalt=AL.genSalt;Hm.genSaltSync=AL.genSaltSync;Hm.hash=AL.hash;Hm.hashSync=AL.hashSync;Hm.verify=AL.verify;Hm.verifySync=AL.verifySync});var Mx=Q((Dx)=>{Object.defineProperty(Dx,"__esModule",{value:!0});class sI extends Error{}class Ac extends sI{constructor(H){super(`Invalid DateTime: ${H.toMessage()}`)}}class Lc extends sI{constructor(H){super(`Invalid Interval: ${H.toMessage()}`)}}class Ic extends sI{constructor(H){super(`Invalid Duration: ${H.toMessage()}`)}}class t$ extends sI{}class Zu extends sI{constructor(H){super(`Invalid unit ${H}`)}}class _A extends sI{}class tI extends sI{constructor(){super("Zone is an abstract class")}}var s="numeric",lL="short",$L="long",MM={year:s,month:s,day:s},$c={year:s,month:lL,day:s},D5={year:s,month:lL,day:s,weekday:lL},fc={year:s,month:$L,day:s},Ec={year:s,month:$L,day:s,weekday:$L},Dc={hour:s,minute:s},Mc={hour:s,minute:s,second:s},oc={hour:s,minute:s,second:s,timeZoneName:lL},uc={hour:s,minute:s,second:s,timeZoneName:$L},tc={hour:s,minute:s,hourCycle:"h23"},ic={hour:s,minute:s,second:s,hourCycle:"h23"},pc={hour:s,minute:s,second:s,hourCycle:"h23",timeZoneName:lL},nc={hour:s,minute:s,second:s,hourCycle:"h23",timeZoneName:$L},Bc={year:s,month:s,day:s,hour:s,minute:s},cc={year:s,month:s,day:s,hour:s,minute:s,second:s},xc={year:s,month:lL,day:s,hour:s,minute:s},Uc={year:s,month:lL,day:s,hour:s,minute:s,second:s},M5={year:s,month:lL,day:s,weekday:lL,hour:s,minute:s},Cc={year:s,month:$L,day:s,hour:s,minute:s,timeZoneName:lL},Tc={year:s,month:$L,day:s,hour:s,minute:s,second:s,timeZoneName:lL},Gc={year:s,month:$L,day:s,weekday:$L,hour:s,minute:s,timeZoneName:$L},Fc={year:s,month:$L,day:s,weekday:$L,hour:s,minute:s,second:s,timeZoneName:$L};class p${get type(){throw new tI}get name(){throw new tI}get ianaName(){return this.name}get isUniversal(){throw new tI}offsetName(H,A){throw new tI}formatOffset(H,A){throw new tI}offset(H){throw new tI}equals(H){throw new tI}get isValid(){throw new tI}}var mu=null;class vE extends p${static get instance(){if(mu===null)mu=new vE;return mu}get type(){return"system"}get name(){return new Intl.DateTimeFormat().resolvedOptions().timeZone}get isUniversal(){return!1}offsetName(H,{format:A,locale:L}){return Oc(H,A,L)}formatOffset(H,A){return wE(this.offset(H),A)}offset(H){return-new Date(H).getTimezoneOffset()}equals(H){return H.type==="system"}get isValid(){return!0}}var au=new Map;function o5(H){let A=au.get(H);if(A===void 0)A=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:H,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",era:"short"}),au.set(H,A);return A}var u5={year:0,month:1,day:2,era:3,hour:4,minute:5,second:6};function t5(H,A){let L=H.format(A).replace(/\u200E/g,""),I=/(\d+)\/(\d+)\/(\d+) (AD|BC),? (\d+):(\d+):(\d+)/.exec(L),[,$,f,E,D,M,o,u]=I;return[E,$,f,D,M,o,u]}function i5(H,A){let L=H.formatToParts(A),I=[];for(let $=0;$<L.length;$++){let{type:f,value:E}=L[$],D=u5[f];if(f==="era")I[D]=E;else if(!AH(D))I[D]=parseInt(E,10)}return I}var Pu=new Map;class kL extends p${static create(H){let A=Pu.get(H);if(A===void 0)Pu.set(H,A=new kL(H));return A}static resetCache(){Pu.clear(),au.clear()}static isValidSpecifier(H){return this.isValidZone(H)}static isValidZone(H){if(!H)return!1;try{return new Intl.DateTimeFormat("en-US",{timeZone:H}).format(),!0}catch(A){return!1}}constructor(H){super();this.zoneName=H,this.valid=kL.isValidZone(H)}get type(){return"iana"}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(H,{format:A,locale:L}){return Oc(H,A,L,this.name)}formatOffset(H,A){return wE(this.offset(H),A)}offset(H){if(!this.valid)return NaN;let A=new Date(H);if(isNaN(A))return NaN;let L=o5(this.name),[I,$,f,E,D,M,o]=L.formatToParts?i5(L,A):t5(L,A);if(E==="BC")I=-Math.abs(I)+1;let t=pM({year:I,month:$,day:f,hour:D===24?0:D,minute:M,second:o,millisecond:0}),i=+A,B=i%1000;return i-=B>=0?B:1000+B,(t-i)/60000}equals(H){return H.type==="iana"&&H.name===this.name}get isValid(){return this.valid}}var PB={};function p5(H,A={}){let L=JSON.stringify([H,A]),I=PB[L];if(!I)I=new Intl.ListFormat(H,A),PB[L]=I;return I}var lu=new Map;function Ou(H,A={}){let L=JSON.stringify([H,A]),I=lu.get(L);if(I===void 0)I=new Intl.DateTimeFormat(H,A),lu.set(L,I);return I}var su=new Map;function n5(H,A={}){let L=JSON.stringify([H,A]),I=su.get(L);if(I===void 0)I=new Intl.NumberFormat(H,A),su.set(L,I);return I}var Nu=new Map;function B5(H,A={}){let{base:L,...I}=A,$=JSON.stringify([H,I]),f=Nu.get($);if(f===void 0)f=new Intl.RelativeTimeFormat(H,A),Nu.set($,f);return f}var SE=null;function c5(){if(SE)return SE;else return SE=new Intl.DateTimeFormat().resolvedOptions().locale,SE}var yu=new Map;function _c(H){let A=yu.get(H);if(A===void 0)A=new Intl.DateTimeFormat(H).resolvedOptions(),yu.set(H,A);return A}var Ru=new Map;function x5(H){let A=Ru.get(H);if(!A){let L=new Intl.Locale(H);if(A="getWeekInfo"in L?L.getWeekInfo():L.weekInfo,!("minimalDays"in A))A={...Xc,...A};Ru.set(H,A)}return A}function U5(H){let A=H.indexOf("-x-");if(A!==-1)H=H.substring(0,A);let L=H.indexOf("-u-");if(L===-1)return[H];else{let I,$;try{I=Ou(H).resolvedOptions(),$=H}catch(D){let M=H.substring(0,L);I=Ou(M).resolvedOptions(),$=M}let{numberingSystem:f,calendar:E}=I;return[$,f,E]}}function C5(H,A,L){if(L||A){if(!H.includes("-u-"))H+="-u";if(L)H+=`-ca-${L}`;if(A)H+=`-nu-${A}`;return H}else return H}function T5(H){let A=[];for(let L=1;L<=12;L++){let I=HH.utc(2009,L,1);A.push(H(I))}return A}function G5(H){let A=[];for(let L=1;L<=7;L++){let I=HH.utc(2016,11,13+L);A.push(H(I))}return A}function IM(H,A,L,I){let $=H.listingMode();if($==="error")return null;else if($==="en")return L(A);else return I(A)}function F5(H){if(H.numberingSystem&&H.numberingSystem!=="latn")return!1;else return H.numberingSystem==="latn"||!H.locale||H.locale.startsWith("en")||_c(H.locale).numberingSystem==="latn"}class Wc{constructor(H,A,L){this.padTo=L.padTo||0,this.floor=L.floor||!1;let{padTo:I,floor:$,...f}=L;if(!A||Object.keys(f).length>0){let E={useGrouping:!1,...L};if(L.padTo>0)E.minimumIntegerDigits=L.padTo;this.inf=n5(H,E)}}format(H){if(this.inf){let A=this.floor?Math.floor(H):H;return this.inf.format(A)}else{let A=this.floor?Math.floor(H):qu(H,3);return fA(A,this.padTo)}}}class mc{constructor(H,A,L){this.opts=L,this.originalZone=void 0;let I=void 0;if(this.opts.timeZone)this.dt=H;else if(H.zone.type==="fixed"){let f=-1*(H.offset/60),E=f>=0?`Etc/GMT+${f}`:`Etc/GMT${f}`;if(H.offset!==0&&kL.create(E).valid)I=E,this.dt=H;else I="UTC",this.dt=H.offset===0?H:H.setZone("UTC").plus({minutes:H.offset}),this.originalZone=H.zone}else if(H.zone.type==="system")this.dt=H;else if(H.zone.type==="iana")this.dt=H,I=H.zone.name;else I="UTC",this.dt=H.setZone("UTC").plus({minutes:H.offset}),this.originalZone=H.zone;let $={...this.opts};$.timeZone=$.timeZone||I,this.dtf=Ou(A,$)}format(){if(this.originalZone)return this.formatToParts().map(({value:H})=>H).join("");return this.dtf.format(this.dt.toJSDate())}formatToParts(){let H=this.dtf.formatToParts(this.dt.toJSDate());if(this.originalZone)return H.map((A)=>{if(A.type==="timeZoneName"){let L=this.originalZone.offsetName(this.dt.ts,{locale:this.dt.locale,format:this.opts.timeZoneName});return{...A,value:L}}else return A});return H}resolvedOptions(){return this.dtf.resolvedOptions()}}class Pc{constructor(H,A,L){if(this.opts={style:"long",...L},!A&&ac())this.rtf=B5(H,L)}format(H,A){if(this.rtf)return this.rtf.format(H,A);else return z5(A,H,this.opts.numeric,this.opts.style!=="long")}formatToParts(H,A){if(this.rtf)return this.rtf.formatToParts(H,A);else return[]}}var Xc={firstDay:1,minimalDays:4,weekend:[6,7]};class _H{static fromOpts(H){return _H.create(H.locale,H.numberingSystem,H.outputCalendar,H.weekSettings,H.defaultToEN)}static create(H,A,L,I,$=!1){let f=H||ZH.defaultLocale,E=f||($?"en-US":c5()),D=A||ZH.defaultNumberingSystem,M=L||ZH.defaultOutputCalendar,o=Qu(I)||ZH.defaultWeekSettings;return new _H(E,D,M,o,f)}static resetCache(){SE=null,lu.clear(),su.clear(),Nu.clear(),yu.clear(),Ru.clear()}static fromObject({locale:H,numberingSystem:A,outputCalendar:L,weekSettings:I}={}){return _H.create(H,A,L,I)}constructor(H,A,L,I,$){let[f,E,D]=U5(H);this.locale=f,this.numberingSystem=A||E||null,this.outputCalendar=L||D||null,this.weekSettings=I,this.intl=C5(this.locale,this.numberingSystem,this.outputCalendar),this.weekdaysCache={format:{},standalone:{}},this.monthsCache={format:{},standalone:{}},this.meridiemCache=null,this.eraCache={},this.specifiedLocale=$,this.fastNumbersCached=null}get fastNumbers(){if(this.fastNumbersCached==null)this.fastNumbersCached=F5(this);return this.fastNumbersCached}listingMode(){let H=this.isEnglish(),A=(this.numberingSystem===null||this.numberingSystem==="latn")&&(this.outputCalendar===null||this.outputCalendar==="gregory");return H&&A?"en":"intl"}clone(H){if(!H||Object.getOwnPropertyNames(H).length===0)return this;else return _H.create(H.locale||this.specifiedLocale,H.numberingSystem||this.numberingSystem,H.outputCalendar||this.outputCalendar,Qu(H.weekSettings)||this.weekSettings,H.defaultToEN||!1)}redefaultToEN(H={}){return this.clone({...H,defaultToEN:!0})}redefaultToSystem(H={}){return this.clone({...H,defaultToEN:!1})}months(H,A=!1){return IM(this,H,yc,()=>{let L=A?{month:H,day:"numeric"}:{month:H},I=A?"format":"standalone";if(!this.monthsCache[I][H])this.monthsCache[I][H]=T5(($)=>this.extract($,L,"month"));return this.monthsCache[I][H]})}weekdays(H,A=!1){return IM(this,H,Qc,()=>{let L=A?{weekday:H,year:"numeric",month:"long",day:"numeric"}:{weekday:H},I=A?"format":"standalone";if(!this.weekdaysCache[I][H])this.weekdaysCache[I][H]=G5(($)=>this.extract($,L,"weekday"));return this.weekdaysCache[I][H]})}meridiems(){return IM(this,void 0,()=>zc,()=>{if(!this.meridiemCache){let H={hour:"numeric",hourCycle:"h12"};this.meridiemCache=[HH.utc(2016,11,13,9),HH.utc(2016,11,13,19)].map((A)=>this.extract(A,H,"dayperiod"))}return this.meridiemCache})}eras(H){return IM(this,H,bc,()=>{let A={era:H};if(!this.eraCache[H])this.eraCache[H]=[HH.utc(-40,1,1),HH.utc(2017,1,1)].map((L)=>this.extract(L,A,"era"));return this.eraCache[H]})}extract(H,A,L){let I=this.dtFormatter(H,A),$=I.formatToParts(),f=$.find((E)=>E.type.toLowerCase()===L);return f?f.value:null}numberFormatter(H={}){return new Wc(this.intl,H.forceSimple||this.fastNumbers,H)}dtFormatter(H,A={}){return new mc(H,this.intl,A)}relFormatter(H={}){return new Pc(this.intl,this.isEnglish(),H)}listFormatter(H={}){return p5(this.intl,H)}isEnglish(){return this.locale==="en"||this.locale.toLowerCase()==="en-us"||_c(this.intl).locale.startsWith("en-us")}getWeekSettings(){if(this.weekSettings)return this.weekSettings;else if(!lc())return Xc;else return x5(this.locale)}getStartOfWeek(){return this.getWeekSettings().firstDay}getMinDaysInFirstWeek(){return this.getWeekSettings().minimalDays}getWeekendDays(){return this.getWeekSettings().weekend}equals(H){return this.locale===H.locale&&this.numberingSystem===H.numberingSystem&&this.outputCalendar===H.outputCalendar}toString(){return`Locale(${this.locale}, ${this.numberingSystem}, ${this.outputCalendar})`}}var Xu=null;class vA extends p${static get utcInstance(){if(Xu===null)Xu=new vA(0);return Xu}static instance(H){return H===0?vA.utcInstance:new vA(H)}static parseSpecifier(H){if(H){let A=H.match(/^utc(?:([+-]\d{1,2})(?::(\d{2}))?)?$/i);if(A)return new vA(nM(A[1],A[2]))}return null}constructor(H){super();this.fixed=H}get type(){return"fixed"}get name(){return this.fixed===0?"UTC":`UTC${wE(this.fixed,"narrow")}`}get ianaName(){if(this.fixed===0)return"Etc/UTC";else return`Etc/GMT${wE(-this.fixed,"narrow")}`}offsetName(){return this.name}formatOffset(H,A){return wE(this.fixed,A)}get isUniversal(){return!0}offset(){return this.fixed}equals(H){return H.type==="fixed"&&H.fixed===this.fixed}get isValid(){return!0}}class hu extends p${constructor(H){super();this.zoneName=H}get type(){return"invalid"}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(){return null}formatOffset(){return""}offset(){return NaN}equals(){return!1}get isValid(){return!1}}function lI(H,A){if(AH(H)||H===null)return A;else if(H instanceof p$)return H;else if(S5(H)){let L=H.toLowerCase();if(L==="default")return A;else if(L==="local"||L==="system")return vE.instance;else if(L==="utc"||L==="gmt")return vA.utcInstance;else return vA.parseSpecifier(L)||kL.create(H)}else if(OI(H))return vA.instance(H);else if(typeof H==="object"&&"offset"in H&&typeof H.offset==="function")return H;else return new hu(H)}var ru={arab:"[\u0660-\u0669]",arabext:"[\u06F0-\u06F9]",bali:"[\u1B50-\u1B59]",beng:"[\u09E6-\u09EF]",deva:"[\u0966-\u096F]",fullwide:"[\uFF10-\uFF19]",gujr:"[\u0AE6-\u0AEF]",hanidec:"[\u3007|\u4E00|\u4E8C|\u4E09|\u56DB|\u4E94|\u516D|\u4E03|\u516B|\u4E5D]",khmr:"[\u17E0-\u17E9]",knda:"[\u0CE6-\u0CEF]",laoo:"[\u0ED0-\u0ED9]",limb:"[\u1946-\u194F]",mlym:"[\u0D66-\u0D6F]",mong:"[\u1810-\u1819]",mymr:"[\u1040-\u1049]",orya:"[\u0B66-\u0B6F]",tamldec:"[\u0BE6-\u0BEF]",telu:"[\u0C66-\u0C6F]",thai:"[\u0E50-\u0E59]",tibt:"[\u0F20-\u0F29]",latn:"\\d"},XB={arab:[1632,1641],arabext:[1776,1785],bali:[6992,7001],beng:[2534,2543],deva:[2406,2415],fullwide:[65296,65303],gujr:[2790,2799],khmr:[6112,6121],knda:[3302,3311],laoo:[3792,3801],limb:[6470,6479],mlym:[3430,3439],mong:[6160,6169],mymr:[4160,4169],orya:[2918,2927],tamldec:[3046,3055],telu:[3174,3183],thai:[3664,3673],tibt:[3872,3881]},_5=ru.hanidec.replace(/[\[|\]]/g,"").split("");function W5(H){let A=parseInt(H,10);if(isNaN(A)){A="";for(let L=0;L<H.length;L++){let I=H.charCodeAt(L);if(H[L].search(ru.hanidec)!==-1)A+=_5.indexOf(H[L]);else for(let $ in XB){let[f,E]=XB[$];if(I>=f&&I<=E)A+=I-f}}return parseInt(A,10)}else return A}var Yu=new Map;function m5(){Yu.clear()}function vL({numberingSystem:H},A=""){let L=H||"latn",I=Yu.get(L);if(I===void 0)I=new Map,Yu.set(L,I);let $=I.get(A);if($===void 0)$=new RegExp(`${ru[L]}${A}`),I.set(A,$);return $}var SB=()=>Date.now(),JB="system",VB=null,wB=null,KB=null,vB=60,aB,lB=null;class ZH{static get now(){return SB}static set now(H){SB=H}static set defaultZone(H){JB=H}static get defaultZone(){return lI(JB,vE.instance)}static get defaultLocale(){return VB}static set defaultLocale(H){VB=H}static get defaultNumberingSystem(){return wB}static set defaultNumberingSystem(H){wB=H}static get defaultOutputCalendar(){return KB}static set defaultOutputCalendar(H){KB=H}static get defaultWeekSettings(){return lB}static set defaultWeekSettings(H){lB=Qu(H)}static get twoDigitCutoffYear(){return vB}static set twoDigitCutoffYear(H){vB=H%100}static get throwOnInvalid(){return aB}static set throwOnInvalid(H){aB=H}static resetCaches(){_H.resetCache(),kL.resetCache(),HH.resetCache(),m5()}}class CL{constructor(H,A){this.reason=H,this.explanation=A}toMessage(){if(this.explanation)return`${this.reason}: ${this.explanation}`;else return this.reason}}var Sc=[0,31,59,90,120,151,181,212,243,273,304,334],Jc=[0,31,60,91,121,152,182,213,244,274,305,335];function TL(H,A){return new CL("unit out of range",`you specified ${A} (of type ${typeof A}) as a ${H}, which is invalid`)}function ju(H,A,L){let I=new Date(Date.UTC(H,A-1,L));if(H<100&&H>=0)I.setUTCFullYear(I.getUTCFullYear()-1900);let $=I.getUTCDay();return $===0?7:$}function Vc(H,A,L){return L+(aE(H)?Jc:Sc)[A-1]}function wc(H,A){let L=aE(H)?Jc:Sc,I=L.findIndex((f)=>f<A),$=A-L[I];return{month:I+1,day:$}}function ku(H,A){return(H-A+7)%7+1}function oM(H,A=4,L=1){let{year:I,month:$,day:f}=H,E=Vc(I,$,f),D=ku(ju(I,$,f),L),M=Math.floor((E-D+14-A)/7),o;if(M<1)o=I-1,M=KE(o,A,L);else if(M>KE(I,A,L))o=I+1,M=1;else o=I;return{weekYear:o,weekNumber:M,weekday:D,...BM(H)}}function OB(H,A=4,L=1){let{weekYear:I,weekNumber:$,weekday:f}=H,E=ku(ju(I,1,A),L),D=Mf(I),M=$*7+f-E-7+A,o;if(M<1)o=I-1,M+=Mf(o);else if(M>D)o=I+1,M-=Mf(I);else o=I;let{month:u,day:t}=wc(o,M);return{year:o,month:u,day:t,...BM(H)}}function Su(H){let{year:A,month:L,day:I}=H,$=Vc(A,L,I);return{year:A,ordinal:$,...BM(H)}}function sB(H){let{year:A,ordinal:L}=H,{month:I,day:$}=wc(A,L);return{year:A,month:I,day:$,...BM(H)}}function NB(H,A){if(!AH(H.localWeekday)||!AH(H.localWeekNumber)||!AH(H.localWeekYear)){if(!AH(H.weekday)||!AH(H.weekNumber)||!AH(H.weekYear))throw new t$("Cannot mix locale-based week fields with ISO-based week fields");if(!AH(H.localWeekday))H.weekday=H.localWeekday;if(!AH(H.localWeekNumber))H.weekNumber=H.localWeekNumber;if(!AH(H.localWeekYear))H.weekYear=H.localWeekYear;return delete H.localWeekday,delete H.localWeekNumber,delete H.localWeekYear,{minDaysInFirstWeek:A.getMinDaysInFirstWeek(),startOfWeek:A.getStartOfWeek()}}else return{minDaysInFirstWeek:4,startOfWeek:1}}function P5(H,A=4,L=1){let I=iM(H.weekYear),$=GL(H.weekNumber,1,KE(H.weekYear,A,L)),f=GL(H.weekday,1,7);if(!I)return TL("weekYear",H.weekYear);else if(!$)return TL("week",H.weekNumber);else if(!f)return TL("weekday",H.weekday);else return!1}function X5(H){let A=iM(H.year),L=GL(H.ordinal,1,Mf(H.year));if(!A)return TL("year",H.year);else if(!L)return TL("ordinal",H.ordinal);else return!1}function Kc(H){let A=iM(H.year),L=GL(H.month,1,12),I=GL(H.day,1,uM(H.year,H.month));if(!A)return TL("year",H.year);else if(!L)return TL("month",H.month);else if(!I)return TL("day",H.day);else return!1}function vc(H){let{hour:A,minute:L,second:I,millisecond:$}=H,f=GL(A,0,23)||A===24&&L===0&&I===0&&$===0,E=GL(L,0,59),D=GL(I,0,59),M=GL($,0,999);if(!f)return TL("hour",A);else if(!E)return TL("minute",L);else if(!D)return TL("second",I);else if(!M)return TL("millisecond",$);else return!1}function AH(H){return typeof H==="undefined"}function OI(H){return typeof H==="number"}function iM(H){return typeof H==="number"&&H%1===0}function S5(H){return typeof H==="string"}function J5(H){return Object.prototype.toString.call(H)==="[object Date]"}function ac(){try{return typeof Intl!=="undefined"&&!!Intl.RelativeTimeFormat}catch(H){return!1}}function lc(){try{return typeof Intl!=="undefined"&&!!Intl.Locale&&(("weekInfo"in Intl.Locale.prototype)||("getWeekInfo"in Intl.Locale.prototype))}catch(H){return!1}}function V5(H){return Array.isArray(H)?H:[H]}function yB(H,A,L){if(H.length===0)return;return H.reduce((I,$)=>{let f=[A($),$];if(!I)return f;else if(L(I[0],f[0])===I[0])return I;else return f},null)[1]}function w5(H,A){return A.reduce((L,I)=>{return L[I]=H[I],L},{})}function uf(H,A){return Object.prototype.hasOwnProperty.call(H,A)}function Qu(H){if(H==null)return null;else if(typeof H!=="object")throw new _A("Week settings must be an object");else{if(!GL(H.firstDay,1,7)||!GL(H.minimalDays,1,7)||!Array.isArray(H.weekend)||H.weekend.some((A)=>!GL(A,1,7)))throw new _A("Invalid week settings");return{firstDay:H.firstDay,minimalDays:H.minimalDays,weekend:Array.from(H.weekend)}}}function GL(H,A,L){return iM(H)&&H>=A&&H<=L}function K5(H,A){return H-A*Math.floor(H/A)}function fA(H,A=2){let L=H<0,I;if(L)I="-"+(""+-H).padStart(A,"0");else I=(""+H).padStart(A,"0");return I}function aI(H){if(AH(H)||H===null||H==="")return;else return parseInt(H,10)}function o$(H){if(AH(H)||H===null||H==="")return;else return parseFloat(H)}function du(H){if(AH(H)||H===null||H==="")return;else{let A=parseFloat("0."+H)*1000;return Math.floor(A)}}function qu(H,A,L=!1){let I=10**A;return(L?Math.trunc:Math.round)(H*I)/I}function aE(H){return H%4===0&&(H%100!==0||H%400===0)}function Mf(H){return aE(H)?366:365}function uM(H,A){let L=K5(A-1,12)+1,I=H+(A-L)/12;if(L===2)return aE(I)?29:28;else return[31,null,31,30,31,30,31,31,30,31,30,31][L-1]}function pM(H){let A=Date.UTC(H.year,H.month-1,H.day,H.hour,H.minute,H.second,H.millisecond);if(H.year<100&&H.year>=0)A=new Date(A),A.setUTCFullYear(H.year,H.month-1,H.day);return+A}function RB(H,A,L){return-ku(ju(H,1,A),L)+A-1}function KE(H,A=4,L=1){let I=RB(H,A,L),$=RB(H+1,A,L);return(Mf(H)-I+$)/7}function zu(H){if(H>99)return H;else return H>ZH.twoDigitCutoffYear?1900+H:2000+H}function Oc(H,A,L,I=null){let $=new Date(H),f={hourCycle:"h23",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"};if(I)f.timeZone=I;let E={timeZoneName:A,...f},D=new Intl.DateTimeFormat(L,E).formatToParts($).find((M)=>M.type.toLowerCase()==="timezonename");return D?D.value:null}function nM(H,A){let L=parseInt(H,10);if(Number.isNaN(L))L=0;let I=parseInt(A,10)||0,$=L<0||Object.is(L,-0)?-I:I;return L*60+$}function sc(H){let A=Number(H);if(typeof H==="boolean"||H===""||Number.isNaN(A))throw new _A(`Invalid unit value ${H}`);return A}function tM(H,A){let L={};for(let I in H)if(uf(H,I)){let $=H[I];if($===void 0||$===null)continue;L[A(I)]=sc($)}return L}function wE(H,A){let L=Math.trunc(Math.abs(H/60)),I=Math.trunc(Math.abs(H%60)),$=H>=0?"+":"-";switch(A){case"short":return`${$}${fA(L,2)}:${fA(I,2)}`;case"narrow":return`${$}${L}${I>0?`:${I}`:""}`;case"techie":return`${$}${fA(L,2)}${fA(I,2)}`;default:throw new RangeError(`Value format ${A} is out of range for property format`)}}function BM(H){return w5(H,["hour","minute","second","millisecond"])}var v5=["January","February","March","April","May","June","July","August","September","October","November","December"],Nc=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],a5=["J","F","M","A","M","J","J","A","S","O","N","D"];function yc(H){switch(H){case"narrow":return[...a5];case"short":return[...Nc];case"long":return[...v5];case"numeric":return["1","2","3","4","5","6","7","8","9","10","11","12"];case"2-digit":return["01","02","03","04","05","06","07","08","09","10","11","12"];default:return null}}var Rc=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],Yc=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],l5=["M","T","W","T","F","S","S"];function Qc(H){switch(H){case"narrow":return[...l5];case"short":return[...Yc];case"long":return[...Rc];case"numeric":return["1","2","3","4","5","6","7"];default:return null}}var zc=["AM","PM"],O5=["Before Christ","Anno Domini"],s5=["BC","AD"],N5=["B","A"];function bc(H){switch(H){case"narrow":return[...N5];case"short":return[...s5];case"long":return[...O5];default:return null}}function y5(H){return zc[H.hour<12?0:1]}function R5(H,A){return Qc(A)[H.weekday-1]}function Y5(H,A){return yc(A)[H.month-1]}function Q5(H,A){return bc(A)[H.year<0?0:1]}function z5(H,A,L="always",I=!1){let $={years:["year","yr."],quarters:["quarter","qtr."],months:["month","mo."],weeks:["week","wk."],days:["day","day","days"],hours:["hour","hr."],minutes:["minute","min."],seconds:["second","sec."]},f=["hours","minutes","seconds"].indexOf(H)===-1;if(L==="auto"&&f){let t=H==="days";switch(A){case 1:return t?"tomorrow":`next ${$[H][0]}`;case-1:return t?"yesterday":`last ${$[H][0]}`;case 0:return t?"today":`this ${$[H][0]}`}}let E=Object.is(A,-0)||A<0,D=Math.abs(A),M=D===1,o=$[H],u=I?M?o[1]:o[2]||o[1]:M?$[H][0]:H;return E?`${D} ${u} ago`:`in ${D} ${u}`}function YB(H,A){let L="";for(let I of H)if(I.literal)L+=I.val;else L+=A(I.val);return L}var b5={D:MM,DD:$c,DDD:fc,DDDD:Ec,t:Dc,tt:Mc,ttt:oc,tttt:uc,T:tc,TT:ic,TTT:pc,TTTT:nc,f:Bc,ff:xc,fff:Cc,ffff:Gc,F:cc,FF:Uc,FFF:Tc,FFFF:Fc};class KA{static create(H,A={}){return new KA(H,A)}static parseFormat(H){let A=null,L="",I=!1,$=[];for(let f=0;f<H.length;f++){let E=H.charAt(f);if(E==="'"){if(L.length>0)$.push({literal:I||/^\s+$/.test(L),val:L});A=null,L="",I=!I}else if(I)L+=E;else if(E===A)L+=E;else{if(L.length>0)$.push({literal:/^\s+$/.test(L),val:L});L=E,A=E}}if(L.length>0)$.push({literal:I||/^\s+$/.test(L),val:L});return $}static macroTokenToFormatOpts(H){return b5[H]}constructor(H,A){this.opts=A,this.loc=H,this.systemLoc=null}formatWithSystemDefault(H,A){if(this.systemLoc===null)this.systemLoc=this.loc.redefaultToSystem();return this.systemLoc.dtFormatter(H,{...this.opts,...A}).format()}dtFormatter(H,A={}){return this.loc.dtFormatter(H,{...this.opts,...A})}formatDateTime(H,A){return this.dtFormatter(H,A).format()}formatDateTimeParts(H,A){return this.dtFormatter(H,A).formatToParts()}formatInterval(H,A){return this.dtFormatter(H.start,A).dtf.formatRange(H.start.toJSDate(),H.end.toJSDate())}resolvedOptions(H,A){return this.dtFormatter(H,A).resolvedOptions()}num(H,A=0){if(this.opts.forceSimple)return fA(H,A);let L={...this.opts};if(A>0)L.padTo=A;return this.loc.numberFormatter(L).format(H)}formatDateTimeFromString(H,A){let L=this.loc.listingMode()==="en",I=this.loc.outputCalendar&&this.loc.outputCalendar!=="gregory",$=(i,B)=>this.loc.extract(H,i,B),f=(i)=>{if(H.isOffsetFixed&&H.offset===0&&i.allowZ)return"Z";return H.isValid?H.zone.formatOffset(H.ts,i.format):""},E=()=>L?y5(H):$({hour:"numeric",hourCycle:"h12"},"dayperiod"),D=(i,B)=>L?Y5(H,i):$(B?{month:i}:{month:i,day:"numeric"},"month"),M=(i,B)=>L?R5(H,i):$(B?{weekday:i}:{weekday:i,month:"long",day:"numeric"},"weekday"),o=(i)=>{let B=KA.macroTokenToFormatOpts(i);if(B)return this.formatWithSystemDefault(H,B);else return i},u=(i)=>L?Q5(H,i):$({era:i},"era"),t=(i)=>{switch(i){case"S":return this.num(H.millisecond);case"u":case"SSS":return this.num(H.millisecond,3);case"s":return this.num(H.second);case"ss":return this.num(H.second,2);case"uu":return this.num(Math.floor(H.millisecond/10),2);case"uuu":return this.num(Math.floor(H.millisecond/100));case"m":return this.num(H.minute);case"mm":return this.num(H.minute,2);case"h":return this.num(H.hour%12===0?12:H.hour%12);case"hh":return this.num(H.hour%12===0?12:H.hour%12,2);case"H":return this.num(H.hour);case"HH":return this.num(H.hour,2);case"Z":return f({format:"narrow",allowZ:this.opts.allowZ});case"ZZ":return f({format:"short",allowZ:this.opts.allowZ});case"ZZZ":return f({format:"techie",allowZ:this.opts.allowZ});case"ZZZZ":return H.zone.offsetName(H.ts,{format:"short",locale:this.loc.locale});case"ZZZZZ":return H.zone.offsetName(H.ts,{format:"long",locale:this.loc.locale});case"z":return H.zoneName;case"a":return E();case"d":return I?$({day:"numeric"},"day"):this.num(H.day);case"dd":return I?$({day:"2-digit"},"day"):this.num(H.day,2);case"c":return this.num(H.weekday);case"ccc":return M("short",!0);case"cccc":return M("long",!0);case"ccccc":return M("narrow",!0);case"E":return this.num(H.weekday);case"EEE":return M("short",!1);case"EEEE":return M("long",!1);case"EEEEE":return M("narrow",!1);case"L":return I?$({month:"numeric",day:"numeric"},"month"):this.num(H.month);case"LL":return I?$({month:"2-digit",day:"numeric"},"month"):this.num(H.month,2);case"LLL":return D("short",!0);case"LLLL":return D("long",!0);case"LLLLL":return D("narrow",!0);case"M":return I?$({month:"numeric"},"month"):this.num(H.month);case"MM":return I?$({month:"2-digit"},"month"):this.num(H.month,2);case"MMM":return D("short",!1);case"MMMM":return D("long",!1);case"MMMMM":return D("narrow",!1);case"y":return I?$({year:"numeric"},"year"):this.num(H.year);case"yy":return I?$({year:"2-digit"},"year"):this.num(H.year.toString().slice(-2),2);case"yyyy":return I?$({year:"numeric"},"year"):this.num(H.year,4);case"yyyyyy":return I?$({year:"numeric"},"year"):this.num(H.year,6);case"G":return u("short");case"GG":return u("long");case"GGGGG":return u("narrow");case"kk":return this.num(H.weekYear.toString().slice(-2),2);case"kkkk":return this.num(H.weekYear,4);case"W":return this.num(H.weekNumber);case"WW":return this.num(H.weekNumber,2);case"n":return this.num(H.localWeekNumber);case"nn":return this.num(H.localWeekNumber,2);case"ii":return this.num(H.localWeekYear.toString().slice(-2),2);case"iiii":return this.num(H.localWeekYear,4);case"o":return this.num(H.ordinal);case"ooo":return this.num(H.ordinal,3);case"q":return this.num(H.quarter);case"qq":return this.num(H.quarter,2);case"X":return this.num(Math.floor(H.ts/1000));case"x":return this.num(H.ts);default:return o(i)}};return YB(KA.parseFormat(A),t)}formatDurationFromString(H,A){let L=(D)=>{switch(D[0]){case"S":return"millisecond";case"s":return"second";case"m":return"minute";case"h":return"hour";case"d":return"day";case"w":return"week";case"M":return"month";case"y":return"year";default:return null}},I=(D)=>(M)=>{let o=L(M);if(o)return this.num(D.get(o),M.length);else return M},$=KA.parseFormat(A),f=$.reduce((D,{literal:M,val:o})=>M?D:D.concat(o),[]),E=H.shiftTo(...f.map(L).filter((D)=>D));return YB($,I(E))}}var Zc=/[A-Za-z_+-]{1,256}(?::?\/[A-Za-z0-9_+-]{1,256}(?:\/[A-Za-z0-9_+-]{1,256})?)?/;function tf(...H){let A=H.reduce((L,I)=>L+I.source,"");return RegExp(`^${A}$`)}function pf(...H){return(A)=>H.reduce(([L,I,$],f)=>{let[E,D,M]=f(A,$);return[{...L,...E},D||I,M]},[{},null,1]).slice(0,2)}function nf(H,...A){if(H==null)return[null,null];for(let[L,I]of A){let $=L.exec(H);if($)return I($)}return[null,null]}function hc(...H){return(A,L)=>{let I={},$;for($=0;$<H.length;$++)I[H[$]]=aI(A[L+$]);return[I,null,L+$]}}var rc=/(?:(Z)|([+-]\d\d)(?::?(\d\d))?)/,Z5=`(?:${rc.source}?(?:\\[(${Zc.source})\\])?)?`,gu=/(\d\d)(?::?(\d\d)(?::?(\d\d)(?:[.,](\d{1,30}))?)?)?/,jc=RegExp(`${gu.source}${Z5}`),eu=RegExp(`(?:T${jc.source})?`),h5=/([+-]\d{6}|\d{4})(?:-?(\d\d)(?:-?(\d\d))?)?/,r5=/(\d{4})-?W(\d\d)(?:-?(\d))?/,j5=/(\d{4})-?(\d{3})/,k5=hc("weekYear","weekNumber","weekDay"),d5=hc("year","ordinal"),q5=/(\d{4})-(\d\d)-(\d\d)/,kc=RegExp(`${gu.source} ?(?:${rc.source}|(${Zc.source}))?`),g5=RegExp(`(?: ${kc.source})?`);function of(H,A,L){let I=H[A];return AH(I)?L:aI(I)}function e5(H,A){return[{year:of(H,A),month:of(H,A+1,1),day:of(H,A+2,1)},null,A+3]}function Bf(H,A){return[{hours:of(H,A,0),minutes:of(H,A+1,0),seconds:of(H,A+2,0),milliseconds:du(H[A+3])},null,A+4]}function lE(H,A){let L=!H[A]&&!H[A+1],I=nM(H[A+1],H[A+2]),$=L?null:vA.instance(I);return[{},$,A+3]}function OE(H,A){let L=H[A]?kL.create(H[A]):null;return[{},L,A+1]}var HJ=RegExp(`^T?${gu.source}$`),AJ=/^-?P(?:(?:(-?\d{1,20}(?:\.\d{1,20})?)Y)?(?:(-?\d{1,20}(?:\.\d{1,20})?)M)?(?:(-?\d{1,20}(?:\.\d{1,20})?)W)?(?:(-?\d{1,20}(?:\.\d{1,20})?)D)?(?:T(?:(-?\d{1,20}(?:\.\d{1,20})?)H)?(?:(-?\d{1,20}(?:\.\d{1,20})?)M)?(?:(-?\d{1,20})(?:[.,](-?\d{1,20}))?S)?)?)$/;function LJ(H){let[A,L,I,$,f,E,D,M,o]=H,u=A[0]==="-",t=M&&M[0]==="-",i=(B,U=!1)=>B!==void 0&&(U||B&&u)?-B:B;return[{years:i(o$(L)),months:i(o$(I)),weeks:i(o$($)),days:i(o$(f)),hours:i(o$(E)),minutes:i(o$(D)),seconds:i(o$(M),M==="-0"),milliseconds:i(du(o),t)}]}var IJ={GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function Ht(H,A,L,I,$,f,E){let D={year:A.length===2?zu(aI(A)):aI(A),month:Nc.indexOf(L)+1,day:aI(I),hour:aI($),minute:aI(f)};if(E)D.second=aI(E);if(H)D.weekday=H.length>3?Rc.indexOf(H)+1:Yc.indexOf(H)+1;return D}var $J=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|(?:([+-]\d\d)(\d\d)))$/;function fJ(H){let[,A,L,I,$,f,E,D,M,o,u,t]=H,i=Ht(A,$,I,L,f,E,D),B;if(M)B=IJ[M];else if(o)B=0;else B=nM(u,t);return[i,new vA(B)]}function EJ(H){return H.replace(/\([^()]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").trim()}var DJ=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\d\d) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d\d):(\d\d):(\d\d) GMT$/,MJ=/^(Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\d\d)-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\d\d) (\d\d):(\d\d):(\d\d) GMT$/,oJ=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( \d|\d\d) (\d\d):(\d\d):(\d\d) (\d{4})$/;function QB(H){let[,A,L,I,$,f,E,D]=H;return[Ht(A,$,I,L,f,E,D),vA.utcInstance]}function uJ(H){let[,A,L,I,$,f,E,D]=H;return[Ht(A,D,L,I,$,f,E),vA.utcInstance]}var tJ=tf(h5,eu),iJ=tf(r5,eu),pJ=tf(j5,eu),nJ=tf(jc),dc=pf(e5,Bf,lE,OE),BJ=pf(k5,Bf,lE,OE),cJ=pf(d5,Bf,lE,OE),xJ=pf(Bf,lE,OE);function UJ(H){return nf(H,[tJ,dc],[iJ,BJ],[pJ,cJ],[nJ,xJ])}function CJ(H){return nf(EJ(H),[$J,fJ])}function TJ(H){return nf(H,[DJ,QB],[MJ,QB],[oJ,uJ])}function GJ(H){return nf(H,[AJ,LJ])}var FJ=pf(Bf);function _J(H){return nf(H,[HJ,FJ])}var WJ=tf(q5,g5),mJ=tf(kc),PJ=pf(Bf,lE,OE);function XJ(H){return nf(H,[WJ,dc],[mJ,PJ])}var zB="Invalid Duration",qc={weeks:{days:7,hours:168,minutes:10080,seconds:604800,milliseconds:604800000},days:{hours:24,minutes:1440,seconds:86400,milliseconds:86400000},hours:{minutes:60,seconds:3600,milliseconds:3600000},minutes:{seconds:60,milliseconds:60000},seconds:{milliseconds:1000}},SJ={years:{quarters:4,months:12,weeks:52,days:365,hours:8760,minutes:525600,seconds:31536000,milliseconds:31536000000},quarters:{months:3,weeks:13,days:91,hours:2184,minutes:131040,seconds:7862400,milliseconds:7862400000},months:{weeks:4,days:30,hours:720,minutes:43200,seconds:2592000,milliseconds:2592000000},...qc},UL=365.2425,$f=30.436875,JJ={years:{quarters:4,months:12,weeks:UL/7,days:UL,hours:UL*24,minutes:UL*24*60,seconds:UL*24*60*60,milliseconds:UL*24*60*60*1000},quarters:{months:3,weeks:UL/28,days:UL/4,hours:UL*24/4,minutes:UL*24*60/4,seconds:UL*24*60*60/4,milliseconds:UL*24*60*60*1000/4},months:{weeks:$f/7,days:$f,hours:$f*24,minutes:$f*24*60,seconds:$f*24*60*60,milliseconds:$f*24*60*60*1000},...qc},i$=["years","quarters","months","weeks","days","hours","minutes","seconds","milliseconds"],VJ=i$.slice(0).reverse();function vI(H,A,L=!1){let I={values:L?A.values:{...H.values,...A.values||{}},loc:H.loc.clone(A.loc),conversionAccuracy:A.conversionAccuracy||H.conversionAccuracy,matrix:A.matrix||H.matrix};return new cH(I)}function gc(H,A){var L;let I=(L=A.milliseconds)!=null?L:0;for(let $ of VJ.slice(1))if(A[$])I+=A[$]*H[$].milliseconds;return I}function bB(H,A){let L=gc(H,A)<0?-1:1;i$.reduceRight((I,$)=>{if(!AH(A[$])){if(I){let f=A[I]*L,E=H[$][I],D=Math.floor(f/E);A[$]+=D*L,A[I]-=D*E*L}return $}else return I},null),i$.reduce((I,$)=>{if(!AH(A[$])){if(I){let f=A[I]%1;A[I]-=f,A[$]+=f*H[I][$]}return $}else return I},null)}function wJ(H){let A={};for(let[L,I]of Object.entries(H))if(I!==0)A[L]=I;return A}class cH{constructor(H){let A=H.conversionAccuracy==="longterm"||!1,L=A?JJ:SJ;if(H.matrix)L=H.matrix;this.values=H.values,this.loc=H.loc||_H.create(),this.conversionAccuracy=A?"longterm":"casual",this.invalid=H.invalid||null,this.matrix=L,this.isLuxonDuration=!0}static fromMillis(H,A){return cH.fromObject({milliseconds:H},A)}static fromObject(H,A={}){if(H==null||typeof H!=="object")throw new _A(`Duration.fromObject: argument expected to be an object, got ${H===null?"null":typeof H}`);return new cH({values:tM(H,cH.normalizeUnit),loc:_H.fromObject(A),conversionAccuracy:A.conversionAccuracy,matrix:A.matrix})}static fromDurationLike(H){if(OI(H))return cH.fromMillis(H);else if(cH.isDuration(H))return H;else if(typeof H==="object")return cH.fromObject(H);else throw new _A(`Unknown duration argument ${H} of type ${typeof H}`)}static fromISO(H,A){let[L]=GJ(H);if(L)return cH.fromObject(L,A);else return cH.invalid("unparsable",`the input "${H}" can't be parsed as ISO 8601`)}static fromISOTime(H,A){let[L]=_J(H);if(L)return cH.fromObject(L,A);else return cH.invalid("unparsable",`the input "${H}" can't be parsed as ISO 8601`)}static invalid(H,A=null){if(!H)throw new _A("need to specify a reason the Duration is invalid");let L=H instanceof CL?H:new CL(H,A);if(ZH.throwOnInvalid)throw new Ic(L);else return new cH({invalid:L})}static normalizeUnit(H){let A={year:"years",years:"years",quarter:"quarters",quarters:"quarters",month:"months",months:"months",week:"weeks",weeks:"weeks",day:"days",days:"days",hour:"hours",hours:"hours",minute:"minutes",minutes:"minutes",second:"seconds",seconds:"seconds",millisecond:"milliseconds",milliseconds:"milliseconds"}[H?H.toLowerCase():H];if(!A)throw new Zu(H);return A}static isDuration(H){return H&&H.isLuxonDuration||!1}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}toFormat(H,A={}){let L={...A,floor:A.round!==!1&&A.floor!==!1};return this.isValid?KA.create(this.loc,L).formatDurationFromString(this,H):zB}toHuman(H={}){if(!this.isValid)return zB;let A=i$.map((L)=>{let I=this.values[L];if(AH(I))return null;return this.loc.numberFormatter({style:"unit",unitDisplay:"long",...H,unit:L.slice(0,-1)}).format(I)}).filter((L)=>L);return this.loc.listFormatter({type:"conjunction",style:H.listStyle||"narrow",...H}).format(A)}toObject(){if(!this.isValid)return{};return{...this.values}}toISO(){if(!this.isValid)return null;let H="P";if(this.years!==0)H+=this.years+"Y";if(this.months!==0||this.quarters!==0)H+=this.months+this.quarters*3+"M";if(this.weeks!==0)H+=this.weeks+"W";if(this.days!==0)H+=this.days+"D";if(this.hours!==0||this.minutes!==0||this.seconds!==0||this.milliseconds!==0)H+="T";if(this.hours!==0)H+=this.hours+"H";if(this.minutes!==0)H+=this.minutes+"M";if(this.seconds!==0||this.milliseconds!==0)H+=qu(this.seconds+this.milliseconds/1000,3)+"S";if(H==="P")H+="T0S";return H}toISOTime(H={}){if(!this.isValid)return null;let A=this.toMillis();if(A<0||A>=86400000)return null;return H={suppressMilliseconds:!1,suppressSeconds:!1,includePrefix:!1,format:"extended",...H,includeOffset:!1},HH.fromMillis(A,{zone:"UTC"}).toISOTime(H)}toJSON(){return this.toISO()}toString(){return this.toISO()}[Symbol.for("nodejs.util.inspect.custom")](){if(this.isValid)return`Duration { values: ${JSON.stringify(this.values)} }`;else return`Duration { Invalid, reason: ${this.invalidReason} }`}toMillis(){if(!this.isValid)return NaN;return gc(this.matrix,this.values)}valueOf(){return this.toMillis()}plus(H){if(!this.isValid)return this;let A=cH.fromDurationLike(H),L={};for(let I of i$)if(uf(A.values,I)||uf(this.values,I))L[I]=A.get(I)+this.get(I);return vI(this,{values:L},!0)}minus(H){if(!this.isValid)return this;let A=cH.fromDurationLike(H);return this.plus(A.negate())}mapUnits(H){if(!this.isValid)return this;let A={};for(let L of Object.keys(this.values))A[L]=sc(H(this.values[L],L));return vI(this,{values:A},!0)}get(H){return this[cH.normalizeUnit(H)]}set(H){if(!this.isValid)return this;let A={...this.values,...tM(H,cH.normalizeUnit)};return vI(this,{values:A})}reconfigure({locale:H,numberingSystem:A,conversionAccuracy:L,matrix:I}={}){let f={loc:this.loc.clone({locale:H,numberingSystem:A}),matrix:I,conversionAccuracy:L};return vI(this,f)}as(H){return this.isValid?this.shiftTo(H).get(H):NaN}normalize(){if(!this.isValid)return this;let H=this.toObject();return bB(this.matrix,H),vI(this,{values:H},!0)}rescale(){if(!this.isValid)return this;let H=wJ(this.normalize().shiftToAll().toObject());return vI(this,{values:H},!0)}shiftTo(...H){if(!this.isValid)return this;if(H.length===0)return this;H=H.map((f)=>cH.normalizeUnit(f));let A={},L={},I=this.toObject(),$;for(let f of i$)if(H.indexOf(f)>=0){$=f;let E=0;for(let M in L)E+=this.matrix[M][f]*L[M],L[M]=0;if(OI(I[f]))E+=I[f];let D=Math.trunc(E);A[f]=D,L[f]=(E*1000-D*1000)/1000}else if(OI(I[f]))L[f]=I[f];for(let f in L)if(L[f]!==0)A[$]+=f===$?L[f]:L[f]/this.matrix[$][f];return bB(this.matrix,A),vI(this,{values:A},!0)}shiftToAll(){if(!this.isValid)return this;return this.shiftTo("years","months","weeks","days","hours","minutes","seconds","milliseconds")}negate(){if(!this.isValid)return this;let H={};for(let A of Object.keys(this.values))H[A]=this.values[A]===0?0:-this.values[A];return vI(this,{values:H},!0)}get years(){return this.isValid?this.values.years||0:NaN}get quarters(){return this.isValid?this.values.quarters||0:NaN}get months(){return this.isValid?this.values.months||0:NaN}get weeks(){return this.isValid?this.values.weeks||0:NaN}get days(){return this.isValid?this.values.days||0:NaN}get hours(){return this.isValid?this.values.hours||0:NaN}get minutes(){return this.isValid?this.values.minutes||0:NaN}get seconds(){return this.isValid?this.values.seconds||0:NaN}get milliseconds(){return this.isValid?this.values.milliseconds||0:NaN}get isValid(){return this.invalid===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}equals(H){if(!this.isValid||!H.isValid)return!1;if(!this.loc.equals(H.loc))return!1;function A(L,I){if(L===void 0||L===0)return I===void 0||I===0;return L===I}for(let L of i$)if(!A(this.values[L],H.values[L]))return!1;return!0}}var ff="Invalid Interval";function KJ(H,A){if(!H||!H.isValid)return jH.invalid("missing or invalid start");else if(!A||!A.isValid)return jH.invalid("missing or invalid end");else if(A<H)return jH.invalid("end before start",`The end of an interval must be after its start, but you had start=${H.toISO()} and end=${A.toISO()}`);else return null}class jH{constructor(H){this.s=H.start,this.e=H.end,this.invalid=H.invalid||null,this.isLuxonInterval=!0}static invalid(H,A=null){if(!H)throw new _A("need to specify a reason the Interval is invalid");let L=H instanceof CL?H:new CL(H,A);if(ZH.throwOnInvalid)throw new Lc(L);else return new jH({invalid:L})}static fromDateTimes(H,A){let L=XE(H),I=XE(A),$=KJ(L,I);if($==null)return new jH({start:L,end:I});else return $}static after(H,A){let L=cH.fromDurationLike(A),I=XE(H);return jH.fromDateTimes(I,I.plus(L))}static before(H,A){let L=cH.fromDurationLike(A),I=XE(H);return jH.fromDateTimes(I.minus(L),I)}static fromISO(H,A){let[L,I]=(H||"").split("/",2);if(L&&I){let $,f;try{$=HH.fromISO(L,A),f=$.isValid}catch(M){f=!1}let E,D;try{E=HH.fromISO(I,A),D=E.isValid}catch(M){D=!1}if(f&&D)return jH.fromDateTimes($,E);if(f){let M=cH.fromISO(I,A);if(M.isValid)return jH.after($,M)}else if(D){let M=cH.fromISO(L,A);if(M.isValid)return jH.before(E,M)}}return jH.invalid("unparsable",`the input "${H}" can't be parsed as ISO 8601`)}static isInterval(H){return H&&H.isLuxonInterval||!1}get start(){return this.isValid?this.s:null}get end(){return this.isValid?this.e:null}get lastDateTime(){return this.isValid?this.e?this.e.minus(1):null:null}get isValid(){return this.invalidReason===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}length(H="milliseconds"){return this.isValid?this.toDuration(...[H]).get(H):NaN}count(H="milliseconds",A){if(!this.isValid)return NaN;let L=this.start.startOf(H,A),I;if(A!=null&&A.useLocaleWeeks)I=this.end.reconfigure({locale:L.locale});else I=this.end;return I=I.startOf(H,A),Math.floor(I.diff(L,H).get(H))+(I.valueOf()!==this.end.valueOf())}hasSame(H){return this.isValid?this.isEmpty()||this.e.minus(1).hasSame(this.s,H):!1}isEmpty(){return this.s.valueOf()===this.e.valueOf()}isAfter(H){if(!this.isValid)return!1;return this.s>H}isBefore(H){if(!this.isValid)return!1;return this.e<=H}contains(H){if(!this.isValid)return!1;return this.s<=H&&this.e>H}set({start:H,end:A}={}){if(!this.isValid)return this;return jH.fromDateTimes(H||this.s,A||this.e)}splitAt(...H){if(!this.isValid)return[];let A=H.map(XE).filter((f)=>this.contains(f)).sort((f,E)=>f.toMillis()-E.toMillis()),L=[],{s:I}=this,$=0;while(I<this.e){let f=A[$]||this.e,E=+f>+this.e?this.e:f;L.push(jH.fromDateTimes(I,E)),I=E,$+=1}return L}splitBy(H){let A=cH.fromDurationLike(H);if(!this.isValid||!A.isValid||A.as("milliseconds")===0)return[];let{s:L}=this,I=1,$,f=[];while(L<this.e){let E=this.start.plus(A.mapUnits((D)=>D*I));$=+E>+this.e?this.e:E,f.push(jH.fromDateTimes(L,$)),L=$,I+=1}return f}divideEqually(H){if(!this.isValid)return[];return this.splitBy(this.length()/H).slice(0,H)}overlaps(H){return this.e>H.s&&this.s<H.e}abutsStart(H){if(!this.isValid)return!1;return+this.e===+H.s}abutsEnd(H){if(!this.isValid)return!1;return+H.e===+this.s}engulfs(H){if(!this.isValid)return!1;return this.s<=H.s&&this.e>=H.e}equals(H){if(!this.isValid||!H.isValid)return!1;return this.s.equals(H.s)&&this.e.equals(H.e)}intersection(H){if(!this.isValid)return this;let A=this.s>H.s?this.s:H.s,L=this.e<H.e?this.e:H.e;if(A>=L)return null;else return jH.fromDateTimes(A,L)}union(H){if(!this.isValid)return this;let A=this.s<H.s?this.s:H.s,L=this.e>H.e?this.e:H.e;return jH.fromDateTimes(A,L)}static merge(H){let[A,L]=H.sort((I,$)=>I.s-$.s).reduce(([I,$],f)=>{if(!$)return[I,f];else if($.overlaps(f)||$.abutsStart(f))return[I,$.union(f)];else return[I.concat([$]),f]},[[],null]);if(L)A.push(L);return A}static xor(H){let A=null,L=0,I=[],$=H.map((D)=>[{time:D.s,type:"s"},{time:D.e,type:"e"}]),f=Array.prototype.concat(...$),E=f.sort((D,M)=>D.time-M.time);for(let D of E)if(L+=D.type==="s"?1:-1,L===1)A=D.time;else{if(A&&+A!==+D.time)I.push(jH.fromDateTimes(A,D.time));A=null}return jH.merge(I)}difference(...H){return jH.xor([this].concat(H)).map((A)=>this.intersection(A)).filter((A)=>A&&!A.isEmpty())}toString(){if(!this.isValid)return ff;return`[${this.s.toISO()} \u2013 ${this.e.toISO()})`}[Symbol.for("nodejs.util.inspect.custom")](){if(this.isValid)return`Interval { start: ${this.s.toISO()}, end: ${this.e.toISO()} }`;else return`Interval { Invalid, reason: ${this.invalidReason} }`}toLocaleString(H=MM,A={}){return this.isValid?KA.create(this.s.loc.clone(A),H).formatInterval(this):ff}toISO(H){if(!this.isValid)return ff;return`${this.s.toISO(H)}/${this.e.toISO(H)}`}toISODate(){if(!this.isValid)return ff;return`${this.s.toISODate()}/${this.e.toISODate()}`}toISOTime(H){if(!this.isValid)return ff;return`${this.s.toISOTime(H)}/${this.e.toISOTime(H)}`}toFormat(H,{separator:A=" \u2013 "}={}){if(!this.isValid)return ff;return`${this.s.toFormat(H)}${A}${this.e.toFormat(H)}`}toDuration(H,A){if(!this.isValid)return cH.invalid(this.invalidReason);return this.e.diff(this.s,H,A)}mapEndpoints(H){return jH.fromDateTimes(H(this.s),H(this.e))}}class Df{static hasDST(H=ZH.defaultZone){let A=HH.now().setZone(H).set({month:12});return!H.isUniversal&&A.offset!==A.set({month:6}).offset}static isValidIANAZone(H){return kL.isValidZone(H)}static normalizeZone(H){return lI(H,ZH.defaultZone)}static getStartOfWeek({locale:H=null,locObj:A=null}={}){return(A||_H.create(H)).getStartOfWeek()}static getMinimumDaysInFirstWeek({locale:H=null,locObj:A=null}={}){return(A||_H.create(H)).getMinDaysInFirstWeek()}static getWeekendWeekdays({locale:H=null,locObj:A=null}={}){return(A||_H.create(H)).getWeekendDays().slice()}static months(H="long",{locale:A=null,numberingSystem:L=null,locObj:I=null,outputCalendar:$="gregory"}={}){return(I||_H.create(A,L,$)).months(H)}static monthsFormat(H="long",{locale:A=null,numberingSystem:L=null,locObj:I=null,outputCalendar:$="gregory"}={}){return(I||_H.create(A,L,$)).months(H,!0)}static weekdays(H="long",{locale:A=null,numberingSystem:L=null,locObj:I=null}={}){return(I||_H.create(A,L,null)).weekdays(H)}static weekdaysFormat(H="long",{locale:A=null,numberingSystem:L=null,locObj:I=null}={}){return(I||_H.create(A,L,null)).weekdays(H,!0)}static meridiems({locale:H=null}={}){return _H.create(H).meridiems()}static eras(H="short",{locale:A=null}={}){return _H.create(A,null,"gregory").eras(H)}static features(){return{relative:ac(),localeWeek:lc()}}}function ZB(H,A){let L=($)=>$.toUTC(0,{keepLocalTime:!0}).startOf("day").valueOf(),I=L(A)-L(H);return Math.floor(cH.fromMillis(I).as("days"))}function vJ(H,A,L){let I=[["years",(M,o)=>o.year-M.year],["quarters",(M,o)=>o.quarter-M.quarter+(o.year-M.year)*4],["months",(M,o)=>o.month-M.month+(o.year-M.year)*12],["weeks",(M,o)=>{let u=ZB(M,o);return(u-u%7)/7}],["days",ZB]],$={},f=H,E,D;for(let[M,o]of I)if(L.indexOf(M)>=0)if(E=M,$[M]=o(H,A),D=f.plus($),D>A){if($[M]--,H=f.plus($),H>A)D=H,$[M]--,H=f.plus($)}else H=D;return[H,$,D,E]}function aJ(H,A,L,I){let[$,f,E,D]=vJ(H,A,L),M=A-$,o=L.filter((t)=>["hours","minutes","seconds","milliseconds"].indexOf(t)>=0);if(o.length===0){if(E<A)E=$.plus({[D]:1});if(E!==$)f[D]=(f[D]||0)+M/(E-$)}let u=cH.fromObject(f,I);if(o.length>0)return cH.fromMillis(M,I).shiftTo(...o).plus(u);else return u}var lJ="missing Intl.DateTimeFormat.formatToParts support";function FH(H,A=(L)=>L){return{regex:H,deser:([L])=>A(W5(L))}}var OJ=String.fromCharCode(160),ec=`[ ${OJ}]`,Hx=new RegExp(ec,"g");function sJ(H){return H.replace(/\./g,"\\.?").replace(Hx,ec)}function hB(H){return H.replace(/\./g,"").replace(Hx," ").toLowerCase()}function aL(H,A){if(H===null)return null;else return{regex:RegExp(H.map(sJ).join("|")),deser:([L])=>H.findIndex((I)=>hB(L)===hB(I))+A}}function rB(H,A){return{regex:H,deser:([,L,I])=>nM(L,I),groups:A}}function $M(H){return{regex:H,deser:([A])=>A}}function NJ(H){return H.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function yJ(H,A){let L=vL(A),I=vL(A,"{2}"),$=vL(A,"{3}"),f=vL(A,"{4}"),E=vL(A,"{6}"),D=vL(A,"{1,2}"),M=vL(A,"{1,3}"),o=vL(A,"{1,6}"),u=vL(A,"{1,9}"),t=vL(A,"{2,4}"),i=vL(A,"{4,6}"),B=(T)=>({regex:RegExp(NJ(T.val)),deser:([F])=>F,literal:!0}),x=((T)=>{if(H.literal)return B(T);switch(T.val){case"G":return aL(A.eras("short"),0);case"GG":return aL(A.eras("long"),0);case"y":return FH(o);case"yy":return FH(t,zu);case"yyyy":return FH(f);case"yyyyy":return FH(i);case"yyyyyy":return FH(E);case"M":return FH(D);case"MM":return FH(I);case"MMM":return aL(A.months("short",!0),1);case"MMMM":return aL(A.months("long",!0),1);case"L":return FH(D);case"LL":return FH(I);case"LLL":return aL(A.months("short",!1),1);case"LLLL":return aL(A.months("long",!1),1);case"d":return FH(D);case"dd":return FH(I);case"o":return FH(M);case"ooo":return FH($);case"HH":return FH(I);case"H":return FH(D);case"hh":return FH(I);case"h":return FH(D);case"mm":return FH(I);case"m":return FH(D);case"q":return FH(D);case"qq":return FH(I);case"s":return FH(D);case"ss":return FH(I);case"S":return FH(M);case"SSS":return FH($);case"u":return $M(u);case"uu":return $M(D);case"uuu":return FH(L);case"a":return aL(A.meridiems(),0);case"kkkk":return FH(f);case"kk":return FH(t,zu);case"W":return FH(D);case"WW":return FH(I);case"E":case"c":return FH(L);case"EEE":return aL(A.weekdays("short",!1),1);case"EEEE":return aL(A.weekdays("long",!1),1);case"ccc":return aL(A.weekdays("short",!0),1);case"cccc":return aL(A.weekdays("long",!0),1);case"Z":case"ZZ":return rB(new RegExp(`([+-]${D.source})(?::(${I.source}))?`),2);case"ZZZ":return rB(new RegExp(`([+-]${D.source})(${I.source})?`),2);case"z":return $M(/[a-z_+-/]{1,256}?/i);case" ":return $M(/[^\S\n\r]/);default:return B(T)}})(H)||{invalidReason:lJ};return x.token=H,x}var RJ={year:{"2-digit":"yy",numeric:"yyyyy"},month:{numeric:"M","2-digit":"MM",short:"MMM",long:"MMMM"},day:{numeric:"d","2-digit":"dd"},weekday:{short:"EEE",long:"EEEE"},dayperiod:"a",dayPeriod:"a",hour12:{numeric:"h","2-digit":"hh"},hour24:{numeric:"H","2-digit":"HH"},minute:{numeric:"m","2-digit":"mm"},second:{numeric:"s","2-digit":"ss"},timeZoneName:{long:"ZZZZZ",short:"ZZZ"}};function YJ(H,A,L){let{type:I,value:$}=H;if(I==="literal"){let M=/^\s+$/.test($);return{literal:!M,val:M?" ":$}}let f=A[I],E=I;if(I==="hour")if(A.hour12!=null)E=A.hour12?"hour12":"hour24";else if(A.hourCycle!=null)if(A.hourCycle==="h11"||A.hourCycle==="h12")E="hour12";else E="hour24";else E=L.hour12?"hour12":"hour24";let D=RJ[E];if(typeof D==="object")D=D[f];if(D)return{literal:!1,val:D};return}function QJ(H){return[`^${H.map((L)=>L.regex).reduce((L,I)=>`${L}(${I.source})`,"")}$`,H]}function zJ(H,A,L){let I=H.match(A);if(I){let $={},f=1;for(let E in L)if(uf(L,E)){let D=L[E],M=D.groups?D.groups+1:1;if(!D.literal&&D.token)$[D.token.val[0]]=D.deser(I.slice(f,f+M));f+=M}return[I,$]}else return[I,{}]}function bJ(H){let A=(f)=>{switch(f){case"S":return"millisecond";case"s":return"second";case"m":return"minute";case"h":case"H":return"hour";case"d":return"day";case"o":return"ordinal";case"L":case"M":return"month";case"y":return"year";case"E":case"c":return"weekday";case"W":return"weekNumber";case"k":return"weekYear";case"q":return"quarter";default:return null}},L=null,I;if(!AH(H.z))L=kL.create(H.z);if(!AH(H.Z)){if(!L)L=new vA(H.Z);I=H.Z}if(!AH(H.q))H.M=(H.q-1)*3+1;if(!AH(H.h)){if(H.h<12&&H.a===1)H.h+=12;else if(H.h===12&&H.a===0)H.h=0}if(H.G===0&&H.y)H.y=-H.y;if(!AH(H.u))H.S=du(H.u);return[Object.keys(H).reduce((f,E)=>{let D=A(E);if(D)f[D]=H[E];return f},{}),L,I]}var Ju=null;function ZJ(){if(!Ju)Ju=HH.fromMillis(1555555555555);return Ju}function hJ(H,A){if(H.literal)return H;let L=KA.macroTokenToFormatOpts(H.val),I=Ix(L,A);if(I==null||I.includes(void 0))return H;return I}function Ax(H,A){return Array.prototype.concat(...H.map((L)=>hJ(L,A)))}class At{constructor(H,A){if(this.locale=H,this.format=A,this.tokens=Ax(KA.parseFormat(A),H),this.units=this.tokens.map((L)=>yJ(L,H)),this.disqualifyingUnit=this.units.find((L)=>L.invalidReason),!this.disqualifyingUnit){let[L,I]=QJ(this.units);this.regex=RegExp(L,"i"),this.handlers=I}}explainFromTokens(H){if(!this.isValid)return{input:H,tokens:this.tokens,invalidReason:this.invalidReason};else{let[A,L]=zJ(H,this.regex,this.handlers),[I,$,f]=L?bJ(L):[null,null,void 0];if(uf(L,"a")&&uf(L,"H"))throw new t$("Can't include meridiem when specifying 24-hour format");return{input:H,tokens:this.tokens,regex:this.regex,rawMatches:A,matches:L,result:I,zone:$,specificOffset:f}}}get isValid(){return!this.disqualifyingUnit}get invalidReason(){return this.disqualifyingUnit?this.disqualifyingUnit.invalidReason:null}}function Lx(H,A,L){return new At(H,L).explainFromTokens(A)}function rJ(H,A,L){let{result:I,zone:$,specificOffset:f,invalidReason:E}=Lx(H,A,L);return[I,$,f,E]}function Ix(H,A){if(!H)return null;let I=KA.create(A,H).dtFormatter(ZJ()),$=I.formatToParts(),f=I.resolvedOptions();return $.map((E)=>YJ(E,H,f))}var Vu="Invalid DateTime",jB=8640000000000000;function JE(H){return new CL("unsupported zone",`the zone "${H.name}" is not supported`)}function wu(H){if(H.weekData===null)H.weekData=oM(H.c);return H.weekData}function Ku(H){if(H.localWeekData===null)H.localWeekData=oM(H.c,H.loc.getMinDaysInFirstWeek(),H.loc.getStartOfWeek());return H.localWeekData}function u$(H,A){let L={ts:H.ts,zone:H.zone,c:H.c,o:H.o,loc:H.loc,invalid:H.invalid};return new HH({...L,...A,old:L})}function $x(H,A,L){let I=H-A*60*1000,$=L.offset(I);if(A===$)return[I,A];I-=($-A)*60*1000;let f=L.offset(I);if($===f)return[I,$];return[H-Math.min($,f)*60*1000,Math.max($,f)]}function fM(H,A){H+=A*60*1000;let L=new Date(H);return{year:L.getUTCFullYear(),month:L.getUTCMonth()+1,day:L.getUTCDate(),hour:L.getUTCHours(),minute:L.getUTCMinutes(),second:L.getUTCSeconds(),millisecond:L.getUTCMilliseconds()}}function DM(H,A,L){return $x(pM(H),A,L)}function kB(H,A){let L=H.o,I=H.c.year+Math.trunc(A.years),$=H.c.month+Math.trunc(A.months)+Math.trunc(A.quarters)*3,f={...H.c,year:I,month:$,day:Math.min(H.c.day,uM(I,$))+Math.trunc(A.days)+Math.trunc(A.weeks)*7},E=cH.fromObject({years:A.years-Math.trunc(A.years),quarters:A.quarters-Math.trunc(A.quarters),months:A.months-Math.trunc(A.months),weeks:A.weeks-Math.trunc(A.weeks),days:A.days-Math.trunc(A.days),hours:A.hours,minutes:A.minutes,seconds:A.seconds,milliseconds:A.milliseconds}).as("milliseconds"),D=pM(f),[M,o]=$x(D,L,H.zone);if(E!==0)M+=E,o=H.zone.offset(M);return{ts:M,o}}function Ef(H,A,L,I,$,f){let{setZone:E,zone:D}=L;if(H&&Object.keys(H).length!==0||A){let M=A||D,o=HH.fromObject(H,{...L,zone:M,specificOffset:f});return E?o:o.setZone(D)}else return HH.invalid(new CL("unparsable",`the input "${$}" can't be parsed as ${I}`))}function EM(H,A,L=!0){return H.isValid?KA.create(_H.create("en-US"),{allowZ:L,forceSimple:!0}).formatDateTimeFromString(H,A):null}function vu(H,A){let L=H.c.year>9999||H.c.year<0,I="";if(L&&H.c.year>=0)I+="+";if(I+=fA(H.c.year,L?6:4),A)I+="-",I+=fA(H.c.month),I+="-",I+=fA(H.c.day);else I+=fA(H.c.month),I+=fA(H.c.day);return I}function dB(H,A,L,I,$,f){let E=fA(H.c.hour);if(A){if(E+=":",E+=fA(H.c.minute),H.c.millisecond!==0||H.c.second!==0||!L)E+=":"}else E+=fA(H.c.minute);if(H.c.millisecond!==0||H.c.second!==0||!L){if(E+=fA(H.c.second),H.c.millisecond!==0||!I)E+=".",E+=fA(H.c.millisecond,3)}if($)if(H.isOffsetFixed&&H.offset===0&&!f)E+="Z";else if(H.o<0)E+="-",E+=fA(Math.trunc(-H.o/60)),E+=":",E+=fA(Math.trunc(-H.o%60));else E+="+",E+=fA(Math.trunc(H.o/60)),E+=":",E+=fA(Math.trunc(H.o%60));if(f)E+="["+H.zone.ianaName+"]";return E}var fx={month:1,day:1,hour:0,minute:0,second:0,millisecond:0},jJ={weekNumber:1,weekday:1,hour:0,minute:0,second:0,millisecond:0},kJ={ordinal:1,hour:0,minute:0,second:0,millisecond:0},Ex=["year","month","day","hour","minute","second","millisecond"],dJ=["weekYear","weekNumber","weekday","hour","minute","second","millisecond"],qJ=["year","ordinal","hour","minute","second","millisecond"];function gJ(H){let A={year:"year",years:"year",month:"month",months:"month",day:"day",days:"day",hour:"hour",hours:"hour",minute:"minute",minutes:"minute",quarter:"quarter",quarters:"quarter",second:"second",seconds:"second",millisecond:"millisecond",milliseconds:"millisecond",weekday:"weekday",weekdays:"weekday",weeknumber:"weekNumber",weeksnumber:"weekNumber",weeknumbers:"weekNumber",weekyear:"weekYear",weekyears:"weekYear",ordinal:"ordinal"}[H.toLowerCase()];if(!A)throw new Zu(H);return A}function qB(H){switch(H.toLowerCase()){case"localweekday":case"localweekdays":return"localWeekday";case"localweeknumber":case"localweeknumbers":return"localWeekNumber";case"localweekyear":case"localweekyears":return"localWeekYear";default:return gJ(H)}}function eJ(H){if(VE===void 0)VE=ZH.now();if(H.type!=="iana")return H.offset(VE);let A=H.name,L=bu.get(A);if(L===void 0)L=H.offset(VE),bu.set(A,L);return L}function gB(H,A){let L=lI(A.zone,ZH.defaultZone);if(!L.isValid)return HH.invalid(JE(L));let I=_H.fromObject(A),$,f;if(!AH(H.year)){for(let M of Ex)if(AH(H[M]))H[M]=fx[M];let E=Kc(H)||vc(H);if(E)return HH.invalid(E);let D=eJ(L);[$,f]=DM(H,D,L)}else $=ZH.now();return new HH({ts:$,zone:L,loc:I,o:f})}function eB(H,A,L){let I=AH(L.round)?!0:L.round,$=(E,D)=>{return E=qu(E,I||L.calendary?0:2,!0),A.loc.clone(L).relFormatter(L).format(E,D)},f=(E)=>{if(L.calendary)if(!A.hasSame(H,E))return A.startOf(E).diff(H.startOf(E),E).get(E);else return 0;else return A.diff(H,E).get(E)};if(L.unit)return $(f(L.unit),L.unit);for(let E of L.units){let D=f(E);if(Math.abs(D)>=1)return $(D,E)}return $(H>A?-0:0,L.units[L.units.length-1])}function Hc(H){let A={},L;if(H.length>0&&typeof H[H.length-1]==="object")A=H[H.length-1],L=Array.from(H).slice(0,H.length-1);else L=Array.from(H);return[A,L]}var VE,bu=new Map;class HH{constructor(H){let A=H.zone||ZH.defaultZone,L=H.invalid||(Number.isNaN(H.ts)?new CL("invalid input"):null)||(!A.isValid?JE(A):null);this.ts=AH(H.ts)?ZH.now():H.ts;let I=null,$=null;if(!L)if(H.old&&H.old.ts===this.ts&&H.old.zone.equals(A))[I,$]=[H.old.c,H.old.o];else{let E=OI(H.o)&&!H.old?H.o:A.offset(this.ts);I=fM(this.ts,E),L=Number.isNaN(I.year)?new CL("invalid input"):null,I=L?null:I,$=L?null:E}this._zone=A,this.loc=H.loc||_H.create(),this.invalid=L,this.weekData=null,this.localWeekData=null,this.c=I,this.o=$,this.isLuxonDateTime=!0}static now(){return new HH({})}static local(){let[H,A]=Hc(arguments),[L,I,$,f,E,D,M]=A;return gB({year:L,month:I,day:$,hour:f,minute:E,second:D,millisecond:M},H)}static utc(){let[H,A]=Hc(arguments),[L,I,$,f,E,D,M]=A;return H.zone=vA.utcInstance,gB({year:L,month:I,day:$,hour:f,minute:E,second:D,millisecond:M},H)}static fromJSDate(H,A={}){let L=J5(H)?H.valueOf():NaN;if(Number.isNaN(L))return HH.invalid("invalid input");let I=lI(A.zone,ZH.defaultZone);if(!I.isValid)return HH.invalid(JE(I));return new HH({ts:L,zone:I,loc:_H.fromObject(A)})}static fromMillis(H,A={}){if(!OI(H))throw new _A(`fromMillis requires a numerical input, but received a ${typeof H} with value ${H}`);else if(H<-jB||H>jB)return HH.invalid("Timestamp out of range");else return new HH({ts:H,zone:lI(A.zone,ZH.defaultZone),loc:_H.fromObject(A)})}static fromSeconds(H,A={}){if(!OI(H))throw new _A("fromSeconds requires a numerical input");else return new HH({ts:H*1000,zone:lI(A.zone,ZH.defaultZone),loc:_H.fromObject(A)})}static fromObject(H,A={}){H=H||{};let L=lI(A.zone,ZH.defaultZone);if(!L.isValid)return HH.invalid(JE(L));let I=_H.fromObject(A),$=tM(H,qB),{minDaysInFirstWeek:f,startOfWeek:E}=NB($,I),D=ZH.now(),M=!AH(A.specificOffset)?A.specificOffset:L.offset(D),o=!AH($.ordinal),u=!AH($.year),t=!AH($.month)||!AH($.day),i=u||t,B=$.weekYear||$.weekNumber;if((i||o)&&B)throw new t$("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(t&&o)throw new t$("Can't mix ordinal dates with month/day");let U=B||$.weekday&&!i,x,T,F=fM(D,M);if(U)x=dJ,T=jJ,F=oM(F,f,E);else if(o)x=qJ,T=kJ,F=Su(F);else x=Ex,T=fx;let m=!1;for(let h of x){let X=$[h];if(!AH(X))m=!0;else if(m)$[h]=T[h];else $[h]=F[h]}let Y=U?P5($,f,E):o?X5($):Kc($),W=Y||vc($);if(W)return HH.invalid(W);let P=U?OB($,f,E):o?sB($):$,[V,J]=DM(P,M,L),a=new HH({ts:V,zone:L,o:J,loc:I});if($.weekday&&i&&H.weekday!==a.weekday)return HH.invalid("mismatched weekday",`you can't specify both a weekday of ${$.weekday} and a date of ${a.toISO()}`);if(!a.isValid)return HH.invalid(a.invalid);return a}static fromISO(H,A={}){let[L,I]=UJ(H);return Ef(L,I,A,"ISO 8601",H)}static fromRFC2822(H,A={}){let[L,I]=CJ(H);return Ef(L,I,A,"RFC 2822",H)}static fromHTTP(H,A={}){let[L,I]=TJ(H);return Ef(L,I,A,"HTTP",A)}static fromFormat(H,A,L={}){if(AH(H)||AH(A))throw new _A("fromFormat requires an input string and a format");let{locale:I=null,numberingSystem:$=null}=L,f=_H.fromOpts({locale:I,numberingSystem:$,defaultToEN:!0}),[E,D,M,o]=rJ(f,H,A);if(o)return HH.invalid(o);else return Ef(E,D,L,`format ${A}`,H,M)}static fromString(H,A,L={}){return HH.fromFormat(H,A,L)}static fromSQL(H,A={}){let[L,I]=XJ(H);return Ef(L,I,A,"SQL",H)}static invalid(H,A=null){if(!H)throw new _A("need to specify a reason the DateTime is invalid");let L=H instanceof CL?H:new CL(H,A);if(ZH.throwOnInvalid)throw new Ac(L);else return new HH({invalid:L})}static isDateTime(H){return H&&H.isLuxonDateTime||!1}static parseFormatForOpts(H,A={}){let L=Ix(H,_H.fromObject(A));return!L?null:L.map((I)=>I?I.val:null).join("")}static expandFormat(H,A={}){return Ax(KA.parseFormat(H),_H.fromObject(A)).map((I)=>I.val).join("")}static resetCache(){VE=void 0,bu.clear()}get(H){return this[H]}get isValid(){return this.invalid===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}get outputCalendar(){return this.isValid?this.loc.outputCalendar:null}get zone(){return this._zone}get zoneName(){return this.isValid?this.zone.name:null}get year(){return this.isValid?this.c.year:NaN}get quarter(){return this.isValid?Math.ceil(this.c.month/3):NaN}get month(){return this.isValid?this.c.month:NaN}get day(){return this.isValid?this.c.day:NaN}get hour(){return this.isValid?this.c.hour:NaN}get minute(){return this.isValid?this.c.minute:NaN}get second(){return this.isValid?this.c.second:NaN}get millisecond(){return this.isValid?this.c.millisecond:NaN}get weekYear(){return this.isValid?wu(this).weekYear:NaN}get weekNumber(){return this.isValid?wu(this).weekNumber:NaN}get weekday(){return this.isValid?wu(this).weekday:NaN}get isWeekend(){return this.isValid&&this.loc.getWeekendDays().includes(this.weekday)}get localWeekday(){return this.isValid?Ku(this).weekday:NaN}get localWeekNumber(){return this.isValid?Ku(this).weekNumber:NaN}get localWeekYear(){return this.isValid?Ku(this).weekYear:NaN}get ordinal(){return this.isValid?Su(this.c).ordinal:NaN}get monthShort(){return this.isValid?Df.months("short",{locObj:this.loc})[this.month-1]:null}get monthLong(){return this.isValid?Df.months("long",{locObj:this.loc})[this.month-1]:null}get weekdayShort(){return this.isValid?Df.weekdays("short",{locObj:this.loc})[this.weekday-1]:null}get weekdayLong(){return this.isValid?Df.weekdays("long",{locObj:this.loc})[this.weekday-1]:null}get offset(){return this.isValid?+this.o:NaN}get offsetNameShort(){if(this.isValid)return this.zone.offsetName(this.ts,{format:"short",locale:this.locale});else return null}get offsetNameLong(){if(this.isValid)return this.zone.offsetName(this.ts,{format:"long",locale:this.locale});else return null}get isOffsetFixed(){return this.isValid?this.zone.isUniversal:null}get isInDST(){if(this.isOffsetFixed)return!1;else return this.offset>this.set({month:1,day:1}).offset||this.offset>this.set({month:5}).offset}getPossibleOffsets(){if(!this.isValid||this.isOffsetFixed)return[this];let H=86400000,A=60000,L=pM(this.c),I=this.zone.offset(L-H),$=this.zone.offset(L+H),f=this.zone.offset(L-I*A),E=this.zone.offset(L-$*A);if(f===E)return[this];let D=L-f*A,M=L-E*A,o=fM(D,f),u=fM(M,E);if(o.hour===u.hour&&o.minute===u.minute&&o.second===u.second&&o.millisecond===u.millisecond)return[u$(this,{ts:D}),u$(this,{ts:M})];return[this]}get isInLeapYear(){return aE(this.year)}get daysInMonth(){return uM(this.year,this.month)}get daysInYear(){return this.isValid?Mf(this.year):NaN}get weeksInWeekYear(){return this.isValid?KE(this.weekYear):NaN}get weeksInLocalWeekYear(){return this.isValid?KE(this.localWeekYear,this.loc.getMinDaysInFirstWeek(),this.loc.getStartOfWeek()):NaN}resolvedLocaleOptions(H={}){let{locale:A,numberingSystem:L,calendar:I}=KA.create(this.loc.clone(H),H).resolvedOptions(this);return{locale:A,numberingSystem:L,outputCalendar:I}}toUTC(H=0,A={}){return this.setZone(vA.instance(H),A)}toLocal(){return this.setZone(ZH.defaultZone)}setZone(H,{keepLocalTime:A=!1,keepCalendarTime:L=!1}={}){if(H=lI(H,ZH.defaultZone),H.equals(this.zone))return this;else if(!H.isValid)return HH.invalid(JE(H));else{let I=this.ts;if(A||L){let $=H.offset(this.ts),f=this.toObject();[I]=DM(f,$,H)}return u$(this,{ts:I,zone:H})}}reconfigure({locale:H,numberingSystem:A,outputCalendar:L}={}){let I=this.loc.clone({locale:H,numberingSystem:A,outputCalendar:L});return u$(this,{loc:I})}setLocale(H){return this.reconfigure({locale:H})}set(H){if(!this.isValid)return this;let A=tM(H,qB),{minDaysInFirstWeek:L,startOfWeek:I}=NB(A,this.loc),$=!AH(A.weekYear)||!AH(A.weekNumber)||!AH(A.weekday),f=!AH(A.ordinal),E=!AH(A.year),D=!AH(A.month)||!AH(A.day),M=E||D,o=A.weekYear||A.weekNumber;if((M||f)&&o)throw new t$("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(D&&f)throw new t$("Can't mix ordinal dates with month/day");let u;if($)u=OB({...oM(this.c,L,I),...A},L,I);else if(!AH(A.ordinal))u=sB({...Su(this.c),...A});else if(u={...this.toObject(),...A},AH(A.day))u.day=Math.min(uM(u.year,u.month),u.day);let[t,i]=DM(u,this.o,this.zone);return u$(this,{ts:t,o:i})}plus(H){if(!this.isValid)return this;let A=cH.fromDurationLike(H);return u$(this,kB(this,A))}minus(H){if(!this.isValid)return this;let A=cH.fromDurationLike(H).negate();return u$(this,kB(this,A))}startOf(H,{useLocaleWeeks:A=!1}={}){if(!this.isValid)return this;let L={},I=cH.normalizeUnit(H);switch(I){case"years":L.month=1;case"quarters":case"months":L.day=1;case"weeks":case"days":L.hour=0;case"hours":L.minute=0;case"minutes":L.second=0;case"seconds":L.millisecond=0;break}if(I==="weeks")if(A){let $=this.loc.getStartOfWeek(),{weekday:f}=this;if(f<$)L.weekNumber=this.weekNumber-1;L.weekday=$}else L.weekday=1;if(I==="quarters"){let $=Math.ceil(this.month/3);L.month=($-1)*3+1}return this.set(L)}endOf(H,A){return this.isValid?this.plus({[H]:1}).startOf(H,A).minus(1):this}toFormat(H,A={}){return this.isValid?KA.create(this.loc.redefaultToEN(A)).formatDateTimeFromString(this,H):Vu}toLocaleString(H=MM,A={}){return this.isValid?KA.create(this.loc.clone(A),H).formatDateTime(this):Vu}toLocaleParts(H={}){return this.isValid?KA.create(this.loc.clone(H),H).formatDateTimeParts(this):[]}toISO({format:H="extended",suppressSeconds:A=!1,suppressMilliseconds:L=!1,includeOffset:I=!0,extendedZone:$=!1}={}){if(!this.isValid)return null;let f=H==="extended",E=vu(this,f);return E+="T",E+=dB(this,f,A,L,I,$),E}toISODate({format:H="extended"}={}){if(!this.isValid)return null;return vu(this,H==="extended")}toISOWeekDate(){return EM(this,"kkkk-'W'WW-c")}toISOTime({suppressMilliseconds:H=!1,suppressSeconds:A=!1,includeOffset:L=!0,includePrefix:I=!1,extendedZone:$=!1,format:f="extended"}={}){if(!this.isValid)return null;return(I?"T":"")+dB(this,f==="extended",A,H,L,$)}toRFC2822(){return EM(this,"EEE, dd LLL yyyy HH:mm:ss ZZZ",!1)}toHTTP(){return EM(this.toUTC(),"EEE, dd LLL yyyy HH:mm:ss 'GMT'")}toSQLDate(){if(!this.isValid)return null;return vu(this,!0)}toSQLTime({includeOffset:H=!0,includeZone:A=!1,includeOffsetSpace:L=!0}={}){let I="HH:mm:ss.SSS";if(A||H){if(L)I+=" ";if(A)I+="z";else if(H)I+="ZZ"}return EM(this,I,!0)}toSQL(H={}){if(!this.isValid)return null;return`${this.toSQLDate()} ${this.toSQLTime(H)}`}toString(){return this.isValid?this.toISO():Vu}[Symbol.for("nodejs.util.inspect.custom")](){if(this.isValid)return`DateTime { ts: ${this.toISO()}, zone: ${this.zone.name}, locale: ${this.locale} }`;else return`DateTime { Invalid, reason: ${this.invalidReason} }`}valueOf(){return this.toMillis()}toMillis(){return this.isValid?this.ts:NaN}toSeconds(){return this.isValid?this.ts/1000:NaN}toUnixInteger(){return this.isValid?Math.floor(this.ts/1000):NaN}toJSON(){return this.toISO()}toBSON(){return this.toJSDate()}toObject(H={}){if(!this.isValid)return{};let A={...this.c};if(H.includeConfig)A.outputCalendar=this.outputCalendar,A.numberingSystem=this.loc.numberingSystem,A.locale=this.loc.locale;return A}toJSDate(){return new Date(this.isValid?this.ts:NaN)}diff(H,A="milliseconds",L={}){if(!this.isValid||!H.isValid)return cH.invalid("created by diffing an invalid DateTime");let I={locale:this.locale,numberingSystem:this.numberingSystem,...L},$=V5(A).map(cH.normalizeUnit),f=H.valueOf()>this.valueOf(),E=f?this:H,D=f?H:this,M=aJ(E,D,$,I);return f?M.negate():M}diffNow(H="milliseconds",A={}){return this.diff(HH.now(),H,A)}until(H){return this.isValid?jH.fromDateTimes(this,H):this}hasSame(H,A,L){if(!this.isValid)return!1;let I=H.valueOf(),$=this.setZone(H.zone,{keepLocalTime:!0});return $.startOf(A,L)<=I&&I<=$.endOf(A,L)}equals(H){return this.isValid&&H.isValid&&this.valueOf()===H.valueOf()&&this.zone.equals(H.zone)&&this.loc.equals(H.loc)}toRelative(H={}){if(!this.isValid)return null;let A=H.base||HH.fromObject({},{zone:this.zone}),L=H.padding?this<A?-H.padding:H.padding:0,I=["years","months","days","hours","minutes","seconds"],$=H.unit;if(Array.isArray(H.unit))I=H.unit,$=void 0;return eB(A,this.plus(L),{...H,numeric:"always",units:I,unit:$})}toRelativeCalendar(H={}){if(!this.isValid)return null;return eB(H.base||HH.fromObject({},{zone:this.zone}),this,{...H,numeric:"auto",units:["years","months","days"],calendary:!0})}static min(...H){if(!H.every(HH.isDateTime))throw new _A("min requires all arguments be DateTimes");return yB(H,(A)=>A.valueOf(),Math.min)}static max(...H){if(!H.every(HH.isDateTime))throw new _A("max requires all arguments be DateTimes");return yB(H,(A)=>A.valueOf(),Math.max)}static fromFormatExplain(H,A,L={}){let{locale:I=null,numberingSystem:$=null}=L,f=_H.fromOpts({locale:I,numberingSystem:$,defaultToEN:!0});return Lx(f,H,A)}static fromStringExplain(H,A,L={}){return HH.fromFormatExplain(H,A,L)}static buildFormatParser(H,A={}){let{locale:L=null,numberingSystem:I=null}=A,$=_H.fromOpts({locale:L,numberingSystem:I,defaultToEN:!0});return new At($,H)}static fromFormatParser(H,A,L={}){if(AH(H)||AH(A))throw new _A("fromFormatParser requires an input string and a format parser");let{locale:I=null,numberingSystem:$=null}=L,f=_H.fromOpts({locale:I,numberingSystem:$,defaultToEN:!0});if(!f.equals(A.locale))throw new _A(`fromFormatParser called with a locale of ${f}, but the format parser was created for ${A.locale}`);let{result:E,zone:D,specificOffset:M,invalidReason:o}=A.explainFromTokens(H);if(o)return HH.invalid(o);else return Ef(E,D,L,`format ${A.format}`,H,M)}static get DATE_SHORT(){return MM}static get DATE_MED(){return $c}static get DATE_MED_WITH_WEEKDAY(){return D5}static get DATE_FULL(){return fc}static get DATE_HUGE(){return Ec}static get TIME_SIMPLE(){return Dc}static get TIME_WITH_SECONDS(){return Mc}static get TIME_WITH_SHORT_OFFSET(){return oc}static get TIME_WITH_LONG_OFFSET(){return uc}static get TIME_24_SIMPLE(){return tc}static get TIME_24_WITH_SECONDS(){return ic}static get TIME_24_WITH_SHORT_OFFSET(){return pc}static get TIME_24_WITH_LONG_OFFSET(){return nc}static get DATETIME_SHORT(){return Bc}static get DATETIME_SHORT_WITH_SECONDS(){return cc}static get DATETIME_MED(){return xc}static get DATETIME_MED_WITH_SECONDS(){return Uc}static get DATETIME_MED_WITH_WEEKDAY(){return M5}static get DATETIME_FULL(){return Cc}static get DATETIME_FULL_WITH_SECONDS(){return Tc}static get DATETIME_HUGE(){return Gc}static get DATETIME_HUGE_WITH_SECONDS(){return Fc}}function XE(H){if(HH.isDateTime(H))return H;else if(H&&H.valueOf&&OI(H.valueOf()))return HH.fromJSDate(H);else if(H&&typeof H==="object")return HH.fromObject(H);else throw new _A(`Unknown datetime argument: ${H}, of type ${typeof H}`)}var H4="3.6.1";Dx.DateTime=HH;Dx.Duration=cH;Dx.FixedOffsetZone=vA;Dx.IANAZone=kL;Dx.Info=Df;Dx.Interval=jH;Dx.InvalidZone=hu;Dx.Settings=ZH;Dx.SystemZone=vE;Dx.VERSION=H4;Dx.Zone=p$});var px=Q((ox)=>{Object.defineProperty(ox,"__esModule",{value:!0});ox.RE_RANGE=ox.RE_WILDCARDS=ox.PRESETS=ox.TIME_UNITS_LEN=ox.TIME_UNITS=ox.TIME_UNITS_MAP=ox.ALIASES=ox.PARSE_DEFAULTS=ox.CONSTRAINTS=void 0;ox.CONSTRAINTS=Object.freeze({second:[0,59],minute:[0,59],hour:[0,23],dayOfMonth:[1,31],month:[1,12],dayOfWeek:[0,7]});ox.PARSE_DEFAULTS=Object.freeze({second:"0",minute:"*",hour:"*",dayOfMonth:"*",month:"*",dayOfWeek:"*"});ox.ALIASES=Object.freeze({jan:1,feb:2,mar:3,apr:4,may:5,jun:6,jul:7,aug:8,sep:9,oct:10,nov:11,dec:12,sun:0,mon:1,tue:2,wed:3,thu:4,fri:5,sat:6});ox.TIME_UNITS_MAP=Object.freeze({SECOND:"second",MINUTE:"minute",HOUR:"hour",DAY_OF_MONTH:"dayOfMonth",MONTH:"month",DAY_OF_WEEK:"dayOfWeek"});ox.TIME_UNITS=Object.freeze(Object.values(ox.TIME_UNITS_MAP));ox.TIME_UNITS_LEN=ox.TIME_UNITS.length;ox.PRESETS=Object.freeze({"@yearly":"0 0 0 1 1 *","@monthly":"0 0 0 1 * *","@weekly":"0 0 0 * * 0","@daily":"0 0 0 * * *","@hourly":"0 0 * * * *","@minutely":"0 * * * * *","@secondly":"* * * * * *","@weekdays":"0 0 0 * * 1-5","@weekends":"0 0 0 * * 0,6"});ox.RE_WILDCARDS=/\*/g;ox.RE_RANGE=/^(\d+)(?:-(\d+))?(?:\/(\d+))?$/g});var It=Q((Bx)=>{Object.defineProperty(Bx,"__esModule",{value:!0});Bx.ExclusiveParametersError=Bx.CronError=void 0;class Lt extends Error{}Bx.CronError=Lt;class nx extends Lt{constructor(H,A){super(`You can't specify both ${H} and ${A}`)}}Bx.ExclusiveParametersError=nx});var cM=Q((xx)=>{Object.defineProperty(xx,"__esModule",{value:!0});xx.CronTime=void 0;var fL=Mx(),aA=px(),qA=It();class $t{constructor(H,A,L){if(this.realDate=!1,this.second={},this.minute={},this.hour={},this.dayOfMonth={},this.month={},this.dayOfWeek={},A!=null&&L!=null)throw new qA.ExclusiveParametersError("timeZone","utcOffset");if(A){if(!fL.DateTime.fromObject({},{zone:A}).isValid)throw new qA.CronError("Invalid timezone.");this.timeZone=A}if(L!=null)this.utcOffset=L;if(A==null&&L==null){let I=Intl.DateTimeFormat().resolvedOptions().timeZone;this.timeZone=I}if(H instanceof Date||H instanceof fL.DateTime)this.source=H instanceof Date?fL.DateTime.fromJSDate(H):H,this.realDate=!0;else this.source=H,this._parse(this.source)}static validateCronExpression(H){try{return new $t(H),{valid:!0}}catch(A){return{valid:!1,error:A}}}_getWeekDay(H){return H.weekday===7?0:H.weekday}sendAt(H){let A=this.realDate&&this.source instanceof fL.DateTime?this.source:fL.DateTime.utc();if(this.timeZone)A=A.setZone(this.timeZone);if(this.utcOffset!==void 0){let L=this.utcOffset<0?"-":"+",I=Math.trunc(this.utcOffset/60),$=String(Math.abs(I)).padStart(2,"0"),f=Math.abs(this.utcOffset-I*60),E=String(f).padStart(2,"0"),D=`UTC${L}${$}:${E}`;if(A=A.setZone(D),!A.isValid)throw new qA.CronError("ERROR: You specified an invalid UTC offset.")}if(this.realDate){if(fL.DateTime.local()>A)throw new qA.CronError("WARNING: Date in past. Will never be fired.");return A}if(H===void 0||isNaN(H)||H<0)return this.getNextDateFrom(A);else{let L=[];for(;H>0;H--)A=this.getNextDateFrom(A),L.push(A);return L}}getTimeout(){return Math.max(-1,this.sendAt().toMillis()-fL.DateTime.utc().toMillis())}toString(){return this.toJSON().join(" ")}toJSON(){return aA.TIME_UNITS.map((H)=>{return this._wcOrAll(H)})}getNextDateFrom(H,A){var L,I;if(H instanceof Date)H=fL.DateTime.fromJSDate(H);if(A)H=H.setZone(A);else A=(L=H.zone.zoneName)!==null&&L!==void 0?L:H.zone.fixed;let $=fL.DateTime.fromFormat(`${H.year}-${H.month}-${H.day} ${H.hour}:${H.minute}:${H.second}`,"yyyy-M-d H:m:s",{zone:"UTC"}),f=$.toMillis();if(!this.realDate){if($.millisecond>0)$=$.set({millisecond:0,second:$.second+1})}if(!$.isValid)throw new qA.CronError("ERROR: You specified an invalid date.");let E=fL.DateTime.now().plus({years:8});while(!0){if($>E)throw new qA.CronError(`Something went wrong. No execution date was found in the next 8 years.
4
4
  Please provide the following string if you would like to help debug:
5
- Time Zone: ${(I=A===null||A===void 0?void 0:A.toString())!==null&&I!==void 0?I:'""'} - Cron String: ${this.source.toString()} - UTC offset: ${$.offset} - current Date: ${fL.DateTime.local().toString()}`);if(!($.month in this.month)&&Object.keys(this.month).length!==12){$=$.plus({month:1}),$=$.set({day:1,hour:0,minute:0,second:0});continue}if(!($.day in this.dayOfMonth)&&Object.keys(this.dayOfMonth).length!==31&&!((this._getWeekDay($)in this.dayOfWeek)&&Object.keys(this.dayOfWeek).length!==7)||!(this._getWeekDay($)in this.dayOfWeek)&&Object.keys(this.dayOfWeek).length!==7&&!(($.day in this.dayOfMonth)&&Object.keys(this.dayOfMonth).length!==31)){$=$.plus({days:1}),$=$.set({hour:0,minute:0,second:0});continue}if(!($.hour in this.hour)&&Object.keys(this.hour).length!==24){$=$.plus({hour:1}),$=$.set({minute:0,second:0});continue}if(!($.minute in this.minute)&&Object.keys(this.minute).length!==60){$=$.plus({minute:1}),$=$.set({second:0});continue}if($.toMillis()===f||!($.second in this.second)&&Object.keys(this.second).length!==60){$=$.plus({second:1});continue}break}let{hour:D,minute:M}=$;$=fL.DateTime.fromFormat(`${$.year}-${$.month}-${$.day} ${$.hour}:${$.minute}:${$.second}`,"yyyy-M-d H:m:s",{zone:A});let o=fL.DateTime.fromFormat(`${$.year}-1-1 0:0:0`,"yyyy-M-d H:m:s",{zone:A});if((D!==$.hour||M!==$.minute)&&o.offset!==$.offset){while($.minus({minute:1}).offset!==o.offset)$=$.minus({minute:1});return $}let u=$.minus({hour:1}),t=$.minus({hour:2});if((u.hour===$.hour||t.hour===u.hour)&&u>H)$=u;let i=$.minus({minute:30});if((i.minute===$.minute||u.minute===i.minute)&&i>H)$=i;return $}_wcOrAll(H){if(this._hasAll(H))return"*";let A=[];for(let L in this[H])A.push(L);return A.join(",")}_hasAll(H){let A=aA.CONSTRAINTS[H],L=A[0],I=H===aA.TIME_UNITS_MAP.DAY_OF_WEEK?A[1]-1:A[1];for(let $=L,f=I;$<f;$++)if(!($ in this[H]))return!1;return!0}_parse(H){var A;if(H=H.toLowerCase(),Object.keys(aA.PRESETS).includes(H))H=aA.PRESETS[H];H=H.replace(/[a-z]{1,3}/gi,($)=>{if(Object.keys(aA.ALIASES).includes($))return aA.ALIASES[$].toString();throw new qA.CronError(`Unknown alias: ${$}`)});let L=H.trim().split(/\s+/);if(L.length<aA.TIME_UNITS_LEN-1)throw new qA.CronError("Too few fields");if(L.length>aA.TIME_UNITS_LEN)throw new qA.CronError("Too many fields");let I=L.length;for(let $ of aA.TIME_UNITS){let f=aA.TIME_UNITS.indexOf($),E=(A=L[f-(aA.TIME_UNITS_LEN-I)])!==null&&A!==void 0?A:aA.PARSE_DEFAULTS[$];this._parseField(E,$)}}_parseField(H,A){let L=this[A],I,$=aA.CONSTRAINTS[A],f=$[0],E=$[1];H.split(",").forEach((o)=>{let u=o.indexOf("*");if(u!==-1&&u!==0)throw new qA.CronError(`Field (${o}) has an invalid wildcard expression`)}),H=H.replace(aA.RE_WILDCARDS,`${f}-${E}`);let M=H.split(",");for(let o of M){let u=[...o.matchAll(aA.RE_RANGE)][0];if((u===null||u===void 0?void 0:u[1])!==void 0){let[,t,i,B]=u,U=parseInt(t,10),x=i!==void 0?parseInt(i,10):void 0,T=B!==void 0,F=parseInt(B!==null&&B!==void 0?B:"1",10);if(F===0)throw new qA.CronError(`Field (${A}) has a step of zero`);if(x!==void 0&&U>x)throw new qA.CronError(`Field (${A}) has an invalid range`);if(U<f||x!==void 0&&x>E||x===void 0&&U>E)throw new qA.CronError(`Field value (${H}) is out of range`);if(U=Math.min(Math.max(f,~~Math.abs(U)),E),x!==void 0)x=Math.min(E,~~Math.abs(x));else x=T?E:U;I=U;do L[I]=!0,I+=F;while(I<=x);if(A==="dayOfWeek"){if(!L[0]&&!!L[7])L[0]=L[7];delete L[7]}}else throw new qA.CronError(`Field (${A}) cannot be parsed`)}}}xx.CronTime=$t});var Tx=Q((cf)=>{var xM=cf&&cf.__awaiter||function(H,A,L,I){function $(f){return f instanceof L?f:new L(function(E){E(f)})}return new(L||(L=Promise))(function(f,E){function D(u){try{o(I.next(u))}catch(t){E(t)}}function M(u){try{o(I.throw(u))}catch(t){E(t)}}function o(u){u.done?f(u.value):$(u.value).then(D,M)}o((I=I.apply(H,A||[])).next())})};Object.defineProperty(cf,"__esModule",{value:!0});cf.CronJob=void 0;var Cx=O("child_process"),ft=It(),UM=cM();class sE{get isActive(){return this._isActive}get isCallbackRunning(){return this._isCallbackRunning}constructor(H,A,L,I,$,f,E,D,M,o,u){if(this.unrefTimeout=!1,this.lastExecution=null,this.runOnce=!1,this.waitForCompletion=!1,this._isActive=!1,this._isCallbackRunning=!1,this._callbacks=[],this.context=f!==null&&f!==void 0?f:this,this.waitForCompletion=Boolean(o),this.errorHandler=u,$!=null&&D!=null)throw new ft.ExclusiveParametersError("timeZone","utcOffset");if($!=null)this.cronTime=new UM.CronTime(H,$,null);else if(D!=null)this.cronTime=new UM.CronTime(H,null,D);else this.cronTime=new UM.CronTime(H,$,D);if(M!=null)this.unrefTimeout=M;if(L!=null)this.onComplete=this._fnWrap(L);if(this.cronTime.realDate)this.runOnce=!0;if(this.addCallback(this._fnWrap(A)),E)this.lastExecution=new Date,this.fireOnTick();if(I)this.start()}static from(H){if(H.timeZone!=null&&H.utcOffset!=null)throw new ft.ExclusiveParametersError("timeZone","utcOffset");if(H.timeZone!=null)return new sE(H.cronTime,H.onTick,H.onComplete,H.start,H.timeZone,H.context,H.runOnInit,H.utcOffset,H.unrefTimeout,H.waitForCompletion,H.errorHandler);else if(H.utcOffset!=null)return new sE(H.cronTime,H.onTick,H.onComplete,H.start,null,H.context,H.runOnInit,H.utcOffset,H.unrefTimeout,H.waitForCompletion,H.errorHandler);else return new sE(H.cronTime,H.onTick,H.onComplete,H.start,H.timeZone,H.context,H.runOnInit,H.utcOffset,H.unrefTimeout,H.waitForCompletion,H.errorHandler)}_fnWrap(H){var A,L;switch(typeof H){case"function":return H;case"string":{let[I,...$]=H.split(" ");return Cx.spawn.bind(void 0,I!==null&&I!==void 0?I:H,$,{})}case"object":return Cx.spawn.bind(void 0,H.command,(A=H.args)!==null&&A!==void 0?A:[],(L=H.options)!==null&&L!==void 0?L:{})}}addCallback(H){if(typeof H==="function")this._callbacks.push(H)}setTime(H){if(!(H instanceof UM.CronTime))throw new ft.CronError("time must be an instance of CronTime.");let A=this._isActive;if(this.stop(),this.cronTime=H,H.realDate)this.runOnce=!0;if(A)this.start()}nextDate(){return this.cronTime.sendAt()}fireOnTick(){return xM(this,void 0,void 0,function*(){if(this.waitForCompletion&&this._isCallbackRunning)return;this._isCallbackRunning=!0;try{for(let H of this._callbacks){let A=H.call(this.context,this.onComplete);if(this.waitForCompletion)yield A}}catch(H){if(this.errorHandler!=null)this.errorHandler(H);else console.error("[Cron] error in callback",H)}finally{this._isCallbackRunning=!1}})}nextDates(H){return this.cronTime.sendAt(H!==null&&H!==void 0?H:0)}start(){if(this._isActive)return;let H=2147483647,A=this.cronTime.getTimeout(),L=0,I,$=(E)=>{if(I=Date.now(),this._timeout=setTimeout(f,E),this.unrefTimeout&&typeof this._timeout.unref==="function")this._timeout.unref()},f=()=>{let E=I+A-Date.now();if(E>0){let D=this.cronTime.getTimeout();if(D>E)D=E;L+=D}if(L){if(L>H)L-=H,A=H;else A=L,L=0;$(A)}else{if(this.lastExecution=new Date,this._isActive=!1,!this.runOnce)this.start();this.fireOnTick()}};if(A>=0){if(this._isActive=!0,A>H)L=A-H,A=H;$(A)}else this.stop()}lastDate(){return this.lastExecution}_executeOnComplete(){return xM(this,void 0,void 0,function*(){if(typeof this.onComplete!=="function")return;try{yield this.onComplete.call(this.context)}catch(H){console.error("[Cron] error in onComplete callback:",H)}})}_waitForJobCompletion(){return xM(this,void 0,void 0,function*(){while(this._isCallbackRunning)yield new Promise((H)=>setTimeout(H,100))})}stop(){if(this._timeout)clearTimeout(this._timeout);if(this._isActive=!1,!this.waitForCompletion){this._executeOnComplete();return}Promise.resolve().then(()=>xM(this,void 0,void 0,function*(){yield this._waitForJobCompletion(),yield this._executeOnComplete()}))}}cf.CronJob=sE});var Dt=Q((CM)=>{Object.defineProperty(CM,"__esModule",{value:!0});CM.validateCronExpression=CM.timeout=CM.sendAt=CM.CronTime=CM.CronJob=void 0;var Et=cM(),C4=Tx();Object.defineProperty(CM,"CronJob",{enumerable:!0,get:function(){return C4.CronJob}});var T4=cM();Object.defineProperty(CM,"CronTime",{enumerable:!0,get:function(){return T4.CronTime}});var G4=(H)=>new Et.CronTime(H).sendAt();CM.sendAt=G4;var F4=(H)=>new Et.CronTime(H).getTimeout();CM.timeout=F4;CM.validateCronExpression=Et.CronTime.validateCronExpression});var BC=Q((pIH,Pt)=>{Pt.exports=nC;Pt.exports.preferredCharsets=nC;var v4=/^\s*([^\s;]+)\s*(?:;(.*))?$/;function a4(H){var A=H.split(",");for(var L=0,I=0;L<A.length;L++){var $=l4(A[L].trim(),L);if($)A[I++]=$}return A.length=I,A}function l4(H,A){var L=v4.exec(H);if(!L)return null;var I=L[1],$=1;if(L[2]){var f=L[2].split(";");for(var E=0;E<f.length;E++){var D=f[E].trim().split("=");if(D[0]==="q"){$=parseFloat(D[1]);break}}}return{charset:I,q:$,i:A}}function O4(H,A,L){var I={o:-1,q:0,s:0};for(var $=0;$<A.length;$++){var f=s4(H,A[$],L);if(f&&(I.s-f.s||I.q-f.q||I.o-f.o)<0)I=f}return I}function s4(H,A,L){var I=0;if(A.charset.toLowerCase()===H.toLowerCase())I|=1;else if(A.charset!=="*")return null;return{i:L,o:A.i,q:A.q,s:I}}function nC(H,A){var L=a4(H===void 0?"*":H||"");if(!A)return L.filter(pC).sort(iC).map(N4);var I=A.map(function $(f,E){return O4(f,L,E)});return I.filter(pC).sort(iC).map(function $(f){return A[I.indexOf(f)]})}function iC(H,A){return A.q-H.q||A.s-H.s||H.o-A.o||H.i-A.i||0}function N4(H){return H.charset}function pC(H){return H.q>0}});var TC=Q((nIH,Xt)=>{Xt.exports=CC;Xt.exports.preferredEncodings=CC;var y4=/^\s*([^\s;]+)\s*(?:;(.*))?$/;function R4(H){var A=H.split(","),L=!1,I=1;for(var $=0,f=0;$<A.length;$++){var E=Y4(A[$].trim(),$);if(E)A[f++]=E,L=L||UC("identity",E),I=Math.min(I,E.q||1)}if(!L)A[f++]={encoding:"identity",q:I,i:$};return A.length=f,A}function Y4(H,A){var L=y4.exec(H);if(!L)return null;var I=L[1],$=1;if(L[2]){var f=L[2].split(";");for(var E=0;E<f.length;E++){var D=f[E].trim().split("=");if(D[0]==="q"){$=parseFloat(D[1]);break}}}return{encoding:I,q:$,i:A}}function Q4(H,A,L){var I={o:-1,q:0,s:0};for(var $=0;$<A.length;$++){var f=UC(H,A[$],L);if(f&&(I.s-f.s||I.q-f.q||I.o-f.o)<0)I=f}return I}function UC(H,A,L){var I=0;if(A.encoding.toLowerCase()===H.toLowerCase())I|=1;else if(A.encoding!=="*")return null;return{i:L,o:A.i,q:A.q,s:I}}function CC(H,A){var L=R4(H||"");if(!A)return L.filter(xC).sort(cC).map(z4);var I=A.map(function $(f,E){return Q4(f,L,E)});return I.filter(xC).sort(cC).map(function $(f){return A[I.indexOf(f)]})}function cC(H,A){return A.q-H.q||A.s-H.s||H.o-A.o||H.i-A.i||0}function z4(H){return H.encoding}function xC(H){return H.q>0}});var mC=Q((BIH,St)=>{St.exports=WC;St.exports.preferredLanguages=WC;var b4=/^\s*([^\s\-;]+)(?:-([^\s;]+))?\s*(?:;(.*))?$/;function Z4(H){var A=H.split(",");for(var L=0,I=0;L<A.length;L++){var $=_C(A[L].trim(),L);if($)A[I++]=$}return A.length=I,A}function _C(H,A){var L=b4.exec(H);if(!L)return null;var I=L[1],$=L[2],f=I;if($)f+="-"+$;var E=1;if(L[3]){var D=L[3].split(";");for(var M=0;M<D.length;M++){var o=D[M].split("=");if(o[0]==="q")E=parseFloat(o[1])}}return{prefix:I,suffix:$,q:E,i:A,full:f}}function h4(H,A,L){var I={o:-1,q:0,s:0};for(var $=0;$<A.length;$++){var f=r4(H,A[$],L);if(f&&(I.s-f.s||I.q-f.q||I.o-f.o)<0)I=f}return I}function r4(H,A,L){var I=_C(H);if(!I)return null;var $=0;if(A.full.toLowerCase()===I.full.toLowerCase())$|=4;else if(A.prefix.toLowerCase()===I.full.toLowerCase())$|=2;else if(A.full.toLowerCase()===I.prefix.toLowerCase())$|=1;else if(A.full!=="*")return null;return{i:L,o:A.i,q:A.q,s:$}}function WC(H,A){var L=Z4(H===void 0?"*":H||"");if(!A)return L.filter(FC).sort(GC).map(j4);var I=A.map(function $(f,E){return h4(f,L,E)});return I.filter(FC).sort(GC).map(function $(f){return A[I.indexOf(f)]})}function GC(H,A){return A.q-H.q||A.s-H.s||H.o-A.o||H.i-A.i||0}function j4(H){return H.full}function FC(H){return H.q>0}});var wC=Q((cIH,Jt)=>{Jt.exports=JC;Jt.exports.preferredMediaTypes=JC;var k4=/^\s*([^\s\/;]+)\/([^;\s]+)\s*(?:;(.*))?$/;function d4(H){var A=AV(H);for(var L=0,I=0;L<A.length;L++){var $=SC(A[L].trim(),L);if($)A[I++]=$}return A.length=I,A}function SC(H,A){var L=k4.exec(H);if(!L)return null;var I=Object.create(null),$=1,f=L[2],E=L[1];if(L[3]){var D=LV(L[3]).map(HV);for(var M=0;M<D.length;M++){var o=D[M],u=o[0].toLowerCase(),t=o[1],i=t&&t[0]==='"'&&t[t.length-1]==='"'?t.substr(1,t.length-2):t;if(u==="q"){$=parseFloat(i);break}I[u]=i}}return{type:E,subtype:f,params:I,q:$,i:A}}function q4(H,A,L){var I={o:-1,q:0,s:0};for(var $=0;$<A.length;$++){var f=g4(H,A[$],L);if(f&&(I.s-f.s||I.q-f.q||I.o-f.o)<0)I=f}return I}function g4(H,A,L){var I=SC(H),$=0;if(!I)return null;if(A.type.toLowerCase()==I.type.toLowerCase())$|=4;else if(A.type!="*")return null;if(A.subtype.toLowerCase()==I.subtype.toLowerCase())$|=2;else if(A.subtype!="*")return null;var f=Object.keys(A.params);if(f.length>0)if(f.every(function(E){return A.params[E]=="*"||(A.params[E]||"").toLowerCase()==(I.params[E]||"").toLowerCase()}))$|=1;else return null;return{i:L,o:A.i,q:A.q,s:$}}function JC(H,A){var L=d4(H===void 0?"*/*":H||"");if(!A)return L.filter(XC).sort(PC).map(e4);var I=A.map(function $(f,E){return q4(f,L,E)});return I.filter(XC).sort(PC).map(function $(f){return A[I.indexOf(f)]})}function PC(H,A){return A.q-H.q||A.s-H.s||H.o-A.o||H.i-A.i||0}function e4(H){return H.type+"/"+H.subtype}function XC(H){return H.q>0}function VC(H){var A=0,L=0;while((L=H.indexOf('"',L))!==-1)A++,L++;return A}function HV(H){var A=H.indexOf("="),L,I;if(A===-1)L=H;else L=H.substr(0,A),I=H.substr(A+1);return[L,I]}function AV(H){var A=H.split(",");for(var L=1,I=0;L<A.length;L++)if(VC(A[I])%2==0)A[++I]=A[L];else A[I]+=","+A[L];return A.length=I+1,A}function LV(H){var A=H.split(";");for(var L=1,I=0;L<A.length;L++)if(VC(A[I])%2==0)A[++I]=A[L];else A[I]+=";"+A[L];A.length=I+1;for(var L=0;L<A.length;L++)A[L]=A[L].trim();return A}});var KC=Q((xIH,Vt)=>{/*!
5
+ Time Zone: ${(I=A===null||A===void 0?void 0:A.toString())!==null&&I!==void 0?I:'""'} - Cron String: ${this.source.toString()} - UTC offset: ${$.offset} - current Date: ${fL.DateTime.local().toString()}`);if(!($.month in this.month)&&Object.keys(this.month).length!==12){$=$.plus({month:1}),$=$.set({day:1,hour:0,minute:0,second:0});continue}if(!($.day in this.dayOfMonth)&&Object.keys(this.dayOfMonth).length!==31&&!((this._getWeekDay($)in this.dayOfWeek)&&Object.keys(this.dayOfWeek).length!==7)||!(this._getWeekDay($)in this.dayOfWeek)&&Object.keys(this.dayOfWeek).length!==7&&!(($.day in this.dayOfMonth)&&Object.keys(this.dayOfMonth).length!==31)){$=$.plus({days:1}),$=$.set({hour:0,minute:0,second:0});continue}if(!($.hour in this.hour)&&Object.keys(this.hour).length!==24){$=$.plus({hour:1}),$=$.set({minute:0,second:0});continue}if(!($.minute in this.minute)&&Object.keys(this.minute).length!==60){$=$.plus({minute:1}),$=$.set({second:0});continue}if($.toMillis()===f||!($.second in this.second)&&Object.keys(this.second).length!==60){$=$.plus({second:1});continue}break}let{hour:D,minute:M}=$;$=fL.DateTime.fromFormat(`${$.year}-${$.month}-${$.day} ${$.hour}:${$.minute}:${$.second}`,"yyyy-M-d H:m:s",{zone:A});let o=fL.DateTime.fromFormat(`${$.year}-1-1 0:0:0`,"yyyy-M-d H:m:s",{zone:A});if((D!==$.hour||M!==$.minute)&&o.offset!==$.offset){while($.minus({minute:1}).offset!==o.offset)$=$.minus({minute:1});return $}let u=$.minus({hour:1}),t=$.minus({hour:2});if((u.hour===$.hour||t.hour===u.hour)&&u>H)$=u;let i=$.minus({minute:30});if((i.minute===$.minute||u.minute===i.minute)&&i>H)$=i;return $}_wcOrAll(H){if(this._hasAll(H))return"*";let A=[];for(let L in this[H])A.push(L);return A.join(",")}_hasAll(H){let A=aA.CONSTRAINTS[H],L=A[0],I=H===aA.TIME_UNITS_MAP.DAY_OF_WEEK?A[1]-1:A[1];for(let $=L,f=I;$<f;$++)if(!($ in this[H]))return!1;return!0}_parse(H){var A;if(H=H.toLowerCase(),Object.keys(aA.PRESETS).includes(H))H=aA.PRESETS[H];H=H.replace(/[a-z]{1,3}/gi,($)=>{if(Object.keys(aA.ALIASES).includes($))return aA.ALIASES[$].toString();throw new qA.CronError(`Unknown alias: ${$}`)});let L=H.trim().split(/\s+/);if(L.length<aA.TIME_UNITS_LEN-1)throw new qA.CronError("Too few fields");if(L.length>aA.TIME_UNITS_LEN)throw new qA.CronError("Too many fields");let I=L.length;for(let $ of aA.TIME_UNITS){let f=aA.TIME_UNITS.indexOf($),E=(A=L[f-(aA.TIME_UNITS_LEN-I)])!==null&&A!==void 0?A:aA.PARSE_DEFAULTS[$];this._parseField(E,$)}}_parseField(H,A){let L=this[A],I,$=aA.CONSTRAINTS[A],f=$[0],E=$[1];H.split(",").forEach((o)=>{let u=o.indexOf("*");if(u!==-1&&u!==0)throw new qA.CronError(`Field (${o}) has an invalid wildcard expression`)}),H=H.replace(aA.RE_WILDCARDS,`${f}-${E}`);let M=H.split(",");for(let o of M){let u=[...o.matchAll(aA.RE_RANGE)][0];if((u===null||u===void 0?void 0:u[1])!==void 0){let[,t,i,B]=u,U=parseInt(t,10),x=i!==void 0?parseInt(i,10):void 0,T=B!==void 0,F=parseInt(B!==null&&B!==void 0?B:"1",10);if(F===0)throw new qA.CronError(`Field (${A}) has a step of zero`);if(x!==void 0&&U>x)throw new qA.CronError(`Field (${A}) has an invalid range`);if(U<f||x!==void 0&&x>E||x===void 0&&U>E)throw new qA.CronError(`Field value (${H}) is out of range`);if(U=Math.min(Math.max(f,~~Math.abs(U)),E),x!==void 0)x=Math.min(E,~~Math.abs(x));else x=T?E:U;I=U;do L[I]=!0,I+=F;while(I<=x);if(A==="dayOfWeek"){if(!L[0]&&!!L[7])L[0]=L[7];delete L[7]}}else throw new qA.CronError(`Field (${A}) cannot be parsed`)}}}xx.CronTime=$t});var Tx=Q((cf)=>{var xM=cf&&cf.__awaiter||function(H,A,L,I){function $(f){return f instanceof L?f:new L(function(E){E(f)})}return new(L||(L=Promise))(function(f,E){function D(u){try{o(I.next(u))}catch(t){E(t)}}function M(u){try{o(I.throw(u))}catch(t){E(t)}}function o(u){u.done?f(u.value):$(u.value).then(D,M)}o((I=I.apply(H,A||[])).next())})};Object.defineProperty(cf,"__esModule",{value:!0});cf.CronJob=void 0;var Cx=O("child_process"),ft=It(),UM=cM();class sE{get isActive(){return this._isActive}get isCallbackRunning(){return this._isCallbackRunning}constructor(H,A,L,I,$,f,E,D,M,o,u){if(this.unrefTimeout=!1,this.lastExecution=null,this.runOnce=!1,this.waitForCompletion=!1,this._isActive=!1,this._isCallbackRunning=!1,this._callbacks=[],this.context=f!==null&&f!==void 0?f:this,this.waitForCompletion=Boolean(o),this.errorHandler=u,$!=null&&D!=null)throw new ft.ExclusiveParametersError("timeZone","utcOffset");if($!=null)this.cronTime=new UM.CronTime(H,$,null);else if(D!=null)this.cronTime=new UM.CronTime(H,null,D);else this.cronTime=new UM.CronTime(H,$,D);if(M!=null)this.unrefTimeout=M;if(L!=null)this.onComplete=this._fnWrap(L);if(this.cronTime.realDate)this.runOnce=!0;if(this.addCallback(this._fnWrap(A)),E)this.lastExecution=new Date,this.fireOnTick();if(I)this.start()}static from(H){if(H.timeZone!=null&&H.utcOffset!=null)throw new ft.ExclusiveParametersError("timeZone","utcOffset");if(H.timeZone!=null)return new sE(H.cronTime,H.onTick,H.onComplete,H.start,H.timeZone,H.context,H.runOnInit,H.utcOffset,H.unrefTimeout,H.waitForCompletion,H.errorHandler);else if(H.utcOffset!=null)return new sE(H.cronTime,H.onTick,H.onComplete,H.start,null,H.context,H.runOnInit,H.utcOffset,H.unrefTimeout,H.waitForCompletion,H.errorHandler);else return new sE(H.cronTime,H.onTick,H.onComplete,H.start,H.timeZone,H.context,H.runOnInit,H.utcOffset,H.unrefTimeout,H.waitForCompletion,H.errorHandler)}_fnWrap(H){var A,L;switch(typeof H){case"function":return H;case"string":{let[I,...$]=H.split(" ");return Cx.spawn.bind(void 0,I!==null&&I!==void 0?I:H,$,{})}case"object":return Cx.spawn.bind(void 0,H.command,(A=H.args)!==null&&A!==void 0?A:[],(L=H.options)!==null&&L!==void 0?L:{})}}addCallback(H){if(typeof H==="function")this._callbacks.push(H)}setTime(H){if(!(H instanceof UM.CronTime))throw new ft.CronError("time must be an instance of CronTime.");let A=this._isActive;if(this.stop(),this.cronTime=H,H.realDate)this.runOnce=!0;if(A)this.start()}nextDate(){return this.cronTime.sendAt()}fireOnTick(){return xM(this,void 0,void 0,function*(){if(this.waitForCompletion&&this._isCallbackRunning)return;this._isCallbackRunning=!0;try{for(let H of this._callbacks){let A=H.call(this.context,this.onComplete);if(this.waitForCompletion)yield A}}catch(H){if(this.errorHandler!=null)this.errorHandler(H);else console.error("[Cron] error in callback",H)}finally{this._isCallbackRunning=!1}})}nextDates(H){return this.cronTime.sendAt(H!==null&&H!==void 0?H:0)}start(){if(this._isActive)return;let H=2147483647,A=this.cronTime.getTimeout(),L=0,I,$=(E)=>{if(I=Date.now(),this._timeout=setTimeout(f,E),this.unrefTimeout&&typeof this._timeout.unref==="function")this._timeout.unref()},f=()=>{let E=I+A-Date.now();if(E>0){let D=this.cronTime.getTimeout();if(D>E)D=E;L+=D}if(L){if(L>H)L-=H,A=H;else A=L,L=0;$(A)}else{if(this.lastExecution=new Date,this._isActive=!1,!this.runOnce)this.start();this.fireOnTick()}};if(A>=0){if(this._isActive=!0,A>H)L=A-H,A=H;$(A)}else this.stop()}lastDate(){return this.lastExecution}_executeOnComplete(){return xM(this,void 0,void 0,function*(){if(typeof this.onComplete!=="function")return;try{yield this.onComplete.call(this.context)}catch(H){console.error("[Cron] error in onComplete callback:",H)}})}_waitForJobCompletion(){return xM(this,void 0,void 0,function*(){while(this._isCallbackRunning)yield new Promise((H)=>setTimeout(H,100))})}stop(){if(this._timeout)clearTimeout(this._timeout);if(this._isActive=!1,!this.waitForCompletion){this._executeOnComplete();return}return Promise.resolve().then(()=>xM(this,void 0,void 0,function*(){yield this._waitForJobCompletion(),yield this._executeOnComplete()}))}}cf.CronJob=sE});var Dt=Q((CM)=>{Object.defineProperty(CM,"__esModule",{value:!0});CM.validateCronExpression=CM.timeout=CM.sendAt=CM.CronTime=CM.CronJob=void 0;var Et=cM(),C4=Tx();Object.defineProperty(CM,"CronJob",{enumerable:!0,get:function(){return C4.CronJob}});var T4=cM();Object.defineProperty(CM,"CronTime",{enumerable:!0,get:function(){return T4.CronTime}});var G4=(H)=>new Et.CronTime(H).sendAt();CM.sendAt=G4;var F4=(H)=>new Et.CronTime(H).getTimeout();CM.timeout=F4;CM.validateCronExpression=Et.CronTime.validateCronExpression});var BC=Q((pIH,Pt)=>{Pt.exports=nC;Pt.exports.preferredCharsets=nC;var v4=/^\s*([^\s;]+)\s*(?:;(.*))?$/;function a4(H){var A=H.split(",");for(var L=0,I=0;L<A.length;L++){var $=l4(A[L].trim(),L);if($)A[I++]=$}return A.length=I,A}function l4(H,A){var L=v4.exec(H);if(!L)return null;var I=L[1],$=1;if(L[2]){var f=L[2].split(";");for(var E=0;E<f.length;E++){var D=f[E].trim().split("=");if(D[0]==="q"){$=parseFloat(D[1]);break}}}return{charset:I,q:$,i:A}}function O4(H,A,L){var I={o:-1,q:0,s:0};for(var $=0;$<A.length;$++){var f=s4(H,A[$],L);if(f&&(I.s-f.s||I.q-f.q||I.o-f.o)<0)I=f}return I}function s4(H,A,L){var I=0;if(A.charset.toLowerCase()===H.toLowerCase())I|=1;else if(A.charset!=="*")return null;return{i:L,o:A.i,q:A.q,s:I}}function nC(H,A){var L=a4(H===void 0?"*":H||"");if(!A)return L.filter(pC).sort(iC).map(N4);var I=A.map(function $(f,E){return O4(f,L,E)});return I.filter(pC).sort(iC).map(function $(f){return A[I.indexOf(f)]})}function iC(H,A){return A.q-H.q||A.s-H.s||H.o-A.o||H.i-A.i||0}function N4(H){return H.charset}function pC(H){return H.q>0}});var TC=Q((nIH,Xt)=>{Xt.exports=CC;Xt.exports.preferredEncodings=CC;var y4=/^\s*([^\s;]+)\s*(?:;(.*))?$/;function R4(H){var A=H.split(","),L=!1,I=1;for(var $=0,f=0;$<A.length;$++){var E=Y4(A[$].trim(),$);if(E)A[f++]=E,L=L||UC("identity",E),I=Math.min(I,E.q||1)}if(!L)A[f++]={encoding:"identity",q:I,i:$};return A.length=f,A}function Y4(H,A){var L=y4.exec(H);if(!L)return null;var I=L[1],$=1;if(L[2]){var f=L[2].split(";");for(var E=0;E<f.length;E++){var D=f[E].trim().split("=");if(D[0]==="q"){$=parseFloat(D[1]);break}}}return{encoding:I,q:$,i:A}}function Q4(H,A,L){var I={o:-1,q:0,s:0};for(var $=0;$<A.length;$++){var f=UC(H,A[$],L);if(f&&(I.s-f.s||I.q-f.q||I.o-f.o)<0)I=f}return I}function UC(H,A,L){var I=0;if(A.encoding.toLowerCase()===H.toLowerCase())I|=1;else if(A.encoding!=="*")return null;return{i:L,o:A.i,q:A.q,s:I}}function CC(H,A){var L=R4(H||"");if(!A)return L.filter(xC).sort(cC).map(z4);var I=A.map(function $(f,E){return Q4(f,L,E)});return I.filter(xC).sort(cC).map(function $(f){return A[I.indexOf(f)]})}function cC(H,A){return A.q-H.q||A.s-H.s||H.o-A.o||H.i-A.i||0}function z4(H){return H.encoding}function xC(H){return H.q>0}});var mC=Q((BIH,St)=>{St.exports=WC;St.exports.preferredLanguages=WC;var b4=/^\s*([^\s\-;]+)(?:-([^\s;]+))?\s*(?:;(.*))?$/;function Z4(H){var A=H.split(",");for(var L=0,I=0;L<A.length;L++){var $=_C(A[L].trim(),L);if($)A[I++]=$}return A.length=I,A}function _C(H,A){var L=b4.exec(H);if(!L)return null;var I=L[1],$=L[2],f=I;if($)f+="-"+$;var E=1;if(L[3]){var D=L[3].split(";");for(var M=0;M<D.length;M++){var o=D[M].split("=");if(o[0]==="q")E=parseFloat(o[1])}}return{prefix:I,suffix:$,q:E,i:A,full:f}}function h4(H,A,L){var I={o:-1,q:0,s:0};for(var $=0;$<A.length;$++){var f=r4(H,A[$],L);if(f&&(I.s-f.s||I.q-f.q||I.o-f.o)<0)I=f}return I}function r4(H,A,L){var I=_C(H);if(!I)return null;var $=0;if(A.full.toLowerCase()===I.full.toLowerCase())$|=4;else if(A.prefix.toLowerCase()===I.full.toLowerCase())$|=2;else if(A.full.toLowerCase()===I.prefix.toLowerCase())$|=1;else if(A.full!=="*")return null;return{i:L,o:A.i,q:A.q,s:$}}function WC(H,A){var L=Z4(H===void 0?"*":H||"");if(!A)return L.filter(FC).sort(GC).map(j4);var I=A.map(function $(f,E){return h4(f,L,E)});return I.filter(FC).sort(GC).map(function $(f){return A[I.indexOf(f)]})}function GC(H,A){return A.q-H.q||A.s-H.s||H.o-A.o||H.i-A.i||0}function j4(H){return H.full}function FC(H){return H.q>0}});var wC=Q((cIH,Jt)=>{Jt.exports=JC;Jt.exports.preferredMediaTypes=JC;var k4=/^\s*([^\s\/;]+)\/([^;\s]+)\s*(?:;(.*))?$/;function d4(H){var A=AV(H);for(var L=0,I=0;L<A.length;L++){var $=SC(A[L].trim(),L);if($)A[I++]=$}return A.length=I,A}function SC(H,A){var L=k4.exec(H);if(!L)return null;var I=Object.create(null),$=1,f=L[2],E=L[1];if(L[3]){var D=LV(L[3]).map(HV);for(var M=0;M<D.length;M++){var o=D[M],u=o[0].toLowerCase(),t=o[1],i=t&&t[0]==='"'&&t[t.length-1]==='"'?t.substr(1,t.length-2):t;if(u==="q"){$=parseFloat(i);break}I[u]=i}}return{type:E,subtype:f,params:I,q:$,i:A}}function q4(H,A,L){var I={o:-1,q:0,s:0};for(var $=0;$<A.length;$++){var f=g4(H,A[$],L);if(f&&(I.s-f.s||I.q-f.q||I.o-f.o)<0)I=f}return I}function g4(H,A,L){var I=SC(H),$=0;if(!I)return null;if(A.type.toLowerCase()==I.type.toLowerCase())$|=4;else if(A.type!="*")return null;if(A.subtype.toLowerCase()==I.subtype.toLowerCase())$|=2;else if(A.subtype!="*")return null;var f=Object.keys(A.params);if(f.length>0)if(f.every(function(E){return A.params[E]=="*"||(A.params[E]||"").toLowerCase()==(I.params[E]||"").toLowerCase()}))$|=1;else return null;return{i:L,o:A.i,q:A.q,s:$}}function JC(H,A){var L=d4(H===void 0?"*/*":H||"");if(!A)return L.filter(XC).sort(PC).map(e4);var I=A.map(function $(f,E){return q4(f,L,E)});return I.filter(XC).sort(PC).map(function $(f){return A[I.indexOf(f)]})}function PC(H,A){return A.q-H.q||A.s-H.s||H.o-A.o||H.i-A.i||0}function e4(H){return H.type+"/"+H.subtype}function XC(H){return H.q>0}function VC(H){var A=0,L=0;while((L=H.indexOf('"',L))!==-1)A++,L++;return A}function HV(H){var A=H.indexOf("="),L,I;if(A===-1)L=H;else L=H.substr(0,A),I=H.substr(A+1);return[L,I]}function AV(H){var A=H.split(",");for(var L=1,I=0;L<A.length;L++)if(VC(A[I])%2==0)A[++I]=A[L];else A[I]+=","+A[L];return A.length=I+1,A}function LV(H){var A=H.split(";");for(var L=1,I=0;L<A.length;L++)if(VC(A[I])%2==0)A[++I]=A[L];else A[I]+=";"+A[L];A.length=I+1;for(var L=0;L<A.length;L++)A[L]=A[L].trim();return A}});var KC=Q((xIH,Vt)=>{/*!
6
6
  * negotiator
7
7
  * Copyright(c) 2012 Federico Romero
8
8
  * Copyright(c) 2012-2014 Isaac Z. Schlueter
@@ -95,7 +95,7 @@ ${B.trace}`:`No previous disposal trace for ${L} was found.`);return}let $=H.mol
95
95
  ${i.trace}`:`No previous disposal trace for ${$} was found.`),L}let D=pH(A),M=f.molecules.get(D);if(!M){let i=H.disposalTraces.buffer.find((B)=>B?.key===D);return H.logger.error("\u274C","molecule",L,"claim failed:",`Could not allocate to ${D} in store "${H.config.name}".`,i?`
96
96
  ${D} was most recently disposed
97
97
  ${i.trace}`:`No previous disposal trace for ${D} was found.`),L}let o=H.moleculeGraph.getRelationEntries({downstreamMoleculeKey:E.stringKey}).filter(([,{source:i}])=>i!==$).map(([i])=>xA(i));if(I)f.moleculeGraph.delete($);f.moleculeGraph.set({upstreamMoleculeKey:M.stringKey,downstreamMoleculeKey:E.stringKey},{source:M.stringKey});let u={type:"molecule_transfer",key:E.key,from:o,to:[M.key]};if(PH(f)&&f.transactionMeta.phase==="building")f.transactionMeta.update.updates.push(u);return L}function Eu(H,A,L){switch(A){case"newValue":{Z0(H,L);break}case"oldValue":{I$(L,H.token);break}}}function Du(H,A,L){switch(A){case"newValue":{I$(L,H.token);break}case"oldValue":{if(Z0(H,L),H.subType==="atom")L.valueMap.set(H.token.key,H.value);break}}}function Z0(H,A){let{family:L}=H.token;if(L){let I=A.families.get(L.key);if(I)q(A,I,xA(L.subKey))}}function h0(H,A,L){switch(A){case"newValue":A$(L,H.provenance,H.key);break;case"oldValue":L$(L,H.key);break}}function r0(H,A,L){switch(A){case"newValue":L$(L,H.key);break;case"oldValue":{let I=H.provenance.map(xA);A$(L,I,H.key);for(let[$,f]of H.values){let E=L.families.get($);if(E){q(L,E,H.key);let D=`${$}(${pH(H.key)})`;L.valueMap.set(D,f)}}}break}}function j0(H,A,L){switch(A){case"newValue":{let I=H.to.length===1?H.to[0]:H.to;e$(L,I,H.key,"exclusive")}break;case"oldValue":{let I=H.from.length===1?H.from[0]:H.from;e$(L,I,H.key,"exclusive")}break}}function jD(H,A,L){let I=H==="newValue"?A.updates:[...A.updates].reverse();for(let $ of I)switch($.type){case"atom_update":case"selector_update":rD(H,$,L);break;case"state_creation":Eu($,H,L);break;case"state_disposal":Du($,H,L);break;case"molecule_creation":h0($,H,L);break;case"molecule_disposal":r0($,H,L);break;case"molecule_transfer":j0($,H,L);break;case"transaction_update":jD(H,$,L);break}}function Mu(H,A){return H.transactionMeta.actionContinuities.getRelatedKey(A)}function A5(H,A){return H.transactionMeta.epoch.get(A)}function k0(H,A){if(!FA(H))return;let I=Mu(H,A);if(I===void 0)return;return A5(H,I)}function d0(H,A,L){if(FA(H)&&A)H.transactionMeta.epoch.set(A,L)}function q0(H,A,L){if(!FA(H))return;let $=Mu(H,A);if($!==void 0)H.transactionMeta.epoch.set($,L)}var g0=(H,A)=>{let L=N(A),{parent:I}=L;if(I===null||!PH(L)||L.transactionMeta?.phase!=="building"){A.logger.warn("\uD83D\uDC1E","transaction","???","applyTransaction called outside of a transaction. This is probably a bug in AtomIO.");return}L.transactionMeta.phase="applying",L.transactionMeta.update.output=H,I.child=null,I.on.transactionApplying.next(L.transactionMeta);let{updates:$}=L.transactionMeta.update;if(A.logger.info("\uD83D\uDEC4","transaction",L.transactionMeta.update.key,`Applying transaction with ${$.length} updates:`,$),jD("newValue",L.transactionMeta.update,I),FA(I))q0(I,L.transactionMeta.update.key,L.transactionMeta.update.epoch),CH(A,{key:L.transactionMeta.update.key,type:"transaction"})?.subject.next(L.transactionMeta.update),A.logger.info("\uD83D\uDEEC","transaction",L.transactionMeta.update.key,"Finished applying transaction.");else if(PH(I))I.transactionMeta.update.updates.push(L.transactionMeta.update);I.on.transactionApplying.next(null)};function e0(H,A,L){if(!FA(H))return;let{epoch:$,actionContinuities:f}=H.transactionMeta;if(f.set(A,L),!$.has(A))$.set(A,-1)}function HB(H){return{store:H}}function mH(H,...A){let L,I,$;if(A.length===1)L=A[0];else I=A[0],$=A[1],L=q(H,I,$);if("counterfeit"in L&&"family"in L){I=H.families.get(L.family.key);let f=L.family.subKey,E=H.disposalTraces.buffer.find((D)=>D?.key===f);switch(H.logger.error("\u274C",L.type,L.key,`could not be retrieved because it was not found in the store "${H.config.name}".`,E?`This state was previously disposed:
98
- ${E.trace}`:"No previous disposal trace was found."),I.type){case"atom_family":case"mutable_atom_family":return H.defaults.get(I.key);case"selector_family":case"readonly_selector_family":{if(H.defaults.has(I.key))return H.defaults.get(L.family.key);let D=CH(H,I).default(f);return H.defaults.set(I.key,D),D}}}return VI(H,CH(H,L))}class xL extends Map{deleted=new Set;source;constructor(H){super();this.source=H}get(H){if(super.has(H))return super.get(H);if(!this.deleted.has(H)&&this.source.has(H))return this.source.get(H);return}set(H,A){return this.deleted.delete(H),super.set(H,A)}hasOwn(H){return super.has(H)}has(H){return!this.deleted.has(H)&&(super.has(H)||this.source.has(H))}delete(H){return this.deleted.add(H),super.delete(H)}}var AB=(H,A,L,I)=>{let $=N(H),f={parent:$,child:null,on:$.on,loggers:$.loggers,logger:$.logger,config:$.config,atoms:new xL($.atoms),atomsThatAreDefault:new Set($.atomsThatAreDefault),families:new xL($.families),joins:new xL($.joins),operation:{open:!1},readonlySelectors:new xL($.readonlySelectors),timelines:new xL($.timelines),timelineTopics:new pA($.timelineTopics.toJSON()),trackers:new Map,transactions:new xL($.transactions),selectorAtoms:new pA($.selectorAtoms.toJSON()),selectorGraph:new pA($.selectorGraph.toJSON(),{makeContentKey:(...o)=>o.sort().join(":")}),selectors:new xL($.selectors),valueMap:new xL($.valueMap),defaults:$.defaults,disposalTraces:H.disposalTraces.copy(),molecules:new xL($.molecules),moleculeGraph:new pA($.moleculeGraph.toJSON(),{makeContentKey:$.moleculeGraph.makeContentKey}),moleculeData:new pA($.moleculeData.toJSON(),{makeContentKey:$.moleculeData.makeContentKey}),moleculeJoins:new pA($.moleculeJoins.toJSON(),{makeContentKey:$.moleculeJoins.makeContentKey}),miscResources:new xL($.miscResources)},E=k0(H,A),D={phase:"building",update:{type:"transaction_update",key:A,id:I,epoch:E===void 0?Number.NaN:E+1,updates:[],params:L,output:void 0},toolkit:{get:(...o)=>mH(M,...o),set:(...o)=>{vH(M,...o)},run:(o,u=zD())=>q$(M,o,u),find:(...o)=>q(H,...o),json:(o)=>iA(M,o),dispose:(...o)=>{I$(M,...o)},env:()=>HB(M)}},M=Object.assign(f,{transactionMeta:D});return $.child=M,H.logger.info("\uD83D\uDEEB","transaction",A,"Building transaction with params:",L),M};function ou(H,A){let L={key:A.key,type:"transaction",run:(f,E)=>{let D=AB(H,A.key,f,E);try{let M=N(H),{toolkit:o}=D.transactionMeta,u=A.do(o,...f);return g0(u,M),u}catch(M){throw V0(I),H.logger.warn("\uD83D\uDCA5","transaction",A.key,"caught:",M),M}},install:(f)=>ou(f,A),subject:new iH},I=N(H);I.transactions.set(L.key,L);let $=jL(L);return H.on.transactionCreation.next($),$}class LB{parent=null;child=null;valueMap=new Map;defaults=new Map;atoms=new Map;selectors=new Map;readonlySelectors=new Map;atomsThatAreDefault=new Set;selectorAtoms=new pA({between:["selectorKey","atomKey"],cardinality:"n:n"});selectorGraph=new pA({between:["upstreamSelectorKey","downstreamSelectorKey"],cardinality:"n:n"},{makeContentKey:(...H)=>H.sort().join(":")});trackers=new Map;families=new Map;joins=new Map;transactions=new Map;transactionMeta={epoch:new Map,actionContinuities:new pA({between:["continuity","action"],cardinality:"1:n"})};timelines=new Map;timelineTopics=new pA({between:["timelineKey","topicKey"],cardinality:"1:n"});disposalTraces=new bD(100);molecules=new Map;moleculeJoins=new pA({between:["moleculeKey","joinKey"],cardinality:"n:n"},{makeContentKey:(...H)=>H.sort().join(":")});moleculeGraph=new pA({between:["upstreamMoleculeKey","downstreamMoleculeKey"],cardinality:"n:n"},{makeContentKey:(...H)=>H.sort().join(":")});moleculeData=new pA({between:["moleculeKey","stateFamilyKey"],cardinality:"n:n"},{makeContentKey:(...H)=>H.sort().join(":")});miscResources=new Map;on={atomCreation:new iH,atomDisposal:new iH,selectorCreation:new iH,selectorDisposal:new iH,timelineCreation:new iH,transactionCreation:new iH,transactionApplying:new $u(null),operationClose:new iH,moleculeCreation:new iH,moleculeDisposal:new iH};operation={open:!1};config={name:"IMPLICIT_STORE",lifespan:"ephemeral"};loggers=[new $$("warn",(H,A,L)=>!IB(L))];logger={error:(...H)=>{for(let A of this.loggers)A.error(...H)},info:(...H)=>{for(let A of this.loggers)A.info(...H)},warn:(...H)=>{for(let A of this.loggers)A.warn(...H)}};constructor(H,A=null){if(this.config={...A?.config,...H},A!==null){if(this.valueMap=new Map(A?.valueMap),this.operation={...A?.operation},FA(A))this.transactionMeta={epoch:new Map(A?.transactionMeta.epoch),actionContinuities:new pA(A?.transactionMeta.actionContinuities.toJSON())};for(let[,I]of A.families){if(I.internalRoles?.includes("mutable")||I.internalRoles?.includes("join"))continue;I.install(this)}let L=new Set;for(let[,I]of A.atoms){if(L.has(I.key))continue;if(I.install(this),I.type==="mutable_atom"){let $=iA(A,I),f=uI(I);L.add($.key),L.add(f.key)}}for(let[,I]of A.readonlySelectors)I.install(this);for(let[,I]of A.selectors){if(L.has(I.key))continue;I.install(this)}for(let[,I]of A.transactions)I.install(this);for(let[,I]of A.timelines)I.install(this)}}}var e={get STORE(){return globalThis.ATOM_IO_IMPLICIT_STORE??=new LB({name:"IMPLICIT_STORE",lifespan:"ephemeral"}),globalThis.ATOM_IO_IMPLICIT_STORE}};function CH(H,A){let L,I=H;while(I!==null){switch(A.type){case"atom":case"mutable_atom":L=I.atoms.get(A.key);break;case"selector":L=I.selectors.get(A.key);break;case"readonly_selector":L=I.readonlySelectors.get(A.key);break;case"atom_family":case"mutable_atom_family":case"selector_family":case"readonly_selector_family":L=I.families.get(A.key);break;case"timeline":L=I.timelines.get(A.key);break;case"transaction":L=I.transactions.get(A.key);break}if(L)return L;I=I.child}throw new H$(A,H)}function $B(H,A,L){let I=H.families.get(A.key);if(I===void 0)throw new H$(A,H);let $=I(L),f=N(H);if($.family){if(FA(f))switch($.type){case"atom":case"mutable_atom":H.on.atomCreation.next($);break;case"selector":case"readonly_selector":H.on.selectorCreation.next($);break}else if(PH(f)&&f.on.transactionApplying.state===null)f.transactionMeta.update.updates.push({type:"state_creation",token:$})}return $}function fB(H,A,L){let I=pH(L),$=`${A.key}(${I})`,f=N(H),E;switch(A.type){case"atom_family":case"mutable_atom_family":E=f.atoms.get($);break;case"selector_family":E=f.selectors.get($);break;case"readonly_selector_family":E=f.readonlySelectors.get($);break}if(E)return jL(E);return E}function q(H,A,L){let I=fB(H,A,L);if(I)return I;let $=pH(L),f=H.molecules.get($);if(!f&&H.config.lifespan==="immortal"){let E=J0(A,L);return H.logger.error("\u274C",E.type,E.key,`was not found in store "${H.config.name}"; returned a counterfeit token.`),E}if(I=$B(H,A,L),f)N(H).moleculeData.set($,A.key);return I}function I$(H,...A){let L;if(A.length===1)L=A[0];else{let I=A[0],$=A[1];L=q(H,I,$)}try{CH(H,L)}catch(I){H.logger.error("\u274C",L.type,L.key,`could not be disposed because it was not found in the store "${H.config.name}".`);return}switch(L.type){case"atom":case"mutable_atom":uu(H,L);break;case"selector":case"readonly_selector":EB(H,L);break}}var kD=(H,A)=>N(H).atoms.has(A),L5=(H,A)=>N(H).selectors.has(A),I5=(H,A)=>N(H).readonlySelectors.has(A),DB=(H,A)=>kD(H,A)||L5(H,A)||I5(H,A);var dD=(H,A)=>{return N(A).selectorGraph.getRelationEntries({downstreamSelectorKey:H}).filter(([I,{source:$}])=>$!==H).map(([I,{source:$}])=>$).filter((I)=>DB(A,I))};var tu=(H,A,L)=>{let I=[],$=dD(H,L);while($.length>0){let f=$.shift();if(A.has(f))continue;if(A.add(f),!kD(L,f))$.push(...dD(f,L));else if(!I.includes(f))I.push(f)}return I},MB=(H,A)=>{let L=H.key,I=dD(L,A),$=new Set;return I.flatMap((f)=>kD(A,f)?f:tu(f,$,A))};var oB=(H,A,L,I)=>{let $=N(I);if(A.type==="atom"||A.type==="mutable_atom")$.selectorAtoms.set({selectorKey:H,atomKey:A.key}),I.logger.info("\uD83D\uDD0D","selector",H,`discovers root atom "${A.key}"`);else{let f=tu(A.key,L,I);I.logger.info("\uD83D\uDD0D","selector",H,`discovers root atoms: [ ${f.map((E)=>`"${E}"`).join(", ")} ]`);for(let E of f)$.selectorAtoms=$.selectorAtoms.set({selectorKey:H,atomKey:E})}L.add(A.key)};var qD=(H,A,L)=>({get:(...I)=>{let $=N(L),f;if(I.length===2){let[M,o]=I;f=q(L,M,o)}else[f]=I;let E=CH(L,f),D=VI(L,E);return L.logger.info("\uD83D\uDD0C","selector",H,`registers dependency ( "${f.key}" =`,D,")"),$.selectorGraph.set({upstreamSelectorKey:f.key,downstreamSelectorKey:H},{source:f.key}),oB(H,f,A,L),D},set:(...I)=>{let $,f;if(I.length===2)$=I[0],f=I[1];else{let M=I[0],o=I[1];f=I[2],$=q(L,M,o)}let E=N(L),D=CH(E,$);hD(E,D,f)},find:(...I)=>q(L,...I),json:(I)=>iA(L,I)});var CE=(H,A,L)=>{let I=N(H),$=new iH,f=new Set,{get:E,find:D,json:M}=qD(A.key,f,I),o=()=>{let B=A.get({get:E,find:D,json:M});return cL(N(H),A.key,B,$),f.clear(),B},u={...A,subject:$,install:(B)=>CE(B,A,L),get:o,type:"readonly_selector",...L&&{family:L}};I.readonlySelectors.set(A.key,u);let t=o();H.logger.info("\u2728",u.type,u.key,"=",t);let i={key:A.key,type:"readonly_selector"};if(L)i.family=L;return i};var FE=(H,A,L)=>{let I=N(H),$=new iH,f=new Set,E=qD(A.key,f,I),{find:D,get:M,json:o}=E,u={find:D,get:M,json:o},t=(T=A.get,F=N(H))=>{let m=T(u);return cL(F,A.key,m,$),f.clear(),m},B={...A,subject:$,install:(T)=>FE(T,A,L),get:t,set:(T)=>{let F=N(H),m=t(A.get,F),Y=ZD(T)(m);if(H.logger.info("\uD83D\uDCDD","selector",A.key,"set (",m,"->",Y,")"),cL(F,A.key,Y,$),g$(F,A.key),FA(F))$.next({newValue:Y,oldValue:m});A.set(E,Y)},type:"selector",...L&&{family:L}};I.selectors.set(A.key,B);let U=t();H.logger.info("\u2728",B.type,B.key,"=",U);let x={key:A.key,type:"selector"};if(L)x.family=L;return x};function Iu(H,A){if("set"in A){let $=FE(H,A,void 0);return H.on.selectorCreation.next($),$}let I=CE(H,A,void 0);return H.on.selectorCreation.next(I),I}function EB(H,A){let L=N(H),{key:I}=A,$=CH(L,A);if(!$.family)H.logger.error("\u274C","selector",I,"Standalone selectors cannot be disposed.");else{if(L.molecules.get($.family.subKey))L.moleculeData.delete($.family.subKey,$.family.key);let E;switch(A.type){case"selector":L.selectors.delete(I),E={key:$.family.key,type:"selector_family"},CH(H,E).subject.next({type:"state_disposal",subType:"selector",token:A});break;case"readonly_selector":L.readonlySelectors.delete(I),E={key:$.family.key,type:"readonly_selector_family"},CH(H,E).subject.next({type:"state_disposal",subType:"selector",token:A});break}if(L.valueMap.delete(I),L.selectorAtoms.delete(I),L.selectorGraph.delete(I),H.logger.info("\uD83D\uDD25",A.type,I,"deleted"),PH(L)&&L.transactionMeta.phase==="building")L.transactionMeta.update.updates.push({type:"state_disposal",subType:"selector",token:A});else H.on.selectorDisposal.next(A)}}function TE(H,A,L){let I={key:A.key,type:"selector_family"},$=H.families.get(A.key);if($)H.logger.error("\u2757","selector_family",A.key,`Overwriting an existing ${rL($)} "${$.key}" in store "${H.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let f=new iH,D=Object.assign((M)=>{let o=pH(M),u={key:A.key,subKey:o},t=`${A.key}(${o})`,i=N(H),B=FE(i,{key:t,get:A.get(M),set:A.set(M)},u);return f.next({type:"state_creation",token:B}),B},I,{internalRoles:L,subject:f,install:(M)=>TE(M,A),default:(M)=>{return A.get(M)({get:(...u)=>mH(H,...u),find:(...u)=>q(H,...u),json:(u)=>iA(H,u)})}});return H.families.set(A.key,D),I}function uB(H,A,L){return TE(H,{key:`${A.key}:JSON`,get:($)=>({get:f})=>{let E=f(A,$);return L.toJson(E)},set:($)=>({set:f},E)=>{f(A,$,L.fromJson(E))}},["mutable","json"])}var xA=(H)=>JSON.parse(H),pH=(H)=>JSON.stringify(H),pr=[Array.prototype,Boolean.prototype,Number.prototype,Object.prototype,String.prototype];var tB=(H,A)=>{let L=N(H);if(L.operation.open)return L.operation.prev.get(A.key);return L.valueMap.get(A.key)};var nu=(H,A)=>{let L=N(H);return MB(A,H).map(($)=>{let f=L.atoms.get($);if(f===void 0)throw new Error(`Atom "${$}", a dependency of selector "${A.key}", not found in store "${H.config.name}".`);return f.subject.subscribe(`${A.type}:${A.key}`,(E)=>{H.logger.info("\uD83D\uDCE2",A.type,A.key,"root",$,"went",E.oldValue,"->",E.newValue);let D=tB(L,A),M=VI(L,A);H.logger.info("\u2728",A.type,A.key,"went",D,"->",M),A.subject.next({newValue:M,oldValue:D})})})};function wA(H,A,L,I){function $(t){if(H.operation.open){let i=H.on.operationClose.subscribe(`state subscription ${L}`,()=>{i(),I(t)})}else I(t)}let f=CH(H,A);H.logger.info("\uD83D\uDC40",f.type,f.key,`Adding subscription "${L}"`);let E=f.type==="selector"||f.type==="readonly_selector",D=null,M=$;if(E)D=nu(H,f),M=(t)=>{if(D)D.length=0,D.push(...nu(H,f));$(t)};let o=f.subject.subscribe(L,M);return()=>{if(H.logger.info("\uD83D\uDE48",f.type,f.key,`Removing subscription "${L}"`),o(),D)for(let t of D)t()}}var iu=(H,A,L,I)=>{let $=CH(H,A);H.logger.info("\uD83D\uDC40","timeline",A.key,`Adding subscription "${L}"`);let f=$.subject.subscribe(L,I);return()=>{H.logger.info("\uD83D\uDE48","timeline",A.key,`Removing subscription "${L}" from timeline`),f()}};var pu=(H,A,L,I)=>{let $=CH(H,A);H.logger.info("\uD83D\uDC40","transaction",A.key,`Adding subscription "${L}"`);let f=$.subject.subscribe(L,I);return()=>{H.logger.info("\uD83D\uDE48","transaction",A.key,`Removing subscription "${L}"`),f()}};class f${Update;initializeState(H,A){let L=`*${H.key}`;A.atoms.delete(L),A.valueMap.delete(L);let I=H.family?{key:`*${H.family.key}`,subKey:H.family.subKey}:void 0,$=eI(A,{key:L,default:null},I);if(A.parent?.valueMap.has(L)){let f=A.parent.valueMap.get(L);A.valueMap.set(L,f)}return $}unsubscribeFromInnerValue;unsubscribeFromState;observeCore(H,A,L){let I=`tracker:${L.config.name}:${PH(L)?L.transactionMeta.update.key:"main"}:${H.key}`,$=mH(L,H);this.unsubscribeFromInnerValue=$.subscribe(I,(f)=>{vH(L,A,f)}),this.unsubscribeFromState=wA(L,H,I,(f)=>{if(f.newValue!==f.oldValue)this.unsubscribeFromInnerValue(),this.unsubscribeFromInnerValue=f.newValue.subscribe(I,(E)=>{vH(L,A,E)})})}updateCore(H,A,L){let I=`tracker:${L.config.name}:${PH(L)?L.transactionMeta.update.key:"main"}:${H.key}`;wA(L,A,I,({newValue:$,oldValue:f})=>{let E=L.timelineTopics.getRelatedKey(A.key);if(E){if(L.timelines.get(E)?.timeTraveling){let o=iu(L,{key:E,type:"timeline"},I,(u)=>{o(),vH(L,H,(t)=>{if(u==="redo"&&$)t.do($);else if(u==="undo"&&f)t.undo(f);return t})});return}}let D=L.on.operationClose.subscribe(I,()=>{D();let M=mH(L,H),o=$===null?-1:M.getUpdateNumber($),u=o-M.cacheUpdateNumber;if($&&u===1)vH(L,H,(t)=>(t.do($),t));else L.logger.info("\u274C","mutable_atom",H.key,`could not be updated. Expected update number ${M.cacheUpdateNumber+1}, but got ${o}`)})})}mutableState;latestUpdateState;[Symbol.dispose];constructor(H,A){this.mutableState=H;let L=N(A);this.latestUpdateState=this.initializeState(H,L),this.observeCore(H,this.latestUpdateState,L),this.updateCore(H,this.latestUpdateState,L),L.trackers.set(H.key,this),this[Symbol.dispose]=()=>{this.unsubscribeFromInnerValue(),this.unsubscribeFromState(),L.trackers.delete(H.key)}}}function _E(H,A,L){H.logger.info("\uD83D\uDD28","atom",A.key,`creating in store "${H.config.name}"`);let I=N(H),$=I.atoms.get(A.key);if($&&$.type==="mutable_atom")return H.logger.error("\u274C","atom",A.key,"Tried to create atom, but it already exists in the store."),jL($);let f=new iH,E={...A,type:"mutable_atom",install:(o)=>{return o.logger.info("\uD83D\uDEE0\uFE0F","atom",A.key,`installing in store "${o.config.name}"`),_E(o,A,L)},subject:f};if(L)E.family=L;let D=A.default();I.atoms.set(E.key,E),gD(H,A.key),cL(I,A.key,D,f);let M=jL(E);if(A.effects){let o=0,u=[];for(let t of A.effects){let i=t({setSelf:(B)=>{vH(H,M,B)},onSet:(B)=>wA(H,M,`effect[${o}]`,B)});if(i)u.push(i);++o}E.cleanup=()=>{for(let t of u)t()}}if(new f$(M,H),!L)P0(M,A,H);return M}class Bu{trackers=new Map;Update;latestUpdateAtoms;mutableAtoms;constructor(H,A){let L=gI(A,{key:`*${H.key}`,default:null},["mutable","updates"]);this.latestUpdateAtoms=CH(A,L),this.mutableAtoms=H,this.mutableAtoms.subject.subscribe(`store=${A.config.name}::tracker-atom-family`,(I)=>{let{type:$,token:f}=I;if(f.family){let E=xA(f.family.subKey);switch($){case"state_creation":this.trackers.set(E,new f$(f,A));break;case"state_disposal":{let D=this.trackers.get(E);if(D)D[Symbol.dispose](),this.trackers.delete(E)}break}}})}}function UE(H,A,L){let I={key:A.key,type:"mutable_atom_family"},$=H.families.get(A.key);if($)H.logger.error("\u2757","mutable_atom_family",A.key,`Overwriting an existing ${rL($)} "${$.key}" in store "${H.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let f=new iH,D=Object.assign((M)=>{let o=pH(M),u={key:A.key,subKey:o},t=`${A.key}(${o})`,i=N(H),B={key:t,default:()=>A.default(M),toJson:A.toJson,fromJson:A.fromJson,mutable:!0};if(A.effects)B.effects=A.effects(M);let U=_E(i,B,u);return f.next({type:"state_creation",token:U}),U},I,{subject:f,install:(M)=>UE(M,A),toJson:A.toJson,fromJson:A.fromJson,internalRoles:L});return H.families.set(A.key,D),uB(H,D,A),new Bu(D,H),I}var cu=(H,A)=>{let L=N(A),I=`${H.key}:JSON`;return L.families.get(I)};var iA=(H,A)=>{if(A.family){let I=N(H),f={key:`${A.family.key}:JSON`,type:"selector_family"},E=CH(I,f),D=JSON.parse(A.family.subKey);return q(H,E,D)}return{type:"selector",key:`${A.key}:JSON`}};var uI=(H)=>{let L={type:"atom",key:`*${H.key}`};if(H.family)L.family={key:`*${H.family.key}`,subKey:H.family.subKey};return L};function N0(H){return typeof H==="object"&&H!==null&&"do"in H&&"undo"in H&&"subscribe"in H}function GE(H,A,L){let I=L.valueMap.get(A.key),$=H.valueMap.get(A.key);if(I!==$)return $;if(I===void 0)return A.default();L.logger.info("\uD83D\uDCC3","atom",A.key,"copying");let f=A.toJson(I),E=A.fromJson(f);return H.valueMap.set(A.key,E),new f$(A,L),E}function cL(H,A,L,I){let $=H.valueMap.get(A);if($ instanceof xE)$.use(L);if(L instanceof Promise){let f=new xE(L);return H.valueMap.set(A,f),f.then((E)=>{cL(H,A,E,I),I.next({newValue:E,oldValue:f})}).catch((E)=>{H.logger.error("\uD83D\uDCA5","state",A,"rejected:",E)}),f}return H.valueMap.set(A,L),L}var w0=(H,A)=>{let L=A.valueMap.get(H.key);if(H.type==="mutable_atom"&&PH(A)){let{parent:I}=A;L=GE(A,H,I)}return L},O0=(H,A)=>{let L=A.valueMap.get(H);if(L instanceof xE){let I=L,$=A.selectors.get(H)??A.readonlySelectors.get(H);if($)I.use($.get());return}if(A.operation.open)A.operation.prev.set(H,L);A.valueMap.delete(H),A.logger.info("\uD83D\uDDD1","state",H,"evicted")};var y0=(H,A)=>{return N(H).atomsThatAreDefault.has(A)},gD=(H,A)=>{let L=N(H);L.atomsThatAreDefault=new Set(L.atomsThatAreDefault).add(A)},R0=(H,A)=>{let L=N(H);L.atomsThatAreDefault=new Set(N(H).atomsThatAreDefault),L.atomsThatAreDefault.delete(A)};function eI(H,A,L){H.logger.info("\uD83D\uDD28","atom",A.key,`creating in store "${H.config.name}"`);let I=N(H),$=I.atoms.get(A.key);if($&&$.type==="atom")return H.logger.error("\u274C","atom",A.key,"Tried to create atom, but it already exists in the store."),jL($);let f=new iH,E={...A,type:"atom",install:(o)=>{return o.logger.info("\uD83D\uDEE0\uFE0F","atom",A.key,`installing in store "${o.config.name}"`),eI(o,A,L)},subject:f};if(L)E.family=L;let D=A.default;if(A.default instanceof Function)D=A.default();I.atoms.set(E.key,E),gD(H,A.key),cL(I,A.key,D,f);let M=jL(E);if(A.effects){let o=0,u=[];for(let t of A.effects){let i=t({setSelf:(B)=>{vH(H,M,B)},onSet:(B)=>wA(H,M,`effect[${o}]`,B)});if(i)u.push(i);++o}E.cleanup=()=>{for(let t of u)t()}}return M}function iB(H,A){if("mutable"in A){let $=_E(H,A,void 0);return H.on.atomCreation.next($),$}let I=eI(H,A,void 0);return H.on.atomCreation.next(I),I}function uu(H,A){let L=N(H),{key:I,family:$}=A,f=CH(L,A);if(!$)H.logger.error("\u274C","atom",I,"Standalone atoms cannot be disposed.");else{f.cleanup?.();let E=H.valueMap.get(f.key),D=CH(H,{key:$.key,type:"atom_family"}),M={type:"state_disposal",subType:"atom",token:A,value:E};D.subject.next(M);let o=PH(L);if(L.atoms.delete(I),L.valueMap.delete(I),L.selectorAtoms.delete(I),L.atomsThatAreDefault.delete(I),H.timelineTopics.delete(I),A.type==="mutable_atom"){let u=uI(A);uu(H,u),H.trackers.delete(I)}if(H.logger.info("\uD83D\uDD25","atom",I,"deleted"),o&&L.transactionMeta.phase==="building"){let u=L.transactionMeta.update.updates.at(-1);if(!(u?.type==="molecule_disposal"&&u.values.some(([B])=>B===f.family?.key)))L.transactionMeta.update.updates.push(M)}else H.on.atomDisposal.next(A)}}class nA extends Set{mode="record";subject=new iH;cacheLimit=0;cache=[];cacheIdx=-1;cacheUpdateNumber=-1;constructor(H,A=0){super(H);if(H instanceof nA)this.parent=H,this.cacheUpdateNumber=H.cacheUpdateNumber;if(A)this.cacheLimit=A,this.cache=new Array(A),this.subscribe("auto cache",(L)=>{this.cacheIdx++,this.cacheIdx%=this.cacheLimit,this.cache[this.cacheIdx]=L})}toJSON(){return{members:[...this],cache:this.cache,cacheLimit:this.cacheLimit,cacheIdx:this.cacheIdx,cacheUpdateNumber:this.cacheUpdateNumber}}static fromJSON(H){let A=new nA(H.members,H.cacheLimit);return A.cache=H.cache,A.cacheIdx=H.cacheIdx,A.cacheUpdateNumber=H.cacheUpdateNumber,A}add(H){let A=super.add(H);if(this.mode==="record")this.cacheUpdateNumber++,this.emit(`add:${pH(H)}`);return A}clear(){let H=this.mode==="record"?[...this]:null;if(super.clear(),H)this.cacheUpdateNumber++,this.emit(`clear:${JSON.stringify(H)}`)}delete(H){let A=super.delete(H);if(this.mode==="record")this.cacheUpdateNumber++,this.emit(`del:${pH(H)}`);return A}parent;child=null;transactionUpdates=null;transaction(H){this.mode="transaction",this.transactionUpdates=[],this.child=new nA(this);let A=this.child._subscribe("transaction",(L)=>{this.transactionUpdates?.push(L)});try{if(H(this.child)){for(let I of this.transactionUpdates)this.doStep(I);this.cacheUpdateNumber++,this.emit(`tx:${this.transactionUpdates.join(";")}`)}}catch(L){throw console.warn("Did not apply transaction to SetRTX; this error was thrown:",L),L}finally{A(),this.child=null,this.transactionUpdates=null,this.mode="record"}}_subscribe(H,A){return this.subject.subscribe(H,A)}subscribe(H,A){return this.subject.subscribe(H,(L)=>{A(`${this.cacheUpdateNumber}=${L}`)})}emit(H){this.subject.next(H)}doStep(H){let A=H.indexOf(":"),L=H.substring(0,A),I=H.substring(A+1);switch(L){case"add":this.add(JSON.parse(I));break;case"clear":this.clear();break;case"del":this.delete(JSON.parse(I));break;case"tx":for(let $ of I.split(";"))this.doStep($)}}getUpdateNumber(H){let A=H.indexOf("=");return Number(H.substring(0,A))}do(H){let A=H.indexOf("="),L=Number(H.substring(0,A)),I=L-this.cacheUpdateNumber;if(I>0){if(I===1){this.mode="playback";let f=H.substring(A+1);return this.doStep(f),this.mode="record",this.cacheUpdateNumber=L,null}return this.cacheUpdateNumber+1}if(Math.abs(I)<this.cacheLimit){let f=this.cacheIdx+I;if(this.cache[f]===H)return null;this.mode="playback";let D=!1;while(!D){this.cacheIdx%=this.cacheLimit;let o=this.cache[this.cacheIdx];if(this.cacheIdx--,!o)return"OUT_OF_RANGE";this.undo(o),D=this.cacheIdx===f-1}let M=H.substring(A+1);return this.doStep(M),this.mode="record",this.cacheUpdateNumber=L,null}return"OUT_OF_RANGE"}undoStep(H){let A=H.indexOf(":"),L=H.substring(0,A),I=H.substring(A+1);switch(L){case"add":this.delete(JSON.parse(I));break;case"del":this.add(JSON.parse(I));break;case"clear":{let $=JSON.parse(I);for(let f of $)this.add(f);break}case"tx":{let $=I.split(";");for(let f=$.length-1;f>=0;f--)this.undoStep($[f])}}}undo(H){let A=H.indexOf("=");if(Number(H.substring(0,A))===this.cacheUpdateNumber){this.mode="playback";let I=H.substring(A+1);return this.undoStep(I),this.mode="record",this.cacheUpdateNumber--,null}return this.cacheUpdateNumber}}class WE{toolkit;options;defaultContent;molecules=new Map;relations;states;core;transact(H,A){let L=this.toolkit;this.toolkit=H,A(this),this.toolkit=L}store;realm;[Symbol.dispose](){}constructor(H,A,L=e.STORE){this.store=L,this.realm=new xu(L),this.options=H,this.defaultContent=A,this.store.miscResources.set(`join:${H.key}`,this),this.realm.allocate("root",H.key),this.toolkit={get:(...W)=>mH(L,...W),set:(...W)=>{vH(L,...W)},find:(...W)=>q(L,...W),json:(W)=>iA(L,W)};let I=H.between[0],$=H.between[1],f=UE(L,{key:`${H.key}/relatedKeys`,default:()=>new nA,mutable:!0,fromJson:(W)=>nA.fromJSON(W),toJson:(W)=>W.toJSON()},["join","relations"]);this.core={relatedKeysAtoms:f};let E=({get:W},P)=>W(f,P),D=({set:W},P,V)=>{if(!this.store.molecules.has(pH(P)))this.realm.allocate(H.key,P);W(f,P,(J)=>J.add(V)),W(f,V,(J)=>J.add(P))},M=({set:W},P,V)=>{W(f,P,(J)=>{return J.delete(V),J}),W(f,V,(J)=>{return J.delete(P),J})},o=(W,P,V)=>{let{find:J,get:a,set:h}=W,X=J(f,P),MH=a(X);for(let Z of MH){if(V.includes(Z))continue;h(f,Z,(wH)=>{return wH.delete(P),wH})}h(X,(Z)=>{return Z.transaction((oH)=>{oH.clear();for(let wH of V){let DA=E(W,wH),ZA=DA.has(P);if(this.relations.cardinality==="1:n"){let HI=[];for(let w of DA){if(w===P)continue;let r=E(W,w);if(r.delete(wH),r.size===0)HI.push(w)}if(!ZA&&DA.size>0)DA.clear();for(let w of HI){let r=[wH,w].sort(),TH=`"${r[0]}:${r[1]}"`;this.molecules.delete(TH)}}if(!ZA)DA.add(P);oH.add(wH)}return!0}),Z})},u=(W,P,V)=>{let{set:J}=W;J(f,P,(a)=>{return a.transaction((h)=>{for(let X of V)h.add(X);return!0}),a});for(let a of V)J(f,a,(h)=>{return h.add(P),h});return!0},t=(W,P,V)=>{let J=E(W,P);return V?J.has(V):J.size>0},i={getRelatedKeys:(W)=>E(this.toolkit,W),addRelation:(W,P)=>{this.store.moleculeJoins.set(W,H.key),this.store.moleculeJoins.set(P,H.key),D(this.toolkit,W,P)},deleteRelation:(W,P)=>{M(this.toolkit,W,P)},replaceRelationsSafely:(W,P)=>{o(this.toolkit,W,P)},replaceRelationsUnsafely:(W,P)=>{u(this.toolkit,W,P)},has:(W,P)=>t(this.toolkit,W,P)},B,U;if(A){U=gI(L,{key:`${H.key}/content`,default:A},["join","content"]);let W=({get:J},a)=>J(U,a),P=({set:J},a,h)=>{J(U,a,h)};B=Object.assign(i,{getContent:(J)=>{return W(this.toolkit,J)},setContent:(J,a)=>{P(this.toolkit,J,a)},deleteContent:(J)=>{this.realm.deallocate(J)}})}else B=i;let x=new pA(H,{externalStore:B,isAType:H.isAType,isBType:H.isBType,makeContentKey:(...W)=>{let[P,V]=W,J=W.sort(),a=`${J[0]}:${J[1]}`,h=L.molecules.get(pH(P)),X=L.molecules.get(pH(V));if(!h)this.realm.allocate(H.key,P);if(!X)this.realm.allocate(H.key,V);return this.realm.allocate(P,a,"all"),this.realm.claim(V,a),this.store.moleculeJoins.set(a,H.key),a}}),T=()=>JI(L,{key:`${H.key}/singleRelatedKey`,get:(W)=>({get:P})=>{let V=P(f,W);for(let J of V)return J;return null}},["join","keys"]),F=()=>{return JI(L,{key:`${H.key}/multipleRelatedKeys`,get:(W)=>({get:P})=>{let V=cu(f,L);return P(V,W).members}},["join","keys"])},m=()=>JI(L,{key:`${H.key}/singleRelatedEntry`,get:(W)=>({get:P})=>{let V=P(f,W);for(let J of V){let a=x.isAType?.(W)?W:void 0,h=a===void 0?W:void 0;a??=J,h??=J;let X=x.makeContentKey(a,h),MH=P(U,X);return[J,MH]}return null}},["join","entries"]),Y=()=>JI(L,{key:`${H.key}/multipleRelatedEntries`,get:(W)=>({get:P})=>{let V=cu(f,L);return P(V,W).members.map((a)=>{let h=x.isAType?.(W)?W:void 0,X=h===void 0?W:void 0;h??=a,X??=a;let MH=x.makeContentKey(h,X),Z=P(U,MH);return[a,Z]})}},["join","entries"]);switch(H.cardinality){case"1:1":{let W=T(),P=`${I}KeyOf${XH($)}`,V=`${$}KeyOf${XH(I)}`,J={[P]:W,[V]:W},a;if(A){let h=m(),X=`${I}EntryOf${XH($)}`,MH=`${$}EntryOf${XH(I)}`,Z={[X]:h,[MH]:h};a=Object.assign(J,Z)}else a=J;this.relations=x,this.states=a;break}case"1:n":{let W=T(),P=F(),V=`${I}KeyOf${XH($)}`,J=`${$}KeysOf${XH(I)}`,a={[V]:W,[J]:P},h;if(A){let X=m(),MH=Y(),Z=`${I}EntryOf${XH($)}`,oH=`${$}EntriesOf${XH(I)}`,wH={[Z]:X,[oH]:MH};h=Object.assign(a,wH)}else h=a;this.relations=x,this.states=h;break}case"n:n":{let W=F(),P=`${I}KeysOf${XH($)}`,V=`${$}KeysOf${XH(I)}`,J={[P]:W,[V]:W},a;if(A){let h=Y(),X=`${I}EntriesOf${XH($)}`,MH=`${$}EntriesOf${XH(I)}`,Z={[X]:h,[MH]:h};a=Object.assign(J,Z)}else a=J;this.relations=x,this.states=a}}}}function Hf(H,A){let L=A.joins.get(H.key);if(L===void 0){let $=e.STORE.joins.get(H.key);if($===void 0)throw new Error(`Join "${H.key}" not found in store "${A.config.name}"`);L=new WE($.options,$.defaultContent,A),A.joins.set(H.key,L)}return L}function wI(H,A,L){let I=Hf(H,L),$=N(L);if(PH($)){let{toolkit:f}=$.transactionMeta;I.transact(f,({relations:E})=>{A(E)})}else A(I.relations)}function Af(H,A,L){let I=Hf(H,L),$;switch(H.cardinality){case"1:1":{let f=`${H.a}KeyOf${XH(H.b)}`,E=`${H.b}KeyOf${XH(H.a)}`;$={get[f](){let M=I.states[f];return q(L,M,A)},get[E](){let M=I.states[E];return q(L,M,A)}};let D=`${H.a}EntryOf${XH(H.b)}`;if(D in I.states){let M=`${H.b}EntryOf${XH(H.a)}`;Object.assign($,{get[D](){let o=I.states[D];return q(L,o,A)},get[M](){let o=I.states[M];return q(L,o,A)}})}break}case"1:n":{let f=`${H.a}KeyOf${XH(H.b)}`,E=`${H.b}KeysOf${XH(H.a)}`;$={get[f](){let M=I.states[f];return q(L,M,A)},get[E](){let M=I.states[E];return q(L,M,A)}};let D=`${H.a}EntryOf${XH(H.b)}`;if(D in I.states){let M=`${H.b}EntriesOf${XH(H.a)}`;Object.assign($,{get[D](){let o=I.states[D];return q(L,o,A)},get[M](){let o=I.states[M];return q(L,o,A)}})}break}case"n:n":{let f=`${H.a}KeysOf${XH(H.b)}`,E=`${H.b}KeysOf${XH(H.a)}`;$={get[f](){let M=I.states[f];return q(L,M,A)},get[E](){let M=I.states[E];return q(L,M,A)}};let D=`${H.a}EntriesOf${XH(H.b)}`;if(D in I.states){let M=`${H.b}EntriesOf${XH(H.a)}`;Object.assign($,{get[D](){let o=I.states[D];return q(L,o,A)},get[M](){let o=I.states[M];return q(L,o,A)}})}}}return $}function pB(H,A){return Hf(H,A).core.relatedKeysAtoms}function IB(H){return H.startsWith("\uD83D\uDD0D ")}function KI(H){return iB(e.STORE,H)}function E$(H){return X0(e.STORE,H)}function eD(H,A,L=e.STORE){return L.joins.set(H.key,new WE(H,A,L)),{key:H.key,type:"join",a:H.between[0],b:H.between[1],cardinality:H.cardinality}}function nB(H){return pB(H,e.STORE)}var Uu=(H)=>(A,L,I,$,...f)=>{console[H](`${A} ${L} "${I}" ${$}`,...f)},$5={error:Uu("error"),info:Uu("info"),warn:Uu("warn")};class $${logLevel;filter;logger;constructor(H,A,L=$5){this.logLevel=H,this.filter=A,this.logger=L}error=(...H)=>{if((this.filter?.(...H)??!0)&&this.logLevel!==null)this.logger.error(...H)};info=(...H)=>{if((this.filter?.(...H)??!0)&&this.logLevel==="info")this.logger.info(...H)};warn=(...H)=>{if((this.filter?.(...H)??!0)&&this.logLevel!=="error"&&this.logLevel!==null)this.logger.warn(...H)}}var ld=Symbol("claim");class BB{store;constructor(H=e.STORE){this.store=H,z0("root",H)}allocate(H,A,L){return A$(this.store,H,A,L)}fuse(H,A,L){return b0(this.store,H,A,L)}deallocate(H){L$(this.store,H)}claim(H,A,L){return e$(this.store,H,A,L)}}class xu{store;realm;constructor(H=e.STORE){this.store=H,this.realm=new BB(H)}allocate(H,A,L){A$(this.store,H,A,L)}deallocate(H){L$(this.store,H)}claim(H,A,L){e$(this.store,H,A,L)}}function HM(H){return S0(e.STORE,H)}function D$(H){return ou(e.STORE,H)}class cB extends Map{set(H,A){if(this.has(H))return console.warn("Tried to set a key that already exists in an InvariantMap",{key:H,value:A}),this;return super.set(H,A)}clear(){throw new Error("Cannot clear an InvariantMap")}}class AM{type="continuity";globals=[];actions=[];perspectives=[];key;constructor(H){this.key=H}static existing=new cB;static create(H,A){let L=new AM(H),{type:I,globals:$,actions:f,perspectives:E}=A(L),D={type:I,key:H,globals:$,actions:f,perspectives:E};return AM.existing.set(H,D),D}add(...H){switch(H[0].type){case"atom":case"mutable_atom":this.globals.push(...H);break;case"transaction":this.actions.push(...H);break;case"atom_family":case"mutable_atom_family":{let[L,I]=H;this.perspectives.push({type:"realtime_perspective",resourceAtoms:L,viewAtoms:I})}break}return this}}function xB(H){let{key:A,config:L}=H,I=AM.create(A,L),{actions:$}=I;for(let f of $)e0(e.STORE,A,f.key);return d0(e.STORE,A,-1),I}var Zd=KI({key:"usersInRoomIndex",mutable:!0,default:()=>new nA,toJson:(H)=>H.toJSON(),fromJson:(H)=>nA.fromJSON(H)}),Cu=KI({key:"roomIndex",default:()=>new nA,mutable:!0,toJson:(H)=>H.toJSON(),fromJson:(H)=>nA.fromJSON(H)}),f5={enteredAtEpoch:0},mE=eD({key:"usersInRooms",between:["room","user"],cardinality:"1:n",isAType:(H)=>typeof H==="string",isBType:(H)=>typeof H==="string"},f5),hd=HM({key:"usersInMyRoomView",get:(H)=>({find:A})=>{let L=nB(mE);return[A(L,H)]}});import{spawn as E5}from"child_process";class Lf{listeners;globalListeners;handleEvent(H,...A){for(let I of this.globalListeners)I(H,...A);let L=this.listeners.get(H);if(L)for(let I of L)I(...A)}id="no_id_retrieved";emit;constructor(H){this.emit=H,this.listeners=new Map,this.globalListeners=new Set}on(H,A){let L=this.listeners.get(H);if(L)L.add(A);else this.listeners.set(H,new Set([A]));return this}onAny(H){return this.globalListeners.add(H),this}off(H,A){let L=this.listeners.get(H);if(L)if(A)L.delete(A);else this.listeners.delete(H);return this}offAny(H){return this.globalListeners.delete(H),this}}class PE extends Lf{incompleteData="";unprocessedEvents=[];incompleteLog="";unprocessedLogs=[];id="#####";process;key;logger;handleLog(H){if(Array.isArray(H)){let[A,...L]=H;switch(A){case"i":this.logger.info(...L);break;case"w":this.logger.warn(...L);break;case"e":this.logger.error(...L);break;default:return}}}constructor(H,A,L){super((I,...$)=>{let f=JSON.stringify([I,...$])+"\x03",E=(D)=>{if(D.code==="EPIPE")console.error("EPIPE error during write",this.process.stdin);this.process.stdin.removeListener("error",E)};return this.process.stdin.once("error",E),this.process.stdin.write(f),this});if(this.process=H,this.key=A,this.logger=L??{info:(...I)=>{console.info(this.id,this.key,...I)},warn:(...I)=>{console.warn(this.id,this.key,...I)},error:(...I)=>{console.error(this.id,this.key,...I)}},this.process.stdout.on("data",(I)=>{let $=I.toString();if($==="ALIVE")return;this.unprocessedEvents.push(...$.split("\x03"));let f=this.unprocessedEvents.shift();this.incompleteData+=f??"";try{if(this.incompleteData.startsWith("error"))console.log("\u2757",this.incompleteData);let E=xA(this.incompleteData);this.handleEvent(...E);while(this.unprocessedEvents.length>0){let D=this.unprocessedEvents.shift();if(D){if(this.unprocessedEvents.length===0)this.incompleteData=D;E=xA(D),this.handleEvent(...E)}}this.incompleteData=""}catch(E){console.warn("\u26A0\uFE0F----------------\u26A0\uFE0F"),console.warn(this.incompleteData),console.warn("\u26A0\uFE0F----------------\u26A0\uFE0F"),console.error(E)}}),this.process.stderr.on("data",(I)=>{let $=I.toString();this.unprocessedLogs.push(...$.split("\x03"));let f=this.unprocessedLogs.shift();this.incompleteLog+=f??"";try{let E=xA(this.incompleteLog);this.handleLog(E);while(this.unprocessedLogs.length>0)if(this.incompleteLog=this.unprocessedLogs.shift()??"",this.incompleteLog)E=xA(this.incompleteLog),this.handleLog(E)}catch(E){console.error("\u274C\u274C\u274C"),console.error(this.incompleteLog),console.error(E),console.error("\u274C\u274C\u274C\uFE0F")}}),H.pid)this.id=H.pid.toString()}}class UB extends Lf{in;out;id="no_id_retrieved";disposalFunctions=[];constructor(H){super((...A)=>{return this.out.next(A),this});this.id=H,this.in=new iH,this.out=new iH,this.in.subscribe("socket",(A)=>{this.handleEvent(...A)})}dispose(){for(let H of this.disposalFunctions)H()}}class Tu extends Lf{incompleteData="";unprocessedEvents=[];relays;relayServices;process;id="#####";log(...H){this.process.stderr.write(pH(H.map((A)=>A instanceof nA?`{ ${A.toJSON().members.join(" | ")} }`:A))+"\x03")}logger={info:(...H)=>{this.log("i",...H)},warn:(...H)=>{this.log("w",...H)},error:(...H)=>{this.log("e",...H)}};constructor(){super((H,...A)=>{let L=JSON.stringify([H,...A]);return this.process.stdout.write(L+"\x03"),this});if(this.process=process,this.process.stdin.resume(),this.relays=new Map,this.relayServices=[],this.process.stdin.on("data",(H)=>{let A=H.toString();this.unprocessedEvents.push(...A.split("\x03"));let L=this.unprocessedEvents.shift();this.incompleteData+=L??"";try{let I=xA(this.incompleteData);this.logger.info("\uD83C\uDFB0","received",I),this.handleEvent(...I);while(this.unprocessedEvents.length>0){let $=this.unprocessedEvents.shift();if($){if(this.unprocessedEvents.length===0)this.incompleteData=$;let f=xA($);this.handleEvent(...f)}}this.incompleteData=""}catch(I){if(I instanceof Error)this.logger.error("\u2757",I.message,I.cause,I.stack)}}),this.on("exit",()=>{this.logger.info("\uD83D\uDD25",this.id,'received "exit"'),process.exit(0)}),process.on("exit",(H)=>{this.logger.info("\uD83D\uDD25",this.id,`exited with code ${H}`)}),process.on("end",()=>{this.logger.info("\uD83D\uDD25",this.id,"ended"),process.exit(0)}),process.on("SIGTERM",()=>{this.logger.error("\uD83D\uDD25",this.id,"terminated"),process.exit(0)}),process.on("SIGINT",()=>{this.logger.error("\uD83D\uDD25",this.id,"interrupted"),process.exit(0)}),process.pid)this.id=process.pid?.toString();this.on("user-joins",(H)=>{this.logger.info("\uD83D\uDC64","user",H,"joined");let A=new UB(`user:${H}`);this.relays.set(H,A),this.logger.info("\uD83D\uDD17","attaching services:",`[${[...this.relayServices.keys()].join(", ")}]`);for(let L of this.relayServices){let I=L(A);if(I)A.disposalFunctions.push(I)}this.on(`user:${H}`,(...L)=>{A.in.next(L)}),A.out.subscribe("socket",(L)=>{this.emit(...L)})}),this.on("user-leaves",(H)=>{let A=this.relays.get(H);if(this.off(`relay:${H}`),A)A.dispose(),this.relays.delete(H)}),process.stdout.write("ALIVE")}relay(H){this.logger.info("\uD83D\uDD17","running relay method"),this.relayServices.push(H)}}var Gu=E$({key:"roomArguments",default:["echo",["Hello World!"]]}),CB=HM({key:"room",get:(H)=>async({get:A,find:L})=>{let I=L(Gu,H),$=A(I),[f,E]=$,D=await new Promise((M)=>{let o=E5(f,E,{env:process.env}),u=(t)=>{if(t.toString()==="ALIVE")o.stdout.off("data",u),M(o)};o.stdout.on("data",u)});return new PE(D,H)}});var Cq=D$({key:"createRoom",do:({get:H,set:A,find:L},I,$,f)=>{let E=f?[$,f]:[$],D=L(Gu,I);A(D,E),A(Cu,(u)=>u.add(I));let M=L(CB,I);return H(M)}}),Tq=D$({key:"joinRoom",do:(H,A,L,I)=>{let $={enteredAtEpoch:I};return wI(mE,(f)=>{f.set({room:A,user:L},$)},H.env().store),$}}),Gq=D$({key:"leaveRoom",do:(H,A,L)=>{wI(mE,(I)=>{I.delete({room:A,user:L})},H.env().store)}}),Fq=D$({key:"destroyRoom",do:(H,A)=>{wI(mE,(L)=>{L.delete({room:A})},H.env().store),H.set(Cu,(L)=>(L.delete(A),L))}});function Fu(H,A){return A.map((L)=>{switch(L.type){case"transaction_update":{let I=Fu(H,L.updates);return{...L,updates:I}}case"atom_update":case"selector_update":case"molecule_creation":case"molecule_disposal":case"molecule_transfer":case"state_creation":case"state_disposal":return L}}).filter((L)=>{switch(L.type){case"atom_update":case"selector_update":return H.includes(L.key);case"state_creation":case"state_disposal":return H.includes(L.token.key);case"molecule_creation":case"transaction_update":case"molecule_disposal":case"molecule_transfer":return!0}})}var mq=E$({key:"redactor",default:{occlude:(H)=>H}}),If=E$({key:"unacknowledgedUpdates",default:()=>[]});var LM=E$({key:"sockets",default:null}),_u=KI({key:"socketsIndex",mutable:!0,default:()=>new nA,toJson:(H)=>H.toJSON(),fromJson:(H)=>nA.fromJSON(H)}),Wu=KI({key:"usersIndex",mutable:!0,default:()=>new nA,toJson:(H)=>H.toJSON(),fromJson:(H)=>nA.fromJSON(H)}),M$=eD({key:"usersOfSockets",between:["user","socket"],cardinality:"1:1",isAType:(H)=>H.startsWith("user::"),isBType:(H)=>H.startsWith("socket::")});function TB(H,A,L,I){let $=A.key;return function f(){let E=[];for(let M of A.globals){let o=M.type==="mutable_atom"?iA(H,M):M,u=mH(H,o);E.push(o,u)}for(let M of A.perspectives){let{viewAtoms:o,resourceAtoms:u}=M,t=q(H,o,L),i=mH(H,t);H.logger.info("\uD83D\uDC41","atom",u.key,`${L} can see`,{viewAtoms:o,resourceAtoms:u,userView:i});for(let B of i){let U=B.type==="mutable_atom"?iA(H,B):B,x=mH(H,U);E.push(U,x)}}let D=FA(H)?H.transactionMeta.epoch.get($)??null:null;I?.emit(`continuity-init:${$}`,D,E)}}function GB(H,A,L){let I=A.key;return function $(f){H.logger.info("\uD83D\uDECE\uFE0F","continuity",I,"received",f);let{key:E,id:D}=f,M=`tx-run:${E}:${D}`,o=`${M}:start`,u=`${M}:end`;performance.mark(o);try{q$(H,{type:"transaction",key:E},D)(...f.params)}catch(i){if(i instanceof Error)H.logger.error("\u274C","continuity",I,`failed to run transaction ${E} from ${L} with update ${D}`,i.message)}performance.mark(u);let t=performance.measure(M,o,u);H?.logger.info("\uD83D\uDE80","transaction",E,D,L,t.duration)}}function FB(H,A,L,I){let $=A.key;return function f(E){if(H.logger.info("\uD83D\uDC4D","continuity",$,`${L} acknowledged epoch ${E}`),I[0]?.epoch===E)vH(H,If,L,(M)=>{return M.shift(),H.logger.info("\uD83D\uDC4D","continuity",$,`${L} unacknowledged update queue now has`,M.length,"items"),M})}}function _B(H,A,L,I){let $=A.key,f=[];for(let E of A.actions){let D=pu(H,E,`sync-continuity:${$}:${L}`,(M)=>{try{let o=A.globals.map((i)=>{if(i.type==="atom")return i.key;return uI(i).key}).concat(A.perspectives.flatMap((i)=>{let{viewAtoms:B}=i,U=q(H,B,L);return mH(H,U).map((T)=>{return T.type==="mutable_atom"?"*"+T.key:T.key})})),u=Fu(o,M.updates),t={...M,updates:u};vH(H,If,L,(i)=>{if(t)i.push(t),i.sort((B,U)=>B.epoch-U.epoch),H.logger.info("\uD83D\uDC4D","continuity",$,`${L} unacknowledged update queue now has`,i.length,"items");return i}),I?.emit(`tx-new:${$}`,t)}catch(o){if(o instanceof Error)H.logger.error("\u274C","continuity",$,`${L} failed to send update from transaction ${E.key} to ${L}`,o.message)}});f.push(D)}return f}function WB(H,A,L,I){let $=A.key,f=[];for(let E of A.perspectives){let{viewAtoms:D}=E,M=q(H,D,L),o=wA(H,M,`sync-continuity:${$}:${L}:perspective:${E.resourceAtoms.key}`,({oldValue:u,newValue:t})=>{let i=u.map((T)=>T.key),B=t.map((T)=>T.key),U=u.filter((T)=>!B.includes(T.key)),x=t.filter((T)=>!i.includes(T.key)).flatMap((T)=>{let F=T.type==="mutable_atom"?iA(H,T):T,m=mH(H,F);return[F,m]});if(H.logger.info("\uD83D\uDC41","atom",E.resourceAtoms.key,`${L} has a new perspective`,{oldKeys:i,newKeys:B,revealed:x,concealed:U}),x.length>0)I?.emit(`reveal:${$}`,x);if(U.length>0)I?.emit(`conceal:${$}`,U)});f.push(o)}return f}function mB({socket:H,store:A=e.STORE}){return function L(I){let $=H,f=I.key,E=Af(M$,`socket::${$.id}`,A).userKeyOfSocket,D=mH(A,E);if(!D)return A.logger.error("\u274C","continuity",f,`Tried to create a synchronizer for a socket (${$.id}) that is not connected to a user.`),()=>{};let M=Af(M$,D,A).socketKeyOfUser,o=wA(A,M,`sync-continuity:${f}:${D}`,({newValue:F})=>{if(A.logger.info("\uD83D\uDC4B","continuity",f,`seeing ${D} on new socket ${F}`),F===null){A.logger.warn("\u274C","continuity",f,`User (${D}) is not connected to a socket, waiting for them to reappear.`);return}let m=q(A,LM,F);$=mH(A,m);for(let W of u)$?.emit(`tx-new:${f}`,W)}),u=mH(A,If,D),t=[],i=WB(A,I,D,$),B=_B(A,I,D,$);t.push(...i,...B);let U=TB(A,I,D,H);$.off(`get:${f}`,U),$.on(`get:${f}`,U);let x=GB(A,I,D);$.off(`tx-run:${f}`,x),$.on(`tx-run:${f}`,x);let T=FB(A,I,D,u);return $?.on(`ack:${f}`,T),()=>{for(let F of t)F();$?.off(`ack:${f}`,T),$?.off(`get:${f}`,U),$?.off(`tx-run:${f}`,x)}}}var h_=s1(Dt(),1);var n=Symbol.for("drizzle:entityKind"),Og=Symbol.for("drizzle:hasOwnEntityKind");function _(H,A){if(!H||typeof H!=="object")return!1;if(H instanceof A)return!0;if(!Object.prototype.hasOwnProperty.call(A,n))throw new Error(`Class "${A.name??"<unknown>"}" doesn't look like a Drizzle entity. If this is incorrect and the class is provided by Drizzle, please report this as a bug.`);let L=Object.getPrototypeOf(H).constructor;if(L)while(L){if(n in L&&L[n]===A[n])return!0;L=Object.getPrototypeOf(L)}return!1}class aH{constructor(H,A){this.table=H,this.config=A,this.name=A.name,this.keyAsName=A.keyAsName,this.notNull=A.notNull,this.default=A.default,this.defaultFn=A.defaultFn,this.onUpdateFn=A.onUpdateFn,this.hasDefault=A.hasDefault,this.primary=A.primaryKey,this.isUnique=A.isUnique,this.uniqueName=A.uniqueName,this.uniqueType=A.uniqueType,this.dataType=A.dataType,this.columnType=A.columnType,this.generated=A.generated,this.generatedIdentity=A.generatedIdentity}static[n]="Column";name;keyAsName;primary;notNull;default;defaultFn;onUpdateFn;hasDefault;isUnique;uniqueName;uniqueType;dataType;columnType;enumValues=void 0;generated=void 0;generatedIdentity=void 0;config;mapFromDriverValue(H){return H}mapToDriverValue(H){return H}shouldDisableInsert(){return this.config.generated!==void 0&&this.config.generated.type!=="byDefault"}}class Mt{static[n]="ColumnBuilder";config;constructor(H,A,L){this.config={name:H,keyAsName:H==="",notNull:!1,default:void 0,hasDefault:!1,primaryKey:!1,isUnique:!1,uniqueName:void 0,uniqueType:void 0,dataType:A,columnType:L,generated:void 0}}$type(){return this}notNull(){return this.config.notNull=!0,this}default(H){return this.config.default=H,this.config.hasDefault=!0,this}$defaultFn(H){return this.config.defaultFn=H,this.config.hasDefault=!0,this}$default=this.$defaultFn;$onUpdateFn(H){return this.config.onUpdateFn=H,this.config.hasDefault=!0,this}$onUpdate=this.$onUpdateFn;primaryKey(){return this.config.primaryKey=!0,this.config.notNull=!0,this}setName(H){if(this.config.name!=="")return;this.config.name=H}}var OL=Symbol.for("drizzle:Name");class ot{static[n]="PgForeignKeyBuilder";reference;_onUpdate="no action";_onDelete="no action";constructor(H,A){if(this.reference=()=>{let{name:L,columns:I,foreignColumns:$}=H();return{name:L,columns:I,foreignTable:$[0].table,foreignColumns:$}},A)this._onUpdate=A.onUpdate,this._onDelete=A.onDelete}onUpdate(H){return this._onUpdate=H===void 0?"no action":H,this}onDelete(H){return this._onDelete=H===void 0?"no action":H,this}build(H){return new Fx(H,this)}}class Fx{constructor(H,A){this.table=H,this.reference=A.reference,this.onUpdate=A._onUpdate,this.onDelete=A._onDelete}static[n]="PgForeignKey";reference;onUpdate;onDelete;getName(){let{name:H,columns:A,foreignColumns:L}=this.reference(),I=A.map((E)=>E.name),$=L.map((E)=>E.name),f=[this.table[OL],...I,L[0].table[OL],...$];return H??`${f.join("_")}_fk`}}function TM(H,...A){return H(...A)}function _x(H,A){return`${H[OL]}_${A.join("_")}_unique`}function Wx(H,A,L){for(let I=A;I<H.length;I++){let $=H[I];if($==="\\"){I++;continue}if($==='"')return[H.slice(A,I).replace(/\\/g,""),I+1];if(L)continue;if($===","||$==="}")return[H.slice(A,I).replace(/\\/g,""),I]}return[H.slice(A).replace(/\\/g,""),H.length]}function mx(H,A=0){let L=[],I=A,$=!1;while(I<H.length){let f=H[I];if(f===","){if($||I===A)L.push("");$=!0,I++;continue}if($=!1,f==="\\"){I+=2;continue}if(f==='"'){let[M,o]=Wx(H,I+1,!0);L.push(M),I=o;continue}if(f==="}")return[L,I+1];if(f==="{"){let[M,o]=mx(H,I+1);L.push(M),I=o;continue}let[E,D]=Wx(H,I,!1);L.push(E),I=D}return[L,I]}function Px(H){let[A]=mx(H,1);return A}function ut(H){return`{${H.map((A)=>{if(Array.isArray(A))return ut(A);if(typeof A==="string")return`"${A.replace(/\\/g,"\\\\").replace(/"/g,"\\\"")}"`;return`${A}`}).join(",")}}`}class z extends Mt{foreignKeyConfigs=[];static[n]="PgColumnBuilder";array(H){return new Sx(this.config.name,this,H)}references(H,A={}){return this.foreignKeyConfigs.push({ref:H,actions:A}),this}unique(H,A){return this.config.isUnique=!0,this.config.uniqueName=H,this.config.uniqueType=A?.nulls,this}generatedAlwaysAs(H){return this.config.generated={as:H,type:"always",mode:"stored"},this}buildForeignKeys(H,A){return this.foreignKeyConfigs.map(({ref:L,actions:I})=>{return TM(($,f)=>{let E=new ot(()=>{let D=$();return{columns:[H],foreignColumns:[D]}});if(f.onUpdate)E.onUpdate(f.onUpdate);if(f.onDelete)E.onDelete(f.onDelete);return E.build(A)},L,I)})}buildExtraConfigColumn(H){return new Xx(H,this.config)}}class K extends aH{constructor(H,A){if(!A.uniqueName)A.uniqueName=_x(H,[A.name]);super(H,A);this.table=H}static[n]="PgColumn"}class Xx extends K{static[n]="ExtraConfigColumn";getSQLType(){return this.getSQLType()}indexConfig={order:this.config.order??"asc",nulls:this.config.nulls??"last",opClass:this.config.opClass};defaultConfig={order:"asc",nulls:"last",opClass:void 0};asc(){return this.indexConfig.order="asc",this}desc(){return this.indexConfig.order="desc",this}nullsFirst(){return this.indexConfig.nulls="first",this}nullsLast(){return this.indexConfig.nulls="last",this}op(H){return this.indexConfig.opClass=H,this}}class NE{static[n]="IndexedColumn";constructor(H,A,L,I){this.name=H,this.keyAsName=A,this.type=L,this.indexConfig=I}name;keyAsName;type;indexConfig}class Sx extends z{static[n]="PgArrayBuilder";constructor(H,A,L){super(H,"array","PgArray");this.config.baseBuilder=A,this.config.size=L}build(H){let A=this.config.baseBuilder.build(H);return new tt(H,this.config,A)}}class tt extends K{constructor(H,A,L,I){super(H,A);this.baseColumn=L,this.range=I,this.size=A.size}size;static[n]="PgArray";getSQLType(){return`${this.baseColumn.getSQLType()}[${typeof this.size==="number"?this.size:""}]`}mapFromDriverValue(H){if(typeof H==="string")H=Px(H);return H.map((A)=>this.baseColumn.mapFromDriverValue(A))}mapToDriverValue(H,A=!1){let L=H.map((I)=>I===null?null:_(this.baseColumn,tt)?this.baseColumn.mapToDriverValue(I,!0):this.baseColumn.mapToDriverValue(I));if(A)return L;return ut(L)}}var it=Symbol.for("drizzle:isPgEnum");function Jx(H){return!!H&&typeof H==="function"&&it in H&&H[it]===!0}class Vx extends z{static[n]="PgEnumColumnBuilder";constructor(H,A){super(H,"string","PgEnumColumn");this.config.enum=A}build(H){return new wx(H,this.config)}}class wx extends K{static[n]="PgEnumColumn";enum=this.config.enum;enumValues=this.config.enum.enumValues;constructor(H,A){super(H,A);this.enum=A.enum}getSQLType(){return this.enum.enumName}}function GM(H,A){return m4(H,A,void 0)}function m4(H,A,L){let I=Object.assign(($)=>new Vx($??"",I),{enumName:H,enumValues:A,schema:L,[it]:!0});return I}class BA{static[n]="Subquery";constructor(H,A,L,I=!1){this._={brand:"Subquery",sql:H,selectedFields:A,alias:L,isWith:I}}}class yE extends BA{static[n]="WithSubquery"}var Kx="0.41.0";var pt,nt,lH={startActiveSpan(H,A){if(!pt)return A();if(!nt)nt=pt.trace.getTracer("drizzle-orm",Kx);return TM((L,I)=>I.startActiveSpan(H,($)=>{try{return A($)}catch(f){throw $.setStatus({code:L.SpanStatusCode.ERROR,message:f instanceof Error?f.message:"Unknown error"}),f}finally{$.end()}}),pt,nt)}};var RH=Symbol.for("drizzle:ViewBaseConfig");var FM=Symbol.for("drizzle:Schema"),_M=Symbol.for("drizzle:Columns"),vx=Symbol.for("drizzle:ExtraConfigColumns"),Bt=Symbol.for("drizzle:OriginalName"),ct=Symbol.for("drizzle:BaseName"),RE=Symbol.for("drizzle:IsAlias"),ax=Symbol.for("drizzle:ExtraConfigBuilder"),P4=Symbol.for("drizzle:IsDrizzleTable");class y{static[n]="Table";static Symbol={Name:OL,Schema:FM,OriginalName:Bt,Columns:_M,ExtraConfigColumns:vx,BaseName:ct,IsAlias:RE,ExtraConfigBuilder:ax};[OL];[Bt];[FM];[_M];[vx];[ct];[RE]=!1;[P4]=!0;[ax]=void 0;constructor(H,A,L){this[OL]=this[Bt]=H,this[FM]=A,this[ct]=L}}function UA(H){return H[OL]}function n$(H){return`${H[FM]??"public"}.${H[OL]}`}function xt(H){return H!==null&&H!==void 0&&typeof H.getSQL==="function"}function X4(H){let A={sql:"",params:[]};for(let L of H)if(A.sql+=L.sql,A.params.push(...L.params),L.typings?.length){if(!A.typings)A.typings=[];A.typings.push(...L.typings)}return A}class cA{static[n]="StringChunk";value;constructor(H){this.value=Array.isArray(H)?H:[H]}getSQL(){return new R([this])}}class R{constructor(H){this.queryChunks=H}static[n]="SQL";decoder=Ox;shouldInlineParams=!1;append(H){return this.queryChunks.push(...H.queryChunks),this}toQuery(H){return lH.startActiveSpan("drizzle.buildSQL",(A)=>{let L=this.buildQueryFromSourceParams(this.queryChunks,H);return A?.setAttributes({"drizzle.query.text":L.sql,"drizzle.query.params":JSON.stringify(L.params)}),L})}buildQueryFromSourceParams(H,A){let L=Object.assign({},A,{inlineParams:A.inlineParams||this.shouldInlineParams,paramStartIndex:A.paramStartIndex||{value:0}}),{casing:I,escapeName:$,escapeParam:f,prepareTyping:E,inlineParams:D,paramStartIndex:M}=L;return X4(H.map((o)=>{if(_(o,cA))return{sql:o.value.join(""),params:[]};if(_(o,WM))return{sql:$(o.value),params:[]};if(o===void 0)return{sql:"",params:[]};if(Array.isArray(o)){let u=[new cA("(")];for(let[t,i]of o.entries())if(u.push(i),t<o.length-1)u.push(new cA(", "));return u.push(new cA(")")),this.buildQueryFromSourceParams(u,L)}if(_(o,R))return this.buildQueryFromSourceParams(o.queryChunks,{...L,inlineParams:D||o.shouldInlineParams});if(_(o,y)){let u=o[y.Symbol.Schema],t=o[y.Symbol.Name];return{sql:u===void 0||o[RE]?$(t):$(u)+"."+$(t),params:[]}}if(_(o,aH)){let u=I.getColumnCasing(o);if(A.invokeSource==="indexes")return{sql:$(u),params:[]};let t=o.table[y.Symbol.Schema];return{sql:o.table[RE]||t===void 0?$(o.table[y.Symbol.Name])+"."+$(u):$(t)+"."+$(o.table[y.Symbol.Name])+"."+$(u),params:[]}}if(_(o,gA)){let u=o[RH].schema,t=o[RH].name;return{sql:u===void 0||o[RH].isAlias?$(t):$(u)+"."+$(t),params:[]}}if(_(o,EL)){if(_(o.value,NI))return{sql:f(M.value++,o),params:[o],typings:["none"]};let u=o.value===null?null:o.encoder.mapToDriverValue(o.value);if(_(u,R))return this.buildQueryFromSourceParams([u],L);if(D)return{sql:this.mapInlineParam(u,L),params:[]};let t=["none"];if(E)t=[E(o.encoder)];return{sql:f(M.value++,u),params:[u],typings:t}}if(_(o,NI))return{sql:f(M.value++,o),params:[o],typings:["none"]};if(_(o,R.Aliased)&&o.fieldAlias!==void 0)return{sql:$(o.fieldAlias),params:[]};if(_(o,BA)){if(o._.isWith)return{sql:$(o._.alias),params:[]};return this.buildQueryFromSourceParams([new cA("("),o._.sql,new cA(") "),new WM(o._.alias)],L)}if(Jx(o)){if(o.schema)return{sql:$(o.schema)+"."+$(o.enumName),params:[]};return{sql:$(o.enumName),params:[]}}if(xt(o)){if(o.shouldOmitSQLParens?.())return this.buildQueryFromSourceParams([o.getSQL()],L);return this.buildQueryFromSourceParams([new cA("("),o.getSQL(),new cA(")")],L)}if(D)return{sql:this.mapInlineParam(o,L),params:[]};return{sql:f(M.value++,o),params:[o],typings:["none"]}}))}mapInlineParam(H,{escapeString:A}){if(H===null)return"null";if(typeof H==="number"||typeof H==="boolean")return H.toString();if(typeof H==="string")return A(H);if(typeof H==="object"){let L=H.toString();if(L==="[object Object]")return A(JSON.stringify(H));return A(L)}throw new Error("Unexpected param value: "+H)}getSQL(){return this}as(H){if(H===void 0)return this;return new R.Aliased(this,H)}mapWith(H){return this.decoder=typeof H==="function"?{mapFromDriverValue:H}:H,this}inlineParams(){return this.shouldInlineParams=!0,this}if(H){return H?this:void 0}}class WM{constructor(H){this.value=H}static[n]="Name";brand;getSQL(){return new R([this])}}function lx(H){return typeof H==="object"&&H!==null&&"mapToDriverValue"in H&&typeof H.mapToDriverValue==="function"}var Ox={mapFromDriverValue:(H)=>H},sx={mapToDriverValue:(H)=>H},We={...Ox,...sx};class EL{constructor(H,A=sx){this.value=H,this.encoder=A}static[n]="Param";brand;getSQL(){return new R([this])}}function c(H,...A){let L=[];if(A.length>0||H.length>0&&H[0]!=="")L.push(new cA(H[0]));for(let[I,$]of A.entries())L.push($,new cA(H[I+1]));return new R(L)}((H)=>{function A(){return new R([])}H.empty=A;function L(M){return new R(M)}H.fromList=L;function I(M){return new R([new cA(M)])}H.raw=I;function $(M,o){let u=[];for(let[t,i]of M.entries()){if(t>0&&o!==void 0)u.push(o);u.push(i)}return new R(u)}H.join=$;function f(M){return new WM(M)}H.identifier=f;function E(M){return new NI(M)}H.placeholder=E;function D(M,o){return new EL(M,o)}H.param=D})(c||(c={}));((H)=>{class A{constructor(L,I){this.sql=L,this.fieldAlias=I}static[n]="SQL.Aliased";isSelectionField=!1;getSQL(){return this.sql}clone(){return new A(this.sql,this.fieldAlias)}}H.Aliased=A})(R||(R={}));class NI{constructor(H){this.name=H}static[n]="Placeholder";getSQL(){return new R([this])}}function Ut(H,A){return H.map((L)=>{if(_(L,NI)){if(!(L.name in A))throw new Error(`No value for placeholder "${L.name}" was provided`);return A[L.name]}if(_(L,EL)&&_(L.value,NI)){if(!(L.value.name in A))throw new Error(`No value for placeholder "${L.value.name}" was provided`);return L.encoder.mapToDriverValue(A[L.value.name])}return L})}var S4=Symbol.for("drizzle:IsDrizzleView");class gA{static[n]="View";[RH];[S4]=!0;constructor({name:H,schema:A,selectedFields:L,query:I}){this[RH]={name:H,originalName:H,schema:A,selectedFields:L,query:I,isExisting:!I,isAlias:!1}}getSQL(){return new R([this])}}aH.prototype.getSQL=function(){return new R([this])};y.prototype.getSQL=function(){return new R([this])};BA.prototype.getSQL=function(){return new R([this])};class xf{constructor(H){this.table=H}static[n]="ColumnAliasProxyHandler";get(H,A){if(A==="table")return this.table;return H[A]}}class YE{constructor(H,A){this.alias=H,this.replaceOriginalName=A}static[n]="TableAliasProxyHandler";get(H,A){if(A===y.Symbol.IsAlias)return!0;if(A===y.Symbol.Name)return this.alias;if(this.replaceOriginalName&&A===y.Symbol.OriginalName)return this.alias;if(A===RH)return{...H[RH],name:this.alias,isAlias:!0};if(A===y.Symbol.Columns){let I=H[y.Symbol.Columns];if(!I)return I;let $={};return Object.keys(I).map((f)=>{$[f]=new Proxy(I[f],new xf(new Proxy(H,this)))}),$}let L=H[A];if(_(L,aH))return new Proxy(L,new xf(new Proxy(H,this)));return L}}function mM(H,A){return new Proxy(H,new YE(A,!1))}function dL(H,A){return new Proxy(H,new xf(new Proxy(H.table,new YE(A,!1))))}function Ct(H,A){return new R.Aliased(QE(H.sql,A),H.fieldAlias)}function QE(H,A){return c.join(H.queryChunks.map((L)=>{if(_(L,aH))return dL(L,A);if(_(L,R))return QE(L,A);if(_(L,R.Aliased))return Ct(L,A);return L}))}class PM extends Error{static[n]="DrizzleError";constructor({message:H,cause:A}){super(H);this.name="DrizzleError",this.cause=A}}class Tt extends PM{static[n]="TransactionRollbackError";constructor(){super({message:"Rollback"})}}function eA(H,A){if(lx(A)&&!xt(H)&&!_(H,EL)&&!_(H,NI)&&!_(H,aH)&&!_(H,y)&&!_(H,gA))return new EL(H,A);return H}var qL=(H,A)=>{return c`${H} = ${eA(A,H)}`},Nx=(H,A)=>{return c`${H} <> ${eA(A,H)}`};function B$(...H){let A=H.filter((L)=>L!==void 0);if(A.length===0)return;if(A.length===1)return new R(A);return new R([new cA("("),c.join(A,new cA(" and ")),new cA(")")])}function yx(...H){let A=H.filter((L)=>L!==void 0);if(A.length===0)return;if(A.length===1)return new R(A);return new R([new cA("("),c.join(A,new cA(" or ")),new cA(")")])}function Rx(H){return c`not ${H}`}var XM=(H,A)=>{return c`${H} > ${eA(A,H)}`},Yx=(H,A)=>{return c`${H} >= ${eA(A,H)}`},Qx=(H,A)=>{return c`${H} < ${eA(A,H)}`},zx=(H,A)=>{return c`${H} <= ${eA(A,H)}`};function bx(H,A){if(Array.isArray(A)){if(A.length===0)return c`false`;return c`${H} in ${A.map((L)=>eA(L,H))}`}return c`${H} in ${eA(A,H)}`}function Zx(H,A){if(Array.isArray(A)){if(A.length===0)return c`true`;return c`${H} not in ${A.map((L)=>eA(L,H))}`}return c`${H} not in ${eA(A,H)}`}function hx(H){return c`${H} is null`}function rx(H){return c`${H} is not null`}function jx(H){return c`exists ${H}`}function kx(H){return c`not exists ${H}`}function dx(H,A,L){return c`${H} between ${eA(A,H)} and ${eA(L,H)}`}function qx(H,A,L){return c`${H} not between ${eA(A,H)} and ${eA(L,H)}`}function gx(H,A){return c`${H} like ${A}`}function ex(H,A){return c`${H} not like ${A}`}function H8(H,A){return c`${H} ilike ${A}`}function A8(H,A){return c`${H} not ilike ${A}`}function L8(H){return c`${H} asc`}function I8(H){return c`${H} desc`}class $8{static[n]="ConsoleLogWriter";write(H){console.log(H)}}class Gt{static[n]="DefaultLogger";writer;constructor(H){this.writer=H?.writer??new $8}logQuery(H,A){let L=A.map(($)=>{try{return JSON.stringify($)}catch{return String($)}}),I=L.length?` -- params: [${L.join(", ")}]`:"";this.writer.write(`Query: ${H}${I}`)}}class Ft{static[n]="NoopLogger";logQuery(){}}class QA{static[n]="QueryPromise";[Symbol.toStringTag]="QueryPromise";catch(H){return this.then(void 0,H)}finally(H){return this.then((A)=>{return H?.(),A},(A)=>{throw H?.(),A})}then(H,A){return this.execute().then(H,A)}}function f8(H,A,L){let I={},$=H.reduce((f,{path:E,field:D},M)=>{let o;if(_(D,aH))o=D;else if(_(D,R))o=D.decoder;else o=D.sql.decoder;let u=f;for(let[t,i]of E.entries())if(t<E.length-1){if(!(i in u))u[i]={};u=u[i]}else{let B=A[M],U=u[i]=B===null?null:o.mapFromDriverValue(B);if(L&&_(D,aH)&&E.length===2){let x=E[0];if(!(x in I))I[x]=U===null?UA(D.table):!1;else if(typeof I[x]==="string"&&I[x]!==UA(D.table))I[x]=!1}}return f},{});if(L&&Object.keys(I).length>0){for(let[f,E]of Object.entries(I))if(typeof E==="string"&&!L[E])$[f]=null}return $}function FL(H,A){return Object.entries(H).reduce((L,[I,$])=>{if(typeof I!=="string")return L;let f=A?[...A,I]:[I];if(_($,aH)||_($,R)||_($,R.Aliased))L.push({path:f,field:$});else if(_($,y))L.push(...FL($[y.Symbol.Columns],f));else L.push(...FL($,f));return L},[])}function zE(H,A){let L=Object.keys(H),I=Object.keys(A);if(L.length!==I.length)return!1;for(let[$,f]of L.entries())if(f!==I[$])return!1;return!0}function SM(H,A){let L=Object.entries(A).filter(([,I])=>I!==void 0).map(([I,$])=>{if(_($,R)||_($,aH))return[I,$];else return[I,new EL($,H[y.Symbol.Columns][I])]});if(L.length===0)throw new Error("No values to set");return Object.fromEntries(L)}function E8(H,A){for(let L of A)for(let I of Object.getOwnPropertyNames(L.prototype)){if(I==="constructor")continue;Object.defineProperty(H.prototype,I,Object.getOwnPropertyDescriptor(L.prototype,I)||Object.create(null))}}function D8(H){return H[y.Symbol.Columns]}function iI(H){return _(H,BA)?H._.alias:_(H,gA)?H[RH].name:_(H,R)?void 0:H[y.Symbol.IsAlias]?H[y.Symbol.Name]:H[y.Symbol.BaseName]}function BH(H,A){return{name:typeof H==="string"&&H.length>0?H:"",config:typeof H==="object"?H:A}}function M8(H){if(typeof H!=="object"||H===null)return!1;if(H.constructor.name!=="Object")return!1;if("logger"in H){let A=typeof H.logger;if(A!=="boolean"&&(A!=="object"||typeof H.logger.logQuery!=="function")&&A!=="undefined")return!1;return!0}if("schema"in H){let A=typeof H.schema;if(A!=="object"&&A!=="undefined")return!1;return!0}if("casing"in H){let A=typeof H.casing;if(A!=="string"&&A!=="undefined")return!1;return!0}if("mode"in H){if(H.mode!=="default"||H.mode!=="planetscale"||H.mode!==void 0)return!1;return!0}if("connection"in H){let A=typeof H.connection;if(A!=="string"&&A!=="object"&&A!=="undefined")return!1;return!0}if("client"in H){let A=typeof H.client;if(A!=="object"&&A!=="function"&&A!=="undefined")return!1;return!0}if(Object.keys(H).length===0)return!0;return!1}class yI extends z{static[n]="PgIntColumnBaseBuilder";generatedAlwaysAsIdentity(H){if(H){let{name:A,...L}=H;this.config.generatedIdentity={type:"always",sequenceName:A,sequenceOptions:L}}else this.config.generatedIdentity={type:"always"};return this.config.hasDefault=!0,this.config.notNull=!0,this}generatedByDefaultAsIdentity(H){if(H){let{name:A,...L}=H;this.config.generatedIdentity={type:"byDefault",sequenceName:A,sequenceOptions:L}}else this.config.generatedIdentity={type:"byDefault"};return this.config.hasDefault=!0,this.config.notNull=!0,this}}class o8 extends yI{static[n]="PgBigInt53Builder";constructor(H){super(H,"number","PgBigInt53")}build(H){return new u8(H,this.config)}}class u8 extends K{static[n]="PgBigInt53";getSQLType(){return"bigint"}mapFromDriverValue(H){if(typeof H==="number")return H;return Number(H)}}class t8 extends yI{static[n]="PgBigInt64Builder";constructor(H){super(H,"bigint","PgBigInt64")}build(H){return new i8(H,this.config)}}class i8 extends K{static[n]="PgBigInt64";getSQLType(){return"bigint"}mapFromDriverValue(H){return BigInt(H)}}function p8(H,A){let{name:L,config:I}=BH(H,A);if(I.mode==="number")return new o8(L);return new t8(L)}class n8 extends z{static[n]="PgBigSerial53Builder";constructor(H){super(H,"number","PgBigSerial53");this.config.hasDefault=!0,this.config.notNull=!0}build(H){return new B8(H,this.config)}}class B8 extends K{static[n]="PgBigSerial53";getSQLType(){return"bigserial"}mapFromDriverValue(H){if(typeof H==="number")return H;return Number(H)}}class c8 extends z{static[n]="PgBigSerial64Builder";constructor(H){super(H,"bigint","PgBigSerial64");this.config.hasDefault=!0}build(H){return new x8(H,this.config)}}class x8 extends K{static[n]="PgBigSerial64";getSQLType(){return"bigserial"}mapFromDriverValue(H){return BigInt(H)}}function U8(H,A){let{name:L,config:I}=BH(H,A);if(I.mode==="number")return new n8(L);return new c8(L)}class C8 extends z{static[n]="PgBooleanBuilder";constructor(H){super(H,"boolean","PgBoolean")}build(H){return new T8(H,this.config)}}class T8 extends K{static[n]="PgBoolean";getSQLType(){return"boolean"}}function bE(H){return new C8(H??"")}class G8 extends z{static[n]="PgCharBuilder";constructor(H,A){super(H,"string","PgChar");this.config.length=A.length,this.config.enumValues=A.enum}build(H){return new F8(H,this.config)}}class F8 extends K{static[n]="PgChar";length=this.config.length;enumValues=this.config.enumValues;getSQLType(){return this.length===void 0?"char":`char(${this.length})`}}function _8(H,A={}){let{name:L,config:I}=BH(H,A);return new G8(L,I)}class W8 extends z{static[n]="PgCidrBuilder";constructor(H){super(H,"string","PgCidr")}build(H){return new m8(H,this.config)}}class m8 extends K{static[n]="PgCidr";getSQLType(){return"cidr"}}function P8(H){return new W8(H??"")}class X8 extends z{static[n]="PgCustomColumnBuilder";constructor(H,A,L){super(H,"custom","PgCustomColumn");this.config.fieldConfig=A,this.config.customTypeParams=L}build(H){return new S8(H,this.config)}}class S8 extends K{static[n]="PgCustomColumn";sqlName;mapTo;mapFrom;constructor(H,A){super(H,A);this.sqlName=A.customTypeParams.dataType(A.fieldConfig),this.mapTo=A.customTypeParams.toDriver,this.mapFrom=A.customTypeParams.fromDriver}getSQLType(){return this.sqlName}mapFromDriverValue(H){return typeof this.mapFrom==="function"?this.mapFrom(H):H}mapToDriverValue(H){return typeof this.mapTo==="function"?this.mapTo(H):H}}function J8(H){return(A,L)=>{let{name:I,config:$}=BH(A,L);return new X8(I,$,H)}}class pI extends z{static[n]="PgDateColumnBaseBuilder";defaultNow(){return this.default(c`now()`)}}class V8 extends pI{static[n]="PgDateBuilder";constructor(H){super(H,"date","PgDate")}build(H){return new JM(H,this.config)}}class JM extends K{static[n]="PgDate";getSQLType(){return"date"}mapFromDriverValue(H){return new Date(H)}mapToDriverValue(H){return H.toISOString()}}class w8 extends pI{static[n]="PgDateStringBuilder";constructor(H){super(H,"string","PgDateString")}build(H){return new VM(H,this.config)}}class VM extends K{static[n]="PgDateString";getSQLType(){return"date"}}function K8(H,A){let{name:L,config:I}=BH(H,A);if(I?.mode==="date")return new V8(L);return new w8(L)}class v8 extends z{static[n]="PgDoublePrecisionBuilder";constructor(H){super(H,"number","PgDoublePrecision")}build(H){return new a8(H,this.config)}}class a8 extends K{static[n]="PgDoublePrecision";getSQLType(){return"double precision"}mapFromDriverValue(H){if(typeof H==="string")return Number.parseFloat(H);return H}}function l8(H){return new v8(H??"")}class O8 extends z{static[n]="PgInetBuilder";constructor(H){super(H,"string","PgInet")}build(H){return new s8(H,this.config)}}class s8 extends K{static[n]="PgInet";getSQLType(){return"inet"}}function N8(H){return new O8(H??"")}class y8 extends yI{static[n]="PgIntegerBuilder";constructor(H){super(H,"number","PgInteger")}build(H){return new R8(H,this.config)}}class R8 extends K{static[n]="PgInteger";getSQLType(){return"integer"}mapFromDriverValue(H){if(typeof H==="string")return Number.parseInt(H);return H}}function wM(H){return new y8(H??"")}class Y8 extends z{static[n]="PgIntervalBuilder";constructor(H,A){super(H,"string","PgInterval");this.config.intervalConfig=A}build(H){return new Q8(H,this.config)}}class Q8 extends K{static[n]="PgInterval";fields=this.config.intervalConfig.fields;precision=this.config.intervalConfig.precision;getSQLType(){let H=this.fields?` ${this.fields}`:"",A=this.precision?`(${this.precision})`:"";return`interval${H}${A}`}}function z8(H,A={}){let{name:L,config:I}=BH(H,A);return new Y8(L,I)}class b8 extends z{static[n]="PgJsonBuilder";constructor(H){super(H,"json","PgJson")}build(H){return new KM(H,this.config)}}class KM extends K{static[n]="PgJson";constructor(H,A){super(H,A)}getSQLType(){return"json"}mapToDriverValue(H){return JSON.stringify(H)}mapFromDriverValue(H){if(typeof H==="string")try{return JSON.parse(H)}catch{return H}return H}}function Z8(H){return new b8(H??"")}class h8 extends z{static[n]="PgJsonbBuilder";constructor(H){super(H,"json","PgJsonb")}build(H){return new vM(H,this.config)}}class vM extends K{static[n]="PgJsonb";constructor(H,A){super(H,A)}getSQLType(){return"jsonb"}mapToDriverValue(H){return JSON.stringify(H)}mapFromDriverValue(H){if(typeof H==="string")try{return JSON.parse(H)}catch{return H}return H}}function r8(H){return new h8(H??"")}class j8 extends z{static[n]="PgLineBuilder";constructor(H){super(H,"array","PgLine")}build(H){return new k8(H,this.config)}}class k8 extends K{static[n]="PgLine";getSQLType(){return"line"}mapFromDriverValue(H){let[A,L,I]=H.slice(1,-1).split(",");return[Number.parseFloat(A),Number.parseFloat(L),Number.parseFloat(I)]}mapToDriverValue(H){return`{${H[0]},${H[1]},${H[2]}}`}}class d8 extends z{static[n]="PgLineABCBuilder";constructor(H){super(H,"json","PgLineABC")}build(H){return new q8(H,this.config)}}class q8 extends K{static[n]="PgLineABC";getSQLType(){return"line"}mapFromDriverValue(H){let[A,L,I]=H.slice(1,-1).split(",");return{a:Number.parseFloat(A),b:Number.parseFloat(L),c:Number.parseFloat(I)}}mapToDriverValue(H){return`{${H.a},${H.b},${H.c}}`}}function g8(H,A){let{name:L,config:I}=BH(H,A);if(!I?.mode||I.mode==="tuple")return new j8(L);return new d8(L)}class e8 extends z{static[n]="PgMacaddrBuilder";constructor(H){super(H,"string","PgMacaddr")}build(H){return new HU(H,this.config)}}class HU extends K{static[n]="PgMacaddr";getSQLType(){return"macaddr"}}function AU(H){return new e8(H??"")}class LU extends z{static[n]="PgMacaddr8Builder";constructor(H){super(H,"string","PgMacaddr8")}build(H){return new IU(H,this.config)}}class IU extends K{static[n]="PgMacaddr8";getSQLType(){return"macaddr8"}}function $U(H){return new LU(H??"")}class fU extends z{static[n]="PgNumericBuilder";constructor(H,A,L){super(H,"string","PgNumeric");this.config.precision=A,this.config.scale=L}build(H){return new aM(H,this.config)}}class aM extends K{static[n]="PgNumeric";precision;scale;constructor(H,A){super(H,A);this.precision=A.precision,this.scale=A.scale}mapFromDriverValue(H){if(typeof H==="string")return H;return String(H)}getSQLType(){if(this.precision!==void 0&&this.scale!==void 0)return`numeric(${this.precision}, ${this.scale})`;else if(this.precision===void 0)return"numeric";else return`numeric(${this.precision})`}}class EU extends z{static[n]="PgNumericNumberBuilder";constructor(H,A,L){super(H,"number","PgNumericNumber");this.config.precision=A,this.config.scale=L}build(H){return new DU(H,this.config)}}class DU extends K{static[n]="PgNumericNumber";precision;scale;constructor(H,A){super(H,A);this.precision=A.precision,this.scale=A.scale}mapFromDriverValue(H){if(typeof H==="number")return H;return Number(H)}mapToDriverValue=String;getSQLType(){if(this.precision!==void 0&&this.scale!==void 0)return`numeric(${this.precision}, ${this.scale})`;else if(this.precision===void 0)return"numeric";else return`numeric(${this.precision})`}}class MU extends z{static[n]="PgNumericBigIntBuilder";constructor(H,A,L){super(H,"bigint","PgNumericBigInt");this.config.precision=A,this.config.scale=L}build(H){return new oU(H,this.config)}}class oU extends K{static[n]="PgNumericBigInt";precision;scale;constructor(H,A){super(H,A);this.precision=A.precision,this.scale=A.scale}mapFromDriverValue=BigInt;mapToDriverValue=String;getSQLType(){if(this.precision!==void 0&&this.scale!==void 0)return`numeric(${this.precision}, ${this.scale})`;else if(this.precision===void 0)return"numeric";else return`numeric(${this.precision})`}}function uU(H,A){let{name:L,config:I}=BH(H,A),$=I?.mode;return $==="number"?new EU(L,I?.precision,I?.scale):$==="bigint"?new MU(L,I?.precision,I?.scale):new fU(L,I?.precision,I?.scale)}class tU extends z{static[n]="PgPointTupleBuilder";constructor(H){super(H,"array","PgPointTuple")}build(H){return new iU(H,this.config)}}class iU extends K{static[n]="PgPointTuple";getSQLType(){return"point"}mapFromDriverValue(H){if(typeof H==="string"){let[A,L]=H.slice(1,-1).split(",");return[Number.parseFloat(A),Number.parseFloat(L)]}return[H.x,H.y]}mapToDriverValue(H){return`(${H[0]},${H[1]})`}}class pU extends z{static[n]="PgPointObjectBuilder";constructor(H){super(H,"json","PgPointObject")}build(H){return new nU(H,this.config)}}class nU extends K{static[n]="PgPointObject";getSQLType(){return"point"}mapFromDriverValue(H){if(typeof H==="string"){let[A,L]=H.slice(1,-1).split(",");return{x:Number.parseFloat(A),y:Number.parseFloat(L)}}return H}mapToDriverValue(H){return`(${H.x},${H.y})`}}function BU(H,A){let{name:L,config:I}=BH(H,A);if(!I?.mode||I.mode==="tuple")return new tU(L);return new pU(L)}function J4(H){let A=[];for(let L=0;L<H.length;L+=2)A.push(Number.parseInt(H.slice(L,L+2),16));return new Uint8Array(A)}function cU(H,A){let L=new ArrayBuffer(8),I=new DataView(L);for(let $=0;$<8;$++)I.setUint8($,H[A+$]);return I.getFloat64(0,!0)}function _t(H){let A=J4(H),L=0,I=A[L];L+=1;let $=new DataView(A.buffer),f=$.getUint32(L,I===1);L+=4;let E;if(f&536870912)E=$.getUint32(L,I===1),L+=4;if((f&65535)===1){let D=cU(A,L);L+=8;let M=cU(A,L);return L+=8,[D,M]}throw new Error("Unsupported geometry type")}class xU extends z{static[n]="PgGeometryBuilder";constructor(H){super(H,"array","PgGeometry")}build(H){return new UU(H,this.config)}}class UU extends K{static[n]="PgGeometry";getSQLType(){return"geometry(point)"}mapFromDriverValue(H){return _t(H)}mapToDriverValue(H){return`point(${H[0]} ${H[1]})`}}class CU extends z{static[n]="PgGeometryObjectBuilder";constructor(H){super(H,"json","PgGeometryObject")}build(H){return new TU(H,this.config)}}class TU extends K{static[n]="PgGeometryObject";getSQLType(){return"geometry(point)"}mapFromDriverValue(H){let A=_t(H);return{x:A[0],y:A[1]}}mapToDriverValue(H){return`point(${H.x} ${H.y})`}}function GU(H,A){let{name:L,config:I}=BH(H,A);if(!I?.mode||I.mode==="tuple")return new xU(L);return new CU(L)}class FU extends z{static[n]="PgRealBuilder";constructor(H,A){super(H,"number","PgReal");this.config.length=A}build(H){return new _U(H,this.config)}}class _U extends K{static[n]="PgReal";constructor(H,A){super(H,A)}getSQLType(){return"real"}mapFromDriverValue=(H)=>{if(typeof H==="string")return Number.parseFloat(H);return H}}function WU(H){return new FU(H??"")}class mU extends z{static[n]="PgSerialBuilder";constructor(H){super(H,"number","PgSerial");this.config.hasDefault=!0,this.config.notNull=!0}build(H){return new PU(H,this.config)}}class PU extends K{static[n]="PgSerial";getSQLType(){return"serial"}}function XU(H){return new mU(H??"")}class SU extends yI{static[n]="PgSmallIntBuilder";constructor(H){super(H,"number","PgSmallInt")}build(H){return new JU(H,this.config)}}class JU extends K{static[n]="PgSmallInt";getSQLType(){return"smallint"}mapFromDriverValue=(H)=>{if(typeof H==="string")return Number(H);return H}}function VU(H){return new SU(H??"")}class wU extends z{static[n]="PgSmallSerialBuilder";constructor(H){super(H,"number","PgSmallSerial");this.config.hasDefault=!0,this.config.notNull=!0}build(H){return new KU(H,this.config)}}class KU extends K{static[n]="PgSmallSerial";getSQLType(){return"smallserial"}}function vU(H){return new wU(H??"")}class aU extends z{static[n]="PgTextBuilder";constructor(H,A){super(H,"string","PgText");this.config.enumValues=A.enum}build(H){return new lU(H,this.config)}}class lU extends K{static[n]="PgText";enumValues=this.config.enumValues;getSQLType(){return"text"}}function OU(H,A={}){let{name:L,config:I}=BH(H,A);return new aU(L,I)}class sU extends pI{constructor(H,A,L){super(H,"string","PgTime");this.withTimezone=A,this.precision=L,this.config.withTimezone=A,this.config.precision=L}static[n]="PgTimeBuilder";build(H){return new lM(H,this.config)}}class lM extends K{static[n]="PgTime";withTimezone;precision;constructor(H,A){super(H,A);this.withTimezone=A.withTimezone,this.precision=A.precision}getSQLType(){return`time${this.precision===void 0?"":`(${this.precision})`}${this.withTimezone?" with time zone":""}`}}function NU(H,A={}){let{name:L,config:I}=BH(H,A);return new sU(L,I.withTimezone??!1,I.precision)}class yU extends pI{static[n]="PgTimestampBuilder";constructor(H,A,L){super(H,"date","PgTimestamp");this.config.withTimezone=A,this.config.precision=L}build(H){return new OM(H,this.config)}}class OM extends K{static[n]="PgTimestamp";withTimezone;precision;constructor(H,A){super(H,A);this.withTimezone=A.withTimezone,this.precision=A.precision}getSQLType(){return`timestamp${this.precision===void 0?"":` (${this.precision})`}${this.withTimezone?" with time zone":""}`}mapFromDriverValue=(H)=>{return new Date(this.withTimezone?H:H+"+0000")};mapToDriverValue=(H)=>{return H.toISOString()}}class RU extends pI{static[n]="PgTimestampStringBuilder";constructor(H,A,L){super(H,"string","PgTimestampString");this.config.withTimezone=A,this.config.precision=L}build(H){return new sM(H,this.config)}}class sM extends K{static[n]="PgTimestampString";withTimezone;precision;constructor(H,A){super(H,A);this.withTimezone=A.withTimezone,this.precision=A.precision}getSQLType(){return`timestamp${this.precision===void 0?"":`(${this.precision})`}${this.withTimezone?" with time zone":""}`}}function sL(H,A={}){let{name:L,config:I}=BH(H,A);if(I?.mode==="string")return new RU(L,I.withTimezone??!1,I.precision);return new yU(L,I?.withTimezone??!1,I?.precision)}class YU extends z{static[n]="PgUUIDBuilder";constructor(H){super(H,"string","PgUUID")}defaultRandom(){return this.default(c`gen_random_uuid()`)}build(H){return new NM(H,this.config)}}class NM extends K{static[n]="PgUUID";getSQLType(){return"uuid"}}function DL(H){return new YU(H??"")}class QU extends z{static[n]="PgVarcharBuilder";constructor(H,A){super(H,"string","PgVarchar");this.config.length=A.length,this.config.enumValues=A.enum}build(H){return new zU(H,this.config)}}class zU extends K{static[n]="PgVarchar";length=this.config.length;enumValues=this.config.enumValues;getSQLType(){return this.length===void 0?"varchar":`varchar(${this.length})`}}function lA(H,A={}){let{name:L,config:I}=BH(H,A);return new QU(L,I)}class bU extends z{static[n]="PgBinaryVectorBuilder";constructor(H,A){super(H,"string","PgBinaryVector");this.config.dimensions=A.dimensions}build(H){return new ZU(H,this.config)}}class ZU extends K{static[n]="PgBinaryVector";dimensions=this.config.dimensions;getSQLType(){return`bit(${this.dimensions})`}}function hU(H,A){let{name:L,config:I}=BH(H,A);return new bU(L,I)}class rU extends z{static[n]="PgHalfVectorBuilder";constructor(H,A){super(H,"array","PgHalfVector");this.config.dimensions=A.dimensions}build(H){return new jU(H,this.config)}}class jU extends K{static[n]="PgHalfVector";dimensions=this.config.dimensions;getSQLType(){return`halfvec(${this.dimensions})`}mapToDriverValue(H){return JSON.stringify(H)}mapFromDriverValue(H){return H.slice(1,-1).split(",").map((A)=>Number.parseFloat(A))}}function kU(H,A){let{name:L,config:I}=BH(H,A);return new rU(L,I)}class dU extends z{static[n]="PgSparseVectorBuilder";constructor(H,A){super(H,"string","PgSparseVector");this.config.dimensions=A.dimensions}build(H){return new qU(H,this.config)}}class qU extends K{static[n]="PgSparseVector";dimensions=this.config.dimensions;getSQLType(){return`sparsevec(${this.dimensions})`}}function gU(H,A){let{name:L,config:I}=BH(H,A);return new dU(L,I)}class eU extends z{static[n]="PgVectorBuilder";constructor(H,A){super(H,"array","PgVector");this.config.dimensions=A.dimensions}build(H){return new HC(H,this.config)}}class HC extends K{static[n]="PgVector";dimensions=this.config.dimensions;getSQLType(){return`vector(${this.dimensions})`}mapToDriverValue(H){return JSON.stringify(H)}mapFromDriverValue(H){return H.slice(1,-1).split(",").map((A)=>Number.parseFloat(A))}}function AC(H,A){let{name:L,config:I}=BH(H,A);return new eU(L,I)}function LC(){return{bigint:p8,bigserial:U8,boolean:bE,char:_8,cidr:P8,customType:J8,date:K8,doublePrecision:l8,inet:N8,integer:wM,interval:z8,json:Z8,jsonb:r8,line:g8,macaddr:AU,macaddr8:$U,numeric:uU,point:BU,geometry:GU,real:WU,serial:XU,smallint:VU,smallserial:vU,text:OU,time:NU,timestamp:sL,uuid:DL,varchar:lA,bit:hU,halfvec:kU,sparsevec:gU,vector:AC}}var Wt=Symbol.for("drizzle:PgInlineForeignKeys"),IC=Symbol.for("drizzle:EnableRLS");class WA extends y{static[n]="PgTable";static Symbol=Object.assign({},y.Symbol,{InlineForeignKeys:Wt,EnableRLS:IC});[Wt]=[];[IC]=!1;[y.Symbol.ExtraConfigBuilder]=void 0;[y.Symbol.ExtraConfigColumns]={}}function V4(H,A,L,I,$=H){let f=new WA(H,I,$),E=typeof A==="function"?A(LC()):A,D=Object.fromEntries(Object.entries(E).map(([u,t])=>{let i=t;i.setName(u);let B=i.build(f);return f[Wt].push(...i.buildForeignKeys(B,f)),[u,B]})),M=Object.fromEntries(Object.entries(E).map(([u,t])=>{let i=t;i.setName(u);let B=i.buildExtraConfigColumn(f);return[u,B]})),o=Object.assign(f,D);if(o[y.Symbol.Columns]=D,o[y.Symbol.ExtraConfigColumns]=M,L)o[WA.Symbol.ExtraConfigBuilder]=L;return Object.assign(o,{enableRLS:()=>{return o[WA.Symbol.EnableRLS]=!0,o}})}var RI=(H,A,L)=>{return V4(H,A,L,void 0)};function $C(...H){if(H[0].columns)return new ZE(H[0].columns,H[0].name);return new ZE(H)}class ZE{static[n]="PgPrimaryKeyBuilder";columns;name;constructor(H,A){this.columns=H,this.name=A}build(H){return new fC(H,this.columns,this.name)}}class fC{constructor(H,A,L){this.table=H,this.columns=A,this.name=L}static[n]="PgPrimaryKey";columns;name;getName(){return this.name??`${this.table[WA.Symbol.Name]}_${this.columns.map((H)=>H.name).join("_")}_pk`}}class mt{constructor(H,A,L){this.sourceTable=H,this.referencedTable=A,this.relationName=L,this.referencedTableName=A[y.Symbol.Name]}static[n]="Relation";referencedTableName;fieldName}class EC{constructor(H,A){this.table=H,this.config=A}static[n]="Relations"}class YI extends mt{constructor(H,A,L,I){super(H,A,L?.relationName);this.config=L,this.isNullable=I}static[n]="One";withFieldName(H){let A=new YI(this.sourceTable,this.referencedTable,this.config,this.isNullable);return A.fieldName=H,A}}class hE extends mt{constructor(H,A,L){super(H,A,L?.relationName);this.config=L}static[n]="Many";withFieldName(H){let A=new hE(this.sourceTable,this.referencedTable,this.config);return A.fieldName=H,A}}function DC(){return{and:B$,between:dx,eq:qL,exists:jx,gt:XM,gte:Yx,ilike:H8,inArray:bx,isNull:hx,isNotNull:rx,like:gx,lt:Qx,lte:zx,ne:Nx,not:Rx,notBetween:qx,notExists:kx,notLike:ex,notIlike:A8,notInArray:Zx,or:yx,sql:c}}function MC(){return{sql:c,asc:L8,desc:I8}}function oC(H,A){if(Object.keys(H).length===1&&"default"in H&&!_(H.default,y))H=H.default;let L={},I={},$={};for(let[f,E]of Object.entries(H))if(_(E,y)){let D=n$(E),M=I[D];L[D]=f,$[f]={tsName:f,dbName:E[y.Symbol.Name],schema:E[y.Symbol.Schema],columns:E[y.Symbol.Columns],relations:M?.relations??{},primaryKey:M?.primaryKey??[]};for(let u of Object.values(E[y.Symbol.Columns]))if(u.primary)$[f].primaryKey.push(u);let o=E[y.Symbol.ExtraConfigBuilder]?.(E[y.Symbol.ExtraConfigColumns]);if(o){for(let u of Object.values(o))if(_(u,ZE))$[f].primaryKey.push(...u.columns)}}else if(_(E,EC)){let D=n$(E.table),M=L[D],o=E.config(A(E.table)),u;for(let[t,i]of Object.entries(o))if(M){let B=$[M];if(B.relations[t]=i,u)B.primaryKey.push(...u)}else{if(!(D in I))I[D]={relations:{},primaryKey:u};I[D].relations[t]=i}}return{tables:$,tableNamesMap:L}}function w4(H){return function A(L,I){return new YI(H,L,I,I?.fields.reduce(($,f)=>$&&f.notNull,!0)??!1)}}function K4(H){return function A(L,I){return new hE(H,L,I)}}function uC(H,A,L){if(_(L,YI)&&L.config)return{fields:L.config.fields,references:L.config.references};let I=A[n$(L.referencedTable)];if(!I)throw new Error(`Table "${L.referencedTable[y.Symbol.Name]}" not found in schema`);let $=H[I];if(!$)throw new Error(`Table "${I}" not found in schema`);let f=L.sourceTable,E=A[n$(f)];if(!E)throw new Error(`Table "${f[y.Symbol.Name]}" not found in schema`);let D=[];for(let M of Object.values($.relations))if(L.relationName&&L!==M&&M.relationName===L.relationName||!L.relationName&&M.referencedTable===L.sourceTable)D.push(M);if(D.length>1)throw L.relationName?new Error(`There are multiple relations with name "${L.relationName}" in table "${I}"`):new Error(`There are multiple relations between "${I}" and "${L.sourceTable[y.Symbol.Name]}". Please specify relation name`);if(D[0]&&_(D[0],YI)&&D[0].config)return{fields:D[0].config.references,references:D[0].config.fields};throw new Error(`There is not enough information to infer relation "${E}.${L.fieldName}"`)}function tC(H){return{one:w4(H),many:K4(H)}}function yM(H,A,L,I,$=(f)=>f){let f={};for(let[E,D]of I.entries())if(D.isJson){let M=A.relations[D.tsKey],o=L[E],u=typeof o==="string"?JSON.parse(o):o;f[D.tsKey]=_(M,YI)?u&&yM(H,H[D.relationTableTsKey],u,D.selection,$):u.map((t)=>yM(H,H[D.relationTableTsKey],t,D.selection,$))}else{let M=$(L[E]),o=D.field,u;if(_(o,aH))u=o;else if(_(o,R))u=o.decoder;else u=o.sql.decoder;f[D.tsKey]=M===null?null:u.mapFromDriverValue(M)}return f}var eF=s1(gF(),1),{Server:H_,Namespace:m$H,Socket:P$H}=eF.default;import{readFileSync as I_}from"fs";import{resolve as Ti}from"path";function Sa(H,A){let L={},I=[];for(let $ in H){let f=H[$],E=A[$],D=f["~standard"].validate(E);if(D instanceof Promise)throw new Error(`Validation must be synchronous, but ${$} returned a Promise.`);if(D.issues){I.push(...D.issues.map((M)=>({...M,path:[$,...M.path??[]]})));continue}L[$]=D.value}if(I.length)return{issues:I};return{value:L}}function A_(H){let A=H.runtimeEnvStrict??H.runtimeEnv??process.env;if(H.emptyStringAsUndefined??!1){for(let[m,Y]of Object.entries(A))if(Y==="")delete A[m]}if(!!H.skipValidation)return A;let $=typeof H.client==="object"?H.client:{},f=typeof H.server==="object"?H.server:{},E=typeof H.shared==="object"?H.shared:{},D=H.isServer??(typeof window==="undefined"||("Deno"in window)),M=D?{...f,...E,...$}:{...$,...E},o=Sa(M,A),u=H.onValidationError??((m)=>{throw console.error("\u274C Invalid environment variables:",m),new Error("Invalid environment variables")}),t=H.onInvalidAccess??(()=>{throw new Error("\u274C Attempted to access a server-side environment variable on the client")});if(o.issues)return u(o.issues);let i=(m)=>{if(!H.clientPrefix)return!0;return!m.startsWith(H.clientPrefix)&&!(m in E)},B=(m)=>{return D||!i(m)},U=(m)=>{return m==="__esModule"||m==="$$typeof"},x=(H.extends??[]).reduce((m,Y)=>{return Object.assign(m,Y)},{}),T=Object.assign(o.value,x);return new Proxy(T,{get(m,Y){if(typeof Y!=="string")return;if(U(Y))return;if(!B(Y))return t(Y);return Reflect.get(m,Y)}})}var Ja="__vite_start_time"in globalThis,Va=typeof window!=="undefined",w$H="vitest"in globalThis,xI=eH("string"),L_=eH('"true" | "false" | undefined'),LA=A_({isServer:!Ja&&!Va,server:{CI:eH("string | undefined").pipe(Boolean),POSTGRES_USER:xI,POSTGRES_PASSWORD:xI,POSTGRES_DATABASE:xI,POSTGRES_HOST:xI,POSTGRES_PORT:xI.pipe((H)=>Number.parseInt(H,10)),BACKEND_PORT:xI.pipe((H)=>Number.parseInt(H,10)),RUN_WORKERS_FROM_SOURCE:L_.pipe((H)=>H==="true"),FRONTEND_PORT:xI.pipe((H)=>Number.parseInt(H,10)),FRONTEND_ORIGINS:xI.pipe.try((H)=>JSON.parse(H),eH("string[]")),OPENAI_API_KEY:eH("string | undefined")},clientPrefix:"VITE_",client:{VITE_BACKEND_ORIGIN:xI,VITE_USE_SELF_SIGNED_CERTIFICATE:L_.pipe((H)=>H==="true")},runtimeEnv:import.meta.env,emptyStringAsUndefined:!0});var $_=Ti(import.meta.dirname,"../dev"),Gi=LA.VITE_USE_SELF_SIGNED_CERTIFICATE?{cert:I_(Ti($_,"./cert.pem"),"utf-8"),key:I_(Ti($_,"./key.pem"),"utf-8")}:void 0;var hI=new Tu,DH=LA.VITE_USE_SELF_SIGNED_CERTIFICATE?console:hI.logger;e.STORE.loggers[0]=new $$("warn",void 0,DH);if(DH!==console)Object.assign(console,DH,{log:DH.info});import{spawn as wa}from"child_process";import{resolve as Ka}from"path";function Fi(H,A,L=H.logger){let I=LA.RUN_WORKERS_FROM_SOURCE?"ts":"js",$=A.endsWith(".bun")?"bun":"node",E=[Ka(import.meta.dir,`${A}.${I}`)];if($==="node"&&I==="ts")E.push("--experimental-strip-types");let D=wa($,E);return new PE(D,A,L)}var f_=s1(Dt(),1);var va=604800000,i1=(()=>{let{__userSessionMap:H}=globalThis;if(!H){H=globalThis.__userSessionMap=new Map;let A=new f_.CronJob("00 00 03 * * *",()=>{for(let[L,I]of H.entries()){let $=Date.now();for(let[f,E]of I.entries())if($-E>va)I.delete(f);if(I.size===0)H.delete(L)}});A.start(),process.on("exit",()=>{A.stop(),DH.info("\uD83D\uDEEC autoExpiry stopped")})}return H})();import ml from"path";import Il from"os";import $l from"fs";var p1=new Map,_i=new Map,Wi=Symbol("OriginError"),Kf={};class PL extends Promise{constructor(H,A,L,I,$={}){let f,E;super((D,M)=>{f=D,E=M});this.tagged=Array.isArray(H.raw),this.strings=H,this.args=A,this.handler=L,this.canceller=I,this.options=$,this.state=null,this.statement=null,this.resolve=(D)=>(this.active=!1,f(D)),this.reject=(D)=>(this.active=!1,E(D)),this.active=!1,this.cancelled=null,this.executed=!1,this.signature="",this[Wi]=this.handler.debug?new Error:this.tagged&&aa(this.strings)}get origin(){return(this.handler.debug?this[Wi].stack:this.tagged&&_i.has(this.strings)?_i.get(this.strings):_i.set(this.strings,this[Wi].stack).get(this.strings))||""}static get[Symbol.species](){return Promise}cancel(){return this.canceller&&(this.canceller(this),this.canceller=null)}simple(){return this.options.simple=!0,this.options.prepare=!1,this}async readable(){return this.simple(),this.streaming=!0,this}async writable(){return this.simple(),this.streaming=!0,this}cursor(H=1,A){if(this.options.simple=!1,typeof H==="function")A=H,H=1;if(this.cursorRows=H,typeof A==="function")return this.cursorFn=A,this;let L;return{[Symbol.asyncIterator]:()=>({next:()=>{if(this.executed&&!this.active)return{done:!0};L&&L();let I=new Promise(($,f)=>{this.cursorFn=(E)=>{return $({value:E,done:!1}),new Promise((D)=>L=D)},this.resolve=()=>(this.active=!1,$({done:!0})),this.reject=(E)=>(this.active=!1,f(E))});return this.execute(),I},return(){return L&&L(Kf),{done:!0}}})}}describe(){return this.options.simple=!1,this.onlyDescribe=this.options.prepare=!0,this}stream(){throw new Error(".stream has been renamed to .forEach")}forEach(H){return this.forEachFn=H,this.handle(),this}raw(){return this.isRaw=!0,this}values(){return this.isRaw="values",this}async handle(){!this.executed&&(this.executed=!0)&&await 1&&this.handler(this)}execute(){return this.handle(),this}then(){return this.handle(),super.then.apply(this,arguments)}catch(){return this.handle(),super.catch.apply(this,arguments)}finally(){return this.handle(),super.finally.apply(this,arguments)}}function aa(H){if(p1.has(H))return p1.get(H);let A=Error.stackTraceLimit;return Error.stackTraceLimit=4,p1.set(H,new Error),Error.stackTraceLimit=A,p1.get(H)}class vf extends Error{constructor(H){super(H.message);this.name=this.constructor.name,Object.assign(this,H)}}var EA={connection:E_,postgres:D_,generic:M_,notSupported:o_};function E_(H,A,L){let{host:I,port:$}=L||A,f=Object.assign(new Error("write "+H+" "+(A.path||I+":"+$)),{code:H,errno:H,address:A.path||I},A.path?{}:{port:$});return Error.captureStackTrace(f,E_),f}function D_(H){let A=new vf(H);return Error.captureStackTrace(A,D_),A}function M_(H,A){let L=Object.assign(new Error(H+": "+A),{code:H});return Error.captureStackTrace(L,M_),L}function o_(H){let A=Object.assign(new Error(H+" (B) is not supported"),{code:"MESSAGE_NOT_SUPPORTED",name:H});return Error.captureStackTrace(A,o_),A}var la={string:{to:25,from:null,serialize:(H)=>""+H},number:{to:0,from:[21,23,26,700,701],serialize:(H)=>""+H,parse:(H)=>+H},json:{to:114,from:[114,3802],serialize:(H)=>JSON.stringify(H),parse:(H)=>JSON.parse(H)},boolean:{to:16,from:16,serialize:(H)=>H===!0?"t":"f",parse:(H)=>H==="t"},date:{to:1184,from:[1082,1114,1184],serialize:(H)=>(H instanceof Date?H:new Date(H)).toISOString(),parse:(H)=>new Date(H)},bytea:{to:17,from:17,serialize:(H)=>"\\x"+Buffer.from(H).toString("hex"),parse:(H)=>Buffer.from(H.slice(2),"hex")}};class c1{then(){mi()}catch(){mi()}finally(){mi()}}class ID extends c1{constructor(H){super();this.value=C1(H)}}class eL extends c1{constructor(H,A,L){super();this.value=H,this.type=A,this.array=L}}class x1 extends c1{constructor(H,A){super();this.first=H,this.rest=A}build(H,A,L,I){let $=Oa.map(([f,E])=>({fn:E,i:H.search(f)})).sort((f,E)=>f.i-E.i).pop();return $.i===-1?Vi(this.first,I):$.fn(this.first,this.rest,A,L,I)}}function U1(H,A,L,I){let $=H instanceof eL?H.value:H;if($===void 0){if(H instanceof eL?H.value=I.transform.undefined:$=H=I.transform.undefined,$===void 0)throw EA.generic("UNDEFINED_VALUE","Undefined values are not allowed")}return"$"+L.push(H instanceof eL?(A.push(H.value),H.array?H.array[H.type||B1(H.value)]||H.type||p_(H.value):H.type):(A.push(H),B1(H)))}var t_=B_(la);function Si(H,A,L,I,$,f){for(let E=1;E<H.strings.length;E++)A+=Ji(A,L,I,$,f)+H.strings[E],L=H.args[E];return A}function Ji(H,A,L,I,$){return A instanceof x1?A.build(H,L,I,$):A instanceof PL?Xi(A,L,I,$):A instanceof ID?A.value:A&&A[0]instanceof PL?A.reduce((f,E)=>f+" "+Xi(E,L,I,$),""):U1(A,L,I,$)}function Xi(H,A,L,I){return H.fragment=!0,Si(H,H.strings[0],H.args[0],A,L,I)}function i_(H,A,L,I,$){return H.map((f)=>"("+I.map((E)=>Ji("values",f[E],A,L,$)).join(",")+")").join(",")}function u_(H,A,L,I,$){let f=Array.isArray(H[0]),E=A.length?A.flat():Object.keys(f?H[0]:H);return i_(f?H:[H],L,I,E,$)}function n1(H,A,L,I,$){if(typeof H==="string"&&(H=[H].concat(A)),Array.isArray(H))return Vi(H,$);let f;return(A.length?A.flat():Object.keys(H)).map((D)=>{return f=H[D],(f instanceof PL?Xi(f,L,I,$):f instanceof ID?f.value:U1(f,L,I,$))+" as "+C1($.transform.column.to?$.transform.column.to(D):D)}).join(",")}var Oa=Object.entries({values:u_,in:(...H)=>{let A=u_(...H);return A==="()"?"(null)":A},select:n1,as:n1,returning:n1,"\\(":n1,update(H,A,L,I,$){return(A.length?A.flat():Object.keys(H)).map((f)=>C1($.transform.column.to?$.transform.column.to(f):f)+"="+Ji("values",H[f],L,I,$))},insert(H,A,L,I,$){let f=A.length?A.flat():Object.keys(Array.isArray(H)?H[0]:H);return"("+Vi(f,$)+")values"+i_(Array.isArray(H)?H:[H],L,I,f,$)}}).map(([H,A])=>[new RegExp("((?:^|[\\s(])"+H+"(?:$|[\\s(]))(?![\\s\\S]*\\1)","i"),A]);function mi(){throw EA.generic("NOT_TAGGED_CALL","Query not called as a tagged template literal")}var{serializers:sa,parsers:Na}=t_;function p_(H){if(Array.isArray(H))return p_(H[0]);return typeof H==="string"?1009:0}var n_=function(H){let A=B_(H||{});return{serializers:Object.assign({},sa,A.serializers),parsers:Object.assign({},Na,A.parsers)}};function B_(H){return Object.keys(H).reduce((A,L)=>{if(H[L].from&&[].concat(H[L].from).forEach((I)=>A.parsers[I]=H[L].parse),H[L].serialize)A.serializers[H[L].to]=H[L].serialize,H[L].from&&[].concat(H[L].from).forEach((I)=>A.serializers[I]=H[L].serialize);return A},{parsers:{},serializers:{}})}function Vi(H,{transform:{column:A}}){return H.map((L)=>C1(A.to?A.to(L):L)).join(",")}var C1=function H(A){return'"'+A.replace(/"/g,'""').replace(/\./g,'"."')+'"'},B1=function H(A){return A instanceof eL?A.type:A instanceof Date?1184:A instanceof Uint8Array?17:A===!0||A===!1?16:typeof A==="bigint"?20:Array.isArray(A)?H(A[0]):0},ya=/\\/g,Ra=/"/g;function Ya(H){return H.replace(ya,"\\\\").replace(Ra,"\\\"")}var c_=function H(A,L,I,$){if(Array.isArray(A)===!1)return A;if(!A.length)return"{}";let f=A[0],E=$===1020?";":",";if(Array.isArray(f)&&!f.type)return"{"+A.map((D)=>H(D,L,I,$)).join(E)+"}";return"{"+A.map((D)=>{if(D===void 0){if(D=I.transform.undefined,D===void 0)throw EA.generic("UNDEFINED_VALUE","Undefined values are not allowed")}return D===null?"null":'"'+Ya(L?L(D.type?D.value:D):""+D)+'"'}).join(E)+"}"},Pi={i:0,char:null,str:"",quoted:!1,last:0},x_=function H(A,L,I){return Pi.i=Pi.last=0,U_(Pi,A,L,I)};function U_(H,A,L,I){let $=[],f=I===1020?";":",";for(;H.i<A.length;H.i++){if(H.char=A[H.i],H.quoted)if(H.char==="\\")H.str+=A[++H.i];else if(H.char==='"')$.push(L?L(H.str):H.str),H.str="",H.quoted=A[H.i+1]==='"',H.last=H.i+2;else H.str+=H.char;else if(H.char==='"')H.quoted=!0;else if(H.char==="{")H.last=++H.i,$.push(U_(H,A,L,I));else if(H.char==="}"){H.quoted=!1,H.last<H.i&&$.push(L?L(A.slice(H.last,H.i)):A.slice(H.last,H.i)),H.last=H.i+1;break}else if(H.char===f&&H.p!=="}"&&H.p!=='"')$.push(L?L(A.slice(H.last,H.i)):A.slice(H.last,H.i)),H.last=H.i+1;H.p=H.char}return H.last<H.i&&$.push(L?L(A.slice(H.last,H.i+1)):A.slice(H.last,H.i+1)),$}var W$=(H)=>{let A=H[0];for(let L=1;L<H.length;L++)A+=H[L]==="_"?H[++L].toUpperCase():H[L];return A},m$=(H)=>{let A=H[0].toUpperCase();for(let L=1;L<H.length;L++)A+=H[L]==="_"?H[++L].toUpperCase():H[L];return A},P$=(H)=>H.replace(/_/g,"-"),HD=(H)=>H.replace(/([A-Z])/g,"_$1").toLowerCase(),AD=(H)=>(H.slice(0,1)+H.slice(1).replace(/([A-Z])/g,"_$1")).toLowerCase(),LD=(H)=>H.replace(/-/g,"_");function wi(H){return function A(L,I){return typeof L==="object"&&L!==null&&(I.type===114||I.type===3802)?Array.isArray(L)?L.map(($)=>A($,I)):Object.entries(L).reduce(($,[f,E])=>Object.assign($,{[H(f)]:A(E,I)}),{}):L}}W$.column={from:W$};W$.value={from:wi(W$)};HD.column={to:HD};var Ki={...W$};Ki.column.to=HD;m$.column={from:m$};m$.value={from:wi(m$)};AD.column={to:AD};var vi={...m$};vi.column.to=AD;P$.column={from:P$};P$.value={from:wi(P$)};LD.column={to:LD};var ai={...P$};ai.column.to=LD;import C_ from"net";import Za from"tls";import $D from"crypto";import li from"stream";import{performance as T_}from"perf_hooks";class X$ extends Array{constructor(){super();Object.defineProperties(this,{count:{value:null,writable:!0},state:{value:null,writable:!0},command:{value:null,writable:!0},columns:{value:null,writable:!0},statement:{value:null,writable:!0}})}static get[Symbol.species](){return Array}}var tL=Qa;function Qa(H=[]){let A=H.slice(),L=0;return{get length(){return A.length-L},remove:(I)=>{let $=A.indexOf(I);return $===-1?null:(A.splice($,1),I)},push:(I)=>(A.push(I),I),shift:()=>{let I=A[L++];if(L===A.length)L=0,A=[];else A[L-1]=void 0;return I}}}var NA=Buffer.allocUnsafe(256),za="BCcDdEFfHPpQSX".split("").reduce((H,A)=>{let L=A.charCodeAt(0);return H[A]=()=>{return NA[0]=L,VH.i=5,VH},H},{}),VH=Object.assign(ba,za,{N:String.fromCharCode(0),i:0,inc(H){return VH.i+=H,VH},str(H){let A=Buffer.byteLength(H);return T1(A),VH.i+=NA.write(H,VH.i,A,"utf8"),VH},i16(H){return T1(2),NA.writeUInt16BE(H,VH.i),VH.i+=2,VH},i32(H,A){if(A||A===0)return NA.writeUInt32BE(H,A),VH;return T1(4),NA.writeUInt32BE(H,VH.i),VH.i+=4,VH},z(H){return T1(H),NA.fill(0,VH.i,VH.i+H),VH.i+=H,VH},raw(H){return NA=Buffer.concat([NA.subarray(0,VH.i),H]),VH.i=NA.length,VH},end(H=1){NA.writeUInt32BE(VH.i-H,H);let A=NA.subarray(0,VH.i);return VH.i=0,NA=Buffer.allocUnsafe(256),A}}),k=VH;function T1(H){if(NA.length-VH.i<H){let A=NA,L=A.length;NA=Buffer.allocUnsafe(L+(L>>1)+H),A.copy(NA)}}function ba(){return VH.i=0,VH}var Ni=__,ha=1,rI=k().S().end(),G_=k().H().end(),ra=k().i32(8).i32(80877103).end(8),ja=Buffer.concat([k().E().str(k.N).i32(0).end(),rI]),ka=k().D().str("S").str(k.N).end(),af=()=>{},da=new Set(["FetchPreparedStatement","RevalidateCachedQuery","transformAssignedExpr"]),qa={83:"severity_local",86:"severity",67:"code",77:"message",68:"detail",72:"hint",80:"position",112:"internal_position",113:"internal_query",87:"where",115:"schema_name",116:"table_name",99:"column_name",100:"data type_name",110:"constraint_name",70:"file",76:"line",82:"routine"};function __(H,A={},{onopen:L=af,onend:I=af,onclose:$=af}={}){let{ssl:f,max:E,user:D,host:M,port:o,database:u,parsers:t,transform:i,onnotice:B,onnotify:U,onparameter:x,max_pipeline:T,keep_alive:F,backoff:m,target_session_attrs:Y}=H,W=tL(),P=ha++,V={pid:null,secret:null},J=si(a1,H.idle_timeout),a=si(a1,H.max_lifetime),h=si(e_,H.connect_timeout),X=null,MH,Z=new X$,oH=Buffer.alloc(0),wH=H.fetch_types,DA={},ZA={},HI=Math.random().toString(36).slice(2),w=1,r=0,TH=0,bH=0,MA=0,tH=0,OH=0,IA=0,hH=null,YH=null,mA=!1,sH=null,XL=null,PA=null,UI=null,oA=null,QH=null,SL=null,QL=null,l=null,yf=null,XA={queue:A.closed,idleTimer:J,connect(p){PA=p||!0,up()},terminate:Yf,execute:Rf,cancel:k_,end:a1,count:0,id:P};return A.closed&&A.closed.push(XA),XA;async function j_(){let p;try{p=H.socket?await Promise.resolve(H.socket(H)):new C_.Socket}catch(C){w$(C);return}return p.on("error",w$),p.on("close",tp),p.on("drain",Mp),p}async function k_({pid:p,secret:C},d,GH){try{MH=k().i32(16).i32(80877102).i32(p).i32(C).end(16),await op(),X.once("error",GH),X.once("close",d)}catch(kH){GH(kH)}}function Rf(p){if(mA)return tD(p,EA.connection("CONNECTION_DESTROYED",H));if(p.cancelled)return;try{return p.state=V,l?W.push(p):(l=p,l.active=!0),g_(p),GA(d_(p))&&!p.describeFirst&&!p.cursorFn&&W.length<T&&(!p.options.onexecute||p.options.onexecute(XA))}catch(C){return W.length===0&&GA(rI),zL(C),!0}}function d_(p){if(p.parameters.length>=65534)throw EA.generic("MAX_PARAMETERS_EXCEEDED","Max number of parameters (65534) exceeded");return p.options.simple?k().Q().str(p.statement.string+k.N).end():p.describeFirst?Buffer.concat([fp(p),G_]):p.prepare?p.prepared?uD(p):Buffer.concat([fp(p),uD(p)]):q_(p)}function fp(p){return Buffer.concat([pp(p.statement.string,p.parameters,p.statement.types,p.statement.name),sW("S",p.statement.name)])}function uD(p){return Buffer.concat([OW(p.parameters,p.statement.types,p.statement.name,p.cursorName),p.cursorFn?np("",p.cursorRows):ja])}function q_(p){return Buffer.concat([pp(p.statement.string,p.parameters,p.statement.types),ka,uD(p)])}function g_(p){let C=[],d=[],GH=Si(p,p.strings[0],p.args[0],C,d,H);!p.tagged&&p.args.forEach((kH)=>U1(kH,C,d,H)),p.prepare=H.prepare&&("prepare"in p.options?p.options.prepare:!0),p.string=GH,p.signature=p.prepare&&d+GH,p.onlyDescribe&&delete ZA[p.signature],p.parameters=p.parameters||C,p.prepared=p.prepare&&p.signature in ZA,p.describeFirst=p.onlyDescribe||C.length&&!p.prepared,p.statement=p.prepared?ZA[p.signature]:{string:GH,types:d,name:p.prepare?HI+w++:""},typeof H.debug==="function"&&H.debug(P,GH,C,d)}function GA(p,C){if(QH=QH?Buffer.concat([QH,p]):Buffer.from(p),C||QH.length>=1024)return Ep(C);return YH===null&&(YH=setImmediate(Ep)),!0}function Ep(p){let C=X.write(QH,p);return YH!==null&&clearImmediate(YH),QH=YH=null,C}function e_(){zL(EA.connection("CONNECT_TIMEOUT",H,X)),X.destroy()}async function Dp(){if(GA(ra),!await new Promise((C)=>X.once("data",(d)=>C(d[0]===83)))&&f==="prefer")return V$();X.removeAllListeners(),X=Za.connect({socket:X,servername:C_.isIP(X.host)?void 0:X.host,...f==="require"||f==="allow"||f==="prefer"?{rejectUnauthorized:!1}:f==="verify-full"?{}:typeof f==="object"?f:{}}),X.on("secureConnect",V$),X.on("error",w$),X.on("close",tp),X.on("drain",Mp)}function Mp(){!l&&L(XA)}function v1(p){if(sH){if(sH.push(p),TH-=p.length,TH>=0)return}oH=sH?Buffer.concat(sH,tH-TH):oH.length===0?p:Buffer.concat([oH,p],oH.length+p.length);while(oH.length>4){if(tH=oH.readUInt32BE(1),tH>=oH.length){TH=tH-oH.length,sH=[oH];break}try{HW(oH.subarray(0,tH+1))}catch(C){l&&(l.cursorFn||l.describeFirst)&&GA(rI),zL(C)}oH=oH.subarray(tH+1),TH=0,sH=null}}async function op(){if(mA=!1,DA={},X||(X=await j_()),!X)return;if(h.start(),H.socket)return f?Dp():V$();if(X.on("connect",f?Dp:V$),H.path)return X.connect(H.path);X.ssl=f,X.connect(o[bH],M[bH]),X.host=M[bH],X.port=o[bH],bH=(bH+1)%o.length}function up(){setTimeout(op,r?r+OH-T_.now():0)}function V$(){try{ZA={},wH=H.fetch_types,HI=Math.random().toString(36).slice(2),w=1,a.start(),X.on("data",v1),F&&X.setKeepAlive&&X.setKeepAlive(!0,1000*F);let p=yW();GA(p)}catch(p){w$(p)}}function w$(p){if(XA.queue===A.connecting&&H.host[MA+1])return;zL(p);while(W.length)tD(W.shift(),p)}function zL(p){oA&&(oA.destroy(p),oA=null),l&&tD(l,p),PA&&(tD(PA,p),PA=null)}function tD(p,C){"query"in C||"parameters"in C||Object.defineProperties(C,{stack:{value:C.stack+p.origin.replace(/.*\n/,`
98
+ ${E.trace}`:"No previous disposal trace was found."),I.type){case"atom_family":case"mutable_atom_family":return H.defaults.get(I.key);case"selector_family":case"readonly_selector_family":{if(H.defaults.has(I.key))return H.defaults.get(L.family.key);let D=CH(H,I).default(f);return H.defaults.set(I.key,D),D}}}return VI(H,CH(H,L))}class xL extends Map{deleted=new Set;source;constructor(H){super();this.source=H}get(H){if(super.has(H))return super.get(H);if(!this.deleted.has(H)&&this.source.has(H))return this.source.get(H);return}set(H,A){return this.deleted.delete(H),super.set(H,A)}hasOwn(H){return super.has(H)}has(H){return!this.deleted.has(H)&&(super.has(H)||this.source.has(H))}delete(H){return this.deleted.add(H),super.delete(H)}}var AB=(H,A,L,I)=>{let $=N(H),f={parent:$,child:null,on:$.on,loggers:$.loggers,logger:$.logger,config:$.config,atoms:new xL($.atoms),atomsThatAreDefault:new Set($.atomsThatAreDefault),families:new xL($.families),joins:new xL($.joins),operation:{open:!1},readonlySelectors:new xL($.readonlySelectors),timelines:new xL($.timelines),timelineTopics:new pA($.timelineTopics.toJSON()),trackers:new Map,transactions:new xL($.transactions),selectorAtoms:new pA($.selectorAtoms.toJSON()),selectorGraph:new pA($.selectorGraph.toJSON(),{makeContentKey:(...o)=>o.sort().join(":")}),selectors:new xL($.selectors),valueMap:new xL($.valueMap),defaults:$.defaults,disposalTraces:H.disposalTraces.copy(),molecules:new xL($.molecules),moleculeGraph:new pA($.moleculeGraph.toJSON(),{makeContentKey:$.moleculeGraph.makeContentKey}),moleculeData:new pA($.moleculeData.toJSON(),{makeContentKey:$.moleculeData.makeContentKey}),moleculeJoins:new pA($.moleculeJoins.toJSON(),{makeContentKey:$.moleculeJoins.makeContentKey}),miscResources:new xL($.miscResources)},E=k0(H,A),D={phase:"building",update:{type:"transaction_update",key:A,id:I,epoch:E===void 0?Number.NaN:E+1,updates:[],params:L,output:void 0},toolkit:{get:(...o)=>mH(M,...o),set:(...o)=>{vH(M,...o)},run:(o,u=zD())=>q$(M,o,u),find:(...o)=>q(H,...o),json:(o)=>iA(M,o),dispose:(...o)=>{I$(M,...o)},env:()=>HB(M)}},M=Object.assign(f,{transactionMeta:D});return $.child=M,H.logger.info("\uD83D\uDEEB","transaction",A,"Building transaction with params:",L),M};function ou(H,A){let L={key:A.key,type:"transaction",run:(f,E)=>{let D=AB(H,A.key,f,E);try{let M=N(H),{toolkit:o}=D.transactionMeta,u=A.do(o,...f);return g0(u,M),u}catch(M){throw V0(I),H.logger.warn("\uD83D\uDCA5","transaction",A.key,"caught:",M),M}},install:(f)=>ou(f,A),subject:new iH},I=N(H);I.transactions.set(L.key,L);let $=jL(L);return H.on.transactionCreation.next($),$}class LB{parent=null;child=null;valueMap=new Map;defaults=new Map;atoms=new Map;selectors=new Map;readonlySelectors=new Map;atomsThatAreDefault=new Set;selectorAtoms=new pA({between:["selectorKey","atomKey"],cardinality:"n:n"});selectorGraph=new pA({between:["upstreamSelectorKey","downstreamSelectorKey"],cardinality:"n:n"},{makeContentKey:(...H)=>H.sort().join(":")});trackers=new Map;families=new Map;joins=new Map;transactions=new Map;transactionMeta={epoch:new Map,actionContinuities:new pA({between:["continuity","action"],cardinality:"1:n"})};timelines=new Map;timelineTopics=new pA({between:["timelineKey","topicKey"],cardinality:"1:n"});disposalTraces=new bD(100);molecules=new Map;moleculeJoins=new pA({between:["moleculeKey","joinKey"],cardinality:"n:n"},{makeContentKey:(...H)=>H.sort().join(":")});moleculeGraph=new pA({between:["upstreamMoleculeKey","downstreamMoleculeKey"],cardinality:"n:n"},{makeContentKey:(...H)=>H.sort().join(":")});moleculeData=new pA({between:["moleculeKey","stateFamilyKey"],cardinality:"n:n"},{makeContentKey:(...H)=>H.sort().join(":")});miscResources=new Map;on={atomCreation:new iH,atomDisposal:new iH,selectorCreation:new iH,selectorDisposal:new iH,timelineCreation:new iH,transactionCreation:new iH,transactionApplying:new $u(null),operationClose:new iH,moleculeCreation:new iH,moleculeDisposal:new iH};operation={open:!1};config={name:"IMPLICIT_STORE",lifespan:"ephemeral"};loggers=[new $$("warn",(H,A,L)=>!IB(L))];logger={error:(...H)=>{for(let A of this.loggers)A.error(...H)},info:(...H)=>{for(let A of this.loggers)A.info(...H)},warn:(...H)=>{for(let A of this.loggers)A.warn(...H)}};constructor(H,A=null){if(this.config={...A?.config,...H},A!==null){if(this.valueMap=new Map(A?.valueMap),this.operation={...A?.operation},FA(A))this.transactionMeta={epoch:new Map(A?.transactionMeta.epoch),actionContinuities:new pA(A?.transactionMeta.actionContinuities.toJSON())};for(let[,I]of A.families){if(I.internalRoles?.includes("mutable")||I.internalRoles?.includes("join"))continue;I.install(this)}let L=new Set;for(let[,I]of A.atoms){if(L.has(I.key))continue;if(I.install(this),I.type==="mutable_atom"){let $=iA(A,I),f=uI(I);L.add($.key),L.add(f.key)}}for(let[,I]of A.readonlySelectors)I.install(this);for(let[,I]of A.selectors){if(L.has(I.key))continue;I.install(this)}for(let[,I]of A.transactions)I.install(this);for(let[,I]of A.timelines)I.install(this)}}}var e={get STORE(){return globalThis.ATOM_IO_IMPLICIT_STORE??=new LB({name:"IMPLICIT_STORE",lifespan:"ephemeral"}),globalThis.ATOM_IO_IMPLICIT_STORE}};function CH(H,A){let L,I=H;while(I!==null){switch(A.type){case"atom":case"mutable_atom":L=I.atoms.get(A.key);break;case"selector":L=I.selectors.get(A.key);break;case"readonly_selector":L=I.readonlySelectors.get(A.key);break;case"atom_family":case"mutable_atom_family":case"selector_family":case"readonly_selector_family":L=I.families.get(A.key);break;case"timeline":L=I.timelines.get(A.key);break;case"transaction":L=I.transactions.get(A.key);break}if(L)return L;I=I.child}throw new H$(A,H)}function $B(H,A,L){let I=H.families.get(A.key);if(I===void 0)throw new H$(A,H);let $=I(L),f=N(H);if($.family){if(FA(f))switch($.type){case"atom":case"mutable_atom":H.on.atomCreation.next($);break;case"selector":case"readonly_selector":H.on.selectorCreation.next($);break}else if(PH(f)&&f.on.transactionApplying.state===null)f.transactionMeta.update.updates.push({type:"state_creation",token:$})}return $}function fB(H,A,L){let I=pH(L),$=`${A.key}(${I})`,f=N(H),E;switch(A.type){case"atom_family":case"mutable_atom_family":E=f.atoms.get($);break;case"selector_family":E=f.selectors.get($);break;case"readonly_selector_family":E=f.readonlySelectors.get($);break}if(E)return jL(E);return E}function q(H,A,L){let I=fB(H,A,L);if(I)return I;let $=pH(L),f=H.molecules.get($);if(!f&&H.config.lifespan==="immortal"){let E=J0(A,L);return H.logger.error("\u274C",E.type,E.key,`was not found in store "${H.config.name}"; returned a counterfeit token.`),E}if(I=$B(H,A,L),f)N(H).moleculeData.set($,A.key);return I}function I$(H,...A){let L;if(A.length===1)L=A[0];else{let I=A[0],$=A[1];L=q(H,I,$)}try{CH(H,L)}catch(I){H.logger.error("\u274C",L.type,L.key,`could not be disposed because it was not found in the store "${H.config.name}".`);return}switch(L.type){case"atom":case"mutable_atom":uu(H,L);break;case"selector":case"readonly_selector":EB(H,L);break}}var kD=(H,A)=>N(H).atoms.has(A),L5=(H,A)=>N(H).selectors.has(A),I5=(H,A)=>N(H).readonlySelectors.has(A),DB=(H,A)=>kD(H,A)||L5(H,A)||I5(H,A);var dD=(H,A)=>{return N(A).selectorGraph.getRelationEntries({downstreamSelectorKey:H}).filter(([I,{source:$}])=>$!==H).map(([I,{source:$}])=>$).filter((I)=>DB(A,I))};var tu=(H,A,L)=>{let I=[],$=dD(H,L);while($.length>0){let f=$.shift();if(A.has(f))continue;if(A.add(f),!kD(L,f))$.push(...dD(f,L));else if(!I.includes(f))I.push(f)}return I},MB=(H,A)=>{let L=H.key,I=dD(L,A),$=new Set;return I.flatMap((f)=>kD(A,f)?f:tu(f,$,A))};var oB=(H,A,L,I)=>{let $=N(I);if(A.type==="atom"||A.type==="mutable_atom")$.selectorAtoms.set({selectorKey:H,atomKey:A.key}),I.logger.info("\uD83D\uDD0D","selector",H,`discovers root atom "${A.key}"`);else{let f=tu(A.key,L,I);I.logger.info("\uD83D\uDD0D","selector",H,`discovers root atoms: [ ${f.map((E)=>`"${E}"`).join(", ")} ]`);for(let E of f)$.selectorAtoms=$.selectorAtoms.set({selectorKey:H,atomKey:E})}L.add(A.key)};var qD=(H,A,L)=>({get:(...I)=>{let $=N(L),f;if(I.length===2){let[M,o]=I;f=q(L,M,o)}else[f]=I;let E=CH(L,f),D=VI(L,E);return L.logger.info("\uD83D\uDD0C","selector",H,`registers dependency ( "${f.key}" =`,D,")"),$.selectorGraph.set({upstreamSelectorKey:f.key,downstreamSelectorKey:H},{source:f.key}),oB(H,f,A,L),D},set:(...I)=>{let $,f;if(I.length===2)$=I[0],f=I[1];else{let M=I[0],o=I[1];f=I[2],$=q(L,M,o)}let E=N(L),D=CH(E,$);hD(E,D,f)},find:(...I)=>q(L,...I),json:(I)=>iA(L,I)});var CE=(H,A,L)=>{let I=N(H),$=new iH,f=new Set,{get:E,find:D,json:M}=qD(A.key,f,I),o=()=>{let B=A.get({get:E,find:D,json:M});return cL(N(H),A.key,B,$),f.clear(),B},u={...A,subject:$,install:(B)=>CE(B,A,L),get:o,type:"readonly_selector",...L&&{family:L}};I.readonlySelectors.set(A.key,u);let t=o();H.logger.info("\u2728",u.type,u.key,"=",t);let i={key:A.key,type:"readonly_selector"};if(L)i.family=L;return i};var FE=(H,A,L)=>{let I=N(H),$=new iH,f=new Set,E=qD(A.key,f,I),{find:D,get:M,json:o}=E,u={find:D,get:M,json:o},t=(T=A.get,F=N(H))=>{let m=T(u);return cL(F,A.key,m,$),f.clear(),m},B={...A,subject:$,install:(T)=>FE(T,A,L),get:t,set:(T)=>{let F=N(H),m=t(A.get,F),Y=ZD(T)(m);if(H.logger.info("\uD83D\uDCDD","selector",A.key,"set (",m,"->",Y,")"),cL(F,A.key,Y,$),g$(F,A.key),FA(F))$.next({newValue:Y,oldValue:m});A.set(E,Y)},type:"selector",...L&&{family:L}};I.selectors.set(A.key,B);let U=t();H.logger.info("\u2728",B.type,B.key,"=",U);let x={key:A.key,type:"selector"};if(L)x.family=L;return x};function Iu(H,A){if("set"in A){let $=FE(H,A,void 0);return H.on.selectorCreation.next($),$}let I=CE(H,A,void 0);return H.on.selectorCreation.next(I),I}function EB(H,A){let L=N(H),{key:I}=A,$=CH(L,A);if(!$.family)H.logger.error("\u274C","selector",I,"Standalone selectors cannot be disposed.");else{if(L.molecules.get($.family.subKey))L.moleculeData.delete($.family.subKey,$.family.key);let E;switch(A.type){case"selector":L.selectors.delete(I),E={key:$.family.key,type:"selector_family"},CH(H,E).subject.next({type:"state_disposal",subType:"selector",token:A});break;case"readonly_selector":L.readonlySelectors.delete(I),E={key:$.family.key,type:"readonly_selector_family"},CH(H,E).subject.next({type:"state_disposal",subType:"selector",token:A});break}if(L.valueMap.delete(I),L.selectorAtoms.delete(I),L.selectorGraph.delete(I),H.logger.info("\uD83D\uDD25",A.type,I,"deleted"),PH(L)&&L.transactionMeta.phase==="building")L.transactionMeta.update.updates.push({type:"state_disposal",subType:"selector",token:A});else H.on.selectorDisposal.next(A)}}function TE(H,A,L){let I={key:A.key,type:"selector_family"},$=H.families.get(A.key);if($)H.logger.error("\u2757","selector_family",A.key,`Overwriting an existing ${rL($)} "${$.key}" in store "${H.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let f=new iH,D=Object.assign((M)=>{let o=pH(M),u={key:A.key,subKey:o},t=`${A.key}(${o})`,i=N(H),B=FE(i,{key:t,get:A.get(M),set:A.set(M)},u);return f.next({type:"state_creation",token:B}),B},I,{internalRoles:L,subject:f,install:(M)=>TE(M,A),default:(M)=>{return A.get(M)({get:(...u)=>mH(H,...u),find:(...u)=>q(H,...u),json:(u)=>iA(H,u)})}});return H.families.set(A.key,D),I}function uB(H,A,L){return TE(H,{key:`${A.key}:JSON`,get:($)=>({get:f})=>{let E=f(A,$);return L.toJson(E)},set:($)=>({set:f},E)=>{f(A,$,L.fromJson(E))}},["mutable","json"])}var xA=(H)=>JSON.parse(H),pH=(H)=>JSON.stringify(H),pr=[Array.prototype,Boolean.prototype,Number.prototype,Object.prototype,String.prototype];var tB=(H,A)=>{let L=N(H);if(L.operation.open)return L.operation.prev.get(A.key);return L.valueMap.get(A.key)};var nu=(H,A)=>{let L=N(H);return MB(A,H).map(($)=>{let f=L.atoms.get($);if(f===void 0)throw new Error(`Atom "${$}", a dependency of selector "${A.key}", not found in store "${H.config.name}".`);return f.subject.subscribe(`${A.type}:${A.key}`,(E)=>{H.logger.info("\uD83D\uDCE2",A.type,A.key,"root",$,"went",E.oldValue,"->",E.newValue);let D=tB(L,A),M=VI(L,A);H.logger.info("\u2728",A.type,A.key,"went",D,"->",M),A.subject.next({newValue:M,oldValue:D})})})};function wA(H,A,L,I){function $(t){if(H.operation.open){let i=H.on.operationClose.subscribe(`state subscription ${L}`,()=>{i(),I(t)})}else I(t)}let f=CH(H,A);H.logger.info("\uD83D\uDC40",f.type,f.key,`Adding subscription "${L}"`);let E=f.type==="selector"||f.type==="readonly_selector",D=null,M=$;if(E)D=nu(H,f),M=(t)=>{if(D)D.length=0,D.push(...nu(H,f));$(t)};let o=f.subject.subscribe(L,M);return()=>{if(H.logger.info("\uD83D\uDE48",f.type,f.key,`Removing subscription "${L}"`),o(),D)for(let t of D)t()}}var iu=(H,A,L,I)=>{let $=CH(H,A);H.logger.info("\uD83D\uDC40","timeline",A.key,`Adding subscription "${L}"`);let f=$.subject.subscribe(L,I);return()=>{H.logger.info("\uD83D\uDE48","timeline",A.key,`Removing subscription "${L}" from timeline`),f()}};var pu=(H,A,L,I)=>{let $=CH(H,A);H.logger.info("\uD83D\uDC40","transaction",A.key,`Adding subscription "${L}"`);let f=$.subject.subscribe(L,I);return()=>{H.logger.info("\uD83D\uDE48","transaction",A.key,`Removing subscription "${L}"`),f()}};class f${Update;initializeState(H,A){let L=`*${H.key}`;A.atoms.delete(L),A.valueMap.delete(L);let I=H.family?{key:`*${H.family.key}`,subKey:H.family.subKey}:void 0,$=eI(A,{key:L,default:null},I);if(A.parent?.valueMap.has(L)){let f=A.parent.valueMap.get(L);A.valueMap.set(L,f)}return $}unsubscribeFromInnerValue;unsubscribeFromState;observeCore(H,A,L){let I=`tracker:${L.config.name}:${PH(L)?L.transactionMeta.update.key:"main"}:${H.key}`,$=mH(L,H);this.unsubscribeFromInnerValue=$.subscribe(I,(f)=>{vH(L,A,f)}),this.unsubscribeFromState=wA(L,H,I,(f)=>{if(f.newValue!==f.oldValue)this.unsubscribeFromInnerValue(),this.unsubscribeFromInnerValue=f.newValue.subscribe(I,(E)=>{vH(L,A,E)})})}updateCore(H,A,L){let I=`tracker:${L.config.name}:${PH(L)?L.transactionMeta.update.key:"main"}:${H.key}`;wA(L,A,I,({newValue:$,oldValue:f})=>{let E=L.timelineTopics.getRelatedKey(A.key);if(E){if(L.timelines.get(E)?.timeTraveling){let o=iu(L,{key:E,type:"timeline"},I,(u)=>{o(),vH(L,H,(t)=>{if(u==="redo"&&$)t.do($);else if(u==="undo"&&f)t.undo(f);return t})});return}}let D=L.on.operationClose.subscribe(I,()=>{D();let M=mH(L,H),o=$===null?-1:M.getUpdateNumber($),u=o-M.cacheUpdateNumber;if($&&u===1)vH(L,H,(t)=>(t.do($),t));else L.logger.info("\u274C","mutable_atom",H.key,`could not be updated. Expected update number ${M.cacheUpdateNumber+1}, but got ${o}`)})})}mutableState;latestUpdateState;[Symbol.dispose];constructor(H,A){this.mutableState=H;let L=N(A);this.latestUpdateState=this.initializeState(H,L),this.observeCore(H,this.latestUpdateState,L),this.updateCore(H,this.latestUpdateState,L),L.trackers.set(H.key,this),this[Symbol.dispose]=()=>{this.unsubscribeFromInnerValue(),this.unsubscribeFromState(),L.trackers.delete(H.key)}}}function _E(H,A,L){H.logger.info("\uD83D\uDD28","atom",A.key,`creating in store "${H.config.name}"`);let I=N(H),$=I.atoms.get(A.key);if($&&$.type==="mutable_atom")return H.logger.error("\u274C","atom",A.key,"Tried to create atom, but it already exists in the store."),jL($);let f=new iH,E={...A,type:"mutable_atom",install:(o)=>{return o.logger.info("\uD83D\uDEE0\uFE0F","atom",A.key,`installing in store "${o.config.name}"`),_E(o,A,L)},subject:f};if(L)E.family=L;let D=A.default();I.atoms.set(E.key,E),gD(H,A.key),cL(I,A.key,D,f);let M=jL(E);if(A.effects){let o=0,u=[];for(let t of A.effects){let i=t({setSelf:(B)=>{vH(H,M,B)},onSet:(B)=>wA(H,M,`effect[${o}]`,B)});if(i)u.push(i);++o}E.cleanup=()=>{for(let t of u)t()}}if(new f$(M,H),!L)P0(M,A,H);return M}class Bu{trackers=new Map;Update;latestUpdateAtoms;mutableAtoms;constructor(H,A){let L=gI(A,{key:`*${H.key}`,default:null},["mutable","updates"]);this.latestUpdateAtoms=CH(A,L),this.mutableAtoms=H,this.mutableAtoms.subject.subscribe(`store=${A.config.name}::tracker-atom-family`,(I)=>{let{type:$,token:f}=I;if(f.family){let E=xA(f.family.subKey);switch($){case"state_creation":this.trackers.set(E,new f$(f,A));break;case"state_disposal":{let D=this.trackers.get(E);if(D)D[Symbol.dispose](),this.trackers.delete(E)}break}}})}}function UE(H,A,L){let I={key:A.key,type:"mutable_atom_family"},$=H.families.get(A.key);if($)H.logger.error("\u2757","mutable_atom_family",A.key,`Overwriting an existing ${rL($)} "${$.key}" in store "${H.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let f=new iH,D=Object.assign((M)=>{let o=pH(M),u={key:A.key,subKey:o},t=`${A.key}(${o})`,i=N(H),B={key:t,default:()=>A.default(M),toJson:A.toJson,fromJson:A.fromJson,mutable:!0};if(A.effects)B.effects=A.effects(M);let U=_E(i,B,u);return f.next({type:"state_creation",token:U}),U},I,{subject:f,install:(M)=>UE(M,A),toJson:A.toJson,fromJson:A.fromJson,internalRoles:L});return H.families.set(A.key,D),uB(H,D,A),new Bu(D,H),I}var cu=(H,A)=>{let L=N(A),I=`${H.key}:JSON`;return L.families.get(I)};var iA=(H,A)=>{if(A.family){let I=N(H),f={key:`${A.family.key}:JSON`,type:"selector_family"},E=CH(I,f),D=JSON.parse(A.family.subKey);return q(H,E,D)}return{type:"selector",key:`${A.key}:JSON`}};var uI=(H)=>{let L={type:"atom",key:`*${H.key}`};if(H.family)L.family={key:`*${H.family.key}`,subKey:H.family.subKey};return L};function N0(H){return typeof H==="object"&&H!==null&&"do"in H&&"undo"in H&&"subscribe"in H}function GE(H,A,L){let I=L.valueMap.get(A.key),$=H.valueMap.get(A.key);if(I!==$)return $;if(I===void 0)return A.default();L.logger.info("\uD83D\uDCC3","atom",A.key,"copying");let f=A.toJson(I),E=A.fromJson(f);return H.valueMap.set(A.key,E),new f$(A,L),E}function cL(H,A,L,I){let $=H.valueMap.get(A);if($ instanceof xE)$.use(L);if(L instanceof Promise){let f=new xE(L);return H.valueMap.set(A,f),f.then((E)=>{cL(H,A,E,I),I.next({newValue:E,oldValue:f})}).catch((E)=>{H.logger.error("\uD83D\uDCA5","state",A,"rejected:",E)}),f}return H.valueMap.set(A,L),L}var w0=(H,A)=>{let L=A.valueMap.get(H.key);if(H.type==="mutable_atom"&&PH(A)){let{parent:I}=A;L=GE(A,H,I)}return L},O0=(H,A)=>{let L=A.valueMap.get(H);if(L instanceof xE){let I=L,$=A.selectors.get(H)??A.readonlySelectors.get(H);if($)I.use($.get());return}if(A.operation.open)A.operation.prev.set(H,L);A.valueMap.delete(H),A.logger.info("\uD83D\uDDD1","state",H,"evicted")};var y0=(H,A)=>{return N(H).atomsThatAreDefault.has(A)},gD=(H,A)=>{let L=N(H);L.atomsThatAreDefault=new Set(L.atomsThatAreDefault).add(A)},R0=(H,A)=>{let L=N(H);L.atomsThatAreDefault=new Set(N(H).atomsThatAreDefault),L.atomsThatAreDefault.delete(A)};function eI(H,A,L){H.logger.info("\uD83D\uDD28","atom",A.key,`creating in store "${H.config.name}"`);let I=N(H),$=I.atoms.get(A.key);if($&&$.type==="atom")return H.logger.error("\u274C","atom",A.key,"Tried to create atom, but it already exists in the store."),jL($);let f=new iH,E={...A,type:"atom",install:(o)=>{return o.logger.info("\uD83D\uDEE0\uFE0F","atom",A.key,`installing in store "${o.config.name}"`),eI(o,A,L)},subject:f};if(L)E.family=L;let D=A.default;if(A.default instanceof Function)D=A.default();I.atoms.set(E.key,E),gD(H,A.key),cL(I,A.key,D,f);let M=jL(E);if(A.effects){let o=0,u=[];for(let t of A.effects){let i=t({setSelf:(B)=>{vH(H,M,B)},onSet:(B)=>wA(H,M,`effect[${o}]`,B)});if(i)u.push(i);++o}E.cleanup=()=>{for(let t of u)t()}}return M}function iB(H,A){if("mutable"in A){let $=_E(H,A,void 0);return H.on.atomCreation.next($),$}let I=eI(H,A,void 0);return H.on.atomCreation.next(I),I}function uu(H,A){let L=N(H),{key:I,family:$}=A,f=CH(L,A);if(!$)H.logger.error("\u274C","atom",I,"Standalone atoms cannot be disposed.");else{f.cleanup?.();let E=H.valueMap.get(f.key),D=CH(H,{key:$.key,type:"atom_family"}),M={type:"state_disposal",subType:"atom",token:A,value:E};D.subject.next(M);let o=PH(L);if(L.atoms.delete(I),L.valueMap.delete(I),L.selectorAtoms.delete(I),L.atomsThatAreDefault.delete(I),H.timelineTopics.delete(I),A.type==="mutable_atom"){let u=uI(A);uu(H,u),H.trackers.delete(I)}if(H.logger.info("\uD83D\uDD25","atom",I,"deleted"),o&&L.transactionMeta.phase==="building"){let u=L.transactionMeta.update.updates.at(-1);if(!(u?.type==="molecule_disposal"&&u.values.some(([B])=>B===f.family?.key)))L.transactionMeta.update.updates.push(M)}else H.on.atomDisposal.next(A)}}class nA extends Set{mode="record";subject=new iH;cacheLimit=0;cache=[];cacheIdx=-1;cacheUpdateNumber=-1;constructor(H,A=0){super(H);if(H instanceof nA)this.parent=H,this.cacheUpdateNumber=H.cacheUpdateNumber;if(A)this.cacheLimit=A,this.cache=new Array(A),this.subscribe("auto cache",(L)=>{this.cacheIdx++,this.cacheIdx%=this.cacheLimit,this.cache[this.cacheIdx]=L})}toJSON(){return{members:[...this],cache:this.cache,cacheLimit:this.cacheLimit,cacheIdx:this.cacheIdx,cacheUpdateNumber:this.cacheUpdateNumber}}static fromJSON(H){let A=new nA(H.members,H.cacheLimit);return A.cache=H.cache,A.cacheIdx=H.cacheIdx,A.cacheUpdateNumber=H.cacheUpdateNumber,A}add(H){let A=super.add(H);if(this.mode==="record")this.cacheUpdateNumber++,this.emit(`add:${pH(H)}`);return A}clear(){let H=this.mode==="record"?[...this]:null;if(super.clear(),H)this.cacheUpdateNumber++,this.emit(`clear:${JSON.stringify(H)}`)}delete(H){let A=super.delete(H);if(this.mode==="record")this.cacheUpdateNumber++,this.emit(`del:${pH(H)}`);return A}parent;child=null;transactionUpdates=null;transaction(H){this.mode="transaction",this.transactionUpdates=[],this.child=new nA(this);let A=this.child._subscribe("transaction",(L)=>{this.transactionUpdates?.push(L)});try{if(H(this.child)){for(let I of this.transactionUpdates)this.doStep(I);this.cacheUpdateNumber++,this.emit(`tx:${this.transactionUpdates.join(";")}`)}}catch(L){throw console.warn("Did not apply transaction to SetRTX; this error was thrown:",L),L}finally{A(),this.child=null,this.transactionUpdates=null,this.mode="record"}}_subscribe(H,A){return this.subject.subscribe(H,A)}subscribe(H,A){return this.subject.subscribe(H,(L)=>{A(`${this.cacheUpdateNumber}=${L}`)})}emit(H){this.subject.next(H)}doStep(H){let A=H.indexOf(":"),L=H.substring(0,A),I=H.substring(A+1);switch(L){case"add":this.add(JSON.parse(I));break;case"clear":this.clear();break;case"del":this.delete(JSON.parse(I));break;case"tx":for(let $ of I.split(";"))this.doStep($)}}getUpdateNumber(H){let A=H.indexOf("=");return Number(H.substring(0,A))}do(H){let A=H.indexOf("="),L=Number(H.substring(0,A)),I=L-this.cacheUpdateNumber;if(I>0){if(I===1){this.mode="playback";let f=H.substring(A+1);return this.doStep(f),this.mode="record",this.cacheUpdateNumber=L,null}return this.cacheUpdateNumber+1}if(Math.abs(I)<this.cacheLimit){let f=this.cacheIdx+I;if(this.cache[f]===H)return null;this.mode="playback";let D=!1;while(!D){this.cacheIdx%=this.cacheLimit;let o=this.cache[this.cacheIdx];if(this.cacheIdx--,!o)return"OUT_OF_RANGE";this.undo(o),D=this.cacheIdx===f-1}let M=H.substring(A+1);return this.doStep(M),this.mode="record",this.cacheUpdateNumber=L,null}return"OUT_OF_RANGE"}undoStep(H){let A=H.indexOf(":"),L=H.substring(0,A),I=H.substring(A+1);switch(L){case"add":this.delete(JSON.parse(I));break;case"del":this.add(JSON.parse(I));break;case"clear":{let $=JSON.parse(I);for(let f of $)this.add(f);break}case"tx":{let $=I.split(";");for(let f=$.length-1;f>=0;f--)this.undoStep($[f])}}}undo(H){let A=H.indexOf("=");if(Number(H.substring(0,A))===this.cacheUpdateNumber){this.mode="playback";let I=H.substring(A+1);return this.undoStep(I),this.mode="record",this.cacheUpdateNumber--,null}return this.cacheUpdateNumber}}class WE{toolkit;options;defaultContent;molecules=new Map;relations;states;core;transact(H,A){let L=this.toolkit;this.toolkit=H,A(this),this.toolkit=L}store;realm;[Symbol.dispose](){}constructor(H,A,L=e.STORE){this.store=L,this.realm=new xu(L),this.options=H,this.defaultContent=A,this.store.miscResources.set(`join:${H.key}`,this),this.realm.allocate("root",H.key),this.toolkit={get:(...W)=>mH(L,...W),set:(...W)=>{vH(L,...W)},find:(...W)=>q(L,...W),json:(W)=>iA(L,W)};let I=H.between[0],$=H.between[1],f=UE(L,{key:`${H.key}/relatedKeys`,default:()=>new nA,mutable:!0,fromJson:(W)=>nA.fromJSON(W),toJson:(W)=>W.toJSON()},["join","relations"]);this.core={relatedKeysAtoms:f};let E=({get:W},P)=>W(f,P),D=({set:W},P,V)=>{if(!this.store.molecules.has(pH(P)))this.realm.allocate(H.key,P);W(f,P,(J)=>J.add(V)),W(f,V,(J)=>J.add(P))},M=({set:W},P,V)=>{W(f,P,(J)=>{return J.delete(V),J}),W(f,V,(J)=>{return J.delete(P),J})},o=(W,P,V)=>{let{find:J,get:a,set:h}=W,X=J(f,P),MH=a(X);for(let Z of MH){if(V.includes(Z))continue;h(f,Z,(wH)=>{return wH.delete(P),wH})}h(X,(Z)=>{return Z.transaction((oH)=>{oH.clear();for(let wH of V){let DA=E(W,wH),ZA=DA.has(P);if(this.relations.cardinality==="1:n"){let HI=[];for(let w of DA){if(w===P)continue;let r=E(W,w);if(r.delete(wH),r.size===0)HI.push(w)}if(!ZA&&DA.size>0)DA.clear();for(let w of HI){let r=[wH,w].sort(),TH=`"${r[0]}:${r[1]}"`;this.molecules.delete(TH)}}if(!ZA)DA.add(P);oH.add(wH)}return!0}),Z})},u=(W,P,V)=>{let{set:J}=W;J(f,P,(a)=>{return a.transaction((h)=>{for(let X of V)h.add(X);return!0}),a});for(let a of V)J(f,a,(h)=>{return h.add(P),h});return!0},t=(W,P,V)=>{let J=E(W,P);return V?J.has(V):J.size>0},i={getRelatedKeys:(W)=>E(this.toolkit,W),addRelation:(W,P)=>{this.store.moleculeJoins.set(W,H.key),this.store.moleculeJoins.set(P,H.key),D(this.toolkit,W,P)},deleteRelation:(W,P)=>{M(this.toolkit,W,P)},replaceRelationsSafely:(W,P)=>{o(this.toolkit,W,P)},replaceRelationsUnsafely:(W,P)=>{u(this.toolkit,W,P)},has:(W,P)=>t(this.toolkit,W,P)},B,U;if(A){U=gI(L,{key:`${H.key}/content`,default:A},["join","content"]);let W=({get:J},a)=>J(U,a),P=({set:J},a,h)=>{J(U,a,h)};B=Object.assign(i,{getContent:(J)=>{return W(this.toolkit,J)},setContent:(J,a)=>{P(this.toolkit,J,a)},deleteContent:(J)=>{this.realm.deallocate(J)}})}else B=i;let x=new pA(H,{externalStore:B,isAType:H.isAType,isBType:H.isBType,makeContentKey:(...W)=>{let[P,V]=W,J=W.sort(),a=`${J[0]}:${J[1]}`,h=L.molecules.get(pH(P)),X=L.molecules.get(pH(V));if(!h)this.realm.allocate(H.key,P);if(!X)this.realm.allocate(H.key,V);return this.realm.allocate(P,a,"all"),this.realm.claim(V,a),this.store.moleculeJoins.set(a,H.key),a}}),T=()=>JI(L,{key:`${H.key}/singleRelatedKey`,get:(W)=>({get:P})=>{let V=P(f,W);for(let J of V)return J;return null}},["join","keys"]),F=()=>{return JI(L,{key:`${H.key}/multipleRelatedKeys`,get:(W)=>({get:P})=>{let V=cu(f,L);return P(V,W).members}},["join","keys"])},m=()=>JI(L,{key:`${H.key}/singleRelatedEntry`,get:(W)=>({get:P})=>{let V=P(f,W);for(let J of V){let a=x.isAType?.(W)?W:void 0,h=a===void 0?W:void 0;a??=J,h??=J;let X=x.makeContentKey(a,h),MH=P(U,X);return[J,MH]}return null}},["join","entries"]),Y=()=>JI(L,{key:`${H.key}/multipleRelatedEntries`,get:(W)=>({get:P})=>{let V=cu(f,L);return P(V,W).members.map((a)=>{let h=x.isAType?.(W)?W:void 0,X=h===void 0?W:void 0;h??=a,X??=a;let MH=x.makeContentKey(h,X),Z=P(U,MH);return[a,Z]})}},["join","entries"]);switch(H.cardinality){case"1:1":{let W=T(),P=`${I}KeyOf${XH($)}`,V=`${$}KeyOf${XH(I)}`,J={[P]:W,[V]:W},a;if(A){let h=m(),X=`${I}EntryOf${XH($)}`,MH=`${$}EntryOf${XH(I)}`,Z={[X]:h,[MH]:h};a=Object.assign(J,Z)}else a=J;this.relations=x,this.states=a;break}case"1:n":{let W=T(),P=F(),V=`${I}KeyOf${XH($)}`,J=`${$}KeysOf${XH(I)}`,a={[V]:W,[J]:P},h;if(A){let X=m(),MH=Y(),Z=`${I}EntryOf${XH($)}`,oH=`${$}EntriesOf${XH(I)}`,wH={[Z]:X,[oH]:MH};h=Object.assign(a,wH)}else h=a;this.relations=x,this.states=h;break}case"n:n":{let W=F(),P=`${I}KeysOf${XH($)}`,V=`${$}KeysOf${XH(I)}`,J={[P]:W,[V]:W},a;if(A){let h=Y(),X=`${I}EntriesOf${XH($)}`,MH=`${$}EntriesOf${XH(I)}`,Z={[X]:h,[MH]:h};a=Object.assign(J,Z)}else a=J;this.relations=x,this.states=a}}}}function Hf(H,A){let L=A.joins.get(H.key);if(L===void 0){let $=e.STORE.joins.get(H.key);if($===void 0)throw new Error(`Join "${H.key}" not found in store "${A.config.name}"`);L=new WE($.options,$.defaultContent,A),A.joins.set(H.key,L)}return L}function wI(H,A,L){let I=Hf(H,L),$=N(L);if(PH($)){let{toolkit:f}=$.transactionMeta;I.transact(f,({relations:E})=>{A(E)})}else A(I.relations)}function Af(H,A,L){let I=Hf(H,L),$;switch(H.cardinality){case"1:1":{let f=`${H.a}KeyOf${XH(H.b)}`,E=`${H.b}KeyOf${XH(H.a)}`;$={get[f](){let M=I.states[f];return q(L,M,A)},get[E](){let M=I.states[E];return q(L,M,A)}};let D=`${H.a}EntryOf${XH(H.b)}`;if(D in I.states){let M=`${H.b}EntryOf${XH(H.a)}`;Object.assign($,{get[D](){let o=I.states[D];return q(L,o,A)},get[M](){let o=I.states[M];return q(L,o,A)}})}break}case"1:n":{let f=`${H.a}KeyOf${XH(H.b)}`,E=`${H.b}KeysOf${XH(H.a)}`;$={get[f](){let M=I.states[f];return q(L,M,A)},get[E](){let M=I.states[E];return q(L,M,A)}};let D=`${H.a}EntryOf${XH(H.b)}`;if(D in I.states){let M=`${H.b}EntriesOf${XH(H.a)}`;Object.assign($,{get[D](){let o=I.states[D];return q(L,o,A)},get[M](){let o=I.states[M];return q(L,o,A)}})}break}case"n:n":{let f=`${H.a}KeysOf${XH(H.b)}`,E=`${H.b}KeysOf${XH(H.a)}`;$={get[f](){let M=I.states[f];return q(L,M,A)},get[E](){let M=I.states[E];return q(L,M,A)}};let D=`${H.a}EntriesOf${XH(H.b)}`;if(D in I.states){let M=`${H.b}EntriesOf${XH(H.a)}`;Object.assign($,{get[D](){let o=I.states[D];return q(L,o,A)},get[M](){let o=I.states[M];return q(L,o,A)}})}}}return $}function pB(H,A){return Hf(H,A).core.relatedKeysAtoms}function IB(H){return H.startsWith("\uD83D\uDD0D ")}function KI(H){return iB(e.STORE,H)}function E$(H){return X0(e.STORE,H)}function eD(H,A,L=e.STORE){return L.joins.set(H.key,new WE(H,A,L)),{key:H.key,type:"join",a:H.between[0],b:H.between[1],cardinality:H.cardinality}}function nB(H){return pB(H,e.STORE)}var Uu=(H)=>(A,L,I,$,...f)=>{console[H](`${A} ${L} "${I}" ${$}`,...f)},$5={error:Uu("error"),info:Uu("info"),warn:Uu("warn")};class $${logLevel;filter;logger;constructor(H,A,L=$5){this.logLevel=H,this.filter=A,this.logger=L}error=(...H)=>{if((this.filter?.(...H)??!0)&&this.logLevel!==null)this.logger.error(...H)};info=(...H)=>{if((this.filter?.(...H)??!0)&&this.logLevel==="info")this.logger.info(...H)};warn=(...H)=>{if((this.filter?.(...H)??!0)&&this.logLevel!=="error"&&this.logLevel!==null)this.logger.warn(...H)}}var ld=Symbol("claim");class BB{store;constructor(H=e.STORE){this.store=H,z0("root",H)}allocate(H,A,L){return A$(this.store,H,A,L)}fuse(H,A,L){return b0(this.store,H,A,L)}deallocate(H){L$(this.store,H)}claim(H,A,L){return e$(this.store,H,A,L)}}class xu{store;realm;constructor(H=e.STORE){this.store=H,this.realm=new BB(H)}allocate(H,A,L){A$(this.store,H,A,L)}deallocate(H){L$(this.store,H)}claim(H,A,L){e$(this.store,H,A,L)}}function HM(H){return S0(e.STORE,H)}function D$(H){return ou(e.STORE,H)}class cB extends Map{set(H,A){if(this.has(H))return console.warn("Tried to set a key that already exists in an InvariantMap",{key:H,value:A}),this;return super.set(H,A)}clear(){throw new Error("Cannot clear an InvariantMap")}}class AM{type="continuity";globals=[];actions=[];perspectives=[];key;constructor(H){this.key=H}static existing=new cB;static create(H,A){let L=new AM(H),{type:I,globals:$,actions:f,perspectives:E}=A(L),D={type:I,key:H,globals:$,actions:f,perspectives:E};return AM.existing.set(H,D),D}add(...H){switch(H[0].type){case"atom":case"mutable_atom":this.globals.push(...H);break;case"transaction":this.actions.push(...H);break;case"atom_family":case"mutable_atom_family":{let[L,I]=H;this.perspectives.push({type:"realtime_perspective",resourceAtoms:L,viewAtoms:I})}break}return this}}function xB(H){let{key:A,config:L}=H,I=AM.create(A,L),{actions:$}=I;for(let f of $)e0(e.STORE,A,f.key);return d0(e.STORE,A,-1),I}var Zd=KI({key:"usersInRoomIndex",mutable:!0,default:()=>new nA,toJson:(H)=>H.toJSON(),fromJson:(H)=>nA.fromJSON(H)}),Cu=KI({key:"roomIndex",default:()=>new nA,mutable:!0,toJson:(H)=>H.toJSON(),fromJson:(H)=>nA.fromJSON(H)}),f5={enteredAtEpoch:0},mE=eD({key:"usersInRooms",between:["room","user"],cardinality:"1:n",isAType:(H)=>typeof H==="string",isBType:(H)=>typeof H==="string"},f5),hd=HM({key:"usersInMyRoomView",get:(H)=>({find:A})=>{let L=nB(mE);return[A(L,H)]}});import{spawn as E5}from"child_process";class Lf{listeners;globalListeners;handleEvent(H,...A){for(let I of this.globalListeners)I(H,...A);let L=this.listeners.get(H);if(L)for(let I of L)I(...A)}id="no_id_retrieved";emit;constructor(H){this.emit=H,this.listeners=new Map,this.globalListeners=new Set}on(H,A){let L=this.listeners.get(H);if(L)L.add(A);else this.listeners.set(H,new Set([A]));return this}onAny(H){return this.globalListeners.add(H),this}off(H,A){let L=this.listeners.get(H);if(L)if(A)L.delete(A);else this.listeners.delete(H);return this}offAny(H){return this.globalListeners.delete(H),this}}class PE extends Lf{incompleteData="";unprocessedEvents=[];incompleteLog="";unprocessedLogs=[];id="#####";process;key;logger;handleLog(H){if(Array.isArray(H)){let[A,...L]=H;switch(A){case"i":this.logger.info(...L);break;case"w":this.logger.warn(...L);break;case"e":this.logger.error(...L);break;default:return}}}constructor(H,A,L){super((I,...$)=>{let f=JSON.stringify([I,...$])+"\x03",E=(D)=>{if(D.code==="EPIPE")console.error("EPIPE error during write",this.process.stdin);this.process.stdin.removeListener("error",E)};return this.process.stdin.once("error",E),this.process.stdin.write(f),this});if(this.process=H,this.key=A,this.logger=L??{info:(...I)=>{console.info(this.id,this.key,...I)},warn:(...I)=>{console.warn(this.id,this.key,...I)},error:(...I)=>{console.error(this.id,this.key,...I)}},this.process.stdout.on("data",(I)=>{let $=I.toString();if($==="ALIVE")return;this.unprocessedEvents.push(...$.split("\x03"));let f=this.unprocessedEvents.shift();this.incompleteData+=f??"";try{if(this.incompleteData.startsWith("error"))console.log("\u2757",this.incompleteData);let E=xA(this.incompleteData);this.handleEvent(...E);while(this.unprocessedEvents.length>0){let D=this.unprocessedEvents.shift();if(D){if(this.unprocessedEvents.length===0)this.incompleteData=D;E=xA(D),this.handleEvent(...E)}}this.incompleteData=""}catch(E){console.warn("\u26A0\uFE0F----------------\u26A0\uFE0F"),console.warn(this.incompleteData),console.warn("\u26A0\uFE0F----------------\u26A0\uFE0F"),console.error(E)}}),this.process.stderr.on("data",(I)=>{let $=I.toString();this.unprocessedLogs.push(...$.split("\x03"));let f=this.unprocessedLogs.shift();this.incompleteLog+=f??"";try{let E=xA(this.incompleteLog);this.handleLog(E);while(this.unprocessedLogs.length>0)if(this.incompleteLog=this.unprocessedLogs.shift()??"",this.incompleteLog)E=xA(this.incompleteLog),this.handleLog(E)}catch(E){console.error("\u274C\u274C\u274C"),console.error(this.incompleteLog),console.error(E),console.error("\u274C\u274C\u274C\uFE0F")}}),H.pid)this.id=H.pid.toString()}}class UB extends Lf{in;out;id="no_id_retrieved";disposalFunctions=[];constructor(H){super((...A)=>{return this.out.next(A),this});this.id=H,this.in=new iH,this.out=new iH,this.in.subscribe("socket",(A)=>{this.handleEvent(...A)})}dispose(){for(let H of this.disposalFunctions)H()}}class Tu extends Lf{incompleteData="";unprocessedEvents=[];relays;relayServices;process;id="#####";log(...H){this.process.stderr.write(pH(H.map((A)=>A instanceof nA?`{ ${A.toJSON().members.join(" | ")} }`:A))+"\x03")}logger={info:(...H)=>{this.log("i",...H)},warn:(...H)=>{this.log("w",...H)},error:(...H)=>{this.log("e",...H)}};constructor(){super((H,...A)=>{let L=JSON.stringify([H,...A]);return this.process.stdout.write(L+"\x03"),this});if(this.process=process,this.process.stdin.resume(),this.relays=new Map,this.relayServices=[],this.process.stdin.on("data",(H)=>{let A=H.toString();this.unprocessedEvents.push(...A.split("\x03"));let L=this.unprocessedEvents.shift();this.incompleteData+=L??"";try{let I=xA(this.incompleteData);this.logger.info("\uD83C\uDFB0","received",I),this.handleEvent(...I);while(this.unprocessedEvents.length>0){let $=this.unprocessedEvents.shift();if($){if(this.unprocessedEvents.length===0)this.incompleteData=$;let f=xA($);this.handleEvent(...f)}}this.incompleteData=""}catch(I){if(I instanceof Error)this.logger.error("\u2757",I.message,I.cause,I.stack)}}),this.on("exit",()=>{this.logger.info("\uD83D\uDD25",this.id,'received "exit"'),process.exit(0)}),process.on("exit",(H)=>{this.logger.info("\uD83D\uDD25",this.id,`exited with code ${H}`)}),process.on("end",()=>{this.logger.info("\uD83D\uDD25",this.id,"ended"),process.exit(0)}),process.on("SIGTERM",()=>{this.logger.error("\uD83D\uDD25",this.id,"terminated"),process.exit(0)}),process.on("SIGINT",()=>{this.logger.error("\uD83D\uDD25",this.id,"interrupted"),process.exit(0)}),process.pid)this.id=process.pid?.toString();this.on("user-joins",(H)=>{this.logger.info("\uD83D\uDC64","user",H,"joined");let A=new UB(`user:${H}`);this.relays.set(H,A),this.logger.info("\uD83D\uDD17","attaching services:",`[${[...this.relayServices.keys()].join(", ")}]`);for(let L of this.relayServices){let I=L(A);if(I)A.disposalFunctions.push(I)}this.on(`user:${H}`,(...L)=>{A.in.next(L)}),A.out.subscribe("socket",(L)=>{this.emit(...L)})}),this.on("user-leaves",(H)=>{let A=this.relays.get(H);if(this.off(`relay:${H}`),A)A.dispose(),this.relays.delete(H)}),process.stdout.write("ALIVE")}relay(H){this.logger.info("\uD83D\uDD17","running relay method"),this.relayServices.push(H)}}var Gu=E$({key:"roomArguments",default:["echo",["Hello World!"]]}),CB=HM({key:"room",get:(H)=>async({get:A,find:L})=>{let I=L(Gu,H),$=A(I),[f,E]=$,D=await new Promise((M)=>{let o=E5(f,E,{env:process.env}),u=(t)=>{if(t.toString()==="ALIVE")o.stdout.off("data",u),M(o)};o.stdout.on("data",u)});return new PE(D,H)}});var Cq=D$({key:"createRoom",do:({get:H,set:A,find:L},I,$,f)=>{let E=f?[$,f]:[$],D=L(Gu,I);A(D,E),A(Cu,(u)=>u.add(I));let M=L(CB,I);return H(M)}}),Tq=D$({key:"joinRoom",do:(H,A,L,I)=>{let $={enteredAtEpoch:I};return wI(mE,(f)=>{f.set({room:A,user:L},$)},H.env().store),$}}),Gq=D$({key:"leaveRoom",do:(H,A,L)=>{wI(mE,(I)=>{I.delete({room:A,user:L})},H.env().store)}}),Fq=D$({key:"destroyRoom",do:(H,A)=>{wI(mE,(L)=>{L.delete({room:A})},H.env().store),H.set(Cu,(L)=>(L.delete(A),L))}});function Fu(H,A){return A.map((L)=>{switch(L.type){case"transaction_update":{let I=Fu(H,L.updates);return{...L,updates:I}}case"atom_update":case"selector_update":case"molecule_creation":case"molecule_disposal":case"molecule_transfer":case"state_creation":case"state_disposal":return L}}).filter((L)=>{switch(L.type){case"atom_update":case"selector_update":return H.includes(L.key);case"state_creation":case"state_disposal":return H.includes(L.token.key);case"molecule_creation":case"transaction_update":case"molecule_disposal":case"molecule_transfer":return!0}})}var mq=E$({key:"redactor",default:{occlude:(H)=>H}}),If=E$({key:"unacknowledgedUpdates",default:()=>[]});var LM=E$({key:"sockets",default:null}),_u=KI({key:"socketsIndex",mutable:!0,default:()=>new nA,toJson:(H)=>H.toJSON(),fromJson:(H)=>nA.fromJSON(H)}),Wu=KI({key:"usersIndex",mutable:!0,default:()=>new nA,toJson:(H)=>H.toJSON(),fromJson:(H)=>nA.fromJSON(H)}),M$=eD({key:"usersOfSockets",between:["user","socket"],cardinality:"1:1",isAType:(H)=>H.startsWith("user::"),isBType:(H)=>H.startsWith("socket::")});function TB(H,A,L,I){let $=A.key;return function f(){let E=[];for(let M of A.globals){let o=M.type==="mutable_atom"?iA(H,M):M,u=mH(H,o);E.push(o,u)}for(let M of A.perspectives){let{viewAtoms:o,resourceAtoms:u}=M,t=q(H,o,L),i=mH(H,t);H.logger.info("\uD83D\uDC41","atom",u.key,`${L} can see`,{viewAtoms:o,resourceAtoms:u,userView:i});for(let B of i){let U=B.type==="mutable_atom"?iA(H,B):B,x=mH(H,U);E.push(U,x)}}let D=FA(H)?H.transactionMeta.epoch.get($)??null:null;I?.emit(`continuity-init:${$}`,D,E)}}function GB(H,A,L){let I=A.key;return function $(f){H.logger.info("\uD83D\uDECE\uFE0F","continuity",I,"received",f);let{key:E,id:D}=f,M=`tx-run:${E}:${D}`,o=`${M}:start`,u=`${M}:end`;performance.mark(o);try{q$(H,{type:"transaction",key:E},D)(...f.params)}catch(i){if(i instanceof Error)H.logger.error("\u274C","continuity",I,`failed to run transaction ${E} from ${L} with update ${D}`,i.message)}performance.mark(u);let t=performance.measure(M,o,u);H?.logger.info("\uD83D\uDE80","transaction",E,D,L,t.duration)}}function FB(H,A,L,I){let $=A.key;return function f(E){if(H.logger.info("\uD83D\uDC4D","continuity",$,`${L} acknowledged epoch ${E}`),I[0]?.epoch===E)vH(H,If,L,(M)=>{return M.shift(),H.logger.info("\uD83D\uDC4D","continuity",$,`${L} unacknowledged update queue now has`,M.length,"items"),M})}}function _B(H,A,L,I){let $=A.key,f=[];for(let E of A.actions){let D=pu(H,E,`sync-continuity:${$}:${L}`,(M)=>{try{let o=A.globals.map((i)=>{if(i.type==="atom")return i.key;return uI(i).key}).concat(A.perspectives.flatMap((i)=>{let{viewAtoms:B}=i,U=q(H,B,L);return mH(H,U).map((T)=>{return T.type==="mutable_atom"?"*"+T.key:T.key})})),u=Fu(o,M.updates),t={...M,updates:u};vH(H,If,L,(i)=>{if(t)i.push(t),i.sort((B,U)=>B.epoch-U.epoch),H.logger.info("\uD83D\uDC4D","continuity",$,`${L} unacknowledged update queue now has`,i.length,"items");return i}),I?.emit(`tx-new:${$}`,t)}catch(o){if(o instanceof Error)H.logger.error("\u274C","continuity",$,`${L} failed to send update from transaction ${E.key} to ${L}`,o.message)}});f.push(D)}return f}function WB(H,A,L,I){let $=A.key,f=[];for(let E of A.perspectives){let{viewAtoms:D}=E,M=q(H,D,L),o=wA(H,M,`sync-continuity:${$}:${L}:perspective:${E.resourceAtoms.key}`,({oldValue:u,newValue:t})=>{let i=u.map((T)=>T.key),B=t.map((T)=>T.key),U=u.filter((T)=>!B.includes(T.key)),x=t.filter((T)=>!i.includes(T.key)).flatMap((T)=>{let F=T.type==="mutable_atom"?iA(H,T):T,m=mH(H,F);return[F,m]});if(H.logger.info("\uD83D\uDC41","atom",E.resourceAtoms.key,`${L} has a new perspective`,{oldKeys:i,newKeys:B,revealed:x,concealed:U}),x.length>0)I?.emit(`reveal:${$}`,x);if(U.length>0)I?.emit(`conceal:${$}`,U)});f.push(o)}return f}function mB({socket:H,store:A=e.STORE}){return function L(I){let $=H,f=I.key,E=Af(M$,`socket::${$.id}`,A).userKeyOfSocket,D=mH(A,E);if(!D)return A.logger.error("\u274C","continuity",f,`Tried to create a synchronizer for a socket (${$.id}) that is not connected to a user.`),()=>{};let M=Af(M$,D,A).socketKeyOfUser,o=wA(A,M,`sync-continuity:${f}:${D}`,({newValue:F})=>{if(A.logger.info("\uD83D\uDC4B","continuity",f,`seeing ${D} on new socket ${F}`),F===null){A.logger.warn("\u274C","continuity",f,`User (${D}) is not connected to a socket, waiting for them to reappear.`);return}let m=q(A,LM,F);$=mH(A,m);for(let W of u)$?.emit(`tx-new:${f}`,W)}),u=mH(A,If,D),t=[],i=WB(A,I,D,$),B=_B(A,I,D,$);t.push(...i,...B);let U=TB(A,I,D,H);$.off(`get:${f}`,U),$.on(`get:${f}`,U);let x=GB(A,I,D);$.off(`tx-run:${f}`,x),$.on(`tx-run:${f}`,x);let T=FB(A,I,D,u);return $?.on(`ack:${f}`,T),()=>{for(let F of t)F();$?.off(`ack:${f}`,T),$?.off(`get:${f}`,U),$?.off(`tx-run:${f}`,x)}}}var h_=s1(Dt(),1);var n=Symbol.for("drizzle:entityKind"),Og=Symbol.for("drizzle:hasOwnEntityKind");function _(H,A){if(!H||typeof H!=="object")return!1;if(H instanceof A)return!0;if(!Object.prototype.hasOwnProperty.call(A,n))throw new Error(`Class "${A.name??"<unknown>"}" doesn't look like a Drizzle entity. If this is incorrect and the class is provided by Drizzle, please report this as a bug.`);let L=Object.getPrototypeOf(H).constructor;if(L)while(L){if(n in L&&L[n]===A[n])return!0;L=Object.getPrototypeOf(L)}return!1}class aH{constructor(H,A){this.table=H,this.config=A,this.name=A.name,this.keyAsName=A.keyAsName,this.notNull=A.notNull,this.default=A.default,this.defaultFn=A.defaultFn,this.onUpdateFn=A.onUpdateFn,this.hasDefault=A.hasDefault,this.primary=A.primaryKey,this.isUnique=A.isUnique,this.uniqueName=A.uniqueName,this.uniqueType=A.uniqueType,this.dataType=A.dataType,this.columnType=A.columnType,this.generated=A.generated,this.generatedIdentity=A.generatedIdentity}static[n]="Column";name;keyAsName;primary;notNull;default;defaultFn;onUpdateFn;hasDefault;isUnique;uniqueName;uniqueType;dataType;columnType;enumValues=void 0;generated=void 0;generatedIdentity=void 0;config;mapFromDriverValue(H){return H}mapToDriverValue(H){return H}shouldDisableInsert(){return this.config.generated!==void 0&&this.config.generated.type!=="byDefault"}}class Mt{static[n]="ColumnBuilder";config;constructor(H,A,L){this.config={name:H,keyAsName:H==="",notNull:!1,default:void 0,hasDefault:!1,primaryKey:!1,isUnique:!1,uniqueName:void 0,uniqueType:void 0,dataType:A,columnType:L,generated:void 0}}$type(){return this}notNull(){return this.config.notNull=!0,this}default(H){return this.config.default=H,this.config.hasDefault=!0,this}$defaultFn(H){return this.config.defaultFn=H,this.config.hasDefault=!0,this}$default=this.$defaultFn;$onUpdateFn(H){return this.config.onUpdateFn=H,this.config.hasDefault=!0,this}$onUpdate=this.$onUpdateFn;primaryKey(){return this.config.primaryKey=!0,this.config.notNull=!0,this}setName(H){if(this.config.name!=="")return;this.config.name=H}}var OL=Symbol.for("drizzle:Name");class ot{static[n]="PgForeignKeyBuilder";reference;_onUpdate="no action";_onDelete="no action";constructor(H,A){if(this.reference=()=>{let{name:L,columns:I,foreignColumns:$}=H();return{name:L,columns:I,foreignTable:$[0].table,foreignColumns:$}},A)this._onUpdate=A.onUpdate,this._onDelete=A.onDelete}onUpdate(H){return this._onUpdate=H===void 0?"no action":H,this}onDelete(H){return this._onDelete=H===void 0?"no action":H,this}build(H){return new Fx(H,this)}}class Fx{constructor(H,A){this.table=H,this.reference=A.reference,this.onUpdate=A._onUpdate,this.onDelete=A._onDelete}static[n]="PgForeignKey";reference;onUpdate;onDelete;getName(){let{name:H,columns:A,foreignColumns:L}=this.reference(),I=A.map((E)=>E.name),$=L.map((E)=>E.name),f=[this.table[OL],...I,L[0].table[OL],...$];return H??`${f.join("_")}_fk`}}function TM(H,...A){return H(...A)}function _x(H,A){return`${H[OL]}_${A.join("_")}_unique`}function Wx(H,A,L){for(let I=A;I<H.length;I++){let $=H[I];if($==="\\"){I++;continue}if($==='"')return[H.slice(A,I).replace(/\\/g,""),I+1];if(L)continue;if($===","||$==="}")return[H.slice(A,I).replace(/\\/g,""),I]}return[H.slice(A).replace(/\\/g,""),H.length]}function mx(H,A=0){let L=[],I=A,$=!1;while(I<H.length){let f=H[I];if(f===","){if($||I===A)L.push("");$=!0,I++;continue}if($=!1,f==="\\"){I+=2;continue}if(f==='"'){let[M,o]=Wx(H,I+1,!0);L.push(M),I=o;continue}if(f==="}")return[L,I+1];if(f==="{"){let[M,o]=mx(H,I+1);L.push(M),I=o;continue}let[E,D]=Wx(H,I,!1);L.push(E),I=D}return[L,I]}function Px(H){let[A]=mx(H,1);return A}function ut(H){return`{${H.map((A)=>{if(Array.isArray(A))return ut(A);if(typeof A==="string")return`"${A.replace(/\\/g,"\\\\").replace(/"/g,"\\\"")}"`;return`${A}`}).join(",")}}`}class z extends Mt{foreignKeyConfigs=[];static[n]="PgColumnBuilder";array(H){return new Sx(this.config.name,this,H)}references(H,A={}){return this.foreignKeyConfigs.push({ref:H,actions:A}),this}unique(H,A){return this.config.isUnique=!0,this.config.uniqueName=H,this.config.uniqueType=A?.nulls,this}generatedAlwaysAs(H){return this.config.generated={as:H,type:"always",mode:"stored"},this}buildForeignKeys(H,A){return this.foreignKeyConfigs.map(({ref:L,actions:I})=>{return TM(($,f)=>{let E=new ot(()=>{let D=$();return{columns:[H],foreignColumns:[D]}});if(f.onUpdate)E.onUpdate(f.onUpdate);if(f.onDelete)E.onDelete(f.onDelete);return E.build(A)},L,I)})}buildExtraConfigColumn(H){return new Xx(H,this.config)}}class K extends aH{constructor(H,A){if(!A.uniqueName)A.uniqueName=_x(H,[A.name]);super(H,A);this.table=H}static[n]="PgColumn"}class Xx extends K{static[n]="ExtraConfigColumn";getSQLType(){return this.getSQLType()}indexConfig={order:this.config.order??"asc",nulls:this.config.nulls??"last",opClass:this.config.opClass};defaultConfig={order:"asc",nulls:"last",opClass:void 0};asc(){return this.indexConfig.order="asc",this}desc(){return this.indexConfig.order="desc",this}nullsFirst(){return this.indexConfig.nulls="first",this}nullsLast(){return this.indexConfig.nulls="last",this}op(H){return this.indexConfig.opClass=H,this}}class NE{static[n]="IndexedColumn";constructor(H,A,L,I){this.name=H,this.keyAsName=A,this.type=L,this.indexConfig=I}name;keyAsName;type;indexConfig}class Sx extends z{static[n]="PgArrayBuilder";constructor(H,A,L){super(H,"array","PgArray");this.config.baseBuilder=A,this.config.size=L}build(H){let A=this.config.baseBuilder.build(H);return new tt(H,this.config,A)}}class tt extends K{constructor(H,A,L,I){super(H,A);this.baseColumn=L,this.range=I,this.size=A.size}size;static[n]="PgArray";getSQLType(){return`${this.baseColumn.getSQLType()}[${typeof this.size==="number"?this.size:""}]`}mapFromDriverValue(H){if(typeof H==="string")H=Px(H);return H.map((A)=>this.baseColumn.mapFromDriverValue(A))}mapToDriverValue(H,A=!1){let L=H.map((I)=>I===null?null:_(this.baseColumn,tt)?this.baseColumn.mapToDriverValue(I,!0):this.baseColumn.mapToDriverValue(I));if(A)return L;return ut(L)}}var it=Symbol.for("drizzle:isPgEnum");function Jx(H){return!!H&&typeof H==="function"&&it in H&&H[it]===!0}class Vx extends z{static[n]="PgEnumColumnBuilder";constructor(H,A){super(H,"string","PgEnumColumn");this.config.enum=A}build(H){return new wx(H,this.config)}}class wx extends K{static[n]="PgEnumColumn";enum=this.config.enum;enumValues=this.config.enum.enumValues;constructor(H,A){super(H,A);this.enum=A.enum}getSQLType(){return this.enum.enumName}}function GM(H,A){return m4(H,A,void 0)}function m4(H,A,L){let I=Object.assign(($)=>new Vx($??"",I),{enumName:H,enumValues:A,schema:L,[it]:!0});return I}class BA{static[n]="Subquery";constructor(H,A,L,I=!1){this._={brand:"Subquery",sql:H,selectedFields:A,alias:L,isWith:I}}}class yE extends BA{static[n]="WithSubquery"}var Kx="0.41.0";var pt,nt,lH={startActiveSpan(H,A){if(!pt)return A();if(!nt)nt=pt.trace.getTracer("drizzle-orm",Kx);return TM((L,I)=>I.startActiveSpan(H,($)=>{try{return A($)}catch(f){throw $.setStatus({code:L.SpanStatusCode.ERROR,message:f instanceof Error?f.message:"Unknown error"}),f}finally{$.end()}}),pt,nt)}};var RH=Symbol.for("drizzle:ViewBaseConfig");var FM=Symbol.for("drizzle:Schema"),_M=Symbol.for("drizzle:Columns"),vx=Symbol.for("drizzle:ExtraConfigColumns"),Bt=Symbol.for("drizzle:OriginalName"),ct=Symbol.for("drizzle:BaseName"),RE=Symbol.for("drizzle:IsAlias"),ax=Symbol.for("drizzle:ExtraConfigBuilder"),P4=Symbol.for("drizzle:IsDrizzleTable");class y{static[n]="Table";static Symbol={Name:OL,Schema:FM,OriginalName:Bt,Columns:_M,ExtraConfigColumns:vx,BaseName:ct,IsAlias:RE,ExtraConfigBuilder:ax};[OL];[Bt];[FM];[_M];[vx];[ct];[RE]=!1;[P4]=!0;[ax]=void 0;constructor(H,A,L){this[OL]=this[Bt]=H,this[FM]=A,this[ct]=L}}function UA(H){return H[OL]}function n$(H){return`${H[FM]??"public"}.${H[OL]}`}function xt(H){return H!==null&&H!==void 0&&typeof H.getSQL==="function"}function X4(H){let A={sql:"",params:[]};for(let L of H)if(A.sql+=L.sql,A.params.push(...L.params),L.typings?.length){if(!A.typings)A.typings=[];A.typings.push(...L.typings)}return A}class cA{static[n]="StringChunk";value;constructor(H){this.value=Array.isArray(H)?H:[H]}getSQL(){return new R([this])}}class R{constructor(H){this.queryChunks=H}static[n]="SQL";decoder=Ox;shouldInlineParams=!1;append(H){return this.queryChunks.push(...H.queryChunks),this}toQuery(H){return lH.startActiveSpan("drizzle.buildSQL",(A)=>{let L=this.buildQueryFromSourceParams(this.queryChunks,H);return A?.setAttributes({"drizzle.query.text":L.sql,"drizzle.query.params":JSON.stringify(L.params)}),L})}buildQueryFromSourceParams(H,A){let L=Object.assign({},A,{inlineParams:A.inlineParams||this.shouldInlineParams,paramStartIndex:A.paramStartIndex||{value:0}}),{casing:I,escapeName:$,escapeParam:f,prepareTyping:E,inlineParams:D,paramStartIndex:M}=L;return X4(H.map((o)=>{if(_(o,cA))return{sql:o.value.join(""),params:[]};if(_(o,WM))return{sql:$(o.value),params:[]};if(o===void 0)return{sql:"",params:[]};if(Array.isArray(o)){let u=[new cA("(")];for(let[t,i]of o.entries())if(u.push(i),t<o.length-1)u.push(new cA(", "));return u.push(new cA(")")),this.buildQueryFromSourceParams(u,L)}if(_(o,R))return this.buildQueryFromSourceParams(o.queryChunks,{...L,inlineParams:D||o.shouldInlineParams});if(_(o,y)){let u=o[y.Symbol.Schema],t=o[y.Symbol.Name];return{sql:u===void 0||o[RE]?$(t):$(u)+"."+$(t),params:[]}}if(_(o,aH)){let u=I.getColumnCasing(o);if(A.invokeSource==="indexes")return{sql:$(u),params:[]};let t=o.table[y.Symbol.Schema];return{sql:o.table[RE]||t===void 0?$(o.table[y.Symbol.Name])+"."+$(u):$(t)+"."+$(o.table[y.Symbol.Name])+"."+$(u),params:[]}}if(_(o,gA)){let u=o[RH].schema,t=o[RH].name;return{sql:u===void 0||o[RH].isAlias?$(t):$(u)+"."+$(t),params:[]}}if(_(o,EL)){if(_(o.value,NI))return{sql:f(M.value++,o),params:[o],typings:["none"]};let u=o.value===null?null:o.encoder.mapToDriverValue(o.value);if(_(u,R))return this.buildQueryFromSourceParams([u],L);if(D)return{sql:this.mapInlineParam(u,L),params:[]};let t=["none"];if(E)t=[E(o.encoder)];return{sql:f(M.value++,u),params:[u],typings:t}}if(_(o,NI))return{sql:f(M.value++,o),params:[o],typings:["none"]};if(_(o,R.Aliased)&&o.fieldAlias!==void 0)return{sql:$(o.fieldAlias),params:[]};if(_(o,BA)){if(o._.isWith)return{sql:$(o._.alias),params:[]};return this.buildQueryFromSourceParams([new cA("("),o._.sql,new cA(") "),new WM(o._.alias)],L)}if(Jx(o)){if(o.schema)return{sql:$(o.schema)+"."+$(o.enumName),params:[]};return{sql:$(o.enumName),params:[]}}if(xt(o)){if(o.shouldOmitSQLParens?.())return this.buildQueryFromSourceParams([o.getSQL()],L);return this.buildQueryFromSourceParams([new cA("("),o.getSQL(),new cA(")")],L)}if(D)return{sql:this.mapInlineParam(o,L),params:[]};return{sql:f(M.value++,o),params:[o],typings:["none"]}}))}mapInlineParam(H,{escapeString:A}){if(H===null)return"null";if(typeof H==="number"||typeof H==="boolean")return H.toString();if(typeof H==="string")return A(H);if(typeof H==="object"){let L=H.toString();if(L==="[object Object]")return A(JSON.stringify(H));return A(L)}throw new Error("Unexpected param value: "+H)}getSQL(){return this}as(H){if(H===void 0)return this;return new R.Aliased(this,H)}mapWith(H){return this.decoder=typeof H==="function"?{mapFromDriverValue:H}:H,this}inlineParams(){return this.shouldInlineParams=!0,this}if(H){return H?this:void 0}}class WM{constructor(H){this.value=H}static[n]="Name";brand;getSQL(){return new R([this])}}function lx(H){return typeof H==="object"&&H!==null&&"mapToDriverValue"in H&&typeof H.mapToDriverValue==="function"}var Ox={mapFromDriverValue:(H)=>H},sx={mapToDriverValue:(H)=>H},We={...Ox,...sx};class EL{constructor(H,A=sx){this.value=H,this.encoder=A}static[n]="Param";brand;getSQL(){return new R([this])}}function c(H,...A){let L=[];if(A.length>0||H.length>0&&H[0]!=="")L.push(new cA(H[0]));for(let[I,$]of A.entries())L.push($,new cA(H[I+1]));return new R(L)}((H)=>{function A(){return new R([])}H.empty=A;function L(M){return new R(M)}H.fromList=L;function I(M){return new R([new cA(M)])}H.raw=I;function $(M,o){let u=[];for(let[t,i]of M.entries()){if(t>0&&o!==void 0)u.push(o);u.push(i)}return new R(u)}H.join=$;function f(M){return new WM(M)}H.identifier=f;function E(M){return new NI(M)}H.placeholder=E;function D(M,o){return new EL(M,o)}H.param=D})(c||(c={}));((H)=>{class A{constructor(L,I){this.sql=L,this.fieldAlias=I}static[n]="SQL.Aliased";isSelectionField=!1;getSQL(){return this.sql}clone(){return new A(this.sql,this.fieldAlias)}}H.Aliased=A})(R||(R={}));class NI{constructor(H){this.name=H}static[n]="Placeholder";getSQL(){return new R([this])}}function Ut(H,A){return H.map((L)=>{if(_(L,NI)){if(!(L.name in A))throw new Error(`No value for placeholder "${L.name}" was provided`);return A[L.name]}if(_(L,EL)&&_(L.value,NI)){if(!(L.value.name in A))throw new Error(`No value for placeholder "${L.value.name}" was provided`);return L.encoder.mapToDriverValue(A[L.value.name])}return L})}var S4=Symbol.for("drizzle:IsDrizzleView");class gA{static[n]="View";[RH];[S4]=!0;constructor({name:H,schema:A,selectedFields:L,query:I}){this[RH]={name:H,originalName:H,schema:A,selectedFields:L,query:I,isExisting:!I,isAlias:!1}}getSQL(){return new R([this])}}aH.prototype.getSQL=function(){return new R([this])};y.prototype.getSQL=function(){return new R([this])};BA.prototype.getSQL=function(){return new R([this])};class xf{constructor(H){this.table=H}static[n]="ColumnAliasProxyHandler";get(H,A){if(A==="table")return this.table;return H[A]}}class YE{constructor(H,A){this.alias=H,this.replaceOriginalName=A}static[n]="TableAliasProxyHandler";get(H,A){if(A===y.Symbol.IsAlias)return!0;if(A===y.Symbol.Name)return this.alias;if(this.replaceOriginalName&&A===y.Symbol.OriginalName)return this.alias;if(A===RH)return{...H[RH],name:this.alias,isAlias:!0};if(A===y.Symbol.Columns){let I=H[y.Symbol.Columns];if(!I)return I;let $={};return Object.keys(I).map((f)=>{$[f]=new Proxy(I[f],new xf(new Proxy(H,this)))}),$}let L=H[A];if(_(L,aH))return new Proxy(L,new xf(new Proxy(H,this)));return L}}function mM(H,A){return new Proxy(H,new YE(A,!1))}function dL(H,A){return new Proxy(H,new xf(new Proxy(H.table,new YE(A,!1))))}function Ct(H,A){return new R.Aliased(QE(H.sql,A),H.fieldAlias)}function QE(H,A){return c.join(H.queryChunks.map((L)=>{if(_(L,aH))return dL(L,A);if(_(L,R))return QE(L,A);if(_(L,R.Aliased))return Ct(L,A);return L}))}class PM extends Error{static[n]="DrizzleError";constructor({message:H,cause:A}){super(H);this.name="DrizzleError",this.cause=A}}class Tt extends PM{static[n]="TransactionRollbackError";constructor(){super({message:"Rollback"})}}function eA(H,A){if(lx(A)&&!xt(H)&&!_(H,EL)&&!_(H,NI)&&!_(H,aH)&&!_(H,y)&&!_(H,gA))return new EL(H,A);return H}var qL=(H,A)=>{return c`${H} = ${eA(A,H)}`},Nx=(H,A)=>{return c`${H} <> ${eA(A,H)}`};function B$(...H){let A=H.filter((L)=>L!==void 0);if(A.length===0)return;if(A.length===1)return new R(A);return new R([new cA("("),c.join(A,new cA(" and ")),new cA(")")])}function yx(...H){let A=H.filter((L)=>L!==void 0);if(A.length===0)return;if(A.length===1)return new R(A);return new R([new cA("("),c.join(A,new cA(" or ")),new cA(")")])}function Rx(H){return c`not ${H}`}var XM=(H,A)=>{return c`${H} > ${eA(A,H)}`},Yx=(H,A)=>{return c`${H} >= ${eA(A,H)}`},Qx=(H,A)=>{return c`${H} < ${eA(A,H)}`},zx=(H,A)=>{return c`${H} <= ${eA(A,H)}`};function bx(H,A){if(Array.isArray(A)){if(A.length===0)return c`false`;return c`${H} in ${A.map((L)=>eA(L,H))}`}return c`${H} in ${eA(A,H)}`}function Zx(H,A){if(Array.isArray(A)){if(A.length===0)return c`true`;return c`${H} not in ${A.map((L)=>eA(L,H))}`}return c`${H} not in ${eA(A,H)}`}function hx(H){return c`${H} is null`}function rx(H){return c`${H} is not null`}function jx(H){return c`exists ${H}`}function kx(H){return c`not exists ${H}`}function dx(H,A,L){return c`${H} between ${eA(A,H)} and ${eA(L,H)}`}function qx(H,A,L){return c`${H} not between ${eA(A,H)} and ${eA(L,H)}`}function gx(H,A){return c`${H} like ${A}`}function ex(H,A){return c`${H} not like ${A}`}function H8(H,A){return c`${H} ilike ${A}`}function A8(H,A){return c`${H} not ilike ${A}`}function L8(H){return c`${H} asc`}function I8(H){return c`${H} desc`}class $8{static[n]="ConsoleLogWriter";write(H){console.log(H)}}class Gt{static[n]="DefaultLogger";writer;constructor(H){this.writer=H?.writer??new $8}logQuery(H,A){let L=A.map(($)=>{try{return JSON.stringify($)}catch{return String($)}}),I=L.length?` -- params: [${L.join(", ")}]`:"";this.writer.write(`Query: ${H}${I}`)}}class Ft{static[n]="NoopLogger";logQuery(){}}class QA{static[n]="QueryPromise";[Symbol.toStringTag]="QueryPromise";catch(H){return this.then(void 0,H)}finally(H){return this.then((A)=>{return H?.(),A},(A)=>{throw H?.(),A})}then(H,A){return this.execute().then(H,A)}}function f8(H,A,L){let I={},$=H.reduce((f,{path:E,field:D},M)=>{let o;if(_(D,aH))o=D;else if(_(D,R))o=D.decoder;else o=D.sql.decoder;let u=f;for(let[t,i]of E.entries())if(t<E.length-1){if(!(i in u))u[i]={};u=u[i]}else{let B=A[M],U=u[i]=B===null?null:o.mapFromDriverValue(B);if(L&&_(D,aH)&&E.length===2){let x=E[0];if(!(x in I))I[x]=U===null?UA(D.table):!1;else if(typeof I[x]==="string"&&I[x]!==UA(D.table))I[x]=!1}}return f},{});if(L&&Object.keys(I).length>0){for(let[f,E]of Object.entries(I))if(typeof E==="string"&&!L[E])$[f]=null}return $}function FL(H,A){return Object.entries(H).reduce((L,[I,$])=>{if(typeof I!=="string")return L;let f=A?[...A,I]:[I];if(_($,aH)||_($,R)||_($,R.Aliased))L.push({path:f,field:$});else if(_($,y))L.push(...FL($[y.Symbol.Columns],f));else L.push(...FL($,f));return L},[])}function zE(H,A){let L=Object.keys(H),I=Object.keys(A);if(L.length!==I.length)return!1;for(let[$,f]of L.entries())if(f!==I[$])return!1;return!0}function SM(H,A){let L=Object.entries(A).filter(([,I])=>I!==void 0).map(([I,$])=>{if(_($,R)||_($,aH))return[I,$];else return[I,new EL($,H[y.Symbol.Columns][I])]});if(L.length===0)throw new Error("No values to set");return Object.fromEntries(L)}function E8(H,A){for(let L of A)for(let I of Object.getOwnPropertyNames(L.prototype)){if(I==="constructor")continue;Object.defineProperty(H.prototype,I,Object.getOwnPropertyDescriptor(L.prototype,I)||Object.create(null))}}function D8(H){return H[y.Symbol.Columns]}function iI(H){return _(H,BA)?H._.alias:_(H,gA)?H[RH].name:_(H,R)?void 0:H[y.Symbol.IsAlias]?H[y.Symbol.Name]:H[y.Symbol.BaseName]}function BH(H,A){return{name:typeof H==="string"&&H.length>0?H:"",config:typeof H==="object"?H:A}}function M8(H){if(typeof H!=="object"||H===null)return!1;if(H.constructor.name!=="Object")return!1;if("logger"in H){let A=typeof H.logger;if(A!=="boolean"&&(A!=="object"||typeof H.logger.logQuery!=="function")&&A!=="undefined")return!1;return!0}if("schema"in H){let A=typeof H.schema;if(A!=="object"&&A!=="undefined")return!1;return!0}if("casing"in H){let A=typeof H.casing;if(A!=="string"&&A!=="undefined")return!1;return!0}if("mode"in H){if(H.mode!=="default"||H.mode!=="planetscale"||H.mode!==void 0)return!1;return!0}if("connection"in H){let A=typeof H.connection;if(A!=="string"&&A!=="object"&&A!=="undefined")return!1;return!0}if("client"in H){let A=typeof H.client;if(A!=="object"&&A!=="function"&&A!=="undefined")return!1;return!0}if(Object.keys(H).length===0)return!0;return!1}class yI extends z{static[n]="PgIntColumnBaseBuilder";generatedAlwaysAsIdentity(H){if(H){let{name:A,...L}=H;this.config.generatedIdentity={type:"always",sequenceName:A,sequenceOptions:L}}else this.config.generatedIdentity={type:"always"};return this.config.hasDefault=!0,this.config.notNull=!0,this}generatedByDefaultAsIdentity(H){if(H){let{name:A,...L}=H;this.config.generatedIdentity={type:"byDefault",sequenceName:A,sequenceOptions:L}}else this.config.generatedIdentity={type:"byDefault"};return this.config.hasDefault=!0,this.config.notNull=!0,this}}class o8 extends yI{static[n]="PgBigInt53Builder";constructor(H){super(H,"number","PgBigInt53")}build(H){return new u8(H,this.config)}}class u8 extends K{static[n]="PgBigInt53";getSQLType(){return"bigint"}mapFromDriverValue(H){if(typeof H==="number")return H;return Number(H)}}class t8 extends yI{static[n]="PgBigInt64Builder";constructor(H){super(H,"bigint","PgBigInt64")}build(H){return new i8(H,this.config)}}class i8 extends K{static[n]="PgBigInt64";getSQLType(){return"bigint"}mapFromDriverValue(H){return BigInt(H)}}function p8(H,A){let{name:L,config:I}=BH(H,A);if(I.mode==="number")return new o8(L);return new t8(L)}class n8 extends z{static[n]="PgBigSerial53Builder";constructor(H){super(H,"number","PgBigSerial53");this.config.hasDefault=!0,this.config.notNull=!0}build(H){return new B8(H,this.config)}}class B8 extends K{static[n]="PgBigSerial53";getSQLType(){return"bigserial"}mapFromDriverValue(H){if(typeof H==="number")return H;return Number(H)}}class c8 extends z{static[n]="PgBigSerial64Builder";constructor(H){super(H,"bigint","PgBigSerial64");this.config.hasDefault=!0}build(H){return new x8(H,this.config)}}class x8 extends K{static[n]="PgBigSerial64";getSQLType(){return"bigserial"}mapFromDriverValue(H){return BigInt(H)}}function U8(H,A){let{name:L,config:I}=BH(H,A);if(I.mode==="number")return new n8(L);return new c8(L)}class C8 extends z{static[n]="PgBooleanBuilder";constructor(H){super(H,"boolean","PgBoolean")}build(H){return new T8(H,this.config)}}class T8 extends K{static[n]="PgBoolean";getSQLType(){return"boolean"}}function bE(H){return new C8(H??"")}class G8 extends z{static[n]="PgCharBuilder";constructor(H,A){super(H,"string","PgChar");this.config.length=A.length,this.config.enumValues=A.enum}build(H){return new F8(H,this.config)}}class F8 extends K{static[n]="PgChar";length=this.config.length;enumValues=this.config.enumValues;getSQLType(){return this.length===void 0?"char":`char(${this.length})`}}function _8(H,A={}){let{name:L,config:I}=BH(H,A);return new G8(L,I)}class W8 extends z{static[n]="PgCidrBuilder";constructor(H){super(H,"string","PgCidr")}build(H){return new m8(H,this.config)}}class m8 extends K{static[n]="PgCidr";getSQLType(){return"cidr"}}function P8(H){return new W8(H??"")}class X8 extends z{static[n]="PgCustomColumnBuilder";constructor(H,A,L){super(H,"custom","PgCustomColumn");this.config.fieldConfig=A,this.config.customTypeParams=L}build(H){return new S8(H,this.config)}}class S8 extends K{static[n]="PgCustomColumn";sqlName;mapTo;mapFrom;constructor(H,A){super(H,A);this.sqlName=A.customTypeParams.dataType(A.fieldConfig),this.mapTo=A.customTypeParams.toDriver,this.mapFrom=A.customTypeParams.fromDriver}getSQLType(){return this.sqlName}mapFromDriverValue(H){return typeof this.mapFrom==="function"?this.mapFrom(H):H}mapToDriverValue(H){return typeof this.mapTo==="function"?this.mapTo(H):H}}function J8(H){return(A,L)=>{let{name:I,config:$}=BH(A,L);return new X8(I,$,H)}}class pI extends z{static[n]="PgDateColumnBaseBuilder";defaultNow(){return this.default(c`now()`)}}class V8 extends pI{static[n]="PgDateBuilder";constructor(H){super(H,"date","PgDate")}build(H){return new JM(H,this.config)}}class JM extends K{static[n]="PgDate";getSQLType(){return"date"}mapFromDriverValue(H){return new Date(H)}mapToDriverValue(H){return H.toISOString()}}class w8 extends pI{static[n]="PgDateStringBuilder";constructor(H){super(H,"string","PgDateString")}build(H){return new VM(H,this.config)}}class VM extends K{static[n]="PgDateString";getSQLType(){return"date"}}function K8(H,A){let{name:L,config:I}=BH(H,A);if(I?.mode==="date")return new V8(L);return new w8(L)}class v8 extends z{static[n]="PgDoublePrecisionBuilder";constructor(H){super(H,"number","PgDoublePrecision")}build(H){return new a8(H,this.config)}}class a8 extends K{static[n]="PgDoublePrecision";getSQLType(){return"double precision"}mapFromDriverValue(H){if(typeof H==="string")return Number.parseFloat(H);return H}}function l8(H){return new v8(H??"")}class O8 extends z{static[n]="PgInetBuilder";constructor(H){super(H,"string","PgInet")}build(H){return new s8(H,this.config)}}class s8 extends K{static[n]="PgInet";getSQLType(){return"inet"}}function N8(H){return new O8(H??"")}class y8 extends yI{static[n]="PgIntegerBuilder";constructor(H){super(H,"number","PgInteger")}build(H){return new R8(H,this.config)}}class R8 extends K{static[n]="PgInteger";getSQLType(){return"integer"}mapFromDriverValue(H){if(typeof H==="string")return Number.parseInt(H);return H}}function wM(H){return new y8(H??"")}class Y8 extends z{static[n]="PgIntervalBuilder";constructor(H,A){super(H,"string","PgInterval");this.config.intervalConfig=A}build(H){return new Q8(H,this.config)}}class Q8 extends K{static[n]="PgInterval";fields=this.config.intervalConfig.fields;precision=this.config.intervalConfig.precision;getSQLType(){let H=this.fields?` ${this.fields}`:"",A=this.precision?`(${this.precision})`:"";return`interval${H}${A}`}}function z8(H,A={}){let{name:L,config:I}=BH(H,A);return new Y8(L,I)}class b8 extends z{static[n]="PgJsonBuilder";constructor(H){super(H,"json","PgJson")}build(H){return new KM(H,this.config)}}class KM extends K{static[n]="PgJson";constructor(H,A){super(H,A)}getSQLType(){return"json"}mapToDriverValue(H){return JSON.stringify(H)}mapFromDriverValue(H){if(typeof H==="string")try{return JSON.parse(H)}catch{return H}return H}}function Z8(H){return new b8(H??"")}class h8 extends z{static[n]="PgJsonbBuilder";constructor(H){super(H,"json","PgJsonb")}build(H){return new vM(H,this.config)}}class vM extends K{static[n]="PgJsonb";constructor(H,A){super(H,A)}getSQLType(){return"jsonb"}mapToDriverValue(H){return JSON.stringify(H)}mapFromDriverValue(H){if(typeof H==="string")try{return JSON.parse(H)}catch{return H}return H}}function r8(H){return new h8(H??"")}class j8 extends z{static[n]="PgLineBuilder";constructor(H){super(H,"array","PgLine")}build(H){return new k8(H,this.config)}}class k8 extends K{static[n]="PgLine";getSQLType(){return"line"}mapFromDriverValue(H){let[A,L,I]=H.slice(1,-1).split(",");return[Number.parseFloat(A),Number.parseFloat(L),Number.parseFloat(I)]}mapToDriverValue(H){return`{${H[0]},${H[1]},${H[2]}}`}}class d8 extends z{static[n]="PgLineABCBuilder";constructor(H){super(H,"json","PgLineABC")}build(H){return new q8(H,this.config)}}class q8 extends K{static[n]="PgLineABC";getSQLType(){return"line"}mapFromDriverValue(H){let[A,L,I]=H.slice(1,-1).split(",");return{a:Number.parseFloat(A),b:Number.parseFloat(L),c:Number.parseFloat(I)}}mapToDriverValue(H){return`{${H.a},${H.b},${H.c}}`}}function g8(H,A){let{name:L,config:I}=BH(H,A);if(!I?.mode||I.mode==="tuple")return new j8(L);return new d8(L)}class e8 extends z{static[n]="PgMacaddrBuilder";constructor(H){super(H,"string","PgMacaddr")}build(H){return new HU(H,this.config)}}class HU extends K{static[n]="PgMacaddr";getSQLType(){return"macaddr"}}function AU(H){return new e8(H??"")}class LU extends z{static[n]="PgMacaddr8Builder";constructor(H){super(H,"string","PgMacaddr8")}build(H){return new IU(H,this.config)}}class IU extends K{static[n]="PgMacaddr8";getSQLType(){return"macaddr8"}}function $U(H){return new LU(H??"")}class fU extends z{static[n]="PgNumericBuilder";constructor(H,A,L){super(H,"string","PgNumeric");this.config.precision=A,this.config.scale=L}build(H){return new aM(H,this.config)}}class aM extends K{static[n]="PgNumeric";precision;scale;constructor(H,A){super(H,A);this.precision=A.precision,this.scale=A.scale}mapFromDriverValue(H){if(typeof H==="string")return H;return String(H)}getSQLType(){if(this.precision!==void 0&&this.scale!==void 0)return`numeric(${this.precision}, ${this.scale})`;else if(this.precision===void 0)return"numeric";else return`numeric(${this.precision})`}}class EU extends z{static[n]="PgNumericNumberBuilder";constructor(H,A,L){super(H,"number","PgNumericNumber");this.config.precision=A,this.config.scale=L}build(H){return new DU(H,this.config)}}class DU extends K{static[n]="PgNumericNumber";precision;scale;constructor(H,A){super(H,A);this.precision=A.precision,this.scale=A.scale}mapFromDriverValue(H){if(typeof H==="number")return H;return Number(H)}mapToDriverValue=String;getSQLType(){if(this.precision!==void 0&&this.scale!==void 0)return`numeric(${this.precision}, ${this.scale})`;else if(this.precision===void 0)return"numeric";else return`numeric(${this.precision})`}}class MU extends z{static[n]="PgNumericBigIntBuilder";constructor(H,A,L){super(H,"bigint","PgNumericBigInt");this.config.precision=A,this.config.scale=L}build(H){return new oU(H,this.config)}}class oU extends K{static[n]="PgNumericBigInt";precision;scale;constructor(H,A){super(H,A);this.precision=A.precision,this.scale=A.scale}mapFromDriverValue=BigInt;mapToDriverValue=String;getSQLType(){if(this.precision!==void 0&&this.scale!==void 0)return`numeric(${this.precision}, ${this.scale})`;else if(this.precision===void 0)return"numeric";else return`numeric(${this.precision})`}}function uU(H,A){let{name:L,config:I}=BH(H,A),$=I?.mode;return $==="number"?new EU(L,I?.precision,I?.scale):$==="bigint"?new MU(L,I?.precision,I?.scale):new fU(L,I?.precision,I?.scale)}class tU extends z{static[n]="PgPointTupleBuilder";constructor(H){super(H,"array","PgPointTuple")}build(H){return new iU(H,this.config)}}class iU extends K{static[n]="PgPointTuple";getSQLType(){return"point"}mapFromDriverValue(H){if(typeof H==="string"){let[A,L]=H.slice(1,-1).split(",");return[Number.parseFloat(A),Number.parseFloat(L)]}return[H.x,H.y]}mapToDriverValue(H){return`(${H[0]},${H[1]})`}}class pU extends z{static[n]="PgPointObjectBuilder";constructor(H){super(H,"json","PgPointObject")}build(H){return new nU(H,this.config)}}class nU extends K{static[n]="PgPointObject";getSQLType(){return"point"}mapFromDriverValue(H){if(typeof H==="string"){let[A,L]=H.slice(1,-1).split(",");return{x:Number.parseFloat(A),y:Number.parseFloat(L)}}return H}mapToDriverValue(H){return`(${H.x},${H.y})`}}function BU(H,A){let{name:L,config:I}=BH(H,A);if(!I?.mode||I.mode==="tuple")return new tU(L);return new pU(L)}function J4(H){let A=[];for(let L=0;L<H.length;L+=2)A.push(Number.parseInt(H.slice(L,L+2),16));return new Uint8Array(A)}function cU(H,A){let L=new ArrayBuffer(8),I=new DataView(L);for(let $=0;$<8;$++)I.setUint8($,H[A+$]);return I.getFloat64(0,!0)}function _t(H){let A=J4(H),L=0,I=A[L];L+=1;let $=new DataView(A.buffer),f=$.getUint32(L,I===1);L+=4;let E;if(f&536870912)E=$.getUint32(L,I===1),L+=4;if((f&65535)===1){let D=cU(A,L);L+=8;let M=cU(A,L);return L+=8,[D,M]}throw new Error("Unsupported geometry type")}class xU extends z{static[n]="PgGeometryBuilder";constructor(H){super(H,"array","PgGeometry")}build(H){return new UU(H,this.config)}}class UU extends K{static[n]="PgGeometry";getSQLType(){return"geometry(point)"}mapFromDriverValue(H){return _t(H)}mapToDriverValue(H){return`point(${H[0]} ${H[1]})`}}class CU extends z{static[n]="PgGeometryObjectBuilder";constructor(H){super(H,"json","PgGeometryObject")}build(H){return new TU(H,this.config)}}class TU extends K{static[n]="PgGeometryObject";getSQLType(){return"geometry(point)"}mapFromDriverValue(H){let A=_t(H);return{x:A[0],y:A[1]}}mapToDriverValue(H){return`point(${H.x} ${H.y})`}}function GU(H,A){let{name:L,config:I}=BH(H,A);if(!I?.mode||I.mode==="tuple")return new xU(L);return new CU(L)}class FU extends z{static[n]="PgRealBuilder";constructor(H,A){super(H,"number","PgReal");this.config.length=A}build(H){return new _U(H,this.config)}}class _U extends K{static[n]="PgReal";constructor(H,A){super(H,A)}getSQLType(){return"real"}mapFromDriverValue=(H)=>{if(typeof H==="string")return Number.parseFloat(H);return H}}function WU(H){return new FU(H??"")}class mU extends z{static[n]="PgSerialBuilder";constructor(H){super(H,"number","PgSerial");this.config.hasDefault=!0,this.config.notNull=!0}build(H){return new PU(H,this.config)}}class PU extends K{static[n]="PgSerial";getSQLType(){return"serial"}}function XU(H){return new mU(H??"")}class SU extends yI{static[n]="PgSmallIntBuilder";constructor(H){super(H,"number","PgSmallInt")}build(H){return new JU(H,this.config)}}class JU extends K{static[n]="PgSmallInt";getSQLType(){return"smallint"}mapFromDriverValue=(H)=>{if(typeof H==="string")return Number(H);return H}}function VU(H){return new SU(H??"")}class wU extends z{static[n]="PgSmallSerialBuilder";constructor(H){super(H,"number","PgSmallSerial");this.config.hasDefault=!0,this.config.notNull=!0}build(H){return new KU(H,this.config)}}class KU extends K{static[n]="PgSmallSerial";getSQLType(){return"smallserial"}}function vU(H){return new wU(H??"")}class aU extends z{static[n]="PgTextBuilder";constructor(H,A){super(H,"string","PgText");this.config.enumValues=A.enum}build(H){return new lU(H,this.config)}}class lU extends K{static[n]="PgText";enumValues=this.config.enumValues;getSQLType(){return"text"}}function OU(H,A={}){let{name:L,config:I}=BH(H,A);return new aU(L,I)}class sU extends pI{constructor(H,A,L){super(H,"string","PgTime");this.withTimezone=A,this.precision=L,this.config.withTimezone=A,this.config.precision=L}static[n]="PgTimeBuilder";build(H){return new lM(H,this.config)}}class lM extends K{static[n]="PgTime";withTimezone;precision;constructor(H,A){super(H,A);this.withTimezone=A.withTimezone,this.precision=A.precision}getSQLType(){return`time${this.precision===void 0?"":`(${this.precision})`}${this.withTimezone?" with time zone":""}`}}function NU(H,A={}){let{name:L,config:I}=BH(H,A);return new sU(L,I.withTimezone??!1,I.precision)}class yU extends pI{static[n]="PgTimestampBuilder";constructor(H,A,L){super(H,"date","PgTimestamp");this.config.withTimezone=A,this.config.precision=L}build(H){return new OM(H,this.config)}}class OM extends K{static[n]="PgTimestamp";withTimezone;precision;constructor(H,A){super(H,A);this.withTimezone=A.withTimezone,this.precision=A.precision}getSQLType(){return`timestamp${this.precision===void 0?"":` (${this.precision})`}${this.withTimezone?" with time zone":""}`}mapFromDriverValue=(H)=>{return new Date(this.withTimezone?H:H+"+0000")};mapToDriverValue=(H)=>{return H.toISOString()}}class RU extends pI{static[n]="PgTimestampStringBuilder";constructor(H,A,L){super(H,"string","PgTimestampString");this.config.withTimezone=A,this.config.precision=L}build(H){return new sM(H,this.config)}}class sM extends K{static[n]="PgTimestampString";withTimezone;precision;constructor(H,A){super(H,A);this.withTimezone=A.withTimezone,this.precision=A.precision}getSQLType(){return`timestamp${this.precision===void 0?"":`(${this.precision})`}${this.withTimezone?" with time zone":""}`}}function sL(H,A={}){let{name:L,config:I}=BH(H,A);if(I?.mode==="string")return new RU(L,I.withTimezone??!1,I.precision);return new yU(L,I?.withTimezone??!1,I?.precision)}class YU extends z{static[n]="PgUUIDBuilder";constructor(H){super(H,"string","PgUUID")}defaultRandom(){return this.default(c`gen_random_uuid()`)}build(H){return new NM(H,this.config)}}class NM extends K{static[n]="PgUUID";getSQLType(){return"uuid"}}function DL(H){return new YU(H??"")}class QU extends z{static[n]="PgVarcharBuilder";constructor(H,A){super(H,"string","PgVarchar");this.config.length=A.length,this.config.enumValues=A.enum}build(H){return new zU(H,this.config)}}class zU extends K{static[n]="PgVarchar";length=this.config.length;enumValues=this.config.enumValues;getSQLType(){return this.length===void 0?"varchar":`varchar(${this.length})`}}function lA(H,A={}){let{name:L,config:I}=BH(H,A);return new QU(L,I)}class bU extends z{static[n]="PgBinaryVectorBuilder";constructor(H,A){super(H,"string","PgBinaryVector");this.config.dimensions=A.dimensions}build(H){return new ZU(H,this.config)}}class ZU extends K{static[n]="PgBinaryVector";dimensions=this.config.dimensions;getSQLType(){return`bit(${this.dimensions})`}}function hU(H,A){let{name:L,config:I}=BH(H,A);return new bU(L,I)}class rU extends z{static[n]="PgHalfVectorBuilder";constructor(H,A){super(H,"array","PgHalfVector");this.config.dimensions=A.dimensions}build(H){return new jU(H,this.config)}}class jU extends K{static[n]="PgHalfVector";dimensions=this.config.dimensions;getSQLType(){return`halfvec(${this.dimensions})`}mapToDriverValue(H){return JSON.stringify(H)}mapFromDriverValue(H){return H.slice(1,-1).split(",").map((A)=>Number.parseFloat(A))}}function kU(H,A){let{name:L,config:I}=BH(H,A);return new rU(L,I)}class dU extends z{static[n]="PgSparseVectorBuilder";constructor(H,A){super(H,"string","PgSparseVector");this.config.dimensions=A.dimensions}build(H){return new qU(H,this.config)}}class qU extends K{static[n]="PgSparseVector";dimensions=this.config.dimensions;getSQLType(){return`sparsevec(${this.dimensions})`}}function gU(H,A){let{name:L,config:I}=BH(H,A);return new dU(L,I)}class eU extends z{static[n]="PgVectorBuilder";constructor(H,A){super(H,"array","PgVector");this.config.dimensions=A.dimensions}build(H){return new HC(H,this.config)}}class HC extends K{static[n]="PgVector";dimensions=this.config.dimensions;getSQLType(){return`vector(${this.dimensions})`}mapToDriverValue(H){return JSON.stringify(H)}mapFromDriverValue(H){return H.slice(1,-1).split(",").map((A)=>Number.parseFloat(A))}}function AC(H,A){let{name:L,config:I}=BH(H,A);return new eU(L,I)}function LC(){return{bigint:p8,bigserial:U8,boolean:bE,char:_8,cidr:P8,customType:J8,date:K8,doublePrecision:l8,inet:N8,integer:wM,interval:z8,json:Z8,jsonb:r8,line:g8,macaddr:AU,macaddr8:$U,numeric:uU,point:BU,geometry:GU,real:WU,serial:XU,smallint:VU,smallserial:vU,text:OU,time:NU,timestamp:sL,uuid:DL,varchar:lA,bit:hU,halfvec:kU,sparsevec:gU,vector:AC}}var Wt=Symbol.for("drizzle:PgInlineForeignKeys"),IC=Symbol.for("drizzle:EnableRLS");class WA extends y{static[n]="PgTable";static Symbol=Object.assign({},y.Symbol,{InlineForeignKeys:Wt,EnableRLS:IC});[Wt]=[];[IC]=!1;[y.Symbol.ExtraConfigBuilder]=void 0;[y.Symbol.ExtraConfigColumns]={}}function V4(H,A,L,I,$=H){let f=new WA(H,I,$),E=typeof A==="function"?A(LC()):A,D=Object.fromEntries(Object.entries(E).map(([u,t])=>{let i=t;i.setName(u);let B=i.build(f);return f[Wt].push(...i.buildForeignKeys(B,f)),[u,B]})),M=Object.fromEntries(Object.entries(E).map(([u,t])=>{let i=t;i.setName(u);let B=i.buildExtraConfigColumn(f);return[u,B]})),o=Object.assign(f,D);if(o[y.Symbol.Columns]=D,o[y.Symbol.ExtraConfigColumns]=M,L)o[WA.Symbol.ExtraConfigBuilder]=L;return Object.assign(o,{enableRLS:()=>{return o[WA.Symbol.EnableRLS]=!0,o}})}var RI=(H,A,L)=>{return V4(H,A,L,void 0)};function $C(...H){if(H[0].columns)return new ZE(H[0].columns,H[0].name);return new ZE(H)}class ZE{static[n]="PgPrimaryKeyBuilder";columns;name;constructor(H,A){this.columns=H,this.name=A}build(H){return new fC(H,this.columns,this.name)}}class fC{constructor(H,A,L){this.table=H,this.columns=A,this.name=L}static[n]="PgPrimaryKey";columns;name;getName(){return this.name??`${this.table[WA.Symbol.Name]}_${this.columns.map((H)=>H.name).join("_")}_pk`}}class mt{constructor(H,A,L){this.sourceTable=H,this.referencedTable=A,this.relationName=L,this.referencedTableName=A[y.Symbol.Name]}static[n]="Relation";referencedTableName;fieldName}class EC{constructor(H,A){this.table=H,this.config=A}static[n]="Relations"}class YI extends mt{constructor(H,A,L,I){super(H,A,L?.relationName);this.config=L,this.isNullable=I}static[n]="One";withFieldName(H){let A=new YI(this.sourceTable,this.referencedTable,this.config,this.isNullable);return A.fieldName=H,A}}class hE extends mt{constructor(H,A,L){super(H,A,L?.relationName);this.config=L}static[n]="Many";withFieldName(H){let A=new hE(this.sourceTable,this.referencedTable,this.config);return A.fieldName=H,A}}function DC(){return{and:B$,between:dx,eq:qL,exists:jx,gt:XM,gte:Yx,ilike:H8,inArray:bx,isNull:hx,isNotNull:rx,like:gx,lt:Qx,lte:zx,ne:Nx,not:Rx,notBetween:qx,notExists:kx,notLike:ex,notIlike:A8,notInArray:Zx,or:yx,sql:c}}function MC(){return{sql:c,asc:L8,desc:I8}}function oC(H,A){if(Object.keys(H).length===1&&"default"in H&&!_(H.default,y))H=H.default;let L={},I={},$={};for(let[f,E]of Object.entries(H))if(_(E,y)){let D=n$(E),M=I[D];L[D]=f,$[f]={tsName:f,dbName:E[y.Symbol.Name],schema:E[y.Symbol.Schema],columns:E[y.Symbol.Columns],relations:M?.relations??{},primaryKey:M?.primaryKey??[]};for(let u of Object.values(E[y.Symbol.Columns]))if(u.primary)$[f].primaryKey.push(u);let o=E[y.Symbol.ExtraConfigBuilder]?.(E[y.Symbol.ExtraConfigColumns]);if(o){for(let u of Object.values(o))if(_(u,ZE))$[f].primaryKey.push(...u.columns)}}else if(_(E,EC)){let D=n$(E.table),M=L[D],o=E.config(A(E.table)),u;for(let[t,i]of Object.entries(o))if(M){let B=$[M];if(B.relations[t]=i,u)B.primaryKey.push(...u)}else{if(!(D in I))I[D]={relations:{},primaryKey:u};I[D].relations[t]=i}}return{tables:$,tableNamesMap:L}}function w4(H){return function A(L,I){return new YI(H,L,I,I?.fields.reduce(($,f)=>$&&f.notNull,!0)??!1)}}function K4(H){return function A(L,I){return new hE(H,L,I)}}function uC(H,A,L){if(_(L,YI)&&L.config)return{fields:L.config.fields,references:L.config.references};let I=A[n$(L.referencedTable)];if(!I)throw new Error(`Table "${L.referencedTable[y.Symbol.Name]}" not found in schema`);let $=H[I];if(!$)throw new Error(`Table "${I}" not found in schema`);let f=L.sourceTable,E=A[n$(f)];if(!E)throw new Error(`Table "${f[y.Symbol.Name]}" not found in schema`);let D=[];for(let M of Object.values($.relations))if(L.relationName&&L!==M&&M.relationName===L.relationName||!L.relationName&&M.referencedTable===L.sourceTable)D.push(M);if(D.length>1)throw L.relationName?new Error(`There are multiple relations with name "${L.relationName}" in table "${I}"`):new Error(`There are multiple relations between "${I}" and "${L.sourceTable[y.Symbol.Name]}". Please specify relation name`);if(D[0]&&_(D[0],YI)&&D[0].config)return{fields:D[0].config.references,references:D[0].config.fields};throw new Error(`There is not enough information to infer relation "${E}.${L.fieldName}"`)}function tC(H){return{one:w4(H),many:K4(H)}}function yM(H,A,L,I,$=(f)=>f){let f={};for(let[E,D]of I.entries())if(D.isJson){let M=A.relations[D.tsKey],o=L[E],u=typeof o==="string"?JSON.parse(o):o;f[D.tsKey]=_(M,YI)?u&&yM(H,H[D.relationTableTsKey],u,D.selection,$):u.map((t)=>yM(H,H[D.relationTableTsKey],t,D.selection,$))}else{let M=$(L[E]),o=D.field,u;if(_(o,aH))u=o;else if(_(o,R))u=o.decoder;else u=o.sql.decoder;f[D.tsKey]=M===null?null:u.mapFromDriverValue(M)}return f}var eF=s1(gF(),1),{Server:H_,Namespace:m$H,Socket:P$H}=eF.default;import{readFileSync as I_}from"fs";import{resolve as Ti}from"path";function Sa(H,A){let L={},I=[];for(let $ in H){let f=H[$],E=A[$],D=f["~standard"].validate(E);if(D instanceof Promise)throw new Error(`Validation must be synchronous, but ${$} returned a Promise.`);if(D.issues){I.push(...D.issues.map((M)=>({...M,path:[$,...M.path??[]]})));continue}L[$]=D.value}if(I.length)return{issues:I};return{value:L}}function A_(H){let A=H.runtimeEnvStrict??H.runtimeEnv??process.env;if(H.emptyStringAsUndefined??!1){for(let[m,Y]of Object.entries(A))if(Y==="")delete A[m]}if(!!H.skipValidation)return A;let $=typeof H.client==="object"?H.client:{},f=typeof H.server==="object"?H.server:{},E=typeof H.shared==="object"?H.shared:{},D=H.isServer??(typeof window==="undefined"||("Deno"in window)),M=D?{...f,...E,...$}:{...$,...E},o=Sa(M,A),u=H.onValidationError??((m)=>{throw console.error("\u274C Invalid environment variables:",m),new Error("Invalid environment variables")}),t=H.onInvalidAccess??(()=>{throw new Error("\u274C Attempted to access a server-side environment variable on the client")});if(o.issues)return u(o.issues);let i=(m)=>{if(!H.clientPrefix)return!0;return!m.startsWith(H.clientPrefix)&&!(m in E)},B=(m)=>{return D||!i(m)},U=(m)=>{return m==="__esModule"||m==="$$typeof"},x=(H.extends??[]).reduce((m,Y)=>{return Object.assign(m,Y)},{}),T=Object.assign(o.value,x);return new Proxy(T,{get(m,Y){if(typeof Y!=="string")return;if(U(Y))return;if(!B(Y))return t(Y);return Reflect.get(m,Y)}})}var Ja="__vite_start_time"in globalThis,Va=typeof window!=="undefined",w$H="vitest"in globalThis,xI=eH("string"),L_=eH('"true" | "false" | undefined'),LA=A_({isServer:!Ja&&!Va,server:{CI:eH("string | undefined").pipe(Boolean),POSTGRES_USER:xI,POSTGRES_PASSWORD:xI,POSTGRES_DATABASE:xI,POSTGRES_HOST:xI,POSTGRES_PORT:xI.pipe((H)=>Number.parseInt(H,10)),BACKEND_PORT:xI.pipe((H)=>Number.parseInt(H,10)),RUN_WORKERS_FROM_SOURCE:L_.pipe((H)=>H==="true"),FRONTEND_PORT:xI.pipe((H)=>Number.parseInt(H,10)),FRONTEND_ORIGINS:xI.pipe.try((H)=>JSON.parse(H),eH("string[]")),OPENAI_API_KEY:eH("string | undefined")},clientPrefix:"VITE_",client:{VITE_BACKEND_ORIGIN:xI,VITE_USE_SELF_SIGNED_CERTIFICATE:L_.pipe((H)=>H==="true")},runtimeEnv:import.meta.env,emptyStringAsUndefined:!0});var $_=Ti(import.meta.dirname,"../dev"),Gi=LA.VITE_USE_SELF_SIGNED_CERTIFICATE?{cert:I_(Ti($_,"./cert.pem"),"utf-8"),key:I_(Ti($_,"./key.pem"),"utf-8")}:void 0;var hI=new Tu,DH=LA.VITE_USE_SELF_SIGNED_CERTIFICATE?console:hI.logger;e.STORE.loggers[0]=new $$("warn",void 0,DH);if(DH!==console)Object.assign(console,DH,{log:DH.info});import{spawn as wa}from"child_process";import{resolve as Ka}from"path";function Fi(H,A,L=H.logger){let I=LA.RUN_WORKERS_FROM_SOURCE?"ts":"js",$=A.endsWith(".bun")?"bun":"node",E=[Ka(import.meta.dir,`${A}.${I}`)];if($==="node"&&I==="ts")E.push("--experimental-strip-types");let D=wa($,E);return new PE(D,A,L)}var f_=s1(Dt(),1);var va=604800000,i1=(()=>{let{__userSessionMap:H}=globalThis;if(!H){H=globalThis.__userSessionMap=new Map;let A=new f_.CronJob("00 00 03 * * *",()=>{for(let[L,I]of H.entries()){let $=Date.now();for(let[f,E]of I.entries())if($-E>va)I.delete(f);if(I.size===0)H.delete(L)}});A.start(),process.on("exit",async()=>{await A.stop(),DH.info("\uD83D\uDEEC autoExpiry stopped")})}return H})();import ml from"path";import Il from"os";import $l from"fs";var p1=new Map,_i=new Map,Wi=Symbol("OriginError"),Kf={};class PL extends Promise{constructor(H,A,L,I,$={}){let f,E;super((D,M)=>{f=D,E=M});this.tagged=Array.isArray(H.raw),this.strings=H,this.args=A,this.handler=L,this.canceller=I,this.options=$,this.state=null,this.statement=null,this.resolve=(D)=>(this.active=!1,f(D)),this.reject=(D)=>(this.active=!1,E(D)),this.active=!1,this.cancelled=null,this.executed=!1,this.signature="",this[Wi]=this.handler.debug?new Error:this.tagged&&aa(this.strings)}get origin(){return(this.handler.debug?this[Wi].stack:this.tagged&&_i.has(this.strings)?_i.get(this.strings):_i.set(this.strings,this[Wi].stack).get(this.strings))||""}static get[Symbol.species](){return Promise}cancel(){return this.canceller&&(this.canceller(this),this.canceller=null)}simple(){return this.options.simple=!0,this.options.prepare=!1,this}async readable(){return this.simple(),this.streaming=!0,this}async writable(){return this.simple(),this.streaming=!0,this}cursor(H=1,A){if(this.options.simple=!1,typeof H==="function")A=H,H=1;if(this.cursorRows=H,typeof A==="function")return this.cursorFn=A,this;let L;return{[Symbol.asyncIterator]:()=>({next:()=>{if(this.executed&&!this.active)return{done:!0};L&&L();let I=new Promise(($,f)=>{this.cursorFn=(E)=>{return $({value:E,done:!1}),new Promise((D)=>L=D)},this.resolve=()=>(this.active=!1,$({done:!0})),this.reject=(E)=>(this.active=!1,f(E))});return this.execute(),I},return(){return L&&L(Kf),{done:!0}}})}}describe(){return this.options.simple=!1,this.onlyDescribe=this.options.prepare=!0,this}stream(){throw new Error(".stream has been renamed to .forEach")}forEach(H){return this.forEachFn=H,this.handle(),this}raw(){return this.isRaw=!0,this}values(){return this.isRaw="values",this}async handle(){!this.executed&&(this.executed=!0)&&await 1&&this.handler(this)}execute(){return this.handle(),this}then(){return this.handle(),super.then.apply(this,arguments)}catch(){return this.handle(),super.catch.apply(this,arguments)}finally(){return this.handle(),super.finally.apply(this,arguments)}}function aa(H){if(p1.has(H))return p1.get(H);let A=Error.stackTraceLimit;return Error.stackTraceLimit=4,p1.set(H,new Error),Error.stackTraceLimit=A,p1.get(H)}class vf extends Error{constructor(H){super(H.message);this.name=this.constructor.name,Object.assign(this,H)}}var EA={connection:E_,postgres:D_,generic:M_,notSupported:o_};function E_(H,A,L){let{host:I,port:$}=L||A,f=Object.assign(new Error("write "+H+" "+(A.path||I+":"+$)),{code:H,errno:H,address:A.path||I},A.path?{}:{port:$});return Error.captureStackTrace(f,E_),f}function D_(H){let A=new vf(H);return Error.captureStackTrace(A,D_),A}function M_(H,A){let L=Object.assign(new Error(H+": "+A),{code:H});return Error.captureStackTrace(L,M_),L}function o_(H){let A=Object.assign(new Error(H+" (B) is not supported"),{code:"MESSAGE_NOT_SUPPORTED",name:H});return Error.captureStackTrace(A,o_),A}var la={string:{to:25,from:null,serialize:(H)=>""+H},number:{to:0,from:[21,23,26,700,701],serialize:(H)=>""+H,parse:(H)=>+H},json:{to:114,from:[114,3802],serialize:(H)=>JSON.stringify(H),parse:(H)=>JSON.parse(H)},boolean:{to:16,from:16,serialize:(H)=>H===!0?"t":"f",parse:(H)=>H==="t"},date:{to:1184,from:[1082,1114,1184],serialize:(H)=>(H instanceof Date?H:new Date(H)).toISOString(),parse:(H)=>new Date(H)},bytea:{to:17,from:17,serialize:(H)=>"\\x"+Buffer.from(H).toString("hex"),parse:(H)=>Buffer.from(H.slice(2),"hex")}};class c1{then(){mi()}catch(){mi()}finally(){mi()}}class ID extends c1{constructor(H){super();this.value=C1(H)}}class eL extends c1{constructor(H,A,L){super();this.value=H,this.type=A,this.array=L}}class x1 extends c1{constructor(H,A){super();this.first=H,this.rest=A}build(H,A,L,I){let $=Oa.map(([f,E])=>({fn:E,i:H.search(f)})).sort((f,E)=>f.i-E.i).pop();return $.i===-1?Vi(this.first,I):$.fn(this.first,this.rest,A,L,I)}}function U1(H,A,L,I){let $=H instanceof eL?H.value:H;if($===void 0){if(H instanceof eL?H.value=I.transform.undefined:$=H=I.transform.undefined,$===void 0)throw EA.generic("UNDEFINED_VALUE","Undefined values are not allowed")}return"$"+L.push(H instanceof eL?(A.push(H.value),H.array?H.array[H.type||B1(H.value)]||H.type||p_(H.value):H.type):(A.push(H),B1(H)))}var t_=B_(la);function Si(H,A,L,I,$,f){for(let E=1;E<H.strings.length;E++)A+=Ji(A,L,I,$,f)+H.strings[E],L=H.args[E];return A}function Ji(H,A,L,I,$){return A instanceof x1?A.build(H,L,I,$):A instanceof PL?Xi(A,L,I,$):A instanceof ID?A.value:A&&A[0]instanceof PL?A.reduce((f,E)=>f+" "+Xi(E,L,I,$),""):U1(A,L,I,$)}function Xi(H,A,L,I){return H.fragment=!0,Si(H,H.strings[0],H.args[0],A,L,I)}function i_(H,A,L,I,$){return H.map((f)=>"("+I.map((E)=>Ji("values",f[E],A,L,$)).join(",")+")").join(",")}function u_(H,A,L,I,$){let f=Array.isArray(H[0]),E=A.length?A.flat():Object.keys(f?H[0]:H);return i_(f?H:[H],L,I,E,$)}function n1(H,A,L,I,$){if(typeof H==="string"&&(H=[H].concat(A)),Array.isArray(H))return Vi(H,$);let f;return(A.length?A.flat():Object.keys(H)).map((D)=>{return f=H[D],(f instanceof PL?Xi(f,L,I,$):f instanceof ID?f.value:U1(f,L,I,$))+" as "+C1($.transform.column.to?$.transform.column.to(D):D)}).join(",")}var Oa=Object.entries({values:u_,in:(...H)=>{let A=u_(...H);return A==="()"?"(null)":A},select:n1,as:n1,returning:n1,"\\(":n1,update(H,A,L,I,$){return(A.length?A.flat():Object.keys(H)).map((f)=>C1($.transform.column.to?$.transform.column.to(f):f)+"="+Ji("values",H[f],L,I,$))},insert(H,A,L,I,$){let f=A.length?A.flat():Object.keys(Array.isArray(H)?H[0]:H);return"("+Vi(f,$)+")values"+i_(Array.isArray(H)?H:[H],L,I,f,$)}}).map(([H,A])=>[new RegExp("((?:^|[\\s(])"+H+"(?:$|[\\s(]))(?![\\s\\S]*\\1)","i"),A]);function mi(){throw EA.generic("NOT_TAGGED_CALL","Query not called as a tagged template literal")}var{serializers:sa,parsers:Na}=t_;function p_(H){if(Array.isArray(H))return p_(H[0]);return typeof H==="string"?1009:0}var n_=function(H){let A=B_(H||{});return{serializers:Object.assign({},sa,A.serializers),parsers:Object.assign({},Na,A.parsers)}};function B_(H){return Object.keys(H).reduce((A,L)=>{if(H[L].from&&[].concat(H[L].from).forEach((I)=>A.parsers[I]=H[L].parse),H[L].serialize)A.serializers[H[L].to]=H[L].serialize,H[L].from&&[].concat(H[L].from).forEach((I)=>A.serializers[I]=H[L].serialize);return A},{parsers:{},serializers:{}})}function Vi(H,{transform:{column:A}}){return H.map((L)=>C1(A.to?A.to(L):L)).join(",")}var C1=function H(A){return'"'+A.replace(/"/g,'""').replace(/\./g,'"."')+'"'},B1=function H(A){return A instanceof eL?A.type:A instanceof Date?1184:A instanceof Uint8Array?17:A===!0||A===!1?16:typeof A==="bigint"?20:Array.isArray(A)?H(A[0]):0},ya=/\\/g,Ra=/"/g;function Ya(H){return H.replace(ya,"\\\\").replace(Ra,"\\\"")}var c_=function H(A,L,I,$){if(Array.isArray(A)===!1)return A;if(!A.length)return"{}";let f=A[0],E=$===1020?";":",";if(Array.isArray(f)&&!f.type)return"{"+A.map((D)=>H(D,L,I,$)).join(E)+"}";return"{"+A.map((D)=>{if(D===void 0){if(D=I.transform.undefined,D===void 0)throw EA.generic("UNDEFINED_VALUE","Undefined values are not allowed")}return D===null?"null":'"'+Ya(L?L(D.type?D.value:D):""+D)+'"'}).join(E)+"}"},Pi={i:0,char:null,str:"",quoted:!1,last:0},x_=function H(A,L,I){return Pi.i=Pi.last=0,U_(Pi,A,L,I)};function U_(H,A,L,I){let $=[],f=I===1020?";":",";for(;H.i<A.length;H.i++){if(H.char=A[H.i],H.quoted)if(H.char==="\\")H.str+=A[++H.i];else if(H.char==='"')$.push(L?L(H.str):H.str),H.str="",H.quoted=A[H.i+1]==='"',H.last=H.i+2;else H.str+=H.char;else if(H.char==='"')H.quoted=!0;else if(H.char==="{")H.last=++H.i,$.push(U_(H,A,L,I));else if(H.char==="}"){H.quoted=!1,H.last<H.i&&$.push(L?L(A.slice(H.last,H.i)):A.slice(H.last,H.i)),H.last=H.i+1;break}else if(H.char===f&&H.p!=="}"&&H.p!=='"')$.push(L?L(A.slice(H.last,H.i)):A.slice(H.last,H.i)),H.last=H.i+1;H.p=H.char}return H.last<H.i&&$.push(L?L(A.slice(H.last,H.i+1)):A.slice(H.last,H.i+1)),$}var W$=(H)=>{let A=H[0];for(let L=1;L<H.length;L++)A+=H[L]==="_"?H[++L].toUpperCase():H[L];return A},m$=(H)=>{let A=H[0].toUpperCase();for(let L=1;L<H.length;L++)A+=H[L]==="_"?H[++L].toUpperCase():H[L];return A},P$=(H)=>H.replace(/_/g,"-"),HD=(H)=>H.replace(/([A-Z])/g,"_$1").toLowerCase(),AD=(H)=>(H.slice(0,1)+H.slice(1).replace(/([A-Z])/g,"_$1")).toLowerCase(),LD=(H)=>H.replace(/-/g,"_");function wi(H){return function A(L,I){return typeof L==="object"&&L!==null&&(I.type===114||I.type===3802)?Array.isArray(L)?L.map(($)=>A($,I)):Object.entries(L).reduce(($,[f,E])=>Object.assign($,{[H(f)]:A(E,I)}),{}):L}}W$.column={from:W$};W$.value={from:wi(W$)};HD.column={to:HD};var Ki={...W$};Ki.column.to=HD;m$.column={from:m$};m$.value={from:wi(m$)};AD.column={to:AD};var vi={...m$};vi.column.to=AD;P$.column={from:P$};P$.value={from:wi(P$)};LD.column={to:LD};var ai={...P$};ai.column.to=LD;import C_ from"net";import Za from"tls";import $D from"crypto";import li from"stream";import{performance as T_}from"perf_hooks";class X$ extends Array{constructor(){super();Object.defineProperties(this,{count:{value:null,writable:!0},state:{value:null,writable:!0},command:{value:null,writable:!0},columns:{value:null,writable:!0},statement:{value:null,writable:!0}})}static get[Symbol.species](){return Array}}var tL=Qa;function Qa(H=[]){let A=H.slice(),L=0;return{get length(){return A.length-L},remove:(I)=>{let $=A.indexOf(I);return $===-1?null:(A.splice($,1),I)},push:(I)=>(A.push(I),I),shift:()=>{let I=A[L++];if(L===A.length)L=0,A=[];else A[L-1]=void 0;return I}}}var NA=Buffer.allocUnsafe(256),za="BCcDdEFfHPpQSX".split("").reduce((H,A)=>{let L=A.charCodeAt(0);return H[A]=()=>{return NA[0]=L,VH.i=5,VH},H},{}),VH=Object.assign(ba,za,{N:String.fromCharCode(0),i:0,inc(H){return VH.i+=H,VH},str(H){let A=Buffer.byteLength(H);return T1(A),VH.i+=NA.write(H,VH.i,A,"utf8"),VH},i16(H){return T1(2),NA.writeUInt16BE(H,VH.i),VH.i+=2,VH},i32(H,A){if(A||A===0)return NA.writeUInt32BE(H,A),VH;return T1(4),NA.writeUInt32BE(H,VH.i),VH.i+=4,VH},z(H){return T1(H),NA.fill(0,VH.i,VH.i+H),VH.i+=H,VH},raw(H){return NA=Buffer.concat([NA.subarray(0,VH.i),H]),VH.i=NA.length,VH},end(H=1){NA.writeUInt32BE(VH.i-H,H);let A=NA.subarray(0,VH.i);return VH.i=0,NA=Buffer.allocUnsafe(256),A}}),k=VH;function T1(H){if(NA.length-VH.i<H){let A=NA,L=A.length;NA=Buffer.allocUnsafe(L+(L>>1)+H),A.copy(NA)}}function ba(){return VH.i=0,VH}var Ni=__,ha=1,rI=k().S().end(),G_=k().H().end(),ra=k().i32(8).i32(80877103).end(8),ja=Buffer.concat([k().E().str(k.N).i32(0).end(),rI]),ka=k().D().str("S").str(k.N).end(),af=()=>{},da=new Set(["FetchPreparedStatement","RevalidateCachedQuery","transformAssignedExpr"]),qa={83:"severity_local",86:"severity",67:"code",77:"message",68:"detail",72:"hint",80:"position",112:"internal_position",113:"internal_query",87:"where",115:"schema_name",116:"table_name",99:"column_name",100:"data type_name",110:"constraint_name",70:"file",76:"line",82:"routine"};function __(H,A={},{onopen:L=af,onend:I=af,onclose:$=af}={}){let{ssl:f,max:E,user:D,host:M,port:o,database:u,parsers:t,transform:i,onnotice:B,onnotify:U,onparameter:x,max_pipeline:T,keep_alive:F,backoff:m,target_session_attrs:Y}=H,W=tL(),P=ha++,V={pid:null,secret:null},J=si(a1,H.idle_timeout),a=si(a1,H.max_lifetime),h=si(e_,H.connect_timeout),X=null,MH,Z=new X$,oH=Buffer.alloc(0),wH=H.fetch_types,DA={},ZA={},HI=Math.random().toString(36).slice(2),w=1,r=0,TH=0,bH=0,MA=0,tH=0,OH=0,IA=0,hH=null,YH=null,mA=!1,sH=null,XL=null,PA=null,UI=null,oA=null,QH=null,SL=null,QL=null,l=null,yf=null,XA={queue:A.closed,idleTimer:J,connect(p){PA=p||!0,up()},terminate:Yf,execute:Rf,cancel:k_,end:a1,count:0,id:P};return A.closed&&A.closed.push(XA),XA;async function j_(){let p;try{p=H.socket?await Promise.resolve(H.socket(H)):new C_.Socket}catch(C){w$(C);return}return p.on("error",w$),p.on("close",tp),p.on("drain",Mp),p}async function k_({pid:p,secret:C},d,GH){try{MH=k().i32(16).i32(80877102).i32(p).i32(C).end(16),await op(),X.once("error",GH),X.once("close",d)}catch(kH){GH(kH)}}function Rf(p){if(mA)return tD(p,EA.connection("CONNECTION_DESTROYED",H));if(p.cancelled)return;try{return p.state=V,l?W.push(p):(l=p,l.active=!0),g_(p),GA(d_(p))&&!p.describeFirst&&!p.cursorFn&&W.length<T&&(!p.options.onexecute||p.options.onexecute(XA))}catch(C){return W.length===0&&GA(rI),zL(C),!0}}function d_(p){if(p.parameters.length>=65534)throw EA.generic("MAX_PARAMETERS_EXCEEDED","Max number of parameters (65534) exceeded");return p.options.simple?k().Q().str(p.statement.string+k.N).end():p.describeFirst?Buffer.concat([fp(p),G_]):p.prepare?p.prepared?uD(p):Buffer.concat([fp(p),uD(p)]):q_(p)}function fp(p){return Buffer.concat([pp(p.statement.string,p.parameters,p.statement.types,p.statement.name),sW("S",p.statement.name)])}function uD(p){return Buffer.concat([OW(p.parameters,p.statement.types,p.statement.name,p.cursorName),p.cursorFn?np("",p.cursorRows):ja])}function q_(p){return Buffer.concat([pp(p.statement.string,p.parameters,p.statement.types),ka,uD(p)])}function g_(p){let C=[],d=[],GH=Si(p,p.strings[0],p.args[0],C,d,H);!p.tagged&&p.args.forEach((kH)=>U1(kH,C,d,H)),p.prepare=H.prepare&&("prepare"in p.options?p.options.prepare:!0),p.string=GH,p.signature=p.prepare&&d+GH,p.onlyDescribe&&delete ZA[p.signature],p.parameters=p.parameters||C,p.prepared=p.prepare&&p.signature in ZA,p.describeFirst=p.onlyDescribe||C.length&&!p.prepared,p.statement=p.prepared?ZA[p.signature]:{string:GH,types:d,name:p.prepare?HI+w++:""},typeof H.debug==="function"&&H.debug(P,GH,C,d)}function GA(p,C){if(QH=QH?Buffer.concat([QH,p]):Buffer.from(p),C||QH.length>=1024)return Ep(C);return YH===null&&(YH=setImmediate(Ep)),!0}function Ep(p){let C=X.write(QH,p);return YH!==null&&clearImmediate(YH),QH=YH=null,C}function e_(){zL(EA.connection("CONNECT_TIMEOUT",H,X)),X.destroy()}async function Dp(){if(GA(ra),!await new Promise((C)=>X.once("data",(d)=>C(d[0]===83)))&&f==="prefer")return V$();X.removeAllListeners(),X=Za.connect({socket:X,servername:C_.isIP(X.host)?void 0:X.host,...f==="require"||f==="allow"||f==="prefer"?{rejectUnauthorized:!1}:f==="verify-full"?{}:typeof f==="object"?f:{}}),X.on("secureConnect",V$),X.on("error",w$),X.on("close",tp),X.on("drain",Mp)}function Mp(){!l&&L(XA)}function v1(p){if(sH){if(sH.push(p),TH-=p.length,TH>=0)return}oH=sH?Buffer.concat(sH,tH-TH):oH.length===0?p:Buffer.concat([oH,p],oH.length+p.length);while(oH.length>4){if(tH=oH.readUInt32BE(1),tH>=oH.length){TH=tH-oH.length,sH=[oH];break}try{HW(oH.subarray(0,tH+1))}catch(C){l&&(l.cursorFn||l.describeFirst)&&GA(rI),zL(C)}oH=oH.subarray(tH+1),TH=0,sH=null}}async function op(){if(mA=!1,DA={},X||(X=await j_()),!X)return;if(h.start(),H.socket)return f?Dp():V$();if(X.on("connect",f?Dp:V$),H.path)return X.connect(H.path);X.ssl=f,X.connect(o[bH],M[bH]),X.host=M[bH],X.port=o[bH],bH=(bH+1)%o.length}function up(){setTimeout(op,r?r+OH-T_.now():0)}function V$(){try{ZA={},wH=H.fetch_types,HI=Math.random().toString(36).slice(2),w=1,a.start(),X.on("data",v1),F&&X.setKeepAlive&&X.setKeepAlive(!0,1000*F);let p=yW();GA(p)}catch(p){w$(p)}}function w$(p){if(XA.queue===A.connecting&&H.host[MA+1])return;zL(p);while(W.length)tD(W.shift(),p)}function zL(p){oA&&(oA.destroy(p),oA=null),l&&tD(l,p),PA&&(tD(PA,p),PA=null)}function tD(p,C){"query"in C||"parameters"in C||Object.defineProperties(C,{stack:{value:C.stack+p.origin.replace(/.*\n/,`
99
99
  `),enumerable:H.debug},query:{value:p.string,enumerable:H.debug},parameters:{value:p.parameters,enumerable:H.debug},args:{value:p.args,enumerable:H.debug},types:{value:p.statement&&p.statement.types,enumerable:H.debug}}),p.reject(C)}function a1(){return UI||(!XA.reserved&&I(XA),!XA.reserved&&!PA&&!l&&W.length===0?(Yf(),new Promise((p)=>X&&X.readyState!=="closed"?X.once("close",p):p())):UI=new Promise((p)=>SL=p))}function Yf(){if(mA=!0,oA||l||PA||W.length)w$(EA.connection("CONNECTION_DESTROYED",H));if(clearImmediate(YH),X)X.removeListener("data",v1),X.removeListener("connect",V$),X.readyState==="open"&&X.end(k().X().end());SL&&(SL(),UI=SL=null)}async function tp(p){if(oH=Buffer.alloc(0),TH=0,sH=null,clearImmediate(YH),X.removeListener("data",v1),X.removeListener("connect",V$),J.cancel(),a.cancel(),h.cancel(),X.removeAllListeners(),X=null,PA)return up();!p&&(l||W.length)&&w$(EA.connection("CONNECTION_CLOSED",H,X)),r=T_.now(),p&&H.shared.retries++,OH=(typeof m==="function"?m(H.shared.retries):m)*1000,$(XA,EA.connection("CONNECTION_CLOSED",H,X))}function HW(p,C=p[0]){(C===68?AW:C===100?SW:C===65?FW:C===83?LW:C===90?IW:C===67?$W:C===50?ip:C===49?fW:C===116?EW:C===84?DW:C===82?MW:C===110?nW:C===75?BW:C===69?TW:C===115?_W:C===51?WW:C===71?mW:C===78?VW:C===72?PW:C===99?JW:C===73?wW:C===86?KW:C===118?vW:C===87?XW:aW)(p)}function AW(p){let C=7,d,GH,kH,SA=l.isRaw?new Array(l.statement.columns.length):{};for(let yA=0;yA<l.statement.columns.length;yA++)GH=l.statement.columns[yA],d=p.readInt32BE(C),C+=4,kH=d===-1?null:l.isRaw===!0?p.subarray(C,C+=d):GH.parser===void 0?p.toString("utf8",C,C+=d):GH.parser.array===!0?GH.parser(p.toString("utf8",C+1,C+=d)):GH.parser(p.toString("utf8",C,C+=d)),l.isRaw?SA[yA]=l.isRaw===!0?kH:i.value.from?i.value.from(kH,GH):kH:SA[GH.name]=i.value.from?i.value.from(kH,GH):kH;l.forEachFn?l.forEachFn(i.row.from?i.row.from(SA):SA,Z):Z[IA++]=i.row.from?i.row.from(SA):SA}function LW(p){let[C,d]=p.toString("utf8",5,p.length-1).split(k.N);if(DA[C]=d,H.parameters[C]!==d)H.parameters[C]=d,x&&x(C,d)}function IW(p){if(l&&l.options.simple&&l.resolve(XL||Z),l=XL=null,Z=new X$,h.cancel(),PA){if(Y){if(!DA.in_hot_standby||!DA.default_transaction_read_only)return CW();else if(UW(Y,DA))return Yf()}if(wH)return PA===!0&&(PA=null),cW();PA!==!0&&Rf(PA),H.shared.retries=MA=0,PA=null;return}while(W.length&&(l=W.shift())&&(l.active=!0,l.cancelled))__(H).cancel(l.state,l.cancelled.resolve,l.cancelled.reject);if(l)return;XA.reserved?!XA.reserved.release&&p[5]===73?UI?Yf():(XA.reserved=null,L(XA)):XA.reserved():UI?Yf():L(XA)}function $W(p){IA=0;for(let C=p.length-1;C>0;C--){if(p[C]===32&&p[C+1]<58&&Z.count===null)Z.count=+p.toString("utf8",C+1,p.length-1);if(p[C-1]>=65){Z.command=p.toString("utf8",5,C),Z.state=V;break}}if(yf&&(yf(),yf=null),Z.command==="BEGIN"&&E!==1&&!XA.reserved)return zL(EA.generic("UNSAFE_TRANSACTION","Only use sql.begin, sql.reserved or max: 1"));if(l.options.simple)return ip();if(l.cursorFn)Z.count&&l.cursorFn(Z),GA(rI);l.resolve(Z)}function fW(){l.parsing=!1}function ip(){!Z.statement&&(Z.statement=l.statement),Z.columns=l.statement.columns}function EW(p){let C=p.readUInt16BE(5);for(let d=0;d<C;++d)!l.statement.types[d]&&(l.statement.types[d]=p.readUInt32BE(7+d*4));l.prepare&&(ZA[l.signature]=l.statement),l.describeFirst&&!l.onlyDescribe&&(GA(uD(l)),l.describeFirst=!1)}function DW(p){if(Z.command)XL=XL||[Z],XL.push(Z=new X$),Z.count=null,l.statement.columns=null;let C=p.readUInt16BE(5),d=7,GH;l.statement.columns=Array(C);for(let kH=0;kH<C;++kH){GH=d;while(p[d++]!==0);let SA=p.readUInt32BE(d),yA=p.readUInt16BE(d+4),CI=p.readUInt32BE(d+6);l.statement.columns[kH]={name:i.column.from?i.column.from(p.toString("utf8",GH,d-1)):p.toString("utf8",GH,d-1),parser:t[CI],table:SA,number:yA,type:CI},d+=18}if(Z.statement=l.statement,l.onlyDescribe)return l.resolve(l.statement),GA(rI)}async function MW(p,C=p.readUInt32BE(5)){(C===3?oW:C===5?uW:C===10?tW:C===11?iW:C===12?pW:C!==0?lW:af)(p,C)}async function oW(){let p=await l1();GA(k().p().str(p).z(1).end())}async function uW(p){let C="md5"+await F_(Buffer.concat([Buffer.from(await F_(await l1()+D)),p.subarray(9)]));GA(k().p().str(C).z(1).end())}async function tW(){QL=(await $D.randomBytes(18)).toString("base64"),k().p().str("SCRAM-SHA-256"+k.N);let p=k.i;GA(k.inc(4).str("n,,n=*,r="+QL).i32(k.i-p-4,p).end())}async function iW(p){let C=p.toString("utf8",9).split(",").reduce((yA,CI)=>(yA[CI[0]]=CI.slice(2),yA),{}),d=await $D.pbkdf2Sync(await l1(),Buffer.from(C.s,"base64"),parseInt(C.i),32,"sha256"),GH=await G1(d,"Client Key"),kH="n=*,r="+QL+",r="+C.r+",s="+C.s+",i="+C.i+",c=biws,r="+C.r;hH=(await G1(await G1(d,"Server Key"),kH)).toString("base64");let SA="c=biws,r="+C.r+",p="+ea(GH,Buffer.from(await G1(await ga(GH),kH))).toString("base64");GA(k().p().str(SA).end())}function pW(p){if(p.toString("utf8",9).split(k.N,1)[0].slice(2)===hH)return;zL(EA.generic("SASL_SIGNATURE_MISMATCH","The server did not return the correct signature")),X.destroy()}function l1(){return Promise.resolve(typeof H.pass==="function"?H.pass():H.pass)}function nW(){if(Z.statement=l.statement,Z.statement.columns=[],l.onlyDescribe)return l.resolve(l.statement),GA(rI)}function BW(p){V.pid=p.readUInt32BE(5),V.secret=p.readUInt32BE(9)}async function cW(){wH=!1,(await new PL([`
100
100
  select b.oid, b.typarray
101
101
  from pg_catalog.pg_type a