@interncom/diplomatic 0.19.1 → 0.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- var js=Object.create;var{getPrototypeOf:Ys,defineProperty:Dr,getOwnPropertyNames:Js}=Object;var Qs=Object.prototype.hasOwnProperty;function Zs(e){return this[e]}var ei,ti,ri=(e,t,r)=>{var n=e!=null&&typeof e==="object";if(n){var s=t?ei??=new WeakMap:ti??=new WeakMap,i=s.get(e);if(i)return i}r=e!=null?js(Ys(e)):{};let o=t||!e||!e.__esModule?Dr(r,"default",{value:e,enumerable:!0}):r;if(e&&typeof e==="object"||typeof e==="function"){for(let c of Js(e))if(!Qs.call(o,c))Dr(o,c,{get:Zs.bind(e,c),enumerable:!0})}if(n)s.set(e,o);return o};var j=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Ct=j(function($n){Object.defineProperty($n,"__esModule",{value:!0});$n.utf8Count=Qi;$n.utf8EncodeJs=Fn;$n.utf8EncodeTE=Wn;$n.utf8Encode=to;$n.utf8DecodeJs=Xn;$n.utf8DecodeTD=zn;$n.utf8Decode=io;function Qi(e){let t=e.length,r=0,n=0;while(n<t){let s=e.charCodeAt(n++);if((s&4294967168)===0){r++;continue}else if((s&4294965248)===0)r+=2;else{if(s>=55296&&s<=56319){if(n<t){let i=e.charCodeAt(n);if((i&64512)===56320)++n,s=((s&1023)<<10)+(i&1023)+65536}}if((s&4294901760)===0)r+=3;else r+=4}}return r}function Fn(e,t,r){let n=e.length,s=r,i=0;while(i<n){let o=e.charCodeAt(i++);if((o&4294967168)===0){t[s++]=o;continue}else if((o&4294965248)===0)t[s++]=o>>6&31|192;else{if(o>=55296&&o<=56319){if(i<n){let c=e.charCodeAt(i);if((c&64512)===56320)++i,o=((o&1023)<<10)+(c&1023)+65536}}if((o&4294901760)===0)t[s++]=o>>12&15|224,t[s++]=o>>6&63|128;else t[s++]=o>>18&7|240,t[s++]=o>>12&63|128,t[s++]=o>>6&63|128}t[s++]=o&63|128}}var Zi=new TextEncoder,eo=50;function Wn(e,t,r){Zi.encodeInto(e,t.subarray(r))}function to(e,t,r){if(e.length>eo)Wn(e,t,r);else Fn(e,t,r)}var ro=4096;function Xn(e,t,r){let n=t,s=n+r,i=[],o="";while(n<s){let c=e[n++];if((c&128)===0)i.push(c);else if((c&224)===192){let u=e[n++]&63;i.push((c&31)<<6|u)}else if((c&240)===224){let u=e[n++]&63,f=e[n++]&63;i.push((c&31)<<12|u<<6|f)}else if((c&248)===240){let u=e[n++]&63,f=e[n++]&63,d=e[n++]&63,l=(c&7)<<18|u<<12|f<<6|d;if(l>65535)l-=65536,i.push(l>>>10&1023|55296),l=56320|l&1023;i.push(l)}else i.push(c);if(i.length>=ro)o+=String.fromCharCode(...i),i.length=0}if(i.length>0)o+=String.fromCharCode(...i);return o}var no=new TextDecoder,so=200;function zn(e,t,r){let n=e.subarray(t,t+r);return no.decode(n)}function io(e,t,r){if(r>so)return zn(e,t,r);else return Xn(e,t,r)}});var br=j(function(jn){Object.defineProperty(jn,"__esModule",{value:!0});jn.ExtData=void 0;class Gn{type;data;constructor(e,t){this.type=e,this.data=t}}jn.ExtData=Gn});var Tt=j(function(Jn){Object.defineProperty(Jn,"__esModule",{value:!0});Jn.DecodeError=void 0;class Pt extends Error{constructor(e){super(e);let t=Object.create(Pt.prototype);Object.setPrototypeOf(this,t),Object.defineProperty(this,"name",{configurable:!0,enumerable:!1,value:Pt.name})}}Jn.DecodeError=Pt});var vt=j(function(Zn){Object.defineProperty(Zn,"__esModule",{value:!0});Zn.UINT32_MAX=void 0;Zn.setUint64=po;Zn.setInt64=yo;Zn.getInt64=mo;Zn.getUint64=xo;Zn.UINT32_MAX=4294967295;function po(e,t,r){let n=r/4294967296,s=r;e.setUint32(t,n),e.setUint32(t+4,s)}function yo(e,t,r){let n=Math.floor(r/4294967296),s=r;e.setUint32(t,n),e.setUint32(t+4,s)}function mo(e,t){let r=e.getInt32(t),n=e.getUint32(t+4);return r*4294967296+n}function xo(e,t){let r=e.getUint32(t),n=e.getUint32(t+4);return r*4294967296+n}});var wr=j(function(as){Object.defineProperty(as,"__esModule",{value:!0});as.timestampExtension=as.EXT_TIMESTAMP=void 0;as.encodeTimeSpecToTimestamp=rs;as.encodeDateToTimeSpec=ns;as.encodeTimestampExtension=ss;as.decodeTimestampToTimeSpec=is;as.decodeTimestampExtension=os;var Io=Tt(),ts=vt();as.EXT_TIMESTAMP=-1;var Ao=4294967295,Eo=17179869183;function rs({sec:e,nsec:t}){if(e>=0&&t>=0&&e<=Eo)if(t===0&&e<=Ao){let r=new Uint8Array(4);return new DataView(r.buffer).setUint32(0,e),r}else{let r=e/4294967296,n=e&4294967295,s=new Uint8Array(8),i=new DataView(s.buffer);return i.setUint32(0,t<<2|r&3),i.setUint32(4,n),s}else{let r=new Uint8Array(12),n=new DataView(r.buffer);return n.setUint32(0,t),(0,ts.setInt64)(n,4,e),r}}function ns(e){let t=e.getTime(),r=Math.floor(t/1000),n=(t-r*1000)*1e6,s=Math.floor(n/1e9);return{sec:r+s,nsec:n-s*1e9}}function ss(e){if(e instanceof Date){let t=ns(e);return rs(t)}else return null}function is(e){let t=new DataView(e.buffer,e.byteOffset,e.byteLength);switch(e.byteLength){case 4:{let r=t.getUint32(0),n=0;return{sec:r,nsec:0}}case 8:{let r=t.getUint32(0),n=t.getUint32(4),s=(r&3)*4294967296+n,i=r>>>2;return{sec:s,nsec:i}}case 12:{let r=(0,ts.getInt64)(t,4),n=t.getUint32(0);return{sec:r,nsec:n}}default:throw new Io.DecodeError(`Unrecognized data size for timestamp (expected 4, 8, or 12): ${e.length}`)}}function os(e){let t=is(e);return new Date(t.sec*1000+t.nsec/1e6)}as.timestampExtension={type:as.EXT_TIMESTAMP,encode:ss,decode:os}});var _t=j(function(fs){Object.defineProperty(fs,"__esModule",{value:!0});fs.ExtensionCodec=void 0;var kt=br(),vo=wr();class Sr{static defaultCodec=new Sr;__brand;builtInEncoders=[];builtInDecoders=[];encoders=[];decoders=[];constructor(){this.register(vo.timestampExtension)}register({type:e,encode:t,decode:r}){if(e>=0)this.encoders[e]=t,this.decoders[e]=r;else{let n=-1-e;this.builtInEncoders[n]=t,this.builtInDecoders[n]=r}}tryToEncode(e,t){for(let r=0;r<this.builtInEncoders.length;r++){let n=this.builtInEncoders[r];if(n!=null){let s=n(e,t);if(s!=null){let i=-1-r;return new kt.ExtData(i,s)}}}for(let r=0;r<this.encoders.length;r++){let n=this.encoders[r];if(n!=null){let s=n(e,t);if(s!=null){let i=r;return new kt.ExtData(i,s)}}}if(e instanceof kt.ExtData)return e;return null}decode(e,t,r){let n=t<0?this.builtInDecoders[-1-t]:this.decoders[t];if(n)return n(e,t,r);else return new kt.ExtData(t,e)}}fs.ExtensionCodec=Sr});var Ir=j(function(ls){Object.defineProperty(ls,"__esModule",{value:!0});ls.ensureUint8Array=_o;function ko(e){return e instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&e instanceof SharedArrayBuffer}function _o(e){if(e instanceof Uint8Array)return e;else if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);else if(ko(e))return new Uint8Array(e);else return Uint8Array.from(e)}});var Er=j(function(ys){Object.defineProperty(ys,"__esModule",{value:!0});ys.Encoder=ys.DEFAULT_INITIAL_BUFFER_SIZE=ys.DEFAULT_MAX_DEPTH=void 0;var hs=Ct(),Lo=_t(),ps=vt(),Ro=Ir();ys.DEFAULT_MAX_DEPTH=100;ys.DEFAULT_INITIAL_BUFFER_SIZE=2048;class Ar{extensionCodec;context;useBigInt64;maxDepth;initialBufferSize;sortKeys;forceFloat32;ignoreUndefined;forceIntegerToFloat;pos;view;bytes;entered=!1;constructor(e){this.extensionCodec=e?.extensionCodec??Lo.ExtensionCodec.defaultCodec,this.context=e?.context,this.useBigInt64=e?.useBigInt64??!1,this.maxDepth=e?.maxDepth??ys.DEFAULT_MAX_DEPTH,this.initialBufferSize=e?.initialBufferSize??ys.DEFAULT_INITIAL_BUFFER_SIZE,this.sortKeys=e?.sortKeys??!1,this.forceFloat32=e?.forceFloat32??!1,this.ignoreUndefined=e?.ignoreUndefined??!1,this.forceIntegerToFloat=e?.forceIntegerToFloat??!1,this.pos=0,this.view=new DataView(new ArrayBuffer(this.initialBufferSize)),this.bytes=new Uint8Array(this.view.buffer)}clone(){return new Ar({extensionCodec:this.extensionCodec,context:this.context,useBigInt64:this.useBigInt64,maxDepth:this.maxDepth,initialBufferSize:this.initialBufferSize,sortKeys:this.sortKeys,forceFloat32:this.forceFloat32,ignoreUndefined:this.ignoreUndefined,forceIntegerToFloat:this.forceIntegerToFloat})}reinitializeState(){this.pos=0}encodeSharedRef(e){if(this.entered)return this.clone().encodeSharedRef(e);try{return this.entered=!0,this.reinitializeState(),this.doEncode(e,1),this.bytes.subarray(0,this.pos)}finally{this.entered=!1}}encode(e){if(this.entered)return this.clone().encode(e);try{return this.entered=!0,this.reinitializeState(),this.doEncode(e,1),this.bytes.slice(0,this.pos)}finally{this.entered=!1}}doEncode(e,t){if(t>this.maxDepth)throw Error(`Too deep objects in depth ${t}`);if(e==null)this.encodeNil();else if(typeof e==="boolean")this.encodeBoolean(e);else if(typeof e==="number")if(!this.forceIntegerToFloat)this.encodeNumber(e);else this.encodeNumberAsFloat(e);else if(typeof e==="string")this.encodeString(e);else if(this.useBigInt64&&typeof e==="bigint")this.encodeBigInt64(e);else this.encodeObject(e,t)}ensureBufferSizeToWrite(e){let t=this.pos+e;if(this.view.byteLength<t)this.resizeBuffer(t*2)}resizeBuffer(e){let t=new ArrayBuffer(e),r=new Uint8Array(t),n=new DataView(t);r.set(this.bytes),this.view=n,this.bytes=r}encodeNil(){this.writeU8(192)}encodeBoolean(e){if(e===!1)this.writeU8(194);else this.writeU8(195)}encodeNumber(e){if(!this.forceIntegerToFloat&&Number.isSafeInteger(e))if(e>=0)if(e<128)this.writeU8(e);else if(e<256)this.writeU8(204),this.writeU8(e);else if(e<65536)this.writeU8(205),this.writeU16(e);else if(e<4294967296)this.writeU8(206),this.writeU32(e);else if(!this.useBigInt64)this.writeU8(207),this.writeU64(e);else this.encodeNumberAsFloat(e);else if(e>=-32)this.writeU8(224|e+32);else if(e>=-128)this.writeU8(208),this.writeI8(e);else if(e>=-32768)this.writeU8(209),this.writeI16(e);else if(e>=-2147483648)this.writeU8(210),this.writeI32(e);else if(!this.useBigInt64)this.writeU8(211),this.writeI64(e);else this.encodeNumberAsFloat(e);else this.encodeNumberAsFloat(e)}encodeNumberAsFloat(e){if(this.forceFloat32)this.writeU8(202),this.writeF32(e);else this.writeU8(203),this.writeF64(e)}encodeBigInt64(e){if(e>=BigInt(0))this.writeU8(207),this.writeBigUint64(e);else this.writeU8(211),this.writeBigInt64(e)}writeStringHeader(e){if(e<32)this.writeU8(160+e);else if(e<256)this.writeU8(217),this.writeU8(e);else if(e<65536)this.writeU8(218),this.writeU16(e);else if(e<4294967296)this.writeU8(219),this.writeU32(e);else throw Error(`Too long string: ${e} bytes in UTF-8`)}encodeString(e){let r=(0,hs.utf8Count)(e);this.ensureBufferSizeToWrite(5+r),this.writeStringHeader(r),(0,hs.utf8Encode)(e,this.bytes,this.pos),this.pos+=r}encodeObject(e,t){let r=this.extensionCodec.tryToEncode(e,this.context);if(r!=null)this.encodeExtension(r);else if(Array.isArray(e))this.encodeArray(e,t);else if(ArrayBuffer.isView(e))this.encodeBinary(e);else if(typeof e==="object")this.encodeMap(e,t);else throw Error(`Unrecognized object: ${Object.prototype.toString.apply(e)}`)}encodeBinary(e){let t=e.byteLength;if(t<256)this.writeU8(196),this.writeU8(t);else if(t<65536)this.writeU8(197),this.writeU16(t);else if(t<4294967296)this.writeU8(198),this.writeU32(t);else throw Error(`Too large binary: ${t}`);let r=(0,Ro.ensureUint8Array)(e);this.writeU8a(r)}encodeArray(e,t){let r=e.length;if(r<16)this.writeU8(144+r);else if(r<65536)this.writeU8(220),this.writeU16(r);else if(r<4294967296)this.writeU8(221),this.writeU32(r);else throw Error(`Too large array: ${r}`);for(let n of e)this.doEncode(n,t+1)}countWithoutUndefined(e,t){let r=0;for(let n of t)if(e[n]!==void 0)r++;return r}encodeMap(e,t){let r=Object.keys(e);if(this.sortKeys)r.sort();let n=this.ignoreUndefined?this.countWithoutUndefined(e,r):r.length;if(n<16)this.writeU8(128+n);else if(n<65536)this.writeU8(222),this.writeU16(n);else if(n<4294967296)this.writeU8(223),this.writeU32(n);else throw Error(`Too large map object: ${n}`);for(let s of r){let i=e[s];if(!(this.ignoreUndefined&&i===void 0))this.encodeString(s),this.doEncode(i,t+1)}}encodeExtension(e){if(typeof e.data==="function"){let r=e.data(this.pos+6),n=r.length;if(n>=4294967296)throw Error(`Too large extension object: ${n}`);this.writeU8(201),this.writeU32(n),this.writeI8(e.type),this.writeU8a(r);return}let t=e.data.length;if(t===1)this.writeU8(212);else if(t===2)this.writeU8(213);else if(t===4)this.writeU8(214);else if(t===8)this.writeU8(215);else if(t===16)this.writeU8(216);else if(t<256)this.writeU8(199),this.writeU8(t);else if(t<65536)this.writeU8(200),this.writeU16(t);else if(t<4294967296)this.writeU8(201),this.writeU32(t);else throw Error(`Too large extension object: ${t}`);this.writeI8(e.type),this.writeU8a(e.data)}writeU8(e){this.ensureBufferSizeToWrite(1),this.view.setUint8(this.pos,e),this.pos++}writeU8a(e){let t=e.length;this.ensureBufferSizeToWrite(t),this.bytes.set(e,this.pos),this.pos+=t}writeI8(e){this.ensureBufferSizeToWrite(1),this.view.setInt8(this.pos,e),this.pos++}writeU16(e){this.ensureBufferSizeToWrite(2),this.view.setUint16(this.pos,e),this.pos+=2}writeI16(e){this.ensureBufferSizeToWrite(2),this.view.setInt16(this.pos,e),this.pos+=2}writeU32(e){this.ensureBufferSizeToWrite(4),this.view.setUint32(this.pos,e),this.pos+=4}writeI32(e){this.ensureBufferSizeToWrite(4),this.view.setInt32(this.pos,e),this.pos+=4}writeF32(e){this.ensureBufferSizeToWrite(4),this.view.setFloat32(this.pos,e),this.pos+=4}writeF64(e){this.ensureBufferSizeToWrite(8),this.view.setFloat64(this.pos,e),this.pos+=8}writeU64(e){this.ensureBufferSizeToWrite(8),(0,ps.setUint64)(this.view,this.pos,e),this.pos+=8}writeI64(e){this.ensureBufferSizeToWrite(8),(0,ps.setInt64)(this.view,this.pos,e),this.pos+=8}writeBigUint64(e){this.ensureBufferSizeToWrite(8),this.view.setBigUint64(this.pos,e),this.pos+=8}writeBigInt64(e){this.ensureBufferSizeToWrite(8),this.view.setBigInt64(this.pos,e),this.pos+=8}}ys.Encoder=Ar});var ws=j(function(bs){Object.defineProperty(bs,"__esModule",{value:!0});bs.encode=Mo;var Ho=Er();function Mo(e,t){return new Ho.Encoder(t).encodeSharedRef(e)}});var Is=j(function(Ss){Object.defineProperty(Ss,"__esModule",{value:!0});Ss.prettyByte=Oo;function Oo(e){return`${e<0?"-":""}0x${Math.abs(e).toString(16).padStart(2,"0")}`}});var Bs=j(function(Es){Object.defineProperty(Es,"__esModule",{value:!0});Es.CachedKeyDecoder=void 0;var No=Ct(),qo=16,Fo=16;class As{hit=0;miss=0;caches;maxKeyLength;maxLengthPerKey;constructor(e=qo,t=Fo){this.maxKeyLength=e,this.maxLengthPerKey=t,this.caches=[];for(let r=0;r<this.maxKeyLength;r++)this.caches.push([])}canBeCached(e){return e>0&&e<=this.maxKeyLength}find(e,t,r){let n=this.caches[r-1];e:for(let s of n){let i=s.bytes;for(let o=0;o<r;o++)if(i[o]!==e[t+o])continue e;return s.str}return null}store(e,t){let r=this.caches[e.length-1],n={bytes:e,str:t};if(r.length>=this.maxLengthPerKey)r[Math.random()*r.length|0]=n;else r.push(n)}decode(e,t,r){let n=this.find(e,t,r);if(n!=null)return this.hit++,n;this.miss++;let s=(0,No.utf8DecodeJs)(e,t,r),i=Uint8Array.prototype.slice.call(e,t,t+r);return this.store(i,s),s}}Es.CachedKeyDecoder=As});var Dt=j(function(ks){Object.defineProperty(ks,"__esModule",{value:!0});ks.Decoder=void 0;var Ur=Is(),Wo=_t(),Pe=vt(),Xo=Ct(),Cs=Ir(),zo=Bs(),xe=Tt(),Br="array",tt="map_key",Ts="map_value",$o=(e)=>{if(typeof e==="string"||typeof e==="number")return e;throw new xe.DecodeError("The type of key must be string or number but "+typeof e)};class vs{stack=[];stackHeadPosition=-1;get length(){return this.stackHeadPosition+1}top(){return this.stack[this.stackHeadPosition]}pushArrayState(e){let t=this.getUninitializedStateFromPool();t.type=Br,t.position=0,t.size=e,t.array=Array(e)}pushMapState(e){let t=this.getUninitializedStateFromPool();t.type=tt,t.readCount=0,t.size=e,t.map={}}getUninitializedStateFromPool(){if(this.stackHeadPosition++,this.stackHeadPosition===this.stack.length){let e={type:void 0,size:0,array:void 0,position:0,readCount:0,map:void 0,key:null};this.stack.push(e)}return this.stack[this.stackHeadPosition]}release(e){if(this.stack[this.stackHeadPosition]!==e)throw Error("Invalid stack state. Released state is not on top of the stack.");if(e.type===Br){let r=e;r.size=0,r.array=void 0,r.position=0,r.type=void 0}if(e.type===tt||e.type===Ts){let r=e;r.size=0,r.map=void 0,r.readCount=0,r.type=void 0}this.stackHeadPosition--}reset(){this.stack.length=0,this.stackHeadPosition=-1}}var et=-1,Cr=new DataView(new ArrayBuffer(0)),Go=new Uint8Array(Cr.buffer);try{Cr.getInt8(0)}catch(e){if(!(e instanceof RangeError))throw Error("This module is not supported in the current JavaScript engine because DataView does not throw RangeError on out-of-bounds access")}var Ps=RangeError("Insufficient data"),jo=new zo.CachedKeyDecoder;class Pr{extensionCodec;context;useBigInt64;rawStrings;maxStrLength;maxBinLength;maxArrayLength;maxMapLength;maxExtLength;keyDecoder;mapKeyConverter;totalPos=0;pos=0;view=Cr;bytes=Go;headByte=et;stack=new vs;entered=!1;constructor(e){this.extensionCodec=e?.extensionCodec??Wo.ExtensionCodec.defaultCodec,this.context=e?.context,this.useBigInt64=e?.useBigInt64??!1,this.rawStrings=e?.rawStrings??!1,this.maxStrLength=e?.maxStrLength??Pe.UINT32_MAX,this.maxBinLength=e?.maxBinLength??Pe.UINT32_MAX,this.maxArrayLength=e?.maxArrayLength??Pe.UINT32_MAX,this.maxMapLength=e?.maxMapLength??Pe.UINT32_MAX,this.maxExtLength=e?.maxExtLength??Pe.UINT32_MAX,this.keyDecoder=e?.keyDecoder!==void 0?e.keyDecoder:jo,this.mapKeyConverter=e?.mapKeyConverter??$o}clone(){return new Pr({extensionCodec:this.extensionCodec,context:this.context,useBigInt64:this.useBigInt64,rawStrings:this.rawStrings,maxStrLength:this.maxStrLength,maxBinLength:this.maxBinLength,maxArrayLength:this.maxArrayLength,maxMapLength:this.maxMapLength,maxExtLength:this.maxExtLength,keyDecoder:this.keyDecoder})}reinitializeState(){this.totalPos=0,this.headByte=et,this.stack.reset()}setBuffer(e){let t=(0,Cs.ensureUint8Array)(e);this.bytes=t,this.view=new DataView(t.buffer,t.byteOffset,t.byteLength),this.pos=0}appendBuffer(e){if(this.headByte===et&&!this.hasRemaining(1))this.setBuffer(e);else{let t=this.bytes.subarray(this.pos),r=(0,Cs.ensureUint8Array)(e),n=new Uint8Array(t.length+r.length);n.set(t),n.set(r,t.length),this.setBuffer(n)}}hasRemaining(e){return this.view.byteLength-this.pos>=e}createExtraByteError(e){let{view:t,pos:r}=this;return RangeError(`Extra ${t.byteLength-r} of ${t.byteLength} byte(s) found at buffer[${e}]`)}decode(e){if(this.entered)return this.clone().decode(e);try{this.entered=!0,this.reinitializeState(),this.setBuffer(e);let t=this.doDecodeSync();if(this.hasRemaining(1))throw this.createExtraByteError(this.pos);return t}finally{this.entered=!1}}*decodeMulti(e){if(this.entered){yield*this.clone().decodeMulti(e);return}try{this.entered=!0,this.reinitializeState(),this.setBuffer(e);while(this.hasRemaining(1))yield this.doDecodeSync()}finally{this.entered=!1}}async decodeAsync(e){if(this.entered)return this.clone().decodeAsync(e);try{this.entered=!0;let t=!1,r;for await(let o of e){if(t)throw this.entered=!1,this.createExtraByteError(this.totalPos);this.appendBuffer(o);try{r=this.doDecodeSync(),t=!0}catch(c){if(!(c instanceof RangeError))throw c}this.totalPos+=this.pos}if(t){if(this.hasRemaining(1))throw this.createExtraByteError(this.totalPos);return r}let{headByte:n,pos:s,totalPos:i}=this;throw RangeError(`Insufficient data in parsing ${(0,Ur.prettyByte)(n)} at ${i} (${s} in the current buffer)`)}finally{this.entered=!1}}decodeArrayStream(e){return this.decodeMultiAsync(e,!0)}decodeStream(e){return this.decodeMultiAsync(e,!1)}async*decodeMultiAsync(e,t){if(this.entered){yield*this.clone().decodeMultiAsync(e,t);return}try{this.entered=!0;let r=t,n=-1;for await(let s of e){if(t&&n===0)throw this.createExtraByteError(this.totalPos);if(this.appendBuffer(s),r)n=this.readArraySize(),r=!1,this.complete();try{while(!0)if(yield this.doDecodeSync(),--n===0)break}catch(i){if(!(i instanceof RangeError))throw i}this.totalPos+=this.pos}}finally{this.entered=!1}}doDecodeSync(){e:while(!0){let e=this.readHeadByte(),t;if(e>=224)t=e-256;else if(e<192)if(e<128)t=e;else if(e<144){let n=e-128;if(n!==0){this.pushMapState(n),this.complete();continue e}else t={}}else if(e<160){let n=e-144;if(n!==0){this.pushArrayState(n),this.complete();continue e}else t=[]}else{let n=e-160;t=this.decodeString(n,0)}else if(e===192)t=null;else if(e===194)t=!1;else if(e===195)t=!0;else if(e===202)t=this.readF32();else if(e===203)t=this.readF64();else if(e===204)t=this.readU8();else if(e===205)t=this.readU16();else if(e===206)t=this.readU32();else if(e===207)if(this.useBigInt64)t=this.readU64AsBigInt();else t=this.readU64();else if(e===208)t=this.readI8();else if(e===209)t=this.readI16();else if(e===210)t=this.readI32();else if(e===211)if(this.useBigInt64)t=this.readI64AsBigInt();else t=this.readI64();else if(e===217){let n=this.lookU8();t=this.decodeString(n,1)}else if(e===218){let n=this.lookU16();t=this.decodeString(n,2)}else if(e===219){let n=this.lookU32();t=this.decodeString(n,4)}else if(e===220){let n=this.readU16();if(n!==0){this.pushArrayState(n),this.complete();continue e}else t=[]}else if(e===221){let n=this.readU32();if(n!==0){this.pushArrayState(n),this.complete();continue e}else t=[]}else if(e===222){let n=this.readU16();if(n!==0){this.pushMapState(n),this.complete();continue e}else t={}}else if(e===223){let n=this.readU32();if(n!==0){this.pushMapState(n),this.complete();continue e}else t={}}else if(e===196){let n=this.lookU8();t=this.decodeBinary(n,1)}else if(e===197){let n=this.lookU16();t=this.decodeBinary(n,2)}else if(e===198){let n=this.lookU32();t=this.decodeBinary(n,4)}else if(e===212)t=this.decodeExtension(1,0);else if(e===213)t=this.decodeExtension(2,0);else if(e===214)t=this.decodeExtension(4,0);else if(e===215)t=this.decodeExtension(8,0);else if(e===216)t=this.decodeExtension(16,0);else if(e===199){let n=this.lookU8();t=this.decodeExtension(n,1)}else if(e===200){let n=this.lookU16();t=this.decodeExtension(n,2)}else if(e===201){let n=this.lookU32();t=this.decodeExtension(n,4)}else throw new xe.DecodeError(`Unrecognized type byte: ${(0,Ur.prettyByte)(e)}`);this.complete();let r=this.stack;while(r.length>0){let n=r.top();if(n.type===Br)if(n.array[n.position]=t,n.position++,n.position===n.size)t=n.array,r.release(n);else continue e;else if(n.type===tt){if(t==="__proto__")throw new xe.DecodeError("The key __proto__ is not allowed");n.key=this.mapKeyConverter(t),n.type=Ts;continue e}else if(n.map[n.key]=t,n.readCount++,n.readCount===n.size)t=n.map,r.release(n);else{n.key=null,n.type=tt;continue e}}return t}}readHeadByte(){if(this.headByte===et)this.headByte=this.readU8();return this.headByte}complete(){this.headByte=et}readArraySize(){let e=this.readHeadByte();switch(e){case 220:return this.readU16();case 221:return this.readU32();default:if(e<160)return e-144;else throw new xe.DecodeError(`Unrecognized array type byte: ${(0,Ur.prettyByte)(e)}`)}}pushMapState(e){if(e>this.maxMapLength)throw new xe.DecodeError(`Max length exceeded: map length (${e}) > maxMapLengthLength (${this.maxMapLength})`);this.stack.pushMapState(e)}pushArrayState(e){if(e>this.maxArrayLength)throw new xe.DecodeError(`Max length exceeded: array length (${e}) > maxArrayLength (${this.maxArrayLength})`);this.stack.pushArrayState(e)}decodeString(e,t){if(!this.rawStrings||this.stateIsMapKey())return this.decodeUtf8String(e,t);return this.decodeBinary(e,t)}decodeUtf8String(e,t){if(e>this.maxStrLength)throw new xe.DecodeError(`Max length exceeded: UTF-8 byte length (${e}) > maxStrLength (${this.maxStrLength})`);if(this.bytes.byteLength<this.pos+t+e)throw Ps;let r=this.pos+t,n;if(this.stateIsMapKey()&&this.keyDecoder?.canBeCached(e))n=this.keyDecoder.decode(this.bytes,r,e);else n=(0,Xo.utf8Decode)(this.bytes,r,e);return this.pos+=t+e,n}stateIsMapKey(){if(this.stack.length>0)return this.stack.top().type===tt;return!1}decodeBinary(e,t){if(e>this.maxBinLength)throw new xe.DecodeError(`Max length exceeded: bin length (${e}) > maxBinLength (${this.maxBinLength})`);if(!this.hasRemaining(e+t))throw Ps;let r=this.pos+t,n=this.bytes.subarray(r,r+e);return this.pos+=t+e,n}decodeExtension(e,t){if(e>this.maxExtLength)throw new xe.DecodeError(`Max length exceeded: ext length (${e}) > maxExtLength (${this.maxExtLength})`);let r=this.view.getInt8(this.pos+t),n=this.decodeBinary(e,t+1);return this.extensionCodec.decode(n,r,this.context)}lookU8(){return this.view.getUint8(this.pos)}lookU16(){return this.view.getUint16(this.pos)}lookU32(){return this.view.getUint32(this.pos)}readU8(){let e=this.view.getUint8(this.pos);return this.pos++,e}readI8(){let e=this.view.getInt8(this.pos);return this.pos++,e}readU16(){let e=this.view.getUint16(this.pos);return this.pos+=2,e}readI16(){let e=this.view.getInt16(this.pos);return this.pos+=2,e}readU32(){let e=this.view.getUint32(this.pos);return this.pos+=4,e}readI32(){let e=this.view.getInt32(this.pos);return this.pos+=4,e}readU64(){let e=(0,Pe.getUint64)(this.view,this.pos);return this.pos+=8,e}readI64(){let e=(0,Pe.getInt64)(this.view,this.pos);return this.pos+=8,e}readU64AsBigInt(){let e=this.view.getBigUint64(this.pos);return this.pos+=8,e}readI64AsBigInt(){let e=this.view.getBigInt64(this.pos);return this.pos+=8,e}readF32(){let e=this.view.getFloat32(this.pos);return this.pos+=4,e}readF64(){let e=this.view.getFloat64(this.pos);return this.pos+=8,e}}ks.Decoder=Pr});var Rs=j(function(Ls){Object.defineProperty(Ls,"__esModule",{value:!0});Ls.decode=Yo;Ls.decodeMulti=Jo;var Ds=Dt();function Yo(e,t){return new Ds.Decoder(t).decode(e)}function Jo(e,t){return new Ds.Decoder(t).decodeMulti(e)}});var Os=j(function(Ks){Object.defineProperty(Ks,"__esModule",{value:!0});Ks.isAsyncIterable=Hs;Ks.asyncIterableFromStream=Ms;Ks.ensureAsyncIterable=ea;function Hs(e){return e[Symbol.asyncIterator]!=null}async function*Ms(e){let t=e.getReader();try{while(!0){let{done:r,value:n}=await t.read();if(r)return;yield n}}finally{t.releaseLock()}}function ea(e){if(Hs(e))return e;else return Ms(e)}});var Ns=j(function(Vs){Object.defineProperty(Vs,"__esModule",{value:!0});Vs.decodeAsync=sa;Vs.decodeArrayStream=ia;Vs.decodeMultiStream=oa;var Tr=Dt(),vr=Os();async function sa(e,t){let r=(0,vr.ensureAsyncIterable)(e);return new Tr.Decoder(t).decodeAsync(r)}function ia(e,t){let r=(0,vr.ensureAsyncIterable)(e);return new Tr.Decoder(t).decodeArrayStream(r)}function oa(e,t){let r=(0,vr.ensureAsyncIterable)(e);return new Tr.Decoder(t).decodeStream(r)}});var Fs=j(function(M){Object.defineProperty(M,"__esModule",{value:!0});M.decodeTimestampExtension=M.encodeTimestampExtension=M.decodeTimestampToTimeSpec=M.encodeTimeSpecToTimestamp=M.encodeDateToTimeSpec=M.EXT_TIMESTAMP=M.ExtData=M.ExtensionCodec=M.Encoder=M.DecodeError=M.Decoder=M.decodeMultiStream=M.decodeArrayStream=M.decodeAsync=M.decodeMulti=M.decode=M.encode=void 0;var fa=ws();Object.defineProperty(M,"encode",{enumerable:!0,get:function(){return fa.encode}});var qs=Rs();Object.defineProperty(M,"decode",{enumerable:!0,get:function(){return qs.decode}});Object.defineProperty(M,"decodeMulti",{enumerable:!0,get:function(){return qs.decodeMulti}});var kr=Ns();Object.defineProperty(M,"decodeAsync",{enumerable:!0,get:function(){return kr.decodeAsync}});Object.defineProperty(M,"decodeArrayStream",{enumerable:!0,get:function(){return kr.decodeArrayStream}});Object.defineProperty(M,"decodeMultiStream",{enumerable:!0,get:function(){return kr.decodeMultiStream}});var da=Dt();Object.defineProperty(M,"Decoder",{enumerable:!0,get:function(){return da.Decoder}});var la=Tt();Object.defineProperty(M,"DecodeError",{enumerable:!0,get:function(){return la.DecodeError}});var ha=Er();Object.defineProperty(M,"Encoder",{enumerable:!0,get:function(){return ha.Encoder}});var pa=_t();Object.defineProperty(M,"ExtensionCodec",{enumerable:!0,get:function(){return pa.ExtensionCodec}});var ya=br();Object.defineProperty(M,"ExtData",{enumerable:!0,get:function(){return ya.ExtData}});var ze=wr();Object.defineProperty(M,"EXT_TIMESTAMP",{enumerable:!0,get:function(){return ze.EXT_TIMESTAMP}});Object.defineProperty(M,"encodeDateToTimeSpec",{enumerable:!0,get:function(){return ze.encodeDateToTimeSpec}});Object.defineProperty(M,"encodeTimeSpecToTimestamp",{enumerable:!0,get:function(){return ze.encodeTimeSpecToTimestamp}});Object.defineProperty(M,"decodeTimestampToTimeSpec",{enumerable:!0,get:function(){return ze.decodeTimestampToTimeSpec}});Object.defineProperty(M,"encodeTimestampExtension",{enumerable:!0,get:function(){return ze.encodeTimestampExtension}});Object.defineProperty(M,"decodeTimestampExtension",{enumerable:!0,get:function(){return ze.decodeTimestampExtension}})});import*as fe from"node:crypto";var Se=fe&&typeof fe==="object"&&"webcrypto"in fe?fe.webcrypto:fe&&typeof fe==="object"&&("randomBytes"in fe)?fe:void 0;function rt(e){if(!Number.isSafeInteger(e)||e<0)throw Error("positive integer expected, got "+e)}function Lt(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function q(e,...t){if(!Lt(e))throw Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw Error("Uint8Array expected of length "+t+", got length="+e.length)}function Rt(e,t=!0){if(e.destroyed)throw Error("Hash instance has been destroyed");if(t&&e.finished)throw Error("Hash#digest() has already been called")}function Lr(e,t){q(e);let r=t.outputLen;if(e.length<r)throw Error("digestInto() expects output buffer of length at least "+r)}function Ht(e){if(typeof e!=="boolean")throw Error(`boolean expected, not ${e}`)}/*! noble-ciphers - MIT License (c) 2023 Paul Miller (paulmillr.com) */var de=(e)=>new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4));var ni=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!ni)throw Error("Non little-endian hardware is not supported");function si(e){if(typeof e!=="string")throw Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function nt(e){if(typeof e==="string")e=si(e);else if(Lt(e))e=st(e);else throw Error("Uint8Array expected, got "+typeof e);return e}function Rr(e,t){if(t==null||typeof t!=="object")throw Error("options must be defined");return Object.assign(e,t)}function Hr(e,t){if(e.length!==t.length)return!1;let r=0;for(let n=0;n<e.length;n++)r|=e[n]^t[n];return r===0}var Mr=(e,t)=>{function r(n,...s){if(q(n),e.nonceLength!==void 0){let d=s[0];if(!d)throw Error("nonce / iv required");if(e.varSizeNonce)q(d);else q(d,e.nonceLength)}let i=e.tagLength;if(i&&s[1]!==void 0)q(s[1]);let o=t(n,...s),c=(d,l)=>{if(l!==void 0){if(d!==2)throw Error("cipher output not supported");q(l)}},u=!1;return{encrypt(d,l){if(u)throw Error("cannot encrypt() twice with same key + nonce");return u=!0,q(d),c(o.encrypt.length,l),o.encrypt(d,l)},decrypt(d,l){if(q(d),i&&d.length<i)throw Error("invalid ciphertext length: smaller than tagLength="+i);return c(o.decrypt.length,l),o.decrypt(d,l)}}}return Object.assign(r,e),r};function Mt(e,t,r=!0){if(t===void 0)return new Uint8Array(e);if(t.length!==e)throw Error("invalid output length, expected "+e+", got: "+t.length);if(r&&!ii(t))throw Error("invalid output, must be aligned");return t}function ii(e){return e.byteOffset%4===0}function st(e){return Uint8Array.from(e)}function se(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function Ge(e=32){if(Se&&typeof Se.getRandomValues==="function")return Se.getRandomValues(new Uint8Array(e));if(Se&&typeof Se.randomBytes==="function")return Se.randomBytes(e);throw Error("crypto.getRandomValues must be defined")}var Or=(e)=>Uint8Array.from(e.split("").map((t)=>t.charCodeAt(0))),oi=Or("expand 16-byte k"),ai=Or("expand 32-byte k"),ci=de(oi),ui=de(ai);function w(e,t){return e<<t|e>>>32-t}function Kt(e){return e.byteOffset%4===0}var it=64,fi=16,Vr=4294967295,Kr=new Uint32Array;function di(e,t,r,n,s,i,o,c){let u=s.length,f=new Uint8Array(it),d=de(f),l=Kt(s)&&Kt(i),p=l?de(s):Kr,y=l?de(i):Kr;for(let g=0;g<u;o++){if(e(t,r,n,d,o,c),o>=Vr)throw Error("arx: counter overflow");let x=Math.min(it,u-g);if(l&&x===it){let b=g/4;if(g%4!==0)throw Error("arx: invalid block position");for(let I=0,A;I<fi;I++)A=b+I,y[A]=p[A]^d[I];g+=it;continue}for(let b=0,I;b<x;b++)I=g+b,i[I]=s[I]^f[b];g+=x}}function Nr(e,t){let{allowShortKeys:r,extendNonceFn:n,counterLength:s,counterRight:i,rounds:o}=Rr({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},t);if(typeof e!=="function")throw Error("core must be a function");return rt(s),rt(o),Ht(i),Ht(r),(c,u,f,d,l=0)=>{q(c),q(u),q(f);let p=f.length;if(d===void 0)d=new Uint8Array(p);if(q(d),rt(l),l<0||l>=Vr)throw Error("arx: counter overflow");if(d.length<p)throw Error(`arx: output (${d.length}) is shorter than data (${p})`);let y=[],g=c.length,x,b;if(g===32)y.push(x=st(c)),b=ui;else if(g===16&&r)x=new Uint8Array(32),x.set(c),x.set(c,16),b=ci,y.push(x);else throw Error(`arx: invalid 32-byte key, got length=${g}`);if(!Kt(u))y.push(u=st(u));let I=de(x);if(n){if(u.length!==24)throw Error("arx: extended nonce must be 24 bytes");n(b,I,de(u.subarray(0,16)),I),u=u.subarray(16)}let A=16-s;if(A!==u.length)throw Error(`arx: nonce must be ${A} or 16 bytes`);if(A!==12){let S=new Uint8Array(12);S.set(u,i?0:12-u.length),u=S,y.push(u)}let U=de(u);return di(e,b,I,U,f,d,l,o),se(...y),d}}var W=(e,t)=>e[t++]&255|(e[t++]&255)<<8;class qr{constructor(e){this.blockLen=16,this.outputLen=16,this.buffer=new Uint8Array(16),this.r=new Uint16Array(10),this.h=new Uint16Array(10),this.pad=new Uint16Array(8),this.pos=0,this.finished=!1,e=nt(e),q(e,32);let t=W(e,0),r=W(e,2),n=W(e,4),s=W(e,6),i=W(e,8),o=W(e,10),c=W(e,12),u=W(e,14);this.r[0]=t&8191,this.r[1]=(t>>>13|r<<3)&8191,this.r[2]=(r>>>10|n<<6)&7939,this.r[3]=(n>>>7|s<<9)&8191,this.r[4]=(s>>>4|i<<12)&255,this.r[5]=i>>>1&8190,this.r[6]=(i>>>14|o<<2)&8191,this.r[7]=(o>>>11|c<<5)&8065,this.r[8]=(c>>>8|u<<8)&8191,this.r[9]=u>>>5&127;for(let f=0;f<8;f++)this.pad[f]=W(e,16+2*f)}process(e,t,r=!1){let n=r?0:2048,{h:s,r:i}=this,o=i[0],c=i[1],u=i[2],f=i[3],d=i[4],l=i[5],p=i[6],y=i[7],g=i[8],x=i[9],b=W(e,t+0),I=W(e,t+2),A=W(e,t+4),U=W(e,t+6),S=W(e,t+8),C=W(e,t+10),k=W(e,t+12),F=W(e,t+14),v=s[0]+(b&8191),D=s[1]+((b>>>13|I<<3)&8191),R=s[2]+((I>>>10|A<<6)&8191),L=s[3]+((A>>>7|U<<9)&8191),H=s[4]+((U>>>4|S<<12)&8191),m=s[5]+(S>>>1&8191),K=s[6]+((S>>>14|C<<2)&8191),O=s[7]+((C>>>11|k<<5)&8191),V=s[8]+((k>>>8|F<<8)&8191),N=s[9]+(F>>>5|n),E=0,G=E+v*o+D*(5*x)+R*(5*g)+L*(5*y)+H*(5*p);E=G>>>13,G&=8191,G+=m*(5*l)+K*(5*d)+O*(5*f)+V*(5*u)+N*(5*c),E+=G>>>13,G&=8191;let J=E+v*c+D*o+R*(5*x)+L*(5*g)+H*(5*y);E=J>>>13,J&=8191,J+=m*(5*p)+K*(5*l)+O*(5*d)+V*(5*f)+N*(5*u),E+=J>>>13,J&=8191;let ee=E+v*u+D*c+R*o+L*(5*x)+H*(5*g);E=ee>>>13,ee&=8191,ee+=m*(5*y)+K*(5*p)+O*(5*l)+V*(5*d)+N*(5*f),E+=ee>>>13,ee&=8191;let _=E+v*f+D*u+R*c+L*o+H*(5*x);E=_>>>13,_&=8191,_+=m*(5*g)+K*(5*y)+O*(5*p)+V*(5*l)+N*(5*d),E+=_>>>13,_&=8191;let ue=E+v*d+D*f+R*u+L*c+H*o;E=ue>>>13,ue&=8191,ue+=m*(5*x)+K*(5*g)+O*(5*y)+V*(5*p)+N*(5*l),E+=ue>>>13,ue&=8191;let Te=E+v*l+D*d+R*f+L*u+H*c;E=Te>>>13,Te&=8191,Te+=m*o+K*(5*x)+O*(5*g)+V*(5*y)+N*(5*p),E+=Te>>>13,Te&=8191;let ve=E+v*p+D*l+R*d+L*f+H*u;E=ve>>>13,ve&=8191,ve+=m*c+K*o+O*(5*x)+V*(5*g)+N*(5*y),E+=ve>>>13,ve&=8191;let ke=E+v*y+D*p+R*l+L*d+H*f;E=ke>>>13,ke&=8191,ke+=m*u+K*c+O*o+V*(5*x)+N*(5*g),E+=ke>>>13,ke&=8191;let _e=E+v*g+D*y+R*p+L*l+H*d;E=_e>>>13,_e&=8191,_e+=m*f+K*u+O*c+V*o+N*(5*x),E+=_e>>>13,_e&=8191;let De=E+v*x+D*g+R*y+L*p+H*l;E=De>>>13,De&=8191,De+=m*d+K*f+O*u+V*c+N*o,E+=De>>>13,De&=8191,E=(E<<2)+E|0,E=E+G|0,G=E&8191,E=E>>>13,J+=E,s[0]=G,s[1]=J,s[2]=ee,s[3]=_,s[4]=ue,s[5]=Te,s[6]=ve,s[7]=ke,s[8]=_e,s[9]=De}finalize(){let{h:e,pad:t}=this,r=new Uint16Array(10),n=e[1]>>>13;e[1]&=8191;for(let o=2;o<10;o++)e[o]+=n,n=e[o]>>>13,e[o]&=8191;e[0]+=n*5,n=e[0]>>>13,e[0]&=8191,e[1]+=n,n=e[1]>>>13,e[1]&=8191,e[2]+=n,r[0]=e[0]+5,n=r[0]>>>13,r[0]&=8191;for(let o=1;o<10;o++)r[o]=e[o]+n,n=r[o]>>>13,r[o]&=8191;r[9]-=8192;let s=(n^1)-1;for(let o=0;o<10;o++)r[o]&=s;s=~s;for(let o=0;o<10;o++)e[o]=e[o]&s|r[o];e[0]=(e[0]|e[1]<<13)&65535,e[1]=(e[1]>>>3|e[2]<<10)&65535,e[2]=(e[2]>>>6|e[3]<<7)&65535,e[3]=(e[3]>>>9|e[4]<<4)&65535,e[4]=(e[4]>>>12|e[5]<<1|e[6]<<14)&65535,e[5]=(e[6]>>>2|e[7]<<11)&65535,e[6]=(e[7]>>>5|e[8]<<8)&65535,e[7]=(e[8]>>>8|e[9]<<5)&65535;let i=e[0]+t[0];e[0]=i&65535;for(let o=1;o<8;o++)i=(e[o]+t[o]|0)+(i>>>16)|0,e[o]=i&65535;se(r)}update(e){Rt(this);let{buffer:t,blockLen:r}=this;e=nt(e);let n=e.length;for(let s=0;s<n;){let i=Math.min(r-this.pos,n-s);if(i===r){for(;r<=n-s;s+=r)this.process(e,s);continue}if(t.set(e.subarray(s,s+i),this.pos),this.pos+=i,s+=i,this.pos===r)this.process(t,0,!1),this.pos=0}return this}destroy(){se(this.h,this.r,this.buffer,this.pad)}digestInto(e){Rt(this),Lr(e,this),this.finished=!0;let{buffer:t,h:r}=this,{pos:n}=this;if(n){t[n++]=1;for(;n<16;n++)t[n]=0;this.process(t,0,!0)}this.finalize();let s=0;for(let i=0;i<8;i++)e[s++]=r[i]>>>0,e[s++]=r[i]>>>8;return e}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let r=e.slice(0,t);return this.destroy(),r}}function li(e){let t=(n,s)=>e(s).update(nt(n)).digest(),r=e(new Uint8Array(32));return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=(n)=>e(n),t}var Ot=li((e)=>new qr(e));function hi(e,t,r,n,s,i=20){let o=e[0],c=t[0],u=t[1],f=t[2],d=t[3],l=e[1],p=r[0],y=r[1],g=s,x=0,b=e[2],I=t[4],A=t[5],U=t[6],S=t[7],C=e[3],k=o,F=c,v=u,D=f,R=d,L=l,H=p,m=y,K=g,O=x,V=b,N=I,E=A,G=U,J=S,ee=C;for(let ue=0;ue<i;ue+=2)R^=w(k+E|0,7),K^=w(R+k|0,9),E^=w(K+R|0,13),k^=w(E+K|0,18),O^=w(L+F|0,7),G^=w(O+L|0,9),F^=w(G+O|0,13),L^=w(F+G|0,18),J^=w(V+H|0,7),v^=w(J+V|0,9),H^=w(v+J|0,13),V^=w(H+v|0,18),D^=w(ee+N|0,7),m^=w(D+ee|0,9),N^=w(m+D|0,13),ee^=w(N+m|0,18),F^=w(k+D|0,7),v^=w(F+k|0,9),D^=w(v+F|0,13),k^=w(D+v|0,18),H^=w(L+R|0,7),m^=w(H+L|0,9),R^=w(m+H|0,13),L^=w(R+m|0,18),N^=w(V+O|0,7),K^=w(N+V|0,9),O^=w(K+N|0,13),V^=w(O+K|0,18),E^=w(ee+J|0,7),G^=w(E+ee|0,9),J^=w(G+E|0,13),ee^=w(J+G|0,18);let _=0;n[_++]=o+k|0,n[_++]=c+F|0,n[_++]=u+v|0,n[_++]=f+D|0,n[_++]=d+R|0,n[_++]=l+L|0,n[_++]=p+H|0,n[_++]=y+m|0,n[_++]=g+K|0,n[_++]=x+O|0,n[_++]=b+V|0,n[_++]=I+N|0,n[_++]=A+E|0,n[_++]=U+G|0,n[_++]=S+J|0,n[_++]=C+ee|0}function pi(e,t,r,n){let s=e[0],i=t[0],o=t[1],c=t[2],u=t[3],f=e[1],d=r[0],l=r[1],p=r[2],y=r[3],g=e[2],x=t[4],b=t[5],I=t[6],A=t[7],U=e[3];for(let C=0;C<20;C+=2)u^=w(s+b|0,7),p^=w(u+s|0,9),b^=w(p+u|0,13),s^=w(b+p|0,18),y^=w(f+i|0,7),I^=w(y+f|0,9),i^=w(I+y|0,13),f^=w(i+I|0,18),A^=w(g+d|0,7),o^=w(A+g|0,9),d^=w(o+A|0,13),g^=w(d+o|0,18),c^=w(U+x|0,7),l^=w(c+U|0,9),x^=w(l+c|0,13),U^=w(x+l|0,18),i^=w(s+c|0,7),o^=w(i+s|0,9),c^=w(o+i|0,13),s^=w(c+o|0,18),d^=w(f+u|0,7),l^=w(d+f|0,9),u^=w(l+d|0,13),f^=w(u+l|0,18),x^=w(g+y|0,7),p^=w(x+g|0,9),y^=w(p+x|0,13),g^=w(y+p|0,18),b^=w(U+A|0,7),I^=w(b+U|0,9),A^=w(I+b|0,13),U^=w(A+I|0,18);let S=0;n[S++]=s,n[S++]=f,n[S++]=g,n[S++]=U,n[S++]=d,n[S++]=l,n[S++]=p,n[S++]=y}var Vt=Nr(hi,{counterRight:!0,extendNonceFn:pi}),Nt=Mr({blockSize:64,nonceLength:24,tagLength:16},(e,t)=>({encrypt(r,n){n=Mt(r.length+32,n,!1);let s=n.subarray(0,32),i=n.subarray(32);n.set(r,32),se(s),Vt(e,t,n,n);let o=Ot(i,s);return n.set(o,16),se(n.subarray(0,16),o),n.subarray(16)},decrypt(r,n){q(r),n=Mt(r.length+32,n,!1);let s=n.subarray(0,32),i=n.subarray(32,48),o=n.subarray(48);n.set(r,32),se(s);let c=Vt(e,t,s,s),u=Ot(o,c);if(!Hr(i,u))throw Error("invalid tag");return Vt(e,t,n.subarray(16),n.subarray(16)),se(s,i,u),o}}));/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */function yi(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function je(e){if(!Number.isSafeInteger(e)||e<0)throw Error("positive integer expected, got "+e)}function Ie(e,...t){if(!yi(e))throw Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw Error("Uint8Array expected of length "+t+", got length="+e.length)}function Ye(e,t=!0){if(e.destroyed)throw Error("Hash instance has been destroyed");if(t&&e.finished)throw Error("Hash#digest() has already been called")}function ot(e,t){Ie(e);let r=t.outputLen;if(e.length<r)throw Error("digestInto() expects output buffer of length at least "+r)}function Fr(e){return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}function Le(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function Re(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function Je(e,t){return e<<32-t|e>>>t}var Wr=(()=>new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68)();function Xr(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}var zr=Wr?(e)=>e:(e)=>Xr(e);function mi(e){for(let t=0;t<e.length;t++)e[t]=Xr(e[t]);return e}var Q=Wr?(e)=>e:mi;function xi(e){if(typeof e!=="string")throw Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function He(e){if(typeof e==="string")e=xi(e);return Ie(e),e}class qt{}function $r(e){let t=(n,s)=>e(s).update(He(n)).digest(),r=e({});return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=(n)=>e(n),t}var Gr=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var at=BigInt(4294967295),jr=BigInt(32);function Ft(e,t=!1){if(t)return{h:Number(e&at),l:Number(e>>jr&at)};return{h:Number(e>>jr&at)|0,l:Number(e&at)|0}}function le(e,t,r,n,s){return e=e+t+s|0,n=Je(n^e,16),r=r+n|0,t=Je(t^r,12),{a:e,b:t,c:r,d:n}}function he(e,t,r,n,s){return e=e+t+s|0,n=Je(n^e,8),r=r+n|0,t=Je(t^r,7),{a:e,b:t,c:r,d:n}}class Wt extends qt{constructor(e,t){super();this.finished=!1,this.destroyed=!1,this.length=0,this.pos=0,je(e),je(t),this.blockLen=e,this.outputLen=t,this.buffer=new Uint8Array(e),this.buffer32=Le(this.buffer)}update(e){Ye(this),e=He(e),Ie(e);let{blockLen:t,buffer:r,buffer32:n}=this,s=e.length,i=e.byteOffset,o=e.buffer;for(let c=0;c<s;){if(this.pos===t)Q(n),this.compress(n,0,!1),Q(n),this.pos=0;let u=Math.min(t-this.pos,s-c),f=i+c;if(u===t&&!(f%4)&&c+u<s){let d=new Uint32Array(o,f,Math.floor((s-c)/4));Q(d);for(let l=0;c+t<s;l+=n.length,c+=t)this.length+=t,this.compress(d,l,!1);Q(d);continue}r.set(e.subarray(c,c+u),this.pos),this.pos+=u,this.length+=u,c+=u}return this}digestInto(e){Ye(this),ot(e,this);let{pos:t,buffer32:r}=this;this.finished=!0,Re(this.buffer.subarray(t)),Q(r),this.compress(r,0,!0),Q(r);let n=Le(e);this.get().forEach((s,i)=>n[i]=zr(s))}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let r=e.slice(0,t);return this.destroy(),r}_cloneInto(e){let{buffer:t,length:r,finished:n,destroyed:s,outputLen:i,pos:o}=this;return e||(e=new this.constructor({dkLen:i})),e.set(...this.get()),e.buffer.set(t),e.destroyed=s,e.finished=n,e.length=r,e.pos=o,e.outputLen=i,e}clone(){return this._cloneInto()}}function Xt(e,t,r,n,s,i,o,c,u,f,d,l,p,y,g,x,b,I,A,U){let S=0;for(let C=0;C<n;C++)({a:s,b:u,c:p,d:b}=le(s,u,p,b,r[t+e[S++]])),{a:s,b:u,c:p,d:b}=he(s,u,p,b,r[t+e[S++]]),{a:i,b:f,c:y,d:I}=le(i,f,y,I,r[t+e[S++]]),{a:i,b:f,c:y,d:I}=he(i,f,y,I,r[t+e[S++]]),{a:o,b:d,c:g,d:A}=le(o,d,g,A,r[t+e[S++]]),{a:o,b:d,c:g,d:A}=he(o,d,g,A,r[t+e[S++]]),{a:c,b:l,c:x,d:U}=le(c,l,x,U,r[t+e[S++]]),{a:c,b:l,c:x,d:U}=he(c,l,x,U,r[t+e[S++]]),{a:s,b:f,c:g,d:U}=le(s,f,g,U,r[t+e[S++]]),{a:s,b:f,c:g,d:U}=he(s,f,g,U,r[t+e[S++]]),{a:i,b:d,c:x,d:b}=le(i,d,x,b,r[t+e[S++]]),{a:i,b:d,c:x,d:b}=he(i,d,x,b,r[t+e[S++]]),{a:o,b:l,c:p,d:I}=le(o,l,p,I,r[t+e[S++]]),{a:o,b:l,c:p,d:I}=he(o,l,p,I,r[t+e[S++]]),{a:c,b:u,c:y,d:A}=le(c,u,y,A,r[t+e[S++]]),{a:c,b:u,c:y,d:A}=he(c,u,y,A,r[t+e[S++]]);return{v0:s,v1:i,v2:o,v3:c,v4:u,v5:f,v6:d,v7:l,v8:p,v9:y,v10:g,v11:x,v12:b,v13:I,v14:A,v15:U}}var ie={CHUNK_START:1,CHUNK_END:2,PARENT:4,ROOT:8,KEYED_HASH:16,DERIVE_KEY_CONTEXT:32,DERIVE_KEY_MATERIAL:64},pe=Gr.slice(),Yr=(()=>{let e=Array.from({length:16},(n,s)=>s),t=(n)=>[2,6,3,10,7,0,4,13,1,11,12,5,9,14,15,8].map((s)=>n[s]),r=[];for(let n=0,s=e;n<7;n++,s=t(s))r.push(...s);return Uint8Array.from(r)})();class zt extends Wt{constructor(e={},t=0){super(64,e.dkLen===void 0?32:e.dkLen);this.chunkPos=0,this.chunksDone=0,this.flags=0,this.stack=[],this.posOut=0,this.bufferOut32=new Uint32Array(16),this.chunkOut=0,this.enableXOF=!0;let{key:r,context:n}=e,s=n!==void 0;if(r!==void 0){if(s)throw Error('Only "key" or "context" can be specified at same time');let i=He(r).slice();Ie(i,32),this.IV=Le(i),Q(this.IV),this.flags=t|ie.KEYED_HASH}else if(s){let i=He(n),o=new zt({dkLen:32},ie.DERIVE_KEY_CONTEXT).update(i).digest();this.IV=Le(o),Q(this.IV),this.flags=t|ie.DERIVE_KEY_MATERIAL}else this.IV=pe.slice(),this.flags=t;this.state=this.IV.slice(),this.bufferOut=Fr(this.bufferOut32)}get(){return[]}set(){}b2Compress(e,t,r,n=0){let{state:s,pos:i}=this,{h:o,l:c}=Ft(BigInt(e),!0),{v0:u,v1:f,v2:d,v3:l,v4:p,v5:y,v6:g,v7:x,v8:b,v9:I,v10:A,v11:U,v12:S,v13:C,v14:k,v15:F}=Xt(Yr,n,r,7,s[0],s[1],s[2],s[3],s[4],s[5],s[6],s[7],pe[0],pe[1],pe[2],pe[3],o,c,i,t);s[0]=u^b,s[1]=f^I,s[2]=d^A,s[3]=l^U,s[4]=p^S,s[5]=y^C,s[6]=g^k,s[7]=x^F}compress(e,t=0,r=!1){let n=this.flags;if(!this.chunkPos)n|=ie.CHUNK_START;if(this.chunkPos===15||r)n|=ie.CHUNK_END;if(!r)this.pos=this.blockLen;if(this.b2Compress(this.chunksDone,n,e,t),this.chunkPos+=1,this.chunkPos===16||r){let s=this.state;this.state=this.IV.slice();for(let i,o=this.chunksDone+1;r||!(o&1);o>>=1){if(!(i=this.stack.pop()))break;this.buffer32.set(i,0),this.buffer32.set(s,8),this.pos=this.blockLen,this.b2Compress(0,this.flags|ie.PARENT,this.buffer32,0),s=this.state,this.state=this.IV.slice()}this.chunksDone++,this.chunkPos=0,this.stack.push(s)}this.pos=0}_cloneInto(e){e=super._cloneInto(e);let{IV:t,flags:r,state:n,chunkPos:s,posOut:i,chunkOut:o,stack:c,chunksDone:u}=this;return e.state.set(n.slice()),e.stack=c.map((f)=>Uint32Array.from(f)),e.IV.set(t),e.flags=r,e.chunkPos=s,e.chunksDone=u,e.posOut=i,e.chunkOut=o,e.enableXOF=this.enableXOF,e.bufferOut32.set(this.bufferOut32),e}destroy(){this.destroyed=!0,Re(this.state,this.buffer32,this.IV,this.bufferOut32),Re(...this.stack)}b2CompressOut(){let{state:e,pos:t,flags:r,buffer32:n,bufferOut32:s}=this,{h:i,l:o}=Ft(BigInt(this.chunkOut++));Q(n);let{v0:c,v1:u,v2:f,v3:d,v4:l,v5:p,v6:y,v7:g,v8:x,v9:b,v10:I,v11:A,v12:U,v13:S,v14:C,v15:k}=Xt(Yr,0,n,7,e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],pe[0],pe[1],pe[2],pe[3],o,i,t,r);s[0]=c^x,s[1]=u^b,s[2]=f^I,s[3]=d^A,s[4]=l^U,s[5]=p^S,s[6]=y^C,s[7]=g^k,s[8]=e[0]^x,s[9]=e[1]^b,s[10]=e[2]^I,s[11]=e[3]^A,s[12]=e[4]^U,s[13]=e[5]^S,s[14]=e[6]^C,s[15]=e[7]^k,Q(n),Q(s),this.posOut=0}finish(){if(this.finished)return;this.finished=!0,Re(this.buffer.subarray(this.pos));let e=this.flags|ie.ROOT;if(this.stack.length)e|=ie.PARENT,Q(this.buffer32),this.compress(this.buffer32,0,!0),Q(this.buffer32),this.chunksDone=0,this.pos=this.blockLen;else e|=(!this.chunkPos?ie.CHUNK_START:0)|ie.CHUNK_END;this.flags=e,this.b2CompressOut()}writeInto(e){Ye(this,!1),Ie(e),this.finish();let{blockLen:t,bufferOut:r}=this;for(let n=0,s=e.length;n<s;){if(this.posOut>=t)this.b2CompressOut();let i=Math.min(t-this.posOut,s-n);e.set(r.subarray(this.posOut,this.posOut+i),n),this.posOut+=i,n+=i}return e}xofInto(e){if(!this.enableXOF)throw Error("XOF is not possible after digest call");return this.writeInto(e)}xof(e){return je(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(ot(e,this),this.finished)throw Error("digest() was already called");return this.enableXOF=!1,this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}}var Jr=$r((e)=>new zt(e));function te(e){return Array.from(e).map((r)=>r.toString(16).padStart(2,"0")).join("")}function ct(e){if(e.length%2!==0)throw Error("Invalid hex string");let t=new Uint8Array(e.length/2);for(let r=0;r<e.length;r+=2)t[r/2]=Number.parseInt(e.substr(r,2),16);return t}function Me(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;return e.every((r,n)=>r===t[n])}var Qr;if(typeof Uint8Array.prototype.toBase64==="function")Qr=(e)=>e.toBase64();else Qr=(e)=>btoa(String.fromCharCode(...e));var $t;if(typeof Uint8Array.fromBase64==="function")$t=(e)=>Uint8Array.fromBase64(e);else $t=(e)=>Uint8Array.from(atob(e),(t)=>t.charCodeAt(0));function Zr(e){let t=e.length%4===0?"":"=".repeat(4-e.length%4),r=e.replace(/-/g,"+").replace(/_/g,"/")+t;return $t(r)}function oe(e,t){let r=new Uint8Array(e.length+t.length);return r.set(e,0),r.set(t,e.length),r}var Ke=64;var en=32,Oe=8;var tn=32;var rn=30000,nn=512,B;((m)=>{m[m.Success=0]="Success";m[m.InvalidSignature=3]="InvalidSignature";m[m.ClockOutOfSync=4]="ClockOutOfSync";m[m.UserNotRegistered=5]="UserNotRegistered";m[m.ServerMisconfigured=6]="ServerMisconfigured";m[m.MissingBody=7]="MissingBody";m[m.ExtraBodyContent=8]="ExtraBodyContent";m[m.MissingParam=9]="MissingParam";m[m.InvalidParam=10]="InvalidParam";m[m.InvalidRequest=11]="InvalidRequest";m[m.InternalError=12]="InternalError";m[m.NotFound=13]="NotFound";m[m.InvalidMessage=14]="InvalidMessage";m[m.NoChange=15]="NoChange";m[m.DatabaseClosed=16]="DatabaseClosed";m[m.StorageError=17]="StorageError";m[m.DatabaseError=18]="DatabaseError";m[m.HashMismatch=19]="HashMismatch";m[m.DecryptionError=20]="DecryptionError";m[m.NotImplemented=21]="NotImplemented";m[m.MissingSeed=22]="MissingSeed";m[m.OutOfBounds=23]="OutOfBounds";m[m.HostError=24]="HostError";m[m.CommunicationError=25]="CommunicationError";m[m.VarLimitExceeded=26]="VarLimitExceeded";m[m.InvalidResponse=27]="InvalidResponse";m[m.ConnectionClosed=28]="ConnectionClosed";m[m.CryptoError=29]="CryptoError";m[m.WebAuthnError=30]="WebAuthnError"})(B||={});var sn="t";function h(e){return[e,0]}function a(e){return[void 0,e]}var gi=32,uc=Symbol("X25519Sk");function on(e){if(e.byteLength!==gi)return a(10);return h(e)}var P=(1n<<255n)-19n,bi=121665n,an=new Uint8Array(32);an[0]=9;function cn(e){let t=0n;for(let r=e.length-1;r>=0;r--)t=t<<8n|BigInt(e[r]);return t}function wi(e){let t=new Uint8Array(32),r=(e%P+P)%P;for(let n=0;n<32;n++)t[n]=Number(r&0xffn),r>>=8n;return t}function Si(e){let t=e.slice();return t[31]&=127,cn(t)}function Ii(e){let t=e.slice();return t[0]&=248,t[31]&=127,t[31]|=64,t}function ut(e,t,r){let n=-e,s=(t^r)&n;return[t^s,r^s]}function Ai(e){let t=P-2n,r=(e%P+P)%P,n=1n;while(t>0n){if(t&1n)n=n*r%P;r=r*r%P,t>>=1n}return n}function Gt(e,t){let r=Ii(e),n=Si(t),s=1n,i=0n,o=n,c=1n,u=0n,f=cn(r);for(let d=254;d>=0;d--){let l=f>>BigInt(d)&1n;u^=l,[s,o]=ut(u,s,o),[i,c]=ut(u,i,c),u=l;let p=(s+i)%P,y=p*p%P,g=(s-i+P)%P,x=g*g%P,b=(y-x+P)%P,I=(o+c)%P,U=(o-c+P)%P*p%P,S=I*g%P,C=(U+S)%P,k=(U-S+P)%P;o=C*C%P,c=n*k*k%P,s=y*x%P,i=b*(y+bi*b)%P}return[s,o]=ut(u,s,o),[i,c]=ut(u,i,c),r.fill(0),wi(s*Ai(i)%P)}function un(e){return Gt(e,an)}var jt=new Uint8Array([48,46,2,1,0,48,5,6,3,43,101,112,4,34,4,32]);function fn(e){let t=new Uint8Array(jt.length+32);return t.set(jt),t.set(e.subarray(0,32),jt.length),t}var Yt=new Uint8Array([48,46,2,1,0,48,5,6,3,43,101,110,4,34,4,32]);function dn(e){let t=new Uint8Array(Yt.length+32);return t.set(Yt),t.set(e.subarray(0,32),Yt.length),t}function ln(e){return typeof e==="string"?new TextEncoder().encode(e):e}function ye(e){let t=new ArrayBuffer(e.byteLength);return new Uint8Array(t).set(e),t}class Ae{verifyKeys=new Map;async genRandomBytes(e){return Ge(e)}async gen256BitSecureRandomSeed(){return Ge(32)}async encryptXSalsa20Poly1305Combined(e,t){let r=Ge(24),s=Nt(t,r).encrypt(e);return new Uint8Array([...r,...s])}async decryptXSalsa20Poly1305Combined(e,t){let r=e.slice(0,24),n=e.slice(24);return Nt(t,r).decrypt(n)}async deriveEd25519KeyPair(e){let t=e,r=fn(t),n=ye(r),s;try{let f=await globalThis.crypto.subtle.importKey("pkcs8",n,{name:"Ed25519"},!0,["sign"]);s=await globalThis.crypto.subtle.exportKey("jwk",f)}finally{r.fill(0),new Uint8Array(n).fill(0)}if(typeof s.x!=="string")throw Error("Ed25519 JWK missing x");let i=s.x;s.d=void 0;let o=await globalThis.crypto.subtle.importKey("jwk",{kty:"OKP",crv:"Ed25519",x:i},{name:"Ed25519"},!0,["verify"]),c=new Uint8Array(await globalThis.crypto.subtle.exportKey("raw",o));this.verifyKeys.set(te(c),o);let u=new Uint8Array(64);return u.set(t,0),u.set(c,32),{keyType:"ed25519",privateKey:u,publicKey:c}}async importSignKey(e){let t=e.subarray(0,32),r=fn(t),n=ye(r);try{return await globalThis.crypto.subtle.importKey("pkcs8",n,{name:"Ed25519"},!1,["sign"])}finally{r.fill(0),new Uint8Array(n).fill(0)}}async importVerifyKey(e){let t=te(e),r=this.verifyKeys.get(t);if(r)return r;let n=await globalThis.crypto.subtle.importKey("raw",ye(e),{name:"Ed25519"},!1,["verify"]);return this.verifyKeys.set(t,n),n}async signEd25519(e,t){let r=ln(e),n=await this.importSignKey(t),s=await globalThis.crypto.subtle.sign({name:"Ed25519"},n,ye(r));return new Uint8Array(s)}async checkSigEd25519(e,t,r){let n=ln(t);try{let s=await this.importVerifyKey(r);return await globalThis.crypto.subtle.verify({name:"Ed25519"},s,ye(e),ye(n))}catch{return!1}}async blake3(e){return Jr(e)}async genX25519(){let e=await Ge(32);e[0]&=248,e[31]&=127,e[31]|=64;let[t,r]=on(e);if(r!==0||t===void 0)throw e.fill(0),Error("X25519 scalar brand failed");let n=un(t),s=dn(t),i=ye(s);try{let o=await globalThis.crypto.subtle.importKey("pkcs8",i,{name:"X25519"},!0,["deriveBits"]),c=await globalThis.crypto.subtle.exportKey("jwk",o);if(typeof c.x!=="string")throw Error("X25519 JWK missing x");let u=Zr(c.x);if(c.d=void 0,!Me(u,n))throw Error("X25519 WebCrypto pub != RFC 7748");return{priv:t,pub:n}}catch(o){throw t.fill(0),o}finally{s.fill(0),new Uint8Array(i).fill(0)}}async x25519Shared(e,t){let r=dn(e),n=ye(r);try{let s=await globalThis.crypto.subtle.importKey("pkcs8",n,{name:"X25519"},!1,["deriveBits"]),i=await globalThis.crypto.subtle.importKey("raw",ye(t),{name:"X25519"},!1,[]),o=await globalThis.crypto.subtle.deriveBits({name:"X25519",public:i},s,256);return new Uint8Array(o)}catch{return Gt(e,t)}finally{r.fill(0),new Uint8Array(n).fill(0)}}}var Ei=new Ae,Ve=Ei;function Ui(e){if(e<0)console.info("N",e),console.trace();if(typeof e!=="bigint")e=BigInt(e);if(e<0n)return a(10);let t=[];while(e>0n){let r=Number(e&0x7fn);if(e>>=7n,e>0n)t.push(r|128);else t.push(r)}if(t.length===0)return h(new Uint8Array([0]));if(t.length>8)return a(26);return h(new Uint8Array(t))}function Bi(e,t=0){let r=0n,n=0,s=t;while(!0){if(s>=e.length)return a(14);let i=e[s++];if(i===void 0)return a(14);if(r|=BigInt(i&127)<<BigInt(n),(i&128)===0){if(s-t>8)return a(26);return h({value:r>0x1fffffffffffffn?r:Number(r),bytesRead:s-t})}if(n+=7,n>=56)return a(26)}}class X{data;pos=0;constructor(e){this.data=e}static async fromResponse(e){let t=await e.arrayBuffer(),r=new Uint8Array(t);return new X(r)}readBigInt(){if(this.pos+8>this.data.length)return a(7);let e=new DataView(this.data.buffer,this.data.byteOffset+this.pos).getBigUint64(0,!1);return this.pos+=8,h(e)}readDate(){let[e,t]=this.readVarInt();if(t!==0)return a(t);return h(new Date(e))}readVarInt(){let[e,t]=Bi(this.data,this.pos);if(t!==0)return a(t);this.pos+=e.bytesRead;let r=e.value;return h(typeof r==="bigint"?Number(r):r)}readVarString(){let[e,t]=this.readVarInt();if(t!==0)return a(t);let[r,n]=this.readBytes(e);if(n!==0)return a(n);let s=new TextDecoder().decode(r);return h(s)}readBytes(e){if(e<0)return a(10);if(this.pos+e>this.data.length)return a(23);let t=this.data.slice(this.pos,this.pos+e);return this.pos+=e,h(t)}readVarBytes(){let[e,t]=this.readVarInt();if(t!==0)return a(t);return this.readBytes(e)}readStruct(e){return e.decode(this)}readStructs(e){let t=[];while(!this.done()){let[r,n]=this.readStruct(e);if(n!==0)return a(n);t.push(r)}return h(t)}readBytesSeq(e){let t=[];while(!this.done()){let[r,n]=this.readBytes(e);if(n!==0)return a(n);t.push(r)}return h(t)}done(){return this.pos>=this.data.length}consumed(){return this.pos}}class T{parts=[];writeBigInt(e){let t=new Uint8Array(8);new DataView(t.buffer).setBigUint64(0,e,!1),this.parts.push(t)}writeDate(e){let t=e.getTime();return this.writeVarInt(t)}writeVarInt(e){let[t,r]=Ui(e);if(r!==0)return r;return this.parts.push(t),0}writeVarString(e){let t=new TextEncoder().encode(e),r=this.writeVarInt(t.length);if(r!==0)return r;return this.writeBytes(t),0}prependBytes(e){this.parts.unshift(e.slice())}writeBytes(e){this.parts.push(e.slice())}writeVarBytes(e){let t=this.writeVarInt(e.length);if(t!==0)return t;return this.writeBytes(e),0}writeStruct(e,t){return e.encode(this,t)}writeStructs(e,t){for(let r of t){let n=this.writeStruct(e,r);if(n!==0)return n}return 0}writeBytesSeq(e){for(let t of e)this.writeBytes(t)}result(){let e=this.parts.reduce((n,s)=>n+s.length,0),t=new Uint8Array(e),r=0;for(let n of this.parts)t.set(n,r),r+=n.length;return t}wipe(){for(let e of this.parts)e.fill(0);this.parts.length=0}*scan(){for(let e of this.parts)yield e}}var ft={encode(e,t){let r=e.writeVarBytes(t.id);if(r!==0)return r;let n=e.writeDate(t.ts);if(n!==0)return n;return 0},decode(e){let[t,r]=e.readVarBytes();if(r!==0)return a(r);let[n,s]=e.readDate();if(s!==0)return a(s);return h({id:t,ts:n})}};function hn(e){let t=new T,r=t.writeStruct(ft,e);if(r!==0)return a(r);let n=t.result();return h(n)}var Jt={encode(e,t){let r=e.writeVarBytes(t.eid);if(r!==0)return r;let n=e.writeVarInt(t.off);if(n!==0)return n;let s=e.writeVarInt(t.ctr);if(s!==0)return s;let i=e.writeVarInt(t.len);if(i!==0)return i;if(t.hsh)e.writeBytes(t.hsh);return 0},decode(e){let[t,r]=e.readVarBytes();if(r!==0)return a(r);let n=new X(t),[,s]=ft.decode(n);if(s!==0)return a(s);let[i,o]=e.readVarInt();if(o!==0)return a(o);let[c,u]=e.readVarInt();if(u!==0)return a(u);let[f,d]=e.readVarInt();if(d!==0)return a(d);let l;if(f>0){let[p,y]=e.readBytes(tn);if(y!==0)return a(y);l=p}return h({eid:t,off:i,ctr:c,len:f,hsh:l})}};function pn(e,t,r){return r.checkSigEd25519(e.sig,e.headCph,t)}async function yn(e,t,r,n){let s;if(e.bod&&e.len>0)s=await r.blake3(e.bod);let i=new T,o=Jt.encode(i,{...e,hsh:s});if(o!==0)return a(o);let c=i.result(),u=await t.kdmFor(c),f=n.deriveCipher(u,"encrypt"),d=await f.encrypt(c),l=e.bod?await f.encrypt(e.bod):new Uint8Array(0),p=await t.sign(d);return h({sig:p,kdm:u,headCph:d,bodyCph:l})}async function mn(e,t,r,n,s){let i=new X(e),[o,c]=Jt.decode(i);if(c!==0)return a(14);let u;try{u=t&&t.length>0?await r.decrypt(t):void 0}catch{return a(20)}let f=o.hsh&&u===void 0,d=o.hsh===void 0&&u!==void 0;if(f||d)return a(19);if(o.hsh&&u){let p=await n.blake3(u);if(!Me(p,o.hsh))return a(19)}let l=s??await n.blake3(e);return h({msgHead:o,bod:u,headHash:l})}async function Qt(e,t){let r=new T,n=r.writeDate(t);if(n!==0)return a(n);let s=r.result(),i=await e.sign(s);return h({pubKey:e.publicKey,sig:i,timestamp:t})}async function ne(e,t,r){let n=r.now().getTime(),s=e.timestamp.getTime();if(Math.abs(n-s)>rn)return 4;let o=new T;o.writeDate(e.timestamp);let c=o.result();if(!await t.checkSigEd25519(e.sig,c,e.pubKey))return 3;return 0}class Ne{now(){return new Date}}function xn(e,t,r,n){let s=t.getTime()-e.getTime(),i=r.getTime()-n.getTime();return(s+i)/2}var Qe={encode(e,t){if(e.writeVarInt(t.quota),t.quota>0){if(t.usage===void 0)return 9;e.writeVarInt(t.usage)}return 0},decode(e){let[t,r]=e.readVarInt();if(r!==0)return a(r);let n;if(t>0){let[s,i]=e.readVarInt();if(i!==0)return a(i);n=s}return h({quota:t,usage:n})}};var qe={encode(e,t){e.writeBytes(new Uint8Array([t.status]));let r=e.writeDate(t.timeRcvd);if(r!==0)return r;let n=e.writeDate(t.timeSent);if(n!==0)return n;let s=e.writeVarInt(t.subscription.term);if(s!==0)return s;let i=e.writeVarInt(t.subscription.elapsed);if(i!==0)return i;let o=e.writeStruct(Qe,t.subscription.stat);if(o!==0)return o;let c=e.writeStruct(Qe,t.subscription.dyn);if(c!==0)return c;return 0},decode(e){let[t,r]=e.readBytes(1);if(r!==0)return a(r);let n=t[0],[s,i]=e.readDate();if(i!==0)return a(i);let[o,c]=e.readDate();if(c!==0)return a(c);let[u,f]=e.readVarInt();if(f!==0)return a(f);let[d,l]=e.readVarInt();if(l!==0)return a(l);let[p,y]=e.readStruct(Qe);if(y!==0)return a(y);let[g,x]=e.readStruct(Qe);if(x!==0)return a(x);return h({status:n,timeRcvd:s,timeSent:o,subscription:{term:u,elapsed:d,stat:p,dyn:g}})}};var Zt={encode(e,t){let r=e.writeVarBytes(t.headCph);if(r!==0)return r;let n=e.writeVarInt(t.seq);if(n!==0)return n;return 0},decode(e){let[t,r]=e.readVarBytes();if(r!==0)return a(r);let[n,s]=e.readVarInt();if(s!==0)return a(s);return h({headCph:t,seq:n})}};var Y={encode(e,t){e.writeBytes(t.pubKey),e.writeBytes(t.sig);let r=e.writeDate(t.timestamp);if(r!==0)return r;return 0},decode(e){let[t,r]=e.readBytes(en);if(r!==0)return a(r);let[n,s]=e.readBytes(Ke);if(s!==0)return a(s);let[i,o]=e.readDate();if(o!==0)return a(o);return h({pubKey:t,sig:n,timestamp:i})}};var gn={async encodeReq(e,t,r,n,s){let i=s.writeStruct(Y,r);if(i!==0)return i;for(let o of n)s.writeVarInt(o);return 0},async handleReq(e,t,r){let{clock:n,crypto:s,storage:i}=e,[o,c]=t.readStruct(Y);if(c!==0)return c;let u=await ne(o,s,n);if(u!==0)return u;let{pubKey:f}=o,[d,l]=await i.hasUser(f);if(l!==0)return l;if(!d)return 5;let[p,y]=t.readVarInt();if(y!==0)return y;if(!t.done())return 8;let[g,x]=await i.listHeads(f,p);if(x!==0)return x;return r.writeStructs(Zt,g)},decodeResp(e){return e.readStructs(Zt)}};var er={encode(e,t){e.writeVarInt(t.seq);let r=e.writeVarBytes(t.bodyCph);if(r!==0)return r;return 0},decode(e){let[t,r]=e.readVarInt();if(r!==0)return a(r);let[n,s]=e.readVarBytes();if(s!==0)return a(s);return h({seq:t,bodyCph:n})}};var bn={async encodeReq(e,t,r,n,s){let i=s.writeStruct(Y,r);if(i!==0)return i;for(let o of n){let c=s.writeVarInt(o);if(c!==0)return c}return 0},async handleReq(e,t,r){let{clock:n,crypto:s,storage:i}=e,[o,c]=t.readStruct(Y);if(c!==0)return c;let u=await ne(o,s,n);if(u!==0)return u;let{pubKey:f}=o,[d,l]=await i.hasUser(f);if(l!==0)return l;if(!d)return 5;let p=[];while(!t.done()){let[x,b]=t.readVarInt();if(b!==0)return b;p.push(x)}console.info(`PULL: ${p.length} bags`);let[y,g]=await i.getBodies(f,p);if(g!==0)return g;if(!y)return 17;for(let{seq:x,bodyCph:b}of y){let I={seq:x,bodyCph:b},A=r.writeStruct(er,I);if(A!==0)return A}return 0},decodeResp(e){return e.readStructs(er)}};var tr={encode(e,t){e.writeBytes(t.sig),e.writeBytes(t.kdm);let r=e.writeVarBytes(t.headCph);if(r!==0)return r;let n=e.writeVarBytes(t.bodyCph);if(n!==0)return n;return 0},decode(e){let[t,r]=e.readBytes(Ke);if(r!==0)return a(r);let[n,s]=e.readBytes(Oe);if(s!==0)return a(s);let[i,o]=e.readVarBytes();if(o!==0)return a(o);let[c,u]=e.readVarBytes();if(u!==0)return a(u);return h({sig:t,kdm:n,headCph:i,bodyCph:c})}};var rr={encode(e,t){let r=e.writeVarInt(t.seq);if(r!==0)return r;let n=e.writeVarBytes(t.headCph);if(n!==0)return n;let s=t.bodyCph?t.bodyCph.length:0,i=e.writeVarInt(s);if(i!==0)return i;if(s>0){if(!t.bodyCph)return 10;e.writeBytes(t.bodyCph)}return 0},decode(e){let[t,r]=e.readVarInt();if(r!==0)return a(r);let[n,s]=e.readVarBytes();if(s!==0)return a(s);let[i,o]=e.readVarInt();if(o!==0)return a(o);let c;if(i>0){let[u,f]=e.readBytes(i);if(f!==0)return a(f);c=u}return h({seq:t,headCph:n,bodyCph:c})}};var Fe={encode(e,t){e.writeBytes(t.sig),e.writeBytes(t.kdm);let r=e.writeVarBytes(t.headCph);if(r!==0)return r;return 0},decode(e){let[t,r]=e.readBytes(Ke);if(r!==0)return a(r);let[n,s]=e.readBytes(Oe);if(s!==0)return a(s);let[i,o]=e.readVarBytes();if(o!==0)return a(o);return h({sig:t,kdm:n,headCph:i})}};var dt={encode(e,t){if(e.writeVarInt(t.idx),e.writeBytes(new Uint8Array([t.status])),t.status===0)e.writeVarInt(t.seq);return 0},decode(e){let[t,r]=e.readVarInt();if(r!==0)return a(r);let[n,s]=e.readBytes(1);if(s!==0)return a(s);let i=n[0];if(i!==0)return h({idx:t,status:i});let[o,c]=e.readVarInt();if(c!==0)return a(c);return h({idx:t,status:i,seq:o})}};var wn={async encodeReq(e,t,r,n,s){let i=s.writeStruct(Y,r);if(i!==0)return i;let o=s.writeStructs(tr,n);if(o!==0)return o;return 0},async handleReq(e,t,r){let{clock:n,crypto:s,storage:i,notifier:o}=e,[c,u]=t.readStruct(Y);if(u!==0)return u;let f=await ne(c,s,n);if(f!==0)return f;let{pubKey:d}=c,[l,p]=await i.hasUser(d);if(p!==0)return p;if(!l)return 5;let[y,g]=t.readStructs(tr);if(g!==0)return g;console.info(`PUSH: ${y.length} bags`);let x=[],b=[];for(let S=0;S<y.length;S++){let C=y[S];if(!await pn(C,d,s)){let F={idx:S,status:3},v=r.writeStruct(dt,F);if(v!==0)return v;continue}x.push(S),b.push(C)}let[I,A]=await i.setBags(d,b);if(A!==0)return A;if(!I||I.length!==b.length)return 17;let U=[];for(let S=0;S<b.length;S++){let C=b[S],k=x[S],F=I[S],v=new T,D=v.writeStruct(Fe,C);if(D!==0)return D;let R=v.result(),L={seq:F,headCph:R};if(y.length===1&&C.bodyCph.length<=nn)L.bodyCph=C.bodyCph;U.push(L);let H={idx:k,status:0,seq:F},m=r.writeStruct(dt,H);if(m!==0)return m}if(U.length>0){let S=new T,C=S.writeStructs(rr,U);if(C!==0)return C;let k=S.result();await Promise.resolve(o.push(d,k))}return 0},decodeResp(e){return e.readStructs(dt)}};var Sn={async encodeReq(e,t,r,n,s){return s.writeStruct(Y,r)},async handleReq(e,t,r){let{clock:n,crypto:s,storage:i}=e,[o,c]=t.readStruct(Y);if(c!==0)return c;let u=await ne(o,s,n);if(u!==0)return u;let{pubKey:f}=o;if(!t.done())return 8;let[d,l]=await i.addUser(f);if(l!==0)return l;return 0},decodeResp(e){return h(void 0)}};class nr{url;websocket;constructor(e){this.url=e}connected(){return this.websocket!==void 0&&this.websocket.readyState===WebSocket.OPEN}async connect(e,t,r=()=>{},n=()=>{}){let{url:s}=this;if(this.websocket)this.websocket.close(),this.websocket=void 0;let i=new T;i.writeStruct(Y,e);let o=i.result(),c=te(o);return s.searchParams.set("t",c),this.websocket=new WebSocket(s),this.websocket.binaryType="arraybuffer",this.websocket.onopen=()=>{console.log("CONNECTED"),n()},this.websocket.onclose=()=>{console.log("DISCONNECTED"),this.websocket=void 0,r()},this.websocket.onmessage=(u)=>{let f=new Uint8Array(u.data);t(f)},this.websocket.onerror=(u)=>{console.log(`ERROR: ${JSON.stringify(u)}`),this.websocket=void 0,r()},Promise.resolve(0)}disconnect(){this.websocket?.close(),this.websocket=void 0}}var z={user:{path:"/user",endpoint:Sn,name:0},push:{path:"/push",endpoint:wn,name:2},peek:{path:"/peek",endpoint:gn,name:1},pull:{path:"/pull",endpoint:bn,name:3}},Ci={0:z.user,2:z.push,1:z.peek,3:z.pull},In={[z.user.path]:z.user,[z.push.path]:z.push,[z.peek.path]:z.peek,[z.pull.path]:z.pull};class An{url;listener;constructor(e){this.url=e;this.listener=new nr(e)}async call(e,t){let{path:r}=Ci[e],n=new URL(r,this.url);try{return await Ti(n,t)}catch{return a(25)}}}var sr=(e)=>new An(e.handle);function We(e){let t=new T;if(t.writeStruct(qe,e)!==0)return new Response(null,{status:500});return ir(t)}function ir(e){let t=e.result().slice();return new Response(t,{status:200,headers:{"content-type":"application/octet-stream"}})}var Pi={"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET,POST,OPTIONS"};function or(e){return new Response(e.body,{headers:{...e.headers,...Pi},status:e.status,statusText:e.statusText})}async function Ti(e,t){let r=await fetch(e,{method:"POST",body:t.result().slice()});if(!r.ok)return a(24);let n=await X.fromResponse(r);return h(n)}class lt{enclave;crypto;host;clock;transport;updateHostMeta;constructor(e,t,r,n,s,i){this.enclave=e;this.crypto=t;this.host=r;this.clock=n;this.transport=s;this.updateHostMeta=i}async call(e,t){let{clock:r,transport:n}=this,{endpoint:s,name:i}=e,o=await this.identity(),c=r.now(),[u,f]=await Qt(o,c);if(f!==0)return a(f);let d=new T,l=await s.encodeReq(this,o,u,t,d);if(l!==0)return a(l);let p=r.now(),[y,g]=await n.call(i,d),x=r.now();if(g!==0)return a(g);let[b,I]=y.readStruct(qe);if(I!==0)return a(I);if(b.status!==0)return a(b.status);let U={clockOffset:xn(p,b.timeRcvd,b.timeSent,x),subscription:b.subscription},S=await this.updateHostMeta(U);if(S!==0)return a(S);return s.decodeResp(y)}identity=()=>{let{host:e,enclave:t}=this;return t.deriveIdentity(e.label,e.idx??0)};seal=async(e)=>{let{crypto:t,enclave:r}=this,n=await this.identity();return yn(e,n,t,r)};register=()=>this.call(z.user,[]);peek=(e)=>this.call(z.peek,[e]);push=(e)=>this.call(z.push,e);pull=(e)=>this.call(z.pull,e);listen=async(e,t,r)=>{let{clock:n,transport:s}=this,{listener:i}=s,o=await this.identity(),c=n.now(),[u,f]=await Qt(o,c);if(f!==0)return f;return await i.connect(u,e,t,r)};isConnected(){let e=this.transport?.listener;if(e&&typeof e.connected==="function")return e.connected();return!0}closeListener(){this.transport?.listener?.disconnect()}}var ht={encode(e,t){let r=e.writeVarString(t.handle);if(r!==0)return r;let n=e.writeVarString(t.label);if(n!==0)return n;return e.writeVarInt(t.idx??0)},decode(e){let[t,r]=e.readVarString();if(r!==0)return a(r);let[n,s]=e.readVarString();if(s!==0)return a(s);let[i,o]=e.readVarInt();if(o!==0)return a(o);return h({handle:t,label:n,idx:i})}};var ar={encode(e,t){let r=e.writeVarInt(t.hosts.length);if(r!==0)return r;for(let n of t.hosts){let s=e.writeStruct(ht,n);if(s!==0)return s}return 0},decode(e){let[t,r]=e.readVarInt();if(r!==0)return a(r);if(t===void 0||t<0)return a(10);let n=[];for(let s=0;s<t;s++){let[i,o]=e.readStruct(ht);if(o!==0)return a(o);if(i===void 0)return a(14);n.push(i)}return h({hosts:n})}};var Of=Symbol("MasterSeed"),Vf=Symbol("SealedMasterKey"),ae=32,En=24+ae+16;function pt(e){if(e.byteLength!==En)return a(10);return h(e)}var vi=new TextEncoder().encode("diplomatic.qrpair.v1"),Ze=32,ki=Ze+24+16,_i=32,$f=Symbol("DHKEReq"),Gf=Symbol("DHKEResp");function Un(e){if(e.byteLength!==Ze)return a(10);return h(e)}function Bn(e){if(e.byteLength<ki)return a(10);return h(e)}var yt=new Ae;async function cr(e,t,r,n){let s;try{s=await yt.x25519Shared(e,t)}catch{return a(29)}try{if(s.byteLength!==Ze||s.every((c)=>c===0))return a(10);let i=oe(s,vi),o=oe(i,oe(r,n));try{let c=await yt.blake3(o);return h(c.slice(0,_i))}finally{i.fill(0),o.fill(0)}}finally{s.fill(0)}}class mt{#e;#t;constructor(e,t){this.#e=e,this.#t=t}static async create(){let e;try{let t=await yt.genX25519();e=t.priv;let[r,n]=Un(t.pub);if(n!==0)return a(n);if(r===void 0)return a(10);let s=new mt(e,r);return e=void 0,h(s)}catch{return a(29)}finally{e?.fill(0)}}wipe(){this.#e.fill(0)}get dhkeReq(){let[e,t]=Un(this.#t.slice());if(e===void 0)throw Error(`dhkeReq ${t}`);return e}async finish(e){let t=e.subarray(0,Ze),r=e.subarray(Ze),[n,s]=await cr(this.#e,t,this.#t,t);if(s!==0)return a(s);if(n===void 0)return a(12);let i;try{try{i=await yt.decryptXSalsa20Poly1305Combined(r,n)}catch{return a(20)}let[o,c]=re.fromPairPlain(i);if(c!==0)return a(c);if(o===void 0)return a(12);return this.wipe(),h(o)}finally{n.fill(0),i?.fill(0)}}}function me(e){let t=new Uint8Array(e);if(e>0)crypto.getRandomValues(t);return t}var Ee=32,xt="DIPLOMATIC",ce="public-key",Di=-7,Li=-8,Ri=-257,gt=[{type:ce,alg:Di},{type:ce,alg:Li},{type:ce,alg:Ri}];function Hi(e){return e.trim().toLowerCase().replace(/\.$/,"")||"localhost"}function be(e){let t=new Uint8Array(e.byteLength);return t.set(e),t.buffer}function bt(e){if(e instanceof ArrayBuffer)return new Uint8Array(e).slice();return new Uint8Array(e.buffer,e.byteOffset,e.byteLength).slice()}function Ue(e){if(e?.rpId!==void 0)return h(e.rpId);if(typeof location>"u")return a(9);return h(Hi(location.hostname))}var Cn="";function we(e){if(e instanceof Error){Cn=e.message===""?e.name:`${e.name}: ${e.message}`;return}Cn=String(e)}function wt(e){if(!(e instanceof Error))return!1;return e.name==="NotAllowedError"&&e.message.toLowerCase().includes("does not have focus")}function Pn(){if(typeof document>"u")return!0;return document.visibilityState!=="hidden"}function Xe(){if(typeof globalThis.focus!=="function")return;try{globalThis.focus()}catch{}}function St(e=2500){if(Pn())return Xe(),Promise.resolve();return new Promise((t)=>{let r=()=>{clearTimeout(s),document.removeEventListener("visibilitychange",n),Xe(),t()},n=()=>{if(Pn())r()},s=setTimeout(r,e);document.addEventListener("visibilitychange",n),n()})}async function It(e){await St();try{return await navigator.credentials.create(e)}catch(t){if(!wt(t))throw t;return Xe(),await navigator.credentials.create(e)}}async function At(e){await St();try{return await navigator.credentials.get(e)}catch(t){if(!wt(t))throw t;return Xe(),await navigator.credentials.get(e)}}function Be(){if(typeof navigator>"u"||!navigator.credentials||typeof PublicKeyCredential>"u")return 24;return 0}function Ce(e){if(e===null||e.type!==ce||!("rawId"in e)||typeof e.getClientExtensionResults!=="function")return a(27);return h(e)}function fr(e){if(e==="platform"||e==="cross-platform")return e;return}function dr(e){let t=e.response;if(!("getTransports"in t))return;let r=t.getTransports;if(typeof r!=="function")return;let n=r.call(t);if(!Array.isArray(n))return;let s=[];for(let i of n)if(typeof i==="string"&&i.length>0)s.push(i);return s.length===0?void 0:s}var Mi=32,Ki=64,ur=37,Tn=16;function vn(e){let t=e.response;if(!("getAuthenticatorData"in t))return;let r=t.getAuthenticatorData;if(typeof r!=="function")return;let n=r.call(t);if(!(n instanceof ArrayBuffer))return;let s=new Uint8Array(n);if(s.byteLength<ur+Tn)return;let i=s[Mi];if(i===void 0||(i&Ki)===0)return;return s.slice(ur,ur+Tn)}async function kn(e){let t=Be();if(t!==0)return a(t);let[r,n]=Ue(e);if(n!==0)return a(n);if(r===void 0)return a(9);let s=e?.userName??e?.rpName??r,i={residentKey:"required",requireResidentKey:!0,userVerification:"required"};if(e?.authenticatorAttachment!==void 0)i.authenticatorAttachment=e.authenticatorAttachment;let o={largeBlob:{support:"required"}},c;try{c=await It({publicKey:{challenge:me(Ee),rp:{id:r,name:e?.rpName??xt},user:{id:me(16),name:s,displayName:s},pubKeyCredParams:gt,authenticatorSelection:i,extensions:o,...e?.hints!==void 0?{hints:e.hints}:{}}})}catch(l){return we(l),a(30)}let[u,f]=Ce(c);if(f!==0)return a(f);if(u===void 0)return a(27);if(u.getClientExtensionResults().largeBlob?.supported!==!0)return a(30);return h(new Uint8Array(u.rawId))}async function lr(e,t,r,n){let s={challenge:me(Ee),rpId:e,userVerification:"preferred"};if(t?.hints!==void 0)s.hints=t.hints;if(r!==void 0)s.allowCredentials=[{type:ce,id:be(r)}];if(n!==void 0)s.extensions=n;let i;try{i=await At({publicKey:s})}catch(u){return we(u),a(30)}let[o,c]=Ce(i);if(c!==0)return a(c);if(o===void 0)return a(27);return h(o)}async function _n(e,t){let r=Be();if(r!==0)return a(r);let[n,s]=Ue(t);if(s!==0)return a(s);if(n===void 0)return a(9);let i=e;if(i===void 0){let[l,p]=await lr(n,t);if(p!==0&&t?.hints!==void 0)[l,p]=await lr(n,{rpId:t.rpId,rpName:t.rpName});if(p!==0)return a(p);if(l===void 0)return a(27);i=new Uint8Array(l.rawId)}let[o,c]=await lr(n,t,i,{largeBlob:{read:!0}});if(c!==0)return a(c);if(o===void 0)return a(27);let f=o.getClientExtensionResults().largeBlob;if(f===void 0||f.blob===void 0)return a(7);let d=bt(f.blob);if(d.byteLength===0)return a(7);return h({blob:d,credId:new Uint8Array(o.rawId)})}var hr=new TextEncoder().encode("diplomatic.prf.v1"),pr="diplomatic-prf";var Et="";var Bt=typeof globalThis.Worker==="function"?globalThis.Worker:void 0,yr=Bt===void 0?void 0:Bt.prototype.postMessage,Ut;function Vi(){if(typeof Et!=="string"||Et.length===0)throw Error("[DIPLOMATIC] worker source not embedded; run pkg build before spawn");return atob(Et)}function Ni(){if(Ut!==void 0)return Ut;let e=new Blob([Vi()],{type:"text/javascript"});return Ut=URL.createObjectURL(e),Ut}function Dn(){if(Bt===void 0)throw Error("[DIPLOMATIC] Worker API unavailable; cannot spawn sync worker");return new Bt(Ni(),{type:"module"})}function Ln(e,t,r){if(yr===void 0)throw Error("[DIPLOMATIC] Worker API unavailable; cannot post to sync worker");if(r!==void 0&&r.length>0)yr.call(e,t,{transfer:r});else yr.call(e,t)}var qi=new TextEncoder().encode("diplomatic.bind.v1"),mr=new TextEncoder().encode("diplomatic.bindtag.v1"),Fi=32,Wi=32,Xi=16,zi=32,Z=new Ae;function $i(e){return e.map((t)=>({handle:t.handle,label:t.label,idx:t.idx??0}))}function Rn(e){if(e.byteLength===0||e.every((c)=>c===0))return a(22);if(e.byteLength<ae+1)return a(14);let t=e.subarray(0,ae);if(t.every((c)=>c===0))return a(22);let r=new X(e.subarray(ae)),[n,s]=r.readStruct(ar);if(s!==0)return a(s);if(n===void 0)return a(14);if(!r.done())return a(14);let[i,o]=re.fromBytes(t);if(o!==0)return a(o);if(i===void 0)return a(12);return h({enclave:i,hosts:n.hosts.map((c)=>({...c}))})}async function Hn(e,t,r){let n=Be();if(n!==0)return n;let[s,i]=Ue(r);if(i!==0)return i;if(s===void 0)return 9;await St();let o=new Uint8Array(t.byteLength);o.set(t);let c={largeBlob:{write:o.buffer}},u={publicKey:{challenge:me(Ee),rpId:s,allowCredentials:[{type:ce,id:be(e)}],userVerification:"required",extensions:c,...r?.hints!==void 0?{hints:r.hints}:{}}},f;try{try{f=await navigator.credentials.get(u)}catch(y){if(!wt(y))throw y;Xe(),f=await navigator.credentials.get(u)}}catch(y){return we(y),30}finally{o.fill(0)}let[d,l]=Ce(f);if(l!==0)return l;if(d===void 0)return 27;if(d.getClientExtensionResults().largeBlob?.written!==!0)return 30;return 0}var xr=32;function Gi(e){if(e===void 0)return[];if(e instanceof Uint8Array)return[e];return e.filter((t)=>t.byteLength>0)}function ji(e){if(!(e instanceof Error))return!1;return e.name==="NotSupportedError"||e.name==="TypeError"}function On(e){if(e===void 0)return;let t=bt(e);if(t.byteLength<xr){t.fill(0);return}if(t.byteLength===xr)return t;let r=t.slice(0,xr);return t.fill(0),r}async function Yi(e){let t=Be();if(t!==0)return a(t);let[r,n]=Ue(e);if(n!==0)return a(n);if(r===void 0)return a(9);let s=e?.userName??pr,i=e?.displayName??s,o=me(16),c=e?.authenticatorAttachment==="cross-platform",u={residentKey:c?"discouraged":"required",requireResidentKey:!c,userVerification:c?"preferred":"required"};if(e?.authenticatorAttachment!==void 0)u.authenticatorAttachment=e.authenticatorAttachment;let f={challenge:me(Ee),rp:{id:r,name:e?.rpName??xt},user:{id:o,name:s,displayName:i},pubKeyCredParams:gt,authenticatorSelection:u,...e?.hints!==void 0?{hints:e.hints}:{},...e?.excludeCredentials!==void 0&&e.excludeCredentials.length>0?{excludeCredentials:e.excludeCredentials.map((A)=>({type:ce,id:be(A)}))}:{}},d=e?.salt!==void 0?be(e.salt):void 0,l=(A)=>It({publicKey:{...f,extensions:A&&d!==void 0?{prf:{eval:{first:d}}}:{prf:{}}}}),p;try{p=await l(d!==void 0)}catch(A){if(d===void 0||!ji(A))return we(A),a(30);try{p=await l(!1)}catch(U){return we(U),a(30)}}let[y,g]=Ce(p);if(g!==0)return a(g);if(y===void 0)return a(27);let x=y.getClientExtensionResults(),b=On(x.prf?.results?.first),I=x.prf?.enabled===!0||b!==void 0;if(c&&b!==void 0)b.fill(0);return h({credId:new Uint8Array(y.rawId),userId:new Uint8Array(o),prfEnabled:I,prf:c?void 0:b,attachment:fr(y.authenticatorAttachment),transports:dr(y),aaguid:vn(y)})}async function Mn(e){let t=Be();if(t!==0)return a(t);let[r,n]=Ue(e);if(n!==0)return a(n);if(r===void 0)return a(9);let s=e?.salt??hr,i=be(s),o={challenge:me(Ee),rpId:r,userVerification:"preferred",extensions:{prf:{eval:{first:i}}}};if(e?.hints!==void 0)o.hints=e.hints;let c=Gi(e?.credId);if(c.length>0)o.allowCredentials=c.map((y)=>({type:ce,id:be(y)}));let u;try{u=await At({publicKey:o})}catch(y){return we(y),a(30)}let[f,d]=Ce(u);if(d!==0)return a(d);if(f===void 0)return a(27);let l=f.getClientExtensionResults().prf?.results;if(l?.first===void 0)return a(7);let p=On(l.first);if(p===void 0)return a(27);return h({prf:p,credId:new Uint8Array(f.rawId),attachment:fr(f.authenticatorAttachment),transports:dr(f)})}function gr(e){if(e.byteLength!==ae)return a(10);return[e,0]}class re{#e;constructor(e){this.#e=e}static async fromRandom(e){if(e.byteLength<zi)return a(10);let t=await Z.gen256BitSecureRandomSeed(),r=oe(t,e);try{let n=await Z.blake3(r),[s,i]=gr(n);if(i!==0)return a(i);if(s===void 0)return a(12);return h(new re(s))}finally{t.fill(0),r.fill(0),e.fill(0)}}static fromBytes(e){let[t,r]=gr(e);if(r!==0)return a(r);if(t===void 0)return a(10);let[n,s]=gr(t.slice());if(s!==0)return a(s);if(n===void 0)return a(10);return h(new re(n))}async sealWithPasskey(e){let t=e?.salt??hr,r=e?.credId,n=r,s=e?.createCredIfNeeded===!0&&(r===void 0||!(r instanceof Uint8Array)&&r.length===0),i,o;if(s){let[d,l]=await Yi({rpId:e?.rpId,rpName:e?.rpName,userName:e?.userName??pr,displayName:e?.displayName,authenticatorAttachment:e?.authenticatorAttachment,hints:e?.hints,excludeCredentials:e?.excludeCredentials,salt:t});if(l!==0)return a(l);if(d===void 0)return a(30);if(!d.prfEnabled)return a(30);n=d.credId,i=d,o=d.prf}let c=async(d,l,p,y)=>{try{let[g,x]=await this.#s(d);if(x!==0)return a(x);if(g===void 0)return a(12);return h({sealedMaster:g,salt:t.slice(),credId:l.slice(),userId:i?.userId===void 0?void 0:i.userId.slice(),attachment:p??i?.attachment,transports:y??i?.transports,aaguid:i?.aaguid===void 0?void 0:i.aaguid.slice()})}finally{d.fill(0)}};if(o!==void 0&&i!==void 0)return c(o,i.credId,i.attachment,i.transports);let[u,f]=await Mn({rpId:e?.rpId,rpName:e?.rpName,credId:n,salt:t,hints:e?.hints});if(f!==0)return a(f);if(u===void 0)return a(7);return c(u.prf,u.credId,u.attachment,u.transports)}async bind(e,t){if(t!==void 0){for(let i of t)if(!await this.#a(i.credId,i.tag))return a(10)}let[r,n]=await this.sealWithPasskey(e);if(n!==0)return a(n);if(r===void 0)return a(12);let s=await this.#t(r.credId);return h({...r,tag:s})}static async unsealWithPasskey(e,t){if(e.length===0)return a(22);let r=[];for(let c of e)if(c.credId.byteLength>0)r.push(c.credId);let[n,s]=await Mn({rpId:t.rpId,rpName:t.rpName,hints:t.hints,credId:r.length>0?r:void 0,salt:t.salt});if(s!==0)return a(s);if(n===void 0)return a(7);let i=e.find((c)=>Me(c.credId,n.credId)),o=i===void 0?e:[i,...e.filter((c)=>c!==i)];try{for(let c of o){let[u]=await re.#i(c.sealedMaster,n.prf);if(u!==void 0)return h({enclave:u,credId:n.credId.slice()})}return a(20)}finally{n.prf.fill(0)}}async sealWithIkm(e){try{return await this.#s(e)}finally{e.fill(0)}}static async unsealWithIkm(e,t){try{return await re.#i(e,t)}finally{t.fill(0)}}async persistToLargeBlob(e=[],t){let r=t?.credId;if(r===void 0){let[i,o]=await kn(t);if(o!==0)return a(o);if(i===void 0)return a(30);r=i}let[n,s]=this.#o(e);if(s!==0)return a(s);if(n===void 0)return a(12);try{let i=await Hn(r,n,t);if(i!==0)return a(i);return h(r)}finally{n.fill(0)}}static async fromLargeBlob(e){let[t,r]=await _n(e?.credId,e);if(r!==0)return a(r);if(t===void 0)return a(7);try{let[n,s]=Rn(t.blob);if(s!==0)return a(s);if(n===void 0)return a(12);return h({...n,credId:t.credId})}finally{t.blob.fill(0)}}static async clearLargeBlob(e,t){return Hn(e,new Uint8Array(ae),t)}static fromPairPlain(e){return Rn(e)}static pairRequest(){return mt.create()}async pairAccept(e,t){let r;try{r=await Z.genX25519()}catch{return a(29)}try{let[n,s]=await cr(r.priv,e,e,r.pub);if(s!==0)return a(s);if(n===void 0)return a(12);try{let[i,o]=this.#o(t);if(o!==0)return a(o);if(i===void 0)return a(12);try{let c=await Z.encryptXSalsa20Poly1305Combined(i,n);return Bn(oe(r.pub,c))}catch{return a(12)}finally{i.fill(0)}}finally{n.fill(0)}}finally{r.priv.fill(0)}}spawnSyncWorker(e){let t=Dn(),r=this.#e.slice();return Ln(t,{id:e.id,op:"setSeed",seed:r,persist:e.persist},[r.buffer]),t}deriveCipher(e,t){let r=e.slice(),n=(o)=>this.#c(r,o),s=(o)=>this.#u(r,o);return{encrypt:Object.freeze({encrypt:n}),decrypt:Object.freeze({decrypt:s}),both:Object.freeze({encrypt:n,decrypt:s})}[t]}async deriveIdentity(e,t=0){let r=e,n=t,s=await this.#n(r,n),i=s.publicKey;return s.privateKey.fill(0),Object.freeze({publicKey:i,sign:(o)=>this.#d(r,n,o),kdmFor:(o)=>this.#l(r,n,o)})}async#t(e){let t=new Uint8Array(this.#e.byteLength+mr.byteLength+e.byteLength);t.set(this.#e,0),t.set(mr,this.#e.byteLength),t.set(e,this.#e.byteLength+mr.byteLength);try{return await Z.blake3(t)}finally{t.fill(0)}}async#a(e,t){if(t.byteLength!==Fi)return!1;let r=await this.#t(e);try{if(r.byteLength!==t.byteLength)return!1;let n=0;for(let s=0;s<r.byteLength;s++){let i=r[s],o=t[s];if(i===void 0||o===void 0)return!1;n|=i^o}return n===0}finally{r.fill(0)}}async#s(e){let[t,r]=await Kn(Z,e);if(r!==0)return a(r);if(t===void 0)return a(12);try{let n=await Z.encryptXSalsa20Poly1305Combined(this.#e,t);return pt(n)}catch{return a(12)}finally{t.fill(0)}}static async#i(e,t){let[,r]=pt(e);if(r!==0)return a(r);let[n,s]=await Kn(Z,t);if(s!==0)return a(s);if(n===void 0)return a(12);let i;try{try{i=await Z.decryptXSalsa20Poly1305Combined(e,n)}catch{return a(20)}return re.fromBytes(i)}finally{n.fill(0),i?.fill(0)}}#o(e){let t=new T,r=t.writeStruct(ar,{hosts:$i(e)});if(r!==0)return a(r);let n=t.result(),s=new Uint8Array(ae+n.byteLength);return s.set(this.#e,0),s.set(n,ae),[s,0]}async#c(e,t){let r=await this.#r(e);try{return await Z.encryptXSalsa20Poly1305Combined(t,r)}finally{r.fill(0)}}async#u(e,t){let r=await this.#r(e);try{return await Z.decryptXSalsa20Poly1305Combined(t,r)}finally{r.fill(0)}}async#r(e){let t=new Uint8Array(this.#e.byteLength+e.byteLength);t.set(this.#e,0),t.set(e,this.#e.byteLength);try{return await Z.blake3(t)}finally{t.fill(0)}}async#f(e,t){let r=new TextEncoder().encode(e),n=new Uint8Array(8);return new DataView(n.buffer).setBigUint64(0,BigInt(t),!1),await this.#r(oe(r,n))}async#n(e,t){let r=await this.#f(e,t);try{return await Z.deriveEd25519KeyPair(r)}finally{r.fill(0)}}async#d(e,t,r){let n=await this.#n(e,t);try{return await Z.signEd25519(r,n.privateKey)}finally{n.privateKey.fill(0)}}async#l(e,t,r){let n=await this.#n(e,t),s=oe(n.privateKey,r);n.privateKey.fill(0);try{return(await Z.blake3(s)).slice(0,Oe)}finally{s.fill(0)}}}async function Kn(e,t,r=qi){if(t.byteLength<Xi)return a(10);let n=await e.blake3(oe(t,r));return h(n.slice(0,Wi))}var Ji=new Set(["constructor","prototype","length","name"]);function Vn(e){for(let t of Object.getOwnPropertyNames(e)){if(Ji.has(t))continue;let r=Object.getOwnPropertyDescriptor(e,t);if(r===void 0||typeof r.value!=="function")continue;Object.defineProperty(e,t,{value:r.value,writable:!1,configurable:!1})}}Vn(re);Vn(re.prototype);async function Nn(e,t,r,n=0){let s=t.now(),i=new T,o=i.writeVarString(e);if(o!==0)return a(o);let u={id:i.result(),ts:new Date(0)},[f,d]=hn(u);if(d!==0)return a(d);let l=s.getTime()-u.ts.getTime();return h({eid:f,off:l,ctr:n,len:r.length,bod:r})}async function qn(e,t,r,n){let s=new X(e.headCph),[i,o]=s.readStruct(Fe);if(o!==0)return a(o);let{sig:c,kdm:u,headCph:f}=i;if(!await n.checkSigEd25519(c,f,t))return a(3);let l=r.deriveCipher(u,"decrypt"),p;try{p=await l.decrypt(f)}catch{return a(20)}return h({kdm:u,headEnc:p})}var $e=ri(Fs(),1),xa={encode:$e.encode,decode:$e.decode,decodeAsync:$e.decodeAsync},ga=xa;import{Database as ba}from"bun:sqlite";var bl=Symbol("EntityID");var wl=Symbol("DerivationSeed"),Sl=Symbol("PublicKey"),Il=Symbol("PrivateKey"),Al=Symbol("HostSpecificKeyPair"),El=Symbol("Hash"),ge={term:0,elapsed:0,stat:{quota:0},dyn:{quota:0}};function wa(e="diplomatic.db"){let t=new ba(e);return t.exec("PRAGMA journal_mode=WAL;"),t.exec("PRAGMA synchronous=NORMAL;"),t.exec(`
1
+ var js=Object.create;var{getPrototypeOf:Ys,defineProperty:Dr,getOwnPropertyNames:Js}=Object;var Qs=Object.prototype.hasOwnProperty;function Zs(e){return this[e]}var ei,ti,ri=(e,t,r)=>{var n=e!=null&&typeof e==="object";if(n){var s=t?ei??=new WeakMap:ti??=new WeakMap,i=s.get(e);if(i)return i}r=e!=null?js(Ys(e)):{};let o=t||!e||!e.__esModule?Dr(r,"default",{value:e,enumerable:!0}):r;if(e&&typeof e==="object"||typeof e==="function"){for(let c of Js(e))if(!Qs.call(o,c))Dr(o,c,{get:Zs.bind(e,c),enumerable:!0})}if(n)s.set(e,o);return o};var j=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Ct=j(function($n){Object.defineProperty($n,"__esModule",{value:!0});$n.utf8Count=Qi;$n.utf8EncodeJs=Fn;$n.utf8EncodeTE=Wn;$n.utf8Encode=to;$n.utf8DecodeJs=Xn;$n.utf8DecodeTD=zn;$n.utf8Decode=io;function Qi(e){let t=e.length,r=0,n=0;while(n<t){let s=e.charCodeAt(n++);if((s&4294967168)===0){r++;continue}else if((s&4294965248)===0)r+=2;else{if(s>=55296&&s<=56319){if(n<t){let i=e.charCodeAt(n);if((i&64512)===56320)++n,s=((s&1023)<<10)+(i&1023)+65536}}if((s&4294901760)===0)r+=3;else r+=4}}return r}function Fn(e,t,r){let n=e.length,s=r,i=0;while(i<n){let o=e.charCodeAt(i++);if((o&4294967168)===0){t[s++]=o;continue}else if((o&4294965248)===0)t[s++]=o>>6&31|192;else{if(o>=55296&&o<=56319){if(i<n){let c=e.charCodeAt(i);if((c&64512)===56320)++i,o=((o&1023)<<10)+(c&1023)+65536}}if((o&4294901760)===0)t[s++]=o>>12&15|224,t[s++]=o>>6&63|128;else t[s++]=o>>18&7|240,t[s++]=o>>12&63|128,t[s++]=o>>6&63|128}t[s++]=o&63|128}}var Zi=new TextEncoder,eo=50;function Wn(e,t,r){Zi.encodeInto(e,t.subarray(r))}function to(e,t,r){if(e.length>eo)Wn(e,t,r);else Fn(e,t,r)}var ro=4096;function Xn(e,t,r){let n=t,s=n+r,i=[],o="";while(n<s){let c=e[n++];if((c&128)===0)i.push(c);else if((c&224)===192){let u=e[n++]&63;i.push((c&31)<<6|u)}else if((c&240)===224){let u=e[n++]&63,f=e[n++]&63;i.push((c&31)<<12|u<<6|f)}else if((c&248)===240){let u=e[n++]&63,f=e[n++]&63,d=e[n++]&63,l=(c&7)<<18|u<<12|f<<6|d;if(l>65535)l-=65536,i.push(l>>>10&1023|55296),l=56320|l&1023;i.push(l)}else i.push(c);if(i.length>=ro)o+=String.fromCharCode(...i),i.length=0}if(i.length>0)o+=String.fromCharCode(...i);return o}var no=new TextDecoder,so=200;function zn(e,t,r){let n=e.subarray(t,t+r);return no.decode(n)}function io(e,t,r){if(r>so)return zn(e,t,r);else return Xn(e,t,r)}});var br=j(function(jn){Object.defineProperty(jn,"__esModule",{value:!0});jn.ExtData=void 0;class Gn{type;data;constructor(e,t){this.type=e,this.data=t}}jn.ExtData=Gn});var Tt=j(function(Jn){Object.defineProperty(Jn,"__esModule",{value:!0});Jn.DecodeError=void 0;class Pt extends Error{constructor(e){super(e);let t=Object.create(Pt.prototype);Object.setPrototypeOf(this,t),Object.defineProperty(this,"name",{configurable:!0,enumerable:!1,value:Pt.name})}}Jn.DecodeError=Pt});var vt=j(function(Zn){Object.defineProperty(Zn,"__esModule",{value:!0});Zn.UINT32_MAX=void 0;Zn.setUint64=po;Zn.setInt64=yo;Zn.getInt64=mo;Zn.getUint64=xo;Zn.UINT32_MAX=4294967295;function po(e,t,r){let n=r/4294967296,s=r;e.setUint32(t,n),e.setUint32(t+4,s)}function yo(e,t,r){let n=Math.floor(r/4294967296),s=r;e.setUint32(t,n),e.setUint32(t+4,s)}function mo(e,t){let r=e.getInt32(t),n=e.getUint32(t+4);return r*4294967296+n}function xo(e,t){let r=e.getUint32(t),n=e.getUint32(t+4);return r*4294967296+n}});var wr=j(function(as){Object.defineProperty(as,"__esModule",{value:!0});as.timestampExtension=as.EXT_TIMESTAMP=void 0;as.encodeTimeSpecToTimestamp=rs;as.encodeDateToTimeSpec=ns;as.encodeTimestampExtension=ss;as.decodeTimestampToTimeSpec=is;as.decodeTimestampExtension=os;var Io=Tt(),ts=vt();as.EXT_TIMESTAMP=-1;var Ao=4294967295,Eo=17179869183;function rs({sec:e,nsec:t}){if(e>=0&&t>=0&&e<=Eo)if(t===0&&e<=Ao){let r=new Uint8Array(4);return new DataView(r.buffer).setUint32(0,e),r}else{let r=e/4294967296,n=e&4294967295,s=new Uint8Array(8),i=new DataView(s.buffer);return i.setUint32(0,t<<2|r&3),i.setUint32(4,n),s}else{let r=new Uint8Array(12),n=new DataView(r.buffer);return n.setUint32(0,t),(0,ts.setInt64)(n,4,e),r}}function ns(e){let t=e.getTime(),r=Math.floor(t/1000),n=(t-r*1000)*1e6,s=Math.floor(n/1e9);return{sec:r+s,nsec:n-s*1e9}}function ss(e){if(e instanceof Date){let t=ns(e);return rs(t)}else return null}function is(e){let t=new DataView(e.buffer,e.byteOffset,e.byteLength);switch(e.byteLength){case 4:{let r=t.getUint32(0),n=0;return{sec:r,nsec:0}}case 8:{let r=t.getUint32(0),n=t.getUint32(4),s=(r&3)*4294967296+n,i=r>>>2;return{sec:s,nsec:i}}case 12:{let r=(0,ts.getInt64)(t,4),n=t.getUint32(0);return{sec:r,nsec:n}}default:throw new Io.DecodeError(`Unrecognized data size for timestamp (expected 4, 8, or 12): ${e.length}`)}}function os(e){let t=is(e);return new Date(t.sec*1000+t.nsec/1e6)}as.timestampExtension={type:as.EXT_TIMESTAMP,encode:ss,decode:os}});var _t=j(function(fs){Object.defineProperty(fs,"__esModule",{value:!0});fs.ExtensionCodec=void 0;var kt=br(),vo=wr();class Sr{static defaultCodec=new Sr;__brand;builtInEncoders=[];builtInDecoders=[];encoders=[];decoders=[];constructor(){this.register(vo.timestampExtension)}register({type:e,encode:t,decode:r}){if(e>=0)this.encoders[e]=t,this.decoders[e]=r;else{let n=-1-e;this.builtInEncoders[n]=t,this.builtInDecoders[n]=r}}tryToEncode(e,t){for(let r=0;r<this.builtInEncoders.length;r++){let n=this.builtInEncoders[r];if(n!=null){let s=n(e,t);if(s!=null){let i=-1-r;return new kt.ExtData(i,s)}}}for(let r=0;r<this.encoders.length;r++){let n=this.encoders[r];if(n!=null){let s=n(e,t);if(s!=null){let i=r;return new kt.ExtData(i,s)}}}if(e instanceof kt.ExtData)return e;return null}decode(e,t,r){let n=t<0?this.builtInDecoders[-1-t]:this.decoders[t];if(n)return n(e,t,r);else return new kt.ExtData(t,e)}}fs.ExtensionCodec=Sr});var Ir=j(function(ls){Object.defineProperty(ls,"__esModule",{value:!0});ls.ensureUint8Array=_o;function ko(e){return e instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&e instanceof SharedArrayBuffer}function _o(e){if(e instanceof Uint8Array)return e;else if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);else if(ko(e))return new Uint8Array(e);else return Uint8Array.from(e)}});var Er=j(function(ys){Object.defineProperty(ys,"__esModule",{value:!0});ys.Encoder=ys.DEFAULT_INITIAL_BUFFER_SIZE=ys.DEFAULT_MAX_DEPTH=void 0;var hs=Ct(),Lo=_t(),ps=vt(),Ro=Ir();ys.DEFAULT_MAX_DEPTH=100;ys.DEFAULT_INITIAL_BUFFER_SIZE=2048;class Ar{extensionCodec;context;useBigInt64;maxDepth;initialBufferSize;sortKeys;forceFloat32;ignoreUndefined;forceIntegerToFloat;pos;view;bytes;entered=!1;constructor(e){this.extensionCodec=e?.extensionCodec??Lo.ExtensionCodec.defaultCodec,this.context=e?.context,this.useBigInt64=e?.useBigInt64??!1,this.maxDepth=e?.maxDepth??ys.DEFAULT_MAX_DEPTH,this.initialBufferSize=e?.initialBufferSize??ys.DEFAULT_INITIAL_BUFFER_SIZE,this.sortKeys=e?.sortKeys??!1,this.forceFloat32=e?.forceFloat32??!1,this.ignoreUndefined=e?.ignoreUndefined??!1,this.forceIntegerToFloat=e?.forceIntegerToFloat??!1,this.pos=0,this.view=new DataView(new ArrayBuffer(this.initialBufferSize)),this.bytes=new Uint8Array(this.view.buffer)}clone(){return new Ar({extensionCodec:this.extensionCodec,context:this.context,useBigInt64:this.useBigInt64,maxDepth:this.maxDepth,initialBufferSize:this.initialBufferSize,sortKeys:this.sortKeys,forceFloat32:this.forceFloat32,ignoreUndefined:this.ignoreUndefined,forceIntegerToFloat:this.forceIntegerToFloat})}reinitializeState(){this.pos=0}encodeSharedRef(e){if(this.entered)return this.clone().encodeSharedRef(e);try{return this.entered=!0,this.reinitializeState(),this.doEncode(e,1),this.bytes.subarray(0,this.pos)}finally{this.entered=!1}}encode(e){if(this.entered)return this.clone().encode(e);try{return this.entered=!0,this.reinitializeState(),this.doEncode(e,1),this.bytes.slice(0,this.pos)}finally{this.entered=!1}}doEncode(e,t){if(t>this.maxDepth)throw Error(`Too deep objects in depth ${t}`);if(e==null)this.encodeNil();else if(typeof e==="boolean")this.encodeBoolean(e);else if(typeof e==="number")if(!this.forceIntegerToFloat)this.encodeNumber(e);else this.encodeNumberAsFloat(e);else if(typeof e==="string")this.encodeString(e);else if(this.useBigInt64&&typeof e==="bigint")this.encodeBigInt64(e);else this.encodeObject(e,t)}ensureBufferSizeToWrite(e){let t=this.pos+e;if(this.view.byteLength<t)this.resizeBuffer(t*2)}resizeBuffer(e){let t=new ArrayBuffer(e),r=new Uint8Array(t),n=new DataView(t);r.set(this.bytes),this.view=n,this.bytes=r}encodeNil(){this.writeU8(192)}encodeBoolean(e){if(e===!1)this.writeU8(194);else this.writeU8(195)}encodeNumber(e){if(!this.forceIntegerToFloat&&Number.isSafeInteger(e))if(e>=0)if(e<128)this.writeU8(e);else if(e<256)this.writeU8(204),this.writeU8(e);else if(e<65536)this.writeU8(205),this.writeU16(e);else if(e<4294967296)this.writeU8(206),this.writeU32(e);else if(!this.useBigInt64)this.writeU8(207),this.writeU64(e);else this.encodeNumberAsFloat(e);else if(e>=-32)this.writeU8(224|e+32);else if(e>=-128)this.writeU8(208),this.writeI8(e);else if(e>=-32768)this.writeU8(209),this.writeI16(e);else if(e>=-2147483648)this.writeU8(210),this.writeI32(e);else if(!this.useBigInt64)this.writeU8(211),this.writeI64(e);else this.encodeNumberAsFloat(e);else this.encodeNumberAsFloat(e)}encodeNumberAsFloat(e){if(this.forceFloat32)this.writeU8(202),this.writeF32(e);else this.writeU8(203),this.writeF64(e)}encodeBigInt64(e){if(e>=BigInt(0))this.writeU8(207),this.writeBigUint64(e);else this.writeU8(211),this.writeBigInt64(e)}writeStringHeader(e){if(e<32)this.writeU8(160+e);else if(e<256)this.writeU8(217),this.writeU8(e);else if(e<65536)this.writeU8(218),this.writeU16(e);else if(e<4294967296)this.writeU8(219),this.writeU32(e);else throw Error(`Too long string: ${e} bytes in UTF-8`)}encodeString(e){let r=(0,hs.utf8Count)(e);this.ensureBufferSizeToWrite(5+r),this.writeStringHeader(r),(0,hs.utf8Encode)(e,this.bytes,this.pos),this.pos+=r}encodeObject(e,t){let r=this.extensionCodec.tryToEncode(e,this.context);if(r!=null)this.encodeExtension(r);else if(Array.isArray(e))this.encodeArray(e,t);else if(ArrayBuffer.isView(e))this.encodeBinary(e);else if(typeof e==="object")this.encodeMap(e,t);else throw Error(`Unrecognized object: ${Object.prototype.toString.apply(e)}`)}encodeBinary(e){let t=e.byteLength;if(t<256)this.writeU8(196),this.writeU8(t);else if(t<65536)this.writeU8(197),this.writeU16(t);else if(t<4294967296)this.writeU8(198),this.writeU32(t);else throw Error(`Too large binary: ${t}`);let r=(0,Ro.ensureUint8Array)(e);this.writeU8a(r)}encodeArray(e,t){let r=e.length;if(r<16)this.writeU8(144+r);else if(r<65536)this.writeU8(220),this.writeU16(r);else if(r<4294967296)this.writeU8(221),this.writeU32(r);else throw Error(`Too large array: ${r}`);for(let n of e)this.doEncode(n,t+1)}countWithoutUndefined(e,t){let r=0;for(let n of t)if(e[n]!==void 0)r++;return r}encodeMap(e,t){let r=Object.keys(e);if(this.sortKeys)r.sort();let n=this.ignoreUndefined?this.countWithoutUndefined(e,r):r.length;if(n<16)this.writeU8(128+n);else if(n<65536)this.writeU8(222),this.writeU16(n);else if(n<4294967296)this.writeU8(223),this.writeU32(n);else throw Error(`Too large map object: ${n}`);for(let s of r){let i=e[s];if(!(this.ignoreUndefined&&i===void 0))this.encodeString(s),this.doEncode(i,t+1)}}encodeExtension(e){if(typeof e.data==="function"){let r=e.data(this.pos+6),n=r.length;if(n>=4294967296)throw Error(`Too large extension object: ${n}`);this.writeU8(201),this.writeU32(n),this.writeI8(e.type),this.writeU8a(r);return}let t=e.data.length;if(t===1)this.writeU8(212);else if(t===2)this.writeU8(213);else if(t===4)this.writeU8(214);else if(t===8)this.writeU8(215);else if(t===16)this.writeU8(216);else if(t<256)this.writeU8(199),this.writeU8(t);else if(t<65536)this.writeU8(200),this.writeU16(t);else if(t<4294967296)this.writeU8(201),this.writeU32(t);else throw Error(`Too large extension object: ${t}`);this.writeI8(e.type),this.writeU8a(e.data)}writeU8(e){this.ensureBufferSizeToWrite(1),this.view.setUint8(this.pos,e),this.pos++}writeU8a(e){let t=e.length;this.ensureBufferSizeToWrite(t),this.bytes.set(e,this.pos),this.pos+=t}writeI8(e){this.ensureBufferSizeToWrite(1),this.view.setInt8(this.pos,e),this.pos++}writeU16(e){this.ensureBufferSizeToWrite(2),this.view.setUint16(this.pos,e),this.pos+=2}writeI16(e){this.ensureBufferSizeToWrite(2),this.view.setInt16(this.pos,e),this.pos+=2}writeU32(e){this.ensureBufferSizeToWrite(4),this.view.setUint32(this.pos,e),this.pos+=4}writeI32(e){this.ensureBufferSizeToWrite(4),this.view.setInt32(this.pos,e),this.pos+=4}writeF32(e){this.ensureBufferSizeToWrite(4),this.view.setFloat32(this.pos,e),this.pos+=4}writeF64(e){this.ensureBufferSizeToWrite(8),this.view.setFloat64(this.pos,e),this.pos+=8}writeU64(e){this.ensureBufferSizeToWrite(8),(0,ps.setUint64)(this.view,this.pos,e),this.pos+=8}writeI64(e){this.ensureBufferSizeToWrite(8),(0,ps.setInt64)(this.view,this.pos,e),this.pos+=8}writeBigUint64(e){this.ensureBufferSizeToWrite(8),this.view.setBigUint64(this.pos,e),this.pos+=8}writeBigInt64(e){this.ensureBufferSizeToWrite(8),this.view.setBigInt64(this.pos,e),this.pos+=8}}ys.Encoder=Ar});var ws=j(function(bs){Object.defineProperty(bs,"__esModule",{value:!0});bs.encode=Mo;var Ho=Er();function Mo(e,t){return new Ho.Encoder(t).encodeSharedRef(e)}});var Is=j(function(Ss){Object.defineProperty(Ss,"__esModule",{value:!0});Ss.prettyByte=Oo;function Oo(e){return`${e<0?"-":""}0x${Math.abs(e).toString(16).padStart(2,"0")}`}});var Bs=j(function(Es){Object.defineProperty(Es,"__esModule",{value:!0});Es.CachedKeyDecoder=void 0;var No=Ct(),qo=16,Fo=16;class As{hit=0;miss=0;caches;maxKeyLength;maxLengthPerKey;constructor(e=qo,t=Fo){this.maxKeyLength=e,this.maxLengthPerKey=t,this.caches=[];for(let r=0;r<this.maxKeyLength;r++)this.caches.push([])}canBeCached(e){return e>0&&e<=this.maxKeyLength}find(e,t,r){let n=this.caches[r-1];e:for(let s of n){let i=s.bytes;for(let o=0;o<r;o++)if(i[o]!==e[t+o])continue e;return s.str}return null}store(e,t){let r=this.caches[e.length-1],n={bytes:e,str:t};if(r.length>=this.maxLengthPerKey)r[Math.random()*r.length|0]=n;else r.push(n)}decode(e,t,r){let n=this.find(e,t,r);if(n!=null)return this.hit++,n;this.miss++;let s=(0,No.utf8DecodeJs)(e,t,r),i=Uint8Array.prototype.slice.call(e,t,t+r);return this.store(i,s),s}}Es.CachedKeyDecoder=As});var Dt=j(function(ks){Object.defineProperty(ks,"__esModule",{value:!0});ks.Decoder=void 0;var Ur=Is(),Wo=_t(),Pe=vt(),Xo=Ct(),Cs=Ir(),zo=Bs(),xe=Tt(),Br="array",tt="map_key",Ts="map_value",$o=(e)=>{if(typeof e==="string"||typeof e==="number")return e;throw new xe.DecodeError("The type of key must be string or number but "+typeof e)};class vs{stack=[];stackHeadPosition=-1;get length(){return this.stackHeadPosition+1}top(){return this.stack[this.stackHeadPosition]}pushArrayState(e){let t=this.getUninitializedStateFromPool();t.type=Br,t.position=0,t.size=e,t.array=Array(e)}pushMapState(e){let t=this.getUninitializedStateFromPool();t.type=tt,t.readCount=0,t.size=e,t.map={}}getUninitializedStateFromPool(){if(this.stackHeadPosition++,this.stackHeadPosition===this.stack.length){let e={type:void 0,size:0,array:void 0,position:0,readCount:0,map:void 0,key:null};this.stack.push(e)}return this.stack[this.stackHeadPosition]}release(e){if(this.stack[this.stackHeadPosition]!==e)throw Error("Invalid stack state. Released state is not on top of the stack.");if(e.type===Br){let r=e;r.size=0,r.array=void 0,r.position=0,r.type=void 0}if(e.type===tt||e.type===Ts){let r=e;r.size=0,r.map=void 0,r.readCount=0,r.type=void 0}this.stackHeadPosition--}reset(){this.stack.length=0,this.stackHeadPosition=-1}}var et=-1,Cr=new DataView(new ArrayBuffer(0)),Go=new Uint8Array(Cr.buffer);try{Cr.getInt8(0)}catch(e){if(!(e instanceof RangeError))throw Error("This module is not supported in the current JavaScript engine because DataView does not throw RangeError on out-of-bounds access")}var Ps=RangeError("Insufficient data"),jo=new zo.CachedKeyDecoder;class Pr{extensionCodec;context;useBigInt64;rawStrings;maxStrLength;maxBinLength;maxArrayLength;maxMapLength;maxExtLength;keyDecoder;mapKeyConverter;totalPos=0;pos=0;view=Cr;bytes=Go;headByte=et;stack=new vs;entered=!1;constructor(e){this.extensionCodec=e?.extensionCodec??Wo.ExtensionCodec.defaultCodec,this.context=e?.context,this.useBigInt64=e?.useBigInt64??!1,this.rawStrings=e?.rawStrings??!1,this.maxStrLength=e?.maxStrLength??Pe.UINT32_MAX,this.maxBinLength=e?.maxBinLength??Pe.UINT32_MAX,this.maxArrayLength=e?.maxArrayLength??Pe.UINT32_MAX,this.maxMapLength=e?.maxMapLength??Pe.UINT32_MAX,this.maxExtLength=e?.maxExtLength??Pe.UINT32_MAX,this.keyDecoder=e?.keyDecoder!==void 0?e.keyDecoder:jo,this.mapKeyConverter=e?.mapKeyConverter??$o}clone(){return new Pr({extensionCodec:this.extensionCodec,context:this.context,useBigInt64:this.useBigInt64,rawStrings:this.rawStrings,maxStrLength:this.maxStrLength,maxBinLength:this.maxBinLength,maxArrayLength:this.maxArrayLength,maxMapLength:this.maxMapLength,maxExtLength:this.maxExtLength,keyDecoder:this.keyDecoder})}reinitializeState(){this.totalPos=0,this.headByte=et,this.stack.reset()}setBuffer(e){let t=(0,Cs.ensureUint8Array)(e);this.bytes=t,this.view=new DataView(t.buffer,t.byteOffset,t.byteLength),this.pos=0}appendBuffer(e){if(this.headByte===et&&!this.hasRemaining(1))this.setBuffer(e);else{let t=this.bytes.subarray(this.pos),r=(0,Cs.ensureUint8Array)(e),n=new Uint8Array(t.length+r.length);n.set(t),n.set(r,t.length),this.setBuffer(n)}}hasRemaining(e){return this.view.byteLength-this.pos>=e}createExtraByteError(e){let{view:t,pos:r}=this;return RangeError(`Extra ${t.byteLength-r} of ${t.byteLength} byte(s) found at buffer[${e}]`)}decode(e){if(this.entered)return this.clone().decode(e);try{this.entered=!0,this.reinitializeState(),this.setBuffer(e);let t=this.doDecodeSync();if(this.hasRemaining(1))throw this.createExtraByteError(this.pos);return t}finally{this.entered=!1}}*decodeMulti(e){if(this.entered){yield*this.clone().decodeMulti(e);return}try{this.entered=!0,this.reinitializeState(),this.setBuffer(e);while(this.hasRemaining(1))yield this.doDecodeSync()}finally{this.entered=!1}}async decodeAsync(e){if(this.entered)return this.clone().decodeAsync(e);try{this.entered=!0;let t=!1,r;for await(let o of e){if(t)throw this.entered=!1,this.createExtraByteError(this.totalPos);this.appendBuffer(o);try{r=this.doDecodeSync(),t=!0}catch(c){if(!(c instanceof RangeError))throw c}this.totalPos+=this.pos}if(t){if(this.hasRemaining(1))throw this.createExtraByteError(this.totalPos);return r}let{headByte:n,pos:s,totalPos:i}=this;throw RangeError(`Insufficient data in parsing ${(0,Ur.prettyByte)(n)} at ${i} (${s} in the current buffer)`)}finally{this.entered=!1}}decodeArrayStream(e){return this.decodeMultiAsync(e,!0)}decodeStream(e){return this.decodeMultiAsync(e,!1)}async*decodeMultiAsync(e,t){if(this.entered){yield*this.clone().decodeMultiAsync(e,t);return}try{this.entered=!0;let r=t,n=-1;for await(let s of e){if(t&&n===0)throw this.createExtraByteError(this.totalPos);if(this.appendBuffer(s),r)n=this.readArraySize(),r=!1,this.complete();try{while(!0)if(yield this.doDecodeSync(),--n===0)break}catch(i){if(!(i instanceof RangeError))throw i}this.totalPos+=this.pos}}finally{this.entered=!1}}doDecodeSync(){e:while(!0){let e=this.readHeadByte(),t;if(e>=224)t=e-256;else if(e<192)if(e<128)t=e;else if(e<144){let n=e-128;if(n!==0){this.pushMapState(n),this.complete();continue e}else t={}}else if(e<160){let n=e-144;if(n!==0){this.pushArrayState(n),this.complete();continue e}else t=[]}else{let n=e-160;t=this.decodeString(n,0)}else if(e===192)t=null;else if(e===194)t=!1;else if(e===195)t=!0;else if(e===202)t=this.readF32();else if(e===203)t=this.readF64();else if(e===204)t=this.readU8();else if(e===205)t=this.readU16();else if(e===206)t=this.readU32();else if(e===207)if(this.useBigInt64)t=this.readU64AsBigInt();else t=this.readU64();else if(e===208)t=this.readI8();else if(e===209)t=this.readI16();else if(e===210)t=this.readI32();else if(e===211)if(this.useBigInt64)t=this.readI64AsBigInt();else t=this.readI64();else if(e===217){let n=this.lookU8();t=this.decodeString(n,1)}else if(e===218){let n=this.lookU16();t=this.decodeString(n,2)}else if(e===219){let n=this.lookU32();t=this.decodeString(n,4)}else if(e===220){let n=this.readU16();if(n!==0){this.pushArrayState(n),this.complete();continue e}else t=[]}else if(e===221){let n=this.readU32();if(n!==0){this.pushArrayState(n),this.complete();continue e}else t=[]}else if(e===222){let n=this.readU16();if(n!==0){this.pushMapState(n),this.complete();continue e}else t={}}else if(e===223){let n=this.readU32();if(n!==0){this.pushMapState(n),this.complete();continue e}else t={}}else if(e===196){let n=this.lookU8();t=this.decodeBinary(n,1)}else if(e===197){let n=this.lookU16();t=this.decodeBinary(n,2)}else if(e===198){let n=this.lookU32();t=this.decodeBinary(n,4)}else if(e===212)t=this.decodeExtension(1,0);else if(e===213)t=this.decodeExtension(2,0);else if(e===214)t=this.decodeExtension(4,0);else if(e===215)t=this.decodeExtension(8,0);else if(e===216)t=this.decodeExtension(16,0);else if(e===199){let n=this.lookU8();t=this.decodeExtension(n,1)}else if(e===200){let n=this.lookU16();t=this.decodeExtension(n,2)}else if(e===201){let n=this.lookU32();t=this.decodeExtension(n,4)}else throw new xe.DecodeError(`Unrecognized type byte: ${(0,Ur.prettyByte)(e)}`);this.complete();let r=this.stack;while(r.length>0){let n=r.top();if(n.type===Br)if(n.array[n.position]=t,n.position++,n.position===n.size)t=n.array,r.release(n);else continue e;else if(n.type===tt){if(t==="__proto__")throw new xe.DecodeError("The key __proto__ is not allowed");n.key=this.mapKeyConverter(t),n.type=Ts;continue e}else if(n.map[n.key]=t,n.readCount++,n.readCount===n.size)t=n.map,r.release(n);else{n.key=null,n.type=tt;continue e}}return t}}readHeadByte(){if(this.headByte===et)this.headByte=this.readU8();return this.headByte}complete(){this.headByte=et}readArraySize(){let e=this.readHeadByte();switch(e){case 220:return this.readU16();case 221:return this.readU32();default:if(e<160)return e-144;else throw new xe.DecodeError(`Unrecognized array type byte: ${(0,Ur.prettyByte)(e)}`)}}pushMapState(e){if(e>this.maxMapLength)throw new xe.DecodeError(`Max length exceeded: map length (${e}) > maxMapLengthLength (${this.maxMapLength})`);this.stack.pushMapState(e)}pushArrayState(e){if(e>this.maxArrayLength)throw new xe.DecodeError(`Max length exceeded: array length (${e}) > maxArrayLength (${this.maxArrayLength})`);this.stack.pushArrayState(e)}decodeString(e,t){if(!this.rawStrings||this.stateIsMapKey())return this.decodeUtf8String(e,t);return this.decodeBinary(e,t)}decodeUtf8String(e,t){if(e>this.maxStrLength)throw new xe.DecodeError(`Max length exceeded: UTF-8 byte length (${e}) > maxStrLength (${this.maxStrLength})`);if(this.bytes.byteLength<this.pos+t+e)throw Ps;let r=this.pos+t,n;if(this.stateIsMapKey()&&this.keyDecoder?.canBeCached(e))n=this.keyDecoder.decode(this.bytes,r,e);else n=(0,Xo.utf8Decode)(this.bytes,r,e);return this.pos+=t+e,n}stateIsMapKey(){if(this.stack.length>0)return this.stack.top().type===tt;return!1}decodeBinary(e,t){if(e>this.maxBinLength)throw new xe.DecodeError(`Max length exceeded: bin length (${e}) > maxBinLength (${this.maxBinLength})`);if(!this.hasRemaining(e+t))throw Ps;let r=this.pos+t,n=this.bytes.subarray(r,r+e);return this.pos+=t+e,n}decodeExtension(e,t){if(e>this.maxExtLength)throw new xe.DecodeError(`Max length exceeded: ext length (${e}) > maxExtLength (${this.maxExtLength})`);let r=this.view.getInt8(this.pos+t),n=this.decodeBinary(e,t+1);return this.extensionCodec.decode(n,r,this.context)}lookU8(){return this.view.getUint8(this.pos)}lookU16(){return this.view.getUint16(this.pos)}lookU32(){return this.view.getUint32(this.pos)}readU8(){let e=this.view.getUint8(this.pos);return this.pos++,e}readI8(){let e=this.view.getInt8(this.pos);return this.pos++,e}readU16(){let e=this.view.getUint16(this.pos);return this.pos+=2,e}readI16(){let e=this.view.getInt16(this.pos);return this.pos+=2,e}readU32(){let e=this.view.getUint32(this.pos);return this.pos+=4,e}readI32(){let e=this.view.getInt32(this.pos);return this.pos+=4,e}readU64(){let e=(0,Pe.getUint64)(this.view,this.pos);return this.pos+=8,e}readI64(){let e=(0,Pe.getInt64)(this.view,this.pos);return this.pos+=8,e}readU64AsBigInt(){let e=this.view.getBigUint64(this.pos);return this.pos+=8,e}readI64AsBigInt(){let e=this.view.getBigInt64(this.pos);return this.pos+=8,e}readF32(){let e=this.view.getFloat32(this.pos);return this.pos+=4,e}readF64(){let e=this.view.getFloat64(this.pos);return this.pos+=8,e}}ks.Decoder=Pr});var Rs=j(function(Ls){Object.defineProperty(Ls,"__esModule",{value:!0});Ls.decode=Yo;Ls.decodeMulti=Jo;var Ds=Dt();function Yo(e,t){return new Ds.Decoder(t).decode(e)}function Jo(e,t){return new Ds.Decoder(t).decodeMulti(e)}});var Os=j(function(Ks){Object.defineProperty(Ks,"__esModule",{value:!0});Ks.isAsyncIterable=Hs;Ks.asyncIterableFromStream=Ms;Ks.ensureAsyncIterable=ea;function Hs(e){return e[Symbol.asyncIterator]!=null}async function*Ms(e){let t=e.getReader();try{while(!0){let{done:r,value:n}=await t.read();if(r)return;yield n}}finally{t.releaseLock()}}function ea(e){if(Hs(e))return e;else return Ms(e)}});var Ns=j(function(Vs){Object.defineProperty(Vs,"__esModule",{value:!0});Vs.decodeAsync=sa;Vs.decodeArrayStream=ia;Vs.decodeMultiStream=oa;var Tr=Dt(),vr=Os();async function sa(e,t){let r=(0,vr.ensureAsyncIterable)(e);return new Tr.Decoder(t).decodeAsync(r)}function ia(e,t){let r=(0,vr.ensureAsyncIterable)(e);return new Tr.Decoder(t).decodeArrayStream(r)}function oa(e,t){let r=(0,vr.ensureAsyncIterable)(e);return new Tr.Decoder(t).decodeStream(r)}});var Fs=j(function(M){Object.defineProperty(M,"__esModule",{value:!0});M.decodeTimestampExtension=M.encodeTimestampExtension=M.decodeTimestampToTimeSpec=M.encodeTimeSpecToTimestamp=M.encodeDateToTimeSpec=M.EXT_TIMESTAMP=M.ExtData=M.ExtensionCodec=M.Encoder=M.DecodeError=M.Decoder=M.decodeMultiStream=M.decodeArrayStream=M.decodeAsync=M.decodeMulti=M.decode=M.encode=void 0;var fa=ws();Object.defineProperty(M,"encode",{enumerable:!0,get:function(){return fa.encode}});var qs=Rs();Object.defineProperty(M,"decode",{enumerable:!0,get:function(){return qs.decode}});Object.defineProperty(M,"decodeMulti",{enumerable:!0,get:function(){return qs.decodeMulti}});var kr=Ns();Object.defineProperty(M,"decodeAsync",{enumerable:!0,get:function(){return kr.decodeAsync}});Object.defineProperty(M,"decodeArrayStream",{enumerable:!0,get:function(){return kr.decodeArrayStream}});Object.defineProperty(M,"decodeMultiStream",{enumerable:!0,get:function(){return kr.decodeMultiStream}});var da=Dt();Object.defineProperty(M,"Decoder",{enumerable:!0,get:function(){return da.Decoder}});var la=Tt();Object.defineProperty(M,"DecodeError",{enumerable:!0,get:function(){return la.DecodeError}});var ha=Er();Object.defineProperty(M,"Encoder",{enumerable:!0,get:function(){return ha.Encoder}});var pa=_t();Object.defineProperty(M,"ExtensionCodec",{enumerable:!0,get:function(){return pa.ExtensionCodec}});var ya=br();Object.defineProperty(M,"ExtData",{enumerable:!0,get:function(){return ya.ExtData}});var ze=wr();Object.defineProperty(M,"EXT_TIMESTAMP",{enumerable:!0,get:function(){return ze.EXT_TIMESTAMP}});Object.defineProperty(M,"encodeDateToTimeSpec",{enumerable:!0,get:function(){return ze.encodeDateToTimeSpec}});Object.defineProperty(M,"encodeTimeSpecToTimestamp",{enumerable:!0,get:function(){return ze.encodeTimeSpecToTimestamp}});Object.defineProperty(M,"decodeTimestampToTimeSpec",{enumerable:!0,get:function(){return ze.decodeTimestampToTimeSpec}});Object.defineProperty(M,"encodeTimestampExtension",{enumerable:!0,get:function(){return ze.encodeTimestampExtension}});Object.defineProperty(M,"decodeTimestampExtension",{enumerable:!0,get:function(){return ze.decodeTimestampExtension}})});import*as fe from"node:crypto";var Se=fe&&typeof fe==="object"&&"webcrypto"in fe?fe.webcrypto:fe&&typeof fe==="object"&&("randomBytes"in fe)?fe:void 0;function rt(e){if(!Number.isSafeInteger(e)||e<0)throw Error("positive integer expected, got "+e)}function Lt(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function q(e,...t){if(!Lt(e))throw Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw Error("Uint8Array expected of length "+t+", got length="+e.length)}function Rt(e,t=!0){if(e.destroyed)throw Error("Hash instance has been destroyed");if(t&&e.finished)throw Error("Hash#digest() has already been called")}function Lr(e,t){q(e);let r=t.outputLen;if(e.length<r)throw Error("digestInto() expects output buffer of length at least "+r)}function Ht(e){if(typeof e!=="boolean")throw Error(`boolean expected, not ${e}`)}/*! noble-ciphers - MIT License (c) 2023 Paul Miller (paulmillr.com) */var de=(e)=>new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4));var ni=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!ni)throw Error("Non little-endian hardware is not supported");function si(e){if(typeof e!=="string")throw Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function nt(e){if(typeof e==="string")e=si(e);else if(Lt(e))e=st(e);else throw Error("Uint8Array expected, got "+typeof e);return e}function Rr(e,t){if(t==null||typeof t!=="object")throw Error("options must be defined");return Object.assign(e,t)}function Hr(e,t){if(e.length!==t.length)return!1;let r=0;for(let n=0;n<e.length;n++)r|=e[n]^t[n];return r===0}var Mr=(e,t)=>{function r(n,...s){if(q(n),e.nonceLength!==void 0){let d=s[0];if(!d)throw Error("nonce / iv required");if(e.varSizeNonce)q(d);else q(d,e.nonceLength)}let i=e.tagLength;if(i&&s[1]!==void 0)q(s[1]);let o=t(n,...s),c=(d,l)=>{if(l!==void 0){if(d!==2)throw Error("cipher output not supported");q(l)}},u=!1;return{encrypt(d,l){if(u)throw Error("cannot encrypt() twice with same key + nonce");return u=!0,q(d),c(o.encrypt.length,l),o.encrypt(d,l)},decrypt(d,l){if(q(d),i&&d.length<i)throw Error("invalid ciphertext length: smaller than tagLength="+i);return c(o.decrypt.length,l),o.decrypt(d,l)}}}return Object.assign(r,e),r};function Mt(e,t,r=!0){if(t===void 0)return new Uint8Array(e);if(t.length!==e)throw Error("invalid output length, expected "+e+", got: "+t.length);if(r&&!ii(t))throw Error("invalid output, must be aligned");return t}function ii(e){return e.byteOffset%4===0}function st(e){return Uint8Array.from(e)}function se(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function Ge(e=32){if(Se&&typeof Se.getRandomValues==="function")return Se.getRandomValues(new Uint8Array(e));if(Se&&typeof Se.randomBytes==="function")return Se.randomBytes(e);throw Error("crypto.getRandomValues must be defined")}var Or=(e)=>Uint8Array.from(e.split("").map((t)=>t.charCodeAt(0))),oi=Or("expand 16-byte k"),ai=Or("expand 32-byte k"),ci=de(oi),ui=de(ai);function w(e,t){return e<<t|e>>>32-t}function Kt(e){return e.byteOffset%4===0}var it=64,fi=16,Vr=4294967295,Kr=new Uint32Array;function di(e,t,r,n,s,i,o,c){let u=s.length,f=new Uint8Array(it),d=de(f),l=Kt(s)&&Kt(i),p=l?de(s):Kr,y=l?de(i):Kr;for(let g=0;g<u;o++){if(e(t,r,n,d,o,c),o>=Vr)throw Error("arx: counter overflow");let x=Math.min(it,u-g);if(l&&x===it){let b=g/4;if(g%4!==0)throw Error("arx: invalid block position");for(let I=0,A;I<fi;I++)A=b+I,y[A]=p[A]^d[I];g+=it;continue}for(let b=0,I;b<x;b++)I=g+b,i[I]=s[I]^f[b];g+=x}}function Nr(e,t){let{allowShortKeys:r,extendNonceFn:n,counterLength:s,counterRight:i,rounds:o}=Rr({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},t);if(typeof e!=="function")throw Error("core must be a function");return rt(s),rt(o),Ht(i),Ht(r),(c,u,f,d,l=0)=>{q(c),q(u),q(f);let p=f.length;if(d===void 0)d=new Uint8Array(p);if(q(d),rt(l),l<0||l>=Vr)throw Error("arx: counter overflow");if(d.length<p)throw Error(`arx: output (${d.length}) is shorter than data (${p})`);let y=[],g=c.length,x,b;if(g===32)y.push(x=st(c)),b=ui;else if(g===16&&r)x=new Uint8Array(32),x.set(c),x.set(c,16),b=ci,y.push(x);else throw Error(`arx: invalid 32-byte key, got length=${g}`);if(!Kt(u))y.push(u=st(u));let I=de(x);if(n){if(u.length!==24)throw Error("arx: extended nonce must be 24 bytes");n(b,I,de(u.subarray(0,16)),I),u=u.subarray(16)}let A=16-s;if(A!==u.length)throw Error(`arx: nonce must be ${A} or 16 bytes`);if(A!==12){let S=new Uint8Array(12);S.set(u,i?0:12-u.length),u=S,y.push(u)}let U=de(u);return di(e,b,I,U,f,d,l,o),se(...y),d}}var W=(e,t)=>e[t++]&255|(e[t++]&255)<<8;class qr{constructor(e){this.blockLen=16,this.outputLen=16,this.buffer=new Uint8Array(16),this.r=new Uint16Array(10),this.h=new Uint16Array(10),this.pad=new Uint16Array(8),this.pos=0,this.finished=!1,e=nt(e),q(e,32);let t=W(e,0),r=W(e,2),n=W(e,4),s=W(e,6),i=W(e,8),o=W(e,10),c=W(e,12),u=W(e,14);this.r[0]=t&8191,this.r[1]=(t>>>13|r<<3)&8191,this.r[2]=(r>>>10|n<<6)&7939,this.r[3]=(n>>>7|s<<9)&8191,this.r[4]=(s>>>4|i<<12)&255,this.r[5]=i>>>1&8190,this.r[6]=(i>>>14|o<<2)&8191,this.r[7]=(o>>>11|c<<5)&8065,this.r[8]=(c>>>8|u<<8)&8191,this.r[9]=u>>>5&127;for(let f=0;f<8;f++)this.pad[f]=W(e,16+2*f)}process(e,t,r=!1){let n=r?0:2048,{h:s,r:i}=this,o=i[0],c=i[1],u=i[2],f=i[3],d=i[4],l=i[5],p=i[6],y=i[7],g=i[8],x=i[9],b=W(e,t+0),I=W(e,t+2),A=W(e,t+4),U=W(e,t+6),S=W(e,t+8),C=W(e,t+10),k=W(e,t+12),F=W(e,t+14),v=s[0]+(b&8191),D=s[1]+((b>>>13|I<<3)&8191),R=s[2]+((I>>>10|A<<6)&8191),L=s[3]+((A>>>7|U<<9)&8191),H=s[4]+((U>>>4|S<<12)&8191),m=s[5]+(S>>>1&8191),K=s[6]+((S>>>14|C<<2)&8191),O=s[7]+((C>>>11|k<<5)&8191),V=s[8]+((k>>>8|F<<8)&8191),N=s[9]+(F>>>5|n),E=0,G=E+v*o+D*(5*x)+R*(5*g)+L*(5*y)+H*(5*p);E=G>>>13,G&=8191,G+=m*(5*l)+K*(5*d)+O*(5*f)+V*(5*u)+N*(5*c),E+=G>>>13,G&=8191;let J=E+v*c+D*o+R*(5*x)+L*(5*g)+H*(5*y);E=J>>>13,J&=8191,J+=m*(5*p)+K*(5*l)+O*(5*d)+V*(5*f)+N*(5*u),E+=J>>>13,J&=8191;let ee=E+v*u+D*c+R*o+L*(5*x)+H*(5*g);E=ee>>>13,ee&=8191,ee+=m*(5*y)+K*(5*p)+O*(5*l)+V*(5*d)+N*(5*f),E+=ee>>>13,ee&=8191;let _=E+v*f+D*u+R*c+L*o+H*(5*x);E=_>>>13,_&=8191,_+=m*(5*g)+K*(5*y)+O*(5*p)+V*(5*l)+N*(5*d),E+=_>>>13,_&=8191;let ue=E+v*d+D*f+R*u+L*c+H*o;E=ue>>>13,ue&=8191,ue+=m*(5*x)+K*(5*g)+O*(5*y)+V*(5*p)+N*(5*l),E+=ue>>>13,ue&=8191;let Te=E+v*l+D*d+R*f+L*u+H*c;E=Te>>>13,Te&=8191,Te+=m*o+K*(5*x)+O*(5*g)+V*(5*y)+N*(5*p),E+=Te>>>13,Te&=8191;let ve=E+v*p+D*l+R*d+L*f+H*u;E=ve>>>13,ve&=8191,ve+=m*c+K*o+O*(5*x)+V*(5*g)+N*(5*y),E+=ve>>>13,ve&=8191;let ke=E+v*y+D*p+R*l+L*d+H*f;E=ke>>>13,ke&=8191,ke+=m*u+K*c+O*o+V*(5*x)+N*(5*g),E+=ke>>>13,ke&=8191;let _e=E+v*g+D*y+R*p+L*l+H*d;E=_e>>>13,_e&=8191,_e+=m*f+K*u+O*c+V*o+N*(5*x),E+=_e>>>13,_e&=8191;let De=E+v*x+D*g+R*y+L*p+H*l;E=De>>>13,De&=8191,De+=m*d+K*f+O*u+V*c+N*o,E+=De>>>13,De&=8191,E=(E<<2)+E|0,E=E+G|0,G=E&8191,E=E>>>13,J+=E,s[0]=G,s[1]=J,s[2]=ee,s[3]=_,s[4]=ue,s[5]=Te,s[6]=ve,s[7]=ke,s[8]=_e,s[9]=De}finalize(){let{h:e,pad:t}=this,r=new Uint16Array(10),n=e[1]>>>13;e[1]&=8191;for(let o=2;o<10;o++)e[o]+=n,n=e[o]>>>13,e[o]&=8191;e[0]+=n*5,n=e[0]>>>13,e[0]&=8191,e[1]+=n,n=e[1]>>>13,e[1]&=8191,e[2]+=n,r[0]=e[0]+5,n=r[0]>>>13,r[0]&=8191;for(let o=1;o<10;o++)r[o]=e[o]+n,n=r[o]>>>13,r[o]&=8191;r[9]-=8192;let s=(n^1)-1;for(let o=0;o<10;o++)r[o]&=s;s=~s;for(let o=0;o<10;o++)e[o]=e[o]&s|r[o];e[0]=(e[0]|e[1]<<13)&65535,e[1]=(e[1]>>>3|e[2]<<10)&65535,e[2]=(e[2]>>>6|e[3]<<7)&65535,e[3]=(e[3]>>>9|e[4]<<4)&65535,e[4]=(e[4]>>>12|e[5]<<1|e[6]<<14)&65535,e[5]=(e[6]>>>2|e[7]<<11)&65535,e[6]=(e[7]>>>5|e[8]<<8)&65535,e[7]=(e[8]>>>8|e[9]<<5)&65535;let i=e[0]+t[0];e[0]=i&65535;for(let o=1;o<8;o++)i=(e[o]+t[o]|0)+(i>>>16)|0,e[o]=i&65535;se(r)}update(e){Rt(this);let{buffer:t,blockLen:r}=this;e=nt(e);let n=e.length;for(let s=0;s<n;){let i=Math.min(r-this.pos,n-s);if(i===r){for(;r<=n-s;s+=r)this.process(e,s);continue}if(t.set(e.subarray(s,s+i),this.pos),this.pos+=i,s+=i,this.pos===r)this.process(t,0,!1),this.pos=0}return this}destroy(){se(this.h,this.r,this.buffer,this.pad)}digestInto(e){Rt(this),Lr(e,this),this.finished=!0;let{buffer:t,h:r}=this,{pos:n}=this;if(n){t[n++]=1;for(;n<16;n++)t[n]=0;this.process(t,0,!0)}this.finalize();let s=0;for(let i=0;i<8;i++)e[s++]=r[i]>>>0,e[s++]=r[i]>>>8;return e}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let r=e.slice(0,t);return this.destroy(),r}}function li(e){let t=(n,s)=>e(s).update(nt(n)).digest(),r=e(new Uint8Array(32));return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=(n)=>e(n),t}var Ot=li((e)=>new qr(e));function hi(e,t,r,n,s,i=20){let o=e[0],c=t[0],u=t[1],f=t[2],d=t[3],l=e[1],p=r[0],y=r[1],g=s,x=0,b=e[2],I=t[4],A=t[5],U=t[6],S=t[7],C=e[3],k=o,F=c,v=u,D=f,R=d,L=l,H=p,m=y,K=g,O=x,V=b,N=I,E=A,G=U,J=S,ee=C;for(let ue=0;ue<i;ue+=2)R^=w(k+E|0,7),K^=w(R+k|0,9),E^=w(K+R|0,13),k^=w(E+K|0,18),O^=w(L+F|0,7),G^=w(O+L|0,9),F^=w(G+O|0,13),L^=w(F+G|0,18),J^=w(V+H|0,7),v^=w(J+V|0,9),H^=w(v+J|0,13),V^=w(H+v|0,18),D^=w(ee+N|0,7),m^=w(D+ee|0,9),N^=w(m+D|0,13),ee^=w(N+m|0,18),F^=w(k+D|0,7),v^=w(F+k|0,9),D^=w(v+F|0,13),k^=w(D+v|0,18),H^=w(L+R|0,7),m^=w(H+L|0,9),R^=w(m+H|0,13),L^=w(R+m|0,18),N^=w(V+O|0,7),K^=w(N+V|0,9),O^=w(K+N|0,13),V^=w(O+K|0,18),E^=w(ee+J|0,7),G^=w(E+ee|0,9),J^=w(G+E|0,13),ee^=w(J+G|0,18);let _=0;n[_++]=o+k|0,n[_++]=c+F|0,n[_++]=u+v|0,n[_++]=f+D|0,n[_++]=d+R|0,n[_++]=l+L|0,n[_++]=p+H|0,n[_++]=y+m|0,n[_++]=g+K|0,n[_++]=x+O|0,n[_++]=b+V|0,n[_++]=I+N|0,n[_++]=A+E|0,n[_++]=U+G|0,n[_++]=S+J|0,n[_++]=C+ee|0}function pi(e,t,r,n){let s=e[0],i=t[0],o=t[1],c=t[2],u=t[3],f=e[1],d=r[0],l=r[1],p=r[2],y=r[3],g=e[2],x=t[4],b=t[5],I=t[6],A=t[7],U=e[3];for(let C=0;C<20;C+=2)u^=w(s+b|0,7),p^=w(u+s|0,9),b^=w(p+u|0,13),s^=w(b+p|0,18),y^=w(f+i|0,7),I^=w(y+f|0,9),i^=w(I+y|0,13),f^=w(i+I|0,18),A^=w(g+d|0,7),o^=w(A+g|0,9),d^=w(o+A|0,13),g^=w(d+o|0,18),c^=w(U+x|0,7),l^=w(c+U|0,9),x^=w(l+c|0,13),U^=w(x+l|0,18),i^=w(s+c|0,7),o^=w(i+s|0,9),c^=w(o+i|0,13),s^=w(c+o|0,18),d^=w(f+u|0,7),l^=w(d+f|0,9),u^=w(l+d|0,13),f^=w(u+l|0,18),x^=w(g+y|0,7),p^=w(x+g|0,9),y^=w(p+x|0,13),g^=w(y+p|0,18),b^=w(U+A|0,7),I^=w(b+U|0,9),A^=w(I+b|0,13),U^=w(A+I|0,18);let S=0;n[S++]=s,n[S++]=f,n[S++]=g,n[S++]=U,n[S++]=d,n[S++]=l,n[S++]=p,n[S++]=y}var Vt=Nr(hi,{counterRight:!0,extendNonceFn:pi}),Nt=Mr({blockSize:64,nonceLength:24,tagLength:16},(e,t)=>({encrypt(r,n){n=Mt(r.length+32,n,!1);let s=n.subarray(0,32),i=n.subarray(32);n.set(r,32),se(s),Vt(e,t,n,n);let o=Ot(i,s);return n.set(o,16),se(n.subarray(0,16),o),n.subarray(16)},decrypt(r,n){q(r),n=Mt(r.length+32,n,!1);let s=n.subarray(0,32),i=n.subarray(32,48),o=n.subarray(48);n.set(r,32),se(s);let c=Vt(e,t,s,s),u=Ot(o,c);if(!Hr(i,u))throw Error("invalid tag");return Vt(e,t,n.subarray(16),n.subarray(16)),se(s,i,u),o}}));/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */function yi(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function je(e){if(!Number.isSafeInteger(e)||e<0)throw Error("positive integer expected, got "+e)}function Ie(e,...t){if(!yi(e))throw Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw Error("Uint8Array expected of length "+t+", got length="+e.length)}function Ye(e,t=!0){if(e.destroyed)throw Error("Hash instance has been destroyed");if(t&&e.finished)throw Error("Hash#digest() has already been called")}function ot(e,t){Ie(e);let r=t.outputLen;if(e.length<r)throw Error("digestInto() expects output buffer of length at least "+r)}function Fr(e){return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}function Le(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function Re(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function Je(e,t){return e<<32-t|e>>>t}var Wr=(()=>new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68)();function Xr(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}var zr=Wr?(e)=>e:(e)=>Xr(e);function mi(e){for(let t=0;t<e.length;t++)e[t]=Xr(e[t]);return e}var Q=Wr?(e)=>e:mi;function xi(e){if(typeof e!=="string")throw Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function He(e){if(typeof e==="string")e=xi(e);return Ie(e),e}class qt{}function $r(e){let t=(n,s)=>e(s).update(He(n)).digest(),r=e({});return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=(n)=>e(n),t}var Gr=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var at=BigInt(4294967295),jr=BigInt(32);function Ft(e,t=!1){if(t)return{h:Number(e&at),l:Number(e>>jr&at)};return{h:Number(e>>jr&at)|0,l:Number(e&at)|0}}function le(e,t,r,n,s){return e=e+t+s|0,n=Je(n^e,16),r=r+n|0,t=Je(t^r,12),{a:e,b:t,c:r,d:n}}function he(e,t,r,n,s){return e=e+t+s|0,n=Je(n^e,8),r=r+n|0,t=Je(t^r,7),{a:e,b:t,c:r,d:n}}class Wt extends qt{constructor(e,t){super();this.finished=!1,this.destroyed=!1,this.length=0,this.pos=0,je(e),je(t),this.blockLen=e,this.outputLen=t,this.buffer=new Uint8Array(e),this.buffer32=Le(this.buffer)}update(e){Ye(this),e=He(e),Ie(e);let{blockLen:t,buffer:r,buffer32:n}=this,s=e.length,i=e.byteOffset,o=e.buffer;for(let c=0;c<s;){if(this.pos===t)Q(n),this.compress(n,0,!1),Q(n),this.pos=0;let u=Math.min(t-this.pos,s-c),f=i+c;if(u===t&&!(f%4)&&c+u<s){let d=new Uint32Array(o,f,Math.floor((s-c)/4));Q(d);for(let l=0;c+t<s;l+=n.length,c+=t)this.length+=t,this.compress(d,l,!1);Q(d);continue}r.set(e.subarray(c,c+u),this.pos),this.pos+=u,this.length+=u,c+=u}return this}digestInto(e){Ye(this),ot(e,this);let{pos:t,buffer32:r}=this;this.finished=!0,Re(this.buffer.subarray(t)),Q(r),this.compress(r,0,!0),Q(r);let n=Le(e);this.get().forEach((s,i)=>n[i]=zr(s))}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let r=e.slice(0,t);return this.destroy(),r}_cloneInto(e){let{buffer:t,length:r,finished:n,destroyed:s,outputLen:i,pos:o}=this;return e||(e=new this.constructor({dkLen:i})),e.set(...this.get()),e.buffer.set(t),e.destroyed=s,e.finished=n,e.length=r,e.pos=o,e.outputLen=i,e}clone(){return this._cloneInto()}}function Xt(e,t,r,n,s,i,o,c,u,f,d,l,p,y,g,x,b,I,A,U){let S=0;for(let C=0;C<n;C++)({a:s,b:u,c:p,d:b}=le(s,u,p,b,r[t+e[S++]])),{a:s,b:u,c:p,d:b}=he(s,u,p,b,r[t+e[S++]]),{a:i,b:f,c:y,d:I}=le(i,f,y,I,r[t+e[S++]]),{a:i,b:f,c:y,d:I}=he(i,f,y,I,r[t+e[S++]]),{a:o,b:d,c:g,d:A}=le(o,d,g,A,r[t+e[S++]]),{a:o,b:d,c:g,d:A}=he(o,d,g,A,r[t+e[S++]]),{a:c,b:l,c:x,d:U}=le(c,l,x,U,r[t+e[S++]]),{a:c,b:l,c:x,d:U}=he(c,l,x,U,r[t+e[S++]]),{a:s,b:f,c:g,d:U}=le(s,f,g,U,r[t+e[S++]]),{a:s,b:f,c:g,d:U}=he(s,f,g,U,r[t+e[S++]]),{a:i,b:d,c:x,d:b}=le(i,d,x,b,r[t+e[S++]]),{a:i,b:d,c:x,d:b}=he(i,d,x,b,r[t+e[S++]]),{a:o,b:l,c:p,d:I}=le(o,l,p,I,r[t+e[S++]]),{a:o,b:l,c:p,d:I}=he(o,l,p,I,r[t+e[S++]]),{a:c,b:u,c:y,d:A}=le(c,u,y,A,r[t+e[S++]]),{a:c,b:u,c:y,d:A}=he(c,u,y,A,r[t+e[S++]]);return{v0:s,v1:i,v2:o,v3:c,v4:u,v5:f,v6:d,v7:l,v8:p,v9:y,v10:g,v11:x,v12:b,v13:I,v14:A,v15:U}}var ie={CHUNK_START:1,CHUNK_END:2,PARENT:4,ROOT:8,KEYED_HASH:16,DERIVE_KEY_CONTEXT:32,DERIVE_KEY_MATERIAL:64},pe=Gr.slice(),Yr=(()=>{let e=Array.from({length:16},(n,s)=>s),t=(n)=>[2,6,3,10,7,0,4,13,1,11,12,5,9,14,15,8].map((s)=>n[s]),r=[];for(let n=0,s=e;n<7;n++,s=t(s))r.push(...s);return Uint8Array.from(r)})();class zt extends Wt{constructor(e={},t=0){super(64,e.dkLen===void 0?32:e.dkLen);this.chunkPos=0,this.chunksDone=0,this.flags=0,this.stack=[],this.posOut=0,this.bufferOut32=new Uint32Array(16),this.chunkOut=0,this.enableXOF=!0;let{key:r,context:n}=e,s=n!==void 0;if(r!==void 0){if(s)throw Error('Only "key" or "context" can be specified at same time');let i=He(r).slice();Ie(i,32),this.IV=Le(i),Q(this.IV),this.flags=t|ie.KEYED_HASH}else if(s){let i=He(n),o=new zt({dkLen:32},ie.DERIVE_KEY_CONTEXT).update(i).digest();this.IV=Le(o),Q(this.IV),this.flags=t|ie.DERIVE_KEY_MATERIAL}else this.IV=pe.slice(),this.flags=t;this.state=this.IV.slice(),this.bufferOut=Fr(this.bufferOut32)}get(){return[]}set(){}b2Compress(e,t,r,n=0){let{state:s,pos:i}=this,{h:o,l:c}=Ft(BigInt(e),!0),{v0:u,v1:f,v2:d,v3:l,v4:p,v5:y,v6:g,v7:x,v8:b,v9:I,v10:A,v11:U,v12:S,v13:C,v14:k,v15:F}=Xt(Yr,n,r,7,s[0],s[1],s[2],s[3],s[4],s[5],s[6],s[7],pe[0],pe[1],pe[2],pe[3],o,c,i,t);s[0]=u^b,s[1]=f^I,s[2]=d^A,s[3]=l^U,s[4]=p^S,s[5]=y^C,s[6]=g^k,s[7]=x^F}compress(e,t=0,r=!1){let n=this.flags;if(!this.chunkPos)n|=ie.CHUNK_START;if(this.chunkPos===15||r)n|=ie.CHUNK_END;if(!r)this.pos=this.blockLen;if(this.b2Compress(this.chunksDone,n,e,t),this.chunkPos+=1,this.chunkPos===16||r){let s=this.state;this.state=this.IV.slice();for(let i,o=this.chunksDone+1;r||!(o&1);o>>=1){if(!(i=this.stack.pop()))break;this.buffer32.set(i,0),this.buffer32.set(s,8),this.pos=this.blockLen,this.b2Compress(0,this.flags|ie.PARENT,this.buffer32,0),s=this.state,this.state=this.IV.slice()}this.chunksDone++,this.chunkPos=0,this.stack.push(s)}this.pos=0}_cloneInto(e){e=super._cloneInto(e);let{IV:t,flags:r,state:n,chunkPos:s,posOut:i,chunkOut:o,stack:c,chunksDone:u}=this;return e.state.set(n.slice()),e.stack=c.map((f)=>Uint32Array.from(f)),e.IV.set(t),e.flags=r,e.chunkPos=s,e.chunksDone=u,e.posOut=i,e.chunkOut=o,e.enableXOF=this.enableXOF,e.bufferOut32.set(this.bufferOut32),e}destroy(){this.destroyed=!0,Re(this.state,this.buffer32,this.IV,this.bufferOut32),Re(...this.stack)}b2CompressOut(){let{state:e,pos:t,flags:r,buffer32:n,bufferOut32:s}=this,{h:i,l:o}=Ft(BigInt(this.chunkOut++));Q(n);let{v0:c,v1:u,v2:f,v3:d,v4:l,v5:p,v6:y,v7:g,v8:x,v9:b,v10:I,v11:A,v12:U,v13:S,v14:C,v15:k}=Xt(Yr,0,n,7,e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],pe[0],pe[1],pe[2],pe[3],o,i,t,r);s[0]=c^x,s[1]=u^b,s[2]=f^I,s[3]=d^A,s[4]=l^U,s[5]=p^S,s[6]=y^C,s[7]=g^k,s[8]=e[0]^x,s[9]=e[1]^b,s[10]=e[2]^I,s[11]=e[3]^A,s[12]=e[4]^U,s[13]=e[5]^S,s[14]=e[6]^C,s[15]=e[7]^k,Q(n),Q(s),this.posOut=0}finish(){if(this.finished)return;this.finished=!0,Re(this.buffer.subarray(this.pos));let e=this.flags|ie.ROOT;if(this.stack.length)e|=ie.PARENT,Q(this.buffer32),this.compress(this.buffer32,0,!0),Q(this.buffer32),this.chunksDone=0,this.pos=this.blockLen;else e|=(!this.chunkPos?ie.CHUNK_START:0)|ie.CHUNK_END;this.flags=e,this.b2CompressOut()}writeInto(e){Ye(this,!1),Ie(e),this.finish();let{blockLen:t,bufferOut:r}=this;for(let n=0,s=e.length;n<s;){if(this.posOut>=t)this.b2CompressOut();let i=Math.min(t-this.posOut,s-n);e.set(r.subarray(this.posOut,this.posOut+i),n),this.posOut+=i,n+=i}return e}xofInto(e){if(!this.enableXOF)throw Error("XOF is not possible after digest call");return this.writeInto(e)}xof(e){return je(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(ot(e,this),this.finished)throw Error("digest() was already called");return this.enableXOF=!1,this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}}var Jr=$r((e)=>new zt(e));function te(e){return Array.from(e).map((r)=>r.toString(16).padStart(2,"0")).join("")}function ct(e){if(e.length%2!==0)throw Error("Invalid hex string");let t=new Uint8Array(e.length/2);for(let r=0;r<e.length;r+=2)t[r/2]=Number.parseInt(e.substr(r,2),16);return t}function Me(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;return e.every((r,n)=>r===t[n])}var Qr;if(typeof Uint8Array.prototype.toBase64==="function")Qr=(e)=>e.toBase64();else Qr=(e)=>btoa(String.fromCharCode(...e));var $t;if(typeof Uint8Array.fromBase64==="function")$t=(e)=>Uint8Array.fromBase64(e);else $t=(e)=>Uint8Array.from(atob(e),(t)=>t.charCodeAt(0));function Zr(e){let t=e.length%4===0?"":"=".repeat(4-e.length%4),r=e.replace(/-/g,"+").replace(/_/g,"/")+t;return $t(r)}function oe(e,t){let r=new Uint8Array(e.length+t.length);return r.set(e,0),r.set(t,e.length),r}var Ke=64;var en=32,Oe=8;var tn=32;var rn=30000,nn=512,B;((m)=>{m[m.Success=0]="Success";m[m.InvalidSignature=3]="InvalidSignature";m[m.ClockOutOfSync=4]="ClockOutOfSync";m[m.UserNotRegistered=5]="UserNotRegistered";m[m.ServerMisconfigured=6]="ServerMisconfigured";m[m.MissingBody=7]="MissingBody";m[m.ExtraBodyContent=8]="ExtraBodyContent";m[m.MissingParam=9]="MissingParam";m[m.InvalidParam=10]="InvalidParam";m[m.InvalidRequest=11]="InvalidRequest";m[m.InternalError=12]="InternalError";m[m.NotFound=13]="NotFound";m[m.InvalidMessage=14]="InvalidMessage";m[m.NoChange=15]="NoChange";m[m.DatabaseClosed=16]="DatabaseClosed";m[m.StorageError=17]="StorageError";m[m.DatabaseError=18]="DatabaseError";m[m.HashMismatch=19]="HashMismatch";m[m.DecryptionError=20]="DecryptionError";m[m.NotImplemented=21]="NotImplemented";m[m.MissingSeed=22]="MissingSeed";m[m.OutOfBounds=23]="OutOfBounds";m[m.HostError=24]="HostError";m[m.CommunicationError=25]="CommunicationError";m[m.VarLimitExceeded=26]="VarLimitExceeded";m[m.InvalidResponse=27]="InvalidResponse";m[m.ConnectionClosed=28]="ConnectionClosed";m[m.CryptoError=29]="CryptoError";m[m.WebAuthnError=30]="WebAuthnError"})(B||={});var sn="t";function h(e){return[e,0]}function a(e){return[void 0,e]}var gi=32,uc=Symbol("X25519Sk");function on(e){if(e.byteLength!==gi)return a(10);return h(e)}var P=(1n<<255n)-19n,bi=121665n,an=new Uint8Array(32);an[0]=9;function cn(e){let t=0n;for(let r=e.length-1;r>=0;r--)t=t<<8n|BigInt(e[r]);return t}function wi(e){let t=new Uint8Array(32),r=(e%P+P)%P;for(let n=0;n<32;n++)t[n]=Number(r&0xffn),r>>=8n;return t}function Si(e){let t=e.slice();return t[31]&=127,cn(t)}function Ii(e){let t=e.slice();return t[0]&=248,t[31]&=127,t[31]|=64,t}function ut(e,t,r){let n=-e,s=(t^r)&n;return[t^s,r^s]}function Ai(e){let t=P-2n,r=(e%P+P)%P,n=1n;while(t>0n){if(t&1n)n=n*r%P;r=r*r%P,t>>=1n}return n}function Gt(e,t){let r=Ii(e),n=Si(t),s=1n,i=0n,o=n,c=1n,u=0n,f=cn(r);for(let d=254;d>=0;d--){let l=f>>BigInt(d)&1n;u^=l,[s,o]=ut(u,s,o),[i,c]=ut(u,i,c),u=l;let p=(s+i)%P,y=p*p%P,g=(s-i+P)%P,x=g*g%P,b=(y-x+P)%P,I=(o+c)%P,U=(o-c+P)%P*p%P,S=I*g%P,C=(U+S)%P,k=(U-S+P)%P;o=C*C%P,c=n*k*k%P,s=y*x%P,i=b*(y+bi*b)%P}return[s,o]=ut(u,s,o),[i,c]=ut(u,i,c),r.fill(0),wi(s*Ai(i)%P)}function un(e){return Gt(e,an)}var jt=new Uint8Array([48,46,2,1,0,48,5,6,3,43,101,112,4,34,4,32]);function fn(e){let t=new Uint8Array(jt.length+32);return t.set(jt),t.set(e.subarray(0,32),jt.length),t}var Yt=new Uint8Array([48,46,2,1,0,48,5,6,3,43,101,110,4,34,4,32]);function dn(e){let t=new Uint8Array(Yt.length+32);return t.set(Yt),t.set(e.subarray(0,32),Yt.length),t}function ln(e){return typeof e==="string"?new TextEncoder().encode(e):e}function ye(e){let t=new ArrayBuffer(e.byteLength);return new Uint8Array(t).set(e),t}class Ae{verifyKeys=new Map;async genRandomBytes(e){return Ge(e)}async gen256BitSecureRandomSeed(){return Ge(32)}async encryptXSalsa20Poly1305Combined(e,t){let r=Ge(24),s=Nt(t,r).encrypt(e);return new Uint8Array([...r,...s])}async decryptXSalsa20Poly1305Combined(e,t){let r=e.slice(0,24),n=e.slice(24);return Nt(t,r).decrypt(n)}async deriveEd25519KeyPair(e){let t=e,r=fn(t),n=ye(r),s;try{let f=await globalThis.crypto.subtle.importKey("pkcs8",n,{name:"Ed25519"},!0,["sign"]);s=await globalThis.crypto.subtle.exportKey("jwk",f)}finally{r.fill(0),new Uint8Array(n).fill(0)}if(typeof s.x!=="string")throw Error("Ed25519 JWK missing x");let i=s.x;s.d=void 0;let o=await globalThis.crypto.subtle.importKey("jwk",{kty:"OKP",crv:"Ed25519",x:i},{name:"Ed25519"},!0,["verify"]),c=new Uint8Array(await globalThis.crypto.subtle.exportKey("raw",o));this.verifyKeys.set(te(c),o);let u=new Uint8Array(64);return u.set(t,0),u.set(c,32),{keyType:"ed25519",privateKey:u,publicKey:c}}async importSignKey(e){let t=e.subarray(0,32),r=fn(t),n=ye(r);try{return await globalThis.crypto.subtle.importKey("pkcs8",n,{name:"Ed25519"},!1,["sign"])}finally{r.fill(0),new Uint8Array(n).fill(0)}}async importVerifyKey(e){let t=te(e),r=this.verifyKeys.get(t);if(r)return r;let n=await globalThis.crypto.subtle.importKey("raw",ye(e),{name:"Ed25519"},!1,["verify"]);return this.verifyKeys.set(t,n),n}async signEd25519(e,t){let r=ln(e),n=await this.importSignKey(t),s=await globalThis.crypto.subtle.sign({name:"Ed25519"},n,ye(r));return new Uint8Array(s)}async checkSigEd25519(e,t,r){let n=ln(t);try{let s=await this.importVerifyKey(r);return await globalThis.crypto.subtle.verify({name:"Ed25519"},s,ye(e),ye(n))}catch{return!1}}async blake3(e){return Jr(e)}async genX25519(){let e=await Ge(32);e[0]&=248,e[31]&=127,e[31]|=64;let[t,r]=on(e);if(r!==0||t===void 0)throw e.fill(0),Error("X25519 scalar brand failed");let n=un(t),s=dn(t),i=ye(s);try{let o=await globalThis.crypto.subtle.importKey("pkcs8",i,{name:"X25519"},!0,["deriveBits"]),c=await globalThis.crypto.subtle.exportKey("jwk",o);if(typeof c.x!=="string")throw Error("X25519 JWK missing x");let u=Zr(c.x);if(c.d=void 0,!Me(u,n))throw Error("X25519 WebCrypto pub != RFC 7748");return{priv:t,pub:n}}catch(o){throw t.fill(0),o}finally{s.fill(0),new Uint8Array(i).fill(0)}}async x25519Shared(e,t){let r=dn(e),n=ye(r);try{let s=await globalThis.crypto.subtle.importKey("pkcs8",n,{name:"X25519"},!1,["deriveBits"]),i=await globalThis.crypto.subtle.importKey("raw",ye(t),{name:"X25519"},!1,[]),o=await globalThis.crypto.subtle.deriveBits({name:"X25519",public:i},s,256);return new Uint8Array(o)}catch{return Gt(e,t)}finally{r.fill(0),new Uint8Array(n).fill(0)}}}var Ei=new Ae,Ve=Ei;function Ui(e){if(e<0)console.info("N",e),console.trace();if(typeof e!=="bigint")e=BigInt(e);if(e<0n)return a(10);let t=[];while(e>0n){let r=Number(e&0x7fn);if(e>>=7n,e>0n)t.push(r|128);else t.push(r)}if(t.length===0)return h(new Uint8Array([0]));if(t.length>8)return a(26);return h(new Uint8Array(t))}function Bi(e,t=0){let r=0n,n=0,s=t;while(!0){if(s>=e.length)return a(14);let i=e[s++];if(i===void 0)return a(14);if(r|=BigInt(i&127)<<BigInt(n),(i&128)===0){if(s-t>8)return a(26);return h({value:r>0x1fffffffffffffn?r:Number(r),bytesRead:s-t})}if(n+=7,n>=56)return a(26)}}class X{data;pos=0;constructor(e){this.data=e}static async fromResponse(e){let t=await e.arrayBuffer(),r=new Uint8Array(t);return new X(r)}readBigInt(){if(this.pos+8>this.data.length)return a(7);let e=new DataView(this.data.buffer,this.data.byteOffset+this.pos).getBigUint64(0,!1);return this.pos+=8,h(e)}readDate(){let[e,t]=this.readVarInt();if(t!==0)return a(t);return h(new Date(e))}readVarInt(){let[e,t]=Bi(this.data,this.pos);if(t!==0)return a(t);this.pos+=e.bytesRead;let r=e.value;return h(typeof r==="bigint"?Number(r):r)}readVarString(){let[e,t]=this.readVarInt();if(t!==0)return a(t);let[r,n]=this.readBytes(e);if(n!==0)return a(n);let s=new TextDecoder().decode(r);return h(s)}readBytes(e){if(e<0)return a(10);if(this.pos+e>this.data.length)return a(23);let t=this.data.slice(this.pos,this.pos+e);return this.pos+=e,h(t)}readVarBytes(){let[e,t]=this.readVarInt();if(t!==0)return a(t);return this.readBytes(e)}readStruct(e){return e.decode(this)}readStructs(e){let t=[];while(!this.done()){let[r,n]=this.readStruct(e);if(n!==0)return a(n);t.push(r)}return h(t)}readBytesSeq(e){let t=[];while(!this.done()){let[r,n]=this.readBytes(e);if(n!==0)return a(n);t.push(r)}return h(t)}done(){return this.pos>=this.data.length}consumed(){return this.pos}}class T{parts=[];writeBigInt(e){let t=new Uint8Array(8);new DataView(t.buffer).setBigUint64(0,e,!1),this.parts.push(t)}writeDate(e){let t=e.getTime();return this.writeVarInt(t)}writeVarInt(e){let[t,r]=Ui(e);if(r!==0)return r;return this.parts.push(t),0}writeVarString(e){let t=new TextEncoder().encode(e),r=this.writeVarInt(t.length);if(r!==0)return r;return this.writeBytes(t),0}prependBytes(e){this.parts.unshift(e.slice())}writeBytes(e){this.parts.push(e.slice())}writeVarBytes(e){let t=this.writeVarInt(e.length);if(t!==0)return t;return this.writeBytes(e),0}writeStruct(e,t){return e.encode(this,t)}writeStructs(e,t){for(let r of t){let n=this.writeStruct(e,r);if(n!==0)return n}return 0}writeBytesSeq(e){for(let t of e)this.writeBytes(t)}result(){let e=this.parts.reduce((n,s)=>n+s.length,0),t=new Uint8Array(e),r=0;for(let n of this.parts)t.set(n,r),r+=n.length;return t}wipe(){for(let e of this.parts)e.fill(0);this.parts.length=0}*scan(){for(let e of this.parts)yield e}}var ft={encode(e,t){let r=e.writeVarBytes(t.id);if(r!==0)return r;let n=e.writeDate(t.ts);if(n!==0)return n;return 0},decode(e){let[t,r]=e.readVarBytes();if(r!==0)return a(r);let[n,s]=e.readDate();if(s!==0)return a(s);return h({id:t,ts:n})}};function hn(e){let t=new T,r=t.writeStruct(ft,e);if(r!==0)return a(r);let n=t.result();return h(n)}var Jt={encode(e,t){let r=e.writeVarString(t.typ??"");if(r!==0)return r;let n=e.writeVarBytes(t.eid);if(n!==0)return n;let s=e.writeVarInt(t.off);if(s!==0)return s;let i=e.writeVarInt(t.ctr);if(i!==0)return i;let o=e.writeVarInt(t.len);if(o!==0)return o;if(t.hsh)e.writeBytes(t.hsh);return 0},decode(e){let[t,r]=e.readVarString();if(r!==0)return a(r);let[n,s]=e.readVarBytes();if(s!==0)return a(s);let i=new X(n),[,o]=ft.decode(i);if(o!==0)return a(o);let[c,u]=e.readVarInt();if(u!==0)return a(u);let[f,d]=e.readVarInt();if(d!==0)return a(d);let[l,p]=e.readVarInt();if(p!==0)return a(p);let y;if(l>0){let[g,x]=e.readBytes(tn);if(x!==0)return a(x);y=g}return h({typ:t,eid:n,off:c,ctr:f,len:l,hsh:y})}};function pn(e,t,r){return r.checkSigEd25519(e.sig,e.headCph,t)}async function yn(e,t,r,n){let s;if(e.bod&&e.len>0)s=await r.blake3(e.bod);let i=new T,o=Jt.encode(i,{...e,hsh:s});if(o!==0)return a(o);let c=i.result(),u=await t.kdmFor(c),f=n.deriveCipher(u,"encrypt"),d=await f.encrypt(c),l=e.bod?await f.encrypt(e.bod):new Uint8Array(0),p=await t.sign(d);return h({sig:p,kdm:u,headCph:d,bodyCph:l})}async function mn(e,t,r,n,s){let i=new X(e),[o,c]=Jt.decode(i);if(c!==0)return a(14);let u;try{u=t&&t.length>0?await r.decrypt(t):void 0}catch{return a(20)}let f=o.hsh&&u===void 0,d=o.hsh===void 0&&u!==void 0;if(f||d)return a(19);if(o.hsh&&u){let p=await n.blake3(u);if(!Me(p,o.hsh))return a(19)}let l=s??await n.blake3(e);return h({msgHead:o,bod:u,headHash:l})}async function Qt(e,t){let r=new T,n=r.writeDate(t);if(n!==0)return a(n);let s=r.result(),i=await e.sign(s);return h({pubKey:e.publicKey,sig:i,timestamp:t})}async function ne(e,t,r){let n=r.now().getTime(),s=e.timestamp.getTime();if(Math.abs(n-s)>rn)return 4;let o=new T;o.writeDate(e.timestamp);let c=o.result();if(!await t.checkSigEd25519(e.sig,c,e.pubKey))return 3;return 0}class Ne{now(){return new Date}}function xn(e,t,r,n){let s=t.getTime()-e.getTime(),i=r.getTime()-n.getTime();return(s+i)/2}var Qe={encode(e,t){if(e.writeVarInt(t.quota),t.quota>0){if(t.usage===void 0)return 9;e.writeVarInt(t.usage)}return 0},decode(e){let[t,r]=e.readVarInt();if(r!==0)return a(r);let n;if(t>0){let[s,i]=e.readVarInt();if(i!==0)return a(i);n=s}return h({quota:t,usage:n})}};var qe={encode(e,t){e.writeBytes(new Uint8Array([t.status]));let r=e.writeDate(t.timeRcvd);if(r!==0)return r;let n=e.writeDate(t.timeSent);if(n!==0)return n;let s=e.writeVarInt(t.subscription.term);if(s!==0)return s;let i=e.writeVarInt(t.subscription.elapsed);if(i!==0)return i;let o=e.writeStruct(Qe,t.subscription.stat);if(o!==0)return o;let c=e.writeStruct(Qe,t.subscription.dyn);if(c!==0)return c;return 0},decode(e){let[t,r]=e.readBytes(1);if(r!==0)return a(r);let n=t[0],[s,i]=e.readDate();if(i!==0)return a(i);let[o,c]=e.readDate();if(c!==0)return a(c);let[u,f]=e.readVarInt();if(f!==0)return a(f);let[d,l]=e.readVarInt();if(l!==0)return a(l);let[p,y]=e.readStruct(Qe);if(y!==0)return a(y);let[g,x]=e.readStruct(Qe);if(x!==0)return a(x);return h({status:n,timeRcvd:s,timeSent:o,subscription:{term:u,elapsed:d,stat:p,dyn:g}})}};var Zt={encode(e,t){let r=e.writeVarBytes(t.headCph);if(r!==0)return r;let n=e.writeVarInt(t.seq);if(n!==0)return n;return 0},decode(e){let[t,r]=e.readVarBytes();if(r!==0)return a(r);let[n,s]=e.readVarInt();if(s!==0)return a(s);return h({headCph:t,seq:n})}};var Y={encode(e,t){e.writeBytes(t.pubKey),e.writeBytes(t.sig);let r=e.writeDate(t.timestamp);if(r!==0)return r;return 0},decode(e){let[t,r]=e.readBytes(en);if(r!==0)return a(r);let[n,s]=e.readBytes(Ke);if(s!==0)return a(s);let[i,o]=e.readDate();if(o!==0)return a(o);return h({pubKey:t,sig:n,timestamp:i})}};var gn={async encodeReq(e,t,r,n,s){let i=s.writeStruct(Y,r);if(i!==0)return i;for(let o of n)s.writeVarInt(o);return 0},async handleReq(e,t,r){let{clock:n,crypto:s,storage:i}=e,[o,c]=t.readStruct(Y);if(c!==0)return c;let u=await ne(o,s,n);if(u!==0)return u;let{pubKey:f}=o,[d,l]=await i.hasUser(f);if(l!==0)return l;if(!d)return 5;let[p,y]=t.readVarInt();if(y!==0)return y;if(!t.done())return 8;let[g,x]=await i.listHeads(f,p);if(x!==0)return x;return r.writeStructs(Zt,g)},decodeResp(e){return e.readStructs(Zt)}};var er={encode(e,t){e.writeVarInt(t.seq);let r=e.writeVarBytes(t.bodyCph);if(r!==0)return r;return 0},decode(e){let[t,r]=e.readVarInt();if(r!==0)return a(r);let[n,s]=e.readVarBytes();if(s!==0)return a(s);return h({seq:t,bodyCph:n})}};var bn={async encodeReq(e,t,r,n,s){let i=s.writeStruct(Y,r);if(i!==0)return i;for(let o of n){let c=s.writeVarInt(o);if(c!==0)return c}return 0},async handleReq(e,t,r){let{clock:n,crypto:s,storage:i}=e,[o,c]=t.readStruct(Y);if(c!==0)return c;let u=await ne(o,s,n);if(u!==0)return u;let{pubKey:f}=o,[d,l]=await i.hasUser(f);if(l!==0)return l;if(!d)return 5;let p=[];while(!t.done()){let[x,b]=t.readVarInt();if(b!==0)return b;p.push(x)}console.info(`PULL: ${p.length} bags`);let[y,g]=await i.getBodies(f,p);if(g!==0)return g;if(!y)return 17;for(let{seq:x,bodyCph:b}of y){let I={seq:x,bodyCph:b},A=r.writeStruct(er,I);if(A!==0)return A}return 0},decodeResp(e){return e.readStructs(er)}};var tr={encode(e,t){e.writeBytes(t.sig),e.writeBytes(t.kdm);let r=e.writeVarBytes(t.headCph);if(r!==0)return r;let n=e.writeVarBytes(t.bodyCph);if(n!==0)return n;return 0},decode(e){let[t,r]=e.readBytes(Ke);if(r!==0)return a(r);let[n,s]=e.readBytes(Oe);if(s!==0)return a(s);let[i,o]=e.readVarBytes();if(o!==0)return a(o);let[c,u]=e.readVarBytes();if(u!==0)return a(u);return h({sig:t,kdm:n,headCph:i,bodyCph:c})}};var rr={encode(e,t){let r=e.writeVarInt(t.seq);if(r!==0)return r;let n=e.writeVarBytes(t.headCph);if(n!==0)return n;let s=t.bodyCph?t.bodyCph.length:0,i=e.writeVarInt(s);if(i!==0)return i;if(s>0){if(!t.bodyCph)return 10;e.writeBytes(t.bodyCph)}return 0},decode(e){let[t,r]=e.readVarInt();if(r!==0)return a(r);let[n,s]=e.readVarBytes();if(s!==0)return a(s);let[i,o]=e.readVarInt();if(o!==0)return a(o);let c;if(i>0){let[u,f]=e.readBytes(i);if(f!==0)return a(f);c=u}return h({seq:t,headCph:n,bodyCph:c})}};var Fe={encode(e,t){e.writeBytes(t.sig),e.writeBytes(t.kdm);let r=e.writeVarBytes(t.headCph);if(r!==0)return r;return 0},decode(e){let[t,r]=e.readBytes(Ke);if(r!==0)return a(r);let[n,s]=e.readBytes(Oe);if(s!==0)return a(s);let[i,o]=e.readVarBytes();if(o!==0)return a(o);return h({sig:t,kdm:n,headCph:i})}};var dt={encode(e,t){if(e.writeVarInt(t.idx),e.writeBytes(new Uint8Array([t.status])),t.status===0)e.writeVarInt(t.seq);return 0},decode(e){let[t,r]=e.readVarInt();if(r!==0)return a(r);let[n,s]=e.readBytes(1);if(s!==0)return a(s);let i=n[0];if(i!==0)return h({idx:t,status:i});let[o,c]=e.readVarInt();if(c!==0)return a(c);return h({idx:t,status:i,seq:o})}};var wn={async encodeReq(e,t,r,n,s){let i=s.writeStruct(Y,r);if(i!==0)return i;let o=s.writeStructs(tr,n);if(o!==0)return o;return 0},async handleReq(e,t,r){let{clock:n,crypto:s,storage:i,notifier:o}=e,[c,u]=t.readStruct(Y);if(u!==0)return u;let f=await ne(c,s,n);if(f!==0)return f;let{pubKey:d}=c,[l,p]=await i.hasUser(d);if(p!==0)return p;if(!l)return 5;let[y,g]=t.readStructs(tr);if(g!==0)return g;console.info(`PUSH: ${y.length} bags`);let x=[],b=[];for(let S=0;S<y.length;S++){let C=y[S];if(!await pn(C,d,s)){let F={idx:S,status:3},v=r.writeStruct(dt,F);if(v!==0)return v;continue}x.push(S),b.push(C)}let[I,A]=await i.setBags(d,b);if(A!==0)return A;if(!I||I.length!==b.length)return 17;let U=[];for(let S=0;S<b.length;S++){let C=b[S],k=x[S],F=I[S],v=new T,D=v.writeStruct(Fe,C);if(D!==0)return D;let R=v.result(),L={seq:F,headCph:R};if(y.length===1&&C.bodyCph.length<=nn)L.bodyCph=C.bodyCph;U.push(L);let H={idx:k,status:0,seq:F},m=r.writeStruct(dt,H);if(m!==0)return m}if(U.length>0){let S=new T,C=S.writeStructs(rr,U);if(C!==0)return C;let k=S.result();await Promise.resolve(o.push(d,k))}return 0},decodeResp(e){return e.readStructs(dt)}};var Sn={async encodeReq(e,t,r,n,s){return s.writeStruct(Y,r)},async handleReq(e,t,r){let{clock:n,crypto:s,storage:i}=e,[o,c]=t.readStruct(Y);if(c!==0)return c;let u=await ne(o,s,n);if(u!==0)return u;let{pubKey:f}=o;if(!t.done())return 8;let[d,l]=await i.addUser(f);if(l!==0)return l;return 0},decodeResp(e){return h(void 0)}};class nr{url;websocket;constructor(e){this.url=e}connected(){return this.websocket!==void 0&&this.websocket.readyState===WebSocket.OPEN}async connect(e,t,r=()=>{},n=()=>{}){let{url:s}=this;if(this.websocket)this.websocket.close(),this.websocket=void 0;let i=new T;i.writeStruct(Y,e);let o=i.result(),c=te(o);return s.searchParams.set("t",c),this.websocket=new WebSocket(s),this.websocket.binaryType="arraybuffer",this.websocket.onopen=()=>{console.log("CONNECTED"),n()},this.websocket.onclose=()=>{console.log("DISCONNECTED"),this.websocket=void 0,r()},this.websocket.onmessage=(u)=>{let f=new Uint8Array(u.data);t(f)},this.websocket.onerror=(u)=>{console.log(`ERROR: ${JSON.stringify(u)}`),this.websocket=void 0,r()},Promise.resolve(0)}disconnect(){this.websocket?.close(),this.websocket=void 0}}var z={user:{path:"/user",endpoint:Sn,name:0},push:{path:"/push",endpoint:wn,name:2},peek:{path:"/peek",endpoint:gn,name:1},pull:{path:"/pull",endpoint:bn,name:3}},Ci={0:z.user,2:z.push,1:z.peek,3:z.pull},In={[z.user.path]:z.user,[z.push.path]:z.push,[z.peek.path]:z.peek,[z.pull.path]:z.pull};class An{url;listener;constructor(e){this.url=e;this.listener=new nr(e)}async call(e,t){let{path:r}=Ci[e],n=new URL(r,this.url);try{return await Ti(n,t)}catch{return a(25)}}}var sr=(e)=>new An(e.handle);function We(e){let t=new T;if(t.writeStruct(qe,e)!==0)return new Response(null,{status:500});return ir(t)}function ir(e){let t=e.result().slice();return new Response(t,{status:200,headers:{"content-type":"application/octet-stream"}})}var Pi={"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET,POST,OPTIONS"};function or(e){return new Response(e.body,{headers:{...e.headers,...Pi},status:e.status,statusText:e.statusText})}async function Ti(e,t){let r=await fetch(e,{method:"POST",body:t.result().slice()});if(!r.ok)return a(24);let n=await X.fromResponse(r);return h(n)}class lt{enclave;crypto;host;clock;transport;updateHostMeta;constructor(e,t,r,n,s,i){this.enclave=e;this.crypto=t;this.host=r;this.clock=n;this.transport=s;this.updateHostMeta=i}async call(e,t){let{clock:r,transport:n}=this,{endpoint:s,name:i}=e,o=await this.identity(),c=r.now(),[u,f]=await Qt(o,c);if(f!==0)return a(f);let d=new T,l=await s.encodeReq(this,o,u,t,d);if(l!==0)return a(l);let p=r.now(),[y,g]=await n.call(i,d),x=r.now();if(g!==0)return a(g);let[b,I]=y.readStruct(qe);if(I!==0)return a(I);if(b.status!==0)return a(b.status);let U={clockOffset:xn(p,b.timeRcvd,b.timeSent,x),subscription:b.subscription},S=await this.updateHostMeta(U);if(S!==0)return a(S);return s.decodeResp(y)}identity=()=>{let{host:e,enclave:t}=this;return t.deriveIdentity(e.label,e.idx??0)};seal=async(e)=>{let{crypto:t,enclave:r}=this,n=await this.identity();return yn(e,n,t,r)};register=()=>this.call(z.user,[]);peek=(e)=>this.call(z.peek,[e]);push=(e)=>this.call(z.push,e);pull=(e)=>this.call(z.pull,e);listen=async(e,t,r)=>{let{clock:n,transport:s}=this,{listener:i}=s,o=await this.identity(),c=n.now(),[u,f]=await Qt(o,c);if(f!==0)return f;return await i.connect(u,e,t,r)};isConnected(){let e=this.transport?.listener;if(e&&typeof e.connected==="function")return e.connected();return!0}closeListener(){this.transport?.listener?.disconnect()}}var ht={encode(e,t){let r=e.writeVarString(t.handle);if(r!==0)return r;let n=e.writeVarString(t.label);if(n!==0)return n;return e.writeVarInt(t.idx??0)},decode(e){let[t,r]=e.readVarString();if(r!==0)return a(r);let[n,s]=e.readVarString();if(s!==0)return a(s);let[i,o]=e.readVarInt();if(o!==0)return a(o);return h({handle:t,label:n,idx:i})}};var ar={encode(e,t){let r=e.writeVarInt(t.hosts.length);if(r!==0)return r;for(let n of t.hosts){let s=e.writeStruct(ht,n);if(s!==0)return s}return 0},decode(e){let[t,r]=e.readVarInt();if(r!==0)return a(r);if(t===void 0||t<0)return a(10);let n=[];for(let s=0;s<t;s++){let[i,o]=e.readStruct(ht);if(o!==0)return a(o);if(i===void 0)return a(14);n.push(i)}return h({hosts:n})}};var Of=Symbol("MasterSeed"),Vf=Symbol("SealedMasterKey"),ae=32,En=24+ae+16;function pt(e){if(e.byteLength!==En)return a(10);return h(e)}var vi=new TextEncoder().encode("diplomatic.qrpair.v1"),Ze=32,ki=Ze+24+16,_i=32,$f=Symbol("DHKEReq"),Gf=Symbol("DHKEResp");function Un(e){if(e.byteLength!==Ze)return a(10);return h(e)}function Bn(e){if(e.byteLength<ki)return a(10);return h(e)}var yt=new Ae;async function cr(e,t,r,n){let s;try{s=await yt.x25519Shared(e,t)}catch{return a(29)}try{if(s.byteLength!==Ze||s.every((c)=>c===0))return a(10);let i=oe(s,vi),o=oe(i,oe(r,n));try{let c=await yt.blake3(o);return h(c.slice(0,_i))}finally{i.fill(0),o.fill(0)}}finally{s.fill(0)}}class mt{#e;#t;constructor(e,t){this.#e=e,this.#t=t}static async create(){let e;try{let t=await yt.genX25519();e=t.priv;let[r,n]=Un(t.pub);if(n!==0)return a(n);if(r===void 0)return a(10);let s=new mt(e,r);return e=void 0,h(s)}catch{return a(29)}finally{e?.fill(0)}}wipe(){this.#e.fill(0)}get dhkeReq(){let[e,t]=Un(this.#t.slice());if(e===void 0)throw Error(`dhkeReq ${t}`);return e}async finish(e){let t=e.subarray(0,Ze),r=e.subarray(Ze),[n,s]=await cr(this.#e,t,this.#t,t);if(s!==0)return a(s);if(n===void 0)return a(12);let i;try{try{i=await yt.decryptXSalsa20Poly1305Combined(r,n)}catch{return a(20)}let[o,c]=re.fromPairPlain(i);if(c!==0)return a(c);if(o===void 0)return a(12);return this.wipe(),h(o)}finally{n.fill(0),i?.fill(0)}}}function me(e){let t=new Uint8Array(e);if(e>0)crypto.getRandomValues(t);return t}var Ee=32,xt="DIPLOMATIC",ce="public-key",Di=-7,Li=-8,Ri=-257,gt=[{type:ce,alg:Di},{type:ce,alg:Li},{type:ce,alg:Ri}];function Hi(e){return e.trim().toLowerCase().replace(/\.$/,"")||"localhost"}function be(e){let t=new Uint8Array(e.byteLength);return t.set(e),t.buffer}function bt(e){if(e instanceof ArrayBuffer)return new Uint8Array(e).slice();return new Uint8Array(e.buffer,e.byteOffset,e.byteLength).slice()}function Ue(e){if(e?.rpId!==void 0)return h(e.rpId);if(typeof location>"u")return a(9);return h(Hi(location.hostname))}var Cn="";function we(e){if(e instanceof Error){Cn=e.message===""?e.name:`${e.name}: ${e.message}`;return}Cn=String(e)}function wt(e){if(!(e instanceof Error))return!1;return e.name==="NotAllowedError"&&e.message.toLowerCase().includes("does not have focus")}function Pn(){if(typeof document>"u")return!0;return document.visibilityState!=="hidden"}function Xe(){if(typeof globalThis.focus!=="function")return;try{globalThis.focus()}catch{}}function St(e=2500){if(Pn())return Xe(),Promise.resolve();return new Promise((t)=>{let r=()=>{clearTimeout(s),document.removeEventListener("visibilitychange",n),Xe(),t()},n=()=>{if(Pn())r()},s=setTimeout(r,e);document.addEventListener("visibilitychange",n),n()})}async function It(e){await St();try{return await navigator.credentials.create(e)}catch(t){if(!wt(t))throw t;return Xe(),await navigator.credentials.create(e)}}async function At(e){await St();try{return await navigator.credentials.get(e)}catch(t){if(!wt(t))throw t;return Xe(),await navigator.credentials.get(e)}}function Be(){if(typeof navigator>"u"||!navigator.credentials||typeof PublicKeyCredential>"u")return 24;return 0}function Ce(e){if(e===null||e.type!==ce||!("rawId"in e)||typeof e.getClientExtensionResults!=="function")return a(27);return h(e)}function fr(e){if(e==="platform"||e==="cross-platform")return e;return}function dr(e){let t=e.response;if(!("getTransports"in t))return;let r=t.getTransports;if(typeof r!=="function")return;let n=r.call(t);if(!Array.isArray(n))return;let s=[];for(let i of n)if(typeof i==="string"&&i.length>0)s.push(i);return s.length===0?void 0:s}var Mi=32,Ki=64,ur=37,Tn=16;function vn(e){let t=e.response;if(!("getAuthenticatorData"in t))return;let r=t.getAuthenticatorData;if(typeof r!=="function")return;let n=r.call(t);if(!(n instanceof ArrayBuffer))return;let s=new Uint8Array(n);if(s.byteLength<ur+Tn)return;let i=s[Mi];if(i===void 0||(i&Ki)===0)return;return s.slice(ur,ur+Tn)}async function kn(e){let t=Be();if(t!==0)return a(t);let[r,n]=Ue(e);if(n!==0)return a(n);if(r===void 0)return a(9);let s=e?.userName??e?.rpName??r,i={residentKey:"required",requireResidentKey:!0,userVerification:"required"};if(e?.authenticatorAttachment!==void 0)i.authenticatorAttachment=e.authenticatorAttachment;let o={largeBlob:{support:"required"}},c;try{c=await It({publicKey:{challenge:me(Ee),rp:{id:r,name:e?.rpName??xt},user:{id:me(16),name:s,displayName:s},pubKeyCredParams:gt,authenticatorSelection:i,extensions:o,...e?.hints!==void 0?{hints:e.hints}:{}}})}catch(l){return we(l),a(30)}let[u,f]=Ce(c);if(f!==0)return a(f);if(u===void 0)return a(27);if(u.getClientExtensionResults().largeBlob?.supported!==!0)return a(30);return h(new Uint8Array(u.rawId))}async function lr(e,t,r,n){let s={challenge:me(Ee),rpId:e,userVerification:"preferred"};if(t?.hints!==void 0)s.hints=t.hints;if(r!==void 0)s.allowCredentials=[{type:ce,id:be(r)}];if(n!==void 0)s.extensions=n;let i;try{i=await At({publicKey:s})}catch(u){return we(u),a(30)}let[o,c]=Ce(i);if(c!==0)return a(c);if(o===void 0)return a(27);return h(o)}async function _n(e,t){let r=Be();if(r!==0)return a(r);let[n,s]=Ue(t);if(s!==0)return a(s);if(n===void 0)return a(9);let i=e;if(i===void 0){let[l,p]=await lr(n,t);if(p!==0&&t?.hints!==void 0)[l,p]=await lr(n,{rpId:t.rpId,rpName:t.rpName});if(p!==0)return a(p);if(l===void 0)return a(27);i=new Uint8Array(l.rawId)}let[o,c]=await lr(n,t,i,{largeBlob:{read:!0}});if(c!==0)return a(c);if(o===void 0)return a(27);let f=o.getClientExtensionResults().largeBlob;if(f===void 0||f.blob===void 0)return a(7);let d=bt(f.blob);if(d.byteLength===0)return a(7);return h({blob:d,credId:new Uint8Array(o.rawId)})}var hr=new TextEncoder().encode("diplomatic.prf.v1"),pr="diplomatic-prf";var Et="";var Bt=typeof globalThis.Worker==="function"?globalThis.Worker:void 0,yr=Bt===void 0?void 0:Bt.prototype.postMessage,Ut;function Vi(){if(typeof Et!=="string"||Et.length===0)throw Error("[DIPLOMATIC] worker source not embedded; run pkg build before spawn");return atob(Et)}function Ni(){if(Ut!==void 0)return Ut;let e=new Blob([Vi()],{type:"text/javascript"});return Ut=URL.createObjectURL(e),Ut}function Dn(){if(Bt===void 0)throw Error("[DIPLOMATIC] Worker API unavailable; cannot spawn sync worker");return new Bt(Ni(),{type:"module"})}function Ln(e,t,r){if(yr===void 0)throw Error("[DIPLOMATIC] Worker API unavailable; cannot post to sync worker");if(r!==void 0&&r.length>0)yr.call(e,t,{transfer:r});else yr.call(e,t)}var qi=new TextEncoder().encode("diplomatic.bind.v1"),mr=new TextEncoder().encode("diplomatic.bindtag.v1"),Fi=32,Wi=32,Xi=16,zi=32,Z=new Ae;function $i(e){return e.map((t)=>({handle:t.handle,label:t.label,idx:t.idx??0}))}function Rn(e){if(e.byteLength===0||e.every((c)=>c===0))return a(22);if(e.byteLength<ae+1)return a(14);let t=e.subarray(0,ae);if(t.every((c)=>c===0))return a(22);let r=new X(e.subarray(ae)),[n,s]=r.readStruct(ar);if(s!==0)return a(s);if(n===void 0)return a(14);if(!r.done())return a(14);let[i,o]=re.fromBytes(t);if(o!==0)return a(o);if(i===void 0)return a(12);return h({enclave:i,hosts:n.hosts.map((c)=>({...c}))})}async function Hn(e,t,r){let n=Be();if(n!==0)return n;let[s,i]=Ue(r);if(i!==0)return i;if(s===void 0)return 9;await St();let o=new Uint8Array(t.byteLength);o.set(t);let c={largeBlob:{write:o.buffer}},u={publicKey:{challenge:me(Ee),rpId:s,allowCredentials:[{type:ce,id:be(e)}],userVerification:"required",extensions:c,...r?.hints!==void 0?{hints:r.hints}:{}}},f;try{try{f=await navigator.credentials.get(u)}catch(y){if(!wt(y))throw y;Xe(),f=await navigator.credentials.get(u)}}catch(y){return we(y),30}finally{o.fill(0)}let[d,l]=Ce(f);if(l!==0)return l;if(d===void 0)return 27;if(d.getClientExtensionResults().largeBlob?.written!==!0)return 30;return 0}var xr=32;function Gi(e){if(e===void 0)return[];if(e instanceof Uint8Array)return[e];return e.filter((t)=>t.byteLength>0)}function ji(e){if(!(e instanceof Error))return!1;return e.name==="NotSupportedError"||e.name==="TypeError"}function On(e){if(e===void 0)return;let t=bt(e);if(t.byteLength<xr){t.fill(0);return}if(t.byteLength===xr)return t;let r=t.slice(0,xr);return t.fill(0),r}async function Yi(e){let t=Be();if(t!==0)return a(t);let[r,n]=Ue(e);if(n!==0)return a(n);if(r===void 0)return a(9);let s=e?.userName??pr,i=e?.displayName??s,o=me(16),c=e?.authenticatorAttachment==="cross-platform",u={residentKey:c?"discouraged":"required",requireResidentKey:!c,userVerification:c?"preferred":"required"};if(e?.authenticatorAttachment!==void 0)u.authenticatorAttachment=e.authenticatorAttachment;let f={challenge:me(Ee),rp:{id:r,name:e?.rpName??xt},user:{id:o,name:s,displayName:i},pubKeyCredParams:gt,authenticatorSelection:u,...e?.hints!==void 0?{hints:e.hints}:{},...e?.excludeCredentials!==void 0&&e.excludeCredentials.length>0?{excludeCredentials:e.excludeCredentials.map((A)=>({type:ce,id:be(A)}))}:{}},d=e?.salt!==void 0?be(e.salt):void 0,l=(A)=>It({publicKey:{...f,extensions:A&&d!==void 0?{prf:{eval:{first:d}}}:{prf:{}}}}),p;try{p=await l(d!==void 0)}catch(A){if(d===void 0||!ji(A))return we(A),a(30);try{p=await l(!1)}catch(U){return we(U),a(30)}}let[y,g]=Ce(p);if(g!==0)return a(g);if(y===void 0)return a(27);let x=y.getClientExtensionResults(),b=On(x.prf?.results?.first),I=x.prf?.enabled===!0||b!==void 0;if(c&&b!==void 0)b.fill(0);return h({credId:new Uint8Array(y.rawId),userId:new Uint8Array(o),prfEnabled:I,prf:c?void 0:b,attachment:fr(y.authenticatorAttachment),transports:dr(y),aaguid:vn(y)})}async function Mn(e){let t=Be();if(t!==0)return a(t);let[r,n]=Ue(e);if(n!==0)return a(n);if(r===void 0)return a(9);let s=e?.salt??hr,i=be(s),o={challenge:me(Ee),rpId:r,userVerification:"preferred",extensions:{prf:{eval:{first:i}}}};if(e?.hints!==void 0)o.hints=e.hints;let c=Gi(e?.credId);if(c.length>0)o.allowCredentials=c.map((y)=>({type:ce,id:be(y)}));let u;try{u=await At({publicKey:o})}catch(y){return we(y),a(30)}let[f,d]=Ce(u);if(d!==0)return a(d);if(f===void 0)return a(27);let l=f.getClientExtensionResults().prf?.results;if(l?.first===void 0)return a(7);let p=On(l.first);if(p===void 0)return a(27);return h({prf:p,credId:new Uint8Array(f.rawId),attachment:fr(f.authenticatorAttachment),transports:dr(f)})}function gr(e){if(e.byteLength!==ae)return a(10);return[e,0]}class re{#e;constructor(e){this.#e=e}static async fromRandom(e){if(e.byteLength<zi)return a(10);let t=await Z.gen256BitSecureRandomSeed(),r=oe(t,e);try{let n=await Z.blake3(r),[s,i]=gr(n);if(i!==0)return a(i);if(s===void 0)return a(12);return h(new re(s))}finally{t.fill(0),r.fill(0),e.fill(0)}}static fromBytes(e){let[t,r]=gr(e);if(r!==0)return a(r);if(t===void 0)return a(10);let[n,s]=gr(t.slice());if(s!==0)return a(s);if(n===void 0)return a(10);return h(new re(n))}async sealWithPasskey(e){let t=e?.salt??hr,r=e?.credId,n=r,s=e?.createCredIfNeeded===!0&&(r===void 0||!(r instanceof Uint8Array)&&r.length===0),i,o;if(s){let[d,l]=await Yi({rpId:e?.rpId,rpName:e?.rpName,userName:e?.userName??pr,displayName:e?.displayName,authenticatorAttachment:e?.authenticatorAttachment,hints:e?.hints,excludeCredentials:e?.excludeCredentials,salt:t});if(l!==0)return a(l);if(d===void 0)return a(30);if(!d.prfEnabled)return a(30);n=d.credId,i=d,o=d.prf}let c=async(d,l,p,y)=>{try{let[g,x]=await this.#s(d);if(x!==0)return a(x);if(g===void 0)return a(12);return h({sealedMaster:g,salt:t.slice(),credId:l.slice(),userId:i?.userId===void 0?void 0:i.userId.slice(),attachment:p??i?.attachment,transports:y??i?.transports,aaguid:i?.aaguid===void 0?void 0:i.aaguid.slice()})}finally{d.fill(0)}};if(o!==void 0&&i!==void 0)return c(o,i.credId,i.attachment,i.transports);let[u,f]=await Mn({rpId:e?.rpId,rpName:e?.rpName,credId:n,salt:t,hints:e?.hints});if(f!==0)return a(f);if(u===void 0)return a(7);return c(u.prf,u.credId,u.attachment,u.transports)}async bind(e,t){if(t!==void 0){for(let i of t)if(!await this.#a(i.credId,i.tag))return a(10)}let[r,n]=await this.sealWithPasskey(e);if(n!==0)return a(n);if(r===void 0)return a(12);let s=await this.#t(r.credId);return h({...r,tag:s})}static async unsealWithPasskey(e,t){if(e.length===0)return a(22);let r=[];for(let c of e)if(c.credId.byteLength>0)r.push(c.credId);let[n,s]=await Mn({rpId:t.rpId,rpName:t.rpName,hints:t.hints,credId:r.length>0?r:void 0,salt:t.salt});if(s!==0)return a(s);if(n===void 0)return a(7);let i=e.find((c)=>Me(c.credId,n.credId)),o=i===void 0?e:[i,...e.filter((c)=>c!==i)];try{for(let c of o){let[u]=await re.#i(c.sealedMaster,n.prf);if(u!==void 0)return h({enclave:u,credId:n.credId.slice()})}return a(20)}finally{n.prf.fill(0)}}async sealWithIkm(e){try{return await this.#s(e)}finally{e.fill(0)}}static async unsealWithIkm(e,t){try{return await re.#i(e,t)}finally{t.fill(0)}}async persistToLargeBlob(e=[],t){let r=t?.credId;if(r===void 0){let[i,o]=await kn(t);if(o!==0)return a(o);if(i===void 0)return a(30);r=i}let[n,s]=this.#o(e);if(s!==0)return a(s);if(n===void 0)return a(12);try{let i=await Hn(r,n,t);if(i!==0)return a(i);return h(r)}finally{n.fill(0)}}static async fromLargeBlob(e){let[t,r]=await _n(e?.credId,e);if(r!==0)return a(r);if(t===void 0)return a(7);try{let[n,s]=Rn(t.blob);if(s!==0)return a(s);if(n===void 0)return a(12);return h({...n,credId:t.credId})}finally{t.blob.fill(0)}}static async clearLargeBlob(e,t){return Hn(e,new Uint8Array(ae),t)}static fromPairPlain(e){return Rn(e)}static pairRequest(){return mt.create()}async pairAccept(e,t){let r;try{r=await Z.genX25519()}catch{return a(29)}try{let[n,s]=await cr(r.priv,e,e,r.pub);if(s!==0)return a(s);if(n===void 0)return a(12);try{let[i,o]=this.#o(t);if(o!==0)return a(o);if(i===void 0)return a(12);try{let c=await Z.encryptXSalsa20Poly1305Combined(i,n);return Bn(oe(r.pub,c))}catch{return a(12)}finally{i.fill(0)}}finally{n.fill(0)}}finally{r.priv.fill(0)}}spawnSyncWorker(e){let t=Dn(),r=this.#e.slice();return Ln(t,{id:e.id,op:"setSeed",seed:r,persist:e.persist},[r.buffer]),t}deriveCipher(e,t){let r=e.slice(),n=(o)=>this.#c(r,o),s=(o)=>this.#u(r,o);return{encrypt:Object.freeze({encrypt:n}),decrypt:Object.freeze({decrypt:s}),both:Object.freeze({encrypt:n,decrypt:s})}[t]}async deriveIdentity(e,t=0){let r=e,n=t,s=await this.#n(r,n),i=s.publicKey;return s.privateKey.fill(0),Object.freeze({publicKey:i,sign:(o)=>this.#d(r,n,o),kdmFor:(o)=>this.#l(r,n,o)})}async#t(e){let t=new Uint8Array(this.#e.byteLength+mr.byteLength+e.byteLength);t.set(this.#e,0),t.set(mr,this.#e.byteLength),t.set(e,this.#e.byteLength+mr.byteLength);try{return await Z.blake3(t)}finally{t.fill(0)}}async#a(e,t){if(t.byteLength!==Fi)return!1;let r=await this.#t(e);try{if(r.byteLength!==t.byteLength)return!1;let n=0;for(let s=0;s<r.byteLength;s++){let i=r[s],o=t[s];if(i===void 0||o===void 0)return!1;n|=i^o}return n===0}finally{r.fill(0)}}async#s(e){let[t,r]=await Kn(Z,e);if(r!==0)return a(r);if(t===void 0)return a(12);try{let n=await Z.encryptXSalsa20Poly1305Combined(this.#e,t);return pt(n)}catch{return a(12)}finally{t.fill(0)}}static async#i(e,t){let[,r]=pt(e);if(r!==0)return a(r);let[n,s]=await Kn(Z,t);if(s!==0)return a(s);if(n===void 0)return a(12);let i;try{try{i=await Z.decryptXSalsa20Poly1305Combined(e,n)}catch{return a(20)}return re.fromBytes(i)}finally{n.fill(0),i?.fill(0)}}#o(e){let t=new T,r=t.writeStruct(ar,{hosts:$i(e)});if(r!==0)return a(r);let n=t.result(),s=new Uint8Array(ae+n.byteLength);return s.set(this.#e,0),s.set(n,ae),[s,0]}async#c(e,t){let r=await this.#r(e);try{return await Z.encryptXSalsa20Poly1305Combined(t,r)}finally{r.fill(0)}}async#u(e,t){let r=await this.#r(e);try{return await Z.decryptXSalsa20Poly1305Combined(t,r)}finally{r.fill(0)}}async#r(e){let t=new Uint8Array(this.#e.byteLength+e.byteLength);t.set(this.#e,0),t.set(e,this.#e.byteLength);try{return await Z.blake3(t)}finally{t.fill(0)}}async#f(e,t){let r=new TextEncoder().encode(e),n=new Uint8Array(8);return new DataView(n.buffer).setBigUint64(0,BigInt(t),!1),await this.#r(oe(r,n))}async#n(e,t){let r=await this.#f(e,t);try{return await Z.deriveEd25519KeyPair(r)}finally{r.fill(0)}}async#d(e,t,r){let n=await this.#n(e,t);try{return await Z.signEd25519(r,n.privateKey)}finally{n.privateKey.fill(0)}}async#l(e,t,r){let n=await this.#n(e,t),s=oe(n.privateKey,r);n.privateKey.fill(0);try{return(await Z.blake3(s)).slice(0,Oe)}finally{s.fill(0)}}}async function Kn(e,t,r=qi){if(t.byteLength<Xi)return a(10);let n=await e.blake3(oe(t,r));return h(n.slice(0,Wi))}var Ji=new Set(["constructor","prototype","length","name"]);function Vn(e){for(let t of Object.getOwnPropertyNames(e)){if(Ji.has(t))continue;let r=Object.getOwnPropertyDescriptor(e,t);if(r===void 0||typeof r.value!=="function")continue;Object.defineProperty(e,t,{value:r.value,writable:!1,configurable:!1})}}Vn(re);Vn(re.prototype);async function Nn(e,t,r,n=0){let s=t.now(),i=new T,o=i.writeVarString(e);if(o!==0)return a(o);let u={id:i.result(),ts:new Date(0)},[f,d]=hn(u);if(d!==0)return a(d);let l=s.getTime()-u.ts.getTime();return h({eid:f,off:l,ctr:n,typ:"",len:r.length,bod:r})}async function qn(e,t,r,n){let s=new X(e.headCph),[i,o]=s.readStruct(Fe);if(o!==0)return a(o);let{sig:c,kdm:u,headCph:f}=i;if(!await n.checkSigEd25519(c,f,t))return a(3);let l=r.deriveCipher(u,"decrypt"),p;try{p=await l.decrypt(f)}catch{return a(20)}return h({kdm:u,headEnc:p})}var $e=ri(Fs(),1),xa={encode:$e.encode,decode:$e.decode,decodeAsync:$e.decodeAsync},ga=xa;import{Database as ba}from"bun:sqlite";var bl=Symbol("EntityID");var wl=Symbol("DerivationSeed"),Sl=Symbol("PublicKey"),Il=Symbol("PrivateKey"),Al=Symbol("HostSpecificKeyPair"),El=Symbol("Hash"),ge={term:0,elapsed:0,stat:{quota:0},dyn:{quota:0}};function wa(e="diplomatic.db"){let t=new ba(e);return t.exec("PRAGMA journal_mode=WAL;"),t.exec("PRAGMA synchronous=NORMAL;"),t.exec(`
2
2
  CREATE TABLE IF NOT EXISTS users (
3
3
  pubKey TEXT PRIMARY KEY
4
4
  );
@@ -1,12 +1,6 @@
1
1
  import { ICodecStruct } from "../codec.ts";
2
- import { EntityID } from "../types.ts";
3
- export interface IMessageHead {
4
- eid: EntityID;
5
- off: number;
6
- ctr: number;
7
- len: number;
8
- hsh?: Uint8Array;
9
- }
2
+ import { EntityID, IMessageHead } from "../types.ts";
3
+ export type { IMessageHead };
10
4
  export declare const messageHeadCodec: ICodecStruct<IMessageHead>;
11
5
  export interface IMinimalMessageHead {
12
6
  eid: EntityID;
@@ -5,18 +5,21 @@ interface IInsertParams {
5
5
  now: Date;
6
6
  bod: SerializedContent;
7
7
  crypto: ICrypto;
8
+ typ?: string;
8
9
  }
9
- export declare function genInsertHead({ now, bod, crypto }: IInsertParams): Promise<ValStat<IMessageHead>>;
10
- interface IUpsertParams extends Omit<IMessage, "off" | "len" | "hsh"> {
10
+ export declare function genInsertHead({ now, bod, crypto, typ }: IInsertParams): Promise<ValStat<IMessageHead>>;
11
+ interface IUpsertParams extends Omit<IMessage, "off" | "len" | "hsh" | "typ"> {
11
12
  now: Date;
12
13
  crypto: ICrypto;
14
+ typ?: string;
13
15
  }
14
- export declare function genUpsertHead({ now, eid, ctr, bod, crypto }: IUpsertParams): Promise<ValStat<IMessageHead>>;
15
- interface IDeleteParams extends Omit<IMessage, "off" | "len" | "hsh" | "bod"> {
16
+ export declare function genUpsertHead({ now, eid, ctr, typ, bod, crypto }: IUpsertParams): Promise<ValStat<IMessageHead>>;
17
+ interface IDeleteParams extends Omit<IMessage, "off" | "len" | "hsh" | "bod" | "typ"> {
16
18
  now: Date;
17
19
  crypto: ICrypto;
20
+ typ?: string;
18
21
  }
19
- export declare function genDeleteHead({ now, eid, ctr, crypto }: IDeleteParams): Promise<ValStat<IMessageHead>>;
22
+ export declare function genDeleteHead({ now, eid, ctr, typ, crypto }: IDeleteParams): Promise<ValStat<IMessageHead>>;
20
23
  export declare function genInsert({ now, bod, crypto }: IInsertParams): Promise<ValStat<IUpsertMessage>>;
21
24
  export declare function genDelete(params: IDeleteParams): Promise<ValStat<IDeleteMessage>>;
22
25
  export {};
@@ -21,10 +21,10 @@ export interface IMsgEntBody<T = unknown> {
21
21
  * dropped on apply. Omit or [] means no tags.
22
22
  */
23
23
  tags?: string[];
24
- type: string;
25
24
  body?: T;
26
25
  }
27
26
  export interface IMessageHead {
27
+ typ?: string;
28
28
  eid: EntityID;
29
29
  off: number;
30
30
  ctr: number;
@@ -37,15 +37,17 @@ export interface IMessage extends IMessageHead {
37
37
  export interface IMessageWithHash extends IMessage {
38
38
  headHash: Hash;
39
39
  }
40
- export interface IDeleteOp extends Omit<IMessageHead, "len" | "hsh" | "bod"> {
40
+ export interface IDeleteOp extends Omit<IMessageHead, "len" | "hsh" | "bod" | "typ"> {
41
41
  }
42
42
  export interface IMutateOp<T = unknown> extends IDeleteOp, Omit<IMsgEntBody<T>, "body"> {
43
+ type: string;
43
44
  body: T;
44
45
  }
45
46
  export type IOp = IDeleteOp | IMutateOp;
46
47
  export declare function isDeleteOp(op: IOp): op is IDeleteOp;
47
48
  export declare function isMutateOp(op: IOp): op is IMutateOp;
48
49
  export interface IInsertParams<T> extends IMsgEntBody<T> {
50
+ type: string;
49
51
  /** Optional 8-byte id material for the new eid; else random. */
50
52
  id?: Uint8Array;
51
53
  }
@@ -60,6 +62,7 @@ export interface IEntRev {
60
62
  updatedAt: Date;
61
63
  }
62
64
  export interface IUpdateParams<T> extends IMsgEntBody<T> {
65
+ type: string;
63
66
  prior: IEntRev;
64
67
  /** Clock-skew recovery; default client-wide (usually true). */
65
68
  force?: boolean;
@@ -101,7 +101,7 @@ export declare class SyncClient<Handle extends HostHandle> implements IClient<Ha
101
101
  private applyStored;
102
102
  /** Mark archive rows APPLIED / ERROR from apply stats (aligned with keys). */
103
103
  private markApplyStats;
104
- insertRaw(bod: EncodedMessage): Promise<ValStat<IMessageHead>>;
104
+ insertRaw(bod: EncodedMessage, typ?: string): Promise<ValStat<IMessageHead>>;
105
105
  /**
106
106
  * Build the next update/delete msg from prior. Pure: no archive I/O.
107
107
  * Returns ClockOutOfSync if prior is in the future (caller handles force).
@@ -119,7 +119,7 @@ export declare class SyncClient<Handle extends HostHandle> implements IClient<Ha
119
119
  * Replacement keeps the same id bytes with a new created-at of now.
120
120
  */
121
121
  private updateWithSkew;
122
- updateRaw(prior: IEntRev, bod: EncodedMessage | undefined, force?: boolean): Promise<ValStat<IMessageHead>>;
122
+ updateRaw(prior: IEntRev, bod: EncodedMessage | undefined, force?: boolean, typ?: string): Promise<ValStat<IMessageHead>>;
123
123
  insert<T = unknown>(op: IInsertParams<T>): Promise<ValStat<IMessageHead>>;
124
124
  update<T = unknown>(op: IUpdateParams<T>): Promise<ValStat<IMessageHead>>;
125
125
  /**
@@ -47,10 +47,9 @@ export declare class CachedEntDB implements IEntDB {
47
47
  private emit;
48
48
  private run;
49
49
  /**
50
- * Fan-out write: mem (immediate notify) + durable, then reconcile mem
51
- * from durable for the ops' eids (second notify only if something moved).
52
- * Not `async`: the mem patch+emit below must run before any await.
53
- * `{ optimistic: false }`: skip the sync prefix; notify after durable.
50
+ * Fan-out write: patch mem, queue durable, notify UI on a microtask,
51
+ * then reconcile. Not `async`: mem patch must run before any await.
52
+ * `{ optimistic: false }`: skip the mem prefix; notify after durable.
54
53
  */
55
54
  apply(ops: IOp[]): Promise<import("./entdb").ApplyResult>;
56
55
  clear(): Promise<Status>;
@@ -3,6 +3,7 @@ import { ValStat } from "../shared/valstat";
3
3
  import { EntityID, Hash, ICrypto, IEntRev, IMessageHead, IMsgEntBody, IOp } from "../shared/types";
4
4
  export { entStateManager } from "./manager.ts";
5
5
  export interface IEntity<T = unknown> extends Omit<IMsgEntBody<T>, "body"> {
6
+ type: string;
6
7
  eid: EntityID;
7
8
  updatedAt: Date;
8
9
  createdAt: Date;
@@ -3,8 +3,8 @@ import type { IEntDB } from "./entdb";
3
3
  /**
4
4
  * Build a StateManager for an EntDB.
5
5
  * When `edb` is a {@link CachedEntDB}, type notifies come from the cache
6
- * subscribe path (optimistic apply + durable reconcile / peer ingest).
7
- * cacheDriven: StateManager.apply must not emit after the applier Promise
8
- * settles — that would delay UI until durable IDB. Subscribe is the notify.
6
+ * subscribe path (mem patch + microtask notify, then durable reconcile /
7
+ * peer ingest). cacheDriven: StateManager.apply must not emit after the
8
+ * applier Promise settles — that would delay UI until durable IDB.
9
9
  */
10
10
  export declare function entStateManager(edb: IEntDB): StateManager;