seroval 1.5.3 → 1.5.5

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.
@@ -1,3 +1,3 @@
1
- var M=(i=>(i[i.AggregateError=1]="AggregateError",i[i.ArrowFunction=2]="ArrowFunction",i[i.ErrorPrototypeStack=4]="ErrorPrototypeStack",i[i.ObjectAssign=8]="ObjectAssign",i[i.BigIntTypedArray=16]="BigIntTypedArray",i[i.RegExp=32]="RegExp",i))(M||{});var v=Symbol.asyncIterator,pr=Symbol.hasInstance,R=Symbol.isConcatSpreadable,C=Symbol.iterator,dr=Symbol.match,gr=Symbol.matchAll,yr=Symbol.replace,Nr=Symbol.search,br=Symbol.species,vr=Symbol.split,Cr=Symbol.toPrimitive,P=Symbol.toStringTag,Ar=Symbol.unscopables;var tt={0:"Symbol.asyncIterator",1:"Symbol.hasInstance",2:"Symbol.isConcatSpreadable",3:"Symbol.iterator",4:"Symbol.match",5:"Symbol.matchAll",6:"Symbol.replace",7:"Symbol.search",8:"Symbol.species",9:"Symbol.split",10:"Symbol.toPrimitive",11:"Symbol.toStringTag",12:"Symbol.unscopables"},ve={[v]:0,[pr]:1,[R]:2,[C]:3,[dr]:4,[gr]:5,[yr]:6,[Nr]:7,[br]:8,[vr]:9,[Cr]:10,[P]:11,[Ar]:12},nt={0:v,1:pr,2:R,3:C,4:dr,5:gr,6:yr,7:Nr,8:br,9:vr,10:Cr,11:P,12:Ar},ot={2:"!0",3:"!1",1:"void 0",0:"null",4:"-0",5:"1/0",6:"-1/0",7:"0/0"},o=void 0,at={2:!0,3:!1,1:o,0:null,4:-0,5:Number.POSITIVE_INFINITY,6:Number.NEGATIVE_INFINITY,7:Number.NaN};var Ce={0:"Error",1:"EvalError",2:"RangeError",3:"ReferenceError",4:"SyntaxError",5:"TypeError",6:"URIError"},st={0:Error,1:EvalError,2:RangeError,3:ReferenceError,4:SyntaxError,5:TypeError,6:URIError};function c(e,r,t,n,a,s,i,u,l,g,S,d){return{t:e,i:r,s:t,c:n,m:a,p:s,e:i,a:u,f:l,b:g,o:S,l:d}}function B(e){return c(2,o,e,o,o,o,o,o,o,o,o,o)}var H=B(2),J=B(3),Ae=B(1),Ee=B(0),it=B(4),ut=B(5),lt=B(6),ct=B(7);function mn(e){switch(e){case'"':return'\\"';case"\\":return"\\\\";case`
2
- `:return"\\n";case"\r":return"\\r";case"\b":return"\\b";case" ":return"\\t";case"\f":return"\\f";case"<":return"\\x3C";case"\u2028":return"\\u2028";case"\u2029":return"\\u2029";default:return o}}function y(e){let r="",t=0,n;for(let a=0,s=e.length;a<s;a++)n=mn(e[a]),n&&(r+=e.slice(t,a)+n,t=a+1);return t===0?r=e:r+=e.slice(t),r}function pn(e){switch(e){case"\\\\":return"\\";case'\\"':return'"';case"\\n":return`
3
- `;case"\\r":return"\r";case"\\b":return"\b";case"\\t":return" ";case"\\f":return"\f";case"\\x3C":return"<";case"\\u2028":return"\u2028";case"\\u2029":return"\u2029";default:return e}}function D(e){return e.replace(/(\\\\|\\"|\\n|\\r|\\b|\\t|\\f|\\u2028|\\u2029|\\x3C)/g,pn)}var L="__SEROVAL_REFS__",le="$R",Ie=`self.${le}`;function dn(e){return e==null?`${Ie}=${Ie}||[]`:`(${Ie}=${Ie}||{})["${y(e)}"]=[]`}var Er=new Map,U=new Map;function gn(e,r){return Er.set(r,e),U.set(e,r),r}function Ir(e){return Er.has(e)}function yn(e){return U.has(e)}function ft(e){if(Ir(e))return Er.get(e);throw new Re(e)}function St(e){if(yn(e))return U.get(e);throw new Pe(e)}typeof globalThis!="undefined"?Object.defineProperty(globalThis,L,{value:U,configurable:!0,writable:!1,enumerable:!1}):typeof window!="undefined"?Object.defineProperty(window,L,{value:U,configurable:!0,writable:!1,enumerable:!1}):typeof self!="undefined"?Object.defineProperty(self,L,{value:U,configurable:!0,writable:!1,enumerable:!1}):typeof global!="undefined"&&Object.defineProperty(global,L,{value:U,configurable:!0,writable:!1,enumerable:!1});function xe(e){return e instanceof EvalError?1:e instanceof RangeError?2:e instanceof ReferenceError?3:e instanceof SyntaxError?4:e instanceof TypeError?5:e instanceof URIError?6:0}function Nn(e){let r=Ce[xe(e)];return e.name!==r?{name:e.name}:e.constructor.name!==r?{name:e.constructor.name}:{}}function Z(e,r){let t=Nn(e),n=Object.getOwnPropertyNames(e);for(let a=0,s=n.length,i;a<s;a++)i=n[a],i!=="name"&&i!=="message"&&(i==="stack"?r&4&&(t=t||{},t[i]=e[i]):(t=t||{},t[i]=e[i]));return t}function Te(e){return Object.isFrozen(e)?3:Object.isSealed(e)?2:Object.isExtensible(e)?0:1}function Oe(e){switch(e){case Number.POSITIVE_INFINITY:return ut;case Number.NEGATIVE_INFINITY:return lt}return e!==e?ct:Object.is(e,-0)?it:c(0,o,e,o,o,o,o,o,o,o,o,o)}function $(e){return c(1,o,y(e),o,o,o,o,o,o,o,o,o)}function we(e){return c(3,o,""+e,o,o,o,o,o,o,o,o,o)}function pt(e){return c(4,e,o,o,o,o,o,o,o,o,o,o)}function he(e,r){let t=r.valueOf();return c(5,e,t!==t?"":r.toISOString(),o,o,o,o,o,o,o,o,o)}function ze(e,r){return c(6,e,o,y(r.source),r.flags,o,o,o,o,o,o,o)}function dt(e,r){return c(17,e,ve[r],o,o,o,o,o,o,o,o,o)}function gt(e,r){return c(18,e,y(ft(r)),o,o,o,o,o,o,o,o,o)}function ce(e,r,t){return c(25,e,t,y(r),o,o,o,o,o,o,o,o)}function _e(e,r,t){return c(9,e,o,o,o,o,o,t,o,o,Te(r),o)}function ke(e,r){return c(21,e,o,o,o,o,o,o,r,o,o,o)}function De(e,r,t){return c(15,e,o,r.constructor.name,o,o,o,o,t,r.byteOffset,o,r.length)}function Fe(e,r,t){return c(16,e,o,r.constructor.name,o,o,o,o,t,r.byteOffset,o,r.byteLength)}function Be(e,r,t){return c(20,e,o,o,o,o,o,o,t,r.byteOffset,o,r.byteLength)}function Ve(e,r,t){return c(13,e,xe(r),o,y(r.message),t,o,o,o,o,o,o)}function Me(e,r,t){return c(14,e,xe(r),o,y(r.message),t,o,o,o,o,o,o)}function Le(e,r){return c(7,e,o,o,o,o,o,r,o,o,o,o)}function Ue(e,r){return c(28,o,o,o,o,o,o,[e,r],o,o,o,o)}function je(e,r){return c(30,o,o,o,o,o,o,[e,r],o,o,o,o)}function Ye(e,r,t){return c(31,e,o,o,o,o,o,t,r,o,o,o)}function qe(e,r){return c(32,e,o,o,o,o,o,o,r,o,o,o)}function We(e,r){return c(33,e,o,o,o,o,o,o,r,o,o,o)}function Ge(e,r){return c(34,e,o,o,o,o,o,o,r,o,o,o)}function Ke(e,r,t,n){return c(35,e,t,o,o,o,o,r,o,o,o,n)}var{toString:bs}=Object.prototype;var bn={parsing:1,serialization:2,deserialization:3};function vn(e){return`Seroval Error (step: ${bn[e]})`}var Cn=(e,r)=>vn(e),fe=class extends Error{constructor(t,n){super(Cn(t,n));this.cause=n}},z=class extends fe{constructor(r){super("parsing",r)}},Rr=class extends fe{constructor(r){super("serialization",r)}},He=class extends fe{constructor(r){super("deserialization",r)}};function _(e){return`Seroval Error (specific: ${e})`}var x=class extends Error{constructor(t){super(_(1));this.value=t}},h=class extends Error{constructor(r){super(_(2))}},X=class extends Error{constructor(r){super(_(3))}},V=class extends Error{constructor(r){super(_(4))}},Re=class extends Error{constructor(t){super(_(5));this.value=t}},Pe=class extends Error{constructor(r){super(_(6))}},Je=class extends Error{constructor(r){super(_(7))}},O=class extends Error{constructor(r){super(_(8))}},yt=class extends Error{constructor(r){super(_(9))}},Q=class extends Error{constructor(r){super(_(9))}};var j=class{constructor(r,t){this.value=r;this.replacement=t}};var ee=()=>{let e={p:0,s:0,f:0};return e.p=new Promise((r,t)=>{e.s=r,e.f=t}),e},An=(e,r)=>{e.s(r),e.p.s=1,e.p.v=r},En=(e,r)=>{e.f(r),e.p.s=2,e.p.v=r},Nt=ee.toString(),bt=An.toString(),vt=En.toString(),Pr=()=>{let e=[],r=[],t=!0,n=!1,a=0,s=(l,g,S)=>{for(S=0;S<a;S++)r[S]&&r[S][g](l)},i=(l,g,S,d)=>{for(g=0,S=e.length;g<S;g++)d=e[g],!t&&g===S-1?l[n?"return":"throw"](d):l.next(d)},u=(l,g)=>(t&&(g=a++,r[g]=l),i(l),()=>{t&&(r[g]=r[a],r[a--]=void 0)});return{__SEROVAL_STREAM__:!0,on:l=>u(l),next:l=>{t&&(e.push(l),s(l,"next"))},throw:l=>{t&&(e.push(l),s(l,"throw"),t=!1,n=!1,r.length=0)},return:l=>{t&&(e.push(l),s(l,"return"),t=!1,n=!0,r.length=0)}}},Ct=Pr.toString(),xr=e=>r=>()=>{let t=0,n={[e]:()=>n,next:()=>{if(t>r.d)return{done:!0,value:void 0};let a=t++,s=r.v[a];if(a===r.t)throw s;return{done:a===r.d,value:s}}};return n},At=xr.toString(),Tr=(e,r)=>t=>()=>{let n=0,a=-1,s=!1,i=[],u=[],l=(S=0,d=u.length)=>{for(;S<d;S++)u[S].s({done:!0,value:void 0})};t.on({next:S=>{let d=u.shift();d&&d.s({done:!1,value:S}),i.push(S)},throw:S=>{let d=u.shift();d&&d.f(S),l(),a=i.length,s=!0,i.push(S)},return:S=>{let d=u.shift();d&&d.s({done:!0,value:S}),l(),a=i.length,i.push(S)}});let g={[e]:()=>g,next:()=>{if(a===-1){let G=n++;if(G>=i.length){let rt=r();return u.push(rt),rt.p}return{done:!1,value:i[G]}}if(n>a)return{done:!0,value:void 0};let S=n++,d=i[S];if(S!==a)return{done:!1,value:d};if(s)throw d;return{done:!0,value:d}}};return g},Et=Tr.toString(),Or=e=>{let r=atob(e),t=r.length,n=new Uint8Array(t);for(let a=0;a<t;a++)n[a]=r.charCodeAt(a);return n.buffer},It=Or.toString();function Ze(e){return"__SEROVAL_SEQUENCE__"in e}function wr(e,r,t){return{__SEROVAL_SEQUENCE__:!0,v:e,t:r,d:t}}function $e(e){let r=[],t=-1,n=-1,a=e[C]();for(;;)try{let s=a.next();if(r.push(s.value),s.done){n=r.length-1;break}}catch(s){t=r.length,r.push(s)}return wr(r,t,n)}var In=xr(C);function Rt(e){return In(e)}var Pt={},xt={};var Tt={0:{},1:{},2:{},3:{},4:{},5:{}},Ot={0:"[]",1:Nt,2:bt,3:vt,4:Ct,5:It};function Xe(e){return"__SEROVAL_STREAM__"in e}function re(){return Pr()}function Qe(e){let r=re(),t=e[v]();async function n(){try{let a=await t.next();a.done?r.return(a.value):(r.next(a.value),await n())}catch(a){r.throw(a)}}return n().catch(()=>{}),r}var Rn=Tr(v,ee);function wt(e){return Rn(e)}async function hr(e){try{return[1,await e]}catch(r){return[0,r]}}function me(e,r){return{plugins:r.plugins,mode:e,marked:new Set,features:63^(r.disabledFeatures||0),refs:r.refs||new Map,depthLimit:r.depthLimit||1e3}}function pe(e,r){e.marked.add(r)}function zr(e,r){let t=e.refs.size;return e.refs.set(r,t),t}function er(e,r){let t=e.refs.get(r);return t!=null?(pe(e,t),{type:1,value:pt(t)}):{type:0,value:zr(e,r)}}function Y(e,r){let t=er(e,r);return t.type===1?t:Ir(r)?{type:2,value:gt(t.value,r)}:t}function I(e,r){let t=Y(e,r);if(t.type!==0)return t.value;if(r in ve)return dt(t.value,r);throw new x(r)}function k(e,r){let t=er(e,Tt[r]);return t.type===1?t.value:c(26,t.value,r,o,o,o,o,o,o,o,o,o)}function rr(e){let r=er(e,Pt);return r.type===1?r.value:c(27,r.value,o,o,o,o,o,o,I(e,C),o,o,o)}function tr(e){let r=er(e,xt);return r.type===1?r.value:c(29,r.value,o,o,o,o,o,[k(e,1),I(e,v)],o,o,o,o)}function nr(e,r,t,n){return c(t?11:10,e,o,o,o,n,o,o,o,o,Te(r),o)}function or(e,r,t,n){return c(8,r,o,o,o,o,{k:t,v:n},o,k(e,0),o,o,o)}function zt(e,r,t){return c(22,r,t,o,o,o,o,o,k(e,1),o,o,o)}function ar(e,r,t){let n=new Uint8Array(t),a="";for(let s=0,i=n.length;s<i;s++)a+=String.fromCharCode(n[s]);return c(19,r,y(btoa(a)),o,o,o,o,o,k(e,5),o,o,o)}function te(e,r){return{base:me(e,r),child:void 0}}var kr=class{constructor(r,t){this._p=r;this.depth=t}parse(r){return N(this._p,this.depth,r)}};async function xn(e,r,t){let n=[];for(let a=0,s=t.length;a<s;a++)a in t?n[a]=await N(e,r,t[a]):n[a]=0;return n}async function Tn(e,r,t,n){return _e(t,n,await xn(e,r,n))}async function Dr(e,r,t){let n=Object.entries(t),a=[],s=[];for(let i=0,u=n.length;i<u;i++)a.push(y(n[i][0])),s.push(await N(e,r,n[i][1]));return C in t&&(a.push(I(e.base,C)),s.push(Ue(rr(e.base),await N(e,r,$e(t))))),v in t&&(a.push(I(e.base,v)),s.push(je(tr(e.base),await N(e,r,Qe(t))))),P in t&&(a.push(I(e.base,P)),s.push($(t[P]))),R in t&&(a.push(I(e.base,R)),s.push(t[R]?H:J)),{k:a,v:s}}async function _r(e,r,t,n,a){return nr(t,n,a,await Dr(e,r,n))}async function On(e,r,t,n){return ke(t,await N(e,r,n.valueOf()))}async function wn(e,r,t,n){return De(t,n,await N(e,r,n.buffer))}async function hn(e,r,t,n){return Fe(t,n,await N(e,r,n.buffer))}async function zn(e,r,t,n){return Be(t,n,await N(e,r,n.buffer))}async function _t(e,r,t,n){let a=Z(n,e.base.features);return Ve(t,n,a?await Dr(e,r,a):o)}async function _n(e,r,t,n){let a=Z(n,e.base.features);return Me(t,n,a?await Dr(e,r,a):o)}async function kn(e,r,t,n){let a=[],s=[];for(let[i,u]of n.entries())a.push(await N(e,r,i)),s.push(await N(e,r,u));return or(e.base,t,a,s)}async function Dn(e,r,t,n){let a=[];for(let s of n.keys())a.push(await N(e,r,s));return Le(t,a)}async function kt(e,r,t,n){let a=e.base.plugins;if(a)for(let s=0,i=a.length;s<i;s++){let u=a[s];if(u.parse.async&&u.test(n))return ce(t,u.tag,await u.parse.async(n,new kr(e,r),{id:t}))}return o}async function Fn(e,r,t,n){let[a,s]=await hr(n);return c(12,t,a,o,o,o,o,o,await N(e,r,s),o,o,o)}function Bn(e,r,t,n,a){let s=[],i=t.on({next:u=>{pe(this.base,r),N(this,e,u).then(l=>{s.push(qe(r,l))},l=>{a(l),i()})},throw:u=>{pe(this.base,r),N(this,e,u).then(l=>{s.push(We(r,l)),n(s),i()},l=>{a(l),i()})},return:u=>{pe(this.base,r),N(this,e,u).then(l=>{s.push(Ge(r,l)),n(s),i()},l=>{a(l),i()})}})}async function Vn(e,r,t,n){return Ye(t,k(e.base,4),await new Promise(Bn.bind(e,r,t,n)))}async function Mn(e,r,t,n){let a=[];for(let s=0,i=n.v.length;s<i;s++)a[s]=await N(e,r,n.v[s]);return Ke(t,a,n.t,n.d)}async function Ln(e,r,t,n){if(Array.isArray(n))return Tn(e,r,t,n);if(Xe(n))return Vn(e,r,t,n);if(Ze(n))return Mn(e,r,t,n);let a=n.constructor;if(a===j)return N(e,r,n.replacement);let s=await kt(e,r,t,n);if(s)return s;switch(a){case Object:return _r(e,r,t,n,!1);case o:return _r(e,r,t,n,!0);case Date:return he(t,n);case Error:case EvalError:case RangeError:case ReferenceError:case SyntaxError:case TypeError:case URIError:return _t(e,r,t,n);case Number:case Boolean:case String:case BigInt:return On(e,r,t,n);case ArrayBuffer:return ar(e.base,t,n);case Int8Array:case Int16Array:case Int32Array:case Uint8Array:case Uint16Array:case Uint32Array:case Uint8ClampedArray:case Float32Array:case Float64Array:return wn(e,r,t,n);case DataView:return zn(e,r,t,n);case Map:return kn(e,r,t,n);case Set:return Dn(e,r,t,n);default:break}if(a===Promise||n instanceof Promise)return Fn(e,r,t,n);let i=e.base.features;if(i&32&&a===RegExp)return ze(t,n);if(i&16)switch(a){case BigInt64Array:case BigUint64Array:return hn(e,r,t,n);default:break}if(i&1&&typeof AggregateError!="undefined"&&(a===AggregateError||n instanceof AggregateError))return _n(e,r,t,n);if(n instanceof Error)return _t(e,r,t,n);if(C in n||v in n)return _r(e,r,t,n,!!a);throw new x(n)}async function Un(e,r,t){let n=Y(e.base,t);if(n.type!==0)return n.value;let a=await kt(e,r,n.value,t);if(a)return a;throw new x(t)}async function N(e,r,t){switch(typeof t){case"boolean":return t?H:J;case"undefined":return Ae;case"string":return $(t);case"number":return Oe(t);case"bigint":return we(t);case"object":{if(t){let n=Y(e.base,t);return n.type===0?await Ln(e,r+1,n.value,t):n.value}return Ee}case"symbol":return I(e.base,t);case"function":return Un(e,r,t);default:throw new x(t)}}async function ne(e,r){try{return await N(e,0,r)}catch(t){throw t instanceof z?t:new z(t)}}var oe=(t=>(t[t.Vanilla=1]="Vanilla",t[t.Cross=2]="Cross",t))(oe||{});function ai(e){return e}function Dt(e,r){for(let t=0,n=r.length;t<n;t++){let a=r[t];e.has(a)||(e.add(a),a.extends&&Dt(e,a.extends))}}function A(e){if(e){let r=new Set;return Dt(r,e),[...r]}}function Ft(e){switch(e){case"Int8Array":return Int8Array;case"Int16Array":return Int16Array;case"Int32Array":return Int32Array;case"Uint8Array":return Uint8Array;case"Uint16Array":return Uint16Array;case"Uint32Array":return Uint32Array;case"Uint8ClampedArray":return Uint8ClampedArray;case"Float32Array":return Float32Array;case"Float64Array":return Float64Array;case"BigInt64Array":return BigInt64Array;case"BigUint64Array":return BigUint64Array;default:throw new Je(e)}}var jn=1e6,Yn=1e4,qn=2e4;function Vt(e,r){switch(r){case 3:return Object.freeze(e);case 1:return Object.preventExtensions(e);case 2:return Object.seal(e);default:return e}}var Wn=1e3;function Mt(e,r){var t;return{mode:e,plugins:r.plugins,refs:r.refs||new Map,features:(t=r.features)!=null?t:63^(r.disabledFeatures||0),depthLimit:r.depthLimit||Wn,types:new Map}}function Lt(e){return{mode:1,base:Mt(1,e),child:o,state:{marked:new Set(e.markedRefs)}}}function Ut(e){return{mode:2,base:Mt(2,e),child:o}}var Fr=class{constructor(r,t){this._p=r;this.depth=t}deserialize(r){return p(this._p,this.depth,r)}};function jt(e,r){if(r<0||!Number.isFinite(r)||!Number.isInteger(r))throw new O({t:4,i:r});if(e.refs.has(r))throw new Error("Conflicted ref id: "+r)}function Gn(e,r,t){return jt(e.base,r),e.state.marked.has(r)&&e.base.refs.set(r,t),t}function Kn(e,r,t){return jt(e.base,r),e.base.refs.set(r,t),t}function b(e,r,t){return e.mode===1?Gn(e,r,t):Kn(e,r,t)}function Br(e,r,t){if(Object.hasOwn(r,t))return r[t];throw new O(e)}function Hn(e,r){return b(e,r.i,St(D(r.s)))}function Jn(e,r,t){let n=t.a,a=n.length,s=b(e,t.i,new Array(a));for(let i=0,u;i<a;i++)u=n[i],u&&(s[i]=p(e,r,u));return Vt(s,t.o),s}function Zn(e){switch(e){case"constructor":case"__proto__":case"prototype":case"__defineGetter__":case"__defineSetter__":case"__lookupGetter__":case"__lookupSetter__":return!1;default:return!0}}function $n(e){switch(e){case v:case R:case P:case C:return!0;default:return!1}}function Bt(e,r,t){Zn(r)?e[r]=t:Object.defineProperty(e,r,{value:t,configurable:!0,enumerable:!0,writable:!0})}function Xn(e,r,t,n,a){if(typeof n=="string")Bt(t,D(n),p(e,r,a));else{let s=p(e,r,n);switch(typeof s){case"string":Bt(t,s,p(e,r,a));break;case"symbol":$n(s)&&(t[s]=p(e,r,a));break;default:throw new O(n)}}}function Yt(e,r,t){e.base.types.set(r,t)}function de(e,r,t,n){if(e.base.types.get(t)!==n)throw new O(r)}function qt(e,r,t,n){let a=t.k;if(a.length>0)for(let i=0,u=t.v,l=a.length;i<l;i++)Xn(e,r,n,a[i],u[i]);return n}function Qn(e,r,t){let n=b(e,t.i,t.t===10?{}:Object.create(null));return qt(e,r,t.p,n),Vt(n,t.o),n}function eo(e,r){return b(e,r.i,new Date(r.s))}function ro(e,r){if(e.base.features&32){let t=D(r.c);if(t.length>qn)throw new O(r);return b(e,r.i,new RegExp(t,r.m))}throw new h(r)}function to(e,r,t){let n=b(e,t.i,new Set);for(let a=0,s=t.a,i=s.length;a<i;a++)n.add(p(e,r,s[a]));return n}function no(e,r,t){let n=b(e,t.i,new Map);for(let a=0,s=t.e.k,i=t.e.v,u=s.length;a<u;a++)n.set(p(e,r,s[a]),p(e,r,i[a]));return n}function oo(e,r){if(r.s.length>jn)throw new O(r);return b(e,r.i,Or(D(r.s)))}function ao(e,r,t){var u;let n=Ft(t.c),a=p(e,r,t.f),s=(u=t.b)!=null?u:0;if(s<0||s>a.byteLength)throw new O(t);return b(e,t.i,new n(a,s,t.l))}function so(e,r,t){var i;let n=p(e,r,t.f),a=(i=t.b)!=null?i:0;if(a<0||a>n.byteLength)throw new O(t);return b(e,t.i,new DataView(n,a,t.l))}function Wt(e,r,t,n){if(t.p){let a=qt(e,r,t.p,{});Object.defineProperties(n,Object.getOwnPropertyDescriptors(a))}return n}function io(e,r,t){let n=b(e,t.i,new AggregateError([],D(t.m)));return Wt(e,r,t,n)}function uo(e,r,t){let n=Br(t,st,t.s),a=b(e,t.i,new n(D(t.m)));return Wt(e,r,t,a)}function lo(e,r,t){let n=ee(),a=b(e,t.i,n.p),s=p(e,r,t.f);return t.s?n.s(s):n.f(s),a}function co(e,r,t){return b(e,t.i,Object(p(e,r,t.f)))}function fo(e,r,t){let n=e.base.plugins;if(n){let a=D(t.c);for(let s=0,i=n.length;s<i;s++){let u=n[s];if(u.tag===a)return b(e,t.i,u.deserialize(t.s,new Fr(e,r),{id:t.i}))}}throw new X(t.c)}function So(e,r){return Yt(e,r.s,22),b(e,r.i,b(e,r.s,ee()).p)}function mo(e,r,t){let n=e.base.refs.get(t.i);if(n)return de(e,t,t.i,22),n.s(p(e,r,t.a[1])),o;throw new V("Promise")}function po(e,r,t){let n=e.base.refs.get(t.i);if(n)return de(e,t,t.i,22),n.f(p(e,r,t.a[1])),o;throw new V("Promise")}function go(e,r,t){p(e,r,t.a[0]);let n=p(e,r,t.a[1]);return Rt(n)}function yo(e,r,t){p(e,r,t.a[0]);let n=p(e,r,t.a[1]);return wt(n)}function No(e,r,t){Yt(e,t.i,31);let n=b(e,t.i,re()),a=t.a,s=a.length;if(s)for(let i=0;i<s;i++)p(e,r,a[i]);return n}function bo(e,r,t){let n=e.base.refs.get(t.i);if(n)return de(e,t,t.i,31),n.next(p(e,r,t.f)),o;throw new V("Stream")}function vo(e,r,t){let n=e.base.refs.get(t.i);if(n)return de(e,t,t.i,31),n.throw(p(e,r,t.f)),o;throw new V("Stream")}function Co(e,r,t){let n=e.base.refs.get(t.i);if(n)return de(e,t,t.i,31),n.return(p(e,r,t.f)),o;throw new V("Stream")}function Ao(e,r,t){return p(e,r,t.f),o}function Eo(e,r,t){return p(e,r,t.a[1]),o}function Io(e,r,t){let n=b(e,t.i,wr([],t.s,t.l));for(let a=0,s=t.a.length;a<s;a++)n.v[a]=p(e,r,t.a[a]);return n}function p(e,r,t){if(r>e.base.depthLimit)throw new Q(e.base.depthLimit);switch(r+=1,t.t){case 2:return Br(t,at,t.s);case 0:return Number(t.s);case 1:return D(String(t.s));case 3:if(String(t.s).length>Yn)throw new O(t);return BigInt(t.s);case 4:return e.base.refs.get(t.i);case 18:return Hn(e,t);case 9:return Jn(e,r,t);case 10:case 11:return Qn(e,r,t);case 5:return eo(e,t);case 6:return ro(e,t);case 7:return to(e,r,t);case 8:return no(e,r,t);case 19:return oo(e,t);case 16:case 15:return ao(e,r,t);case 20:return so(e,r,t);case 14:return io(e,r,t);case 13:return uo(e,r,t);case 12:return lo(e,r,t);case 17:return Br(t,nt,t.s);case 21:return co(e,r,t);case 25:return fo(e,r,t);case 22:return So(e,t);case 23:return mo(e,r,t);case 24:return po(e,r,t);case 28:return go(e,r,t);case 30:return yo(e,r,t);case 31:return No(e,r,t);case 32:return bo(e,r,t);case 33:return vo(e,r,t);case 34:return Co(e,r,t);case 27:return Ao(e,r,t);case 29:return Eo(e,r,t);case 35:return Io(e,r,t);default:throw new h(t)}}function sr(e,r){try{return p(e,0,r)}catch(t){throw new He(t)}}var Ro=()=>T,Po=Ro.toString(),Gt=/=>/.test(Po);function ir(e,r){return Gt?(e.length===1?e[0]:"("+e.join(",")+")")+"=>"+(r.startsWith("{")?"("+r+")":r):"function("+e.join(",")+"){return "+r+"}"}function Kt(e,r){return Gt?(e.length===1?e[0]:"("+e.join(",")+")")+"=>{"+r+"}":"function("+e.join(",")+"){"+r+"}"}var Zt="hjkmoquxzABCDEFGHIJKLNPQRTUVWXYZ$_",Ht=Zt.length,$t="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789$_",Jt=$t.length;function Vr(e){let r=e%Ht,t=Zt[r];for(e=(e-r)/Ht;e>0;)r=e%Jt,t+=$t[r],e=(e-r)/Jt;return t}var xo=/^[$A-Z_][0-9A-Z_$]*$/i;function Mr(e){let r=e[0];return(r==="$"||r==="_"||r>="A"&&r<="Z"||r>="a"&&r<="z")&&xo.test(e)}function ye(e){switch(e.t){case 0:return e.s+"="+e.v;case 2:return e.s+".set("+e.k+","+e.v+")";case 1:return e.s+".add("+e.v+")";case 3:return e.s+".delete("+e.k+")"}}function To(e){let r=[],t=e[0];for(let n=1,a=e.length,s,i=t;n<a;n++)s=e[n],s.t===0&&s.v===i.v?t={t:0,s:s.s,k:o,v:ye(t)}:s.t===2&&s.s===i.s?t={t:2,s:ye(t),k:s.k,v:s.v}:s.t===1&&s.s===i.s?t={t:1,s:ye(t),k:o,v:s.v}:s.t===3&&s.s===i.s?t={t:3,s:ye(t),k:s.k,v:o}:(r.push(t),t=s),i=s;return r.push(t),r}function on(e){if(e.length){let r="",t=To(e);for(let n=0,a=t.length;n<a;n++)r+=ye(t[n])+",";return r}return o}var Oo="Object.create(null)",wo="new Set",ho="new Map",zo="Promise.resolve",_o="Promise.reject",ko={3:"Object.freeze",2:"Object.seal",1:"Object.preventExtensions",0:o};function an(e,r){return{mode:e,plugins:r.plugins,features:r.features,marked:new Set(r.markedRefs),stack:[],flags:[],assignments:[]}}function Do(){return{valid:new Map,vars:[]}}function ur(e){return{mode:1,base:an(1,e),state:Do(),child:o}}function lr(e){return{mode:2,base:an(2,e),state:e,child:o}}var Lr=class{constructor(r){this._p=r}serialize(r){return f(this._p,r)}};function Fo(e,r){let t=e.valid.get(r);t==null&&(t=e.valid.size,e.valid.set(r,t));let n=e.vars[t];return n==null&&(n=Vr(t),e.vars[t]=n),n}function Bo(e){return le+"["+e+"]"}function m(e,r){return e.mode===1?Fo(e.state,r):Bo(r)}function w(e,r){e.marked.add(r)}function Ur(e,r){return e.marked.has(r)}function Yr(e,r,t){r!==0&&(w(e.base,t),e.base.flags.push({type:r,value:m(e,t)}))}function Vo(e){let r="";for(let t=0,n=e.flags,a=n.length;t<a;t++){let s=n[t];r+=ko[s.type]+"("+s.value+"),"}return r}function sn(e){let r=on(e.assignments),t=Vo(e);return r?t?r+t:r:t}function qr(e,r,t){e.assignments.push({t:0,s:r,k:o,v:t})}function Mo(e,r,t){e.base.assignments.push({t:1,s:m(e,r),k:o,v:t})}function ge(e,r,t,n){e.base.assignments.push({t:2,s:m(e,r),k:t,v:n})}function Xt(e,r,t){e.base.assignments.push({t:3,s:m(e,r),k:t,v:o})}function Ne(e,r,t,n){qr(e.base,m(e,r)+"["+t+"]",n)}function jr(e,r,t,n){qr(e.base,m(e,r)+"."+t,n)}function Lo(e,r,t,n){qr(e.base,m(e,r)+".v["+t+"]",n)}function F(e,r){return r.t===4&&e.stack.includes(r.i)}function ae(e,r,t){return e.mode===1&&!Ur(e.base,r)?t:m(e,r)+"="+t}function Uo(e){return L+'.get("'+e.s+'")'}function Qt(e,r,t,n){return t?F(e.base,t)?(w(e.base,r),Ne(e,r,n,m(e,t.i)),""):f(e,t):""}function jo(e,r){let t=r.i,n=r.a,a=n.length;if(a>0){e.base.stack.push(t);let s=Qt(e,t,n[0],0),i=s==="";for(let u=1,l;u<a;u++)l=Qt(e,t,n[u],u),s+=","+l,i=l==="";return e.base.stack.pop(),Yr(e,r.o,r.i),"["+s+(i?",]":"]")}return"[]"}function en(e,r,t,n){if(typeof t=="string"){let a=Number(t),s=a>=0&&a.toString()===t||Mr(t);if(F(e.base,n)){let i=m(e,n.i);return w(e.base,r.i),s&&a!==a?jr(e,r.i,t,i):Ne(e,r.i,s?t:'"'+t+'"',i),""}return(s?t:'"'+t+'"')+":"+f(e,n)}return"["+f(e,t)+"]:"+f(e,n)}function un(e,r,t){let n=t.k,a=n.length;if(a>0){let s=t.v;e.base.stack.push(r.i);let i=en(e,r,n[0],s[0]);for(let u=1,l=i;u<a;u++)l=en(e,r,n[u],s[u]),i+=(l&&i&&",")+l;return e.base.stack.pop(),"{"+i+"}"}return"{}"}function Yo(e,r){return Yr(e,r.o,r.i),un(e,r,r.p)}function qo(e,r,t,n){let a=un(e,r,t);return a!=="{}"?"Object.assign("+n+","+a+")":n}function Wo(e,r,t,n,a){let s=e.base,i=f(e,a),u=Number(n),l=u>=0&&u.toString()===n||Mr(n);if(F(s,a))l&&u!==u?jr(e,r.i,n,i):Ne(e,r.i,l?n:'"'+n+'"',i);else{let g=s.assignments;s.assignments=t,l&&u!==u?jr(e,r.i,n,i):Ne(e,r.i,l?n:'"'+n+'"',i),s.assignments=g}}function Go(e,r,t,n,a){if(typeof n=="string")Wo(e,r,t,n,a);else{let s=e.base,i=s.stack;s.stack=[];let u=f(e,a);s.stack=i;let l=s.assignments;s.assignments=t,Ne(e,r.i,f(e,n),u),s.assignments=l}}function Ko(e,r,t){let n=t.k,a=n.length;if(a>0){let s=[],i=t.v;e.base.stack.push(r.i);for(let u=0;u<a;u++)Go(e,r,s,n[u],i[u]);return e.base.stack.pop(),on(s)}return o}function Wr(e,r,t){if(r.p){let n=e.base;if(n.features&8)t=qo(e,r,r.p,t);else{w(n,r.i);let a=Ko(e,r,r.p);if(a)return"("+ae(e,r.i,t)+","+a+m(e,r.i)+")"}}return t}function Ho(e,r){return Yr(e,r.o,r.i),Wr(e,r,Oo)}function Jo(e){return'new Date("'+e.s+'")'}function Zo(e,r){if(e.base.features&32)return"/"+r.c+"/"+r.m;throw new h(r)}function rn(e,r,t){let n=e.base;return F(n,t)?(w(n,r),Mo(e,r,m(e,t.i)),""):f(e,t)}function $o(e,r){let t=wo,n=r.a,a=n.length,s=r.i;if(a>0){e.base.stack.push(s);let i=rn(e,s,n[0]);for(let u=1,l=i;u<a;u++)l=rn(e,s,n[u]),i+=(l&&i&&",")+l;e.base.stack.pop(),i&&(t+="(["+i+"])")}return t}function tn(e,r,t,n,a){let s=e.base;if(F(s,t)){let i=m(e,t.i);if(w(s,r),F(s,n)){let l=m(e,n.i);return ge(e,r,i,l),""}if(n.t!==4&&n.i!=null&&Ur(s,n.i)){let l="("+f(e,n)+",["+a+","+a+"])";return ge(e,r,i,m(e,n.i)),Xt(e,r,a),l}let u=s.stack;return s.stack=[],ge(e,r,i,f(e,n)),s.stack=u,""}if(F(s,n)){let i=m(e,n.i);if(w(s,r),t.t!==4&&t.i!=null&&Ur(s,t.i)){let l="("+f(e,t)+",["+a+","+a+"])";return ge(e,r,m(e,t.i),i),Xt(e,r,a),l}let u=s.stack;return s.stack=[],ge(e,r,f(e,t),i),s.stack=u,""}return"["+f(e,t)+","+f(e,n)+"]"}function Xo(e,r){let t=ho,n=r.e.k,a=n.length,s=r.i,i=r.f,u=m(e,i.i),l=e.base;if(a>0){let g=r.e.v;l.stack.push(s);let S=tn(e,s,n[0],g[0],u);for(let d=1,G=S;d<a;d++)G=tn(e,s,n[d],g[d],u),S+=(G&&S&&",")+G;l.stack.pop(),S&&(t+="(["+S+"])")}return i.t===26&&(w(l,i.i),t="("+f(e,i)+","+t+")"),t}function Qo(e,r){return q(e,r.f)+'("'+r.s+'")'}function ea(e,r){return"new "+r.c+"("+f(e,r.f)+","+r.b+","+r.l+")"}function ra(e,r){return"new DataView("+f(e,r.f)+","+r.b+","+r.l+")"}function ta(e,r){let t=r.i;e.base.stack.push(t);let n=Wr(e,r,'new AggregateError([],"'+r.m+'")');return e.base.stack.pop(),n}function na(e,r){return Wr(e,r,"new "+Ce[r.s]+'("'+r.m+'")')}function oa(e,r){let t,n=r.f,a=r.i,s=r.s?zo:_o,i=e.base;if(F(i,n)){let u=m(e,n.i);t=s+(r.s?"().then("+ir([],u)+")":"().catch("+Kt([],"throw "+u)+")")}else{i.stack.push(a);let u=f(e,n);i.stack.pop(),t=s+"("+u+")"}return t}function aa(e,r){return"Object("+f(e,r.f)+")"}function q(e,r){let t=f(e,r);return r.t===4?t:"("+t+")"}function sa(e,r){if(e.mode===1)throw new h(r);return"("+ae(e,r.s,q(e,r.f)+"()")+").p"}function ia(e,r){if(e.mode===1)throw new h(r);return q(e,r.a[0])+"("+m(e,r.i)+","+f(e,r.a[1])+")"}function ua(e,r){if(e.mode===1)throw new h(r);return q(e,r.a[0])+"("+m(e,r.i)+","+f(e,r.a[1])+")"}function la(e,r){let t=e.base.plugins;if(t)for(let n=0,a=t.length;n<a;n++){let s=t[n];if(s.tag===r.c)return e.child==null&&(e.child=new Lr(e)),s.serialize(r.s,e.child,{id:r.i})}throw new X(r.c)}function ca(e,r){let t="",n=!1;return r.f.t!==4&&(w(e.base,r.f.i),t="("+f(e,r.f)+",",n=!0),t+=ae(e,r.i,"("+At+")("+m(e,r.f.i)+")"),n&&(t+=")"),t}function fa(e,r){return q(e,r.a[0])+"("+f(e,r.a[1])+")"}function Sa(e,r){let t=r.a[0],n=r.a[1],a=e.base,s="";t.t!==4&&(w(a,t.i),s+="("+f(e,t)),n.t!==4&&(w(a,n.i),s+=(s?",":"(")+f(e,n)),s&&(s+=",");let i=ae(e,r.i,"("+Et+")("+m(e,n.i)+","+m(e,t.i)+")");return s?s+i+")":i}function ma(e,r){return q(e,r.a[0])+"("+f(e,r.a[1])+")"}function pa(e,r){let t=ae(e,r.i,q(e,r.f)+"()"),n=r.a.length;if(n){let a=f(e,r.a[0]);for(let s=1;s<n;s++)a+=","+f(e,r.a[s]);return"("+t+","+a+","+m(e,r.i)+")"}return t}function da(e,r){return m(e,r.i)+".next("+f(e,r.f)+")"}function ga(e,r){return m(e,r.i)+".throw("+f(e,r.f)+")"}function ya(e,r){return m(e,r.i)+".return("+f(e,r.f)+")"}function nn(e,r,t,n){let a=e.base;return F(a,n)?(w(a,r),Lo(e,r,t,m(e,n.i)),""):f(e,n)}function Na(e,r){let t=r.a,n=t.length,a=r.i;if(n>0){e.base.stack.push(a);let s=nn(e,a,0,t[0]);for(let i=1,u=s;i<n;i++)u=nn(e,a,i,t[i]),s+=(u&&s&&",")+u;if(e.base.stack.pop(),s)return"{__SEROVAL_SEQUENCE__:!0,v:["+s+"],t:"+r.s+",d:"+r.l+"}"}return"{__SEROVAL_SEQUENCE__:!0,v:[],t:-1,d:0}"}function ba(e,r){switch(r.t){case 17:return tt[r.s];case 18:return Uo(r);case 9:return jo(e,r);case 10:return Yo(e,r);case 11:return Ho(e,r);case 5:return Jo(r);case 6:return Zo(e,r);case 7:return $o(e,r);case 8:return Xo(e,r);case 19:return Qo(e,r);case 16:case 15:return ea(e,r);case 20:return ra(e,r);case 14:return ta(e,r);case 13:return na(e,r);case 12:return oa(e,r);case 21:return aa(e,r);case 22:return sa(e,r);case 25:return la(e,r);case 26:return Ot[r.s];case 35:return Na(e,r);default:throw new h(r)}}function f(e,r){switch(r.t){case 2:return ot[r.s];case 0:return""+r.s;case 1:return'"'+r.s+'"';case 3:return r.s+"n";case 4:return m(e,r.i);case 23:return ia(e,r);case 24:return ua(e,r);case 27:return ca(e,r);case 28:return fa(e,r);case 29:return Sa(e,r);case 30:return ma(e,r);case 31:return pa(e,r);case 32:return da(e,r);case 33:return ga(e,r);case 34:return ya(e,r);default:return ae(e,r.i,ba(e,r))}}function cr(e,r){let t=f(e,r);if(r.i!=null&&e.state.vars.length){let n=sn(e.base),a=t;if(n){let s=m(e,r.i);a=t+","+n+s,t.startsWith(s+"=")||(a=s+"="+a),a="("+a+")"}return"("+ir(e.state.vars,a)+")()"}return r.t===10?"("+t+")":t}function fr(e,r){let t=f(e,r),n=r.i;if(n==null)return t;let a=sn(e.base),s=m(e,n),i=e.state.scopeId,u=i==null?"":le,l=a?"("+t+","+a+s+")":t;if(u==="")return r.t===10&&!a?"("+l+")":l;let g=i==null?"()":"("+le+'["'+y(i)+'"])';return"("+ir([u],l)+")"+g}function ie(e,r){return{type:1,base:me(e,r),child:o}}var Kr=class{constructor(r,t){this._p=r;this.depth=t}parse(r){return E(this._p,this.depth,r)}},Hr=class{constructor(r,t){this._p=r;this.depth=t}parse(r){return E(this._p,this.depth,r)}parseWithError(r){return W(this._p,this.depth,r)}isAlive(){return this._p.state.alive}pushPendingState(){Qr(this._p)}popPendingState(){be(this._p)}onParse(r){se(this._p,r)}onError(r){$r(this._p,r)}};function va(e){return{alive:!0,pending:0,initial:!0,buffer:[],onParse:e.onParse,onError:e.onError,onDone:e.onDone}}function Jr(e){return{type:2,base:me(2,e),state:va(e)}}function Ca(e,r,t){let n=[];for(let a=0,s=t.length;a<s;a++)a in t?n[a]=E(e,r,t[a]):n[a]=0;return n}function Aa(e,r,t,n){return _e(t,n,Ca(e,r,n))}function Zr(e,r,t){let n=Object.entries(t),a=[],s=[];for(let i=0,u=n.length;i<u;i++)a.push(y(n[i][0])),s.push(E(e,r,n[i][1]));return C in t&&(a.push(I(e.base,C)),s.push(Ue(rr(e.base),E(e,r,$e(t))))),v in t&&(a.push(I(e.base,v)),s.push(je(tr(e.base),E(e,r,e.type===1?re():Qe(t))))),P in t&&(a.push(I(e.base,P)),s.push($(t[P]))),R in t&&(a.push(I(e.base,R)),s.push(t[R]?H:J)),{k:a,v:s}}function Gr(e,r,t,n,a){return nr(t,n,a,Zr(e,r,n))}function Ea(e,r,t,n){return ke(t,E(e,r,n.valueOf()))}function Ia(e,r,t,n){return De(t,n,E(e,r,n.buffer))}function Ra(e,r,t,n){return Fe(t,n,E(e,r,n.buffer))}function Pa(e,r,t,n){return Be(t,n,E(e,r,n.buffer))}function ln(e,r,t,n){let a=Z(n,e.base.features);return Ve(t,n,a?Zr(e,r,a):o)}function xa(e,r,t,n){let a=Z(n,e.base.features);return Me(t,n,a?Zr(e,r,a):o)}function Ta(e,r,t,n){let a=[],s=[];for(let[i,u]of n.entries())a.push(E(e,r,i)),s.push(E(e,r,u));return or(e.base,t,a,s)}function Oa(e,r,t,n){let a=[];for(let s of n.keys())a.push(E(e,r,s));return Le(t,a)}function wa(e,r,t,n){let a=Ye(t,k(e.base,4),[]);return e.type===1||(Qr(e),n.on({next:s=>{if(e.state.alive){let i=W(e,r,s);i&&se(e,qe(t,i))}},throw:s=>{if(e.state.alive){let i=W(e,r,s);i&&se(e,We(t,i))}be(e)},return:s=>{if(e.state.alive){let i=W(e,r,s);i&&se(e,Ge(t,i))}be(e)}})),a}function ha(e,r,t){if(this.state.alive){let n=W(this,r,t);n&&se(this,c(23,e,o,o,o,o,o,[k(this.base,2),n],o,o,o,o)),be(this)}}function za(e,r,t){if(this.state.alive){let n=W(this,r,t);n&&se(this,c(24,e,o,o,o,o,o,[k(this.base,3),n],o,o,o,o))}be(this)}function _a(e,r,t,n){let a=zr(e.base,{});return e.type===2&&(Qr(e),n.then(ha.bind(e,a,r),za.bind(e,a,r))),zt(e.base,t,a)}function ka(e,r,t,n,a){for(let s=0,i=a.length;s<i;s++){let u=a[s];if(u.parse.sync&&u.test(n))return ce(t,u.tag,u.parse.sync(n,new Kr(e,r),{id:t}))}return o}function Da(e,r,t,n,a){for(let s=0,i=a.length;s<i;s++){let u=a[s];if(u.parse.stream&&u.test(n))return ce(t,u.tag,u.parse.stream(n,new Hr(e,r),{id:t}))}return o}function cn(e,r,t,n){let a=e.base.plugins;return a?e.type===1?ka(e,r,t,n,a):Da(e,r,t,n,a):o}function Fa(e,r,t,n){let a=[];for(let s=0,i=n.v.length;s<i;s++)a[s]=E(e,r,n.v[s]);return Ke(t,a,n.t,n.d)}function Ba(e,r,t,n,a){switch(a){case Object:return Gr(e,r,t,n,!1);case o:return Gr(e,r,t,n,!0);case Date:return he(t,n);case Error:case EvalError:case RangeError:case ReferenceError:case SyntaxError:case TypeError:case URIError:return ln(e,r,t,n);case Number:case Boolean:case String:case BigInt:return Ea(e,r,t,n);case ArrayBuffer:return ar(e.base,t,n);case Int8Array:case Int16Array:case Int32Array:case Uint8Array:case Uint16Array:case Uint32Array:case Uint8ClampedArray:case Float32Array:case Float64Array:return Ia(e,r,t,n);case DataView:return Pa(e,r,t,n);case Map:return Ta(e,r,t,n);case Set:return Oa(e,r,t,n);default:break}if(a===Promise||n instanceof Promise)return _a(e,r,t,n);let s=e.base.features;if(s&32&&a===RegExp)return ze(t,n);if(s&16)switch(a){case BigInt64Array:case BigUint64Array:return Ra(e,r,t,n);default:break}if(s&1&&typeof AggregateError!="undefined"&&(a===AggregateError||n instanceof AggregateError))return xa(e,r,t,n);if(n instanceof Error)return ln(e,r,t,n);if(C in n||v in n)return Gr(e,r,t,n,!!a);throw new x(n)}function Va(e,r,t,n){if(Array.isArray(n))return Aa(e,r,t,n);if(Xe(n))return wa(e,r,t,n);if(Ze(n))return Fa(e,r,t,n);let a=n.constructor;if(a===j)return E(e,r,n.replacement);let s=cn(e,r,t,n);return s||Ba(e,r,t,n,a)}function Ma(e,r,t){let n=Y(e.base,t);if(n.type!==0)return n.value;let a=cn(e,r,n.value,t);if(a)return a;throw new x(t)}function E(e,r,t){if(r>=e.base.depthLimit)throw new Q(e.base.depthLimit);switch(typeof t){case"boolean":return t?H:J;case"undefined":return Ae;case"string":return $(t);case"number":return Oe(t);case"bigint":return we(t);case"object":{if(t){let n=Y(e.base,t);return n.type===0?Va(e,r+1,n.value,t):n.value}return Ee}case"symbol":return I(e.base,t);case"function":return Ma(e,r,t);default:throw new x(t)}}function ue(e,r){try{return E(e,0,r)}catch(t){throw t instanceof z?t:new z(t)}}function se(e,r){e.state.initial?e.state.buffer.push(r):Xr(e,r,!1)}function $r(e,r){if(e.state.onError)e.state.onError(r);else throw r instanceof z?r:new z(r)}function fn(e){e.state.onDone&&e.state.onDone()}function Xr(e,r,t){try{e.state.onParse(r,t)}catch(n){$r(e,n)}}function Qr(e){e.state.pending++}function be(e){--e.state.pending<=0&&fn(e)}function W(e,r,t){try{return E(e,r,t)}catch(n){return $r(e,n),o}}function et(e,r){let t=W(e,0,r);t&&(Xr(e,t,!0),e.state.initial=!1,La(e,e.state),e.state.pending<=0&&Sr(e))}function La(e,r){for(let t=0,n=r.buffer.length;t<n;t++)Xr(e,r.buffer[t],!1)}function Sr(e){e.state.alive&&(fn(e),e.state.alive=!1)}function nu(e,r={}){let t=A(r.plugins),n=ie(2,{plugins:t,disabledFeatures:r.disabledFeatures,refs:r.refs}),a=ue(n,e),s=lr({plugins:t,features:n.base.features,scopeId:r.scopeId,markedRefs:n.base.marked});return fr(s,a)}async function ou(e,r={}){let t=A(r.plugins),n=te(2,{plugins:t,disabledFeatures:r.disabledFeatures,refs:r.refs}),a=await ne(n,e),s=lr({plugins:t,features:n.base.features,scopeId:r.scopeId,markedRefs:n.base.marked});return fr(s,a)}function au(e,r={}){let t=A(r.plugins),n=ie(2,{plugins:t,disabledFeatures:r.disabledFeatures,refs:r.refs});return ue(n,e)}async function su(e,r={}){let t=A(r.plugins),n=te(2,{plugins:t,disabledFeatures:r.disabledFeatures,refs:r.refs});return await ne(n,e)}function Sn(e,r){let t=A(r.plugins),n=Jr({plugins:t,refs:r.refs,disabledFeatures:r.disabledFeatures,onParse(a,s){let i=lr({plugins:t,features:n.base.features,scopeId:r.scopeId,markedRefs:n.base.marked}),u;try{u=fr(i,a)}catch(l){r.onError&&r.onError(l);return}r.onSerialize(u,s)},onError:r.onError,onDone:r.onDone});return et(n,e),Sr.bind(null,n)}function iu(e,r){let t=A(r.plugins),n=Jr({plugins:t,refs:r.refs,disabledFeatures:r.disabledFeatures,depthLimit:r.depthLimit,onParse:r.onParse,onError:r.onError,onDone:r.onDone});return et(n,e),Sr.bind(null,n)}function uu(e,r){let t=A(r.plugins),n=Ut({plugins:t,refs:r.refs,features:r.features,disabledFeatures:r.disabledFeatures,depthLimit:r.depthLimit});return sr(n,e)}var mr=class{constructor(r){this.options=r;this.alive=!0;this.flushed=!1;this.done=!1;this.pending=0;this.cleanups=[];this.refs=new Map;this.keys=new Set;this.ids=0;this.plugins=A(r.plugins)}write(r,t){this.alive&&!this.flushed&&(this.pending++,this.keys.add(r),this.cleanups.push(Sn(t,{plugins:this.plugins,scopeId:this.options.scopeId,refs:this.refs,disabledFeatures:this.options.disabledFeatures,onError:this.options.onError,onSerialize:(n,a)=>{this.alive&&this.options.onData(a?this.options.globalIdentifier+'["'+y(r)+'"]='+n:n)},onDone:()=>{this.alive&&(this.pending--,this.pending<=0&&this.flushed&&!this.done&&this.options.onDone&&(this.options.onDone(),this.done=!0))}})))}getNextID(){for(;this.keys.has(""+this.ids);)this.ids++;return""+this.ids}push(r){let t=this.getNextID();return this.write(t,r),t}flush(){this.alive&&(this.flushed=!0,this.pending<=0&&!this.done&&this.options.onDone&&(this.options.onDone(),this.done=!0))}close(){if(this.alive){for(let r=0,t=this.cleanups.length;r<t;r++)this.cleanups[r]();!this.done&&this.options.onDone&&(this.options.onDone(),this.done=!0),this.alive=!1}}};function vu(e,r={}){let t=A(r.plugins),n=ie(1,{plugins:t,disabledFeatures:r.disabledFeatures}),a=ue(n,e),s=ur({plugins:t,features:n.base.features,markedRefs:n.base.marked});return cr(s,a)}async function Cu(e,r={}){let t=A(r.plugins),n=te(1,{plugins:t,disabledFeatures:r.disabledFeatures}),a=await ne(n,e),s=ur({plugins:t,features:n.base.features,markedRefs:n.base.marked});return cr(s,a)}function Au(e){return(0,eval)(e)}function Eu(e,r={}){let t=A(r.plugins),n=ie(1,{plugins:t,disabledFeatures:r.disabledFeatures});return{t:ue(n,e),f:n.base.features,m:Array.from(n.base.marked)}}async function Iu(e,r={}){let t=A(r.plugins),n=te(1,{plugins:t,disabledFeatures:r.disabledFeatures});return{t:await ne(n,e),f:n.base.features,m:Array.from(n.base.marked)}}function Ru(e,r={}){let t=A(r.plugins),n=ur({plugins:t,features:e.f,markedRefs:e.m});return cr(n,e.t)}function Pu(e,r={}){var i;let t=A(r.plugins),n=r.disabledFeatures||0,a=(i=e.f)!=null?i:63,s=Lt({plugins:t,markedRefs:e.m,features:a&~n,disabledFeatures:n});return sr(s,e.t)}export{M as Feature,j as OpaqueReference,mr as Serializer,yt as SerovalConflictedNodeIdError,Q as SerovalDepthLimitError,He as SerovalDeserializationError,fe as SerovalError,O as SerovalMalformedNodeError,V as SerovalMissingInstanceError,X as SerovalMissingPluginError,Re as SerovalMissingReferenceError,Pe as SerovalMissingReferenceForIdError,oe as SerovalMode,z as SerovalParserError,Rr as SerovalSerializationError,Je as SerovalUnknownTypedArrayError,h as SerovalUnsupportedNodeError,x as SerovalUnsupportedTypeError,Ru as compileJSON,ai as createPlugin,gn as createReference,re as createStream,nu as crossSerialize,ou as crossSerializeAsync,Sn as crossSerializeStream,Au as deserialize,uu as fromCrossJSON,Pu as fromJSON,dn as getCrossReferenceHeader,A as resolvePlugins,vu as serialize,Cu as serializeAsync,au as toCrossJSON,su as toCrossJSONAsync,iu as toCrossJSONStream,Eu as toJSON,Iu as toJSONAsync};
1
+ var M=(i=>(i[i.AggregateError=1]="AggregateError",i[i.ArrowFunction=2]="ArrowFunction",i[i.ErrorPrototypeStack=4]="ErrorPrototypeStack",i[i.ObjectAssign=8]="ObjectAssign",i[i.BigIntTypedArray=16]="BigIntTypedArray",i[i.RegExp=32]="RegExp",i))(M||{});var v=Symbol.asyncIterator,dr=Symbol.hasInstance,R=Symbol.isConcatSpreadable,C=Symbol.iterator,gr=Symbol.match,yr=Symbol.matchAll,Nr=Symbol.replace,br=Symbol.search,vr=Symbol.species,Cr=Symbol.split,Ar=Symbol.toPrimitive,P=Symbol.toStringTag,Er=Symbol.unscopables;var nt={0:"Symbol.asyncIterator",1:"Symbol.hasInstance",2:"Symbol.isConcatSpreadable",3:"Symbol.iterator",4:"Symbol.match",5:"Symbol.matchAll",6:"Symbol.replace",7:"Symbol.search",8:"Symbol.species",9:"Symbol.split",10:"Symbol.toPrimitive",11:"Symbol.toStringTag",12:"Symbol.unscopables"},Ce={[v]:0,[dr]:1,[R]:2,[C]:3,[gr]:4,[yr]:5,[Nr]:6,[br]:7,[vr]:8,[Cr]:9,[Ar]:10,[P]:11,[Er]:12},ot={0:v,1:dr,2:R,3:C,4:gr,5:yr,6:Nr,7:br,8:vr,9:Cr,10:Ar,11:P,12:Er},at={2:"!0",3:"!1",1:"void 0",0:"null",4:"-0",5:"1/0",6:"-1/0",7:"0/0"},o=void 0,st={2:!0,3:!1,1:o,0:null,4:-0,5:Number.POSITIVE_INFINITY,6:Number.NEGATIVE_INFINITY,7:Number.NaN};var Ae={0:"Error",1:"EvalError",2:"RangeError",3:"ReferenceError",4:"SyntaxError",5:"TypeError",6:"URIError"},it={0:Error,1:EvalError,2:RangeError,3:ReferenceError,4:SyntaxError,5:TypeError,6:URIError};function c(e,r,t,n,a,s,i,u,l,g,S,d){return{t:e,i:r,s:t,c:n,m:a,p:s,e:i,a:u,f:l,b:g,o:S,l:d}}function B(e){return c(2,o,e,o,o,o,o,o,o,o,o,o)}var H=B(2),J=B(3),Ee=B(1),Ie=B(0),ut=B(4),lt=B(5),ct=B(6),ft=B(7);function dn(e){switch(e){case'"':return'\\"';case"\\":return"\\\\";case`
2
+ `:return"\\n";case"\r":return"\\r";case"\b":return"\\b";case" ":return"\\t";case"\f":return"\\f";case"<":return"\\x3C";case"\u2028":return"\\u2028";case"\u2029":return"\\u2029";default:return o}}function y(e){let r="",t=0,n;for(let a=0,s=e.length;a<s;a++)n=dn(e[a]),n&&(r+=e.slice(t,a)+n,t=a+1);return t===0?r=e:r+=e.slice(t),r}function gn(e){switch(e){case"\\\\":return"\\";case'\\"':return'"';case"\\n":return`
3
+ `;case"\\r":return"\r";case"\\b":return"\b";case"\\t":return" ";case"\\f":return"\f";case"\\x3C":return"<";case"\\u2028":return"\u2028";case"\\u2029":return"\u2029";default:return e}}function h(e){return e.replace(/(\\\\|\\"|\\n|\\r|\\b|\\t|\\f|\\u2028|\\u2029|\\x3C)/g,gn)}var L="__SEROVAL_REFS__",le="$R",Re=`self.${le}`;function yn(e){return e==null?`${Re}=${Re}||[]`:`(${Re}=${Re}||{})["${y(e)}"]=[]`}var Ir=new Map,U=new Map;function Nn(e,r){return Ir.set(r,e),U.set(e,r),r}function Rr(e){return Ir.has(e)}function bn(e){return U.has(e)}function St(e){if(Rr(e))return Ir.get(e);throw new Pe(e)}function mt(e){if(bn(e))return U.get(e);throw new xe(e)}typeof globalThis!="undefined"?Object.defineProperty(globalThis,L,{value:U,configurable:!0,writable:!1,enumerable:!1}):typeof window!="undefined"?Object.defineProperty(window,L,{value:U,configurable:!0,writable:!1,enumerable:!1}):typeof self!="undefined"?Object.defineProperty(self,L,{value:U,configurable:!0,writable:!1,enumerable:!1}):typeof global!="undefined"&&Object.defineProperty(global,L,{value:U,configurable:!0,writable:!1,enumerable:!1});function Te(e){return e instanceof EvalError?1:e instanceof RangeError?2:e instanceof ReferenceError?3:e instanceof SyntaxError?4:e instanceof TypeError?5:e instanceof URIError?6:0}function vn(e){let r=Ae[Te(e)];return e.name!==r?{name:e.name}:e.constructor.name!==r?{name:e.constructor.name}:{}}function Z(e,r){let t=vn(e),n=Object.getOwnPropertyNames(e);for(let a=0,s=n.length,i;a<s;a++)i=n[a],i!=="name"&&i!=="message"&&(i==="stack"?r&4&&(t=t||{},t[i]=e[i]):(t=t||{},t[i]=e[i]));return t}function Oe(e){return Object.isFrozen(e)?3:Object.isSealed(e)?2:Object.isExtensible(e)?0:1}function we(e){switch(e){case Number.POSITIVE_INFINITY:return lt;case Number.NEGATIVE_INFINITY:return ct}return e!==e?ft:Object.is(e,-0)?ut:c(0,o,e,o,o,o,o,o,o,o,o,o)}function $(e){return c(1,o,y(e),o,o,o,o,o,o,o,o,o)}function he(e){return c(3,o,""+e,o,o,o,o,o,o,o,o,o)}function dt(e){return c(4,e,o,o,o,o,o,o,o,o,o,o)}function ze(e,r){let t=r.valueOf();return c(5,e,t!==t?"":r.toISOString(),o,o,o,o,o,o,o,o,o)}function _e(e,r){return c(6,e,o,y(r.source),r.flags,o,o,o,o,o,o,o)}function gt(e,r){return c(17,e,Ce[r],o,o,o,o,o,o,o,o,o)}function yt(e,r){return c(18,e,y(St(r)),o,o,o,o,o,o,o,o,o)}function ce(e,r,t){return c(25,e,t,y(r),o,o,o,o,o,o,o,o)}function ke(e,r,t){return c(9,e,o,o,o,o,o,t,o,o,Oe(r),o)}function De(e,r){return c(21,e,o,o,o,o,o,o,r,o,o,o)}function Fe(e,r,t){return c(15,e,o,r.constructor.name,o,o,o,o,t,r.byteOffset,o,r.length)}function Be(e,r,t){return c(16,e,o,r.constructor.name,o,o,o,o,t,r.byteOffset,o,r.length)}function Ve(e,r,t){return c(20,e,o,o,o,o,o,o,t,r.byteOffset,o,r.byteLength)}function Me(e,r,t){return c(13,e,Te(r),o,y(r.message),t,o,o,o,o,o,o)}function Le(e,r,t){return c(14,e,Te(r),o,y(r.message),t,o,o,o,o,o,o)}function Ue(e,r){return c(7,e,o,o,o,o,o,r,o,o,o,o)}function je(e,r){return c(28,o,o,o,o,o,o,[e,r],o,o,o,o)}function Ye(e,r){return c(30,o,o,o,o,o,o,[e,r],o,o,o,o)}function qe(e,r,t){return c(31,e,o,o,o,o,o,t,r,o,o,o)}function We(e,r){return c(32,e,o,o,o,o,o,o,r,o,o,o)}function Ke(e,r){return c(33,e,o,o,o,o,o,o,r,o,o,o)}function Ge(e,r){return c(34,e,o,o,o,o,o,o,r,o,o,o)}function He(e,r,t,n){return c(35,e,t,o,o,o,o,r,o,o,o,n)}var{toString:bs}=Object.prototype;var Cn={parsing:1,serialization:2,deserialization:3};function An(e){return`Seroval Error (step: ${Cn[e]})`}var En=(e,r)=>An(e),fe=class extends Error{constructor(t,n){super(En(t,n));this.cause=n}},_=class extends fe{constructor(r){super("parsing",r)}},Pr=class extends fe{constructor(r){super("serialization",r)}},Je=class extends fe{constructor(r){super("deserialization",r)}};function k(e){return`Seroval Error (specific: ${e})`}var x=class extends Error{constructor(t){super(k(1));this.value=t}},z=class extends Error{constructor(r){super(k(2))}},X=class extends Error{constructor(r){super(k(3))}},V=class extends Error{constructor(r){super(k(4))}},Pe=class extends Error{constructor(t){super(k(5));this.value=t}},xe=class extends Error{constructor(r){super(k(6))}},Ze=class extends Error{constructor(r){super(k(7))}},O=class extends Error{constructor(r){super(k(8))}},Nt=class extends Error{constructor(r){super(k(9))}},Q=class extends Error{constructor(r){super(k(9))}};var j=class{constructor(r,t){this.value=r;this.replacement=t}};var ee=()=>{let e={p:0,s:0,f:0};return e.p=new Promise((r,t)=>{e.s=r,e.f=t}),e},In=(e,r)=>{e.s(r),e.p.s=1,e.p.v=r},Rn=(e,r)=>{e.f(r),e.p.s=2,e.p.v=r},bt=ee.toString(),vt=In.toString(),Ct=Rn.toString(),xr=()=>{let e=[],r=[],t=!0,n=!1,a=0,s=(l,g,S)=>{for(S=0;S<a;S++)r[S]&&r[S][g](l)},i=(l,g,S,d)=>{for(g=0,S=e.length;g<S;g++)d=e[g],!t&&g===S-1?l[n?"return":"throw"](d):l.next(d)},u=(l,g)=>(t&&(g=a++,r[g]=l),i(l),()=>{t&&(r[g]=r[a],r[a--]=void 0)});return{__SEROVAL_STREAM__:!0,on:l=>u(l),next:l=>{t&&(e.push(l),s(l,"next"))},throw:l=>{t&&(e.push(l),s(l,"throw"),t=!1,n=!1,r.length=0)},return:l=>{t&&(e.push(l),s(l,"return"),t=!1,n=!0,r.length=0)}}},At=xr.toString(),Tr=e=>r=>()=>{let t=0,n={[e]:()=>n,next:()=>{if(t>r.d)return{done:!0,value:void 0};let a=t++,s=r.v[a];if(a===r.t)throw s;return{done:a===r.d,value:s}}};return n},Et=Tr.toString(),Or=(e,r)=>t=>()=>{let n=0,a=-1,s=!1,i=[],u=[],l=(S=0,d=u.length)=>{for(;S<d;S++)u[S].s({done:!0,value:void 0})};t.on({next:S=>{let d=u.shift();d&&d.s({done:!1,value:S}),i.push(S)},throw:S=>{let d=u.shift();d&&d.f(S),l(),a=i.length,s=!0,i.push(S)},return:S=>{let d=u.shift();d&&d.s({done:!0,value:S}),l(),a=i.length,i.push(S)}});let g={[e]:()=>g,next:()=>{if(a===-1){let K=n++;if(K>=i.length){let tt=r();return u.push(tt),tt.p}return{done:!1,value:i[K]}}if(n>a)return{done:!0,value:void 0};let S=n++,d=i[S];if(S!==a)return{done:!1,value:d};if(s)throw d;return{done:!0,value:d}}};return g},It=Or.toString(),wr=e=>{let r=atob(e),t=r.length,n=new Uint8Array(t);for(let a=0;a<t;a++)n[a]=r.charCodeAt(a);return n.buffer},Rt=wr.toString();function $e(e){return"__SEROVAL_SEQUENCE__"in e}function hr(e,r,t){return{__SEROVAL_SEQUENCE__:!0,v:e,t:r,d:t}}function Xe(e){let r=[],t=-1,n=-1,a=e[C]();for(;;)try{let s=a.next();if(r.push(s.value),s.done){n=r.length-1;break}}catch(s){t=r.length,r.push(s)}return hr(r,t,n)}var Pn=Tr(C);function Pt(e){return Pn(e)}var xt={},Tt={};var Ot={0:{},1:{},2:{},3:{},4:{},5:{}},wt={0:"[]",1:bt,2:vt,3:Ct,4:At,5:Rt};function Qe(e){return"__SEROVAL_STREAM__"in e}function re(){return xr()}function er(e){let r=re(),t=e[v]();async function n(){try{let a=await t.next();a.done?r.return(a.value):(r.next(a.value),await n())}catch(a){r.throw(a)}}return n().catch(()=>{}),r}var xn=Or(v,ee);function ht(e){return xn(e)}async function zr(e){try{return[1,await e]}catch(r){return[0,r]}}function me(e,r){return{plugins:r.plugins,mode:e,marked:new Set,features:63^(r.disabledFeatures||0),refs:r.refs||new Map,depthLimit:r.depthLimit||1e3}}function pe(e,r){e.marked.add(r)}function _r(e,r){let t=e.refs.size;return e.refs.set(r,t),t}function rr(e,r){let t=e.refs.get(r);return t!=null?(pe(e,t),{type:1,value:dt(t)}):{type:0,value:_r(e,r)}}function Y(e,r){let t=rr(e,r);return t.type===1?t:Rr(r)?{type:2,value:yt(t.value,r)}:t}function I(e,r){let t=Y(e,r);if(t.type!==0)return t.value;if(r in Ce)return gt(t.value,r);throw new x(r)}function D(e,r){let t=rr(e,Ot[r]);return t.type===1?t.value:c(26,t.value,r,o,o,o,o,o,o,o,o,o)}function tr(e){let r=rr(e,xt);return r.type===1?r.value:c(27,r.value,o,o,o,o,o,o,I(e,C),o,o,o)}function nr(e){let r=rr(e,Tt);return r.type===1?r.value:c(29,r.value,o,o,o,o,o,[D(e,1),I(e,v)],o,o,o,o)}function or(e,r,t,n){return c(t?11:10,e,o,o,o,n,o,o,o,o,Oe(r),o)}function ar(e,r,t,n){return c(8,r,o,o,o,o,{k:t,v:n},o,D(e,0),o,o,o)}function _t(e,r,t){return c(22,r,t,o,o,o,o,o,D(e,1),o,o,o)}function sr(e,r,t){let n=new Uint8Array(t),a="";for(let s=0,i=n.length;s<i;s++)a+=String.fromCharCode(n[s]);return c(19,r,y(btoa(a)),o,o,o,o,o,D(e,5),o,o,o)}function te(e,r){return{base:me(e,r),child:void 0}}var Dr=class{constructor(r,t){this._p=r;this.depth=t}parse(r){return N(this._p,this.depth,r)}};async function On(e,r,t){let n=[];for(let a=0,s=t.length;a<s;a++)a in t?n[a]=await N(e,r,t[a]):n[a]=0;return n}async function wn(e,r,t,n){return ke(t,n,await On(e,r,n))}async function Fr(e,r,t){let n=Object.entries(t),a=[],s=[];for(let i=0,u=n.length;i<u;i++)a.push(y(n[i][0])),s.push(await N(e,r,n[i][1]));return C in t&&(a.push(I(e.base,C)),s.push(je(tr(e.base),await N(e,r,Xe(t))))),v in t&&(a.push(I(e.base,v)),s.push(Ye(nr(e.base),await N(e,r,er(t))))),P in t&&(a.push(I(e.base,P)),s.push($(t[P]))),R in t&&(a.push(I(e.base,R)),s.push(t[R]?H:J)),{k:a,v:s}}async function kr(e,r,t,n,a){return or(t,n,a,await Fr(e,r,n))}async function hn(e,r,t,n){return De(t,await N(e,r,n.valueOf()))}async function zn(e,r,t,n){return Fe(t,n,await N(e,r,n.buffer))}async function _n(e,r,t,n){return Be(t,n,await N(e,r,n.buffer))}async function kn(e,r,t,n){return Ve(t,n,await N(e,r,n.buffer))}async function kt(e,r,t,n){let a=Z(n,e.base.features);return Me(t,n,a?await Fr(e,r,a):o)}async function Dn(e,r,t,n){let a=Z(n,e.base.features);return Le(t,n,a?await Fr(e,r,a):o)}async function Fn(e,r,t,n){let a=[],s=[];for(let[i,u]of n.entries())a.push(await N(e,r,i)),s.push(await N(e,r,u));return ar(e.base,t,a,s)}async function Bn(e,r,t,n){let a=[];for(let s of n.keys())a.push(await N(e,r,s));return Ue(t,a)}async function Dt(e,r,t,n){let a=e.base.plugins;if(a)for(let s=0,i=a.length;s<i;s++){let u=a[s];if(u.parse.async&&u.test(n))return ce(t,u.tag,await u.parse.async(n,new Dr(e,r),{id:t}))}return o}async function Vn(e,r,t,n){let[a,s]=await zr(n);return c(12,t,a,o,o,o,o,o,await N(e,r,s),o,o,o)}function Mn(e,r,t,n,a){let s=[],i=t.on({next:u=>{pe(this.base,r),N(this,e,u).then(l=>{s.push(We(r,l))},l=>{a(l),i()})},throw:u=>{pe(this.base,r),N(this,e,u).then(l=>{s.push(Ke(r,l)),n(s),i()},l=>{a(l),i()})},return:u=>{pe(this.base,r),N(this,e,u).then(l=>{s.push(Ge(r,l)),n(s),i()},l=>{a(l),i()})}})}async function Ln(e,r,t,n){return qe(t,D(e.base,4),await new Promise(Mn.bind(e,r,t,n)))}async function Un(e,r,t,n){let a=[];for(let s=0,i=n.v.length;s<i;s++)a[s]=await N(e,r,n.v[s]);return He(t,a,n.t,n.d)}async function jn(e,r,t,n){if(Array.isArray(n))return wn(e,r,t,n);if(Qe(n))return Ln(e,r,t,n);if($e(n))return Un(e,r,t,n);let a=n.constructor;if(a===j)return N(e,r,n.replacement);let s=await Dt(e,r,t,n);if(s)return s;switch(a){case Object:return kr(e,r,t,n,!1);case o:return kr(e,r,t,n,!0);case Date:return ze(t,n);case Error:case EvalError:case RangeError:case ReferenceError:case SyntaxError:case TypeError:case URIError:return kt(e,r,t,n);case Number:case Boolean:case String:case BigInt:return hn(e,r,t,n);case ArrayBuffer:return sr(e.base,t,n);case Int8Array:case Int16Array:case Int32Array:case Uint8Array:case Uint16Array:case Uint32Array:case Uint8ClampedArray:case Float32Array:case Float64Array:return zn(e,r,t,n);case DataView:return kn(e,r,t,n);case Map:return Fn(e,r,t,n);case Set:return Bn(e,r,t,n);default:break}if(a===Promise||n instanceof Promise)return Vn(e,r,t,n);let i=e.base.features;if(i&32&&a===RegExp)return _e(t,n);if(i&16)switch(a){case BigInt64Array:case BigUint64Array:return _n(e,r,t,n);default:break}if(i&1&&typeof AggregateError!="undefined"&&(a===AggregateError||n instanceof AggregateError))return Dn(e,r,t,n);if(n instanceof Error)return kt(e,r,t,n);if(C in n||v in n)return kr(e,r,t,n,!!a);throw new x(n)}async function Yn(e,r,t){let n=Y(e.base,t);if(n.type!==0)return n.value;let a=await Dt(e,r,n.value,t);if(a)return a;throw new x(t)}async function N(e,r,t){switch(typeof t){case"boolean":return t?H:J;case"undefined":return Ee;case"string":return $(t);case"number":return we(t);case"bigint":return he(t);case"object":{if(t){let n=Y(e.base,t);return n.type===0?await jn(e,r+1,n.value,t):n.value}return Ie}case"symbol":return I(e.base,t);case"function":return Yn(e,r,t);default:throw new x(t)}}async function ne(e,r){try{return await N(e,0,r)}catch(t){throw t instanceof _?t:new _(t)}}var oe=(t=>(t[t.Vanilla=1]="Vanilla",t[t.Cross=2]="Cross",t))(oe||{});function ai(e){return e}function Ft(e,r){for(let t=0,n=r.length;t<n;t++){let a=r[t];e.has(a)||(e.add(a),a.extends&&Ft(e,a.extends))}}function A(e){if(e){let r=new Set;return Ft(r,e),[...r]}}function Bt(e){switch(e){case"Int8Array":return Int8Array;case"Int16Array":return Int16Array;case"Int32Array":return Int32Array;case"Uint8Array":return Uint8Array;case"Uint16Array":return Uint16Array;case"Uint32Array":return Uint32Array;case"Uint8ClampedArray":return Uint8ClampedArray;case"Float32Array":return Float32Array;case"Float64Array":return Float64Array;case"BigInt64Array":return BigInt64Array;case"BigUint64Array":return BigUint64Array;default:throw new Ze(e)}}function de(e){switch(e){case"constructor":case"__proto__":case"prototype":case"__defineGetter__":case"__defineSetter__":case"__lookupGetter__":case"__lookupSetter__":return!1;default:return!0}}function Vt(e){switch(e){case v:case R:case P:case C:return!0;default:return!1}}var qn=1e6,Wn=1e4,Kn=2e4;function Lt(e,r){switch(r){case 3:return Object.freeze(e);case 1:return Object.preventExtensions(e);case 2:return Object.seal(e);default:return e}}var Gn=1e3;function Ut(e,r){var n;let t=r.refs||new Map;return"types"in t||Object.assign(t,{types:new Map}),{mode:e,plugins:r.plugins,refs:t,features:(n=r.features)!=null?n:63^(r.disabledFeatures||0),depthLimit:r.depthLimit||Gn}}function jt(e){return{mode:1,base:Ut(1,e),child:o,state:{marked:new Set(e.markedRefs)}}}function Yt(e){return{mode:2,base:Ut(2,e),child:o}}var Br=class{constructor(r,t){this._p=r;this.depth=t}deserialize(r){return p(this._p,this.depth,r)}};function qt(e,r){if(r<0||!Number.isFinite(r)||!Number.isInteger(r))throw new O({t:4,i:r});if(e.refs.has(r))throw new Error("Conflicted ref id: "+r)}function Hn(e,r,t){return qt(e.base,r),e.state.marked.has(r)&&e.base.refs.set(r,t),t}function Jn(e,r,t){return qt(e.base,r),e.base.refs.set(r,t),t}function b(e,r,t){return e.mode===1?Hn(e,r,t):Jn(e,r,t)}function Vr(e,r,t){if(Object.hasOwn(r,t))return r[t];throw new O(e)}function Zn(e,r){return b(e,r.i,mt(h(r.s)))}function $n(e,r,t){let n=t.a,a=n.length,s=b(e,t.i,new Array(a));for(let i=0,u;i<a;i++)u=n[i],u&&(s[i]=p(e,r,u));return Lt(s,t.o),s}function Mt(e,r,t){de(r)?e[r]=t:Object.defineProperty(e,r,{value:t,configurable:!0,enumerable:!0,writable:!0})}function Xn(e,r,t,n,a){if(typeof n=="string")Mt(t,h(n),p(e,r,a));else{let s=p(e,r,n);switch(typeof s){case"string":Mt(t,s,p(e,r,a));break;case"symbol":Vt(s)&&(t[s]=p(e,r,a));break;default:throw new O(n)}}}function Wt(e,r,t){e.base.refs.types.set(r,t)}function ge(e,r,t,n){if(e.base.refs.types.get(t)!==n)throw new O(r)}function Kt(e,r,t,n){let a=t.k;if(a.length>0)for(let i=0,u=t.v,l=a.length;i<l;i++)Xn(e,r,n,a[i],u[i]);return n}function Qn(e,r,t){let n=b(e,t.i,t.t===10?{}:Object.create(null));return Kt(e,r,t.p,n),Lt(n,t.o),n}function eo(e,r){return b(e,r.i,new Date(r.s))}function ro(e,r){if(e.base.features&32){let t=h(r.c);if(t.length>Kn)throw new O(r);return b(e,r.i,new RegExp(t,r.m))}throw new z(r)}function to(e,r,t){let n=b(e,t.i,new Set);for(let a=0,s=t.a,i=s.length;a<i;a++)n.add(p(e,r,s[a]));return n}function no(e,r,t){let n=b(e,t.i,new Map);for(let a=0,s=t.e.k,i=t.e.v,u=s.length;a<u;a++)n.set(p(e,r,s[a]),p(e,r,i[a]));return n}function oo(e,r){if(r.s.length>qn)throw new O(r);return b(e,r.i,wr(h(r.s)))}function ao(e,r,t){var u;let n=Bt(t.c),a=p(e,r,t.f),s=(u=t.b)!=null?u:0;if(s<0||s>a.byteLength)throw new O(t);return b(e,t.i,new n(a,s,t.l))}function so(e,r,t){var i;let n=p(e,r,t.f),a=(i=t.b)!=null?i:0;if(a<0||a>n.byteLength)throw new O(t);return b(e,t.i,new DataView(n,a,t.l))}function Gt(e,r,t,n){if(t.p){let a=Kt(e,r,t.p,{});Object.defineProperties(n,Object.getOwnPropertyDescriptors(a))}return n}function io(e,r,t){let n=b(e,t.i,new AggregateError([],h(t.m)));return Gt(e,r,t,n)}function uo(e,r,t){let n=Vr(t,it,t.s),a=b(e,t.i,new n(h(t.m)));return Gt(e,r,t,a)}function lo(e,r,t){let n=ee(),a=b(e,t.i,n.p),s=p(e,r,t.f);return t.s?n.s(s):n.f(s),a}function co(e,r,t){return b(e,t.i,Object(p(e,r,t.f)))}function fo(e,r,t){let n=e.base.plugins;if(n){let a=h(t.c);for(let s=0,i=n.length;s<i;s++){let u=n[s];if(u.tag===a)return b(e,t.i,u.deserialize(t.s,new Br(e,r),{id:t.i}))}}throw new X(t.c)}function So(e,r){let t=b(e,r.i,b(e,r.s,ee()).p);return Wt(e,r.s,22),t}function mo(e,r,t){let n=e.base.refs.get(t.i);if(n)return ge(e,t,t.i,22),n.s(p(e,r,t.a[1])),o;throw new V("Promise")}function po(e,r,t){let n=e.base.refs.get(t.i);if(n)return ge(e,t,t.i,22),n.f(p(e,r,t.a[1])),o;throw new V("Promise")}function go(e,r,t){p(e,r,t.a[0]);let n=p(e,r,t.a[1]);return Pt(n)}function yo(e,r,t){p(e,r,t.a[0]);let n=p(e,r,t.a[1]);return ht(n)}function No(e,r,t){let n=b(e,t.i,re());Wt(e,t.i,31);let a=t.a,s=a.length;if(s)for(let i=0;i<s;i++)p(e,r,a[i]);return n}function bo(e,r,t){let n=e.base.refs.get(t.i);if(n)return ge(e,t,t.i,31),n.next(p(e,r,t.f)),o;throw new V("Stream")}function vo(e,r,t){let n=e.base.refs.get(t.i);if(n)return ge(e,t,t.i,31),n.throw(p(e,r,t.f)),o;throw new V("Stream")}function Co(e,r,t){let n=e.base.refs.get(t.i);if(n)return ge(e,t,t.i,31),n.return(p(e,r,t.f)),o;throw new V("Stream")}function Ao(e,r,t){return p(e,r,t.f),o}function Eo(e,r,t){return p(e,r,t.a[1]),o}function Io(e,r,t){let n=b(e,t.i,hr([],t.s,t.l));for(let a=0,s=t.a.length;a<s;a++)n.v[a]=p(e,r,t.a[a]);return n}function p(e,r,t){if(r>e.base.depthLimit)throw new Q(e.base.depthLimit);switch(r+=1,t.t){case 2:return Vr(t,st,t.s);case 0:return Number(t.s);case 1:return h(String(t.s));case 3:if(String(t.s).length>Wn)throw new O(t);return BigInt(t.s);case 4:return e.base.refs.get(t.i);case 18:return Zn(e,t);case 9:return $n(e,r,t);case 10:case 11:return Qn(e,r,t);case 5:return eo(e,t);case 6:return ro(e,t);case 7:return to(e,r,t);case 8:return no(e,r,t);case 19:return oo(e,t);case 16:case 15:return ao(e,r,t);case 20:return so(e,r,t);case 14:return io(e,r,t);case 13:return uo(e,r,t);case 12:return lo(e,r,t);case 17:return Vr(t,ot,t.s);case 21:return co(e,r,t);case 25:return fo(e,r,t);case 22:return So(e,t);case 23:return mo(e,r,t);case 24:return po(e,r,t);case 28:return go(e,r,t);case 30:return yo(e,r,t);case 31:return No(e,r,t);case 32:return bo(e,r,t);case 33:return vo(e,r,t);case 34:return Co(e,r,t);case 27:return Ao(e,r,t);case 29:return Eo(e,r,t);case 35:return Io(e,r,t);default:throw new z(t)}}function ir(e,r){try{return p(e,0,r)}catch(t){throw new Je(t)}}var Ro=()=>T,Po=Ro.toString(),Ht=/=>/.test(Po);function ur(e,r){return Ht?(e.length===1?e[0]:"("+e.join(",")+")")+"=>"+(r.startsWith("{")?"("+r+")":r):"function("+e.join(",")+"){return "+r+"}"}function Jt(e,r){return Ht?(e.length===1?e[0]:"("+e.join(",")+")")+"=>{"+r+"}":"function("+e.join(",")+"){"+r+"}"}var Xt="hjkmoquxzABCDEFGHIJKLNPQRTUVWXYZ$_",Zt=Xt.length,Qt="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789$_",$t=Qt.length;function Mr(e){let r=e%Zt,t=Xt[r];for(e=(e-r)/Zt;e>0;)r=e%$t,t+=Qt[r],e=(e-r)/$t;return t}var xo=/^[$A-Z_][0-9A-Z_$]*$/i;function Lr(e){let r=e[0];return(r==="$"||r==="_"||r>="A"&&r<="Z"||r>="a"&&r<="z")&&xo.test(e)}function Ne(e){switch(e.t){case 0:return e.s+"="+e.v;case 2:return e.s+".set("+e.k+","+e.v+")";case 1:return e.s+".add("+e.v+")";case 3:return e.s+".delete("+e.k+")";case 4:return"Object.defineProperty("+e.s+',"__proto__",{value:'+e.k+",configurable:!0,enumerable:!0,writable:!0})"}}function To(e){let r=[],t=e[0];for(let n=1,a=e.length,s,i=t;n<a;n++)s=e[n],s.t===0&&s.v===i.v?t={t:0,s:s.s,k:o,v:Ne(t)}:s.t===2&&s.s===i.s?t={t:2,s:Ne(t),k:s.k,v:s.v}:s.t===1&&s.s===i.s?t={t:1,s:Ne(t),k:o,v:s.v}:s.t===3&&s.s===i.s?t={t:3,s:Ne(t),k:s.k,v:o}:(r.push(t),t=s),i=s;return r.push(t),r}function sn(e){if(e.length){let r="",t=To(e);for(let n=0,a=t.length;n<a;n++)r+=Ne(t[n])+",";return r}return o}var Oo="Object.create(null)",wo="new Set",ho="new Map",zo="Promise.resolve",_o="Promise.reject",ko={3:"Object.freeze",2:"Object.seal",1:"Object.preventExtensions",0:o};function un(e,r){return{mode:e,plugins:r.plugins,features:r.features,marked:new Set(r.markedRefs),stack:[],flags:[],assignments:[]}}function Do(){return{valid:new Map,vars:[]}}function lr(e){return{mode:1,base:un(1,e),state:Do(),child:o}}function cr(e){return{mode:2,base:un(2,e),state:e,child:o}}var Ur=class{constructor(r){this._p=r}serialize(r){return f(this._p,r)}};function Fo(e,r){let t=e.valid.get(r);t==null&&(t=e.valid.size,e.valid.set(r,t));let n=e.vars[t];return n==null&&(n=Mr(t),e.vars[t]=n),n}function Bo(e){return le+"["+e+"]"}function m(e,r){return e.mode===1?Fo(e.state,r):Bo(r)}function w(e,r){e.marked.add(r)}function jr(e,r){return e.marked.has(r)}function qr(e,r,t){r!==0&&(w(e.base,t),e.base.flags.push({type:r,value:m(e,t)}))}function Vo(e){let r="";for(let t=0,n=e.flags,a=n.length;t<a;t++){let s=n[t];r+=ko[s.type]+"("+s.value+"),"}return r}function ln(e){let r=sn(e.assignments),t=Vo(e);return r?t?r+t:r:t}function Wr(e,r,t){e.assignments.push({t:0,s:r,k:o,v:t})}function Mo(e,r,t){e.base.assignments.push({t:1,s:m(e,r),k:o,v:t})}function ye(e,r,t,n){e.base.assignments.push({t:2,s:m(e,r),k:t,v:n})}function en(e,r,t){e.base.assignments.push({t:3,s:m(e,r),k:t,v:o})}function be(e,r,t,n){Wr(e.base,m(e,r)+"["+t+"]",n)}function Yr(e,r,t,n){if(!de(t)){e.base.assignments.push({t:4,s:m(e,r),k:n,v:o});return}Wr(e.base,m(e,r)+"."+t,n)}function Lo(e,r,t,n){Wr(e.base,m(e,r)+".v["+t+"]",n)}function F(e,r){return r.t===4&&e.stack.includes(r.i)}function ae(e,r,t){return e.mode===1&&!jr(e.base,r)?t:m(e,r)+"="+t}function Uo(e){return L+'.get("'+e.s+'")'}function rn(e,r,t,n){return t?F(e.base,t)?(w(e.base,r),be(e,r,n,m(e,t.i)),""):f(e,t):""}function jo(e,r){let t=r.i,n=r.a,a=n.length;if(a>0){e.base.stack.push(t);let s=rn(e,t,n[0],0),i=s==="";for(let u=1,l;u<a;u++)l=rn(e,t,n[u],u),s+=","+l,i=l==="";return e.base.stack.pop(),qr(e,r.o,r.i),"["+s+(i?",]":"]")}return"[]"}function tn(e,r,t,n){if(typeof t=="string"){let a=Number(t),s=a>=0&&a.toString()===t||Lr(t);if(F(e.base,n)){let i=m(e,n.i);return w(e.base,r.i),s&&a!==a?Yr(e,r.i,t,i):be(e,r.i,s?t:'"'+t+'"',i),""}return de(t)?(s?t:'"'+t+'"')+":"+f(e,n):'["'+t+'"]:'+f(e,n)}return"["+f(e,t)+"]:"+f(e,n)}function cn(e,r,t){let n=t.k,a=n.length;if(a>0){let s=t.v;e.base.stack.push(r.i);let i=tn(e,r,n[0],s[0]);for(let u=1,l=i;u<a;u++)l=tn(e,r,n[u],s[u]),i+=(l&&i&&",")+l;return e.base.stack.pop(),"{"+i+"}"}return"{}"}function Yo(e,r){return qr(e,r.o,r.i),cn(e,r,r.p)}function qo(e,r,t,n){let a=cn(e,r,t);return a!=="{}"?"Object.assign("+n+","+a+")":n}function Wo(e,r,t,n,a){let s=e.base,i=f(e,a),u=Number(n),l=u>=0&&u.toString()===n||Lr(n);if(F(s,a))l&&u!==u?Yr(e,r.i,n,i):be(e,r.i,l?n:'"'+n+'"',i);else{let g=s.assignments;s.assignments=t,l&&u!==u?Yr(e,r.i,n,i):be(e,r.i,l?n:'"'+n+'"',i),s.assignments=g}}function Ko(e,r,t,n,a){if(typeof n=="string")Wo(e,r,t,n,a);else{let s=e.base,i=s.stack;s.stack=[];let u=f(e,a);s.stack=i;let l=s.assignments;s.assignments=t,be(e,r.i,f(e,n),u),s.assignments=l}}function Go(e,r,t){let n=t.k,a=n.length;if(a>0){let s=[],i=t.v;e.base.stack.push(r.i);for(let u=0;u<a;u++)Ko(e,r,s,n[u],i[u]);return e.base.stack.pop(),sn(s)}return o}function Kr(e,r,t){if(r.p){let n=e.base;if(n.features&8)t=qo(e,r,r.p,t);else{w(n,r.i);let a=Go(e,r,r.p);if(a)return"("+ae(e,r.i,t)+","+a+m(e,r.i)+")"}}return t}function Ho(e,r){return qr(e,r.o,r.i),Kr(e,r,Oo)}function Jo(e){return'new Date("'+e.s+'")'}function Zo(e,r){if(e.base.features&32)return"/"+h(r.c)+"/"+r.m;throw new z(r)}function nn(e,r,t){let n=e.base;return F(n,t)?(w(n,r),Mo(e,r,m(e,t.i)),""):f(e,t)}function $o(e,r){let t=wo,n=r.a,a=n.length,s=r.i;if(a>0){e.base.stack.push(s);let i=nn(e,s,n[0]);for(let u=1,l=i;u<a;u++)l=nn(e,s,n[u]),i+=(l&&i&&",")+l;e.base.stack.pop(),i&&(t+="(["+i+"])")}return t}function on(e,r,t,n,a){let s=e.base;if(F(s,t)){let i=m(e,t.i);if(w(s,r),F(s,n)){let l=m(e,n.i);return ye(e,r,i,l),""}if(n.t!==4&&n.i!=null&&jr(s,n.i)){let l="("+f(e,n)+",["+a+","+a+"])";return ye(e,r,i,m(e,n.i)),en(e,r,a),l}let u=s.stack;return s.stack=[],ye(e,r,i,f(e,n)),s.stack=u,""}if(F(s,n)){let i=m(e,n.i);if(w(s,r),t.t!==4&&t.i!=null&&jr(s,t.i)){let l="("+f(e,t)+",["+a+","+a+"])";return ye(e,r,m(e,t.i),i),en(e,r,a),l}let u=s.stack;return s.stack=[],ye(e,r,f(e,t),i),s.stack=u,""}return"["+f(e,t)+","+f(e,n)+"]"}function Xo(e,r){let t=ho,n=r.e.k,a=n.length,s=r.i,i=r.f,u=m(e,i.i),l=e.base;if(a>0){let g=r.e.v;l.stack.push(s);let S=on(e,s,n[0],g[0],u);for(let d=1,K=S;d<a;d++)K=on(e,s,n[d],g[d],u),S+=(K&&S&&",")+K;l.stack.pop(),S&&(t+="(["+S+"])")}return i.t===26&&(w(l,i.i),t="("+f(e,i)+","+t+")"),t}function Qo(e,r){return q(e,r.f)+'("'+r.s+'")'}function ea(e,r){return"new "+r.c+"("+f(e,r.f)+","+r.b+","+r.l+")"}function ra(e,r){return"new DataView("+f(e,r.f)+","+r.b+","+r.l+")"}function ta(e,r){let t=r.i;e.base.stack.push(t);let n=Kr(e,r,'new AggregateError([],"'+r.m+'")');return e.base.stack.pop(),n}function na(e,r){return Kr(e,r,"new "+Ae[r.s]+'("'+r.m+'")')}function oa(e,r){let t,n=r.f,a=r.i,s=r.s?zo:_o,i=e.base;if(F(i,n)){let u=m(e,n.i);t=s+(r.s?"().then("+ur([],u)+")":"().catch("+Jt([],"throw "+u)+")")}else{i.stack.push(a);let u=f(e,n);i.stack.pop(),t=s+"("+u+")"}return t}function aa(e,r){return"Object("+f(e,r.f)+")"}function q(e,r){let t=f(e,r);return r.t===4?t:"("+t+")"}function sa(e,r){if(e.mode===1)throw new z(r);return"("+ae(e,r.s,q(e,r.f)+"()")+").p"}function ia(e,r){if(e.mode===1)throw new z(r);return q(e,r.a[0])+"("+m(e,r.i)+","+f(e,r.a[1])+")"}function ua(e,r){if(e.mode===1)throw new z(r);return q(e,r.a[0])+"("+m(e,r.i)+","+f(e,r.a[1])+")"}function la(e,r){let t=e.base.plugins;if(t)for(let n=0,a=t.length;n<a;n++){let s=t[n];if(s.tag===r.c)return e.child==null&&(e.child=new Ur(e)),s.serialize(r.s,e.child,{id:r.i})}throw new X(r.c)}function ca(e,r){let t="",n=!1;return r.f.t!==4&&(w(e.base,r.f.i),t="("+f(e,r.f)+",",n=!0),t+=ae(e,r.i,"("+Et+")("+m(e,r.f.i)+")"),n&&(t+=")"),t}function fa(e,r){return q(e,r.a[0])+"("+f(e,r.a[1])+")"}function Sa(e,r){let t=r.a[0],n=r.a[1],a=e.base,s="";t.t!==4&&(w(a,t.i),s+="("+f(e,t)),n.t!==4&&(w(a,n.i),s+=(s?",":"(")+f(e,n)),s&&(s+=",");let i=ae(e,r.i,"("+It+")("+m(e,n.i)+","+m(e,t.i)+")");return s?s+i+")":i}function ma(e,r){return q(e,r.a[0])+"("+f(e,r.a[1])+")"}function pa(e,r){let t=ae(e,r.i,q(e,r.f)+"()"),n=r.a.length;if(n){let a=f(e,r.a[0]);for(let s=1;s<n;s++)a+=","+f(e,r.a[s]);return"("+t+","+a+","+m(e,r.i)+")"}return t}function da(e,r){return m(e,r.i)+".next("+f(e,r.f)+")"}function ga(e,r){return m(e,r.i)+".throw("+f(e,r.f)+")"}function ya(e,r){return m(e,r.i)+".return("+f(e,r.f)+")"}function an(e,r,t,n){let a=e.base;return F(a,n)?(w(a,r),Lo(e,r,t,m(e,n.i)),""):f(e,n)}function Na(e,r){let t=r.a,n=t.length,a=r.i;if(n>0){e.base.stack.push(a);let s=an(e,a,0,t[0]);for(let i=1,u=s;i<n;i++)u=an(e,a,i,t[i]),s+=(u&&s&&",")+u;if(e.base.stack.pop(),s)return"{__SEROVAL_SEQUENCE__:!0,v:["+s+"],t:"+r.s+",d:"+r.l+"}"}return"{__SEROVAL_SEQUENCE__:!0,v:[],t:-1,d:0}"}function ba(e,r){switch(r.t){case 17:return nt[r.s];case 18:return Uo(r);case 9:return jo(e,r);case 10:return Yo(e,r);case 11:return Ho(e,r);case 5:return Jo(r);case 6:return Zo(e,r);case 7:return $o(e,r);case 8:return Xo(e,r);case 19:return Qo(e,r);case 16:case 15:return ea(e,r);case 20:return ra(e,r);case 14:return ta(e,r);case 13:return na(e,r);case 12:return oa(e,r);case 21:return aa(e,r);case 22:return sa(e,r);case 25:return la(e,r);case 26:return wt[r.s];case 35:return Na(e,r);default:throw new z(r)}}function f(e,r){switch(r.t){case 2:return at[r.s];case 0:return""+r.s;case 1:return'"'+r.s+'"';case 3:return r.s+"n";case 4:return m(e,r.i);case 23:return ia(e,r);case 24:return ua(e,r);case 27:return ca(e,r);case 28:return fa(e,r);case 29:return Sa(e,r);case 30:return ma(e,r);case 31:return pa(e,r);case 32:return da(e,r);case 33:return ga(e,r);case 34:return ya(e,r);default:return ae(e,r.i,ba(e,r))}}function fr(e,r){let t=f(e,r);if(r.i!=null&&e.state.vars.length){let n=ln(e.base),a=t;if(n){let s=m(e,r.i);a=t+","+n+s,t.startsWith(s+"=")||(a=s+"="+a),a="("+a+")"}return"("+ur(e.state.vars,a)+")()"}return r.t===10?"("+t+")":t}function Sr(e,r){let t=f(e,r),n=r.i;if(n==null)return t;let a=ln(e.base),s=m(e,n),i=e.state.scopeId,u=i==null?"":le,l=a?"("+t+","+a+s+")":t;if(u==="")return r.t===10&&!a?"("+l+")":l;let g=i==null?"()":"("+le+'["'+y(i)+'"])';return"("+ur([u],l)+")"+g}function ie(e,r){return{type:1,base:me(e,r),child:o}}var Hr=class{constructor(r,t){this._p=r;this.depth=t}parse(r){return E(this._p,this.depth,r)}},Jr=class{constructor(r,t){this._p=r;this.depth=t}parse(r){return E(this._p,this.depth,r)}parseWithError(r){return W(this._p,this.depth,r)}isAlive(){return this._p.state.alive}pushPendingState(){et(this._p)}popPendingState(){ve(this._p)}onParse(r){se(this._p,r)}onError(r){Xr(this._p,r)}addCleanup(r){this._p.state.cleanups.push(r)}};function va(e){return{alive:!0,pending:0,initial:!0,buffer:[],onParse:e.onParse,onError:e.onError,onDone:e.onDone,cleanups:[]}}function Zr(e){return{type:2,base:me(2,e),state:va(e)}}function Ca(e,r,t){let n=[];for(let a=0,s=t.length;a<s;a++)a in t?n[a]=E(e,r,t[a]):n[a]=0;return n}function Aa(e,r,t,n){return ke(t,n,Ca(e,r,n))}function $r(e,r,t){let n=Object.entries(t),a=[],s=[];for(let i=0,u=n.length;i<u;i++)a.push(y(n[i][0])),s.push(E(e,r,n[i][1]));return C in t&&(a.push(I(e.base,C)),s.push(je(tr(e.base),E(e,r,Xe(t))))),v in t&&(a.push(I(e.base,v)),s.push(Ye(nr(e.base),E(e,r,e.type===1?re():er(t))))),P in t&&(a.push(I(e.base,P)),s.push($(t[P]))),R in t&&(a.push(I(e.base,R)),s.push(t[R]?H:J)),{k:a,v:s}}function Gr(e,r,t,n,a){return or(t,n,a,$r(e,r,n))}function Ea(e,r,t,n){return De(t,E(e,r,n.valueOf()))}function Ia(e,r,t,n){return Fe(t,n,E(e,r,n.buffer))}function Ra(e,r,t,n){return Be(t,n,E(e,r,n.buffer))}function Pa(e,r,t,n){return Ve(t,n,E(e,r,n.buffer))}function fn(e,r,t,n){let a=Z(n,e.base.features);return Me(t,n,a?$r(e,r,a):o)}function xa(e,r,t,n){let a=Z(n,e.base.features);return Le(t,n,a?$r(e,r,a):o)}function Ta(e,r,t,n){let a=[],s=[];for(let[i,u]of n.entries())a.push(E(e,r,i)),s.push(E(e,r,u));return ar(e.base,t,a,s)}function Oa(e,r,t,n){let a=[];for(let s of n.keys())a.push(E(e,r,s));return Ue(t,a)}function wa(e,r,t,n){let a=qe(t,D(e.base,4),[]);return e.type===1||(et(e),n.on({next:s=>{if(e.state.alive){let i=W(e,r,s);i&&se(e,We(t,i))}},throw:s=>{if(e.state.alive){let i=W(e,r,s);i&&se(e,Ke(t,i))}ve(e)},return:s=>{if(e.state.alive){let i=W(e,r,s);i&&se(e,Ge(t,i))}ve(e)}})),a}function ha(e,r,t){if(this.state.alive){let n=W(this,r,t);n&&se(this,c(23,e,o,o,o,o,o,[D(this.base,2),n],o,o,o,o)),ve(this)}}function za(e,r,t){if(this.state.alive){let n=W(this,r,t);n&&se(this,c(24,e,o,o,o,o,o,[D(this.base,3),n],o,o,o,o))}ve(this)}function _a(e,r,t,n){let a=_r(e.base,{});return e.type===2&&(et(e),n.then(ha.bind(e,a,r),za.bind(e,a,r))),_t(e.base,t,a)}function ka(e,r,t,n,a){for(let s=0,i=a.length;s<i;s++){let u=a[s];if(u.parse.sync&&u.test(n))return ce(t,u.tag,u.parse.sync(n,new Hr(e,r),{id:t}))}return o}function Da(e,r,t,n,a){for(let s=0,i=a.length;s<i;s++){let u=a[s];if(u.parse.stream&&u.test(n))return ce(t,u.tag,u.parse.stream(n,new Jr(e,r),{id:t}))}return o}function Sn(e,r,t,n){let a=e.base.plugins;return a?e.type===1?ka(e,r,t,n,a):Da(e,r,t,n,a):o}function Fa(e,r,t,n){let a=[];for(let s=0,i=n.v.length;s<i;s++)a[s]=E(e,r,n.v[s]);return He(t,a,n.t,n.d)}function Ba(e,r,t,n,a){switch(a){case Object:return Gr(e,r,t,n,!1);case o:return Gr(e,r,t,n,!0);case Date:return ze(t,n);case Error:case EvalError:case RangeError:case ReferenceError:case SyntaxError:case TypeError:case URIError:return fn(e,r,t,n);case Number:case Boolean:case String:case BigInt:return Ea(e,r,t,n);case ArrayBuffer:return sr(e.base,t,n);case Int8Array:case Int16Array:case Int32Array:case Uint8Array:case Uint16Array:case Uint32Array:case Uint8ClampedArray:case Float32Array:case Float64Array:return Ia(e,r,t,n);case DataView:return Pa(e,r,t,n);case Map:return Ta(e,r,t,n);case Set:return Oa(e,r,t,n);default:break}if(a===Promise||n instanceof Promise)return _a(e,r,t,n);let s=e.base.features;if(s&32&&a===RegExp)return _e(t,n);if(s&16)switch(a){case BigInt64Array:case BigUint64Array:return Ra(e,r,t,n);default:break}if(s&1&&typeof AggregateError!="undefined"&&(a===AggregateError||n instanceof AggregateError))return xa(e,r,t,n);if(n instanceof Error)return fn(e,r,t,n);if(C in n||v in n)return Gr(e,r,t,n,!!a);throw new x(n)}function Va(e,r,t,n){if(Array.isArray(n))return Aa(e,r,t,n);if(Qe(n))return wa(e,r,t,n);if($e(n))return Fa(e,r,t,n);let a=n.constructor;if(a===j)return E(e,r,n.replacement);let s=Sn(e,r,t,n);return s||Ba(e,r,t,n,a)}function Ma(e,r,t){let n=Y(e.base,t);if(n.type!==0)return n.value;let a=Sn(e,r,n.value,t);if(a)return a;throw new x(t)}function E(e,r,t){if(r>=e.base.depthLimit)throw new Q(e.base.depthLimit);switch(typeof t){case"boolean":return t?H:J;case"undefined":return Ee;case"string":return $(t);case"number":return we(t);case"bigint":return he(t);case"object":{if(t){let n=Y(e.base,t);return n.type===0?Va(e,r+1,n.value,t):n.value}return Ie}case"symbol":return I(e.base,t);case"function":return Ma(e,r,t);default:throw new x(t)}}function ue(e,r){try{return E(e,0,r)}catch(t){throw t instanceof _?t:new _(t)}}function se(e,r){e.state.initial?e.state.buffer.push(r):Qr(e,r,!1)}function Xr(e,r){if(e.state.onError)e.state.onError(r);else throw r instanceof _?r:new _(r)}function mn(e){e.state.onDone&&e.state.onDone();for(let r=0,t=e.state.cleanups.length;r<t;r++)e.state.cleanups[r]()}function Qr(e,r,t){try{e.state.onParse(r,t)}catch(n){Xr(e,n)}}function et(e){e.state.pending++}function ve(e){--e.state.pending<=0&&mn(e)}function W(e,r,t){try{return E(e,r,t)}catch(n){return Xr(e,n),o}}function rt(e,r){let t=W(e,0,r);t&&(Qr(e,t,!0),e.state.initial=!1,La(e,e.state),e.state.pending<=0&&mr(e))}function La(e,r){for(let t=0,n=r.buffer.length;t<n;t++)Qr(e,r.buffer[t],!1)}function mr(e){e.state.alive&&(mn(e),e.state.alive=!1)}function su(e,r={}){let t=A(r.plugins),n=ie(2,{plugins:t,disabledFeatures:r.disabledFeatures,refs:r.refs}),a=ue(n,e),s=cr({plugins:t,features:n.base.features,scopeId:r.scopeId,markedRefs:n.base.marked});return Sr(s,a)}async function iu(e,r={}){let t=A(r.plugins),n=te(2,{plugins:t,disabledFeatures:r.disabledFeatures,refs:r.refs}),a=await ne(n,e),s=cr({plugins:t,features:n.base.features,scopeId:r.scopeId,markedRefs:n.base.marked});return Sr(s,a)}function uu(e,r={}){let t=A(r.plugins),n=ie(2,{plugins:t,disabledFeatures:r.disabledFeatures,refs:r.refs});return ue(n,e)}async function lu(e,r={}){let t=A(r.plugins),n=te(2,{plugins:t,disabledFeatures:r.disabledFeatures,refs:r.refs});return await ne(n,e)}function pn(e,r){let t=A(r.plugins),n=Zr({plugins:t,refs:r.refs,disabledFeatures:r.disabledFeatures,onParse(a,s){let i=cr({plugins:t,features:n.base.features,scopeId:r.scopeId,markedRefs:n.base.marked}),u;try{u=Sr(i,a)}catch(l){r.onError&&r.onError(l);return}r.onSerialize(u,s)},onError:r.onError,onDone:r.onDone});return rt(n,e),mr.bind(null,n)}function cu(e,r){let t=A(r.plugins),n=Zr({plugins:t,refs:r.refs,disabledFeatures:r.disabledFeatures,depthLimit:r.depthLimit,onParse:r.onParse,onError:r.onError,onDone:r.onDone});return rt(n,e),mr.bind(null,n)}function fu(e,r){let t=A(r.plugins),n=Yt({plugins:t,refs:r.refs,features:r.features,disabledFeatures:r.disabledFeatures,depthLimit:r.depthLimit});return ir(n,e)}var pr=class{constructor(r){this.options=r;this.alive=!0;this.flushed=!1;this.done=!1;this.pending=0;this.cleanups=[];this.refs=new Map;this.keys=new Set;this.ids=0;this.plugins=A(r.plugins)}write(r,t){this.alive&&!this.flushed&&(this.pending++,this.keys.add(r),this.cleanups.push(pn(t,{plugins:this.plugins,scopeId:this.options.scopeId,refs:this.refs,disabledFeatures:this.options.disabledFeatures,onError:this.options.onError,onSerialize:(n,a)=>{this.alive&&this.options.onData(a?this.options.globalIdentifier+'["'+y(r)+'"]='+n:n)},onDone:()=>{this.alive&&(this.pending--,this.pending<=0&&this.flushed&&!this.done&&this.options.onDone&&(this.options.onDone(),this.done=!0))}})))}getNextID(){for(;this.keys.has(""+this.ids);)this.ids++;return""+this.ids}push(r){let t=this.getNextID();return this.write(t,r),t}flush(){this.alive&&(this.flushed=!0,this.pending<=0&&!this.done&&this.options.onDone&&(this.options.onDone(),this.done=!0))}close(){if(this.alive){for(let r=0,t=this.cleanups.length;r<t;r++)this.cleanups[r]();!this.done&&this.options.onDone&&(this.options.onDone(),this.done=!0),this.alive=!1}}};function Eu(e,r={}){let t=A(r.plugins),n=ie(1,{plugins:t,disabledFeatures:r.disabledFeatures}),a=ue(n,e),s=lr({plugins:t,features:n.base.features,markedRefs:n.base.marked});return fr(s,a)}async function Iu(e,r={}){let t=A(r.plugins),n=te(1,{plugins:t,disabledFeatures:r.disabledFeatures}),a=await ne(n,e),s=lr({plugins:t,features:n.base.features,markedRefs:n.base.marked});return fr(s,a)}function Ru(e){return(0,eval)(e)}function Pu(e,r={}){let t=A(r.plugins),n=ie(1,{plugins:t,disabledFeatures:r.disabledFeatures});return{t:ue(n,e),f:n.base.features,m:Array.from(n.base.marked)}}async function xu(e,r={}){let t=A(r.plugins),n=te(1,{plugins:t,disabledFeatures:r.disabledFeatures});return{t:await ne(n,e),f:n.base.features,m:Array.from(n.base.marked)}}function Tu(e,r={}){let t=A(r.plugins),n=lr({plugins:t,features:e.f,markedRefs:e.m});return fr(n,e.t)}function Ou(e,r={}){var i;let t=A(r.plugins),n=r.disabledFeatures||0,a=(i=e.f)!=null?i:63,s=jt({plugins:t,markedRefs:e.m,features:a&~n,disabledFeatures:n});return ir(s,e.t)}export{M as Feature,j as OpaqueReference,pr as Serializer,Nt as SerovalConflictedNodeIdError,Q as SerovalDepthLimitError,Je as SerovalDeserializationError,fe as SerovalError,O as SerovalMalformedNodeError,V as SerovalMissingInstanceError,X as SerovalMissingPluginError,Pe as SerovalMissingReferenceError,xe as SerovalMissingReferenceForIdError,oe as SerovalMode,_ as SerovalParserError,Pr as SerovalSerializationError,Ze as SerovalUnknownTypedArrayError,z as SerovalUnsupportedNodeError,x as SerovalUnsupportedTypeError,Tu as compileJSON,ai as createPlugin,Nn as createReference,re as createStream,su as crossSerialize,iu as crossSerializeAsync,pn as crossSerializeStream,Ru as deserialize,fu as fromCrossJSON,Ou as fromJSON,yn as getCrossReferenceHeader,A as resolvePlugins,Eu as serialize,Iu as serializeAsync,uu as toCrossJSON,lu as toCrossJSONAsync,cu as toCrossJSONStream,Pu as toJSON,xu as toJSONAsync};
@@ -13,10 +13,11 @@ export interface BaseDeserializerContext extends PluginAccessOptions {
13
13
  /**
14
14
  * Mapping ids to values
15
15
  */
16
- refs: Map<number, unknown>;
16
+ refs: Map<number, unknown> & {
17
+ types: Map<number, SerovalNodeType>;
18
+ };
17
19
  features: number;
18
20
  depthLimit: number;
19
- types: Map<number, SerovalNodeType>;
20
21
  }
21
22
  export declare function createBaseDeserializerContext(mode: SerovalMode, options: BaseDeserializerContextOptions): BaseDeserializerContext;
22
23
  export interface VanillaDeserializerContextOptions extends Omit<BaseDeserializerContextOptions, 'refs'> {
@@ -1 +1 @@
1
- {"version":3,"file":"deserializer.d.ts","sourceRoot":"","sources":["../../../../src/core/context/deserializer.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,eAAe,EAGhB,MAAM,cAAc,CAAC;AActB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAYxC,OAAO,KAAK,EAcV,WAAW,EAkBZ,MAAM,UAAU,CAAC;AA2BlB,MAAM,WAAW,8BAA+B,SAAQ,mBAAmB;IACzE,IAAI,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,uBAAwB,SAAQ,mBAAmB;IAClE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B;;OAEG;IACH,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CACrC;AAID,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,8BAA8B,GACtC,uBAAuB,CASzB;AAED,MAAM,WAAW,iCACf,SAAQ,IAAI,CAAC,8BAA8B,EAAE,MAAM,CAAC;IACpD,UAAU,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACrB;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC;IAC1B,IAAI,EAAE,uBAAuB,CAAC;IAC9B,KAAK,EAAE,wBAAwB,GAAG,SAAS,CAAC;IAC5C,KAAK,EAAE,wBAAwB,CAAC;CACjC;AAED,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,iCAAiC,GACzC,0BAA0B,CAS5B;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC;IACxB,IAAI,EAAE,uBAAuB,CAAC;IAC9B,KAAK,EAAE,wBAAwB,GAAG,SAAS,CAAC;CAC7C;AAED,MAAM,MAAM,+BAA+B,GAAG,8BAA8B,CAAC;AAE7E,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,+BAA+B,GACvC,wBAAwB,CAM1B;AAED,KAAK,mBAAmB,GACpB,0BAA0B,GAC1B,wBAAwB,CAAC;AAE7B,qBAAa,wBAAwB;IAEjC,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,KAAK;gBADL,EAAE,EAAE,mBAAmB,EACvB,KAAK,EAAE,MAAM;IAGvB,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,GAAG,CAAC;CAGrC;AAspBD,wBAAgB,cAAc,CAC5B,GAAG,EAAE,mBAAmB,EACxB,IAAI,EAAE,WAAW,GAChB,OAAO,CAMT"}
1
+ {"version":3,"file":"deserializer.d.ts","sourceRoot":"","sources":["../../../../src/core/context/deserializer.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,eAAe,EAGhB,MAAM,cAAc,CAAC;AActB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAMxC,OAAO,KAAK,EAcV,WAAW,EAkBZ,MAAM,UAAU,CAAC;AA4BlB,MAAM,WAAW,8BAA+B,SAAQ,mBAAmB;IACzE,IAAI,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,uBAAwB,SAAQ,mBAAmB;IAClE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B;;OAEG;IACH,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;QAAE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;KAAE,CAAC;IACrE,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAID,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,8BAA8B,GACtC,uBAAuB,CAczB;AAED,MAAM,WAAW,iCACf,SAAQ,IAAI,CAAC,8BAA8B,EAAE,MAAM,CAAC;IACpD,UAAU,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACrB;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC;IAC1B,IAAI,EAAE,uBAAuB,CAAC;IAC9B,KAAK,EAAE,wBAAwB,GAAG,SAAS,CAAC;IAC5C,KAAK,EAAE,wBAAwB,CAAC;CACjC;AAED,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,iCAAiC,GACzC,0BAA0B,CAS5B;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC;IACxB,IAAI,EAAE,uBAAuB,CAAC;IAC9B,KAAK,EAAE,wBAAwB,GAAG,SAAS,CAAC;CAC7C;AAED,MAAM,MAAM,+BAA+B,GAAG,8BAA8B,CAAC;AAE7E,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,+BAA+B,GACvC,wBAAwB,CAM1B;AAED,KAAK,mBAAmB,GACpB,0BAA0B,GAC1B,wBAAwB,CAAC;AAE7B,qBAAa,wBAAwB;IAEjC,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,KAAK;gBADL,EAAE,EAAE,mBAAmB,EACvB,KAAK,EAAE,MAAM;IAGvB,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,GAAG,CAAC;CAGrC;AA2nBD,wBAAgB,cAAc,CAC5B,GAAG,EAAE,mBAAmB,EACxB,IAAI,EAAE,WAAW,GAChB,OAAO,CAMT"}
@@ -6,7 +6,8 @@ declare const enum AssignmentType {
6
6
  Index = 0,
7
7
  Add = 1,
8
8
  Set = 2,
9
- Delete = 3
9
+ Delete = 3,
10
+ Define = 4
10
11
  }
11
12
  interface IndexAssignment {
12
13
  t: AssignmentType.Index;
@@ -32,7 +33,13 @@ interface DeleteAssignment {
32
33
  k: string;
33
34
  v: undefined;
34
35
  }
35
- type Assignment = IndexAssignment | AddAssignment | SetAssignment | DeleteAssignment;
36
+ interface DefineAssignment {
37
+ t: AssignmentType.Define;
38
+ s: string;
39
+ k: string;
40
+ v: undefined;
41
+ }
42
+ type Assignment = IndexAssignment | AddAssignment | SetAssignment | DeleteAssignment | DefineAssignment;
36
43
  export interface FlaggedObject {
37
44
  type: SerovalObjectFlags;
38
45
  value: string;
@@ -1 +1 @@
1
- {"version":3,"file":"serializer.d.ts","sourceRoot":"","sources":["../../../../src/core/context/serializer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serializer.d.ts","sourceRoot":"","sources":["../../../../src/core/context/serializer.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,kBAAkB,EAEnB,MAAM,cAAc,CAAC;AAYtB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAGxC,OAAO,KAAK,EAeV,WAAW,EAoBZ,MAAM,UAAU,CAAC;AAKlB,mBAAW,cAAc;IACvB,KAAK,IAAI;IACT,GAAG,IAAI;IACP,GAAG,IAAI;IACP,MAAM,IAAI;IACV,MAAM,IAAI;CACX;AAED,UAAU,eAAe;IACvB,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC;IACxB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,SAAS,CAAC;IACb,CAAC,EAAE,MAAM,CAAC;CACX;AAED,UAAU,aAAa;IACrB,CAAC,EAAE,cAAc,CAAC,GAAG,CAAC;IACtB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,UAAU,aAAa;IACrB,CAAC,EAAE,cAAc,CAAC,GAAG,CAAC;IACtB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,SAAS,CAAC;IACb,CAAC,EAAE,MAAM,CAAC;CACX;AAED,UAAU,gBAAgB;IACxB,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC;IACzB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,SAAS,CAAC;CACd;AAKD,UAAU,gBAAgB;IACxB,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC;IACzB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,SAAS,CAAC;CACd;AAGD,KAAK,UAAU,GACX,eAAe,GACf,aAAa,GACb,aAAa,GACb,gBAAgB,GAChB,gBAAgB,CAAC;AAErB,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,kBAAkB,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;CACf;AA+GD,MAAM,WAAW,4BAA6B,SAAQ,mBAAmB;IACvE,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,qBAAsB,SAAQ,mBAAmB;IAChE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAE3B,QAAQ,EAAE,MAAM,CAAC;IAIjB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB;;OAEG;IACH,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB;;OAEG;IACH,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B;;OAEG;IACH,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,4BAA4B,GACpC,qBAAqB,CAUvB;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3B,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AASD,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC;IAC1B,IAAI,EAAE,qBAAqB,CAAC;IAC5B,KAAK,EAAE,sBAAsB,CAAC;IAC9B,KAAK,EAAE,sBAAsB,GAAG,SAAS,CAAC;CAC3C;AAED,MAAM,MAAM,+BAA+B,GAAG,4BAA4B,CAAC;AAE3E,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,+BAA+B,GACvC,wBAAwB,CAO1B;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC;IACxB,IAAI,EAAE,qBAAqB,CAAC;IAC5B,KAAK,EAAE,mBAAmB,CAAC;IAC3B,KAAK,EAAE,sBAAsB,GAAG,SAAS,CAAC;CAC3C;AAED,MAAM,WAAW,6BACf,SAAQ,4BAA4B,EAClC,mBAAmB;CAEtB;AAED,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,6BAA6B,GACrC,sBAAsB,CAOxB;AAED,KAAK,iBAAiB,GAAG,wBAAwB,GAAG,sBAAsB,CAAC;AAE3E,qBAAa,sBAAsB;IACrB,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,iBAAiB;IAEzC,SAAS,CAAC,IAAI,EAAE,WAAW;CAG5B;AA+kCD,wBAAgB,aAAa,CAC3B,GAAG,EAAE,iBAAiB,EACtB,IAAI,EAAE,WAAW,GAChB,MAAM,CAQR;AAED,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,wBAAwB,EAC7B,IAAI,EAAE,WAAW,GAChB,MAAM,CAqBR;AAED,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,sBAAsB,EAC3B,IAAI,EAAE,WAAW,GAChB,MAAM,CAoCR"}
@@ -39,6 +39,7 @@ export declare class StreamParsePluginContext {
39
39
  popPendingState(): void;
40
40
  onParse(node: SerovalNode): void;
41
41
  onError(error: unknown): void;
42
+ addCleanup(callback: () => void): void;
42
43
  }
43
44
  interface StreamParserState {
44
45
  alive: boolean;
@@ -48,6 +49,7 @@ interface StreamParserState {
48
49
  onParse: (node: SerovalNode, initial: boolean) => void;
49
50
  onError?: (error: unknown) => void;
50
51
  onDone?: () => void;
52
+ cleanups: (() => void)[];
51
53
  }
52
54
  export declare function createStreamParserContext(options: StreamParserContextOptions): StreamParserContext;
53
55
  type SOSParserContext = SyncParserContext | StreamParserContext;
@@ -1 +1 @@
1
- {"version":3,"file":"sync-parser.d.ts","sourceRoot":"","sources":["../../../../src/core/context/sync-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync-parser.d.ts","sourceRoot":"","sources":["../../../../src/core/context/sync-parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare function isValidKey(key: string): boolean;
2
+ export declare function isValidSymbol(symbol: symbol): boolean;
3
+ //# sourceMappingURL=valid-properties.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"valid-properties.d.ts","sourceRoot":"","sources":["../../../../src/core/utils/valid-properties.ts"],"names":[],"mappings":"AAOA,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAc/C;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAUrD"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "seroval",
3
3
  "type": "module",
4
- "version": "1.5.3",
4
+ "version": "1.5.5",
5
5
  "files": [
6
6
  "dist",
7
7
  "src"
@@ -306,7 +306,7 @@ export function createBigIntTypedArrayNode(
306
306
  buffer,
307
307
  current.byteOffset,
308
308
  NIL,
309
- current.byteLength,
309
+ current.length,
310
310
  );
311
311
  }
312
312
 
@@ -27,12 +27,6 @@ import { createSequence, type Sequence, sequenceToIterator } from '../sequence';
27
27
  import type { Stream } from '../stream';
28
28
  import { createStream, streamToAsyncIterable } from '../stream';
29
29
  import { deserializeString } from '../string';
30
- import {
31
- SYM_ASYNC_ITERATOR,
32
- SYM_IS_CONCAT_SPREADABLE,
33
- SYM_ITERATOR,
34
- SYM_TO_STRING_TAG,
35
- } from '../symbols';
36
30
  import type {
37
31
  SerovalAggregateErrorNode,
38
32
  SerovalArrayBufferNode,
@@ -71,6 +65,7 @@ import type {
71
65
  TypedArrayValue,
72
66
  } from '../utils/typed-array';
73
67
  import { getTypedArrayConstructor } from '../utils/typed-array';
68
+ import { isValidKey, isValidSymbol } from '../utils/valid-properties';
74
69
 
75
70
  const MAX_BASE64_LENGTH = 1_000_000; // ~0.75MB decoded
76
71
  const MAX_BIGINT_LENGTH = 10_000;
@@ -104,10 +99,9 @@ export interface BaseDeserializerContext extends PluginAccessOptions {
104
99
  /**
105
100
  * Mapping ids to values
106
101
  */
107
- refs: Map<number, unknown>;
102
+ refs: Map<number, unknown> & { types: Map<number, SerovalNodeType> };
108
103
  features: number;
109
104
  depthLimit: number;
110
- types: Map<number, SerovalNodeType>;
111
105
  }
112
106
 
113
107
  const DEFAULT_DEPTH_LIMIT = 1000;
@@ -116,13 +110,18 @@ export function createBaseDeserializerContext(
116
110
  mode: SerovalMode,
117
111
  options: BaseDeserializerContextOptions,
118
112
  ): BaseDeserializerContext {
113
+ const refs = options.refs || new Map();
114
+ if (!('types' in refs)) {
115
+ Object.assign(refs, {
116
+ types: new Map(),
117
+ });
118
+ }
119
119
  return {
120
120
  mode,
121
121
  plugins: options.plugins,
122
- refs: options.refs || new Map(),
122
+ refs: refs as BaseDeserializerContext['refs'],
123
123
  features: options.features ?? ALL_ENABLED ^ (options.disabledFeatures || 0),
124
124
  depthLimit: options.depthLimit || DEFAULT_DEPTH_LIMIT,
125
- types: new Map(),
126
125
  };
127
126
  }
128
127
 
@@ -275,34 +274,6 @@ function deserializeArray(
275
274
  return result;
276
275
  }
277
276
 
278
- function isValidKey(key: string): boolean {
279
- switch (key) {
280
- case 'constructor':
281
- case '__proto__':
282
- case 'prototype':
283
- case '__defineGetter__':
284
- case '__defineSetter__':
285
- case '__lookupGetter__':
286
- case '__lookupSetter__':
287
- // case 'then':
288
- return false;
289
- default:
290
- return true;
291
- }
292
- }
293
-
294
- function isValidSymbol(symbol: symbol): boolean {
295
- switch (symbol) {
296
- case SYM_ASYNC_ITERATOR:
297
- case SYM_IS_CONCAT_SPREADABLE:
298
- case SYM_TO_STRING_TAG:
299
- case SYM_ITERATOR:
300
- return true;
301
- default:
302
- return false;
303
- }
304
- }
305
-
306
277
  function assignStringProperty(
307
278
  object: Record<string | symbol, unknown>,
308
279
  key: string,
@@ -355,7 +326,7 @@ function assignNodeType(
355
326
  id: number,
356
327
  type: SerovalNodeType,
357
328
  ): void {
358
- ctx.base.types.set(id, type);
329
+ ctx.base.refs.types.set(id, type);
359
330
  }
360
331
 
361
332
  function validateNodeType(
@@ -364,7 +335,7 @@ function validateNodeType(
364
335
  id: number,
365
336
  type: SerovalNodeType,
366
337
  ): asserts id is SerovalNodeType {
367
- if (ctx.base.types.get(id) !== type) {
338
+ if (ctx.base.refs.types.get(id) !== type) {
368
339
  throw new SerovalMalformedNodeError(node);
369
340
  }
370
341
  }
@@ -608,12 +579,13 @@ function deserializePromiseConstructor(
608
579
  ctx: DeserializerContext,
609
580
  node: SerovalPromiseConstructorNode,
610
581
  ): unknown {
611
- assignNodeType(ctx, node.s, SerovalNodeType.PromiseConstructor);
612
- return assignIndexedValue(
582
+ const value = assignIndexedValue(
613
583
  ctx,
614
584
  node.i,
615
585
  assignIndexedValue(ctx, node.s, PROMISE_CONSTRUCTOR()).p,
616
586
  );
587
+ assignNodeType(ctx, node.s, SerovalNodeType.PromiseConstructor);
588
+ return value;
617
589
  }
618
590
 
619
591
  function deserializePromiseResolve(
@@ -673,8 +645,8 @@ function deserializeStreamConstructor(
673
645
  depth: number,
674
646
  node: SerovalStreamConstructorNode,
675
647
  ): unknown {
676
- assignNodeType(ctx, node.i, SerovalNodeType.StreamConstructor);
677
648
  const result = assignIndexedValue(ctx, node.i, createStream());
649
+ assignNodeType(ctx, node.i, SerovalNodeType.StreamConstructor);
678
650
  const items = node.a;
679
651
  const len = items.length;
680
652
  if (len) {
@@ -21,7 +21,7 @@ import { GLOBAL_CONTEXT_REFERENCES, REFERENCES_KEY } from '../keys';
21
21
  import type { PluginAccessOptions } from '../plugin';
22
22
  import { SerovalMode } from '../plugin';
23
23
  import { SPECIAL_REF_STRING } from '../special-reference';
24
- import { serializeString } from '../string';
24
+ import { deserializeString, serializeString } from '../string';
25
25
  import type {
26
26
  SerovalAggregateErrorNode,
27
27
  SerovalArrayBufferNode,
@@ -60,12 +60,14 @@ import type {
60
60
  } from '../types';
61
61
  import getIdentifier from '../utils/get-identifier';
62
62
  import { isValidIdentifier } from '../utils/is-valid-identifier';
63
+ import { isValidKey } from '../utils/valid-properties';
63
64
 
64
65
  const enum AssignmentType {
65
66
  Index = 0,
66
67
  Add = 1,
67
68
  Set = 2,
68
69
  Delete = 3,
70
+ Define = 4,
69
71
  }
70
72
 
71
73
  interface IndexAssignment {
@@ -96,12 +98,23 @@ interface DeleteAssignment {
96
98
  v: undefined;
97
99
  }
98
100
 
101
+ // Defines an own `__proto__` data property (see `createObjectAssign`).
102
+ // `k` holds the serialized value; `v` is unused so this never participates
103
+ // in the value-based merging done by `mergeAssignments`.
104
+ interface DefineAssignment {
105
+ t: AssignmentType.Define;
106
+ s: string;
107
+ k: string;
108
+ v: undefined;
109
+ }
110
+
99
111
  // Array of assignments to be done (used for recursion)
100
112
  type Assignment =
101
113
  | IndexAssignment
102
114
  | AddAssignment
103
115
  | SetAssignment
104
- | DeleteAssignment;
116
+ | DeleteAssignment
117
+ | DefineAssignment;
105
118
 
106
119
  export interface FlaggedObject {
107
120
  type: SerovalObjectFlags;
@@ -118,6 +131,14 @@ function getAssignmentExpression(assignment: Assignment): string {
118
131
  return assignment.s + '.add(' + assignment.v + ')';
119
132
  case AssignmentType.Delete:
120
133
  return assignment.s + '.delete(' + assignment.k + ')';
134
+ case AssignmentType.Define:
135
+ return (
136
+ 'Object.defineProperty(' +
137
+ assignment.s +
138
+ ',"__proto__",{value:' +
139
+ assignment.k +
140
+ ',configurable:!0,enumerable:!0,writable:!0})'
141
+ );
121
142
  }
122
143
  }
123
144
 
@@ -482,6 +503,19 @@ function createObjectAssign(
482
503
  key: string,
483
504
  value: string,
484
505
  ): void {
506
+ if (!isValidKey(key)) {
507
+ // `obj.__proto__ = x`, including the bracket form `obj["__proto__"] = x`,
508
+ // invokes the prototype setter rather than creating an own property.
509
+ // Define the property instead so the round-trip preserves it as an actual
510
+ // own property (matches the inline path in `serializeProperty`).
511
+ ctx.base.assignments.push({
512
+ t: AssignmentType.Define,
513
+ s: getRefParam(ctx, ref),
514
+ k: value,
515
+ v: NIL,
516
+ });
517
+ return;
518
+ }
485
519
  createAssignment(ctx.base, getRefParam(ctx, ref) + '.' + key, value);
486
520
  }
487
521
 
@@ -630,7 +664,13 @@ function serializeProperty(
630
664
  }
631
665
  return '';
632
666
  }
633
- return (isIdentifier ? key : '"' + key + '"') + ':' + serialize(ctx, val);
667
+ if (isValidKey(key)) {
668
+ return (isIdentifier ? key : '"' + key + '"') + ':' + serialize(ctx, val);
669
+ }
670
+ // `__proto__` as an identifier or string key in an object literal is the
671
+ // prototype setter, not an own property; use a computed key so the
672
+ // round-trip preserves it as an actual own property.
673
+ return '["' + key + '"]:' + serialize(ctx, val);
634
674
  }
635
675
  return '[' + serialize(ctx, key) + ']:' + serialize(ctx, val);
636
676
  }
@@ -816,7 +856,7 @@ function serializeRegExp(
816
856
  node: SerovalRegExpNode,
817
857
  ): string {
818
858
  if (ctx.base.features & Feature.RegExp) {
819
- return '/' + node.c + '/' + node.m;
859
+ return '/' + deserializeString(node.c) + '/' + node.m;
820
860
  }
821
861
  throw new SerovalUnsupportedNodeError(node);
822
862
  }
@@ -173,6 +173,10 @@ export class StreamParsePluginContext {
173
173
  onError(error: unknown): void {
174
174
  onError(this._p, error);
175
175
  }
176
+
177
+ addCleanup(callback: () => void): void {
178
+ this._p.state.cleanups.push(callback);
179
+ }
176
180
  }
177
181
 
178
182
  interface StreamParserState {
@@ -188,6 +192,8 @@ interface StreamParserState {
188
192
  onParse: (node: SerovalNode, initial: boolean) => void;
189
193
  onError?: (error: unknown) => void;
190
194
  onDone?: () => void;
195
+
196
+ cleanups: (() => void)[];
191
197
  }
192
198
 
193
199
  function createStreamParserState(
@@ -201,6 +207,7 @@ function createStreamParserState(
201
207
  onParse: options.onParse,
202
208
  onError: options.onError,
203
209
  onDone: options.onDone,
210
+ cleanups: [],
204
211
  };
205
212
  }
206
213
 
@@ -861,6 +868,10 @@ function onDone(ctx: StreamParserContext): void {
861
868
  if (ctx.state.onDone) {
862
869
  ctx.state.onDone();
863
870
  }
871
+
872
+ for (let i = 0, len = ctx.state.cleanups.length; i < len; i++) {
873
+ ctx.state.cleanups[i]();
874
+ }
864
875
  }
865
876
 
866
877
  function onParseInternal(