@libp2p/fetch 4.1.4-cc151e147 → 4.1.5-29797a5bb
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +4 -4
- package/package.json +8 -8
package/dist/index.min.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
(function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.Libp2PFetch = factory()}(typeof self !== 'undefined' ? self : this, function () {
|
|
2
|
-
"use strict";var Libp2PFetch=(()=>{var St=Object.defineProperty;var or=Object.getOwnPropertyDescriptor;var ar=Object.getOwnPropertyNames;var cr=Object.prototype.hasOwnProperty;var E=(r,t)=>{for(var e in t)St(r,e,{get:t[e],enumerable:!0})},ur=(r,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of ar(t))!cr.call(r,i)&&i!==e&&St(r,i,{get:()=>t[i],enumerable:!(n=or(t,i))||n.enumerable});return r};var hr=r=>ur(St({},"__esModule",{value:!0}),r);var Wn={};E(Wn,{fetch:()=>qn});var j=class extends Error{static name="InvalidParametersError";constructor(t="Invalid parameters"){super(t),this.name="InvalidParametersError"}};var ct=class extends Error{static name="InvalidMessageError";constructor(t="Invalid message"){super(t),this.name="InvalidMessageError"}},ut=class extends Error{static name="ProtocolError";constructor(t="Protocol error"){super(t),this.name="ProtocolError"}};var Ct={};E(Ct,{base58btc:()=>O,base58flickr:()=>br});var Xn=new Uint8Array(0);function ye(r,t){if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0}function M(r){if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")}function Ee(r){return new TextEncoder().encode(r)}function Le(r){return new TextDecoder().decode(r)}function lr(r,t){if(r.length>=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),n=0;n<e.length;n++)e[n]=255;for(var i=0;i<r.length;i++){var s=r.charAt(i),o=s.charCodeAt(0);if(e[o]!==255)throw new TypeError(s+" is ambiguous");e[o]=i}var a=r.length,c=r.charAt(0),h=Math.log(a)/Math.log(256),u=Math.log(256)/Math.log(a);function l(d){if(d instanceof Uint8Array||(ArrayBuffer.isView(d)?d=new Uint8Array(d.buffer,d.byteOffset,d.byteLength):Array.isArray(d)&&(d=Uint8Array.from(d))),!(d instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(d.length===0)return"";for(var b=0,_=0,N=0,C=d.length;N!==C&&d[N]===0;)N++,b++;for(var U=(C-N)*u+1>>>0,v=new Uint8Array(U);N!==C;){for(var T=d[N],k=0,A=U-1;(T!==0||k<_)&&A!==-1;A--,k++)T+=256*v[A]>>>0,v[A]=T%a>>>0,T=T/a>>>0;if(T!==0)throw new Error("Non-zero carry");_=k,N++}for(var F=U-_;F!==U&&v[F]===0;)F++;for(var at=c.repeat(b);F<U;++F)at+=r.charAt(v[F]);return at}function f(d){if(typeof d!="string")throw new TypeError("Expected String");if(d.length===0)return new Uint8Array;var b=0;if(d[b]!==" "){for(var _=0,N=0;d[b]===c;)_++,b++;for(var C=(d.length-b)*h+1>>>0,U=new Uint8Array(C);d[b];){var v=e[d.charCodeAt(b)];if(v===255)return;for(var T=0,k=C-1;(v!==0||T<N)&&k!==-1;k--,T++)v+=a*U[k]>>>0,U[k]=v%256>>>0,v=v/256>>>0;if(v!==0)throw new Error("Non-zero carry");N=T,b++}if(d[b]!==" "){for(var A=C-N;A!==C&&U[A]===0;)A++;for(var F=new Uint8Array(_+(C-A)),at=_;A!==C;)F[at++]=U[A++];return F}}}function m(d){var b=f(d);if(b)return b;throw new Error(`Non-${t} character`)}return{encode:l,decodeUnsafe:f,decode:m}}var fr=lr,dr=fr,Se=dr;var It=class{name;prefix;baseEncode;constructor(t,e,n){this.name=t,this.prefix=e,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},Nt=class{name;prefix;baseDecode;prefixCodePoint;constructor(t,e,n){this.name=t,this.prefix=e;let i=e.codePointAt(0);if(i===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=i,this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return Ie(this,t)}},At=class{decoders;constructor(t){this.decoders=t}or(t){return Ie(this,t)}decode(t){let e=t[0],n=this.decoders[e];if(n!=null)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function Ie(r,t){return new At({...r.decoders??{[r.prefix]:r},...t.decoders??{[t.prefix]:t}})}var Dt=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(t,e,n,i){this.name=t,this.prefix=e,this.baseEncode=n,this.baseDecode=i,this.encoder=new It(t,e,n),this.decoder=new Nt(t,e,i)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}};function q({name:r,prefix:t,encode:e,decode:n}){return new Dt(r,t,e,n)}function B({name:r,prefix:t,alphabet:e}){let{encode:n,decode:i}=Se(e,r);return q({prefix:t,name:r,encode:n,decode:s=>M(i(s))})}function pr(r,t,e,n){let i=r.length;for(;r[i-1]==="=";)--i;let s=new Uint8Array(i*e/8|0),o=0,a=0,c=0;for(let h=0;h<i;++h){let u=t[r[h]];if(u===void 0)throw new SyntaxError(`Non-${n} character`);a=a<<e|u,o+=e,o>=8&&(o-=8,s[c++]=255&a>>o)}if(o>=e||(255&a<<8-o)!==0)throw new SyntaxError("Unexpected end of data");return s}function mr(r,t,e){let n=t[t.length-1]==="=",i=(1<<e)-1,s="",o=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],o+=8;o>e;)o-=e,s+=t[i&a>>o];if(o!==0&&(s+=t[i&a<<e-o]),n)for(;(s.length*e&7)!==0;)s+="=";return s}function gr(r){let t={};for(let e=0;e<r.length;++e)t[r[e]]=e;return t}function g({name:r,prefix:t,bitsPerChar:e,alphabet:n}){let i=gr(n);return q({prefix:t,name:r,encode(s){return mr(s,n,e)},decode(s){return pr(s,i,e,r)}})}var O=B({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),br=B({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Ut={};E(Ut,{base32:()=>W,base32hex:()=>Er,base32hexpad:()=>vr,base32hexpadupper:()=>Sr,base32hexupper:()=>Lr,base32pad:()=>xr,base32padupper:()=>yr,base32upper:()=>wr,base32z:()=>Ir});var W=g({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),wr=g({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),xr=g({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),yr=g({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Er=g({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Lr=g({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),vr=g({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Sr=g({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Ir=g({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Tt={};E(Tt,{base36:()=>Q,base36upper:()=>Nr});var Q=B({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Nr=B({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Ar=De,Ne=128,Dr=127,Cr=~Dr,Ur=Math.pow(2,31);function De(r,t,e){t=t||[],e=e||0;for(var n=e;r>=Ur;)t[e++]=r&255|Ne,r/=128;for(;r&Cr;)t[e++]=r&255|Ne,r>>>=7;return t[e]=r|0,De.bytes=e-n+1,t}var Tr=Ot,Or=128,Ae=127;function Ot(r,n){var e=0,n=n||0,i=0,s=n,o,a=r.length;do{if(s>=a)throw Ot.bytes=0,new RangeError("Could not decode varint");o=r[s++],e+=i<28?(o&Ae)<<i:(o&Ae)*Math.pow(2,i),i+=7}while(o>=Or);return Ot.bytes=s-n,e}var Fr=Math.pow(2,7),Mr=Math.pow(2,14),Rr=Math.pow(2,21),kr=Math.pow(2,28),Br=Math.pow(2,35),Pr=Math.pow(2,42),_r=Math.pow(2,49),Vr=Math.pow(2,56),zr=Math.pow(2,63),$r=function(r){return r<Fr?1:r<Mr?2:r<Rr?3:r<kr?4:r<Br?5:r<Pr?6:r<_r?7:r<Vr?8:r<zr?9:10},Gr={encode:Ar,decode:Tr,encodingLength:$r},jr=Gr,Z=jr;function tt(r,t=0){return[Z.decode(r,t),Z.decode.bytes]}function K(r,t,e=0){return Z.encode(r,t,e),t}function H(r){return Z.encodingLength(r)}function J(r,t){let e=t.byteLength,n=H(r),i=n+H(e),s=new Uint8Array(i+e);return K(r,s,0),K(e,s,n),s.set(t,i),new X(r,e,t,s)}function Ce(r){let t=M(r),[e,n]=tt(t),[i,s]=tt(t.subarray(n)),o=t.subarray(n+s);if(o.byteLength!==i)throw new Error("Incorrect length");return new X(e,i,o,t)}function Ue(r,t){if(r===t)return!0;{let e=t;return r.code===e.code&&r.size===e.size&&e.bytes instanceof Uint8Array&&ye(r.bytes,e.bytes)}}var X=class{code;size;digest;bytes;constructor(t,e,n,i){this.code=t,this.size=e,this.digest=n,this.bytes=i}};function Te(r,t){let{bytes:e,version:n}=r;return n===0?Wr(e,Ft(r),t??O.encoder):Kr(e,Ft(r),t??W.encoder)}var Oe=new WeakMap;function Ft(r){let t=Oe.get(r);if(t==null){let e=new Map;return Oe.set(r,e),e}return t}var lt=class r{code;version;multihash;bytes;"/";constructor(t,e,n,i){this.code=e,this.version=t,this.multihash=n,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:t,multihash:e}=this;if(t!==rt)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(e.code!==Hr)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return r.createV0(e)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:t,digest:e}=this.multihash,n=J(t,e);return r.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(t){return r.equals(this,t)}static equals(t,e){let n=e;return n!=null&&t.code===n.code&&t.version===n.version&&Ue(t.multihash,n.multihash)}toString(t){return Te(this,t)}toJSON(){return{"/":Te(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let e=t;if(e instanceof r)return e;if(e["/"]!=null&&e["/"]===e.bytes||e.asCID===e){let{version:n,code:i,multihash:s,bytes:o}=e;return new r(n,i,s,o??Fe(n,i,s.bytes))}else if(e[Xr]===!0){let{version:n,multihash:i,code:s}=e,o=Ce(i);return r.create(n,s,o)}else return null}static create(t,e,n){if(typeof e!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(t){case 0:{if(e!==rt)throw new Error(`Version 0 CID must use dag-pb (code: ${rt}) block encoding`);return new r(t,e,n,n.bytes)}case 1:{let i=Fe(t,e,n.bytes);return new r(t,e,n,i)}default:throw new Error("Invalid version")}}static createV0(t){return r.create(0,rt,t)}static createV1(t,e){return r.create(1,t,e)}static decode(t){let[e,n]=r.decodeFirst(t);if(n.length!==0)throw new Error("Incorrect length");return e}static decodeFirst(t){let e=r.inspectBytes(t),n=e.size-e.multihashSize,i=M(t.subarray(n,n+e.multihashSize));if(i.byteLength!==e.multihashSize)throw new Error("Incorrect length");let s=i.subarray(e.multihashSize-e.digestSize),o=new X(e.multihashCode,e.digestSize,s,i);return[e.version===0?r.createV0(o):r.createV1(e.codec,o),t.subarray(e.size)]}static inspectBytes(t){let e=0,n=()=>{let[l,f]=tt(t.subarray(e));return e+=f,l},i=n(),s=rt;if(i===18?(i=0,e=0):s=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let o=e,a=n(),c=n(),h=e+c,u=h-o;return{version:i,codec:s,multihashCode:a,digestSize:c,multihashSize:u,size:h}}static parse(t,e){let[n,i]=qr(t,e),s=r.decode(i);if(s.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Ft(s).set(n,t),s}};function qr(r,t){switch(r[0]){case"Q":{let e=t??O;return[O.prefix,e.decode(`${O.prefix}${r}`)]}case O.prefix:{let e=t??O;return[O.prefix,e.decode(r)]}case W.prefix:{let e=t??W;return[W.prefix,e.decode(r)]}case Q.prefix:{let e=t??Q;return[Q.prefix,e.decode(r)]}default:{if(t==null)throw Error("To parse non base32, base36 or base58btc encoded CID multibase decoder must be provided");return[r[0],t.decode(r)]}}}function Wr(r,t,e){let{prefix:n}=e;if(n!==O.prefix)throw Error(`Cannot string encode V0 in ${e.name} encoding`);let i=t.get(n);if(i==null){let s=e.encode(r).slice(1);return t.set(n,s),s}else return i}function Kr(r,t,e){let{prefix:n}=e,i=t.get(n);if(i==null){let s=e.encode(r);return t.set(n,s),s}else return i}var rt=112,Hr=18;function Fe(r,t,e){let n=H(r),i=n+H(t),s=new Uint8Array(i+e.byteLength);return K(r,s,0),K(t,s,n),s.set(e,i),s}var Xr=Symbol.for("@ipld/js-cid/CID");var Mt={};E(Mt,{identity:()=>Qr});var Me=0,Jr="identity",Re=M;function Yr(r,t){if(t?.truncate!=null&&t.truncate!==r.byteLength){if(t.truncate<0||t.truncate>r.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${r.byteLength}`);r=r.subarray(0,t.truncate)}return J(Me,Re(r))}var Qr={code:Me,name:Jr,encode:Re,digest:Yr};function ke(r,t){if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0}function S(r=0){return new Uint8Array(r)}function y(r=0){return new Uint8Array(r)}function Rt(r,t){t==null&&(t=r.reduce((i,s)=>i+s.length,0));let e=y(t),n=0;for(let i of r)e.set(i,n),n+=i.length;return e}var Pe=Symbol.for("@achingbrain/uint8arraylist");function Be(r,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let e=0;for(let n of r){let i=e+n.byteLength;if(t<i)return{buf:n,index:t-e};e=i}throw new RangeError("index is out of bounds")}function ft(r){return!!r?.[Pe]}var V=class r{bufs;length;[Pe]=!0;constructor(...t){this.bufs=[],this.length=0,t.length>0&&this.appendAll(t)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...t){this.appendAll(t)}appendAll(t){let e=0;for(let n of t)if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.push(n);else if(ft(n)){e+=n.byteLength;for(let i of n.bufs)this.bufs.push(i)}else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}prepend(...t){this.prependAll(t)}prependAll(t){let e=0;for(let n of t.reverse())if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.unshift(n);else if(ft(n))e+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}get(t){let e=Be(this.bufs,t);return e.buf[e.index]}set(t,e){let n=Be(this.bufs,t);n.buf[n.index]=e}write(t,e=0){if(t instanceof Uint8Array)for(let n=0;n<t.length;n++)this.set(e+n,t[n]);else if(ft(t))for(let n=0;n<t.length;n++)this.set(e+n,t.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(t){if(t=Math.trunc(t),!(Number.isNaN(t)||t<=0)){if(t===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(t>=this.bufs[0].byteLength)t-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(t),this.length-=t;break}}}slice(t,e){let{bufs:n,length:i}=this._subList(t,e);return Rt(n,i)}subarray(t,e){let{bufs:n,length:i}=this._subList(t,e);return n.length===1?n[0]:Rt(n,i)}sublist(t,e){let{bufs:n,length:i}=this._subList(t,e),s=new r;return s.length=i,s.bufs=n,s}_subList(t,e){if(t=t??0,e=e??this.length,t<0&&(t=this.length+t),e<0&&(e=this.length+e),t<0||e>this.length)throw new RangeError("index is out of bounds");if(t===e)return{bufs:[],length:0};if(t===0&&e===this.length)return{bufs:[...this.bufs],length:this.length};let n=[],i=0;for(let s=0;s<this.bufs.length;s++){let o=this.bufs[s],a=i,c=a+o.byteLength;if(i=c,t>=c)continue;let h=t>=a&&t<c,u=e>a&&e<=c;if(h&&u){if(t===a&&e===c){n.push(o);break}let l=t-a;n.push(o.subarray(l,l+(e-t)));break}if(h){if(t===0){n.push(o);continue}n.push(o.subarray(t-a));continue}if(u){if(e===c){n.push(o);break}n.push(o.subarray(0,e-a));break}n.push(o)}return{bufs:n,length:e-t}}indexOf(t,e=0){if(!ft(t)&&!(t instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=t instanceof Uint8Array?t:t.subarray();if(e=Number(e??0),isNaN(e)&&(e=0),e<0&&(e=this.length+e),e<0&&(e=0),t.length===0)return e>this.length?this.length:e;let i=n.byteLength;if(i===0)throw new TypeError("search must be at least 1 byte long");let s=256,o=new Int32Array(s);for(let l=0;l<s;l++)o[l]=-1;for(let l=0;l<i;l++)o[n[l]]=l;let a=o,c=this.byteLength-n.byteLength,h=n.byteLength-1,u;for(let l=e;l<=c;l+=u){u=0;for(let f=h;f>=0;f--){let m=this.get(l+f);if(n[f]!==m){u=Math.max(1,f-a[m]);break}}if(u===0)return l}return-1}getInt8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getInt8(0)}setInt8(t,e){let n=y(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,e),this.write(n,t)}getInt16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,e)}setInt16(t,e,n){let i=S(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt16(0,e,n),this.write(i,t)}getInt32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,e)}setInt32(t,e,n){let i=S(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt32(0,e,n),this.write(i,t)}getBigInt64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,e)}setBigInt64(t,e,n){let i=S(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigInt64(0,e,n),this.write(i,t)}getUint8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getUint8(0)}setUint8(t,e){let n=y(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,e),this.write(n,t)}getUint16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,e)}setUint16(t,e,n){let i=S(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint16(0,e,n),this.write(i,t)}getUint32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,e)}setUint32(t,e,n){let i=S(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,e,n),this.write(i,t)}getBigUint64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,e)}setBigUint64(t,e,n){let i=S(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigUint64(0,e,n),this.write(i,t)}getFloat32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,e)}setFloat32(t,e,n){let i=S(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat32(0,e,n),this.write(i,t)}getFloat64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,e)}setFloat64(t,e,n){let i=S(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,e,n),this.write(i,t)}equals(t){if(t==null||!(t instanceof r)||t.bufs.length!==this.bufs.length)return!1;for(let e=0;e<this.bufs.length;e++)if(!ke(this.bufs[e],t.bufs[e]))return!1;return!0}static fromUint8Arrays(t,e){let n=new r;return n.bufs=t,e==null&&(e=t.reduce((i,s)=>i+s.byteLength,0)),n.length=e,n}};var kt={};E(kt,{base10:()=>Zr});var Zr=B({prefix:"9",name:"base10",alphabet:"0123456789"});var Bt={};E(Bt,{base16:()=>tn,base16upper:()=>en});var tn=g({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),en=g({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Pt={};E(Pt,{base2:()=>rn});var rn=g({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var _t={};E(_t,{base256emoji:()=>cn});var _e=Array.from("\u{1F680}\u{1FA90}\u2604\u{1F6F0}\u{1F30C}\u{1F311}\u{1F312}\u{1F313}\u{1F314}\u{1F315}\u{1F316}\u{1F317}\u{1F318}\u{1F30D}\u{1F30F}\u{1F30E}\u{1F409}\u2600\u{1F4BB}\u{1F5A5}\u{1F4BE}\u{1F4BF}\u{1F602}\u2764\u{1F60D}\u{1F923}\u{1F60A}\u{1F64F}\u{1F495}\u{1F62D}\u{1F618}\u{1F44D}\u{1F605}\u{1F44F}\u{1F601}\u{1F525}\u{1F970}\u{1F494}\u{1F496}\u{1F499}\u{1F622}\u{1F914}\u{1F606}\u{1F644}\u{1F4AA}\u{1F609}\u263A\u{1F44C}\u{1F917}\u{1F49C}\u{1F614}\u{1F60E}\u{1F607}\u{1F339}\u{1F926}\u{1F389}\u{1F49E}\u270C\u2728\u{1F937}\u{1F631}\u{1F60C}\u{1F338}\u{1F64C}\u{1F60B}\u{1F497}\u{1F49A}\u{1F60F}\u{1F49B}\u{1F642}\u{1F493}\u{1F929}\u{1F604}\u{1F600}\u{1F5A4}\u{1F603}\u{1F4AF}\u{1F648}\u{1F447}\u{1F3B6}\u{1F612}\u{1F92D}\u2763\u{1F61C}\u{1F48B}\u{1F440}\u{1F62A}\u{1F611}\u{1F4A5}\u{1F64B}\u{1F61E}\u{1F629}\u{1F621}\u{1F92A}\u{1F44A}\u{1F973}\u{1F625}\u{1F924}\u{1F449}\u{1F483}\u{1F633}\u270B\u{1F61A}\u{1F61D}\u{1F634}\u{1F31F}\u{1F62C}\u{1F643}\u{1F340}\u{1F337}\u{1F63B}\u{1F613}\u2B50\u2705\u{1F97A}\u{1F308}\u{1F608}\u{1F918}\u{1F4A6}\u2714\u{1F623}\u{1F3C3}\u{1F490}\u2639\u{1F38A}\u{1F498}\u{1F620}\u261D\u{1F615}\u{1F33A}\u{1F382}\u{1F33B}\u{1F610}\u{1F595}\u{1F49D}\u{1F64A}\u{1F639}\u{1F5E3}\u{1F4AB}\u{1F480}\u{1F451}\u{1F3B5}\u{1F91E}\u{1F61B}\u{1F534}\u{1F624}\u{1F33C}\u{1F62B}\u26BD\u{1F919}\u2615\u{1F3C6}\u{1F92B}\u{1F448}\u{1F62E}\u{1F646}\u{1F37B}\u{1F343}\u{1F436}\u{1F481}\u{1F632}\u{1F33F}\u{1F9E1}\u{1F381}\u26A1\u{1F31E}\u{1F388}\u274C\u270A\u{1F44B}\u{1F630}\u{1F928}\u{1F636}\u{1F91D}\u{1F6B6}\u{1F4B0}\u{1F353}\u{1F4A2}\u{1F91F}\u{1F641}\u{1F6A8}\u{1F4A8}\u{1F92C}\u2708\u{1F380}\u{1F37A}\u{1F913}\u{1F619}\u{1F49F}\u{1F331}\u{1F616}\u{1F476}\u{1F974}\u25B6\u27A1\u2753\u{1F48E}\u{1F4B8}\u2B07\u{1F628}\u{1F31A}\u{1F98B}\u{1F637}\u{1F57A}\u26A0\u{1F645}\u{1F61F}\u{1F635}\u{1F44E}\u{1F932}\u{1F920}\u{1F927}\u{1F4CC}\u{1F535}\u{1F485}\u{1F9D0}\u{1F43E}\u{1F352}\u{1F617}\u{1F911}\u{1F30A}\u{1F92F}\u{1F437}\u260E\u{1F4A7}\u{1F62F}\u{1F486}\u{1F446}\u{1F3A4}\u{1F647}\u{1F351}\u2744\u{1F334}\u{1F4A3}\u{1F438}\u{1F48C}\u{1F4CD}\u{1F940}\u{1F922}\u{1F445}\u{1F4A1}\u{1F4A9}\u{1F450}\u{1F4F8}\u{1F47B}\u{1F910}\u{1F92E}\u{1F3BC}\u{1F975}\u{1F6A9}\u{1F34E}\u{1F34A}\u{1F47C}\u{1F48D}\u{1F4E3}\u{1F942}"),nn=_e.reduce((r,t,e)=>(r[e]=t,r),[]),sn=_e.reduce((r,t,e)=>{let n=t.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${t}`);return r[n]=e,r},[]);function on(r){return r.reduce((t,e)=>(t+=nn[e],t),"")}function an(r){let t=[];for(let e of r){let n=e.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${e}`);let i=sn[n];if(i==null)throw new Error(`Non-base256emoji character: ${e}`);t.push(i)}return new Uint8Array(t)}var cn=q({prefix:"\u{1F680}",name:"base256emoji",encode:on,decode:an});var Vt={};E(Vt,{base64:()=>un,base64pad:()=>hn,base64url:()=>ln,base64urlpad:()=>fn});var un=g({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),hn=g({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),ln=g({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),fn=g({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var zt={};E(zt,{base8:()=>dn});var dn=g({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var $t={};E($t,{identity:()=>pn});var pn=q({prefix:"\0",name:"identity",encode:r=>Le(r),decode:r=>Ee(r)});var Oi=new TextEncoder,Fi=new TextDecoder;var qt={};E(qt,{sha256:()=>wn,sha512:()=>xn});var bn=20;function jt({name:r,code:t,encode:e,minDigestLength:n,maxDigestLength:i}){return new Gt(r,t,e,n,i)}var Gt=class{name;code;encode;minDigestLength;maxDigestLength;constructor(t,e,n,i,s){this.name=t,this.code=e,this.encode=n,this.minDigestLength=i??bn,this.maxDigestLength=s}digest(t,e){if(e?.truncate!=null){if(e.truncate<this.minDigestLength)throw new Error(`Invalid truncate option, must be greater than or equal to ${this.minDigestLength}`);if(this.maxDigestLength!=null&&e.truncate>this.maxDigestLength)throw new Error(`Invalid truncate option, must be less than or equal to ${this.maxDigestLength}`)}if(t instanceof Uint8Array){let n=this.encode(t);return n instanceof Uint8Array?Ve(n,this.code,e?.truncate):n.then(i=>Ve(i,this.code,e?.truncate))}else throw Error("Unknown type, must be binary type")}};function Ve(r,t,e){if(e!=null&&e!==r.byteLength){if(e>r.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${r.byteLength}`);r=r.subarray(0,e)}return J(t,r)}function $e(r){return async t=>new Uint8Array(await crypto.subtle.digest(r,t))}var wn=jt({name:"sha2-256",code:18,encode:$e("SHA-256")}),xn=jt({name:"sha2-512",code:19,encode:$e("SHA-512")});var Wt={...$t,...Pt,...zt,...kt,...Bt,...Ut,...Tt,...Ct,...Vt,..._t},qi={...qt,...Mt};function je(r,t,e,n){return{name:r,prefix:t,encoder:{name:r,prefix:t,encode:e},decoder:{decode:n}}}var Ge=je("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),Kt=je("ascii","a",r=>{let t="a";for(let e=0;e<r.length;e++)t+=String.fromCharCode(r[e]);return t},r=>{r=r.substring(1);let t=y(r.length);for(let e=0;e<r.length;e++)t[e]=r.charCodeAt(e);return t}),yn={utf8:Ge,"utf-8":Ge,hex:Wt.base16,latin1:Kt,ascii:Kt,binary:Kt,...Wt},dt=yn;function Y(r,t="utf8"){let e=dt[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return e.decoder.decode(`${e.prefix}${r}`)}function Ht(r,t="utf8"){let e=dt[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return e.encoder.encode(r).substring(1)}var En=Math.pow(2,7),Ln=Math.pow(2,14),vn=Math.pow(2,21),Xt=Math.pow(2,28),Jt=Math.pow(2,35),Yt=Math.pow(2,42),Qt=Math.pow(2,49),p=128,w=127;function R(r){if(r<En)return 1;if(r<Ln)return 2;if(r<vn)return 3;if(r<Xt)return 4;if(r<Jt)return 5;if(r<Yt)return 6;if(r<Qt)return 7;if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Zt(r,t,e=0){switch(R(r)){case 8:t[e++]=r&255|p,r/=128;case 7:t[e++]=r&255|p,r/=128;case 6:t[e++]=r&255|p,r/=128;case 5:t[e++]=r&255|p,r/=128;case 4:t[e++]=r&255|p,r>>>=7;case 3:t[e++]=r&255|p,r>>>=7;case 2:t[e++]=r&255|p,r>>>=7;case 1:{t[e++]=r&255,r>>>=7;break}default:throw new Error("unreachable")}return t}function Sn(r,t,e=0){switch(R(r)){case 8:t.set(e++,r&255|p),r/=128;case 7:t.set(e++,r&255|p),r/=128;case 6:t.set(e++,r&255|p),r/=128;case 5:t.set(e++,r&255|p),r/=128;case 4:t.set(e++,r&255|p),r>>>=7;case 3:t.set(e++,r&255|p),r>>>=7;case 2:t.set(e++,r&255|p),r>>>=7;case 1:{t.set(e++,r&255),r>>>=7;break}default:throw new Error("unreachable")}return t}function te(r,t){let e=r[t],n=0;if(n+=e&w,e<p||(e=r[t+1],n+=(e&w)<<7,e<p)||(e=r[t+2],n+=(e&w)<<14,e<p)||(e=r[t+3],n+=(e&w)<<21,e<p)||(e=r[t+4],n+=(e&w)*Xt,e<p)||(e=r[t+5],n+=(e&w)*Jt,e<p)||(e=r[t+6],n+=(e&w)*Yt,e<p)||(e=r[t+7],n+=(e&w)*Qt,e<p))return n;throw new RangeError("Could not decode varint")}function In(r,t){let e=r.get(t),n=0;if(n+=e&w,e<p||(e=r.get(t+1),n+=(e&w)<<7,e<p)||(e=r.get(t+2),n+=(e&w)<<14,e<p)||(e=r.get(t+3),n+=(e&w)<<21,e<p)||(e=r.get(t+4),n+=(e&w)*Xt,e<p)||(e=r.get(t+5),n+=(e&w)*Jt,e<p)||(e=r.get(t+6),n+=(e&w)*Yt,e<p)||(e=r.get(t+7),n+=(e&w)*Qt,e<p))return n;throw new RangeError("Could not decode varint")}function qe(r,t,e=0){return t==null&&(t=y(R(r))),t instanceof Uint8Array?Zt(r,t,e):Sn(r,t,e)}function We(r,t=0){return r instanceof Uint8Array?te(r,t):In(r,t)}var ee=new Float32Array([-0]),P=new Uint8Array(ee.buffer);function Ke(r,t,e){ee[0]=r,t[e]=P[0],t[e+1]=P[1],t[e+2]=P[2],t[e+3]=P[3]}function He(r,t){return P[0]=r[t],P[1]=r[t+1],P[2]=r[t+2],P[3]=r[t+3],ee[0]}var re=new Float64Array([-0]),x=new Uint8Array(re.buffer);function Xe(r,t,e){re[0]=r,t[e]=x[0],t[e+1]=x[1],t[e+2]=x[2],t[e+3]=x[3],t[e+4]=x[4],t[e+5]=x[5],t[e+6]=x[6],t[e+7]=x[7]}function Je(r,t){return x[0]=r[t],x[1]=r[t+1],x[2]=r[t+2],x[3]=r[t+3],x[4]=r[t+4],x[5]=r[t+5],x[6]=r[t+6],x[7]=r[t+7],re[0]}var An=BigInt(Number.MAX_SAFE_INTEGER),Dn=BigInt(Number.MIN_SAFE_INTEGER),L=class r{lo;hi;constructor(t,e){this.lo=t|0,this.hi=e|0}toNumber(t=!1){if(!t&&this.hi>>>31>0){let e=~this.lo+1>>>0,n=~this.hi>>>0;return e===0&&(n=n+1>>>0),-(e+n*4294967296)}return this.lo+this.hi*4294967296}toBigInt(t=!1){if(t)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let e=~this.lo+1>>>0,n=~this.hi>>>0;return e===0&&(n=n+1>>>0),-(BigInt(e)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toString(t=!1){return this.toBigInt(t).toString()}zzEncode(){let t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this}zzDecode(){let t=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this}length(){let t=this.lo,e=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?e===0?t<16384?t<128?1:2:t<2097152?3:4:e<16384?e<128?5:6:e<2097152?7:8:n<128?9:10}static fromBigInt(t){if(t===0n)return z;if(t<An&&t>Dn)return this.fromNumber(Number(t));let e=t<0n;e&&(t=-t);let n=t>>32n,i=t-(n<<32n);return e&&(n=~n|0n,i=~i|0n,++i>Ye&&(i=0n,++n>Ye&&(n=0n))),new r(Number(i),Number(n))}static fromNumber(t){if(t===0)return z;let e=t<0;e&&(t=-t);let n=t>>>0,i=(t-n)/4294967296>>>0;return e&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new r(n,i)}static from(t){return typeof t=="number"?r.fromNumber(t):typeof t=="bigint"?r.fromBigInt(t):typeof t=="string"?r.fromBigInt(BigInt(t)):t.low!=null||t.high!=null?new r(t.low>>>0,t.high>>>0):z}},z=new L(0,0);z.toBigInt=function(){return 0n};z.zzEncode=z.zzDecode=function(){return this};z.length=function(){return 1};var Ye=4294967296n;function Qe(r){let t=0,e=0;for(let n=0;n<r.length;++n)e=r.charCodeAt(n),e<128?t+=1:e<2048?t+=2:(e&64512)===55296&&(r.charCodeAt(n+1)&64512)===56320?(++n,t+=4):t+=3;return t}function Ze(r,t,e){if(e-t<1)return"";let i,s=[],o=0,a;for(;t<e;)a=r[t++],a<128?s[o++]=a:a>191&&a<224?s[o++]=(a&31)<<6|r[t++]&63:a>239&&a<365?(a=((a&7)<<18|(r[t++]&63)<<12|(r[t++]&63)<<6|r[t++]&63)-65536,s[o++]=55296+(a>>10),s[o++]=56320+(a&1023)):s[o++]=(a&15)<<12|(r[t++]&63)<<6|r[t++]&63,o>8191&&((i??(i=[])).push(String.fromCharCode.apply(String,s)),o=0);return i!=null?(o>0&&i.push(String.fromCharCode.apply(String,s.slice(0,o))),i.join("")):String.fromCharCode.apply(String,s.slice(0,o))}function ne(r,t,e){let n=e,i,s;for(let o=0;o<r.length;++o)i=r.charCodeAt(o),i<128?t[e++]=i:i<2048?(t[e++]=i>>6|192,t[e++]=i&63|128):(i&64512)===55296&&((s=r.charCodeAt(o+1))&64512)===56320?(i=65536+((i&1023)<<10)+(s&1023),++o,t[e++]=i>>18|240,t[e++]=i>>12&63|128,t[e++]=i>>6&63|128,t[e++]=i&63|128):(t[e++]=i>>12|224,t[e++]=i>>6&63|128,t[e++]=i&63|128);return e-n}function D(r,t){return RangeError(`index out of range: ${r.pos} + ${t??1} > ${r.len}`)}function pt(r,t){return(r[t-4]|r[t-3]<<8|r[t-2]<<16|r[t-1]<<24)>>>0}var ie=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(t){this.buf=t,this.pos=0,this.len=t.length}uint32(){let t=4294967295;if(t=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(t=(t|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return t;if((this.pos+=5)>this.len)throw this.pos=this.len,D(this,10);return t}int32(){return this.uint32()|0}sint32(){let t=this.uint32();return t>>>1^-(t&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw D(this,4);return pt(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw D(this,4);return pt(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw D(this,4);let t=He(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw D(this,4);let t=Je(this.buf,this.pos);return this.pos+=8,t}bytes(){let t=this.uint32(),e=this.pos,n=this.pos+t;if(n>this.len)throw D(this,t);return this.pos+=t,e===n?new Uint8Array(0):this.buf.subarray(e,n)}string(){let t=this.bytes();return Ze(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw D(this,t);this.pos+=t}else do if(this.pos>=this.len)throw D(this);while((this.buf[this.pos++]&128)!==0);return this}skipType(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(t=this.uint32()&7)!==4;)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${t} at offset ${this.pos}`)}return this}readLongVarint(){let t=new L(0,0),e=0;if(this.len-this.pos>4){for(;e<4;++e)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(this.buf[this.pos]&127)<<28)>>>0,t.hi=(t.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return t;e=0}else{for(;e<3;++e){if(this.pos>=this.len)throw D(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<<e*7)>>>0,t}if(this.len-this.pos>4){for(;e<5;++e)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;e<5;++e){if(this.pos>=this.len)throw D(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw D(this,8);let t=pt(this.buf,this.pos+=4),e=pt(this.buf,this.pos+=4);return new L(t,e)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){let t=te(this.buf,this.pos);return this.pos+=R(t),t}uint64String(){return this.readLongVarint().toString(!0)}sint64(){return this.readLongVarint().zzDecode().toBigInt()}sint64Number(){return this.readLongVarint().zzDecode().toNumber()}sint64String(){return this.readLongVarint().zzDecode().toString()}fixed64(){return this.readFixed64().toBigInt()}fixed64Number(){return this.readFixed64().toNumber()}fixed64String(){return this.readFixed64().toString()}sfixed64(){return this.readFixed64().toBigInt()}sfixed64Number(){return this.readFixed64().toNumber()}sfixed64String(){return this.readFixed64().toString()}};function nt(r){return new ie(r instanceof Uint8Array?r:r.subarray())}function mt(r,t,e){let n=nt(r);return t.decode(n,void 0,e)}function se(r){let t=r??8192,e=t>>>1,n,i=t;return function(o){if(o<1||o>e)return y(o);i+o>t&&(n=y(t),i=0);let a=n.subarray(i,i+=o);return(i&7)!==0&&(i=(i|7)+1),a}}var $=class{fn;len;next;val;constructor(t,e,n){this.fn=t,this.len=e,this.next=void 0,this.val=n}};function oe(){}var ce=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},Cn=se();function Un(r){return globalThis.Buffer!=null?y(r):Cn(r)}var st=class{len;head;tail;states;constructor(){this.len=0,this.head=new $(oe,0,0),this.tail=this.head,this.states=null}_push(t,e,n){return this.tail=this.tail.next=new $(t,e,n),this.len+=e,this}uint32(t){return this.len+=(this.tail=this.tail.next=new ue((t=t>>>0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this}int32(t){return t<0?this._push(gt,10,L.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let e=L.fromBigInt(t);return this._push(gt,e.length(),e)}uint64Number(t){return this._push(Zt,R(t),t)}uint64String(t){return this.uint64(BigInt(t))}int64(t){return this.uint64(t)}int64Number(t){return this.uint64Number(t)}int64String(t){return this.uint64String(t)}sint64(t){let e=L.fromBigInt(t).zzEncode();return this._push(gt,e.length(),e)}sint64Number(t){let e=L.fromNumber(t).zzEncode();return this._push(gt,e.length(),e)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(ae,1,t?1:0)}fixed32(t){return this._push(it,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let e=L.fromBigInt(t);return this._push(it,4,e.lo)._push(it,4,e.hi)}fixed64Number(t){let e=L.fromNumber(t);return this._push(it,4,e.lo)._push(it,4,e.hi)}fixed64String(t){return this.fixed64(BigInt(t))}sfixed64(t){return this.fixed64(t)}sfixed64Number(t){return this.fixed64Number(t)}sfixed64String(t){return this.fixed64String(t)}float(t){return this._push(Ke,4,t)}double(t){return this._push(Xe,8,t)}bytes(t){let e=t.length>>>0;return e===0?this._push(ae,1,0):this.uint32(e)._push(On,e,t)}string(t){let e=Qe(t);return e!==0?this.uint32(e)._push(ne,e,t):this._push(ae,1,0)}fork(){return this.states=new ce(this),this.head=this.tail=new $(oe,0,0),this.len=0,this}reset(){return this.states!=null?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new $(oe,0,0),this.len=0),this}ldelim(){let t=this.head,e=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=t.next,this.tail=e,this.len+=n),this}finish(){let t=this.head.next,e=Un(this.len),n=0;for(;t!=null;)t.fn(t.val,e,n),n+=t.len,t=t.next;return e}};function ae(r,t,e){t[e]=r&255}function Tn(r,t,e){for(;r>127;)t[e++]=r&127|128,r>>>=7;t[e]=r}var ue=class extends ${next;constructor(t,e){super(Tn,t,e),this.next=void 0}};function gt(r,t,e){for(;r.hi!==0;)t[e++]=r.lo&127|128,r.lo=(r.lo>>>7|r.hi<<25)>>>0,r.hi>>>=7;for(;r.lo>127;)t[e++]=r.lo&127|128,r.lo=r.lo>>>7;t[e++]=r.lo}function it(r,t,e){t[e]=r&255,t[e+1]=r>>>8&255,t[e+2]=r>>>16&255,t[e+3]=r>>>24}function On(r,t,e){t.set(r,e)}globalThis.Buffer!=null&&(st.prototype.bytes=function(r){let t=r.length>>>0;return this.uint32(t),t>0&&this._push(Fn,t,r),this},st.prototype.string=function(r){let t=globalThis.Buffer.byteLength(r);return this.uint32(t),t>0&&this._push(Mn,t,r),this});function Fn(r,t,e){t.set(r,e)}function Mn(r,t,e){r.length<40?ne(r,t,e):t.utf8Write!=null?t.utf8Write(r,e):t.set(Y(r),e)}function he(){return new st}function bt(r,t){let e=he();return t.encode(r,e,{lengthDelimited:!1}),e.finish()}function*wt(r,t,e){let n=nt(r);yield*t.stream(n,void 0,"$",e)}var xt={VARINT:0,BIT64:1,LENGTH_DELIMITED:2,START_GROUP:3,END_GROUP:4,BIT32:5};function yt(r,t,e,n,i){return{name:r,type:t,encode:e,decode:n,stream:i}}function le(r){function t(s){if(r[s.toString()]==null)throw new Error("Invalid enum value");return r[s]}let e=function(o,a){let c=t(o);a.int32(c)},n=function(o){let a=o.int32();return t(a)},i=function*(o){let a=o.int32();yield t(a)};return yt("enum",xt.VARINT,e,n,i)}function Et(r,t,e){return yt("message",xt.LENGTH_DELIMITED,r,t,e)}var fe=class r extends Error{name="TimeoutError";constructor(t,e){super(t,e),Error.captureStackTrace?.(this,r)}},er=r=>r.reason??new DOMException("This operation was aborted.","AbortError");function de(r,t){let{milliseconds:e,fallback:n,message:i,customTimers:s={setTimeout,clearTimeout},signal:o}=t,a,c,u=new Promise((l,f)=>{if(typeof e!="number"||Math.sign(e)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${e}\``);if(o?.aborted){f(er(o));return}if(o&&(c=()=>{f(er(o))},o.addEventListener("abort",c,{once:!0})),r.then(l,f),e===Number.POSITIVE_INFINITY)return;let m=new fe;a=s.setTimeout.call(void 0,()=>{if(n){try{l(n())}catch(d){f(d)}return}typeof r.cancel=="function"&&r.cancel(),i===!1?l():i instanceof Error?f(i):(m.message=i??`Promise timed out after ${e} milliseconds`,f(m))},e)}).finally(()=>{u.clear(),c&&o&&o.removeEventListener("abort",c)});return u.clear=()=>{s.clearTimeout.call(void 0,a),a=void 0},u}var Rn=r=>{let t=r.addEventListener||r.on||r.addListener,e=r.removeEventListener||r.off||r.removeListener;if(!t||!e)throw new TypeError("Emitter is not compatible");return{addListener:t.bind(r),removeListener:e.bind(r)}};function kn(r,t,e){let n,i=new Promise((s,o)=>{if(e={rejectionEvents:["error"],multiArgs:!1,rejectionMultiArgs:!1,resolveImmediately:!1,...e},!(e.count>=0&&(e.count===Number.POSITIVE_INFINITY||Number.isInteger(e.count))))throw new TypeError("The `count` option should be at least 0 or more");e.signal?.throwIfAborted();let a=[t].flat(),c=[],{addListener:h,removeListener:u}=Rn(r),l=async(...m)=>{let d=e.multiArgs?m:m[0];if(e.filter)try{if(!await e.filter(d))return}catch(b){n(),o(b);return}c.push(d),e.count===c.length&&(n(),s(c))},f=(...m)=>{n(),o(e.rejectionMultiArgs?m:m[0])};n=()=>{for(let m of a)u(m,l);for(let m of e.rejectionEvents)a.includes(m)||u(m,f)};for(let m of a)h(m,l);for(let m of e.rejectionEvents)a.includes(m)||h(m,f);e.signal&&e.signal.addEventListener("abort",()=>{f(e.signal.reason)},{once:!0}),e.resolveImmediately&&s(c)});if(i.cancel=n,typeof e.timeout=="number"){let s=de(i,{milliseconds:e.timeout});return s.cancel=()=>{n(),s.clear()},s}return i}function rr(r,t,e){typeof e=="function"&&(e={filter:e}),e={...e,count:1,resolveImmediately:!1};let n=kn(r,t,e),i=n.then(s=>s[0]);return i.cancel=n.cancel,i}var G=class extends Error{static name="UnexpectedEOFError";name="UnexpectedEOFError"};function Bn(r){return r.reason}async function pe(r,t,e){if(t==null)return r;let n=e?.translateError??Bn;if(t.aborted)return r.catch(()=>{}),Promise.reject(n(t));let i;try{return await Promise.race([r,new Promise((s,o)=>{i=()=>{o(n(t))},t.addEventListener("abort",i)})])}finally{i!=null&&t.removeEventListener("abort",i)}}var _n=4194304,Lt=class extends Error{static name="UnwrappedError";name="UnwrappedError"},ge=class extends Error{name="InvalidMessageLengthError";code="ERR_INVALID_MSG_LENGTH"},be=class extends Error{name="InvalidDataLengthError";code="ERR_MSG_DATA_TOO_LONG"},we=class extends Error{name="InvalidDataLengthLengthError";code="ERR_MSG_LENGTH_TOO_LONG"};function Vn(r){return typeof r?.closeRead=="function"}function zn(r){return typeof r?.close=="function"}function me(r){return Vn(r)?r.remoteWriteStatus!=="writable"&&r.readBufferLength===0:zn(r)?r.status!=="open":!1}function $n(r){return r?.addEventListener!=null&&r?.removeEventListener!=null&&r?.send!=null&&r?.push!=null&&r?.log!=null}function Gn(r,t){let e=t?.maxBufferSize??_n,n=new V,i,s=!1;if(!$n(r))throw new j("Argument should be a Stream or a Multiaddr");let o=u=>{if(n.append(u.data),n.byteLength>e){let l=n.byteLength;n.consume(n.byteLength),i?.reject(new Error(`Read buffer overflow - ${l} > ${e}`))}i?.resolve()};r.addEventListener("message",o);let a=u=>{u.error!=null?i?.reject(u.error):i?.resolve()};r.addEventListener("close",a);let c=()=>{i?.resolve()};r.addEventListener("remoteCloseWrite",c);let h={readBuffer:n,async read(u){if(s===!0)throw new Lt("Stream was unwrapped");if(me(r)){if(n.byteLength===0&&u?.bytes==null)return null;if(u?.bytes!=null&&n.byteLength<u.bytes)throw r.log.error("closed after reading %d/%d bytes",n.byteLength,u.bytes),new G(`Unexpected EOF - stream closed after reading ${n.byteLength}/${u.bytes} bytes`)}let l=u?.bytes??1;for(i=Promise.withResolvers();;){if(n.byteLength>=l){i.resolve();break}if(await pe(i.promise,u?.signal),me(r)){if(n.byteLength===0&&u?.bytes==null)return null;break}i=Promise.withResolvers()}let f=u?.bytes??n.byteLength;if(n.byteLength<f){if(me(r))throw r.log.error("closed while reading %d/%d bytes",n.byteLength,f),new G(`Unexpected EOF - stream closed while reading ${n.byteLength}/${f} bytes`);return h.read(u)}let m=n.sublist(0,f);return n.consume(f),m},async write(u,l){if(s===!0)throw new Lt("Stream was unwrapped");r.send(u)||await rr(r,"drain",{signal:l?.signal,rejectionEvents:["close"]})},unwrap(){return s||(s=!0,r.removeEventListener("message",o),r.removeEventListener("close",a),r.removeEventListener("remoteCloseWrite",c),n.byteLength>0&&(r.log("stream unwrapped with %d unread bytes",n.byteLength),r.unshift(n))),r}};return h}function jn(r,t={}){let e=Gn(r,t);t.maxDataLength!=null&&t.maxLengthLength==null&&(t.maxLengthLength=R(t.maxDataLength));let n=t?.lengthDecoder??We,i=t?.lengthEncoder??qe;return{async read(o){let a=-1,c=new V;for(;;){let u=await e.read({...o,bytes:1});if(u==null)break;c.append(u);try{a=n(c)}catch(l){if(l instanceof RangeError)continue;throw l}if(a<0)throw new ge("Invalid message length");if(t?.maxLengthLength!=null&&c.byteLength>t.maxLengthLength)throw new we(`Message length length too long - ${c.byteLength} > ${t.maxLengthLength}`);if(a>-1)break}if(t?.maxDataLength!=null&&a>t.maxDataLength)throw new be(`Message length too long - ${a} > ${t.maxDataLength}`);let h=await e.read({...o,bytes:a});if(h==null)throw r.log.error("tried to read %d bytes but the stream closed",a),new G(`Unexpected EOF - tried to read ${a} bytes but the stream closed`);if(h.byteLength!==a)throw r.log.error("read %d/%d bytes before the stream closed",h.byteLength,a),new G(`Unexpected EOF - read ${h.byteLength}/${a} bytes before the stream closed`);return h},async write(o,a){await e.write(new V(i(o.byteLength),o),a)},async writeV(o,a){let c=new V(...o.flatMap(h=>[i(h.byteLength),h]));await e.write(c,a)},unwrap(){return e.unwrap()}}}function xe(r,t){let e=jn(r,t),n={read:async(i,s)=>{let o=await e.read(s);return i.decode(o)},write:async(i,s,o)=>{await e.write(s.encode(i),o)},writeV:async(i,s,o)=>{await e.writeV(i.map(a=>s.encode(a)),o)},pb:i=>({read:async s=>n.read(i,s),write:async(s,o)=>n.write(s,i,o),writeV:async(s,o)=>n.writeV(s,i,o),unwrap:()=>n}),unwrap:()=>e.unwrap()};return n}var nr="0.0.1",ir="fetch";var ot;(function(r){let t;r.codec=()=>(t==null&&(t=Et((s,o,a={})=>{a.lengthDelimited!==!1&&o.fork(),s.identifier!=null&&s.identifier.byteLength>0&&(o.uint32(10),o.bytes(s.identifier)),a.lengthDelimited!==!1&&o.ldelim()},(s,o,a={})=>{let c={identifier:S(0)},h=o==null?s.len:s.pos+o;for(;s.pos<h;){let u=s.uint32();u>>>3===1?c.identifier=s.bytes():s.skipType(u&7)}return c},function*(s,o,a,c={}){let h=o==null?s.len:s.pos+o;for(;s.pos<h;){let u=s.uint32();u>>>3===1?yield{field:`${a}.identifier`,value:s.bytes()}:s.skipType(u&7)}})),t);function e(s){return bt(s,r.codec())}r.encode=e;function n(s,o){return mt(s,r.codec(),o)}r.decode=n;function i(s,o){return wt(s,r.codec(),o)}r.stream=i})(ot||(ot={}));var I;(function(r){let t;(function(a){a.OK="OK",a.NOT_FOUND="NOT_FOUND",a.ERROR="ERROR"})(t=r.StatusCode||(r.StatusCode={}));let e;(function(a){a[a.OK=0]="OK",a[a.NOT_FOUND=1]="NOT_FOUND",a[a.ERROR=2]="ERROR"})(e||(e={})),(function(a){a.codec=()=>le(e)})(t=r.StatusCode||(r.StatusCode={}));let n;r.codec=()=>(n==null&&(n=Et((a,c,h={})=>{h.lengthDelimited!==!1&&c.fork(),a.status!=null&&e[a.status]!==0&&(c.uint32(8),r.StatusCode.codec().encode(a.status,c)),a.data!=null&&a.data.byteLength>0&&(c.uint32(18),c.bytes(a.data)),h.lengthDelimited!==!1&&c.ldelim()},(a,c,h={})=>{let u={status:t.OK,data:S(0)},l=c==null?a.len:a.pos+c;for(;a.pos<l;){let f=a.uint32();switch(f>>>3){case 1:{u.status=r.StatusCode.codec().decode(a);break}case 2:{u.data=a.bytes();break}default:{a.skipType(f&7);break}}}return u},function*(a,c,h,u={}){let l=c==null?a.len:a.pos+c;for(;a.pos<l;){let f=a.uint32();switch(f>>>3){case 1:{yield{field:`${h}.status`,value:r.StatusCode.codec().decode(a)};break}case 2:{yield{field:`${h}.data`,value:a.bytes()};break}default:{a.skipType(f&7);break}}}})),n);function i(a){return bt(a,r.codec())}r.encode=i;function s(a,c){return mt(a,r.codec(),c)}r.decode=s;function o(a,c){return wt(a,r.codec(),c)}r.stream=o})(I||(I={}));var sr=1e4,vt=class{protocol;components;lookupFunctions;started;init;constructor(t,e={}){this.started=!1,this.components=t,this.protocol=`/${e.protocolPrefix??"libp2p"}/${ir}/${nr}`,this.lookupFunctions=new Map,this.init=e,this.handleMessage=this.handleMessage.bind(this)}[Symbol.toStringTag]="@libp2p/fetch";async start(){await this.components.registrar.handle(this.protocol,this.handleMessage,{maxInboundStreams:this.init.maxInboundStreams,maxOutboundStreams:this.init.maxOutboundStreams}),this.started=!0}async stop(){await this.components.registrar.unhandle(this.protocol),this.started=!1}isStarted(){return this.started}async fetch(t,e,n={}){if(typeof e=="string"&&(e=Y(e)),n.signal==null){let s=this.init.timeout??sr,o=AbortSignal.timeout(s);n={...n,signal:o}}let i;try{i=await(await this.components.connectionManager.openConnection(t,n)).newStream(this.protocol,n);let o=i.log.newScope("fetch");o.trace("fetch %m",e);let a=xe(i);await a.write({identifier:e},ot,n);let c=await a.read(I,n);switch(await i.close(n),c.status){case I.StatusCode.OK:return o.trace("received status OK for %m",e),c.data;case I.StatusCode.NOT_FOUND:{o("received status NOT_FOUND for %m",e);return}case I.StatusCode.ERROR:{o("received status ERROR for %m",e);let h=Ht(c.data);throw new ut("Error in fetch protocol response: "+h)}default:throw o("received status unknown for %m",e),new ct("Unknown response status")}}catch(s){throw i?.abort(s),s}}async handleMessage(t){let e=t.log.newScope("fetch"),n=AbortSignal.timeout(this.init.timeout??sr),i=xe(t),s=await i.read(ot,{signal:n}),o,a=Ht(s.identifier),c=this._getLookupFunction(a);if(c==null){e.trace("sending status ERROR for %m",s.identifier);let h=Y("No lookup function registered for key");o={status:I.StatusCode.ERROR,data:h}}else{e.trace("lookup data with identifier %s",c.prefix);try{let h=await c.fn(s.identifier);h==null?(e.trace("sending status NOT_FOUND for %m",s.identifier),o={status:I.StatusCode.NOT_FOUND,data:new Uint8Array(0)}):(e.trace("sending status OK for %m",s.identifier),o={status:I.StatusCode.OK,data:h})}catch(h){e.error("error during lookup of %m - %e",s.identifier,h);let u=Y(h.message);o={status:I.StatusCode.ERROR,data:u}}}await i.write(o,I,{signal:n}),await t.close({signal:n})}_getLookupFunction(t){for(let e of this.lookupFunctions.keys())if(t.startsWith(e)){let n=this.lookupFunctions.get(e);if(n!=null)return{fn:n,prefix:e}}}registerLookupFunction(t,e){if(this.lookupFunctions.has(t))throw new j(`Fetch protocol handler for key prefix '${t}' already registered`);this.lookupFunctions.set(t,e)}unregisterLookupFunction(t,e){e!=null&&this.lookupFunctions.get(t)!==e||this.lookupFunctions.delete(t)}};function qn(r={}){return t=>new vt(t,r)}return hr(Wn);})();
|
|
2
|
+
"use strict";var Libp2PFetch=(()=>{var qe=Object.defineProperty;var En=Object.getOwnPropertyDescriptor;var vn=Object.getOwnPropertyNames;var Ln=Object.prototype.hasOwnProperty;var g=(r,e)=>{for(var t in e)qe(r,t,{get:e[t],enumerable:!0})},Sn=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of vn(e))!Ln.call(r,o)&&o!==t&&qe(r,o,{get:()=>e[o],enumerable:!(n=En(e,o))||n.enumerable});return r};var An=r=>Sn(qe({},"__esModule",{value:!0}),r);var xs={};g(xs,{fetch:()=>bs});var H=class extends Error{static name="InvalidParametersError";constructor(e="Invalid parameters"){super(e),this.name="InvalidParametersError"}};var Se=class extends Error{static name="InvalidMessageError";constructor(e="Invalid message"){super(e),this.name="InvalidMessageError"}},Ae=class extends Error{static name="ProtocolError";constructor(e="Protocol error"){super(e),this.name="ProtocolError"}};var We={};g(We,{base58btc:()=>M,base58flickr:()=>On});var ys=new Uint8Array(0);function cr(r,e){if(r===e)return!0;if(r.byteLength!==e.byteLength)return!1;for(let t=0;t<r.byteLength;t++)if(r[t]!==e[t])return!1;return!0}function k(r){if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")}function ur(r){return new TextEncoder().encode(r)}function hr(r){return new TextDecoder().decode(r)}function In(r,e){if(r.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),n=0;n<t.length;n++)t[n]=255;for(var o=0;o<r.length;o++){var i=r.charAt(o),s=i.charCodeAt(0);if(t[s]!==255)throw new TypeError(i+" is ambiguous");t[s]=o}var a=r.length,c=r.charAt(0),h=Math.log(a)/Math.log(256),u=Math.log(256)/Math.log(a);function l(f){if(f instanceof Uint8Array||(ArrayBuffer.isView(f)?f=new Uint8Array(f.buffer,f.byteOffset,f.byteLength):Array.isArray(f)&&(f=Uint8Array.from(f))),!(f instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(f.length===0)return"";for(var p=0,U=0,w=0,L=f.length;w!==L&&f[w]===0;)w++,p++;for(var S=(L-w)*u+1>>>0,x=new Uint8Array(S);w!==L;){for(var A=f[w],C=0,y=S-1;(A!==0||C<U)&&y!==-1;y--,C++)A+=256*x[y]>>>0,x[y]=A%a>>>0,A=A/a>>>0;if(A!==0)throw new Error("Non-zero carry");U=C,w++}for(var I=S-U;I!==S&&x[I]===0;)I++;for(var R=c.repeat(p);I<S;++I)R+=r.charAt(x[I]);return R}function d(f){if(typeof f!="string")throw new TypeError("Expected String");if(f.length===0)return new Uint8Array;var p=0;if(f[p]!==" "){for(var U=0,w=0;f[p]===c;)U++,p++;for(var L=(f.length-p)*h+1>>>0,S=new Uint8Array(L);f[p];){var x=t[f.charCodeAt(p)];if(x===255)return;for(var A=0,C=L-1;(x!==0||A<w)&&C!==-1;C--,A++)x+=a*S[C]>>>0,S[C]=x%256>>>0,x=x/256>>>0;if(x!==0)throw new Error("Non-zero carry");w=A,p++}if(f[p]!==" "){for(var y=L-w;y!==L&&S[y]===0;)y++;for(var I=new Uint8Array(U+(L-y)),R=U;y!==L;)I[R++]=S[y++];return I}}}function b(f){var p=d(f);if(p)return p;throw new Error(`Non-${e} character`)}return{encode:l,decodeUnsafe:d,decode:b}}var Cn=In,Dn=Cn,lr=Dn;var je=class{name;prefix;baseEncode;constructor(e,t,n){this.name=e,this.prefix=t,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},Ge=class{name;prefix;baseDecode;prefixCodePoint;constructor(e,t,n){this.name=e,this.prefix=t;let o=t.codePointAt(0);if(o===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=o,this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return dr(this,e)}},Je=class{decoders;constructor(e){this.decoders=e}or(e){return dr(this,e)}decode(e){let t=e[0],n=this.decoders[t];if(n!=null)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function dr(r,e){return new Je({...r.decoders??{[r.prefix]:r},...e.decoders??{[e.prefix]:e}})}var Ke=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(e,t,n,o){this.name=e,this.prefix=t,this.baseEncode=n,this.baseDecode=o,this.encoder=new je(e,t,n),this.decoder=new Ge(e,t,o)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};function Q({name:r,prefix:e,encode:t,decode:n}){return new Ke(r,e,t,n)}function $({name:r,prefix:e,alphabet:t}){let{encode:n,decode:o}=lr(t,r);return Q({prefix:e,name:r,encode:n,decode:i=>k(o(i))})}function Nn(r,e,t,n){let o=r.length;for(;r[o-1]==="=";)--o;let i=new Uint8Array(o*t/8|0),s=0,a=0,c=0;for(let h=0;h<o;++h){let u=e[r[h]];if(u===void 0)throw new SyntaxError(`Non-${n} character`);a=a<<t|u,s+=t,s>=8&&(s-=8,i[c++]=255&a>>s)}if(s>=t||(255&a<<8-s)!==0)throw new SyntaxError("Unexpected end of data");return i}function Un(r,e,t){let n=e[e.length-1]==="=",o=(1<<t)-1,i="",s=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],s+=8;s>t;)s-=t,i+=e[o&a>>s];if(s!==0&&(i+=e[o&a<<t-s]),n)for(;(i.length*t&7)!==0;)i+="=";return i}function Tn(r){let e={};for(let t=0;t<r.length;++t)e[r[t]]=t;return e}function E({name:r,prefix:e,bitsPerChar:t,alphabet:n}){let o=Tn(n);return Q({prefix:e,name:r,encode(i){return Un(i,n,t)},decode(i){return Nn(i,o,t,r)}})}var M=$({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),On=$({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Xe={};g(Xe,{base32:()=>Y,base32hex:()=>Rn,base32hexpad:()=>Pn,base32hexpadupper:()=>zn,base32hexupper:()=>kn,base32pad:()=>Mn,base32padupper:()=>Bn,base32upper:()=>Fn,base32z:()=>Vn});var Y=E({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Fn=E({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Mn=E({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Bn=E({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Rn=E({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),kn=E({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Pn=E({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),zn=E({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Vn=E({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var He={};g(He,{base36:()=>ue,base36upper:()=>$n});var ue=$({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),$n=$({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var _n=br,pr=128,qn=127,jn=~qn,Gn=Math.pow(2,31);function br(r,e,t){e=e||[],t=t||0;for(var n=t;r>=Gn;)e[t++]=r&255|pr,r/=128;for(;r&jn;)e[t++]=r&255|pr,r>>>=7;return e[t]=r|0,br.bytes=t-n+1,e}var Jn=Qe,Kn=128,mr=127;function Qe(r,n){var t=0,n=n||0,o=0,i=n,s,a=r.length;do{if(i>=a)throw Qe.bytes=0,new RangeError("Could not decode varint");s=r[i++],t+=o<28?(s&mr)<<o:(s&mr)*Math.pow(2,o),o+=7}while(s>=Kn);return Qe.bytes=i-n,t}var Wn=Math.pow(2,7),Xn=Math.pow(2,14),Hn=Math.pow(2,21),Qn=Math.pow(2,28),Yn=Math.pow(2,35),Zn=Math.pow(2,42),eo=Math.pow(2,49),to=Math.pow(2,56),ro=Math.pow(2,63),no=function(r){return r<Wn?1:r<Xn?2:r<Hn?3:r<Qn?4:r<Yn?5:r<Zn?6:r<eo?7:r<to?8:r<ro?9:10},oo={encode:_n,decode:Jn,encodingLength:no},io=oo,he=io;function fe(r,e=0){return[he.decode(r,e),he.decode.bytes]}function Z(r,e,t=0){return he.encode(r,e,t),e}function ee(r){return he.encodingLength(r)}function re(r,e){let t=e.byteLength,n=ee(r),o=n+ee(t),i=new Uint8Array(o+t);return Z(r,i,0),Z(t,i,n),i.set(e,o),new te(r,t,e,i)}function xr(r){let e=k(r),[t,n]=fe(e),[o,i]=fe(e.subarray(n)),s=e.subarray(n+i);if(s.byteLength!==o)throw new Error("Incorrect length");return new te(t,o,s,e)}function gr(r,e){if(r===e)return!0;{let t=e;return r.code===t.code&&r.size===t.size&&t.bytes instanceof Uint8Array&&cr(r.bytes,t.bytes)}}var te=class{code;size;digest;bytes;constructor(e,t,n,o){this.code=e,this.size=t,this.digest=n,this.bytes=o}};function wr(r,e){let{bytes:t,version:n}=r;return n===0?ao(t,Ye(r),e??M.encoder):co(t,Ye(r),e??Y.encoder)}var yr=new WeakMap;function Ye(r){let e=yr.get(r);if(e==null){let t=new Map;return yr.set(r,t),t}return e}var Ce=class r{code;version;multihash;bytes;"/";constructor(e,t,n,o){this.code=t,this.version=e,this.multihash=n,this.bytes=o,this["/"]=o}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:t}=this;if(e!==de)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(t.code!==uo)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return r.createV0(t)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:t}=this.multihash,n=re(e,t);return r.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return r.equals(this,e)}static equals(e,t){let n=t;return n!=null&&e.code===n.code&&e.version===n.version&&gr(e.multihash,n.multihash)}toString(e){return wr(this,e)}toJSON(){return{"/":wr(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let t=e;if(t instanceof r)return t;if(t["/"]!=null&&t["/"]===t.bytes||t.asCID===t){let{version:n,code:o,multihash:i,bytes:s}=t;return new r(n,o,i,s??Er(n,o,i.bytes))}else if(t[ho]===!0){let{version:n,multihash:o,code:i}=t,s=xr(o);return r.create(n,i,s)}else return null}static create(e,t,n){if(typeof t!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(t!==de)throw new Error(`Version 0 CID must use dag-pb (code: ${de}) block encoding`);return new r(e,t,n,n.bytes)}case 1:{let o=Er(e,t,n.bytes);return new r(e,t,n,o)}default:throw new Error("Invalid version")}}static createV0(e){return r.create(0,de,e)}static createV1(e,t){return r.create(1,e,t)}static decode(e){let[t,n]=r.decodeFirst(e);if(n.length!==0)throw new Error("Incorrect length");return t}static decodeFirst(e){let t=r.inspectBytes(e),n=t.size-t.multihashSize,o=k(e.subarray(n,n+t.multihashSize));if(o.byteLength!==t.multihashSize)throw new Error("Incorrect length");let i=o.subarray(t.multihashSize-t.digestSize),s=new te(t.multihashCode,t.digestSize,i,o);return[t.version===0?r.createV0(s):r.createV1(t.codec,s),e.subarray(t.size)]}static inspectBytes(e){let t=0,n=()=>{let[l,d]=fe(e.subarray(t));return t+=d,l},o=n(),i=de;if(o===18?(o=0,t=0):i=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let s=t,a=n(),c=n(),h=t+c,u=h-s;return{version:o,codec:i,multihashCode:a,digestSize:c,multihashSize:u,size:h}}static parse(e,t){let[n,o]=so(e,t),i=r.decode(o);if(i.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Ye(i).set(n,e),i}};function so(r,e){switch(r[0]){case"Q":{let t=e??M;return[M.prefix,t.decode(`${M.prefix}${r}`)]}case M.prefix:{let t=e??M;return[M.prefix,t.decode(r)]}case Y.prefix:{let t=e??Y;return[Y.prefix,t.decode(r)]}case ue.prefix:{let t=e??ue;return[ue.prefix,t.decode(r)]}default:{if(e==null)throw Error("To parse non base32, base36 or base58btc encoded CID multibase decoder must be provided");return[r[0],e.decode(r)]}}}function ao(r,e,t){let{prefix:n}=t;if(n!==M.prefix)throw Error(`Cannot string encode V0 in ${t.name} encoding`);let o=e.get(n);if(o==null){let i=t.encode(r).slice(1);return e.set(n,i),i}else return o}function co(r,e,t){let{prefix:n}=t,o=e.get(n);if(o==null){let i=t.encode(r);return e.set(n,i),i}else return o}var de=112,uo=18;function Er(r,e,t){let n=ee(r),o=n+ee(e),i=new Uint8Array(o+t.byteLength);return Z(r,i,0),Z(e,i,n),i.set(t,o),i}var ho=Symbol.for("@ipld/js-cid/CID");var Ze={};g(Ze,{identity:()=>po});var vr=0,fo="identity",Lr=k;function lo(r,e){if(e?.truncate!=null&&e.truncate!==r.byteLength){if(e.truncate<0||e.truncate>r.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${r.byteLength}`);r=r.subarray(0,e.truncate)}return re(vr,Lr(r))}var po={code:vr,name:fo,encode:Lr,digest:lo};function P(r=0){return new Uint8Array(r)}function pe(r=0){return new Uint8Array(r)}function et(r,e){e==null&&(e=r.reduce((o,i)=>o+i.length,0));let t=pe(e),n=0;for(let o of r)t.set(o,n),n+=o.length;return t}function Sr(r,e){if(r===e)return!0;if(r.byteLength!==e.byteLength)return!1;for(let t=0;t<r.byteLength;t++)if(r[t]!==e[t])return!1;return!0}var Ir=Symbol.for("@achingbrain/uint8arraylist");function Ar(r,e){if(e==null||e<0)throw new RangeError("index is out of bounds");let t=0;for(let n of r){let o=t+n.byteLength;if(e<o)return{buf:n,index:e-t};t=o}throw new RangeError("index is out of bounds")}function De(r){return!!r?.[Ir]}var j=class r{bufs;length;[Ir]=!0;constructor(...e){this.bufs=[],this.length=0,e.length>0&&this.appendAll(e)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...e){this.appendAll(e)}appendAll(e){let t=0;for(let n of e)if(n instanceof Uint8Array)t+=n.byteLength,this.bufs.push(n);else if(De(n)){t+=n.byteLength;for(let o of n.bufs)this.bufs.push(o)}else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=t}prepend(...e){this.prependAll(e)}prependAll(e){let t=0;for(let n of e.reverse())if(n instanceof Uint8Array)t+=n.byteLength,this.bufs.unshift(n);else if(De(n))t+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=t}get(e){let t=Ar(this.bufs,e);return t.buf[t.index]}set(e,t){let n=Ar(this.bufs,e);n.buf[n.index]=t}write(e,t=0){if(e instanceof Uint8Array)for(let n=0;n<e.length;n++)this.set(t+n,e[n]);else if(De(e))for(let n=0;n<e.length;n++)this.set(t+n,e.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(e){if(e=Math.trunc(e),!(Number.isNaN(e)||e<=0)){if(e===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(e>=this.bufs[0].byteLength)e-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(e),this.length-=e;break}}}slice(e,t){let{bufs:n,length:o}=this._subList(e,t);return et(n,o)}subarray(e,t){let{bufs:n,length:o}=this._subList(e,t);return n.length===1?n[0]:et(n,o)}sublist(e,t){let{bufs:n,length:o}=this._subList(e,t),i=new r;return i.length=o,i.bufs=n,i}_subList(e,t){if(e=e??0,t=t??this.length,e<0&&(e=this.length+e),t<0&&(t=this.length+t),e<0||t>this.length)throw new RangeError("index is out of bounds");if(e===t)return{bufs:[],length:0};if(e===0&&t===this.length)return{bufs:[...this.bufs],length:this.length};let n=[],o=0;for(let i=0;i<this.bufs.length;i++){let s=this.bufs[i],a=o,c=a+s.byteLength;if(o=c,e>=c)continue;let h=e>=a&&e<c,u=t>a&&t<=c;if(h&&u){if(e===a&&t===c){n.push(s);break}let l=e-a;n.push(s.subarray(l,l+(t-e)));break}if(h){if(e===0){n.push(s);continue}n.push(s.subarray(e-a));continue}if(u){if(t===c){n.push(s);break}n.push(s.subarray(0,t-a));break}n.push(s)}return{bufs:n,length:t-e}}indexOf(e,t=0){if(!De(e)&&!(e instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=e instanceof Uint8Array?e:e.subarray();if(t=Number(t??0),isNaN(t)&&(t=0),t<0&&(t=this.length+t),t<0&&(t=0),e.length===0)return t>this.length?this.length:t;let o=n.byteLength;if(o===0)throw new TypeError("search must be at least 1 byte long");let i=256,s=new Int32Array(i);for(let l=0;l<i;l++)s[l]=-1;for(let l=0;l<o;l++)s[n[l]]=l;let a=s,c=this.byteLength-n.byteLength,h=n.byteLength-1,u;for(let l=t;l<=c;l+=u){u=0;for(let d=h;d>=0;d--){let b=this.get(l+d);if(n[d]!==b){u=Math.max(1,d-a[b]);break}}if(u===0)return l}return-1}getInt8(e){let t=this.subarray(e,e+1);return new DataView(t.buffer,t.byteOffset,t.byteLength).getInt8(0)}setInt8(e,t){let n=pe(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,t),this.write(n,e)}getInt16(e,t){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,t)}setInt16(e,t,n){let o=P(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt16(0,t,n),this.write(o,e)}getInt32(e,t){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,t)}setInt32(e,t,n){let o=P(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt32(0,t,n),this.write(o,e)}getBigInt64(e,t){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,t)}setBigInt64(e,t,n){let o=P(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigInt64(0,t,n),this.write(o,e)}getUint8(e){let t=this.subarray(e,e+1);return new DataView(t.buffer,t.byteOffset,t.byteLength).getUint8(0)}setUint8(e,t){let n=pe(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,t),this.write(n,e)}getUint16(e,t){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,t)}setUint16(e,t,n){let o=P(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint16(0,t,n),this.write(o,e)}getUint32(e,t){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,t)}setUint32(e,t,n){let o=P(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint32(0,t,n),this.write(o,e)}getBigUint64(e,t){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,t)}setBigUint64(e,t,n){let o=P(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigUint64(0,t,n),this.write(o,e)}getFloat32(e,t){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,t)}setFloat32(e,t,n){let o=P(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat32(0,t,n),this.write(o,e)}getFloat64(e,t){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,t)}setFloat64(e,t,n){let o=P(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat64(0,t,n),this.write(o,e)}equals(e){if(e==null||!(e instanceof r)||e.bufs.length!==this.bufs.length)return!1;for(let t=0;t<this.bufs.length;t++)if(!Sr(this.bufs[t],e.bufs[t]))return!1;return!0}static fromUint8Arrays(e,t){let n=new r;return n.bufs=e,t==null&&(t=e.reduce((o,i)=>o+i.byteLength,0)),n.length=t,n}};var it={};g(it,{base10:()=>vo});var Xs=new Uint8Array(0);function Cr(r,e){if(r===e)return!0;if(r.byteLength!==e.byteLength)return!1;for(let t=0;t<r.byteLength;t++)if(r[t]!==e[t])return!1;return!0}function z(r){if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return G(r);if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return G(new Uint8Array(r.buffer,r.byteOffset,r.byteLength));throw new Error("Unknown type, must be binary type")}function Dr(r){return new TextEncoder().encode(r)}function Nr(r){return new TextDecoder().decode(r)}function mo(r){return r?.buffer instanceof ArrayBuffer}function G(r){return mo(r)?r:r.slice()}function bo(r,e){if(r.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),n=0;n<t.length;n++)t[n]=255;for(var o=0;o<r.length;o++){var i=r.charAt(o),s=i.charCodeAt(0);if(t[s]!==255)throw new TypeError(i+" is ambiguous");t[s]=o}var a=r.length,c=r.charAt(0),h=Math.log(a)/Math.log(256),u=Math.log(256)/Math.log(a);function l(f){if(f instanceof Uint8Array||(ArrayBuffer.isView(f)?f=new Uint8Array(f.buffer,f.byteOffset,f.byteLength):Array.isArray(f)&&(f=Uint8Array.from(f))),!(f instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(f.length===0)return"";for(var p=0,U=0,w=0,L=f.length;w!==L&&f[w]===0;)w++,p++;for(var S=(L-w)*u+1>>>0,x=new Uint8Array(S);w!==L;){for(var A=f[w],C=0,y=S-1;(A!==0||C<U)&&y!==-1;y--,C++)A+=256*x[y]>>>0,x[y]=A%a>>>0,A=A/a>>>0;if(A!==0)throw new Error("Non-zero carry");U=C,w++}for(var I=S-U;I!==S&&x[I]===0;)I++;for(var R=c.repeat(p);I<S;++I)R+=r.charAt(x[I]);return R}function d(f){if(typeof f!="string")throw new TypeError("Expected String");if(f.length===0)return new Uint8Array;var p=0;if(f[p]!==" "){for(var U=0,w=0;f[p]===c;)U++,p++;for(var L=(f.length-p)*h+1>>>0,S=new Uint8Array(L);f[p];){var x=t[f.charCodeAt(p)];if(x===255)return;for(var A=0,C=L-1;(x!==0||A<w)&&C!==-1;C--,A++)x+=a*S[C]>>>0,S[C]=x%256>>>0,x=x/256>>>0;if(x!==0)throw new Error("Non-zero carry");w=A,p++}if(f[p]!==" "){for(var y=L-w;y!==L&&S[y]===0;)y++;for(var I=new Uint8Array(U+(L-y)),R=U;y!==L;)I[R++]=S[y++];return I}}}function b(f){var p=d(f);if(p)return p;throw new Error(`Non-${e} character`)}return{encode:l,decodeUnsafe:d,decode:b}}var xo=bo,go=xo,Tr=go;var tt=class{name;prefix;baseEncode;constructor(e,t,n){this.name=e,this.prefix=t,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},rt=class{name;prefix;baseDecode;prefixCodePoint;constructor(e,t,n){this.name=e,this.prefix=t;let o=t.codePointAt(0);if(o===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=o,this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return Or(this,e)}},nt=class{decoders;constructor(e){this.decoders=e}or(e){return Or(this,e)}decode(e){let t=e[0],n=this.decoders[t];if(n!=null)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function Or(r,e){return new nt({...r.decoders??{[r.prefix]:r},...e.decoders??{[e.prefix]:e}})}var ot=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(e,t,n,o){this.name=e,this.prefix=t,this.baseEncode=n,this.baseDecode=o,this.encoder=new tt(e,t,n),this.decoder=new rt(e,t,o)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};function ne({name:r,prefix:e,encode:t,decode:n}){return new ot(r,e,t,n)}function _({name:r,prefix:e,alphabet:t}){let{encode:n,decode:o}=Tr(t,r);return ne({prefix:e,name:r,encode:n,decode:i=>z(o(i))})}function wo(r,e,t,n){let o=r.length;for(;r[o-1]==="=";)--o;let i=new Uint8Array(o*t/8|0),s=0,a=0,c=0;for(let h=0;h<o;++h){let u=e[r[h]];if(u===void 0)throw new SyntaxError(`Non-${n} character`);a=a<<t|u,s+=t,s>=8&&(s-=8,i[c++]=255&a>>s)}if(s>=t||(255&a<<8-s)!==0)throw new SyntaxError("Unexpected end of data");return i}function yo(r,e,t){let n=e[e.length-1]==="=",o=(1<<t)-1,i="",s=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],s+=8;s>t;)s-=t,i+=e[o&a>>s];if(s!==0&&(i+=e[o&a<<t-s]),n)for(;(i.length*t&7)!==0;)i+="=";return i}function Eo(r){let e={};for(let t=0;t<r.length;++t)e[r[t]]=t;return e}function v({name:r,prefix:e,bitsPerChar:t,alphabet:n}){let o=Eo(n);return ne({prefix:e,name:r,encode(i){return yo(i,n,t)},decode(i){return wo(i,o,t,r)}})}var vo=_({prefix:"9",name:"base10",alphabet:"0123456789"});var st={};g(st,{base16:()=>Lo,base16upper:()=>So});var Lo=v({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),So=v({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var at={};g(at,{base2:()=>Ao});var Ao=v({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var ct={};g(ct,{base256emoji:()=>Uo});var Fr=Array.from("\u{1F680}\u{1FA90}\u2604\u{1F6F0}\u{1F30C}\u{1F311}\u{1F312}\u{1F313}\u{1F314}\u{1F315}\u{1F316}\u{1F317}\u{1F318}\u{1F30D}\u{1F30F}\u{1F30E}\u{1F409}\u2600\u{1F4BB}\u{1F5A5}\u{1F4BE}\u{1F4BF}\u{1F602}\u2764\u{1F60D}\u{1F923}\u{1F60A}\u{1F64F}\u{1F495}\u{1F62D}\u{1F618}\u{1F44D}\u{1F605}\u{1F44F}\u{1F601}\u{1F525}\u{1F970}\u{1F494}\u{1F496}\u{1F499}\u{1F622}\u{1F914}\u{1F606}\u{1F644}\u{1F4AA}\u{1F609}\u263A\u{1F44C}\u{1F917}\u{1F49C}\u{1F614}\u{1F60E}\u{1F607}\u{1F339}\u{1F926}\u{1F389}\u{1F49E}\u270C\u2728\u{1F937}\u{1F631}\u{1F60C}\u{1F338}\u{1F64C}\u{1F60B}\u{1F497}\u{1F49A}\u{1F60F}\u{1F49B}\u{1F642}\u{1F493}\u{1F929}\u{1F604}\u{1F600}\u{1F5A4}\u{1F603}\u{1F4AF}\u{1F648}\u{1F447}\u{1F3B6}\u{1F612}\u{1F92D}\u2763\u{1F61C}\u{1F48B}\u{1F440}\u{1F62A}\u{1F611}\u{1F4A5}\u{1F64B}\u{1F61E}\u{1F629}\u{1F621}\u{1F92A}\u{1F44A}\u{1F973}\u{1F625}\u{1F924}\u{1F449}\u{1F483}\u{1F633}\u270B\u{1F61A}\u{1F61D}\u{1F634}\u{1F31F}\u{1F62C}\u{1F643}\u{1F340}\u{1F337}\u{1F63B}\u{1F613}\u2B50\u2705\u{1F97A}\u{1F308}\u{1F608}\u{1F918}\u{1F4A6}\u2714\u{1F623}\u{1F3C3}\u{1F490}\u2639\u{1F38A}\u{1F498}\u{1F620}\u261D\u{1F615}\u{1F33A}\u{1F382}\u{1F33B}\u{1F610}\u{1F595}\u{1F49D}\u{1F64A}\u{1F639}\u{1F5E3}\u{1F4AB}\u{1F480}\u{1F451}\u{1F3B5}\u{1F91E}\u{1F61B}\u{1F534}\u{1F624}\u{1F33C}\u{1F62B}\u26BD\u{1F919}\u2615\u{1F3C6}\u{1F92B}\u{1F448}\u{1F62E}\u{1F646}\u{1F37B}\u{1F343}\u{1F436}\u{1F481}\u{1F632}\u{1F33F}\u{1F9E1}\u{1F381}\u26A1\u{1F31E}\u{1F388}\u274C\u270A\u{1F44B}\u{1F630}\u{1F928}\u{1F636}\u{1F91D}\u{1F6B6}\u{1F4B0}\u{1F353}\u{1F4A2}\u{1F91F}\u{1F641}\u{1F6A8}\u{1F4A8}\u{1F92C}\u2708\u{1F380}\u{1F37A}\u{1F913}\u{1F619}\u{1F49F}\u{1F331}\u{1F616}\u{1F476}\u{1F974}\u25B6\u27A1\u2753\u{1F48E}\u{1F4B8}\u2B07\u{1F628}\u{1F31A}\u{1F98B}\u{1F637}\u{1F57A}\u26A0\u{1F645}\u{1F61F}\u{1F635}\u{1F44E}\u{1F932}\u{1F920}\u{1F927}\u{1F4CC}\u{1F535}\u{1F485}\u{1F9D0}\u{1F43E}\u{1F352}\u{1F617}\u{1F911}\u{1F30A}\u{1F92F}\u{1F437}\u260E\u{1F4A7}\u{1F62F}\u{1F486}\u{1F446}\u{1F3A4}\u{1F647}\u{1F351}\u2744\u{1F334}\u{1F4A3}\u{1F438}\u{1F48C}\u{1F4CD}\u{1F940}\u{1F922}\u{1F445}\u{1F4A1}\u{1F4A9}\u{1F450}\u{1F4F8}\u{1F47B}\u{1F910}\u{1F92E}\u{1F3BC}\u{1F975}\u{1F6A9}\u{1F34E}\u{1F34A}\u{1F47C}\u{1F48D}\u{1F4E3}\u{1F942}"),Io=Fr.reduce((r,e,t)=>(r[t]=e,r),[]),Co=Fr.reduce((r,e,t)=>{let n=e.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${e}`);return r[n]=t,r},[]);function Do(r){return r.reduce((e,t)=>(e+=Io[t],e),"")}function No(r){let e=[];for(let t of r){let n=t.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${t}`);let o=Co[n];if(o==null)throw new Error(`Non-base256emoji character: ${t}`);e.push(o)}return new Uint8Array(e)}var Uo=ne({prefix:"\u{1F680}",name:"base256emoji",encode:Do,decode:No});var ut={};g(ut,{base32:()=>oe,base32hex:()=>Mo,base32hexpad:()=>Ro,base32hexpadupper:()=>ko,base32hexupper:()=>Bo,base32pad:()=>Oo,base32padupper:()=>Fo,base32upper:()=>To,base32z:()=>Po});var oe=v({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),To=v({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Oo=v({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Fo=v({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Mo=v({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Bo=v({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Ro=v({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),ko=v({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Po=v({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var ht={};g(ht,{base36:()=>me,base36upper:()=>zo});var me=_({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),zo=_({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var ft={};g(ft,{base58btc:()=>B,base58flickr:()=>Vo});var B=_({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Vo=_({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var lt={};g(lt,{base64:()=>$o,base64pad:()=>_o,base64url:()=>qo,base64urlpad:()=>jo});var $o=v({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),_o=v({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),qo=v({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),jo=v({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var dt={};g(dt,{base8:()=>Go});var Go=v({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var pt={};g(pt,{identity:()=>Jo});var Jo=ne({prefix:"\0",name:"identity",encode:r=>Nr(r),decode:r=>Dr(r)});var fa=new TextEncoder,la=new TextDecoder;var bt={};g(bt,{identity:()=>mi});var Xo=Rr,Mr=128,Ho=127,Qo=~Ho,Yo=Math.pow(2,31);function Rr(r,e,t){e=e||[],t=t||0;for(var n=t;r>=Yo;)e[t++]=r&255|Mr,r/=128;for(;r&Qo;)e[t++]=r&255|Mr,r>>>=7;return e[t]=r|0,Rr.bytes=t-n+1,e}var Zo=mt,ei=128,Br=127;function mt(r,n){var t=0,n=n||0,o=0,i=n,s,a=r.length;do{if(i>=a)throw mt.bytes=0,new RangeError("Could not decode varint");s=r[i++],t+=o<28?(s&Br)<<o:(s&Br)*Math.pow(2,o),o+=7}while(s>=ei);return mt.bytes=i-n,t}var ti=Math.pow(2,7),ri=Math.pow(2,14),ni=Math.pow(2,21),oi=Math.pow(2,28),ii=Math.pow(2,35),si=Math.pow(2,42),ai=Math.pow(2,49),ci=Math.pow(2,56),ui=Math.pow(2,63),hi=function(r){return r<ti?1:r<ri?2:r<ni?3:r<oi?4:r<ii?5:r<si?6:r<ai?7:r<ci?8:r<ui?9:10},fi={encode:Xo,decode:Zo,encodingLength:hi},li=fi,be=li;function xe(r,e=0){return[be.decode(r,e),be.decode.bytes]}function ie(r,e,t=0){return be.encode(r,e,t),e}function se(r){return be.encodingLength(r)}function ce(r,e){let t=e.byteLength,n=se(r),o=n+se(t),i=new Uint8Array(o+t);return ie(r,i,0),ie(t,i,n),i.set(e,o),new ae(r,t,e,i)}function kr(r){let e=z(r),[t,n]=xe(e),[o,i]=xe(e.subarray(n)),s=e.subarray(n+i);if(s.byteLength!==o)throw new Error("Incorrect length");return new ae(t,o,s,e)}function Pr(r,e){if(r===e)return!0;{let t=e;return r.code===t.code&&r.size===t.size&&t.bytes instanceof Uint8Array&&Cr(r.bytes,t.bytes)}}var ae=class{code;size;digest;bytes;constructor(e,t,n,o){this.code=e,this.size=t,this.digest=G(n),this.bytes=G(o)}};var zr=0,di="identity",Vr=z;function pi(r,e){if(e?.truncate!=null&&e.truncate!==r.byteLength){if(e.truncate<0||e.truncate>r.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${r.byteLength}`);r=r.subarray(0,e.truncate)}return ce(zr,Vr(r))}var mi={code:zr,name:di,encode:Vr,digest:pi};var wt={};g(wt,{sha256:()=>xi,sha512:()=>gi});var bi=20;function gt({name:r,code:e,encode:t,minDigestLength:n,maxDigestLength:o}){return new xt(r,e,t,n,o)}var xt=class{name;code;encode;minDigestLength;maxDigestLength;constructor(e,t,n,o,i){this.name=e,this.code=t,this.encode=n,this.minDigestLength=o??bi,this.maxDigestLength=i}digest(e,t){if(t?.truncate!=null){if(t.truncate<this.minDigestLength)throw new Error(`Invalid truncate option, must be greater than or equal to ${this.minDigestLength}`);if(this.maxDigestLength!=null&&t.truncate>this.maxDigestLength)throw new Error(`Invalid truncate option, must be less than or equal to ${this.maxDigestLength}`)}if(e instanceof Uint8Array){let n=this.encode(e);return n instanceof Uint8Array?$r(n,this.code,t?.truncate):n.then(o=>$r(o,this.code,t?.truncate))}else throw Error("Unknown type, must be binary type")}};function $r(r,e,t){if(t!=null&&t!==r.byteLength){if(t>r.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${r.byteLength}`);r=r.subarray(0,t)}return ce(e,r)}function qr(r){return async e=>new Uint8Array(await crypto.subtle.digest(r,e))}var xi=gt({name:"sha2-256",code:18,encode:qr("SHA-256")}),gi=gt({name:"sha2-512",code:19,encode:qr("SHA-512")});function jr(r,e){let{bytes:t,version:n}=r;return n===0?yi(t,yt(r),e??B.encoder):Ei(t,yt(r),e??oe.encoder)}var Gr=new WeakMap;function yt(r){let e=Gr.get(r);if(e==null){let t=new Map;return Gr.set(r,t),t}return e}var Ue=class r{code;version;multihash;bytes;"/";constructor(e,t,n,o){this.code=t,this.version=e,this.multihash=n,this.bytes=G(o),this["/"]=this.bytes}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:t}=this;if(e!==we)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(t.code!==vi)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return r.createV0(t)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:t}=this.multihash,n=ce(e,t);return r.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return r.equals(this,e)}static equals(e,t){let n=t;return n!=null&&e.code===n.code&&e.version===n.version&&Pr(e.multihash,n.multihash)}toString(e){return jr(this,e)}toJSON(){return{"/":jr(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let t=e;if(t instanceof r)return t;if(t["/"]!=null&&t["/"]===t.bytes||t.asCID===t){let{version:n,code:o,multihash:i,bytes:s}=t;return new r(n,o,i,s??Jr(n,o,i.bytes))}else if(t[Li]===!0){let{version:n,multihash:o,code:i}=t,s=kr(o);return r.create(n,i,s)}else return null}static create(e,t,n){if(typeof t!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(t!==we)throw new Error(`Version 0 CID must use dag-pb (code: ${we}) block encoding`);return new r(e,t,n,n.bytes)}case 1:{let o=Jr(e,t,n.bytes);return new r(e,t,n,o)}default:throw new Error("Invalid version")}}static createV0(e){return r.create(0,we,e)}static createV1(e,t){return r.create(1,e,t)}static decode(e){let[t,n]=r.decodeFirst(e);if(n.length!==0)throw new Error("Incorrect length");return t}static decodeFirst(e){let t=r.inspectBytes(e),n=t.size-t.multihashSize,o=z(e.subarray(n,n+t.multihashSize));if(o.byteLength!==t.multihashSize)throw new Error("Incorrect length");let i=o.subarray(t.multihashSize-t.digestSize),s=new ae(t.multihashCode,t.digestSize,i,o);return[t.version===0?r.createV0(s):r.createV1(t.codec,s),e.subarray(t.size)]}static inspectBytes(e){let t=0,n=()=>{let[l,d]=xe(e.subarray(t));return t+=d,l},o=n(),i=we;if(o===18?(o=0,t=0):i=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let s=t,a=n(),c=n(),h=t+c,u=h-s;return{version:o,codec:i,multihashCode:a,digestSize:c,multihashSize:u,size:h}}static parse(e,t){let[n,o]=wi(e,t),i=r.decode(o);if(i.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return yt(i).set(n,e),i}};function wi(r,e){switch(r[0]){case"Q":{let t=e??B;return[B.prefix,t.decode(`${B.prefix}${r}`)]}case B.prefix:{let t=e??B;return[B.prefix,t.decode(r)]}case oe.prefix:{let t=e??oe;return[oe.prefix,t.decode(r)]}case me.prefix:{let t=e??me;return[me.prefix,t.decode(r)]}default:{if(e==null)throw Error("To parse non base32, base36 or base58btc encoded CID multibase decoder must be provided");return[r[0],e.decode(r)]}}}function yi(r,e,t){let{prefix:n}=t;if(n!==B.prefix)throw Error(`Cannot string encode V0 in ${t.name} encoding`);let o=e.get(n);if(o==null){let i=t.encode(r).slice(1);return e.set(n,i),i}else return o}function Ei(r,e,t){let{prefix:n}=t,o=e.get(n);if(o==null){let i=t.encode(r);return e.set(n,i),i}else return o}var we=112,vi=18;function Jr(r,e,t){let n=se(r),o=n+se(e),i=new Uint8Array(o+t.byteLength);return ie(r,i,0),ie(e,i,n),i.set(t,o),i}var Li=Symbol.for("@ipld/js-cid/CID");var Et={...pt,...at,...dt,...it,...st,...ut,...ht,...ft,...lt,...ct},Ma={...wt,...bt};function vt(r=0){return new Uint8Array(r)}function Kr(r=0){return new Uint8Array(r)}function Xr(r,e,t,n){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:t},decoder:{decode:n}}}var Wr=Xr("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),Lt=Xr("ascii","a",r=>{let e="a";for(let t=0;t<r.length;t++)e+=String.fromCharCode(r[t]);return e},r=>{r=r.substring(1);let e=Kr(r.length);for(let t=0;t<r.length;t++)e[t]=r.charCodeAt(t);return e}),Si={utf8:Wr,"utf-8":Wr,hex:Et.base16,latin1:Lt,ascii:Lt,binary:Lt,...Et},Te=Si;function Oe(r,e="utf8"){let t=Te[e];if(t==null)throw new Error(`Unsupported encoding "${e}"`);return t.decoder.decode(`${t.prefix}${r}`)}function St(r,e="utf8"){let t=Te[e];if(t==null)throw new Error(`Unsupported encoding "${e}"`);return t.encoder.encode(r).substring(1)}function Hr(r=0){return new Uint8Array(r)}var Ai=Math.pow(2,7),Ii=Math.pow(2,14),Ci=Math.pow(2,21),At=Math.pow(2,28),It=Math.pow(2,35),Ct=Math.pow(2,42),Dt=Math.pow(2,49),m=128,D=127;function V(r){if(r<Ai)return 1;if(r<Ii)return 2;if(r<Ci)return 3;if(r<At)return 4;if(r<It)return 5;if(r<Ct)return 6;if(r<Dt)return 7;if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Nt(r,e,t=0){switch(V(r)){case 8:e[t++]=r&255|m,r/=128;case 7:e[t++]=r&255|m,r/=128;case 6:e[t++]=r&255|m,r/=128;case 5:e[t++]=r&255|m,r/=128;case 4:e[t++]=r&255|m,r>>>=7;case 3:e[t++]=r&255|m,r>>>=7;case 2:e[t++]=r&255|m,r>>>=7;case 1:{e[t++]=r&255,r>>>=7;break}default:throw new Error("unreachable")}return e}function Di(r,e,t=0){switch(V(r)){case 8:e.set(t++,r&255|m),r/=128;case 7:e.set(t++,r&255|m),r/=128;case 6:e.set(t++,r&255|m),r/=128;case 5:e.set(t++,r&255|m),r/=128;case 4:e.set(t++,r&255|m),r>>>=7;case 3:e.set(t++,r&255|m),r>>>=7;case 2:e.set(t++,r&255|m),r>>>=7;case 1:{e.set(t++,r&255),r>>>=7;break}default:throw new Error("unreachable")}return e}function Ut(r,e){let t=r[e],n=0;if(n+=t&D,t<m||(t=r[e+1],n+=(t&D)<<7,t<m)||(t=r[e+2],n+=(t&D)<<14,t<m)||(t=r[e+3],n+=(t&D)<<21,t<m)||(t=r[e+4],n+=(t&D)*At,t<m)||(t=r[e+5],n+=(t&D)*It,t<m)||(t=r[e+6],n+=(t&D)*Ct,t<m)||(t=r[e+7],n+=(t&D)*Dt,t<m))return n;throw new RangeError("Could not decode varint")}function Ni(r,e){let t=r.get(e),n=0;if(n+=t&D,t<m||(t=r.get(e+1),n+=(t&D)<<7,t<m)||(t=r.get(e+2),n+=(t&D)<<14,t<m)||(t=r.get(e+3),n+=(t&D)<<21,t<m)||(t=r.get(e+4),n+=(t&D)*At,t<m)||(t=r.get(e+5),n+=(t&D)*It,t<m)||(t=r.get(e+6),n+=(t&D)*Ct,t<m)||(t=r.get(e+7),n+=(t&D)*Dt,t<m))return n;throw new RangeError("Could not decode varint")}function Qr(r,e,t=0){return e==null&&(e=Hr(V(r))),e instanceof Uint8Array?Nt(r,e,t):Di(r,e,t)}function Yr(r,e=0){return r instanceof Uint8Array?Ut(r,e):Ni(r,e)}var Tt=new Float32Array([-0]),q=new Uint8Array(Tt.buffer);function Zr(r,e,t){Tt[0]=r,e[t]=q[0],e[t+1]=q[1],e[t+2]=q[2],e[t+3]=q[3]}function en(r,e){return q[0]=r[e],q[1]=r[e+1],q[2]=r[e+2],q[3]=r[e+3],Tt[0]}var Ot=new Float64Array([-0]),N=new Uint8Array(Ot.buffer);function tn(r,e,t){Ot[0]=r,e[t]=N[0],e[t+1]=N[1],e[t+2]=N[2],e[t+3]=N[3],e[t+4]=N[4],e[t+5]=N[5],e[t+6]=N[6],e[t+7]=N[7]}function rn(r,e){return N[0]=r[e],N[1]=r[e+1],N[2]=r[e+2],N[3]=r[e+3],N[4]=r[e+4],N[5]=r[e+5],N[6]=r[e+6],N[7]=r[e+7],Ot[0]}var Ti=BigInt(Number.MAX_SAFE_INTEGER),Oi=BigInt(Number.MIN_SAFE_INTEGER),T=class r{lo;hi;constructor(e,t){this.lo=e|0,this.hi=t|0}toNumber(e=!1){if(!e&&this.hi>>>31>0){let t=~this.lo+1>>>0,n=~this.hi>>>0;return t===0&&(n=n+1>>>0),-(t+n*4294967296)}return this.lo+this.hi*4294967296}toBigInt(e=!1){if(e)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let t=~this.lo+1>>>0,n=~this.hi>>>0;return t===0&&(n=n+1>>>0),-(BigInt(t)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toString(e=!1){return this.toBigInt(e).toString()}zzEncode(){let e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this}zzDecode(){let e=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this}length(){let e=this.lo,t=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?t===0?e<16384?e<128?1:2:e<2097152?3:4:t<16384?t<128?5:6:t<2097152?7:8:n<128?9:10}static fromBigInt(e){if(e===0n)return J;if(e<Ti&&e>Oi)return this.fromNumber(Number(e));let t=e<0n;t&&(e=-e);let n=e>>32n,o=e-(n<<32n);return t&&(n=~n|0n,o=~o|0n,++o>nn&&(o=0n,++n>nn&&(n=0n))),new r(Number(o),Number(n))}static fromNumber(e){if(e===0)return J;let t=e<0;t&&(e=-e);let n=e>>>0,o=(e-n)/4294967296>>>0;return t&&(o=~o>>>0,n=~n>>>0,++n>4294967295&&(n=0,++o>4294967295&&(o=0))),new r(n,o)}static from(e){return typeof e=="number"?r.fromNumber(e):typeof e=="bigint"?r.fromBigInt(e):typeof e=="string"?r.fromBigInt(BigInt(e)):e.low!=null||e.high!=null?new r(e.low>>>0,e.high>>>0):J}},J=new T(0,0);J.toBigInt=function(){return 0n};J.zzEncode=J.zzDecode=function(){return this};J.length=function(){return 1};var nn=4294967296n;function on(r){let e=0,t=0;for(let n=0;n<r.length;++n)t=r.charCodeAt(n),t<128?e+=1:t<2048?e+=2:(t&64512)===55296&&(r.charCodeAt(n+1)&64512)===56320?(++n,e+=4):e+=3;return e}function sn(r,e,t){if(t-e<1)return"";let o,i=[],s=0,a;for(;e<t;)a=r[e++],a<128?i[s++]=a:a>191&&a<224?i[s++]=(a&31)<<6|r[e++]&63:a>239&&a<365?(a=((a&7)<<18|(r[e++]&63)<<12|(r[e++]&63)<<6|r[e++]&63)-65536,i[s++]=55296+(a>>10),i[s++]=56320+(a&1023)):i[s++]=(a&15)<<12|(r[e++]&63)<<6|r[e++]&63,s>8191&&((o??(o=[])).push(String.fromCharCode.apply(String,i)),s=0);return o!=null?(s>0&&o.push(String.fromCharCode.apply(String,i.slice(0,s))),o.join("")):String.fromCharCode.apply(String,i.slice(0,s))}function Ft(r,e,t){let n=t,o,i;for(let s=0;s<r.length;++s)o=r.charCodeAt(s),o<128?e[t++]=o:o<2048?(e[t++]=o>>6|192,e[t++]=o&63|128):(o&64512)===55296&&((i=r.charCodeAt(s+1))&64512)===56320?(o=65536+((o&1023)<<10)+(i&1023),++s,e[t++]=o>>18|240,e[t++]=o>>12&63|128,e[t++]=o>>6&63|128,e[t++]=o&63|128):(e[t++]=o>>12|224,e[t++]=o>>6&63|128,e[t++]=o&63|128);return t-n}function F(r,e){return RangeError(`index out of range: ${r.pos} + ${e??1} > ${r.len}`)}function Fe(r,e){return(r[e-4]|r[e-3]<<8|r[e-2]<<16|r[e-1]<<24)>>>0}var Mt=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(e){this.buf=e,this.pos=0,this.len=e.length}uint32(){let e=4294967295;if(e=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(e=(e|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return e;if((this.pos+=5)>this.len)throw this.pos=this.len,F(this,10);return e}int32(){return this.uint32()|0}sint32(){let e=this.uint32();return e>>>1^-(e&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw F(this,4);return Fe(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw F(this,4);return Fe(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw F(this,4);let e=en(this.buf,this.pos);return this.pos+=4,e}double(){if(this.pos+8>this.len)throw F(this,4);let e=rn(this.buf,this.pos);return this.pos+=8,e}bytes(){let e=this.uint32(),t=this.pos,n=this.pos+e;if(n>this.len)throw F(this,e);return this.pos+=e,t===n?new Uint8Array(0):this.buf.subarray(t,n)}string(){let e=this.bytes();return sn(e,0,e.length)}skip(e){if(typeof e=="number"){if(this.pos+e>this.len)throw F(this,e);this.pos+=e}else do if(this.pos>=this.len)throw F(this);while((this.buf[this.pos++]&128)!==0);return this}skipType(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(e=this.uint32()&7)!==4;)this.skipType(e);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${e} at offset ${this.pos}`)}return this}readLongVarint(){let e=new T(0,0),t=0;if(this.len-this.pos>4){for(;t<4;++t)if(e.lo=(e.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(this.buf[this.pos]&127)<<28)>>>0,e.hi=(e.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return e;t=0}else{for(;t<3;++t){if(this.pos>=this.len)throw F(this);if(e.lo=(e.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(this.buf[this.pos++]&127)<<t*7)>>>0,e}if(this.len-this.pos>4){for(;t<5;++t)if(e.hi=(e.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return e}else for(;t<5;++t){if(this.pos>=this.len)throw F(this);if(e.hi=(e.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw F(this,8);let e=Fe(this.buf,this.pos+=4),t=Fe(this.buf,this.pos+=4);return new T(e,t)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){let e=Ut(this.buf,this.pos);return this.pos+=V(e),e}uint64String(){return this.readLongVarint().toString(!0)}sint64(){return this.readLongVarint().zzDecode().toBigInt()}sint64Number(){return this.readLongVarint().zzDecode().toNumber()}sint64String(){return this.readLongVarint().zzDecode().toString()}fixed64(){return this.readFixed64().toBigInt()}fixed64Number(){return this.readFixed64().toNumber()}fixed64String(){return this.readFixed64().toString()}sfixed64(){return this.readFixed64().toBigInt()}sfixed64Number(){return this.readFixed64().toNumber()}sfixed64String(){return this.readFixed64().toString()}};function ye(r){return new Mt(r instanceof Uint8Array?r:r.subarray())}function Me(r,e,t){let n=ye(r);return e.decode(n,void 0,t)}function K(r=0){return new Uint8Array(r)}var Bt={};g(Bt,{base10:()=>Fi});var Fi=$({prefix:"9",name:"base10",alphabet:"0123456789"});var Rt={};g(Rt,{base16:()=>Mi,base16upper:()=>Bi});var Mi=E({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Bi=E({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var kt={};g(kt,{base2:()=>Ri});var Ri=E({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Pt={};g(Pt,{base256emoji:()=>$i});var cn=Array.from("\u{1F680}\u{1FA90}\u2604\u{1F6F0}\u{1F30C}\u{1F311}\u{1F312}\u{1F313}\u{1F314}\u{1F315}\u{1F316}\u{1F317}\u{1F318}\u{1F30D}\u{1F30F}\u{1F30E}\u{1F409}\u2600\u{1F4BB}\u{1F5A5}\u{1F4BE}\u{1F4BF}\u{1F602}\u2764\u{1F60D}\u{1F923}\u{1F60A}\u{1F64F}\u{1F495}\u{1F62D}\u{1F618}\u{1F44D}\u{1F605}\u{1F44F}\u{1F601}\u{1F525}\u{1F970}\u{1F494}\u{1F496}\u{1F499}\u{1F622}\u{1F914}\u{1F606}\u{1F644}\u{1F4AA}\u{1F609}\u263A\u{1F44C}\u{1F917}\u{1F49C}\u{1F614}\u{1F60E}\u{1F607}\u{1F339}\u{1F926}\u{1F389}\u{1F49E}\u270C\u2728\u{1F937}\u{1F631}\u{1F60C}\u{1F338}\u{1F64C}\u{1F60B}\u{1F497}\u{1F49A}\u{1F60F}\u{1F49B}\u{1F642}\u{1F493}\u{1F929}\u{1F604}\u{1F600}\u{1F5A4}\u{1F603}\u{1F4AF}\u{1F648}\u{1F447}\u{1F3B6}\u{1F612}\u{1F92D}\u2763\u{1F61C}\u{1F48B}\u{1F440}\u{1F62A}\u{1F611}\u{1F4A5}\u{1F64B}\u{1F61E}\u{1F629}\u{1F621}\u{1F92A}\u{1F44A}\u{1F973}\u{1F625}\u{1F924}\u{1F449}\u{1F483}\u{1F633}\u270B\u{1F61A}\u{1F61D}\u{1F634}\u{1F31F}\u{1F62C}\u{1F643}\u{1F340}\u{1F337}\u{1F63B}\u{1F613}\u2B50\u2705\u{1F97A}\u{1F308}\u{1F608}\u{1F918}\u{1F4A6}\u2714\u{1F623}\u{1F3C3}\u{1F490}\u2639\u{1F38A}\u{1F498}\u{1F620}\u261D\u{1F615}\u{1F33A}\u{1F382}\u{1F33B}\u{1F610}\u{1F595}\u{1F49D}\u{1F64A}\u{1F639}\u{1F5E3}\u{1F4AB}\u{1F480}\u{1F451}\u{1F3B5}\u{1F91E}\u{1F61B}\u{1F534}\u{1F624}\u{1F33C}\u{1F62B}\u26BD\u{1F919}\u2615\u{1F3C6}\u{1F92B}\u{1F448}\u{1F62E}\u{1F646}\u{1F37B}\u{1F343}\u{1F436}\u{1F481}\u{1F632}\u{1F33F}\u{1F9E1}\u{1F381}\u26A1\u{1F31E}\u{1F388}\u274C\u270A\u{1F44B}\u{1F630}\u{1F928}\u{1F636}\u{1F91D}\u{1F6B6}\u{1F4B0}\u{1F353}\u{1F4A2}\u{1F91F}\u{1F641}\u{1F6A8}\u{1F4A8}\u{1F92C}\u2708\u{1F380}\u{1F37A}\u{1F913}\u{1F619}\u{1F49F}\u{1F331}\u{1F616}\u{1F476}\u{1F974}\u25B6\u27A1\u2753\u{1F48E}\u{1F4B8}\u2B07\u{1F628}\u{1F31A}\u{1F98B}\u{1F637}\u{1F57A}\u26A0\u{1F645}\u{1F61F}\u{1F635}\u{1F44E}\u{1F932}\u{1F920}\u{1F927}\u{1F4CC}\u{1F535}\u{1F485}\u{1F9D0}\u{1F43E}\u{1F352}\u{1F617}\u{1F911}\u{1F30A}\u{1F92F}\u{1F437}\u260E\u{1F4A7}\u{1F62F}\u{1F486}\u{1F446}\u{1F3A4}\u{1F647}\u{1F351}\u2744\u{1F334}\u{1F4A3}\u{1F438}\u{1F48C}\u{1F4CD}\u{1F940}\u{1F922}\u{1F445}\u{1F4A1}\u{1F4A9}\u{1F450}\u{1F4F8}\u{1F47B}\u{1F910}\u{1F92E}\u{1F3BC}\u{1F975}\u{1F6A9}\u{1F34E}\u{1F34A}\u{1F47C}\u{1F48D}\u{1F4E3}\u{1F942}"),ki=cn.reduce((r,e,t)=>(r[t]=e,r),[]),Pi=cn.reduce((r,e,t)=>{let n=e.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${e}`);return r[n]=t,r},[]);function zi(r){return r.reduce((e,t)=>(e+=ki[t],e),"")}function Vi(r){let e=[];for(let t of r){let n=t.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${t}`);let o=Pi[n];if(o==null)throw new Error(`Non-base256emoji character: ${t}`);e.push(o)}return new Uint8Array(e)}var $i=Q({prefix:"\u{1F680}",name:"base256emoji",encode:zi,decode:Vi});var zt={};g(zt,{base64:()=>_i,base64pad:()=>qi,base64url:()=>ji,base64urlpad:()=>Gi});var _i=E({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),qi=E({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),ji=E({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Gi=E({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Vt={};g(Vt,{base8:()=>Ji});var Ji=E({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var $t={};g($t,{identity:()=>Ki});var Ki=Q({prefix:"\0",name:"identity",encode:r=>hr(r),decode:r=>ur(r)});var uc=new TextEncoder,hc=new TextDecoder;var jt={};g(jt,{sha256:()=>Qi,sha512:()=>Yi});var Hi=20;function qt({name:r,code:e,encode:t,minDigestLength:n,maxDigestLength:o}){return new _t(r,e,t,n,o)}var _t=class{name;code;encode;minDigestLength;maxDigestLength;constructor(e,t,n,o,i){this.name=e,this.code=t,this.encode=n,this.minDigestLength=o??Hi,this.maxDigestLength=i}digest(e,t){if(t?.truncate!=null){if(t.truncate<this.minDigestLength)throw new Error(`Invalid truncate option, must be greater than or equal to ${this.minDigestLength}`);if(this.maxDigestLength!=null&&t.truncate>this.maxDigestLength)throw new Error(`Invalid truncate option, must be less than or equal to ${this.maxDigestLength}`)}if(e instanceof Uint8Array){let n=this.encode(e);return n instanceof Uint8Array?un(n,this.code,t?.truncate):n.then(o=>un(o,this.code,t?.truncate))}else throw Error("Unknown type, must be binary type")}};function un(r,e,t){if(t!=null&&t!==r.byteLength){if(t>r.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${r.byteLength}`);r=r.subarray(0,t)}return re(e,r)}function fn(r){return async e=>new Uint8Array(await crypto.subtle.digest(r,e))}var Qi=qt({name:"sha2-256",code:18,encode:fn("SHA-256")}),Yi=qt({name:"sha2-512",code:19,encode:fn("SHA-512")});var Gt={...$t,...kt,...Vt,...Bt,...Rt,...Xe,...He,...We,...zt,...Pt},vc={...jt,...Ze};function dn(r,e,t,n){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:t},decoder:{decode:n}}}var ln=dn("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),Jt=dn("ascii","a",r=>{let e="a";for(let t=0;t<r.length;t++)e+=String.fromCharCode(r[t]);return e},r=>{r=r.substring(1);let e=K(r.length);for(let t=0;t<r.length;t++)e[t]=r.charCodeAt(t);return e}),Zi={utf8:ln,"utf-8":ln,hex:Gt.base16,latin1:Jt,ascii:Jt,binary:Jt,...Gt},pn=Zi;function mn(r,e="utf8"){let t=pn[e];if(t==null)throw new Error(`Unsupported encoding "${e}"`);return t.decoder.decode(`${t.prefix}${r}`)}function Kt(r){let e=r??8192,t=e>>>1,n,o=e;return function(s){if(s<1||s>t)return K(s);o+s>e&&(n=K(e),o=0);let a=n.subarray(o,o+=s);return(o&7)!==0&&(o=(o|7)+1),a}}var W=class{fn;len;next;val;constructor(e,t,n){this.fn=e,this.len=t,this.next=void 0,this.val=n}};function Wt(){}var Ht=class{head;tail;len;next;constructor(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}},es=Kt();function ts(r){return globalThis.Buffer!=null?K(r):es(r)}var ve=class{len;head;tail;states;constructor(){this.len=0,this.head=new W(Wt,0,0),this.tail=this.head,this.states=null}_push(e,t,n){return this.tail=this.tail.next=new W(e,t,n),this.len+=t,this}uint32(e){return this.len+=(this.tail=this.tail.next=new Qt((e=e>>>0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this}int32(e){return e<0?this._push(Be,10,T.fromNumber(e)):this.uint32(e)}sint32(e){return this.uint32((e<<1^e>>31)>>>0)}uint64(e){let t=T.fromBigInt(e);return this._push(Be,t.length(),t)}uint64Number(e){return this._push(Nt,V(e),e)}uint64String(e){return this.uint64(BigInt(e))}int64(e){return this.uint64(e)}int64Number(e){return this.uint64Number(e)}int64String(e){return this.uint64String(e)}sint64(e){let t=T.fromBigInt(e).zzEncode();return this._push(Be,t.length(),t)}sint64Number(e){let t=T.fromNumber(e).zzEncode();return this._push(Be,t.length(),t)}sint64String(e){return this.sint64(BigInt(e))}bool(e){return this._push(Xt,1,e?1:0)}fixed32(e){return this._push(Ee,4,e>>>0)}sfixed32(e){return this.fixed32(e)}fixed64(e){let t=T.fromBigInt(e);return this._push(Ee,4,t.lo)._push(Ee,4,t.hi)}fixed64Number(e){let t=T.fromNumber(e);return this._push(Ee,4,t.lo)._push(Ee,4,t.hi)}fixed64String(e){return this.fixed64(BigInt(e))}sfixed64(e){return this.fixed64(e)}sfixed64Number(e){return this.fixed64Number(e)}sfixed64String(e){return this.fixed64String(e)}float(e){return this._push(Zr,4,e)}double(e){return this._push(tn,8,e)}bytes(e){let t=e.length>>>0;return t===0?this._push(Xt,1,0):this.uint32(t)._push(ns,t,e)}string(e){let t=on(e);return t!==0?this.uint32(t)._push(Ft,t,e):this._push(Xt,1,0)}fork(){return this.states=new Ht(this),this.head=this.tail=new W(Wt,0,0),this.len=0,this}reset(){return this.states!=null?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new W(Wt,0,0),this.len=0),this}ldelim(){let e=this.head,t=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=e.next,this.tail=t,this.len+=n),this}finish(){let e=this.head.next,t=ts(this.len),n=0;for(;e!=null;)e.fn(e.val,t,n),n+=e.len,e=e.next;return t}};function Xt(r,e,t){e[t]=r&255}function rs(r,e,t){for(;r>127;)e[t++]=r&127|128,r>>>=7;e[t]=r}var Qt=class extends W{next;constructor(e,t){super(rs,e,t),this.next=void 0}};function Be(r,e,t){for(;r.hi!==0;)e[t++]=r.lo&127|128,r.lo=(r.lo>>>7|r.hi<<25)>>>0,r.hi>>>=7;for(;r.lo>127;)e[t++]=r.lo&127|128,r.lo=r.lo>>>7;e[t++]=r.lo}function Ee(r,e,t){e[t]=r&255,e[t+1]=r>>>8&255,e[t+2]=r>>>16&255,e[t+3]=r>>>24}function ns(r,e,t){e.set(r,t)}globalThis.Buffer!=null&&(ve.prototype.bytes=function(r){let e=r.length>>>0;return this.uint32(e),e>0&&this._push(os,e,r),this},ve.prototype.string=function(r){let e=globalThis.Buffer.byteLength(r);return this.uint32(e),e>0&&this._push(is,e,r),this});function os(r,e,t){e.set(r,t)}function is(r,e,t){r.length<40?Ft(r,e,t):e.utf8Write!=null?e.utf8Write(r,t):e.set(mn(r),t)}function Yt(){return new ve}function Re(r,e){let t=Yt();return e.encode(r,t,{lengthDelimited:!1}),t.finish()}function*ke(r,e,t){let n=ye(r);yield*e.stream(n,void 0,"$",t)}var Pe={VARINT:0,BIT64:1,LENGTH_DELIMITED:2,START_GROUP:3,END_GROUP:4,BIT32:5};function ze(r,e,t,n,o){return{name:r,type:e,encode:t,decode:n,stream:o}}function Zt(r){function e(i){if(r[i.toString()]==null)throw new Error("Invalid enum value");return r[i]}let t=function(s,a){let c=e(s);a.int32(c)},n=function(s){let a=s.int32();return e(a)},o=function*(s){let a=s.int32();yield e(a)};return ze("enum",Pe.VARINT,t,n,o)}function Ve(r,e,t){return ze("message",Pe.LENGTH_DELIMITED,r,e,t)}var er=class r extends Error{name="TimeoutError";constructor(e,t){super(e,t),Error.captureStackTrace?.(this,r)}},bn=r=>r.reason??new DOMException("This operation was aborted.","AbortError");function tr(r,e){let{milliseconds:t,fallback:n,message:o,customTimers:i={setTimeout,clearTimeout},signal:s}=e,a,c,u=new Promise((l,d)=>{if(typeof t!="number"||Math.sign(t)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${t}\``);if(s?.aborted){d(bn(s));return}if(s&&(c=()=>{d(bn(s))},s.addEventListener("abort",c,{once:!0})),r.then(l,d),t===Number.POSITIVE_INFINITY)return;let b=new er;a=i.setTimeout.call(void 0,()=>{if(n){try{l(n())}catch(f){d(f)}return}typeof r.cancel=="function"&&r.cancel(),o===!1?l():o instanceof Error?d(o):(b.message=o??`Promise timed out after ${t} milliseconds`,d(b))},t)}).finally(()=>{u.clear(),c&&s&&s.removeEventListener("abort",c)});return u.clear=()=>{i.clearTimeout.call(void 0,a),a=void 0},u}var ss=r=>{let e=r.addEventListener||r.on||r.addListener,t=r.removeEventListener||r.off||r.removeListener;if(!e||!t)throw new TypeError("Emitter is not compatible");return{addListener:e.bind(r),removeListener:t.bind(r)}};function as(r,e,t){let n,o=new Promise((i,s)=>{if(t={rejectionEvents:["error"],multiArgs:!1,rejectionMultiArgs:!1,resolveImmediately:!1,...t},!(t.count>=0&&(t.count===Number.POSITIVE_INFINITY||Number.isInteger(t.count))))throw new TypeError("The `count` option should be at least 0 or more");t.signal?.throwIfAborted();let a=[e].flat(),c=[],{addListener:h,removeListener:u}=ss(r),l=async(...b)=>{let f=t.multiArgs?b:b[0];if(t.filter)try{if(!await t.filter(f))return}catch(p){n(),s(p);return}c.push(f),t.count===c.length&&(n(),i(c))},d=(...b)=>{n(),s(t.rejectionMultiArgs?b:b[0])};n=()=>{for(let b of a)u(b,l);for(let b of t.rejectionEvents)a.includes(b)||u(b,d)};for(let b of a)h(b,l);for(let b of t.rejectionEvents)a.includes(b)||h(b,d);t.signal&&t.signal.addEventListener("abort",()=>{d(t.signal.reason)},{once:!0}),t.resolveImmediately&&i(c)});if(o.cancel=n,typeof t.timeout=="number"){let i=tr(o,{milliseconds:t.timeout});return i.cancel=()=>{n(),i.clear()},i}return o}function xn(r,e,t){typeof t=="function"&&(t={filter:t}),t={...t,count:1,resolveImmediately:!1};let n=as(r,e,t),o=n.then(i=>i[0]);return o.cancel=n.cancel,o}var X=class extends Error{static name="UnexpectedEOFError";name="UnexpectedEOFError"};function cs(r){return r.reason}async function rr(r,e,t){if(e==null)return r;let n=t?.translateError??cs;if(e.aborted)return r.catch(()=>{}),Promise.reject(n(e));let o;try{return await Promise.race([r,new Promise((i,s)=>{o=()=>{s(n(e))},e.addEventListener("abort",o)})])}finally{o!=null&&e.removeEventListener("abort",o)}}var hs=4194304,$e=class extends Error{static name="UnwrappedError";name="UnwrappedError"},or=class extends Error{name="InvalidMessageLengthError";code="ERR_INVALID_MSG_LENGTH"},ir=class extends Error{name="InvalidDataLengthError";code="ERR_MSG_DATA_TOO_LONG"},sr=class extends Error{name="InvalidDataLengthLengthError";code="ERR_MSG_LENGTH_TOO_LONG"};function fs(r){return typeof r?.closeRead=="function"}function ls(r){return typeof r?.close=="function"}function nr(r){return fs(r)?r.remoteWriteStatus!=="writable"&&r.readBufferLength===0:ls(r)?r.status!=="open":!1}function ds(r){return r?.addEventListener!=null&&r?.removeEventListener!=null&&r?.send!=null&&r?.push!=null&&r?.log!=null}function ps(r,e){let t=e?.maxBufferSize??hs,n=new j,o,i=!1;if(!ds(r))throw new H("Argument should be a Stream or a Multiaddr");let s=u=>{if(n.append(u.data),n.byteLength>t){let l=n.byteLength;n.consume(n.byteLength),o?.reject(new Error(`Read buffer overflow - ${l} > ${t}`))}o?.resolve()};r.addEventListener("message",s);let a=u=>{u.error!=null?o?.reject(u.error):o?.resolve()};r.addEventListener("close",a);let c=()=>{o?.resolve()};r.addEventListener("remoteCloseWrite",c);let h={readBuffer:n,async read(u){if(i===!0)throw new $e("Stream was unwrapped");if(nr(r)){if(n.byteLength===0&&u?.bytes==null)return null;if(u?.bytes!=null&&n.byteLength<u.bytes)throw r.log.error("closed after reading %d/%d bytes",n.byteLength,u.bytes),new X(`Unexpected EOF - stream closed after reading ${n.byteLength}/${u.bytes} bytes`)}let l=u?.bytes??1;for(o=Promise.withResolvers();;){if(n.byteLength>=l){o.resolve();break}if(await rr(o.promise,u?.signal),nr(r)){if(n.byteLength===0&&u?.bytes==null)return null;break}o=Promise.withResolvers()}let d=u?.bytes??n.byteLength;if(n.byteLength<d){if(nr(r))throw r.log.error("closed while reading %d/%d bytes",n.byteLength,d),new X(`Unexpected EOF - stream closed while reading ${n.byteLength}/${d} bytes`);return h.read(u)}let b=n.sublist(0,d);return n.consume(d),b},async write(u,l){if(i===!0)throw new $e("Stream was unwrapped");r.send(u)||await xn(r,"drain",{signal:l?.signal,rejectionEvents:["close"]})},unwrap(){return i||(i=!0,r.removeEventListener("message",s),r.removeEventListener("close",a),r.removeEventListener("remoteCloseWrite",c),n.byteLength>0&&(r.log("stream unwrapped with %d unread bytes",n.byteLength),r.unshift(n))),r}};return h}function ms(r,e={}){let t=ps(r,e);e.maxDataLength!=null&&e.maxLengthLength==null&&(e.maxLengthLength=V(e.maxDataLength));let n=e?.lengthDecoder??Yr,o=e?.lengthEncoder??Qr;return{async read(s){let a=-1,c=new j;for(;;){let u=await t.read({...s,bytes:1});if(u==null)break;c.append(u);try{a=n(c)}catch(l){if(l instanceof RangeError)continue;throw l}if(a<0)throw new or("Invalid message length");if(e?.maxLengthLength!=null&&c.byteLength>e.maxLengthLength)throw new sr(`Message length length too long - ${c.byteLength} > ${e.maxLengthLength}`);if(a>-1)break}if(e?.maxDataLength!=null&&a>e.maxDataLength)throw new ir(`Message length too long - ${a} > ${e.maxDataLength}`);let h=await t.read({...s,bytes:a});if(h==null)throw r.log.error("tried to read %d bytes but the stream closed",a),new X(`Unexpected EOF - tried to read ${a} bytes but the stream closed`);if(h.byteLength!==a)throw r.log.error("read %d/%d bytes before the stream closed",h.byteLength,a),new X(`Unexpected EOF - read ${h.byteLength}/${a} bytes before the stream closed`);return h},async write(s,a){await t.write(new j(o(s.byteLength),s),a)},async writeV(s,a){let c=new j(...s.flatMap(h=>[o(h.byteLength),h]));await t.write(c,a)},unwrap(){return t.unwrap()}}}function ar(r,e){let t=ms(r,e),n={read:async(o,i)=>{let s=await t.read(i);return o.decode(s)},write:async(o,i,s)=>{await t.write(i.encode(o),s)},writeV:async(o,i,s)=>{await t.writeV(o.map(a=>i.encode(a)),s)},pb:o=>({read:async i=>n.read(o,i),write:async(i,s)=>n.write(i,o,s),writeV:async(i,s)=>n.writeV(i,o,s),unwrap:()=>n}),unwrap:()=>t.unwrap()};return n}var gn="0.0.1",wn="fetch";var Le;(function(r){let e;r.codec=()=>(e==null&&(e=Ve((i,s,a={})=>{a.lengthDelimited!==!1&&s.fork(),i.identifier!=null&&i.identifier.byteLength>0&&(s.uint32(10),s.bytes(i.identifier)),a.lengthDelimited!==!1&&s.ldelim()},(i,s,a={})=>{let c={identifier:vt(0)},h=s==null?i.len:i.pos+s;for(;i.pos<h;){let u=i.uint32();u>>>3===1?c.identifier=i.bytes():i.skipType(u&7)}return c},function*(i,s,a,c={}){let h=s==null?i.len:i.pos+s;for(;i.pos<h;){let u=i.uint32();u>>>3===1?yield{field:`${a}.identifier`,value:i.bytes()}:i.skipType(u&7)}})),e);function t(i){return Re(i,r.codec())}r.encode=t;function n(i,s){return Me(i,r.codec(),s)}r.decode=n;function o(i,s){return ke(i,r.codec(),s)}r.stream=o})(Le||(Le={}));var O;(function(r){let e;(function(a){a.OK="OK",a.NOT_FOUND="NOT_FOUND",a.ERROR="ERROR"})(e=r.StatusCode||(r.StatusCode={}));let t;(function(a){a[a.OK=0]="OK",a[a.NOT_FOUND=1]="NOT_FOUND",a[a.ERROR=2]="ERROR"})(t||(t={})),(function(a){a.codec=()=>Zt(t)})(e=r.StatusCode||(r.StatusCode={}));let n;r.codec=()=>(n==null&&(n=Ve((a,c,h={})=>{h.lengthDelimited!==!1&&c.fork(),a.status!=null&&t[a.status]!==0&&(c.uint32(8),r.StatusCode.codec().encode(a.status,c)),a.data!=null&&a.data.byteLength>0&&(c.uint32(18),c.bytes(a.data)),h.lengthDelimited!==!1&&c.ldelim()},(a,c,h={})=>{let u={status:e.OK,data:vt(0)},l=c==null?a.len:a.pos+c;for(;a.pos<l;){let d=a.uint32();switch(d>>>3){case 1:{u.status=r.StatusCode.codec().decode(a);break}case 2:{u.data=a.bytes();break}default:{a.skipType(d&7);break}}}return u},function*(a,c,h,u={}){let l=c==null?a.len:a.pos+c;for(;a.pos<l;){let d=a.uint32();switch(d>>>3){case 1:{yield{field:`${h}.status`,value:r.StatusCode.codec().decode(a)};break}case 2:{yield{field:`${h}.data`,value:a.bytes()};break}default:{a.skipType(d&7);break}}}})),n);function o(a){return Re(a,r.codec())}r.encode=o;function i(a,c){return Me(a,r.codec(),c)}r.decode=i;function s(a,c){return ke(a,r.codec(),c)}r.stream=s})(O||(O={}));var yn=1e4,_e=class{protocol;components;lookupFunctions;started;init;constructor(e,t={}){this.started=!1,this.components=e,this.protocol=`/${t.protocolPrefix??"libp2p"}/${wn}/${gn}`,this.lookupFunctions=new Map,this.init=t,this.handleMessage=this.handleMessage.bind(this)}[Symbol.toStringTag]="@libp2p/fetch";async start(){await this.components.registrar.handle(this.protocol,this.handleMessage,{maxInboundStreams:this.init.maxInboundStreams,maxOutboundStreams:this.init.maxOutboundStreams}),this.started=!0}async stop(){await this.components.registrar.unhandle(this.protocol),this.started=!1}isStarted(){return this.started}async fetch(e,t,n={}){if(typeof t=="string"&&(t=Oe(t)),n.signal==null){let i=this.init.timeout??yn,s=AbortSignal.timeout(i);n={...n,signal:s}}let o;try{o=await(await this.components.connectionManager.openConnection(e,n)).newStream(this.protocol,n);let s=o.log.newScope("fetch");s.trace("fetch %m",t);let a=ar(o);await a.write({identifier:t},Le,n);let c=await a.read(O,n);switch(await o.close(n),c.status){case O.StatusCode.OK:return s.trace("received status OK for %m",t),c.data;case O.StatusCode.NOT_FOUND:{s("received status NOT_FOUND for %m",t);return}case O.StatusCode.ERROR:{s("received status ERROR for %m",t);let h=St(c.data);throw new Ae("Error in fetch protocol response: "+h)}default:throw s("received status unknown for %m",t),new Se("Unknown response status")}}catch(i){throw o?.abort(i),i}}async handleMessage(e){let t=e.log.newScope("fetch"),n=AbortSignal.timeout(this.init.timeout??yn),o=ar(e),i=await o.read(Le,{signal:n}),s,a=St(i.identifier),c=this._getLookupFunction(a);if(c==null){t.trace("sending status ERROR for %m",i.identifier);let h=Oe("No lookup function registered for key");s={status:O.StatusCode.ERROR,data:h}}else{t.trace("lookup data with identifier %s",c.prefix);try{let h=await c.fn(i.identifier);h==null?(t.trace("sending status NOT_FOUND for %m",i.identifier),s={status:O.StatusCode.NOT_FOUND,data:new Uint8Array(0)}):(t.trace("sending status OK for %m",i.identifier),s={status:O.StatusCode.OK,data:h})}catch(h){t.error("error during lookup of %m - %e",i.identifier,h);let u=Oe(h.message);s={status:O.StatusCode.ERROR,data:u}}}await o.write(s,O,{signal:n}),await e.close({signal:n})}_getLookupFunction(e){for(let t of this.lookupFunctions.keys())if(e.startsWith(t)){let n=this.lookupFunctions.get(t);if(n!=null)return{fn:n,prefix:t}}}registerLookupFunction(e,t){if(this.lookupFunctions.has(e))throw new H(`Fetch protocol handler for key prefix '${e}' already registered`);this.lookupFunctions.set(e,t)}unregisterLookupFunction(e,t){t!=null&&this.lookupFunctions.get(e)!==t||this.lookupFunctions.delete(e)}};function bs(r={}){return e=>new _e(e,r)}return An(xs);})();
|
|
3
3
|
return Libp2PFetch}));
|
|
4
4
|
//# sourceMappingURL=index.min.js.map
|