@epic-web/workshop-app 4.2.9 → 4.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/build/client/assets/_exerciseNumber-9RwIhGRW.js +2 -0
  2. package/build/client/assets/{_exerciseNumber-s_qbmGEJ.js.map → _exerciseNumber-9RwIhGRW.js.map} +1 -1
  3. package/build/client/assets/_exerciseNumber_.finished-BhpKVn4e.js +2 -0
  4. package/build/client/assets/{_exerciseNumber_.finished-DJgT9oaU.js.map → _exerciseNumber_.finished-BhpKVn4e.js.map} +1 -1
  5. package/build/client/assets/_layout-BnXo_nCX.js +2 -0
  6. package/build/client/assets/_layout-BnXo_nCX.js.map +1 -0
  7. package/build/client/assets/_layout-DPfeFZ1b.js +2 -0
  8. package/build/client/assets/{_layout-49l6Rvwp.js.map → _layout-DPfeFZ1b.js.map} +1 -1
  9. package/build/client/assets/account-C6GYxzo4.js +2 -0
  10. package/build/client/assets/{account-Bk4o4AzZ.js.map → account-C6GYxzo4.js.map} +1 -1
  11. package/build/client/assets/{client-hints-KnbHFIgn.js → client-hints-BsCjbOX0.js} +3 -3
  12. package/build/client/assets/client-hints-BsCjbOX0.js.map +1 -0
  13. package/build/client/assets/{diff-CT3-9rtW.js → diff-BQB9RSaR.js} +2 -2
  14. package/build/client/assets/{diff-CT3-9rtW.js.map → diff-BQB9RSaR.js.map} +1 -1
  15. package/build/client/assets/diff-SN_GIbcP.js +2 -0
  16. package/build/client/assets/{diff-CLRdJhCn.js.map → diff-SN_GIbcP.js.map} +1 -1
  17. package/build/client/assets/{epic-video-Df7qGSN7.js → epic-video-21h2ikhz.js} +2 -2
  18. package/build/client/assets/{epic-video-Df7qGSN7.js.map → epic-video-21h2ikhz.js.map} +1 -1
  19. package/build/client/assets/finished-BcwIbl76.js +2 -0
  20. package/build/client/assets/{finished-Dw3SJA8A.js.map → finished-BcwIbl76.js.map} +1 -1
  21. package/build/client/assets/index-CsvysmWA.js +2 -0
  22. package/build/client/assets/{index-YgRENgjt.js.map → index-CsvysmWA.js.map} +1 -1
  23. package/build/client/assets/index-HBgMKyVf.js +2 -0
  24. package/build/client/assets/{index-CLnz0tXz.js.map → index-HBgMKyVf.js.map} +1 -1
  25. package/build/client/assets/{loading-D-DClzm1.js → loading-Ba880UMD.js} +2 -2
  26. package/build/client/assets/{loading-D-DClzm1.js.map → loading-Ba880UMD.js.map} +1 -1
  27. package/build/client/assets/login-BQY-a6kw.js +2 -0
  28. package/build/client/assets/{login-CjvZj820.js.map → login-BQY-a6kw.js.map} +1 -1
  29. package/build/client/assets/manifest-71ff3c7f.js +1 -0
  30. package/build/client/assets/{mdx-ytg-y2nh.js → mdx-wWk4dtHt.js} +2 -2
  31. package/build/client/assets/{mdx-ytg-y2nh.js.map → mdx-wWk4dtHt.js.map} +1 -1
  32. package/build/client/assets/onboarding-gD8f59tE.js +2 -0
  33. package/build/client/assets/{onboarding-BxcIdiGj.js.map → onboarding-gD8f59tE.js.map} +1 -1
  34. package/build/client/assets/presence-B2xpI37C.js +28 -0
  35. package/build/client/assets/presence-B2xpI37C.js.map +1 -0
  36. package/build/client/assets/request-info-BHMoxBaT.js +2 -0
  37. package/build/client/assets/request-info-BHMoxBaT.js.map +1 -0
  38. package/build/client/assets/{root-B02acrJe.js → root-BcFXTrBQ.js} +2 -2
  39. package/build/client/assets/{root-B02acrJe.js.map → root-BcFXTrBQ.js.map} +1 -1
  40. package/build/client/img/tiffany.png +0 -0
  41. package/build/server/index.js +9 -4
  42. package/build/server/index.js.map +1 -1
  43. package/package.json +3 -3
  44. package/build/client/assets/_exerciseNumber-s_qbmGEJ.js +0 -2
  45. package/build/client/assets/_exerciseNumber_.finished-DJgT9oaU.js +0 -2
  46. package/build/client/assets/_layout-49l6Rvwp.js +0 -2
  47. package/build/client/assets/_layout-D7Qo_r0X.js +0 -2
  48. package/build/client/assets/_layout-D7Qo_r0X.js.map +0 -1
  49. package/build/client/assets/account-Bk4o4AzZ.js +0 -2
  50. package/build/client/assets/client-hints-KnbHFIgn.js.map +0 -1
  51. package/build/client/assets/diff-CLRdJhCn.js +0 -2
  52. package/build/client/assets/finished-Dw3SJA8A.js +0 -2
  53. package/build/client/assets/index-B8k-Gd1G.js +0 -2
  54. package/build/client/assets/index-B8k-Gd1G.js.map +0 -1
  55. package/build/client/assets/index-CLnz0tXz.js +0 -2
  56. package/build/client/assets/index-YgRENgjt.js +0 -2
  57. package/build/client/assets/login-CjvZj820.js +0 -2
  58. package/build/client/assets/manifest-db6261a7.js +0 -1
  59. package/build/client/assets/onboarding-BxcIdiGj.js +0 -2
  60. package/build/client/assets/presence-u-05JV3Z.js +0 -28
  61. package/build/client/assets/presence-u-05JV3Z.js.map +0 -1
@@ -0,0 +1,28 @@
1
+ var ie=Object.defineProperty;var ce=(t,n,e)=>n in t?ie(t,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[n]=e;var d=(t,n,e)=>(ce(t,typeof n!="symbol"?n+"":n,e),e);import{h as et,r as E,j as ae,b as ue}from"./index-D1WEsmVZ.js";import{z as p,u as le}from"./request-info-BHMoxBaT.js";import{b as K}from"./components-Dj3sm47B.js";const at="epic-web-presence",he=`https://epic-web-presence.kentcdodds.partykit.dev/parties/main/${at}`,X=p.object({id:p.string(),avatarUrl:p.string().nullable().optional(),name:p.string().nullable().optional(),location:p.object({workshopTitle:p.string().nullable().optional(),origin:p.string().nullable().optional(),exercise:p.object({type:p.union([p.literal("problem"),p.literal("solution")]).nullable().optional(),exerciseNumber:p.number().nullable().optional(),stepNumber:p.number().nullable().optional()}).nullable().optional()}).nullable().optional()}),fe=p.object({type:p.literal("remove-user"),payload:p.object({id:p.string()})}).or(p.object({type:p.literal("add-user"),payload:X})).or(p.object({type:p.literal("presence"),payload:p.object({users:p.array(X)})}));p.object({users:p.array(X)});var B={},y={},w={};Object.defineProperty(w,"__esModule",{value:!0});w.output=w.exists=w.hash=w.bytes=w.bool=w.number=w.isBytes=void 0;function F(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(`positive integer expected, not ${t}`)}w.number=F;function ut(t){if(typeof t!="boolean")throw new Error(`boolean expected, not ${t}`)}w.bool=ut;function lt(t){return t instanceof Uint8Array||t!=null&&typeof t=="object"&&t.constructor.name==="Uint8Array"}w.isBytes=lt;function z(t,...n){if(!lt(t))throw new Error("Uint8Array expected");if(n.length>0&&!n.includes(t.length))throw new Error(`Uint8Array expected of length ${n}, not of length=${t.length}`)}w.bytes=z;function ht(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");F(t.outputLen),F(t.blockLen)}w.hash=ht;function ft(t,n=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(n&&t.finished)throw new Error("Hash#digest() has already been called")}w.exists=ft;function dt(t,n){z(t);const e=n.outputLen;if(t.length<e)throw new Error(`digestInto() expects output buffer of length at least ${e}`)}w.output=dt;const de={number:F,bool:ut,bytes:z,hash:ht,exists:ft,output:dt};w.default=de;var u={};Object.defineProperty(u,"__esModule",{value:!0});u.add5L=u.add5H=u.add4H=u.add4L=u.add3H=u.add3L=u.add=u.rotlBL=u.rotlBH=u.rotlSL=u.rotlSH=u.rotr32L=u.rotr32H=u.rotrBL=u.rotrBH=u.rotrSL=u.rotrSH=u.shrSL=u.shrSH=u.toBig=u.split=u.fromBig=void 0;const D=BigInt(2**32-1),Q=BigInt(32);function J(t,n=!1){return n?{h:Number(t&D),l:Number(t>>Q&D)}:{h:Number(t>>Q&D)|0,l:Number(t&D)|0}}u.fromBig=J;function pt(t,n=!1){let e=new Uint32Array(t.length),s=new Uint32Array(t.length);for(let r=0;r<t.length;r++){const{h:i,l:c}=J(t[r],n);[e[r],s[r]]=[i,c]}return[e,s]}u.split=pt;const yt=(t,n)=>BigInt(t>>>0)<<Q|BigInt(n>>>0);u.toBig=yt;const _t=(t,n,e)=>t>>>e;u.shrSH=_t;const gt=(t,n,e)=>t<<32-e|n>>>e;u.shrSL=gt;const mt=(t,n,e)=>t>>>e|n<<32-e;u.rotrSH=mt;const bt=(t,n,e)=>t<<32-e|n>>>e;u.rotrSL=bt;const wt=(t,n,e)=>t<<64-e|n>>>e-32;u.rotrBH=wt;const Lt=(t,n,e)=>t>>>e-32|n<<64-e;u.rotrBL=Lt;const kt=(t,n)=>n;u.rotr32H=kt;const vt=(t,n)=>t;u.rotr32L=vt;const Et=(t,n,e)=>t<<e|n>>>32-e;u.rotlSH=Et;const St=(t,n,e)=>n<<e|t>>>32-e;u.rotlSL=St;const xt=(t,n,e)=>n<<e-32|t>>>64-e;u.rotlBH=xt;const Tt=(t,n,e)=>t<<e-32|n>>>64-e;u.rotlBL=Tt;function Ot(t,n,e,s){const r=(n>>>0)+(s>>>0);return{h:t+e+(r/2**32|0)|0,l:r|0}}u.add=Ot;const Ct=(t,n,e)=>(t>>>0)+(n>>>0)+(e>>>0);u.add3L=Ct;const Bt=(t,n,e,s)=>n+e+s+(t/2**32|0)|0;u.add3H=Bt;const It=(t,n,e,s)=>(t>>>0)+(n>>>0)+(e>>>0)+(s>>>0);u.add4L=It;const Ut=(t,n,e,s,r)=>n+e+s+r+(t/2**32|0)|0;u.add4H=Ut;const Pt=(t,n,e,s,r)=>(t>>>0)+(n>>>0)+(e>>>0)+(s>>>0)+(r>>>0);u.add5L=Pt;const Nt=(t,n,e,s,r,i)=>n+e+s+r+i+(t/2**32|0)|0;u.add5H=Nt;const pe={fromBig:J,split:pt,toBig:yt,shrSH:_t,shrSL:gt,rotrSH:mt,rotrSL:bt,rotrBH:wt,rotrBL:Lt,rotr32H:kt,rotr32L:vt,rotlSH:Et,rotlSL:St,rotlBH:xt,rotlBL:Tt,add:Ot,add3L:Ct,add3H:Bt,add4L:It,add4H:Ut,add5H:Nt,add5L:Pt};u.default=pe;var Ht={},q={};Object.defineProperty(q,"__esModule",{value:!0});q.crypto=void 0;q.crypto=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;(function(t){/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */Object.defineProperty(t,"__esModule",{value:!0}),t.randomBytes=t.wrapXOFConstructorWithOpts=t.wrapConstructorWithOpts=t.wrapConstructor=t.checkOpts=t.Hash=t.concatBytes=t.toBytes=t.utf8ToBytes=t.asyncLoop=t.nextTick=t.hexToBytes=t.bytesToHex=t.byteSwap32=t.byteSwapIfBE=t.byteSwap=t.isLE=t.rotl=t.rotr=t.createView=t.u32=t.u8=t.isBytes=void 0;const n=q,e=w;function s(o){return o instanceof Uint8Array||o!=null&&typeof o=="object"&&o.constructor.name==="Uint8Array"}t.isBytes=s;const r=o=>new Uint8Array(o.buffer,o.byteOffset,o.byteLength);t.u8=r;const i=o=>new Uint32Array(o.buffer,o.byteOffset,Math.floor(o.byteLength/4));t.u32=i;const c=o=>new DataView(o.buffer,o.byteOffset,o.byteLength);t.createView=c;const a=(o,f)=>o<<32-f|o>>>f;t.rotr=a;const h=(o,f)=>o<<f|o>>>32-f>>>0;t.rotl=h,t.isLE=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;const l=o=>o<<24&4278190080|o<<8&16711680|o>>>8&65280|o>>>24&255;t.byteSwap=l,t.byteSwapIfBE=t.isLE?o=>o:o=>(0,t.byteSwap)(o);function L(o){for(let f=0;f<o.length;f++)o[f]=(0,t.byteSwap)(o[f])}t.byteSwap32=L;const b=Array.from({length:256},(o,f)=>f.toString(16).padStart(2,"0"));function S(o){(0,e.bytes)(o);let f="";for(let m=0;m<o.length;m++)f+=b[o[m]];return f}t.bytesToHex=S;const _={_0:48,_9:57,_A:65,_F:70,_a:97,_f:102};function x(o){if(o>=_._0&&o<=_._9)return o-_._0;if(o>=_._A&&o<=_._F)return o-(_._A-10);if(o>=_._a&&o<=_._f)return o-(_._a-10)}function W(o){if(typeof o!="string")throw new Error("hex string expected, got "+typeof o);const f=o.length,m=f/2;if(f%2)throw new Error("padded hex string expected, got unpadded hex of length "+f);const g=new Uint8Array(m);for(let k=0,v=0;k<m;k++,v+=2){const Z=x(o.charCodeAt(v)),tt=x(o.charCodeAt(v+1));if(Z===void 0||tt===void 0){const oe=o[v]+o[v+1];throw new Error('hex string expected, got non-hex character "'+oe+'" at index '+v)}g[k]=Z*16+tt}return g}t.hexToBytes=W;const O=async()=>{};t.nextTick=O;async function C(o,f,m){let g=Date.now();for(let k=0;k<o;k++){m(k);const v=Date.now()-g;v>=0&&v<f||(await(0,t.nextTick)(),g+=v)}}t.asyncLoop=C;function Y(o){if(typeof o!="string")throw new Error(`utf8ToBytes expected string, got ${typeof o}`);return new Uint8Array(new TextEncoder().encode(o))}t.utf8ToBytes=Y;function j(o){return typeof o=="string"&&(o=Y(o)),(0,e.bytes)(o),o}t.toBytes=j;function Jt(...o){let f=0;for(let g=0;g<o.length;g++){const k=o[g];(0,e.bytes)(k),f+=k.length}const m=new Uint8Array(f);for(let g=0,k=0;g<o.length;g++){const v=o[g];m.set(v,k),k+=v.length}return m}t.concatBytes=Jt;class Yt{clone(){return this._cloneInto()}}t.Hash=Yt;const Zt={}.toString;function te(o,f){if(f!==void 0&&Zt.call(f)!=="[object Object]")throw new Error("Options should be object or undefined");return Object.assign(o,f)}t.checkOpts=te;function ee(o){const f=g=>o().update(j(g)).digest(),m=o();return f.outputLen=m.outputLen,f.blockLen=m.blockLen,f.create=()=>o(),f}t.wrapConstructor=ee;function ne(o){const f=(g,k)=>o(k).update(j(g)).digest(),m=o({});return f.outputLen=m.outputLen,f.blockLen=m.blockLen,f.create=g=>o(g),f}t.wrapConstructorWithOpts=ne;function se(o){const f=(g,k)=>o(k).update(j(g)).digest(),m=o({});return f.outputLen=m.outputLen,f.blockLen=m.blockLen,f.create=g=>o(g),f}t.wrapXOFConstructorWithOpts=se;function re(o=32){if(n.crypto&&typeof n.crypto.getRandomValues=="function")return n.crypto.getRandomValues(new Uint8Array(o));throw new Error("crypto.getRandomValues must be defined")}t.randomBytes=re})(Ht);Object.defineProperty(y,"__esModule",{value:!0});y.shake256=y.shake128=y.keccak_512=y.keccak_384=y.keccak_256=y.keccak_224=y.sha3_512=y.sha3_384=y.sha3_256=y.sha3_224=y.Keccak=y.keccakP=void 0;const N=w,R=u,T=Ht,At=[],Rt=[],Mt=[],ye=BigInt(0),H=BigInt(1),_e=BigInt(2),ge=BigInt(7),me=BigInt(256),be=BigInt(113);for(let t=0,n=H,e=1,s=0;t<24;t++){[e,s]=[s,(2*e+3*s)%5],At.push(2*(5*s+e)),Rt.push((t+1)*(t+2)/2%64);let r=ye;for(let i=0;i<7;i++)n=(n<<H^(n>>ge)*be)%me,n&_e&&(r^=H<<(H<<BigInt(i))-H);Mt.push(r)}const[we,Le]=(0,R.split)(Mt,!0),nt=(t,n,e)=>e>32?(0,R.rotlBH)(t,n,e):(0,R.rotlSH)(t,n,e),st=(t,n,e)=>e>32?(0,R.rotlBL)(t,n,e):(0,R.rotlSL)(t,n,e);function Wt(t,n=24){const e=new Uint32Array(10);for(let s=24-n;s<24;s++){for(let c=0;c<10;c++)e[c]=t[c]^t[c+10]^t[c+20]^t[c+30]^t[c+40];for(let c=0;c<10;c+=2){const a=(c+8)%10,h=(c+2)%10,l=e[h],L=e[h+1],b=nt(l,L,1)^e[a],S=st(l,L,1)^e[a+1];for(let _=0;_<50;_+=10)t[c+_]^=b,t[c+_+1]^=S}let r=t[2],i=t[3];for(let c=0;c<24;c++){const a=Rt[c],h=nt(r,i,a),l=st(r,i,a),L=At[c];r=t[L],i=t[L+1],t[L]=h,t[L+1]=l}for(let c=0;c<50;c+=10){for(let a=0;a<10;a++)e[a]=t[c+a];for(let a=0;a<10;a++)t[c+a]^=~e[(a+2)%10]&e[(a+4)%10]}t[0]^=we[s],t[1]^=Le[s]}e.fill(0)}y.keccakP=Wt;class M extends T.Hash{constructor(n,e,s,r=!1,i=24){if(super(),this.blockLen=n,this.suffix=e,this.outputLen=s,this.enableXOF=r,this.rounds=i,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,(0,N.number)(s),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=(0,T.u32)(this.state)}keccak(){T.isLE||(0,T.byteSwap32)(this.state32),Wt(this.state32,this.rounds),T.isLE||(0,T.byteSwap32)(this.state32),this.posOut=0,this.pos=0}update(n){(0,N.exists)(this);const{blockLen:e,state:s}=this;n=(0,T.toBytes)(n);const r=n.length;for(let i=0;i<r;){const c=Math.min(e-this.pos,r-i);for(let a=0;a<c;a++)s[this.pos++]^=n[i++];this.pos===e&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:n,suffix:e,pos:s,blockLen:r}=this;n[s]^=e,e&128&&s===r-1&&this.keccak(),n[r-1]^=128,this.keccak()}writeInto(n){(0,N.exists)(this,!1),(0,N.bytes)(n),this.finish();const e=this.state,{blockLen:s}=this;for(let r=0,i=n.length;r<i;){this.posOut>=s&&this.keccak();const c=Math.min(s-this.posOut,i-r);n.set(e.subarray(this.posOut,this.posOut+c),r),this.posOut+=c,r+=c}return n}xofInto(n){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(n)}xof(n){return(0,N.number)(n),this.xofInto(new Uint8Array(n))}digestInto(n){if((0,N.output)(n,this),this.finished)throw new Error("digest() was already called");return this.writeInto(n),this.destroy(),n}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(n){const{blockLen:e,suffix:s,outputLen:r,rounds:i,enableXOF:c}=this;return n||(n=new M(e,s,r,c,i)),n.state32.set(this.state32),n.pos=this.pos,n.posOut=this.posOut,n.finished=this.finished,n.rounds=i,n.suffix=s,n.outputLen=r,n.enableXOF=c,n.destroyed=this.destroyed,n}}y.Keccak=M;const I=(t,n,e)=>(0,T.wrapConstructor)(()=>new M(n,t,e));y.sha3_224=I(6,144,224/8);y.sha3_256=I(6,136,256/8);y.sha3_384=I(6,104,384/8);y.sha3_512=I(6,72,512/8);y.keccak_224=I(1,144,224/8);y.keccak_256=I(1,136,256/8);y.keccak_384=I(1,104,384/8);y.keccak_512=I(1,72,512/8);const jt=(t,n,e)=>(0,T.wrapXOFConstructorWithOpts)((s={})=>new M(n,t,s.dkLen===void 0?e:s.dkLen,!0));y.shake128=jt(31,168,128/8);y.shake256=jt(31,136,256/8);const{sha3_512:ke}=y,Dt=24,A=32,V=(t=4,n=Math.random)=>{let e="";for(;e.length<t;)e=e+Math.floor(n()*36).toString(36);return e};function $t(t){let n=8n,e=0n;for(const s of t.values()){const r=BigInt(s);e=(e<<n)+r}return e}const Ft=(t="")=>$t(ke(t)).toString(36).slice(1),rt=Array.from({length:26},(t,n)=>String.fromCharCode(n+97)),ve=t=>rt[Math.floor(t()*rt.length)],qt=({globalObj:t=typeof et<"u"?et:typeof window<"u"?window:{},random:n=Math.random}={})=>{const e=Object.keys(t).toString(),s=e.length?e+V(A,n):V(A,n);return Ft(s).substring(0,A)},Gt=t=>()=>t++,Ee=476782367,Xt=({random:t=Math.random,counter:n=Gt(Math.floor(t()*Ee)),length:e=Dt,fingerprint:s=qt({random:t})}={})=>function(){const i=ve(t),c=Date.now().toString(36),a=n().toString(36),h=V(e,t),l=`${c+h+a+s}`;return`${i+Ft(l).substring(1,e)}`},Se=Xt(),xe=(t,{minLength:n=2,maxLength:e=A}={})=>{const s=t.length,r=/^[0-9a-z]+$/;try{if(typeof t=="string"&&s>=n&&s<=e&&r.test(t))return!0}finally{}return!1};B.getConstants=()=>({defaultLength:Dt,bigLength:A});B.init=Xt;B.createId=Se;B.bufToBigInt=$t;B.createCounter=Gt;B.createFingerprint=qt;B.isCuid=xe;const{createId:Te,init:ze,getConstants:Je,isCuid:Ye}=B;var Oe=Te;(!globalThis.EventTarget||!globalThis.Event)&&console.error(`
2
+ PartySocket requires a global 'EventTarget' class to be available!
3
+ You can polyfill this global by adding this to your code before any partysocket imports:
4
+
5
+ \`\`\`
6
+ import 'partysocket/event-target-polyfill';
7
+ \`\`\`
8
+ Please file an issue at https://github.com/partykit/partykit if you're still having trouble.
9
+ `);var Qt=class extends Event{constructor(n,e){super("error",e);d(this,"message");d(this,"error");this.message=n.message,this.error=n}},Vt=class extends Event{constructor(n=1e3,e="",s){super("close",s);d(this,"code");d(this,"reason");d(this,"wasClean",!0);this.code=n,this.reason=e}},G={Event,ErrorEvent:Qt,CloseEvent:Vt};function Ce(t,n){if(!t)throw new Error(n)}function Be(t){return new t.constructor(t.type,t)}function Ie(t){return"data"in t?new MessageEvent(t.type,t):"code"in t||"reason"in t?new Vt(t.code||1999,t.reason||"unknown reason",t):"error"in t?new Qt(t.error,t):new Event(t.type,t)}var ct,Ue=typeof process<"u"&&typeof((ct=process.versions)==null?void 0:ct.node)<"u"&&typeof document>"u",$=Ue?Ie:Be,U={maxReconnectionDelay:1e4,minReconnectionDelay:1e3+Math.random()*4e3,minUptime:5e3,reconnectionDelayGrowFactor:1.3,connectionTimeout:4e3,maxRetries:1/0,maxEnqueuedMessages:1/0,startClosed:!1,debug:!1},ot=!1,Pe=class P extends EventTarget{constructor(e,s,r={}){super();d(this,"_ws");d(this,"_retryCount",-1);d(this,"_uptimeTimeout");d(this,"_connectTimeout");d(this,"_shouldReconnect",!0);d(this,"_connectLock",!1);d(this,"_binaryType","blob");d(this,"_closeCalled",!1);d(this,"_messageQueue",[]);d(this,"_debugLogger",console.log.bind(console));d(this,"_url");d(this,"_protocols");d(this,"_options");d(this,"onclose",null);d(this,"onerror",null);d(this,"onmessage",null);d(this,"onopen",null);d(this,"_handleOpen",e=>{this._debug("open event");const{minUptime:s=U.minUptime}=this._options;clearTimeout(this._connectTimeout),this._uptimeTimeout=setTimeout(()=>this._acceptOpen(),s),Ce(this._ws,"WebSocket is not defined"),this._ws.binaryType=this._binaryType,this._messageQueue.forEach(r=>{var i;return(i=this._ws)==null?void 0:i.send(r)}),this._messageQueue=[],this.onopen&&this.onopen(e),this.dispatchEvent($(e))});d(this,"_handleMessage",e=>{this._debug("message event"),this.onmessage&&this.onmessage(e),this.dispatchEvent($(e))});d(this,"_handleError",e=>{this._debug("error event",e.message),this._disconnect(void 0,e.message==="TIMEOUT"?"timeout":void 0),this.onerror&&this.onerror(e),this._debug("exec error listeners"),this.dispatchEvent($(e)),this._connect()});d(this,"_handleClose",e=>{this._debug("close event"),this._clearTimeouts(),this._shouldReconnect&&this._connect(),this.onclose&&this.onclose(e),this.dispatchEvent($(e))});this._url=e,this._protocols=s,this._options=r,this._options.startClosed&&(this._shouldReconnect=!1),this._options.debugLogger&&(this._debugLogger=this._options.debugLogger),this._connect()}static get CONNECTING(){return 0}static get OPEN(){return 1}static get CLOSING(){return 2}static get CLOSED(){return 3}get CONNECTING(){return P.CONNECTING}get OPEN(){return P.OPEN}get CLOSING(){return P.CLOSING}get CLOSED(){return P.CLOSED}get binaryType(){return this._ws?this._ws.binaryType:this._binaryType}set binaryType(e){this._binaryType=e,this._ws&&(this._ws.binaryType=e)}get retryCount(){return Math.max(this._retryCount,0)}get bufferedAmount(){return this._messageQueue.reduce((s,r)=>(typeof r=="string"?s+=r.length:r instanceof Blob?s+=r.size:s+=r.byteLength,s),0)+(this._ws?this._ws.bufferedAmount:0)}get extensions(){return this._ws?this._ws.extensions:""}get protocol(){return this._ws?this._ws.protocol:""}get readyState(){return this._ws?this._ws.readyState:this._options.startClosed?P.CLOSED:P.CONNECTING}get url(){return this._ws?this._ws.url:""}get shouldReconnect(){return this._shouldReconnect}close(e=1e3,s){if(this._closeCalled=!0,this._shouldReconnect=!1,this._clearTimeouts(),!this._ws){this._debug("close enqueued: no ws instance");return}if(this._ws.readyState===this.CLOSED){this._debug("close: already closed");return}this._ws.close(e,s)}reconnect(e,s){this._shouldReconnect=!0,this._closeCalled=!1,this._retryCount=-1,!this._ws||this._ws.readyState===this.CLOSED?this._connect():(this._disconnect(e,s),this._connect())}send(e){if(this._ws&&this._ws.readyState===this.OPEN)this._debug("send",e),this._ws.send(e);else{const{maxEnqueuedMessages:s=U.maxEnqueuedMessages}=this._options;this._messageQueue.length<s&&(this._debug("enqueue",e),this._messageQueue.push(e))}}_debug(...e){this._options.debug&&this._debugLogger("RWS>",...e)}_getNextDelay(){const{reconnectionDelayGrowFactor:e=U.reconnectionDelayGrowFactor,minReconnectionDelay:s=U.minReconnectionDelay,maxReconnectionDelay:r=U.maxReconnectionDelay}=this._options;let i=0;return this._retryCount>0&&(i=s*Math.pow(e,this._retryCount-1),i>r&&(i=r)),this._debug("next delay",i),i}_wait(){return new Promise(e=>{setTimeout(e,this._getNextDelay())})}_getNextProtocols(e){if(!e)return Promise.resolve(null);if(typeof e=="string"||Array.isArray(e))return Promise.resolve(e);if(typeof e=="function"){const s=e();if(!s)return Promise.resolve(null);if(typeof s=="string"||Array.isArray(s))return Promise.resolve(s);if(s.then)return s}throw Error("Invalid protocols")}_getNextUrl(e){if(typeof e=="string")return Promise.resolve(e);if(typeof e=="function"){const s=e();if(typeof s=="string")return Promise.resolve(s);if(s.then)return s}throw Error("Invalid URL")}_connect(){if(this._connectLock||!this._shouldReconnect)return;this._connectLock=!0;const{maxRetries:e=U.maxRetries,connectionTimeout:s=U.connectionTimeout}=this._options;if(this._retryCount>=e){this._debug("max retries reached",this._retryCount,">=",e);return}this._retryCount++,this._debug("connect",this._retryCount),this._removeListeners(),this._wait().then(()=>Promise.all([this._getNextUrl(this._url),this._getNextProtocols(this._protocols||null)])).then(([r,i])=>{if(this._closeCalled){this._connectLock=!1;return}!this._options.WebSocket&&typeof WebSocket>"u"&&!ot&&(console.error(`‼️ No WebSocket implementation available. You should define options.WebSocket.
10
+
11
+ For example, if you're using node.js, run \`npm install ws\`, and then in your code:
12
+
13
+ import PartySocket from 'partysocket';
14
+ import WS from 'ws';
15
+
16
+ const partysocket = new PartySocket({
17
+ host: "127.0.0.1:1999",
18
+ room: "test-room",
19
+ WebSocket: WS
20
+ });
21
+
22
+ `),ot=!0);const c=this._options.WebSocket||WebSocket;this._debug("connect",{url:r,protocols:i}),this._ws=i?new c(r,i):new c(r),this._ws.binaryType=this._binaryType,this._connectLock=!1,this._addListeners(),this._connectTimeout=setTimeout(()=>this._handleTimeout(),s)}).catch(r=>{this._connectLock=!1,this._handleError(new G.ErrorEvent(Error(r.message),this))})}_handleTimeout(){this._debug("timeout event"),this._handleError(new G.ErrorEvent(Error("TIMEOUT"),this))}_disconnect(e=1e3,s){if(this._clearTimeouts(),!!this._ws){this._removeListeners();try{this._ws.close(e,s),this._handleClose(new G.CloseEvent(e,s,this))}catch{}}}_acceptOpen(){this._debug("accept open"),this._retryCount=0}_removeListeners(){this._ws&&(this._debug("removeListeners"),this._ws.removeEventListener("open",this._handleOpen),this._ws.removeEventListener("close",this._handleClose),this._ws.removeEventListener("message",this._handleMessage),this._ws.removeEventListener("error",this._handleError))}_addListeners(){this._ws&&(this._debug("addListeners"),this._ws.addEventListener("open",this._handleOpen),this._ws.addEventListener("close",this._handleClose),this._ws.addEventListener("message",this._handleMessage),this._ws.addEventListener("error",this._handleError))}_clearTimeouts(){clearTimeout(this._connectTimeout),clearTimeout(this._uptimeTimeout)}};/*!
23
+ * Reconnecting WebSocket
24
+ * by Pedro Ladaria <pedro.ladaria@gmail.com>
25
+ * https://github.com/pladaria/reconnecting-websocket
26
+ * License MIT
27
+ */var Ne=t=>t[1]!==null&&t[1]!==void 0;function He(){if(typeof crypto<"u"&&crypto.randomUUID)return crypto.randomUUID();let t=new Date().getTime(),n=typeof performance<"u"&&performance.now&&performance.now()*1e3||0;return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){let s=Math.random()*16;return t>0?(s=(t+s)%16|0,t=Math.floor(t/16)):(s=(n+s)%16|0,n=Math.floor(n/16)),(e==="x"?s:s&3|8).toString(16)})}function Kt(t,n,e={}){const{host:s,path:r,protocol:i,room:c,party:a,query:h}=t;let l=s.replace(/^(http|https|ws|wss):\/\//,"");if(l.endsWith("/")&&(l=l.slice(0,-1)),r&&r.startsWith("/"))throw new Error("path must not start with a slash");const L=a??"main",b=r?`/${r}`:"",S=i||(l.startsWith("localhost:")||l.startsWith("127.0.0.1:")||l.startsWith("192.168.")||l.startsWith("10.")||l.startsWith("172.")&&l.split(".")[1]>="16"&&l.split(".")[1]<="31"||l.startsWith("[::ffff:7f00:1]:")?n:n+"s"),_=`${S}://${l}/${a?`parties/${a}`:"party"}/${c}${b}`,x=(O={})=>`${_}?${new URLSearchParams([...Object.entries(e),...Object.entries(O).filter(Ne)])}`,W=typeof h=="function"?async()=>x(await h()):x(h);return{host:l,path:b,room:c,name:L,protocol:S,partyUrl:_,urlProvider:W}}var Ae=class extends Pe{constructor(n){const e=it(n);super(e.urlProvider,e.protocols,e.socketOptions);d(this,"_pk");d(this,"_pkurl");d(this,"name");d(this,"room");d(this,"host");d(this,"path");this.partySocketOptions=n,this.setWSProperties(e)}updateProperties(n){const e=it({...this.partySocketOptions,...n,host:n.host??this.host,room:n.room??this.room,path:n.path??this.path});this._url=e.urlProvider,this._protocols=e.protocols,this._options=e.socketOptions,this.setWSProperties(e)}setWSProperties(n){const{_pk:e,_pkurl:s,name:r,room:i,host:c,path:a}=n;this._pk=e,this._pkurl=s,this.name=r,this.room=i,this.host=c,this.path=a}reconnect(n,e){if(!this.room||!this.host)throw new Error("The room and host must be set before connecting, use `updateProperties` method to set them or pass them to the constructor.");super.reconnect(n,e)}get id(){return this._pk}get roomUrl(){return this._pkurl}static async fetch(n,e){const s=Kt(n,"http"),r=typeof s.urlProvider=="string"?s.urlProvider:await s.urlProvider();return(n.fetch??fetch)(r,e)}};function it(t){const{id:n,host:e,path:s,party:r,room:i,protocol:c,query:a,protocols:h,...l}=t,L=n||He(),b=Kt(t,"ws",{_pk:L});return{_pk:L,_pkurl:b.partyUrl,name:b.name,room:b.room,host:b.host,path:b.path,protocols:h,socketOptions:l,urlProvider:b.urlProvider}}var Re=(t,n)=>{const e=E.useRef(n);e.current=n,E.useEffect(()=>{const s=a=>{var h,l;return(l=(h=e.current)==null?void 0:h.onOpen)==null?void 0:l.call(h,a)},r=a=>{var h,l;return(l=(h=e.current)==null?void 0:h.onMessage)==null?void 0:l.call(h,a)},i=a=>{var h,l;return(l=(h=e.current)==null?void 0:h.onClose)==null?void 0:l.call(h,a)},c=a=>{var h,l;return(l=(h=e.current)==null?void 0:h.onError)==null?void 0:l.call(h,a)};return t.addEventListener("open",s),t.addEventListener("close",i),t.addEventListener("error",c),t.addEventListener("message",r),()=>{t.removeEventListener("open",s),t.removeEventListener("close",i),t.removeEventListener("error",c),t.removeEventListener("message",r)}},[t])},Me=t=>[t.startClosed,t.minUptime,t.maxRetries,t.connectionTimeout,t.maxEnqueuedMessages,t.maxReconnectionDelay,t.minReconnectionDelay,t.reconnectionDelayGrowFactor,t.debug];function We({options:t,createSocket:n,createSocketMemoKey:e}){const s=e(t),r=E.useMemo(()=>t,[s]),[i,c]=E.useState(()=>n({...r,startClosed:!0})),a=E.useRef(null),h=E.useRef(n);return h.current=n,E.useEffect(()=>{if(a.current===i){const l=h.current({...r,startClosed:!1});c(l)}else return!a.current&&r.startClosed!==!0&&i.reconnect(),a.current=i,()=>{i.close()}},[i,r]),i}function je(t){const{host:n,...e}=t,s=We({options:{host:n||(typeof window<"u"?window.location.host:"dummy-domain.com"),...e},createSocket:r=>new Ae(r),createSocketMemoKey:r=>JSON.stringify([r.query,r.id,r.host,r.room,r.party,r.path,r.protocol,r.protocols,...Me(r)])});return Re(s,t),s}const zt=E.createContext(null);function De(){var n;const t=K("root");return((n=t==null?void 0:t.preferences)==null?void 0:n.presence)??null}function $e(){const t=K("root");return(t==null?void 0:t.workshopTitle)??null}const Fe=p.object({type:p.union([p.literal("problem"),p.literal("solution")]).optional(),exerciseNumber:p.coerce.number().finite(),stepNumber:p.coerce.number().finite().optional()});function qe(t){const n=$e(),e=le(),s=ue(),r=De(),i=K("root"),[c,a]=E.useState((i==null?void 0:i.presence.users)??[]),[h]=E.useState(()=>{if(typeof document>"u")return null;if(t)return t.id;const O=sessionStorage.getItem("clientId");if(O)return O;const C=Oe();return sessionStorage.setItem("clientId",C),C}),l=je({host:new URL(he).host,room:at,onMessage(O){const C=fe.safeParse(JSON.parse(String(O.data)));C.success&&C.data.type==="presence"&&a(C.data.payload.users)}}),L=Fe.safeParse(s),b=L.success?L.data:null,S={workshopTitle:n,origin:e.origin,...b?{exercise:{type:b.type,exerciseNumber:b.exerciseNumber,stepNumber:b.stepNumber}}:null};let _=null;(!t||r!=null&&r.optOut)&&h?(t&&(_={type:"remove-user",payload:{id:t.id}}),_={type:"add-user",payload:{id:h,location:S}}):t&&(_={type:"add-user",payload:{id:t.id,name:t.name,avatarUrl:t.avatarUrl,location:S}});const x=_?JSON.stringify(_):null;return E.useEffect(()=>{x&&l.send(x)},[x,l]),{users:Ge(S,c)}}function Ge(t,n){return n.map(s=>{var c,a,h,l;let r=0;const i=4;return(t==null?void 0:t.workshopTitle)===((c=s.location)==null?void 0:c.workshopTitle)&&(r+=1,(a=t==null?void 0:t.exercise)!=null&&a.exerciseNumber&&t.exercise.exerciseNumber===((l=(h=s.location)==null?void 0:h.exercise)==null?void 0:l.exerciseNumber)&&(r+=1,t.exercise.stepNumber&&t.exercise.stepNumber===s.location.exercise.stepNumber&&(r+=1,t.exercise.type&&t.exercise.type===s.location.exercise.type&&(r+=1)))),{user:s,score:Math.floor(r/i*10)/10}}).sort((s,r)=>s.score===r.score?0:s.score>r.score?-1:1)}function Ze({user:t,children:n}){return ae.jsx(zt.Provider,{value:qe(t),children:n})}function tn(){const t=E.useContext(zt);if(!t)throw new Error("usePresence must be used within a PresenceProvider");return t}export{Ze as P,tn as a,De as u};
28
+ //# sourceMappingURL=presence-B2xpI37C.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presence-B2xpI37C.js","sources":["../../../../workshop-presence/src/presence.ts","../../../../../node_modules/@noble/hashes/_assert.js","../../../../../node_modules/@noble/hashes/_u64.js","../../../../../node_modules/@noble/hashes/crypto.js","../../../../../node_modules/@noble/hashes/utils.js","../../../../../node_modules/@noble/hashes/sha3.js","../../../../../node_modules/@paralleldrive/cuid2/src/index.js","../../../../../node_modules/@paralleldrive/cuid2/index.js","../../../../../node_modules/partysocket/dist/chunk-KZ3GGBVP.mjs","../../../../../node_modules/partysocket/dist/chunk-G2EOJEOR.mjs","../../../../../node_modules/partysocket/dist/chunk-G7CWGN4S.mjs","../../../../../node_modules/partysocket/dist/react.mjs","../../../app/utils/presence.tsx"],"sourcesContent":["import { z } from 'zod'\n\nexport const partykitRoom = 'epic-web-presence'\n// export const partykitBaseUrl = `http://127.0.0.1:1999/parties/main/${partykitRoom}`\nexport const partykitBaseUrl = `https://epic-web-presence.kentcdodds.partykit.dev/parties/main/${partykitRoom}`\n\nexport const UserSchema = z.object({\n\tid: z.string(),\n\tavatarUrl: z.string().nullable().optional(),\n\tname: z.string().nullable().optional(),\n\tlocation: z\n\t\t.object({\n\t\t\tworkshopTitle: z.string().nullable().optional(),\n\t\t\torigin: z.string().nullable().optional(),\n\t\t\texercise: z\n\t\t\t\t.object({\n\t\t\t\t\ttype: z\n\t\t\t\t\t\t.union([z.literal('problem'), z.literal('solution')])\n\t\t\t\t\t\t.nullable()\n\t\t\t\t\t\t.optional(),\n\t\t\t\t\texerciseNumber: z.number().nullable().optional(),\n\t\t\t\t\tstepNumber: z.number().nullable().optional(),\n\t\t\t\t})\n\t\t\t\t.nullable()\n\t\t\t\t.optional(),\n\t\t})\n\t\t.nullable()\n\t\t.optional(),\n})\n\nexport const MessageSchema = z\n\t.object({\n\t\ttype: z.literal('remove-user'),\n\t\tpayload: z.object({ id: z.string() }),\n\t})\n\t.or(z.object({ type: z.literal('add-user'), payload: UserSchema }))\n\t.or(\n\t\tz.object({\n\t\t\ttype: z.literal('presence'),\n\t\t\tpayload: z.object({ users: z.array(UserSchema) }),\n\t\t}),\n\t)\n\nexport type Message = z.infer<typeof MessageSchema>\n\nexport type User = z.infer<typeof UserSchema>\n\nexport const PresenceSchema = z.object({ users: z.array(UserSchema) })\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.output = exports.exists = exports.hash = exports.bytes = exports.bool = exports.number = exports.isBytes = void 0;\nfunction number(n) {\n if (!Number.isSafeInteger(n) || n < 0)\n throw new Error(`positive integer expected, not ${n}`);\n}\nexports.number = number;\nfunction bool(b) {\n if (typeof b !== 'boolean')\n throw new Error(`boolean expected, not ${b}`);\n}\nexports.bool = bool;\n// copied from utils\nfunction isBytes(a) {\n return (a instanceof Uint8Array ||\n (a != null && typeof a === 'object' && a.constructor.name === 'Uint8Array'));\n}\nexports.isBytes = isBytes;\nfunction bytes(b, ...lengths) {\n if (!isBytes(b))\n throw new Error('Uint8Array expected');\n if (lengths.length > 0 && !lengths.includes(b.length))\n throw new Error(`Uint8Array expected of length ${lengths}, not of length=${b.length}`);\n}\nexports.bytes = bytes;\nfunction hash(h) {\n if (typeof h !== 'function' || typeof h.create !== 'function')\n throw new Error('Hash should be wrapped by utils.wrapConstructor');\n number(h.outputLen);\n number(h.blockLen);\n}\nexports.hash = hash;\nfunction exists(instance, checkFinished = true) {\n if (instance.destroyed)\n throw new Error('Hash instance has been destroyed');\n if (checkFinished && instance.finished)\n throw new Error('Hash#digest() has already been called');\n}\nexports.exists = exists;\nfunction output(out, instance) {\n bytes(out);\n const min = instance.outputLen;\n if (out.length < min) {\n throw new Error(`digestInto() expects output buffer of length at least ${min}`);\n }\n}\nexports.output = output;\nconst assert = { number, bool, bytes, hash, exists, output };\nexports.default = assert;\n//# sourceMappingURL=_assert.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.add5L = exports.add5H = exports.add4H = exports.add4L = exports.add3H = exports.add3L = exports.add = exports.rotlBL = exports.rotlBH = exports.rotlSL = exports.rotlSH = exports.rotr32L = exports.rotr32H = exports.rotrBL = exports.rotrBH = exports.rotrSL = exports.rotrSH = exports.shrSL = exports.shrSH = exports.toBig = exports.split = exports.fromBig = void 0;\nconst U32_MASK64 = /* @__PURE__ */ BigInt(2 ** 32 - 1);\nconst _32n = /* @__PURE__ */ BigInt(32);\n// We are not using BigUint64Array, because they are extremely slow as per 2022\nfunction fromBig(n, le = false) {\n if (le)\n return { h: Number(n & U32_MASK64), l: Number((n >> _32n) & U32_MASK64) };\n return { h: Number((n >> _32n) & U32_MASK64) | 0, l: Number(n & U32_MASK64) | 0 };\n}\nexports.fromBig = fromBig;\nfunction split(lst, le = false) {\n let Ah = new Uint32Array(lst.length);\n let Al = new Uint32Array(lst.length);\n for (let i = 0; i < lst.length; i++) {\n const { h, l } = fromBig(lst[i], le);\n [Ah[i], Al[i]] = [h, l];\n }\n return [Ah, Al];\n}\nexports.split = split;\nconst toBig = (h, l) => (BigInt(h >>> 0) << _32n) | BigInt(l >>> 0);\nexports.toBig = toBig;\n// for Shift in [0, 32)\nconst shrSH = (h, _l, s) => h >>> s;\nexports.shrSH = shrSH;\nconst shrSL = (h, l, s) => (h << (32 - s)) | (l >>> s);\nexports.shrSL = shrSL;\n// Right rotate for Shift in [1, 32)\nconst rotrSH = (h, l, s) => (h >>> s) | (l << (32 - s));\nexports.rotrSH = rotrSH;\nconst rotrSL = (h, l, s) => (h << (32 - s)) | (l >>> s);\nexports.rotrSL = rotrSL;\n// Right rotate for Shift in (32, 64), NOTE: 32 is special case.\nconst rotrBH = (h, l, s) => (h << (64 - s)) | (l >>> (s - 32));\nexports.rotrBH = rotrBH;\nconst rotrBL = (h, l, s) => (h >>> (s - 32)) | (l << (64 - s));\nexports.rotrBL = rotrBL;\n// Right rotate for shift===32 (just swaps l&h)\nconst rotr32H = (_h, l) => l;\nexports.rotr32H = rotr32H;\nconst rotr32L = (h, _l) => h;\nexports.rotr32L = rotr32L;\n// Left rotate for Shift in [1, 32)\nconst rotlSH = (h, l, s) => (h << s) | (l >>> (32 - s));\nexports.rotlSH = rotlSH;\nconst rotlSL = (h, l, s) => (l << s) | (h >>> (32 - s));\nexports.rotlSL = rotlSL;\n// Left rotate for Shift in (32, 64), NOTE: 32 is special case.\nconst rotlBH = (h, l, s) => (l << (s - 32)) | (h >>> (64 - s));\nexports.rotlBH = rotlBH;\nconst rotlBL = (h, l, s) => (h << (s - 32)) | (l >>> (64 - s));\nexports.rotlBL = rotlBL;\n// JS uses 32-bit signed integers for bitwise operations which means we cannot\n// simple take carry out of low bit sum by shift, we need to use division.\nfunction add(Ah, Al, Bh, Bl) {\n const l = (Al >>> 0) + (Bl >>> 0);\n return { h: (Ah + Bh + ((l / 2 ** 32) | 0)) | 0, l: l | 0 };\n}\nexports.add = add;\n// Addition with more than 2 elements\nconst add3L = (Al, Bl, Cl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0);\nexports.add3L = add3L;\nconst add3H = (low, Ah, Bh, Ch) => (Ah + Bh + Ch + ((low / 2 ** 32) | 0)) | 0;\nexports.add3H = add3H;\nconst add4L = (Al, Bl, Cl, Dl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0);\nexports.add4L = add4L;\nconst add4H = (low, Ah, Bh, Ch, Dh) => (Ah + Bh + Ch + Dh + ((low / 2 ** 32) | 0)) | 0;\nexports.add4H = add4H;\nconst add5L = (Al, Bl, Cl, Dl, El) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0) + (El >>> 0);\nexports.add5L = add5L;\nconst add5H = (low, Ah, Bh, Ch, Dh, Eh) => (Ah + Bh + Ch + Dh + Eh + ((low / 2 ** 32) | 0)) | 0;\nexports.add5H = add5H;\n// prettier-ignore\nconst u64 = {\n fromBig, split, toBig,\n shrSH, shrSL,\n rotrSH, rotrSL, rotrBH, rotrBL,\n rotr32H, rotr32L,\n rotlSH, rotlSL, rotlBH, rotlBL,\n add, add3L, add3H, add4L, add4H, add5H, add5L,\n};\nexports.default = u64;\n//# sourceMappingURL=_u64.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.crypto = void 0;\nexports.crypto = typeof globalThis === 'object' && 'crypto' in globalThis ? globalThis.crypto : undefined;\n//# sourceMappingURL=crypto.js.map","\"use strict\";\n/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.randomBytes = exports.wrapXOFConstructorWithOpts = exports.wrapConstructorWithOpts = exports.wrapConstructor = exports.checkOpts = exports.Hash = exports.concatBytes = exports.toBytes = exports.utf8ToBytes = exports.asyncLoop = exports.nextTick = exports.hexToBytes = exports.bytesToHex = exports.byteSwap32 = exports.byteSwapIfBE = exports.byteSwap = exports.isLE = exports.rotl = exports.rotr = exports.createView = exports.u32 = exports.u8 = exports.isBytes = void 0;\n// We use WebCrypto aka globalThis.crypto, which exists in browsers and node.js 16+.\n// node.js versions earlier than v19 don't declare it in global scope.\n// For node.js, package.json#exports field mapping rewrites import\n// from `crypto` to `cryptoNode`, which imports native module.\n// Makes the utils un-importable in browsers without a bundler.\n// Once node.js 18 is deprecated (2025-04-30), we can just drop the import.\nconst crypto_1 = require(\"@noble/hashes/crypto\");\nconst _assert_js_1 = require(\"./_assert.js\");\n// export { isBytes } from './_assert.js';\n// We can't reuse isBytes from _assert, because somehow this causes huge perf issues\nfunction isBytes(a) {\n return (a instanceof Uint8Array ||\n (a != null && typeof a === 'object' && a.constructor.name === 'Uint8Array'));\n}\nexports.isBytes = isBytes;\n// Cast array to different type\nconst u8 = (arr) => new Uint8Array(arr.buffer, arr.byteOffset, arr.byteLength);\nexports.u8 = u8;\nconst u32 = (arr) => new Uint32Array(arr.buffer, arr.byteOffset, Math.floor(arr.byteLength / 4));\nexports.u32 = u32;\n// Cast array to view\nconst createView = (arr) => new DataView(arr.buffer, arr.byteOffset, arr.byteLength);\nexports.createView = createView;\n// The rotate right (circular right shift) operation for uint32\nconst rotr = (word, shift) => (word << (32 - shift)) | (word >>> shift);\nexports.rotr = rotr;\n// The rotate left (circular left shift) operation for uint32\nconst rotl = (word, shift) => (word << shift) | ((word >>> (32 - shift)) >>> 0);\nexports.rotl = rotl;\nexports.isLE = new Uint8Array(new Uint32Array([0x11223344]).buffer)[0] === 0x44;\n// The byte swap operation for uint32\nconst byteSwap = (word) => ((word << 24) & 0xff000000) |\n ((word << 8) & 0xff0000) |\n ((word >>> 8) & 0xff00) |\n ((word >>> 24) & 0xff);\nexports.byteSwap = byteSwap;\n// Conditionally byte swap if on a big-endian platform\nexports.byteSwapIfBE = exports.isLE ? (n) => n : (n) => (0, exports.byteSwap)(n);\n// In place byte swap for Uint32Array\nfunction byteSwap32(arr) {\n for (let i = 0; i < arr.length; i++) {\n arr[i] = (0, exports.byteSwap)(arr[i]);\n }\n}\nexports.byteSwap32 = byteSwap32;\n// Array where index 0xf0 (240) is mapped to string 'f0'\nconst hexes = /* @__PURE__ */ Array.from({ length: 256 }, (_, i) => i.toString(16).padStart(2, '0'));\n/**\n * @example bytesToHex(Uint8Array.from([0xca, 0xfe, 0x01, 0x23])) // 'cafe0123'\n */\nfunction bytesToHex(bytes) {\n (0, _assert_js_1.bytes)(bytes);\n // pre-caching improves the speed 6x\n let hex = '';\n for (let i = 0; i < bytes.length; i++) {\n hex += hexes[bytes[i]];\n }\n return hex;\n}\nexports.bytesToHex = bytesToHex;\n// We use optimized technique to convert hex string to byte array\nconst asciis = { _0: 48, _9: 57, _A: 65, _F: 70, _a: 97, _f: 102 };\nfunction asciiToBase16(char) {\n if (char >= asciis._0 && char <= asciis._9)\n return char - asciis._0;\n if (char >= asciis._A && char <= asciis._F)\n return char - (asciis._A - 10);\n if (char >= asciis._a && char <= asciis._f)\n return char - (asciis._a - 10);\n return;\n}\n/**\n * @example hexToBytes('cafe0123') // Uint8Array.from([0xca, 0xfe, 0x01, 0x23])\n */\nfunction hexToBytes(hex) {\n if (typeof hex !== 'string')\n throw new Error('hex string expected, got ' + typeof hex);\n const hl = hex.length;\n const al = hl / 2;\n if (hl % 2)\n throw new Error('padded hex string expected, got unpadded hex of length ' + hl);\n const array = new Uint8Array(al);\n for (let ai = 0, hi = 0; ai < al; ai++, hi += 2) {\n const n1 = asciiToBase16(hex.charCodeAt(hi));\n const n2 = asciiToBase16(hex.charCodeAt(hi + 1));\n if (n1 === undefined || n2 === undefined) {\n const char = hex[hi] + hex[hi + 1];\n throw new Error('hex string expected, got non-hex character \"' + char + '\" at index ' + hi);\n }\n array[ai] = n1 * 16 + n2;\n }\n return array;\n}\nexports.hexToBytes = hexToBytes;\n// There is no setImmediate in browser and setTimeout is slow.\n// call of async fn will return Promise, which will be fullfiled only on\n// next scheduler queue processing step and this is exactly what we need.\nconst nextTick = async () => { };\nexports.nextTick = nextTick;\n// Returns control to thread each 'tick' ms to avoid blocking\nasync function asyncLoop(iters, tick, cb) {\n let ts = Date.now();\n for (let i = 0; i < iters; i++) {\n cb(i);\n // Date.now() is not monotonic, so in case if clock goes backwards we return return control too\n const diff = Date.now() - ts;\n if (diff >= 0 && diff < tick)\n continue;\n await (0, exports.nextTick)();\n ts += diff;\n }\n}\nexports.asyncLoop = asyncLoop;\n/**\n * @example utf8ToBytes('abc') // new Uint8Array([97, 98, 99])\n */\nfunction utf8ToBytes(str) {\n if (typeof str !== 'string')\n throw new Error(`utf8ToBytes expected string, got ${typeof str}`);\n return new Uint8Array(new TextEncoder().encode(str)); // https://bugzil.la/1681809\n}\nexports.utf8ToBytes = utf8ToBytes;\n/**\n * Normalizes (non-hex) string or Uint8Array to Uint8Array.\n * Warning: when Uint8Array is passed, it would NOT get copied.\n * Keep in mind for future mutable operations.\n */\nfunction toBytes(data) {\n if (typeof data === 'string')\n data = utf8ToBytes(data);\n (0, _assert_js_1.bytes)(data);\n return data;\n}\nexports.toBytes = toBytes;\n/**\n * Copies several Uint8Arrays into one.\n */\nfunction concatBytes(...arrays) {\n let sum = 0;\n for (let i = 0; i < arrays.length; i++) {\n const a = arrays[i];\n (0, _assert_js_1.bytes)(a);\n sum += a.length;\n }\n const res = new Uint8Array(sum);\n for (let i = 0, pad = 0; i < arrays.length; i++) {\n const a = arrays[i];\n res.set(a, pad);\n pad += a.length;\n }\n return res;\n}\nexports.concatBytes = concatBytes;\n// For runtime check if class implements interface\nclass Hash {\n // Safe version that clones internal state\n clone() {\n return this._cloneInto();\n }\n}\nexports.Hash = Hash;\nconst toStr = {}.toString;\nfunction checkOpts(defaults, opts) {\n if (opts !== undefined && toStr.call(opts) !== '[object Object]')\n throw new Error('Options should be object or undefined');\n const merged = Object.assign(defaults, opts);\n return merged;\n}\nexports.checkOpts = checkOpts;\nfunction wrapConstructor(hashCons) {\n const hashC = (msg) => hashCons().update(toBytes(msg)).digest();\n const tmp = hashCons();\n hashC.outputLen = tmp.outputLen;\n hashC.blockLen = tmp.blockLen;\n hashC.create = () => hashCons();\n return hashC;\n}\nexports.wrapConstructor = wrapConstructor;\nfunction wrapConstructorWithOpts(hashCons) {\n const hashC = (msg, opts) => hashCons(opts).update(toBytes(msg)).digest();\n const tmp = hashCons({});\n hashC.outputLen = tmp.outputLen;\n hashC.blockLen = tmp.blockLen;\n hashC.create = (opts) => hashCons(opts);\n return hashC;\n}\nexports.wrapConstructorWithOpts = wrapConstructorWithOpts;\nfunction wrapXOFConstructorWithOpts(hashCons) {\n const hashC = (msg, opts) => hashCons(opts).update(toBytes(msg)).digest();\n const tmp = hashCons({});\n hashC.outputLen = tmp.outputLen;\n hashC.blockLen = tmp.blockLen;\n hashC.create = (opts) => hashCons(opts);\n return hashC;\n}\nexports.wrapXOFConstructorWithOpts = wrapXOFConstructorWithOpts;\n/**\n * Secure PRNG. Uses `crypto.getRandomValues`, which defers to OS.\n */\nfunction randomBytes(bytesLength = 32) {\n if (crypto_1.crypto && typeof crypto_1.crypto.getRandomValues === 'function') {\n return crypto_1.crypto.getRandomValues(new Uint8Array(bytesLength));\n }\n throw new Error('crypto.getRandomValues must be defined');\n}\nexports.randomBytes = randomBytes;\n//# sourceMappingURL=utils.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.shake256 = exports.shake128 = exports.keccak_512 = exports.keccak_384 = exports.keccak_256 = exports.keccak_224 = exports.sha3_512 = exports.sha3_384 = exports.sha3_256 = exports.sha3_224 = exports.Keccak = exports.keccakP = void 0;\nconst _assert_js_1 = require(\"./_assert.js\");\nconst _u64_js_1 = require(\"./_u64.js\");\nconst utils_js_1 = require(\"./utils.js\");\n// SHA3 (keccak) is based on a new design: basically, the internal state is bigger than output size.\n// It's called a sponge function.\n// Various per round constants calculations\nconst SHA3_PI = [];\nconst SHA3_ROTL = [];\nconst _SHA3_IOTA = [];\nconst _0n = /* @__PURE__ */ BigInt(0);\nconst _1n = /* @__PURE__ */ BigInt(1);\nconst _2n = /* @__PURE__ */ BigInt(2);\nconst _7n = /* @__PURE__ */ BigInt(7);\nconst _256n = /* @__PURE__ */ BigInt(256);\nconst _0x71n = /* @__PURE__ */ BigInt(0x71);\nfor (let round = 0, R = _1n, x = 1, y = 0; round < 24; round++) {\n // Pi\n [x, y] = [y, (2 * x + 3 * y) % 5];\n SHA3_PI.push(2 * (5 * y + x));\n // Rotational\n SHA3_ROTL.push((((round + 1) * (round + 2)) / 2) % 64);\n // Iota\n let t = _0n;\n for (let j = 0; j < 7; j++) {\n R = ((R << _1n) ^ ((R >> _7n) * _0x71n)) % _256n;\n if (R & _2n)\n t ^= _1n << ((_1n << /* @__PURE__ */ BigInt(j)) - _1n);\n }\n _SHA3_IOTA.push(t);\n}\nconst [SHA3_IOTA_H, SHA3_IOTA_L] = /* @__PURE__ */ (0, _u64_js_1.split)(_SHA3_IOTA, true);\n// Left rotation (without 0, 32, 64)\nconst rotlH = (h, l, s) => (s > 32 ? (0, _u64_js_1.rotlBH)(h, l, s) : (0, _u64_js_1.rotlSH)(h, l, s));\nconst rotlL = (h, l, s) => (s > 32 ? (0, _u64_js_1.rotlBL)(h, l, s) : (0, _u64_js_1.rotlSL)(h, l, s));\n// Same as keccakf1600, but allows to skip some rounds\nfunction keccakP(s, rounds = 24) {\n const B = new Uint32Array(5 * 2);\n // NOTE: all indices are x2 since we store state as u32 instead of u64 (bigints to slow in js)\n for (let round = 24 - rounds; round < 24; round++) {\n // Theta θ\n for (let x = 0; x < 10; x++)\n B[x] = s[x] ^ s[x + 10] ^ s[x + 20] ^ s[x + 30] ^ s[x + 40];\n for (let x = 0; x < 10; x += 2) {\n const idx1 = (x + 8) % 10;\n const idx0 = (x + 2) % 10;\n const B0 = B[idx0];\n const B1 = B[idx0 + 1];\n const Th = rotlH(B0, B1, 1) ^ B[idx1];\n const Tl = rotlL(B0, B1, 1) ^ B[idx1 + 1];\n for (let y = 0; y < 50; y += 10) {\n s[x + y] ^= Th;\n s[x + y + 1] ^= Tl;\n }\n }\n // Rho (ρ) and Pi (π)\n let curH = s[2];\n let curL = s[3];\n for (let t = 0; t < 24; t++) {\n const shift = SHA3_ROTL[t];\n const Th = rotlH(curH, curL, shift);\n const Tl = rotlL(curH, curL, shift);\n const PI = SHA3_PI[t];\n curH = s[PI];\n curL = s[PI + 1];\n s[PI] = Th;\n s[PI + 1] = Tl;\n }\n // Chi (χ)\n for (let y = 0; y < 50; y += 10) {\n for (let x = 0; x < 10; x++)\n B[x] = s[y + x];\n for (let x = 0; x < 10; x++)\n s[y + x] ^= ~B[(x + 2) % 10] & B[(x + 4) % 10];\n }\n // Iota (ι)\n s[0] ^= SHA3_IOTA_H[round];\n s[1] ^= SHA3_IOTA_L[round];\n }\n B.fill(0);\n}\nexports.keccakP = keccakP;\nclass Keccak extends utils_js_1.Hash {\n // NOTE: we accept arguments in bytes instead of bits here.\n constructor(blockLen, suffix, outputLen, enableXOF = false, rounds = 24) {\n super();\n this.blockLen = blockLen;\n this.suffix = suffix;\n this.outputLen = outputLen;\n this.enableXOF = enableXOF;\n this.rounds = rounds;\n this.pos = 0;\n this.posOut = 0;\n this.finished = false;\n this.destroyed = false;\n // Can be passed from user as dkLen\n (0, _assert_js_1.number)(outputLen);\n // 1600 = 5x5 matrix of 64bit. 1600 bits === 200 bytes\n if (0 >= this.blockLen || this.blockLen >= 200)\n throw new Error('Sha3 supports only keccak-f1600 function');\n this.state = new Uint8Array(200);\n this.state32 = (0, utils_js_1.u32)(this.state);\n }\n keccak() {\n if (!utils_js_1.isLE)\n (0, utils_js_1.byteSwap32)(this.state32);\n keccakP(this.state32, this.rounds);\n if (!utils_js_1.isLE)\n (0, utils_js_1.byteSwap32)(this.state32);\n this.posOut = 0;\n this.pos = 0;\n }\n update(data) {\n (0, _assert_js_1.exists)(this);\n const { blockLen, state } = this;\n data = (0, utils_js_1.toBytes)(data);\n const len = data.length;\n for (let pos = 0; pos < len;) {\n const take = Math.min(blockLen - this.pos, len - pos);\n for (let i = 0; i < take; i++)\n state[this.pos++] ^= data[pos++];\n if (this.pos === blockLen)\n this.keccak();\n }\n return this;\n }\n finish() {\n if (this.finished)\n return;\n this.finished = true;\n const { state, suffix, pos, blockLen } = this;\n // Do the padding\n state[pos] ^= suffix;\n if ((suffix & 0x80) !== 0 && pos === blockLen - 1)\n this.keccak();\n state[blockLen - 1] ^= 0x80;\n this.keccak();\n }\n writeInto(out) {\n (0, _assert_js_1.exists)(this, false);\n (0, _assert_js_1.bytes)(out);\n this.finish();\n const bufferOut = this.state;\n const { blockLen } = this;\n for (let pos = 0, len = out.length; pos < len;) {\n if (this.posOut >= blockLen)\n this.keccak();\n const take = Math.min(blockLen - this.posOut, len - pos);\n out.set(bufferOut.subarray(this.posOut, this.posOut + take), pos);\n this.posOut += take;\n pos += take;\n }\n return out;\n }\n xofInto(out) {\n // Sha3/Keccak usage with XOF is probably mistake, only SHAKE instances can do XOF\n if (!this.enableXOF)\n throw new Error('XOF is not possible for this instance');\n return this.writeInto(out);\n }\n xof(bytes) {\n (0, _assert_js_1.number)(bytes);\n return this.xofInto(new Uint8Array(bytes));\n }\n digestInto(out) {\n (0, _assert_js_1.output)(out, this);\n if (this.finished)\n throw new Error('digest() was already called');\n this.writeInto(out);\n this.destroy();\n return out;\n }\n digest() {\n return this.digestInto(new Uint8Array(this.outputLen));\n }\n destroy() {\n this.destroyed = true;\n this.state.fill(0);\n }\n _cloneInto(to) {\n const { blockLen, suffix, outputLen, rounds, enableXOF } = this;\n to || (to = new Keccak(blockLen, suffix, outputLen, enableXOF, rounds));\n to.state32.set(this.state32);\n to.pos = this.pos;\n to.posOut = this.posOut;\n to.finished = this.finished;\n to.rounds = rounds;\n // Suffix can change in cSHAKE\n to.suffix = suffix;\n to.outputLen = outputLen;\n to.enableXOF = enableXOF;\n to.destroyed = this.destroyed;\n return to;\n }\n}\nexports.Keccak = Keccak;\nconst gen = (suffix, blockLen, outputLen) => (0, utils_js_1.wrapConstructor)(() => new Keccak(blockLen, suffix, outputLen));\nexports.sha3_224 = gen(0x06, 144, 224 / 8);\n/**\n * SHA3-256 hash function\n * @param message - that would be hashed\n */\nexports.sha3_256 = gen(0x06, 136, 256 / 8);\nexports.sha3_384 = gen(0x06, 104, 384 / 8);\nexports.sha3_512 = gen(0x06, 72, 512 / 8);\nexports.keccak_224 = gen(0x01, 144, 224 / 8);\n/**\n * keccak-256 hash function. Different from SHA3-256.\n * @param message - that would be hashed\n */\nexports.keccak_256 = gen(0x01, 136, 256 / 8);\nexports.keccak_384 = gen(0x01, 104, 384 / 8);\nexports.keccak_512 = gen(0x01, 72, 512 / 8);\nconst genShake = (suffix, blockLen, outputLen) => (0, utils_js_1.wrapXOFConstructorWithOpts)((opts = {}) => new Keccak(blockLen, suffix, opts.dkLen === undefined ? outputLen : opts.dkLen, true));\nexports.shake128 = genShake(0x1f, 168, 128 / 8);\nexports.shake256 = genShake(0x1f, 136, 256 / 8);\n//# sourceMappingURL=sha3.js.map","/* global global, window, module */\nconst { sha3_512: sha3 } = require(\"@noble/hashes/sha3\");\n\nconst defaultLength = 24;\nconst bigLength = 32;\n\nconst createEntropy = (length = 4, random = Math.random) => {\n let entropy = \"\";\n\n while (entropy.length < length) {\n entropy = entropy + Math.floor(random() * 36).toString(36);\n }\n return entropy;\n};\n\n/*\n * Adapted from https://github.com/juanelas/bigint-conversion\n * MIT License Copyright (c) 2018 Juan Hernández Serrano\n */\nfunction bufToBigInt(buf) {\n let bits = 8n;\n\n let value = 0n;\n for (const i of buf.values()) {\n const bi = BigInt(i);\n value = (value << bits) + bi;\n }\n return value;\n}\n\nconst hash = (input = \"\") => {\n // Drop the first character because it will bias the histogram\n // to the left.\n return bufToBigInt(sha3(input)).toString(36).slice(1);\n};\n\nconst alphabet = Array.from({ length: 26 }, (x, i) =>\n String.fromCharCode(i + 97)\n);\n\nconst randomLetter = (random) =>\n alphabet[Math.floor(random() * alphabet.length)];\n\n/*\nThis is a fingerprint of the host environment. It is used to help\nprevent collisions when generating ids in a distributed system.\nIf no global object is available, you can pass in your own, or fall back\non a random string.\n*/\nconst createFingerprint = ({\n globalObj = typeof global !== \"undefined\"\n ? global\n : typeof window !== \"undefined\"\n ? window\n : {},\n random = Math.random,\n} = {}) => {\n const globals = Object.keys(globalObj).toString();\n const sourceString = globals.length\n ? globals + createEntropy(bigLength, random)\n : createEntropy(bigLength, random);\n\n return hash(sourceString).substring(0, bigLength);\n};\n\nconst createCounter = (count) => () => {\n return count++;\n};\n\n// ~22k hosts before 50% chance of initial counter collision\n// with a remaining counter range of 9.0e+15 in JavaScript.\nconst initialCountMax = 476782367;\n\nconst init = ({\n // Fallback if the user does not pass in a CSPRNG. This should be OK\n // because we don't rely solely on the random number generator for entropy.\n // We also use the host fingerprint, current time, and a session counter.\n random = Math.random,\n counter = createCounter(Math.floor(random() * initialCountMax)),\n length = defaultLength,\n fingerprint = createFingerprint({ random }),\n} = {}) => {\n return function cuid2() {\n const firstLetter = randomLetter(random);\n\n // If we're lucky, the `.toString(36)` calls may reduce hashing rounds\n // by shortening the input to the hash function a little.\n const time = Date.now().toString(36);\n const count = counter().toString(36);\n\n // The salt should be long enough to be globally unique across the full\n // length of the hash. For simplicity, we use the same length as the\n // intended id output.\n const salt = createEntropy(length, random);\n const hashInput = `${time + salt + count + fingerprint}`;\n\n return `${firstLetter + hash(hashInput).substring(1, length)}`;\n };\n};\n\nconst createId = init();\n\nconst isCuid = (id, { minLength = 2, maxLength = bigLength } = {}) => {\n const length = id.length;\n const regex = /^[0-9a-z]+$/;\n\n try {\n if (\n typeof id === \"string\" &&\n length >= minLength &&\n length <= maxLength &&\n regex.test(id)\n )\n return true;\n } finally {\n }\n\n return false;\n};\n\nmodule.exports.getConstants = () => ({ defaultLength, bigLength });\nmodule.exports.init = init;\nmodule.exports.createId = createId;\nmodule.exports.bufToBigInt = bufToBigInt;\nmodule.exports.createCounter = createCounter;\nmodule.exports.createFingerprint = createFingerprint;\nmodule.exports.isCuid = isCuid;\n","const { createId, init, getConstants, isCuid } = require(\"./src/index\");\n\nmodule.exports.createId = createId;\nmodule.exports.init = init;\nmodule.exports.getConstants = getConstants;\nmodule.exports.isCuid = isCuid;\n","// src/ws.ts\nif (!globalThis.EventTarget || !globalThis.Event) {\n console.error(`\n PartySocket requires a global 'EventTarget' class to be available!\n You can polyfill this global by adding this to your code before any partysocket imports: \n \n \\`\\`\\`\n import 'partysocket/event-target-polyfill';\n \\`\\`\\`\n Please file an issue at https://github.com/partykit/partykit if you're still having trouble.\n`);\n}\nvar ErrorEvent = class extends Event {\n message;\n error;\n constructor(error, target) {\n super(\"error\", target);\n this.message = error.message;\n this.error = error;\n }\n};\nvar CloseEvent = class extends Event {\n code;\n reason;\n wasClean = true;\n constructor(code = 1e3, reason = \"\", target) {\n super(\"close\", target);\n this.code = code;\n this.reason = reason;\n }\n};\nvar Events = {\n Event,\n ErrorEvent,\n CloseEvent\n};\nfunction assert(condition, msg) {\n if (!condition) {\n throw new Error(msg);\n }\n}\nfunction cloneEventBrowser(e) {\n return new e.constructor(e.type, e);\n}\nfunction cloneEventNode(e) {\n if (\"data\" in e) {\n const evt2 = new MessageEvent(e.type, e);\n return evt2;\n }\n if (\"code\" in e || \"reason\" in e) {\n const evt2 = new CloseEvent(\n // @ts-expect-error we need to fix event/listener types\n e.code || 1999,\n // @ts-expect-error we need to fix event/listener types\n e.reason || \"unknown reason\",\n e\n );\n return evt2;\n }\n if (\"error\" in e) {\n const evt2 = new ErrorEvent(e.error, e);\n return evt2;\n }\n const evt = new Event(e.type, e);\n return evt;\n}\nvar isNode = typeof process !== \"undefined\" && typeof process.versions?.node !== \"undefined\" && typeof document === \"undefined\";\nvar cloneEvent = isNode ? cloneEventNode : cloneEventBrowser;\nvar DEFAULT = {\n maxReconnectionDelay: 1e4,\n minReconnectionDelay: 1e3 + Math.random() * 4e3,\n minUptime: 5e3,\n reconnectionDelayGrowFactor: 1.3,\n connectionTimeout: 4e3,\n maxRetries: Infinity,\n maxEnqueuedMessages: Infinity,\n startClosed: false,\n debug: false\n};\nvar didWarnAboutMissingWebSocket = false;\nvar ReconnectingWebSocket = class _ReconnectingWebSocket extends EventTarget {\n _ws;\n _retryCount = -1;\n _uptimeTimeout;\n _connectTimeout;\n _shouldReconnect = true;\n _connectLock = false;\n _binaryType = \"blob\";\n _closeCalled = false;\n _messageQueue = [];\n _debugLogger = console.log.bind(console);\n _url;\n _protocols;\n _options;\n constructor(url, protocols, options = {}) {\n super();\n this._url = url;\n this._protocols = protocols;\n this._options = options;\n if (this._options.startClosed) {\n this._shouldReconnect = false;\n }\n if (this._options.debugLogger) {\n this._debugLogger = this._options.debugLogger;\n }\n this._connect();\n }\n static get CONNECTING() {\n return 0;\n }\n static get OPEN() {\n return 1;\n }\n static get CLOSING() {\n return 2;\n }\n static get CLOSED() {\n return 3;\n }\n get CONNECTING() {\n return _ReconnectingWebSocket.CONNECTING;\n }\n get OPEN() {\n return _ReconnectingWebSocket.OPEN;\n }\n get CLOSING() {\n return _ReconnectingWebSocket.CLOSING;\n }\n get CLOSED() {\n return _ReconnectingWebSocket.CLOSED;\n }\n get binaryType() {\n return this._ws ? this._ws.binaryType : this._binaryType;\n }\n set binaryType(value) {\n this._binaryType = value;\n if (this._ws) {\n this._ws.binaryType = value;\n }\n }\n /**\n * Returns the number or connection retries\n */\n get retryCount() {\n return Math.max(this._retryCount, 0);\n }\n /**\n * The number of bytes of data that have been queued using calls to send() but not yet\n * transmitted to the network. This value resets to zero once all queued data has been sent.\n * This value does not reset to zero when the connection is closed; if you keep calling send(),\n * this will continue to climb. Read only\n */\n get bufferedAmount() {\n const bytes = this._messageQueue.reduce((acc, message) => {\n if (typeof message === \"string\") {\n acc += message.length;\n } else if (message instanceof Blob) {\n acc += message.size;\n } else {\n acc += message.byteLength;\n }\n return acc;\n }, 0);\n return bytes + (this._ws ? this._ws.bufferedAmount : 0);\n }\n /**\n * The extensions selected by the server. This is currently only the empty string or a list of\n * extensions as negotiated by the connection\n */\n get extensions() {\n return this._ws ? this._ws.extensions : \"\";\n }\n /**\n * A string indicating the name of the sub-protocol the server selected;\n * this will be one of the strings specified in the protocols parameter when creating the\n * WebSocket object\n */\n get protocol() {\n return this._ws ? this._ws.protocol : \"\";\n }\n /**\n * The current state of the connection; this is one of the Ready state constants\n */\n get readyState() {\n if (this._ws) {\n return this._ws.readyState;\n }\n return this._options.startClosed ? _ReconnectingWebSocket.CLOSED : _ReconnectingWebSocket.CONNECTING;\n }\n /**\n * The URL as resolved by the constructor\n */\n get url() {\n return this._ws ? this._ws.url : \"\";\n }\n /**\n * Whether the websocket object is now in reconnectable state\n */\n get shouldReconnect() {\n return this._shouldReconnect;\n }\n /**\n * An event listener to be called when the WebSocket connection's readyState changes to CLOSED\n */\n onclose = null;\n /**\n * An event listener to be called when an error occurs\n */\n onerror = null;\n /**\n * An event listener to be called when a message is received from the server\n */\n onmessage = null;\n /**\n * An event listener to be called when the WebSocket connection's readyState changes to OPEN;\n * this indicates that the connection is ready to send and receive data\n */\n onopen = null;\n /**\n * Closes the WebSocket connection or connection attempt, if any. If the connection is already\n * CLOSED, this method does nothing\n */\n close(code = 1e3, reason) {\n this._closeCalled = true;\n this._shouldReconnect = false;\n this._clearTimeouts();\n if (!this._ws) {\n this._debug(\"close enqueued: no ws instance\");\n return;\n }\n if (this._ws.readyState === this.CLOSED) {\n this._debug(\"close: already closed\");\n return;\n }\n this._ws.close(code, reason);\n }\n /**\n * Closes the WebSocket connection or connection attempt and connects again.\n * Resets retry counter;\n */\n reconnect(code, reason) {\n this._shouldReconnect = true;\n this._closeCalled = false;\n this._retryCount = -1;\n if (!this._ws || this._ws.readyState === this.CLOSED) {\n this._connect();\n } else {\n this._disconnect(code, reason);\n this._connect();\n }\n }\n /**\n * Enqueue specified data to be transmitted to the server over the WebSocket connection\n */\n send(data) {\n if (this._ws && this._ws.readyState === this.OPEN) {\n this._debug(\"send\", data);\n this._ws.send(data);\n } else {\n const { maxEnqueuedMessages = DEFAULT.maxEnqueuedMessages } = this._options;\n if (this._messageQueue.length < maxEnqueuedMessages) {\n this._debug(\"enqueue\", data);\n this._messageQueue.push(data);\n }\n }\n }\n _debug(...args) {\n if (this._options.debug) {\n this._debugLogger(\"RWS>\", ...args);\n }\n }\n _getNextDelay() {\n const {\n reconnectionDelayGrowFactor = DEFAULT.reconnectionDelayGrowFactor,\n minReconnectionDelay = DEFAULT.minReconnectionDelay,\n maxReconnectionDelay = DEFAULT.maxReconnectionDelay\n } = this._options;\n let delay = 0;\n if (this._retryCount > 0) {\n delay = minReconnectionDelay * Math.pow(reconnectionDelayGrowFactor, this._retryCount - 1);\n if (delay > maxReconnectionDelay) {\n delay = maxReconnectionDelay;\n }\n }\n this._debug(\"next delay\", delay);\n return delay;\n }\n _wait() {\n return new Promise((resolve) => {\n setTimeout(resolve, this._getNextDelay());\n });\n }\n _getNextProtocols(protocolsProvider) {\n if (!protocolsProvider)\n return Promise.resolve(null);\n if (typeof protocolsProvider === \"string\" || Array.isArray(protocolsProvider)) {\n return Promise.resolve(protocolsProvider);\n }\n if (typeof protocolsProvider === \"function\") {\n const protocols = protocolsProvider();\n if (!protocols)\n return Promise.resolve(null);\n if (typeof protocols === \"string\" || Array.isArray(protocols)) {\n return Promise.resolve(protocols);\n }\n if (protocols.then) {\n return protocols;\n }\n }\n throw Error(\"Invalid protocols\");\n }\n _getNextUrl(urlProvider) {\n if (typeof urlProvider === \"string\") {\n return Promise.resolve(urlProvider);\n }\n if (typeof urlProvider === \"function\") {\n const url = urlProvider();\n if (typeof url === \"string\") {\n return Promise.resolve(url);\n }\n if (url.then) {\n return url;\n }\n }\n throw Error(\"Invalid URL\");\n }\n _connect() {\n if (this._connectLock || !this._shouldReconnect) {\n return;\n }\n this._connectLock = true;\n const {\n maxRetries = DEFAULT.maxRetries,\n connectionTimeout = DEFAULT.connectionTimeout\n } = this._options;\n if (this._retryCount >= maxRetries) {\n this._debug(\"max retries reached\", this._retryCount, \">=\", maxRetries);\n return;\n }\n this._retryCount++;\n this._debug(\"connect\", this._retryCount);\n this._removeListeners();\n this._wait().then(\n () => Promise.all([\n this._getNextUrl(this._url),\n this._getNextProtocols(this._protocols || null)\n ])\n ).then(([url, protocols]) => {\n if (this._closeCalled) {\n this._connectLock = false;\n return;\n }\n if (!this._options.WebSocket && typeof WebSocket === \"undefined\" && !didWarnAboutMissingWebSocket) {\n console.error(`\\u203C\\uFE0F No WebSocket implementation available. You should define options.WebSocket. \n\nFor example, if you're using node.js, run \\`npm install ws\\`, and then in your code:\n\nimport PartySocket from 'partysocket';\nimport WS from 'ws';\n\nconst partysocket = new PartySocket({\n host: \"127.0.0.1:1999\",\n room: \"test-room\",\n WebSocket: WS\n});\n\n`);\n didWarnAboutMissingWebSocket = true;\n }\n const WS = this._options.WebSocket || WebSocket;\n this._debug(\"connect\", { url, protocols });\n this._ws = protocols ? new WS(url, protocols) : new WS(url);\n this._ws.binaryType = this._binaryType;\n this._connectLock = false;\n this._addListeners();\n this._connectTimeout = setTimeout(\n () => this._handleTimeout(),\n connectionTimeout\n );\n }).catch((err) => {\n this._connectLock = false;\n this._handleError(new Events.ErrorEvent(Error(err.message), this));\n });\n }\n _handleTimeout() {\n this._debug(\"timeout event\");\n this._handleError(new Events.ErrorEvent(Error(\"TIMEOUT\"), this));\n }\n _disconnect(code = 1e3, reason) {\n this._clearTimeouts();\n if (!this._ws) {\n return;\n }\n this._removeListeners();\n try {\n this._ws.close(code, reason);\n this._handleClose(new Events.CloseEvent(code, reason, this));\n } catch (error) {\n }\n }\n _acceptOpen() {\n this._debug(\"accept open\");\n this._retryCount = 0;\n }\n _handleOpen = (event) => {\n this._debug(\"open event\");\n const { minUptime = DEFAULT.minUptime } = this._options;\n clearTimeout(this._connectTimeout);\n this._uptimeTimeout = setTimeout(() => this._acceptOpen(), minUptime);\n assert(this._ws, \"WebSocket is not defined\");\n this._ws.binaryType = this._binaryType;\n this._messageQueue.forEach((message) => this._ws?.send(message));\n this._messageQueue = [];\n if (this.onopen) {\n this.onopen(event);\n }\n this.dispatchEvent(cloneEvent(event));\n };\n _handleMessage = (event) => {\n this._debug(\"message event\");\n if (this.onmessage) {\n this.onmessage(event);\n }\n this.dispatchEvent(cloneEvent(event));\n };\n _handleError = (event) => {\n this._debug(\"error event\", event.message);\n this._disconnect(\n void 0,\n event.message === \"TIMEOUT\" ? \"timeout\" : void 0\n );\n if (this.onerror) {\n this.onerror(event);\n }\n this._debug(\"exec error listeners\");\n this.dispatchEvent(cloneEvent(event));\n this._connect();\n };\n _handleClose = (event) => {\n this._debug(\"close event\");\n this._clearTimeouts();\n if (this._shouldReconnect) {\n this._connect();\n }\n if (this.onclose) {\n this.onclose(event);\n }\n this.dispatchEvent(cloneEvent(event));\n };\n _removeListeners() {\n if (!this._ws) {\n return;\n }\n this._debug(\"removeListeners\");\n this._ws.removeEventListener(\"open\", this._handleOpen);\n this._ws.removeEventListener(\"close\", this._handleClose);\n this._ws.removeEventListener(\"message\", this._handleMessage);\n this._ws.removeEventListener(\"error\", this._handleError);\n }\n _addListeners() {\n if (!this._ws) {\n return;\n }\n this._debug(\"addListeners\");\n this._ws.addEventListener(\"open\", this._handleOpen);\n this._ws.addEventListener(\"close\", this._handleClose);\n this._ws.addEventListener(\"message\", this._handleMessage);\n this._ws.addEventListener(\"error\", this._handleError);\n }\n _clearTimeouts() {\n clearTimeout(this._connectTimeout);\n clearTimeout(this._uptimeTimeout);\n }\n};\n\nexport {\n ErrorEvent,\n CloseEvent,\n ReconnectingWebSocket\n};\n/*!\n * Reconnecting WebSocket\n * by Pedro Ladaria <pedro.ladaria@gmail.com>\n * https://github.com/pladaria/reconnecting-websocket\n * License MIT\n */\n","import {\n ReconnectingWebSocket\n} from \"./chunk-KZ3GGBVP.mjs\";\n\n// src/index.ts\nvar valueIsNotNil = (keyValuePair) => keyValuePair[1] !== null && keyValuePair[1] !== void 0;\nfunction generateUUID() {\n if (typeof crypto !== \"undefined\" && crypto.randomUUID) {\n return crypto.randomUUID();\n }\n let d = (/* @__PURE__ */ new Date()).getTime();\n let d2 = typeof performance !== \"undefined\" && performance.now && performance.now() * 1e3 || 0;\n return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, function(c) {\n let r = Math.random() * 16;\n if (d > 0) {\n r = (d + r) % 16 | 0;\n d = Math.floor(d / 16);\n } else {\n r = (d2 + r) % 16 | 0;\n d2 = Math.floor(d2 / 16);\n }\n return (c === \"x\" ? r : r & 3 | 8).toString(16);\n });\n}\nfunction getPartyInfo(partySocketOptions, defaultProtocol, defaultParams = {}) {\n const {\n host: rawHost,\n path: rawPath,\n protocol: rawProtocol,\n room,\n party,\n query\n } = partySocketOptions;\n let host = rawHost.replace(/^(http|https|ws|wss):\\/\\//, \"\");\n if (host.endsWith(\"/\")) {\n host = host.slice(0, -1);\n }\n if (rawPath && rawPath.startsWith(\"/\")) {\n throw new Error(\"path must not start with a slash\");\n }\n const name = party ?? \"main\";\n const path = rawPath ? `/${rawPath}` : \"\";\n const protocol = rawProtocol || (host.startsWith(\"localhost:\") || host.startsWith(\"127.0.0.1:\") || host.startsWith(\"192.168.\") || host.startsWith(\"10.\") || host.startsWith(\"172.\") && host.split(\".\")[1] >= \"16\" && host.split(\".\")[1] <= \"31\" || host.startsWith(\"[::ffff:7f00:1]:\") ? (\n // http / ws\n defaultProtocol\n ) : (\n // https / wss\n defaultProtocol + \"s\"\n ));\n const baseUrl = `${protocol}://${host}/${party ? `parties/${party}` : \"party\"}/${room}${path}`;\n const makeUrl = (query2 = {}) => `${baseUrl}?${new URLSearchParams([\n ...Object.entries(defaultParams),\n ...Object.entries(query2).filter(valueIsNotNil)\n ])}`;\n const urlProvider = typeof query === \"function\" ? async () => makeUrl(await query()) : makeUrl(query);\n return {\n host,\n path,\n room,\n name,\n protocol,\n partyUrl: baseUrl,\n urlProvider\n };\n}\nvar PartySocket = class extends ReconnectingWebSocket {\n constructor(partySocketOptions) {\n const wsOptions = getWSOptions(partySocketOptions);\n super(wsOptions.urlProvider, wsOptions.protocols, wsOptions.socketOptions);\n this.partySocketOptions = partySocketOptions;\n this.setWSProperties(wsOptions);\n }\n _pk;\n _pkurl;\n name;\n room;\n host;\n path;\n updateProperties(partySocketOptions) {\n const wsOptions = getWSOptions({\n ...this.partySocketOptions,\n ...partySocketOptions,\n host: partySocketOptions.host ?? this.host,\n room: partySocketOptions.room ?? this.room,\n path: partySocketOptions.path ?? this.path\n });\n this._url = wsOptions.urlProvider;\n this._protocols = wsOptions.protocols;\n this._options = wsOptions.socketOptions;\n this.setWSProperties(wsOptions);\n }\n setWSProperties(wsOptions) {\n const { _pk, _pkurl, name, room, host, path } = wsOptions;\n this._pk = _pk;\n this._pkurl = _pkurl;\n this.name = name;\n this.room = room;\n this.host = host;\n this.path = path;\n }\n reconnect(code, reason) {\n if (!this.room || !this.host) {\n throw new Error(\n \"The room and host must be set before connecting, use `updateProperties` method to set them or pass them to the constructor.\"\n );\n }\n super.reconnect(code, reason);\n }\n get id() {\n return this._pk;\n }\n /**\n * Exposes the static PartyKit room URL without applying query parameters.\n * To access the currently connected WebSocket url, use PartySocket#url.\n */\n get roomUrl() {\n return this._pkurl;\n }\n // a `fetch` method that uses (almost) the same options as `PartySocket`\n static async fetch(options, init) {\n const party = getPartyInfo(options, \"http\");\n const url = typeof party.urlProvider === \"string\" ? party.urlProvider : await party.urlProvider();\n const doFetch = options.fetch ?? fetch;\n return doFetch(url, init);\n }\n};\nfunction getWSOptions(partySocketOptions) {\n const {\n id,\n host: _host,\n path: _path,\n party: _party,\n room: _room,\n protocol: _protocol,\n query: _query,\n protocols,\n ...socketOptions\n } = partySocketOptions;\n const _pk = id || generateUUID();\n const party = getPartyInfo(partySocketOptions, \"ws\", { _pk });\n return {\n _pk,\n _pkurl: party.partyUrl,\n name: party.name,\n room: party.room,\n host: party.host,\n path: party.path,\n protocols,\n socketOptions,\n urlProvider: party.urlProvider\n };\n}\n\nexport {\n PartySocket\n};\n","import {\n ReconnectingWebSocket\n} from \"./chunk-KZ3GGBVP.mjs\";\n\n// src/use-handlers.ts\nimport { useEffect, useRef } from \"react\";\nvar useAttachWebSocketEventHandlers = (socket, options) => {\n const handlersRef = useRef(options);\n handlersRef.current = options;\n useEffect(() => {\n const onOpen = (event) => handlersRef.current?.onOpen?.(event);\n const onMessage = (event) => handlersRef.current?.onMessage?.(event);\n const onClose = (event) => handlersRef.current?.onClose?.(event);\n const onError = (event) => handlersRef.current?.onError?.(event);\n socket.addEventListener(\"open\", onOpen);\n socket.addEventListener(\"close\", onClose);\n socket.addEventListener(\"error\", onError);\n socket.addEventListener(\"message\", onMessage);\n return () => {\n socket.removeEventListener(\"open\", onOpen);\n socket.removeEventListener(\"close\", onClose);\n socket.removeEventListener(\"error\", onError);\n socket.removeEventListener(\"message\", onMessage);\n };\n }, [socket]);\n};\n\n// src/use-socket.ts\nimport { useEffect as useEffect2, useMemo, useRef as useRef2, useState } from \"react\";\nvar getOptionsThatShouldCauseRestartWhenChanged = (options) => [\n options.startClosed,\n options.minUptime,\n options.maxRetries,\n options.connectionTimeout,\n options.maxEnqueuedMessages,\n options.maxReconnectionDelay,\n options.minReconnectionDelay,\n options.reconnectionDelayGrowFactor,\n options.debug\n];\nfunction useStableSocket({\n options,\n createSocket,\n createSocketMemoKey: createOptionsMemoKey\n}) {\n const shouldReconnect = createOptionsMemoKey(options);\n const socketOptions = useMemo(() => {\n return options;\n }, [shouldReconnect]);\n const [socket, setSocket] = useState(\n () => (\n // only connect on first mount\n createSocket({ ...socketOptions, startClosed: true })\n )\n );\n const socketInitializedRef = useRef2(null);\n const createSocketRef = useRef2(createSocket);\n createSocketRef.current = createSocket;\n useEffect2(() => {\n if (socketInitializedRef.current === socket) {\n const newSocket = createSocketRef.current({\n ...socketOptions,\n // when reconnecting because of options change, we always reconnect\n // (startClosed only applies to initial mount)\n startClosed: false\n });\n setSocket(newSocket);\n } else {\n if (!socketInitializedRef.current && socketOptions.startClosed !== true) {\n socket.reconnect();\n }\n socketInitializedRef.current = socket;\n return () => {\n socket.close();\n };\n }\n }, [socket, socketOptions]);\n return socket;\n}\n\n// src/use-ws.ts\nfunction useWebSocket(url, protocols, options = {}) {\n const socket = useStableSocket({\n options,\n createSocket: (options2) => new ReconnectingWebSocket(url, protocols, options2),\n createSocketMemoKey: (options2) => JSON.stringify([\n // will reconnect if url or protocols are specified as a string.\n // if they are functions, the WebSocket will handle reconnection\n url,\n protocols,\n ...getOptionsThatShouldCauseRestartWhenChanged(options2)\n ])\n });\n useAttachWebSocketEventHandlers(socket, options);\n return socket;\n}\n\nexport {\n useAttachWebSocketEventHandlers,\n getOptionsThatShouldCauseRestartWhenChanged,\n useStableSocket,\n useWebSocket\n};\n","import {\n PartySocket\n} from \"./chunk-G2EOJEOR.mjs\";\nimport {\n getOptionsThatShouldCauseRestartWhenChanged,\n useAttachWebSocketEventHandlers,\n useStableSocket,\n useWebSocket\n} from \"./chunk-G7CWGN4S.mjs\";\nimport \"./chunk-KZ3GGBVP.mjs\";\n\n// src/react.ts\nfunction usePartySocket(options) {\n const { host, ...otherOptions } = options;\n const socket = useStableSocket({\n options: {\n host: host || (typeof window !== \"undefined\" ? window.location.host : \"dummy-domain.com\"),\n ...otherOptions\n },\n createSocket: (options2) => new PartySocket(options2),\n createSocketMemoKey: (options2) => JSON.stringify([\n // NOTE: if query is defined as a function, the socket\n // won't reconnect when you change the function identity\n options2.query,\n options2.id,\n options2.host,\n options2.room,\n options2.party,\n options2.path,\n options2.protocol,\n options2.protocols,\n ...getOptionsThatShouldCauseRestartWhenChanged(options2)\n ])\n });\n useAttachWebSocketEventHandlers(socket, options);\n return socket;\n}\nexport {\n usePartySocket as default,\n usePartySocket,\n useWebSocket\n};\n","import {\n\tMessageSchema,\n\ttype Message,\n\ttype User,\n\tpartykitRoom,\n\tpartykitBaseUrl,\n} from '@epic-web/workshop-presence/presence'\nimport { createId as cuid } from '@paralleldrive/cuid2'\nimport { useParams, useRouteLoaderData } from '@remix-run/react'\nimport { usePartySocket } from 'partysocket/react'\nimport { createContext, useContext, useEffect, useState } from 'react'\nimport { z } from 'zod'\nimport { useRequestInfo } from './request-info.ts'\nimport { type loader as rootLoader } from '#app/root.tsx'\n\nexport * from '@epic-web/workshop-presence/presence'\n\nconst PresenceContext = createContext<ReturnType<\n\ttypeof usePresenceSocket\n> | null>(null)\n\nexport function usePresencePreferences() {\n\tconst data = useRouteLoaderData<typeof rootLoader>('root')\n\treturn data?.preferences?.presence ?? null\n}\n\nexport function useOptionalWorkshopTitle() {\n\tconst data = useRouteLoaderData<typeof rootLoader>('root')\n\treturn data?.workshopTitle ?? null\n}\n\nconst ExerciseAppParamsSchema = z.object({\n\ttype: z.union([z.literal('problem'), z.literal('solution')]).optional(),\n\texerciseNumber: z.coerce.number().finite(),\n\tstepNumber: z.coerce.number().finite().optional(),\n})\n\nexport function usePresenceSocket(user?: User | null) {\n\tconst workshopTitle = useOptionalWorkshopTitle()\n\tconst requestInfo = useRequestInfo()\n\tconst rawParams = useParams()\n\tconst prefs = usePresencePreferences()\n\tconst data = useRouteLoaderData<typeof rootLoader>('root')\n\tconst [users, setUsers] = useState(data?.presence.users ?? [])\n\tconst [clientId] = useState(() => {\n\t\tif (typeof document === 'undefined') return null\n\t\tif (user) return user.id\n\t\tconst clientId = sessionStorage.getItem('clientId')\n\t\tif (clientId) return clientId\n\t\tconst newClientId = cuid()\n\t\tsessionStorage.setItem('clientId', newClientId)\n\t\treturn newClientId\n\t})\n\n\tconst socket = usePartySocket({\n\t\thost: new URL(partykitBaseUrl).host,\n\t\troom: partykitRoom,\n\t\tonMessage(evt: MessageEvent) {\n\t\t\tconst messageResult = MessageSchema.safeParse(\n\t\t\t\tJSON.parse(String(evt.data)),\n\t\t\t)\n\t\t\tif (!messageResult.success) return\n\t\t\tif (messageResult.data.type === 'presence') {\n\t\t\t\tsetUsers(messageResult.data.payload.users)\n\t\t\t}\n\t\t},\n\t})\n\n\tconst paramsResult = ExerciseAppParamsSchema.safeParse(rawParams)\n\tconst params = paramsResult.success ? paramsResult.data : null\n\tconst location = {\n\t\tworkshopTitle,\n\t\torigin: requestInfo.origin,\n\t\t...(params\n\t\t\t? {\n\t\t\t\t\texercise: {\n\t\t\t\t\t\ttype: params.type,\n\t\t\t\t\t\texerciseNumber: params.exerciseNumber,\n\t\t\t\t\t\tstepNumber: params.stepNumber,\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t: null),\n\t} satisfies User['location']\n\n\tlet message: Message | null = null\n\tif ((!user || prefs?.optOut) && clientId) {\n\t\tif (user) {\n\t\t\tmessage = { type: 'remove-user', payload: { id: user.id } }\n\t\t}\n\t\tmessage = { type: 'add-user', payload: { id: clientId, location } }\n\t} else if (user) {\n\t\tmessage = {\n\t\t\ttype: 'add-user',\n\t\t\tpayload: {\n\t\t\t\tid: user.id,\n\t\t\t\tname: user.name,\n\t\t\t\tavatarUrl: user.avatarUrl,\n\t\t\t\tlocation,\n\t\t\t},\n\t\t}\n\t}\n\n\tconst messageJson = message ? JSON.stringify(message) : null\n\tuseEffect(() => {\n\t\tif (messageJson) socket.send(messageJson)\n\t}, [messageJson, socket])\n\n\tconst scoredUsers = scoreUsers(location, users)\n\n\treturn { users: scoredUsers }\n}\n\nfunction scoreUsers(location: User['location'], users: Array<User>) {\n\tconst scoredUsers = users.map(user => {\n\t\tlet score = 0\n\t\tconst available = 4\n\t\tif (location?.workshopTitle === user.location?.workshopTitle) {\n\t\t\tscore += 1\n\t\t\tif (\n\t\t\t\tlocation?.exercise?.exerciseNumber &&\n\t\t\t\tlocation.exercise.exerciseNumber ===\n\t\t\t\t\tuser.location?.exercise?.exerciseNumber\n\t\t\t) {\n\t\t\t\tscore += 1\n\t\t\t\tif (\n\t\t\t\t\tlocation.exercise.stepNumber &&\n\t\t\t\t\tlocation.exercise.stepNumber === user.location.exercise.stepNumber\n\t\t\t\t) {\n\t\t\t\t\tscore += 1\n\t\t\t\t\tif (\n\t\t\t\t\t\tlocation.exercise.type &&\n\t\t\t\t\t\tlocation.exercise.type === user.location.exercise.type\n\t\t\t\t\t) {\n\t\t\t\t\t\tscore += 1\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn { user, score: Math.floor((score / available) * 10) / 10 }\n\t})\n\treturn scoredUsers.sort((a, b) => {\n\t\tif (a.score === b.score) return 0\n\t\treturn a.score > b.score ? -1 : 1\n\t})\n}\n\nexport function Presence({\n\tuser,\n\tchildren,\n}: {\n\tuser?: User | null\n\tchildren: React.ReactNode\n}) {\n\treturn (\n\t\t<PresenceContext.Provider value={usePresenceSocket(user)}>\n\t\t\t{children}\n\t\t</PresenceContext.Provider>\n\t)\n}\n\nexport function usePresence() {\n\tconst presence = useContext(PresenceContext)\n\tif (!presence) {\n\t\tthrow new Error('usePresence must be used within a PresenceProvider')\n\t}\n\treturn presence\n}\n"],"names":["partykitRoom","partykitBaseUrl","UserSchema","z","MessageSchema","_assert","number","n","bool","b","isBytes","a","bytes","lengths","hash","h","exists","instance","checkFinished","output","out","min","assert","_u64","U32_MASK64","_32n","fromBig","le","split","lst","Ah","Al","i","l","toBig","shrSH","_l","s","shrSL","rotrSH","rotrSL","rotrBH","rotrBL","rotr32H","_h","rotr32L","rotlSH","rotlSL","rotlBH","rotlBL","add","Bh","Bl","add3L","Cl","add3H","low","Ch","add4L","Dl","add4H","Dh","add5L","El","add5H","Eh","u64","crypto","exports","crypto_1","require$$0","_assert_js_1","require$$1","u8","arr","u32","createView","rotr","word","shift","rotl","byteSwap","byteSwap32","hexes","_","bytesToHex","hex","asciis","asciiToBase16","char","hexToBytes","hl","al","array","ai","hi","n1","n2","nextTick","asyncLoop","iters","tick","cb","ts","diff","utf8ToBytes","str","toBytes","data","concatBytes","arrays","sum","res","pad","Hash","toStr","checkOpts","defaults","opts","wrapConstructor","hashCons","hashC","msg","tmp","wrapConstructorWithOpts","wrapXOFConstructorWithOpts","randomBytes","bytesLength","sha3","_u64_js_1","utils_js_1","require$$2","SHA3_PI","SHA3_ROTL","_SHA3_IOTA","_0n","_1n","_2n","_7n","_256n","_0x71n","round","R","x","y","t","j","SHA3_IOTA_H","SHA3_IOTA_L","rotlH","rotlL","keccakP","rounds","B","idx1","idx0","B0","B1","Th","Tl","curH","curL","PI","Keccak","blockLen","suffix","outputLen","enableXOF","state","len","pos","take","bufferOut","to","gen","genShake","defaultLength","bigLength","createEntropy","length","random","entropy","bufToBigInt","buf","bits","value","bi","input","alphabet","randomLetter","createFingerprint","globalObj","global","globals","sourceString","createCounter","count","initialCountMax","init","counter","fingerprint","firstLetter","time","salt","hashInput","createId","isCuid","id","minLength","maxLength","regex","src","getConstants","createId_1","ErrorEvent","error","target","__publicField","CloseEvent","code","reason","Events","condition","cloneEventBrowser","e","cloneEventNode","isNode","_a","cloneEvent","DEFAULT","didWarnAboutMissingWebSocket","ReconnectingWebSocket","_ReconnectingWebSocket","url","protocols","options","event","minUptime","message","acc","maxEnqueuedMessages","args","reconnectionDelayGrowFactor","minReconnectionDelay","maxReconnectionDelay","delay","resolve","protocolsProvider","urlProvider","maxRetries","connectionTimeout","WS","err","valueIsNotNil","keyValuePair","generateUUID","d","d2","c","r","getPartyInfo","partySocketOptions","defaultProtocol","defaultParams","rawHost","rawPath","rawProtocol","room","party","query","host","name","path","protocol","baseUrl","makeUrl","query2","PartySocket","wsOptions","getWSOptions","_pk","_pkurl","_host","_path","_party","_room","_protocol","_query","socketOptions","useAttachWebSocketEventHandlers","socket","handlersRef","useRef","useEffect","onOpen","_b","onMessage","onClose","onError","getOptionsThatShouldCauseRestartWhenChanged","useStableSocket","createSocket","createOptionsMemoKey","shouldReconnect","useMemo","setSocket","useState","socketInitializedRef","useRef2","createSocketRef","useEffect2","newSocket","usePartySocket","otherOptions","options2","PresenceContext","createContext","usePresencePreferences","useRouteLoaderData","useOptionalWorkshopTitle","ExerciseAppParamsSchema","usePresenceSocket","user","workshopTitle","requestInfo","useRequestInfo","rawParams","useParams","prefs","users","setUsers","clientId","newClientId","cuid","evt","messageResult","paramsResult","params","location","messageJson","scoreUsers","score","available","_d","_c","Presence","children","jsx","usePresence","presence","useContext"],"mappings":"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","x_google_ignoreList":[1,2,3,4,5,6,7,8,9,10,11]}
@@ -0,0 +1,2 @@
1
+ import{b as Ee}from"./components-Dj3sm47B.js";var g;(function(r){r.assertEqual=n=>n;function e(n){}r.assertIs=e;function t(n){throw new Error}r.assertNever=t,r.arrayToEnum=n=>{const a={};for(const i of n)a[i]=i;return a},r.getValidEnumValues=n=>{const a=r.objectKeys(n).filter(o=>typeof n[n[o]]!="number"),i={};for(const o of a)i[o]=n[o];return r.objectValues(i)},r.objectValues=n=>r.objectKeys(n).map(function(a){return n[a]}),r.objectKeys=typeof Object.keys=="function"?n=>Object.keys(n):n=>{const a=[];for(const i in n)Object.prototype.hasOwnProperty.call(n,i)&&a.push(i);return a},r.find=(n,a)=>{for(const i of n)if(a(i))return i},r.isInteger=typeof Number.isInteger=="function"?n=>Number.isInteger(n):n=>typeof n=="number"&&isFinite(n)&&Math.floor(n)===n;function s(n,a=" | "){return n.map(i=>typeof i=="string"?`'${i}'`:i).join(a)}r.joinValues=s,r.jsonStringifyReplacer=(n,a)=>typeof a=="bigint"?a.toString():a})(g||(g={}));var ye;(function(r){r.mergeShapes=(e,t)=>({...e,...t})})(ye||(ye={}));const u=g.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),R=r=>{switch(typeof r){case"undefined":return u.undefined;case"string":return u.string;case"number":return isNaN(r)?u.nan:u.number;case"boolean":return u.boolean;case"function":return u.function;case"bigint":return u.bigint;case"symbol":return u.symbol;case"object":return Array.isArray(r)?u.array:r===null?u.null:r.then&&typeof r.then=="function"&&r.catch&&typeof r.catch=="function"?u.promise:typeof Map<"u"&&r instanceof Map?u.map:typeof Set<"u"&&r instanceof Set?u.set:typeof Date<"u"&&r instanceof Date?u.date:u.object;default:return u.unknown}},d=g.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),Ie=r=>JSON.stringify(r,null,2).replace(/"([^"]+)":/g,"$1:");class Z extends Error{constructor(e){super(),this.issues=[],this.addIssue=s=>{this.issues=[...this.issues,s]},this.addIssues=(s=[])=>{this.issues=[...this.issues,...s]};const t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name="ZodError",this.issues=e}get errors(){return this.issues}format(e){const t=e||function(a){return a.message},s={_errors:[]},n=a=>{for(const i of a.issues)if(i.code==="invalid_union")i.unionErrors.map(n);else if(i.code==="invalid_return_type")n(i.returnTypeError);else if(i.code==="invalid_arguments")n(i.argumentsError);else if(i.path.length===0)s._errors.push(t(i));else{let o=s,f=0;for(;f<i.path.length;){const c=i.path[f];f===i.path.length-1?(o[c]=o[c]||{_errors:[]},o[c]._errors.push(t(i))):o[c]=o[c]||{_errors:[]},o=o[c],f++}}};return n(this),s}toString(){return this.message}get message(){return JSON.stringify(this.issues,g.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=t=>t.message){const t={},s=[];for(const n of this.issues)n.path.length>0?(t[n.path[0]]=t[n.path[0]]||[],t[n.path[0]].push(e(n))):s.push(e(n));return{formErrors:s,fieldErrors:t}}get formErrors(){return this.flatten()}}Z.create=r=>new Z(r);const q=(r,e)=>{let t;switch(r.code){case d.invalid_type:r.received===u.undefined?t="Required":t=`Expected ${r.expected}, received ${r.received}`;break;case d.invalid_literal:t=`Invalid literal value, expected ${JSON.stringify(r.expected,g.jsonStringifyReplacer)}`;break;case d.unrecognized_keys:t=`Unrecognized key(s) in object: ${g.joinValues(r.keys,", ")}`;break;case d.invalid_union:t="Invalid input";break;case d.invalid_union_discriminator:t=`Invalid discriminator value. Expected ${g.joinValues(r.options)}`;break;case d.invalid_enum_value:t=`Invalid enum value. Expected ${g.joinValues(r.options)}, received '${r.received}'`;break;case d.invalid_arguments:t="Invalid function arguments";break;case d.invalid_return_type:t="Invalid function return type";break;case d.invalid_date:t="Invalid date";break;case d.invalid_string:typeof r.validation=="object"?"includes"in r.validation?(t=`Invalid input: must include "${r.validation.includes}"`,typeof r.validation.position=="number"&&(t=`${t} at one or more positions greater than or equal to ${r.validation.position}`)):"startsWith"in r.validation?t=`Invalid input: must start with "${r.validation.startsWith}"`:"endsWith"in r.validation?t=`Invalid input: must end with "${r.validation.endsWith}"`:g.assertNever(r.validation):r.validation!=="regex"?t=`Invalid ${r.validation}`:t="Invalid";break;case d.too_small:r.type==="array"?t=`Array must contain ${r.exact?"exactly":r.inclusive?"at least":"more than"} ${r.minimum} element(s)`:r.type==="string"?t=`String must contain ${r.exact?"exactly":r.inclusive?"at least":"over"} ${r.minimum} character(s)`:r.type==="number"?t=`Number must be ${r.exact?"exactly equal to ":r.inclusive?"greater than or equal to ":"greater than "}${r.minimum}`:r.type==="date"?t=`Date must be ${r.exact?"exactly equal to ":r.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(r.minimum))}`:t="Invalid input";break;case d.too_big:r.type==="array"?t=`Array must contain ${r.exact?"exactly":r.inclusive?"at most":"less than"} ${r.maximum} element(s)`:r.type==="string"?t=`String must contain ${r.exact?"exactly":r.inclusive?"at most":"under"} ${r.maximum} character(s)`:r.type==="number"?t=`Number must be ${r.exact?"exactly":r.inclusive?"less than or equal to":"less than"} ${r.maximum}`:r.type==="bigint"?t=`BigInt must be ${r.exact?"exactly":r.inclusive?"less than or equal to":"less than"} ${r.maximum}`:r.type==="date"?t=`Date must be ${r.exact?"exactly":r.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(r.maximum))}`:t="Invalid input";break;case d.custom:t="Invalid input";break;case d.invalid_intersection_types:t="Intersection results could not be merged";break;case d.not_multiple_of:t=`Number must be a multiple of ${r.multipleOf}`;break;case d.not_finite:t="Number must be finite";break;default:t=e.defaultError,g.assertNever(r)}return{message:t}};let be=q;function Re(r){be=r}function ne(){return be}const ae=r=>{const{data:e,path:t,errorMaps:s,issueData:n}=r,a=[...t,...n.path||[]],i={...n,path:a};let o="";const f=s.filter(c=>!!c).slice().reverse();for(const c of f)o=c(i,{data:e,defaultError:o}).message;return{...n,path:a,message:n.message||o}},je=[];function l(r,e){const t=ae({issueData:e,data:r.data,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,ne(),q].filter(s=>!!s)});r.common.issues.push(t)}class k{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,t){const s=[];for(const n of t){if(n.status==="aborted")return m;n.status==="dirty"&&e.dirty(),s.push(n.value)}return{status:e.value,value:s}}static async mergeObjectAsync(e,t){const s=[];for(const n of t)s.push({key:await n.key,value:await n.value});return k.mergeObjectSync(e,s)}static mergeObjectSync(e,t){const s={};for(const n of t){const{key:a,value:i}=n;if(a.status==="aborted"||i.status==="aborted")return m;a.status==="dirty"&&e.dirty(),i.status==="dirty"&&e.dirty(),a.value!=="__proto__"&&(typeof i.value<"u"||n.alwaysSet)&&(s[a.value]=i.value)}return{status:e.value,value:s}}}const m=Object.freeze({status:"aborted"}),we=r=>({status:"dirty",value:r}),b=r=>({status:"valid",value:r}),ve=r=>r.status==="aborted",_e=r=>r.status==="dirty",W=r=>r.status==="valid",ie=r=>typeof Promise<"u"&&r instanceof Promise;var h;(function(r){r.errToObj=e=>typeof e=="string"?{message:e}:e||{},r.toString=e=>typeof e=="string"?e:e==null?void 0:e.message})(h||(h={}));class C{constructor(e,t,s,n){this._cachedPath=[],this.parent=e,this.data=t,this._path=s,this._key=n}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const xe=(r,e)=>{if(W(e))return{success:!0,data:e.value};if(!r.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const t=new Z(r.common.issues);return this._error=t,this._error}}};function y(r){if(!r)return{};const{errorMap:e,invalid_type_error:t,required_error:s,description:n}=r;if(e&&(t||s))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:n}:{errorMap:(i,o)=>i.code!=="invalid_type"?{message:o.defaultError}:typeof o.data>"u"?{message:s??o.defaultError}:{message:t??o.defaultError},description:n}}class v{constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this)}get description(){return this._def.description}_getType(e){return R(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:R(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new k,ctx:{common:e.parent.common,data:e.data,parsedType:R(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){const t=this._parse(e);if(ie(t))throw new Error("Synchronous parse encountered promise.");return t}_parseAsync(e){const t=this._parse(e);return Promise.resolve(t)}parse(e,t){const s=this.safeParse(e,t);if(s.success)return s.data;throw s.error}safeParse(e,t){var s;const n={common:{issues:[],async:(s=t==null?void 0:t.async)!==null&&s!==void 0?s:!1,contextualErrorMap:t==null?void 0:t.errorMap},path:(t==null?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:R(e)},a=this._parseSync({data:e,path:n.path,parent:n});return xe(n,a)}async parseAsync(e,t){const s=await this.safeParseAsync(e,t);if(s.success)return s.data;throw s.error}async safeParseAsync(e,t){const s={common:{issues:[],contextualErrorMap:t==null?void 0:t.errorMap,async:!0},path:(t==null?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:R(e)},n=this._parse({data:e,path:s.path,parent:s}),a=await(ie(n)?n:Promise.resolve(n));return xe(s,a)}refine(e,t){const s=n=>typeof t=="string"||typeof t>"u"?{message:t}:typeof t=="function"?t(n):t;return this._refinement((n,a)=>{const i=e(n),o=()=>a.addIssue({code:d.custom,...s(n)});return typeof Promise<"u"&&i instanceof Promise?i.then(f=>f?!0:(o(),!1)):i?!0:(o(),!1)})}refinement(e,t){return this._refinement((s,n)=>e(s)?!0:(n.addIssue(typeof t=="function"?t(s,n):t),!1))}_refinement(e){return new N({schema:this,typeName:p.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}optional(){return E.create(this,this._def)}nullable(){return L.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return S.create(this,this._def)}promise(){return B.create(this,this._def)}or(e){return G.create([this,e],this._def)}and(e){return X.create(this,e,this._def)}transform(e){return new N({...y(this._def),schema:this,typeName:p.ZodEffects,effect:{type:"transform",transform:e}})}default(e){const t=typeof e=="function"?e:()=>e;return new te({...y(this._def),innerType:this,defaultValue:t,typeName:p.ZodDefault})}brand(){return new Ze({typeName:p.ZodBranded,type:this,...y(this._def)})}catch(e){const t=typeof e=="function"?e:()=>e;return new ue({...y(this._def),innerType:this,catchValue:t,typeName:p.ZodCatch})}describe(e){const t=this.constructor;return new t({...this._def,description:e})}pipe(e){return re.create(this,e)}readonly(){return fe.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const Ae=/^c[^\s-]{8,}$/i,Me=/^[a-z][a-z0-9]*$/,Pe=/^[0-9A-HJKMNP-TV-Z]{26}$/,Ve=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,$e=/^(?!\.)(?!.*\.\.)([A-Z0-9_+-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Le="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let me;const De=/^(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))$/,ze=/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,Ue=r=>r.precision?r.offset?new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${r.precision}}(([+-]\\d{2}(:?\\d{2})?)|Z)$`):new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${r.precision}}Z$`):r.precision===0?r.offset?new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(([+-]\\d{2}(:?\\d{2})?)|Z)$"):new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"):r.offset?new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?(([+-]\\d{2}(:?\\d{2})?)|Z)$"):new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?Z$");function Be(r,e){return!!((e==="v4"||!e)&&De.test(r)||(e==="v6"||!e)&&ze.test(r))}class T extends v{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==u.string){const a=this._getOrReturnCtx(e);return l(a,{code:d.invalid_type,expected:u.string,received:a.parsedType}),m}const s=new k;let n;for(const a of this._def.checks)if(a.kind==="min")e.data.length<a.value&&(n=this._getOrReturnCtx(e,n),l(n,{code:d.too_small,minimum:a.value,type:"string",inclusive:!0,exact:!1,message:a.message}),s.dirty());else if(a.kind==="max")e.data.length>a.value&&(n=this._getOrReturnCtx(e,n),l(n,{code:d.too_big,maximum:a.value,type:"string",inclusive:!0,exact:!1,message:a.message}),s.dirty());else if(a.kind==="length"){const i=e.data.length>a.value,o=e.data.length<a.value;(i||o)&&(n=this._getOrReturnCtx(e,n),i?l(n,{code:d.too_big,maximum:a.value,type:"string",inclusive:!0,exact:!0,message:a.message}):o&&l(n,{code:d.too_small,minimum:a.value,type:"string",inclusive:!0,exact:!0,message:a.message}),s.dirty())}else if(a.kind==="email")$e.test(e.data)||(n=this._getOrReturnCtx(e,n),l(n,{validation:"email",code:d.invalid_string,message:a.message}),s.dirty());else if(a.kind==="emoji")me||(me=new RegExp(Le,"u")),me.test(e.data)||(n=this._getOrReturnCtx(e,n),l(n,{validation:"emoji",code:d.invalid_string,message:a.message}),s.dirty());else if(a.kind==="uuid")Ve.test(e.data)||(n=this._getOrReturnCtx(e,n),l(n,{validation:"uuid",code:d.invalid_string,message:a.message}),s.dirty());else if(a.kind==="cuid")Ae.test(e.data)||(n=this._getOrReturnCtx(e,n),l(n,{validation:"cuid",code:d.invalid_string,message:a.message}),s.dirty());else if(a.kind==="cuid2")Me.test(e.data)||(n=this._getOrReturnCtx(e,n),l(n,{validation:"cuid2",code:d.invalid_string,message:a.message}),s.dirty());else if(a.kind==="ulid")Pe.test(e.data)||(n=this._getOrReturnCtx(e,n),l(n,{validation:"ulid",code:d.invalid_string,message:a.message}),s.dirty());else if(a.kind==="url")try{new URL(e.data)}catch{n=this._getOrReturnCtx(e,n),l(n,{validation:"url",code:d.invalid_string,message:a.message}),s.dirty()}else a.kind==="regex"?(a.regex.lastIndex=0,a.regex.test(e.data)||(n=this._getOrReturnCtx(e,n),l(n,{validation:"regex",code:d.invalid_string,message:a.message}),s.dirty())):a.kind==="trim"?e.data=e.data.trim():a.kind==="includes"?e.data.includes(a.value,a.position)||(n=this._getOrReturnCtx(e,n),l(n,{code:d.invalid_string,validation:{includes:a.value,position:a.position},message:a.message}),s.dirty()):a.kind==="toLowerCase"?e.data=e.data.toLowerCase():a.kind==="toUpperCase"?e.data=e.data.toUpperCase():a.kind==="startsWith"?e.data.startsWith(a.value)||(n=this._getOrReturnCtx(e,n),l(n,{code:d.invalid_string,validation:{startsWith:a.value},message:a.message}),s.dirty()):a.kind==="endsWith"?e.data.endsWith(a.value)||(n=this._getOrReturnCtx(e,n),l(n,{code:d.invalid_string,validation:{endsWith:a.value},message:a.message}),s.dirty()):a.kind==="datetime"?Ue(a).test(e.data)||(n=this._getOrReturnCtx(e,n),l(n,{code:d.invalid_string,validation:"datetime",message:a.message}),s.dirty()):a.kind==="ip"?Be(e.data,a.version)||(n=this._getOrReturnCtx(e,n),l(n,{validation:"ip",code:d.invalid_string,message:a.message}),s.dirty()):g.assertNever(a);return{status:s.value,value:e.data}}_regex(e,t,s){return this.refinement(n=>e.test(n),{validation:t,code:d.invalid_string,...h.errToObj(s)})}_addCheck(e){return new T({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...h.errToObj(e)})}url(e){return this._addCheck({kind:"url",...h.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...h.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...h.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...h.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...h.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...h.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...h.errToObj(e)})}datetime(e){var t;return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof(e==null?void 0:e.precision)>"u"?null:e==null?void 0:e.precision,offset:(t=e==null?void 0:e.offset)!==null&&t!==void 0?t:!1,...h.errToObj(e==null?void 0:e.message)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...h.errToObj(t)})}includes(e,t){return this._addCheck({kind:"includes",value:e,position:t==null?void 0:t.position,...h.errToObj(t==null?void 0:t.message)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...h.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...h.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...h.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...h.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...h.errToObj(t)})}nonempty(e){return this.min(1,h.errToObj(e))}trim(){return new T({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new T({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new T({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get minLength(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}}T.create=r=>{var e;return new T({checks:[],typeName:p.ZodString,coerce:(e=r==null?void 0:r.coerce)!==null&&e!==void 0?e:!1,...y(r)})};function qe(r,e){const t=(r.toString().split(".")[1]||"").length,s=(e.toString().split(".")[1]||"").length,n=t>s?t:s,a=parseInt(r.toFixed(n).replace(".","")),i=parseInt(e.toFixed(n).replace(".",""));return a%i/Math.pow(10,n)}class j extends v{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==u.number){const a=this._getOrReturnCtx(e);return l(a,{code:d.invalid_type,expected:u.number,received:a.parsedType}),m}let s;const n=new k;for(const a of this._def.checks)a.kind==="int"?g.isInteger(e.data)||(s=this._getOrReturnCtx(e,s),l(s,{code:d.invalid_type,expected:"integer",received:"float",message:a.message}),n.dirty()):a.kind==="min"?(a.inclusive?e.data<a.value:e.data<=a.value)&&(s=this._getOrReturnCtx(e,s),l(s,{code:d.too_small,minimum:a.value,type:"number",inclusive:a.inclusive,exact:!1,message:a.message}),n.dirty()):a.kind==="max"?(a.inclusive?e.data>a.value:e.data>=a.value)&&(s=this._getOrReturnCtx(e,s),l(s,{code:d.too_big,maximum:a.value,type:"number",inclusive:a.inclusive,exact:!1,message:a.message}),n.dirty()):a.kind==="multipleOf"?qe(e.data,a.value)!==0&&(s=this._getOrReturnCtx(e,s),l(s,{code:d.not_multiple_of,multipleOf:a.value,message:a.message}),n.dirty()):a.kind==="finite"?Number.isFinite(e.data)||(s=this._getOrReturnCtx(e,s),l(s,{code:d.not_finite,message:a.message}),n.dirty()):g.assertNever(a);return{status:n.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,h.toString(t))}gt(e,t){return this.setLimit("min",e,!1,h.toString(t))}lte(e,t){return this.setLimit("max",e,!0,h.toString(t))}lt(e,t){return this.setLimit("max",e,!1,h.toString(t))}setLimit(e,t,s,n){return new j({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:s,message:h.toString(n)}]})}_addCheck(e){return new j({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:h.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:h.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:h.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:h.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:h.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:h.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:h.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:h.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:h.toString(e)})}get minValue(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&g.isInteger(e.value))}get isFinite(){let e=null,t=null;for(const s of this._def.checks){if(s.kind==="finite"||s.kind==="int"||s.kind==="multipleOf")return!0;s.kind==="min"?(t===null||s.value>t)&&(t=s.value):s.kind==="max"&&(e===null||s.value<e)&&(e=s.value)}return Number.isFinite(t)&&Number.isFinite(e)}}j.create=r=>new j({checks:[],typeName:p.ZodNumber,coerce:(r==null?void 0:r.coerce)||!1,...y(r)});class A extends v{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce&&(e.data=BigInt(e.data)),this._getType(e)!==u.bigint){const a=this._getOrReturnCtx(e);return l(a,{code:d.invalid_type,expected:u.bigint,received:a.parsedType}),m}let s;const n=new k;for(const a of this._def.checks)a.kind==="min"?(a.inclusive?e.data<a.value:e.data<=a.value)&&(s=this._getOrReturnCtx(e,s),l(s,{code:d.too_small,type:"bigint",minimum:a.value,inclusive:a.inclusive,message:a.message}),n.dirty()):a.kind==="max"?(a.inclusive?e.data>a.value:e.data>=a.value)&&(s=this._getOrReturnCtx(e,s),l(s,{code:d.too_big,type:"bigint",maximum:a.value,inclusive:a.inclusive,message:a.message}),n.dirty()):a.kind==="multipleOf"?e.data%a.value!==BigInt(0)&&(s=this._getOrReturnCtx(e,s),l(s,{code:d.not_multiple_of,multipleOf:a.value,message:a.message}),n.dirty()):g.assertNever(a);return{status:n.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,h.toString(t))}gt(e,t){return this.setLimit("min",e,!1,h.toString(t))}lte(e,t){return this.setLimit("max",e,!0,h.toString(t))}lt(e,t){return this.setLimit("max",e,!1,h.toString(t))}setLimit(e,t,s,n){return new A({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:s,message:h.toString(n)}]})}_addCheck(e){return new A({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:h.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:h.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:h.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:h.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:h.toString(t)})}get minValue(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}}A.create=r=>{var e;return new A({checks:[],typeName:p.ZodBigInt,coerce:(e=r==null?void 0:r.coerce)!==null&&e!==void 0?e:!1,...y(r)})};class J extends v{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==u.boolean){const s=this._getOrReturnCtx(e);return l(s,{code:d.invalid_type,expected:u.boolean,received:s.parsedType}),m}return b(e.data)}}J.create=r=>new J({typeName:p.ZodBoolean,coerce:(r==null?void 0:r.coerce)||!1,...y(r)});class V extends v{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==u.date){const a=this._getOrReturnCtx(e);return l(a,{code:d.invalid_type,expected:u.date,received:a.parsedType}),m}if(isNaN(e.data.getTime())){const a=this._getOrReturnCtx(e);return l(a,{code:d.invalid_date}),m}const s=new k;let n;for(const a of this._def.checks)a.kind==="min"?e.data.getTime()<a.value&&(n=this._getOrReturnCtx(e,n),l(n,{code:d.too_small,message:a.message,inclusive:!0,exact:!1,minimum:a.value,type:"date"}),s.dirty()):a.kind==="max"?e.data.getTime()>a.value&&(n=this._getOrReturnCtx(e,n),l(n,{code:d.too_big,message:a.message,inclusive:!0,exact:!1,maximum:a.value,type:"date"}),s.dirty()):g.assertNever(a);return{status:s.value,value:new Date(e.data.getTime())}}_addCheck(e){return new V({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:h.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:h.toString(t)})}get minDate(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e!=null?new Date(e):null}}V.create=r=>new V({checks:[],coerce:(r==null?void 0:r.coerce)||!1,typeName:p.ZodDate,...y(r)});class oe extends v{_parse(e){if(this._getType(e)!==u.symbol){const s=this._getOrReturnCtx(e);return l(s,{code:d.invalid_type,expected:u.symbol,received:s.parsedType}),m}return b(e.data)}}oe.create=r=>new oe({typeName:p.ZodSymbol,...y(r)});class Y extends v{_parse(e){if(this._getType(e)!==u.undefined){const s=this._getOrReturnCtx(e);return l(s,{code:d.invalid_type,expected:u.undefined,received:s.parsedType}),m}return b(e.data)}}Y.create=r=>new Y({typeName:p.ZodUndefined,...y(r)});class H extends v{_parse(e){if(this._getType(e)!==u.null){const s=this._getOrReturnCtx(e);return l(s,{code:d.invalid_type,expected:u.null,received:s.parsedType}),m}return b(e.data)}}H.create=r=>new H({typeName:p.ZodNull,...y(r)});class U extends v{constructor(){super(...arguments),this._any=!0}_parse(e){return b(e.data)}}U.create=r=>new U({typeName:p.ZodAny,...y(r)});class P extends v{constructor(){super(...arguments),this._unknown=!0}_parse(e){return b(e.data)}}P.create=r=>new P({typeName:p.ZodUnknown,...y(r)});class I extends v{_parse(e){const t=this._getOrReturnCtx(e);return l(t,{code:d.invalid_type,expected:u.never,received:t.parsedType}),m}}I.create=r=>new I({typeName:p.ZodNever,...y(r)});class de extends v{_parse(e){if(this._getType(e)!==u.undefined){const s=this._getOrReturnCtx(e);return l(s,{code:d.invalid_type,expected:u.void,received:s.parsedType}),m}return b(e.data)}}de.create=r=>new de({typeName:p.ZodVoid,...y(r)});class S extends v{_parse(e){const{ctx:t,status:s}=this._processInputParams(e),n=this._def;if(t.parsedType!==u.array)return l(t,{code:d.invalid_type,expected:u.array,received:t.parsedType}),m;if(n.exactLength!==null){const i=t.data.length>n.exactLength.value,o=t.data.length<n.exactLength.value;(i||o)&&(l(t,{code:i?d.too_big:d.too_small,minimum:o?n.exactLength.value:void 0,maximum:i?n.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:n.exactLength.message}),s.dirty())}if(n.minLength!==null&&t.data.length<n.minLength.value&&(l(t,{code:d.too_small,minimum:n.minLength.value,type:"array",inclusive:!0,exact:!1,message:n.minLength.message}),s.dirty()),n.maxLength!==null&&t.data.length>n.maxLength.value&&(l(t,{code:d.too_big,maximum:n.maxLength.value,type:"array",inclusive:!0,exact:!1,message:n.maxLength.message}),s.dirty()),t.common.async)return Promise.all([...t.data].map((i,o)=>n.type._parseAsync(new C(t,i,t.path,o)))).then(i=>k.mergeArray(s,i));const a=[...t.data].map((i,o)=>n.type._parseSync(new C(t,i,t.path,o)));return k.mergeArray(s,a)}get element(){return this._def.type}min(e,t){return new S({...this._def,minLength:{value:e,message:h.toString(t)}})}max(e,t){return new S({...this._def,maxLength:{value:e,message:h.toString(t)}})}length(e,t){return new S({...this._def,exactLength:{value:e,message:h.toString(t)}})}nonempty(e){return this.min(1,e)}}S.create=(r,e)=>new S({type:r,minLength:null,maxLength:null,exactLength:null,typeName:p.ZodArray,...y(e)});function D(r){if(r instanceof x){const e={};for(const t in r.shape){const s=r.shape[t];e[t]=E.create(D(s))}return new x({...r._def,shape:()=>e})}else return r instanceof S?new S({...r._def,type:D(r.element)}):r instanceof E?E.create(D(r.unwrap())):r instanceof L?L.create(D(r.unwrap())):r instanceof O?O.create(r.items.map(e=>D(e))):r}class x extends v{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const e=this._def.shape(),t=g.objectKeys(e);return this._cached={shape:e,keys:t}}_parse(e){if(this._getType(e)!==u.object){const c=this._getOrReturnCtx(e);return l(c,{code:d.invalid_type,expected:u.object,received:c.parsedType}),m}const{status:s,ctx:n}=this._processInputParams(e),{shape:a,keys:i}=this._getCached(),o=[];if(!(this._def.catchall instanceof I&&this._def.unknownKeys==="strip"))for(const c in n.data)i.includes(c)||o.push(c);const f=[];for(const c of i){const _=a[c],w=n.data[c];f.push({key:{status:"valid",value:c},value:_._parse(new C(n,w,n.path,c)),alwaysSet:c in n.data})}if(this._def.catchall instanceof I){const c=this._def.unknownKeys;if(c==="passthrough")for(const _ of o)f.push({key:{status:"valid",value:_},value:{status:"valid",value:n.data[_]}});else if(c==="strict")o.length>0&&(l(n,{code:d.unrecognized_keys,keys:o}),s.dirty());else if(c!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const c=this._def.catchall;for(const _ of o){const w=n.data[_];f.push({key:{status:"valid",value:_},value:c._parse(new C(n,w,n.path,_)),alwaysSet:_ in n.data})}}return n.common.async?Promise.resolve().then(async()=>{const c=[];for(const _ of f){const w=await _.key;c.push({key:w,value:await _.value,alwaysSet:_.alwaysSet})}return c}).then(c=>k.mergeObjectSync(s,c)):k.mergeObjectSync(s,f)}get shape(){return this._def.shape()}strict(e){return h.errToObj,new x({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(t,s)=>{var n,a,i,o;const f=(i=(a=(n=this._def).errorMap)===null||a===void 0?void 0:a.call(n,t,s).message)!==null&&i!==void 0?i:s.defaultError;return t.code==="unrecognized_keys"?{message:(o=h.errToObj(e).message)!==null&&o!==void 0?o:f}:{message:f}}}:{}})}strip(){return new x({...this._def,unknownKeys:"strip"})}passthrough(){return new x({...this._def,unknownKeys:"passthrough"})}extend(e){return new x({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new x({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:p.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new x({...this._def,catchall:e})}pick(e){const t={};return g.objectKeys(e).forEach(s=>{e[s]&&this.shape[s]&&(t[s]=this.shape[s])}),new x({...this._def,shape:()=>t})}omit(e){const t={};return g.objectKeys(this.shape).forEach(s=>{e[s]||(t[s]=this.shape[s])}),new x({...this._def,shape:()=>t})}deepPartial(){return D(this)}partial(e){const t={};return g.objectKeys(this.shape).forEach(s=>{const n=this.shape[s];e&&!e[s]?t[s]=n:t[s]=n.optional()}),new x({...this._def,shape:()=>t})}required(e){const t={};return g.objectKeys(this.shape).forEach(s=>{if(e&&!e[s])t[s]=this.shape[s];else{let a=this.shape[s];for(;a instanceof E;)a=a._def.innerType;t[s]=a}}),new x({...this._def,shape:()=>t})}keyof(){return Te(g.objectKeys(this.shape))}}x.create=(r,e)=>new x({shape:()=>r,unknownKeys:"strip",catchall:I.create(),typeName:p.ZodObject,...y(e)});x.strictCreate=(r,e)=>new x({shape:()=>r,unknownKeys:"strict",catchall:I.create(),typeName:p.ZodObject,...y(e)});x.lazycreate=(r,e)=>new x({shape:r,unknownKeys:"strip",catchall:I.create(),typeName:p.ZodObject,...y(e)});class G extends v{_parse(e){const{ctx:t}=this._processInputParams(e),s=this._def.options;function n(a){for(const o of a)if(o.result.status==="valid")return o.result;for(const o of a)if(o.result.status==="dirty")return t.common.issues.push(...o.ctx.common.issues),o.result;const i=a.map(o=>new Z(o.ctx.common.issues));return l(t,{code:d.invalid_union,unionErrors:i}),m}if(t.common.async)return Promise.all(s.map(async a=>{const i={...t,common:{...t.common,issues:[]},parent:null};return{result:await a._parseAsync({data:t.data,path:t.path,parent:i}),ctx:i}})).then(n);{let a;const i=[];for(const f of s){const c={...t,common:{...t.common,issues:[]},parent:null},_=f._parseSync({data:t.data,path:t.path,parent:c});if(_.status==="valid")return _;_.status==="dirty"&&!a&&(a={result:_,ctx:c}),c.common.issues.length&&i.push(c.common.issues)}if(a)return t.common.issues.push(...a.ctx.common.issues),a.result;const o=i.map(f=>new Z(f));return l(t,{code:d.invalid_union,unionErrors:o}),m}}get options(){return this._def.options}}G.create=(r,e)=>new G({options:r,typeName:p.ZodUnion,...y(e)});const se=r=>r instanceof K?se(r.schema):r instanceof N?se(r.innerType()):r instanceof F?[r.value]:r instanceof M?r.options:r instanceof ee?Object.keys(r.enum):r instanceof te?se(r._def.innerType):r instanceof Y?[void 0]:r instanceof H?[null]:null;class he extends v{_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==u.object)return l(t,{code:d.invalid_type,expected:u.object,received:t.parsedType}),m;const s=this.discriminator,n=t.data[s],a=this.optionsMap.get(n);return a?t.common.async?a._parseAsync({data:t.data,path:t.path,parent:t}):a._parseSync({data:t.data,path:t.path,parent:t}):(l(t,{code:d.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[s]}),m)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,t,s){const n=new Map;for(const a of t){const i=se(a.shape[e]);if(!i)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(const o of i){if(n.has(o))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(o)}`);n.set(o,a)}}return new he({typeName:p.ZodDiscriminatedUnion,discriminator:e,options:t,optionsMap:n,...y(s)})}}function ge(r,e){const t=R(r),s=R(e);if(r===e)return{valid:!0,data:r};if(t===u.object&&s===u.object){const n=g.objectKeys(e),a=g.objectKeys(r).filter(o=>n.indexOf(o)!==-1),i={...r,...e};for(const o of a){const f=ge(r[o],e[o]);if(!f.valid)return{valid:!1};i[o]=f.data}return{valid:!0,data:i}}else if(t===u.array&&s===u.array){if(r.length!==e.length)return{valid:!1};const n=[];for(let a=0;a<r.length;a++){const i=r[a],o=e[a],f=ge(i,o);if(!f.valid)return{valid:!1};n.push(f.data)}return{valid:!0,data:n}}else return t===u.date&&s===u.date&&+r==+e?{valid:!0,data:r}:{valid:!1}}class X extends v{_parse(e){const{status:t,ctx:s}=this._processInputParams(e),n=(a,i)=>{if(ve(a)||ve(i))return m;const o=ge(a.value,i.value);return o.valid?((_e(a)||_e(i))&&t.dirty(),{status:t.value,value:o.data}):(l(s,{code:d.invalid_intersection_types}),m)};return s.common.async?Promise.all([this._def.left._parseAsync({data:s.data,path:s.path,parent:s}),this._def.right._parseAsync({data:s.data,path:s.path,parent:s})]).then(([a,i])=>n(a,i)):n(this._def.left._parseSync({data:s.data,path:s.path,parent:s}),this._def.right._parseSync({data:s.data,path:s.path,parent:s}))}}X.create=(r,e,t)=>new X({left:r,right:e,typeName:p.ZodIntersection,...y(t)});class O extends v{_parse(e){const{status:t,ctx:s}=this._processInputParams(e);if(s.parsedType!==u.array)return l(s,{code:d.invalid_type,expected:u.array,received:s.parsedType}),m;if(s.data.length<this._def.items.length)return l(s,{code:d.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),m;!this._def.rest&&s.data.length>this._def.items.length&&(l(s,{code:d.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),t.dirty());const a=[...s.data].map((i,o)=>{const f=this._def.items[o]||this._def.rest;return f?f._parse(new C(s,i,s.path,o)):null}).filter(i=>!!i);return s.common.async?Promise.all(a).then(i=>k.mergeArray(t,i)):k.mergeArray(t,a)}get items(){return this._def.items}rest(e){return new O({...this._def,rest:e})}}O.create=(r,e)=>{if(!Array.isArray(r))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new O({items:r,typeName:p.ZodTuple,rest:null,...y(e)})};class Q extends v{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:s}=this._processInputParams(e);if(s.parsedType!==u.object)return l(s,{code:d.invalid_type,expected:u.object,received:s.parsedType}),m;const n=[],a=this._def.keyType,i=this._def.valueType;for(const o in s.data)n.push({key:a._parse(new C(s,o,s.path,o)),value:i._parse(new C(s,s.data[o],s.path,o))});return s.common.async?k.mergeObjectAsync(t,n):k.mergeObjectSync(t,n)}get element(){return this._def.valueType}static create(e,t,s){return t instanceof v?new Q({keyType:e,valueType:t,typeName:p.ZodRecord,...y(s)}):new Q({keyType:T.create(),valueType:e,typeName:p.ZodRecord,...y(t)})}}class ce extends v{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:s}=this._processInputParams(e);if(s.parsedType!==u.map)return l(s,{code:d.invalid_type,expected:u.map,received:s.parsedType}),m;const n=this._def.keyType,a=this._def.valueType,i=[...s.data.entries()].map(([o,f],c)=>({key:n._parse(new C(s,o,s.path,[c,"key"])),value:a._parse(new C(s,f,s.path,[c,"value"]))}));if(s.common.async){const o=new Map;return Promise.resolve().then(async()=>{for(const f of i){const c=await f.key,_=await f.value;if(c.status==="aborted"||_.status==="aborted")return m;(c.status==="dirty"||_.status==="dirty")&&t.dirty(),o.set(c.value,_.value)}return{status:t.value,value:o}})}else{const o=new Map;for(const f of i){const c=f.key,_=f.value;if(c.status==="aborted"||_.status==="aborted")return m;(c.status==="dirty"||_.status==="dirty")&&t.dirty(),o.set(c.value,_.value)}return{status:t.value,value:o}}}}ce.create=(r,e,t)=>new ce({valueType:e,keyType:r,typeName:p.ZodMap,...y(t)});class $ extends v{_parse(e){const{status:t,ctx:s}=this._processInputParams(e);if(s.parsedType!==u.set)return l(s,{code:d.invalid_type,expected:u.set,received:s.parsedType}),m;const n=this._def;n.minSize!==null&&s.data.size<n.minSize.value&&(l(s,{code:d.too_small,minimum:n.minSize.value,type:"set",inclusive:!0,exact:!1,message:n.minSize.message}),t.dirty()),n.maxSize!==null&&s.data.size>n.maxSize.value&&(l(s,{code:d.too_big,maximum:n.maxSize.value,type:"set",inclusive:!0,exact:!1,message:n.maxSize.message}),t.dirty());const a=this._def.valueType;function i(f){const c=new Set;for(const _ of f){if(_.status==="aborted")return m;_.status==="dirty"&&t.dirty(),c.add(_.value)}return{status:t.value,value:c}}const o=[...s.data.values()].map((f,c)=>a._parse(new C(s,f,s.path,c)));return s.common.async?Promise.all(o).then(f=>i(f)):i(o)}min(e,t){return new $({...this._def,minSize:{value:e,message:h.toString(t)}})}max(e,t){return new $({...this._def,maxSize:{value:e,message:h.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}}$.create=(r,e)=>new $({valueType:r,minSize:null,maxSize:null,typeName:p.ZodSet,...y(e)});class z extends v{constructor(){super(...arguments),this.validate=this.implement}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==u.function)return l(t,{code:d.invalid_type,expected:u.function,received:t.parsedType}),m;function s(o,f){return ae({data:o,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,ne(),q].filter(c=>!!c),issueData:{code:d.invalid_arguments,argumentsError:f}})}function n(o,f){return ae({data:o,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,ne(),q].filter(c=>!!c),issueData:{code:d.invalid_return_type,returnTypeError:f}})}const a={errorMap:t.common.contextualErrorMap},i=t.data;if(this._def.returns instanceof B){const o=this;return b(async function(...f){const c=new Z([]),_=await o._def.args.parseAsync(f,a).catch(pe=>{throw c.addIssue(s(f,pe)),c}),w=await Reflect.apply(i,this,_);return await o._def.returns._def.type.parseAsync(w,a).catch(pe=>{throw c.addIssue(n(w,pe)),c})})}else{const o=this;return b(function(...f){const c=o._def.args.safeParse(f,a);if(!c.success)throw new Z([s(f,c.error)]);const _=Reflect.apply(i,this,c.data),w=o._def.returns.safeParse(_,a);if(!w.success)throw new Z([n(_,w.error)]);return w.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new z({...this._def,args:O.create(e).rest(P.create())})}returns(e){return new z({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,t,s){return new z({args:e||O.create([]).rest(P.create()),returns:t||P.create(),typeName:p.ZodFunction,...y(s)})}}class K extends v{get schema(){return this._def.getter()}_parse(e){const{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}}K.create=(r,e)=>new K({getter:r,typeName:p.ZodLazy,...y(e)});class F extends v{_parse(e){if(e.data!==this._def.value){const t=this._getOrReturnCtx(e);return l(t,{received:t.data,code:d.invalid_literal,expected:this._def.value}),m}return{status:"valid",value:e.data}}get value(){return this._def.value}}F.create=(r,e)=>new F({value:r,typeName:p.ZodLiteral,...y(e)});function Te(r,e){return new M({values:r,typeName:p.ZodEnum,...y(e)})}class M extends v{_parse(e){if(typeof e.data!="string"){const t=this._getOrReturnCtx(e),s=this._def.values;return l(t,{expected:g.joinValues(s),received:t.parsedType,code:d.invalid_type}),m}if(this._def.values.indexOf(e.data)===-1){const t=this._getOrReturnCtx(e),s=this._def.values;return l(t,{received:t.data,code:d.invalid_enum_value,options:s}),m}return b(e.data)}get options(){return this._def.values}get enum(){const e={};for(const t of this._def.values)e[t]=t;return e}get Values(){const e={};for(const t of this._def.values)e[t]=t;return e}get Enum(){const e={};for(const t of this._def.values)e[t]=t;return e}extract(e){return M.create(e)}exclude(e){return M.create(this.options.filter(t=>!e.includes(t)))}}M.create=Te;class ee extends v{_parse(e){const t=g.getValidEnumValues(this._def.values),s=this._getOrReturnCtx(e);if(s.parsedType!==u.string&&s.parsedType!==u.number){const n=g.objectValues(t);return l(s,{expected:g.joinValues(n),received:s.parsedType,code:d.invalid_type}),m}if(t.indexOf(e.data)===-1){const n=g.objectValues(t);return l(s,{received:s.data,code:d.invalid_enum_value,options:n}),m}return b(e.data)}get enum(){return this._def.values}}ee.create=(r,e)=>new ee({values:r,typeName:p.ZodNativeEnum,...y(e)});class B extends v{unwrap(){return this._def.type}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==u.promise&&t.common.async===!1)return l(t,{code:d.invalid_type,expected:u.promise,received:t.parsedType}),m;const s=t.parsedType===u.promise?t.data:Promise.resolve(t.data);return b(s.then(n=>this._def.type.parseAsync(n,{path:t.path,errorMap:t.common.contextualErrorMap})))}}B.create=(r,e)=>new B({type:r,typeName:p.ZodPromise,...y(e)});class N extends v{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===p.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){const{status:t,ctx:s}=this._processInputParams(e),n=this._def.effect||null,a={addIssue:i=>{l(s,i),i.fatal?t.abort():t.dirty()},get path(){return s.path}};if(a.addIssue=a.addIssue.bind(a),n.type==="preprocess"){const i=n.transform(s.data,a);return s.common.issues.length?{status:"dirty",value:s.data}:s.common.async?Promise.resolve(i).then(o=>this._def.schema._parseAsync({data:o,path:s.path,parent:s})):this._def.schema._parseSync({data:i,path:s.path,parent:s})}if(n.type==="refinement"){const i=o=>{const f=n.refinement(o,a);if(s.common.async)return Promise.resolve(f);if(f instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return o};if(s.common.async===!1){const o=this._def.schema._parseSync({data:s.data,path:s.path,parent:s});return o.status==="aborted"?m:(o.status==="dirty"&&t.dirty(),i(o.value),{status:t.value,value:o.value})}else return this._def.schema._parseAsync({data:s.data,path:s.path,parent:s}).then(o=>o.status==="aborted"?m:(o.status==="dirty"&&t.dirty(),i(o.value).then(()=>({status:t.value,value:o.value}))))}if(n.type==="transform")if(s.common.async===!1){const i=this._def.schema._parseSync({data:s.data,path:s.path,parent:s});if(!W(i))return i;const o=n.transform(i.value,a);if(o instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:t.value,value:o}}else return this._def.schema._parseAsync({data:s.data,path:s.path,parent:s}).then(i=>W(i)?Promise.resolve(n.transform(i.value,a)).then(o=>({status:t.value,value:o})):i);g.assertNever(n)}}N.create=(r,e,t)=>new N({schema:r,typeName:p.ZodEffects,effect:e,...y(t)});N.createWithPreprocess=(r,e,t)=>new N({schema:e,effect:{type:"preprocess",transform:r},typeName:p.ZodEffects,...y(t)});class E extends v{_parse(e){return this._getType(e)===u.undefined?b(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}E.create=(r,e)=>new E({innerType:r,typeName:p.ZodOptional,...y(e)});class L extends v{_parse(e){return this._getType(e)===u.null?b(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}L.create=(r,e)=>new L({innerType:r,typeName:p.ZodNullable,...y(e)});class te extends v{_parse(e){const{ctx:t}=this._processInputParams(e);let s=t.data;return t.parsedType===u.undefined&&(s=this._def.defaultValue()),this._def.innerType._parse({data:s,path:t.path,parent:t})}removeDefault(){return this._def.innerType}}te.create=(r,e)=>new te({innerType:r,typeName:p.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...y(e)});class ue extends v{_parse(e){const{ctx:t}=this._processInputParams(e),s={...t,common:{...t.common,issues:[]}},n=this._def.innerType._parse({data:s.data,path:s.path,parent:{...s}});return ie(n)?n.then(a=>({status:"valid",value:a.status==="valid"?a.value:this._def.catchValue({get error(){return new Z(s.common.issues)},input:s.data})})):{status:"valid",value:n.status==="valid"?n.value:this._def.catchValue({get error(){return new Z(s.common.issues)},input:s.data})}}removeCatch(){return this._def.innerType}}ue.create=(r,e)=>new ue({innerType:r,typeName:p.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...y(e)});class le extends v{_parse(e){if(this._getType(e)!==u.nan){const s=this._getOrReturnCtx(e);return l(s,{code:d.invalid_type,expected:u.nan,received:s.parsedType}),m}return{status:"valid",value:e.data}}}le.create=r=>new le({typeName:p.ZodNaN,...y(r)});const We=Symbol("zod_brand");class Ze extends v{_parse(e){const{ctx:t}=this._processInputParams(e),s=t.data;return this._def.type._parse({data:s,path:t.path,parent:t})}unwrap(){return this._def.type}}class re extends v{_parse(e){const{status:t,ctx:s}=this._processInputParams(e);if(s.common.async)return(async()=>{const a=await this._def.in._parseAsync({data:s.data,path:s.path,parent:s});return a.status==="aborted"?m:a.status==="dirty"?(t.dirty(),we(a.value)):this._def.out._parseAsync({data:a.value,path:s.path,parent:s})})();{const n=this._def.in._parseSync({data:s.data,path:s.path,parent:s});return n.status==="aborted"?m:n.status==="dirty"?(t.dirty(),{status:"dirty",value:n.value}):this._def.out._parseSync({data:n.value,path:s.path,parent:s})}}static create(e,t){return new re({in:e,out:t,typeName:p.ZodPipeline})}}class fe extends v{_parse(e){const t=this._def.innerType._parse(e);return W(t)&&(t.value=Object.freeze(t.value)),t}}fe.create=(r,e)=>new fe({innerType:r,typeName:p.ZodReadonly,...y(e)});const Se=(r,e={},t)=>r?U.create().superRefine((s,n)=>{var a,i;if(!r(s)){const o=typeof e=="function"?e(s):typeof e=="string"?{message:e}:e,f=(i=(a=o.fatal)!==null&&a!==void 0?a:t)!==null&&i!==void 0?i:!0,c=typeof o=="string"?{message:o}:o;n.addIssue({code:"custom",...c,fatal:f})}}):U.create(),Je={object:x.lazycreate};var p;(function(r){r.ZodString="ZodString",r.ZodNumber="ZodNumber",r.ZodNaN="ZodNaN",r.ZodBigInt="ZodBigInt",r.ZodBoolean="ZodBoolean",r.ZodDate="ZodDate",r.ZodSymbol="ZodSymbol",r.ZodUndefined="ZodUndefined",r.ZodNull="ZodNull",r.ZodAny="ZodAny",r.ZodUnknown="ZodUnknown",r.ZodNever="ZodNever",r.ZodVoid="ZodVoid",r.ZodArray="ZodArray",r.ZodObject="ZodObject",r.ZodUnion="ZodUnion",r.ZodDiscriminatedUnion="ZodDiscriminatedUnion",r.ZodIntersection="ZodIntersection",r.ZodTuple="ZodTuple",r.ZodRecord="ZodRecord",r.ZodMap="ZodMap",r.ZodSet="ZodSet",r.ZodFunction="ZodFunction",r.ZodLazy="ZodLazy",r.ZodLiteral="ZodLiteral",r.ZodEnum="ZodEnum",r.ZodEffects="ZodEffects",r.ZodNativeEnum="ZodNativeEnum",r.ZodOptional="ZodOptional",r.ZodNullable="ZodNullable",r.ZodDefault="ZodDefault",r.ZodCatch="ZodCatch",r.ZodPromise="ZodPromise",r.ZodBranded="ZodBranded",r.ZodPipeline="ZodPipeline",r.ZodReadonly="ZodReadonly"})(p||(p={}));const Ye=(r,e={message:`Input not instance of ${r.name}`})=>Se(t=>t instanceof r,e),Ne=T.create,Ce=j.create,He=le.create,Ge=A.create,Oe=J.create,Xe=V.create,Qe=oe.create,Ke=Y.create,Fe=H.create,et=U.create,tt=P.create,rt=I.create,st=de.create,nt=S.create,at=x.create,it=x.strictCreate,ot=G.create,dt=he.create,ct=X.create,ut=O.create,lt=Q.create,ft=ce.create,ht=$.create,pt=z.create,mt=K.create,yt=F.create,vt=M.create,_t=ee.create,gt=B.create,ke=N.create,xt=E.create,kt=L.create,bt=N.createWithPreprocess,wt=re.create,Tt=()=>Ne().optional(),Zt=()=>Ce().optional(),St=()=>Oe().optional(),Nt={string:r=>T.create({...r,coerce:!0}),number:r=>j.create({...r,coerce:!0}),boolean:r=>J.create({...r,coerce:!0}),bigint:r=>A.create({...r,coerce:!0}),date:r=>V.create({...r,coerce:!0})},Ct=m;var It=Object.freeze({__proto__:null,defaultErrorMap:q,setErrorMap:Re,getErrorMap:ne,makeIssue:ae,EMPTY_PATH:je,addIssueToContext:l,ParseStatus:k,INVALID:m,DIRTY:we,OK:b,isAborted:ve,isDirty:_e,isValid:W,isAsync:ie,get util(){return g},get objectUtil(){return ye},ZodParsedType:u,getParsedType:R,ZodType:v,ZodString:T,ZodNumber:j,ZodBigInt:A,ZodBoolean:J,ZodDate:V,ZodSymbol:oe,ZodUndefined:Y,ZodNull:H,ZodAny:U,ZodUnknown:P,ZodNever:I,ZodVoid:de,ZodArray:S,ZodObject:x,ZodUnion:G,ZodDiscriminatedUnion:he,ZodIntersection:X,ZodTuple:O,ZodRecord:Q,ZodMap:ce,ZodSet:$,ZodFunction:z,ZodLazy:K,ZodLiteral:F,ZodEnum:M,ZodNativeEnum:ee,ZodPromise:B,ZodEffects:N,ZodTransformer:N,ZodOptional:E,ZodNullable:L,ZodDefault:te,ZodCatch:ue,ZodNaN:le,BRAND:We,ZodBranded:Ze,ZodPipeline:re,ZodReadonly:fe,custom:Se,Schema:v,ZodSchema:v,late:Je,get ZodFirstPartyTypeKind(){return p},coerce:Nt,any:et,array:nt,bigint:Ge,boolean:Oe,date:Xe,discriminatedUnion:dt,effect:ke,enum:vt,function:pt,instanceof:Ye,intersection:ct,lazy:mt,literal:yt,map:ft,nan:He,nativeEnum:_t,never:rt,null:Fe,nullable:kt,number:Ce,object:at,oboolean:St,onumber:Zt,optional:xt,ostring:Tt,pipeline:wt,preprocess:bt,promise:gt,record:lt,set:ht,strictObject:it,string:Ne,symbol:Qe,transformer:ke,tuple:ut,undefined:Ke,union:ot,unknown:tt,void:st,NEVER:Ct,ZodIssueCode:d,quotelessJson:Ie,ZodError:Z});function Rt(){return Ee("root").requestInfo}export{T as Z,F as a,M as b,ee as c,et as d,j as e,J as f,V as g,A as h,S as i,x as j,N as k,E as l,te as m,ue as n,X as o,G as p,he as q,O as r,L as s,re as t,Rt as u,K as v,mt as w,U as x,It as z};
2
+ //# sourceMappingURL=request-info-BHMoxBaT.js.map