@libp2p/fetch 3.0.12 → 3.0.13

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 CHANGED
@@ -1,3 +1,3 @@
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 Ut=Object.defineProperty;var ar=Object.getOwnPropertyDescriptor;var cr=Object.getOwnPropertyNames;var hr=Object.prototype.hasOwnProperty;var y=(r,t)=>{for(var e in t)Ut(r,e,{get:t[e],enumerable:!0})},ur=(r,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of cr(t))!hr.call(r,i)&&i!==e&&Ut(r,i,{get:()=>t[i],enumerable:!(n=ar(t,i))||n.enumerable});return r};var fr=r=>ur(Ut({},"__esModule",{value:!0}),r);var Bn={};y(Bn,{fetch:()=>Tn});var at=class extends Error{static name="AbortError";constructor(t="The operation was aborted"){super(t),this.name="AbortError"}};var ct=class extends Error{static name="InvalidParametersError";constructor(t="Invalid parameters"){super(t),this.name="InvalidParametersError"}};var ht=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"}};function G(){let r={};return r.promise=new Promise((t,e)=>{r.resolve=t,r.reject=e}),r}var ft=class extends Error{type;code;constructor(t,e,n){super(t??"The operation was aborted"),this.type="aborted",this.name=n??"AbortError",this.code=e??"ABORT_ERR"}};async function ye(r,t,e){if(t==null)return r;if(t.aborted)return r.catch(()=>{}),Promise.reject(new ft(e?.errorMessage,e?.errorCode,e?.errorName));let n,i=new ft(e?.errorMessage,e?.errorCode,e?.errorName);try{return await Promise.race([r,new Promise((o,s)=>{n=()=>{s(i)},t.addEventListener("abort",n)})])}finally{n!=null&&t.removeEventListener("abort",n)}}var Dt=class{readNext;haveNext;ended;nextResult;constructor(){this.ended=!1,this.readNext=G(),this.haveNext=G()}[Symbol.asyncIterator](){return this}async next(){if(this.nextResult==null&&await this.haveNext.promise,this.nextResult==null)throw new Error("HaveNext promise resolved but nextResult was undefined");let t=this.nextResult;return this.nextResult=void 0,this.readNext.resolve(),this.readNext=G(),t}async throw(t){return this.ended=!0,t!=null&&(this.haveNext.promise.catch(()=>{}),this.haveNext.reject(t)),{done:!0,value:void 0}}async return(){let t={done:!0,value:void 0};return this.ended=!0,this.nextResult=t,this.haveNext.resolve(),t}async push(t,e){await this._push(t,e)}async end(t,e){t!=null?await this.throw(t):await this._push(void 0,e)}async _push(t,e){if(t!=null&&this.ended)throw new Error("Cannot push value onto an ended pushable");for(;this.nextResult!=null;)await this.readNext.promise;t!=null?this.nextResult={done:!1,value:t}:(this.ended=!0,this.nextResult={done:!0,value:void 0}),this.haveNext.resolve(),this.haveNext=G(),await ye(this.readNext.promise,e?.signal,e)}};function Ee(){return new Dt}function S(r=0){return new Uint8Array(r)}function b(r=0){return new Uint8Array(r)}function Ft(r,t){t==null&&(t=r.reduce((i,o)=>i+o.length,0));let e=b(t),n=0;for(let i of r)e.set(i,n),n+=i.length;return e}function Le(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}var Ae=Symbol.for("@achingbrain/uint8arraylist");function Se(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 lt(r){return!!r?.[Ae]}var C=class r{bufs;length;[Ae]=!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(lt(n))e+=n.byteLength,this.bufs.push(...n.bufs);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(lt(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=Se(this.bufs,t);return e.buf[e.index]}set(t,e){let n=Se(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(lt(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 Ft(n,i)}subarray(t,e){let{bufs:n,length:i}=this._subList(t,e);return n.length===1?n[0]:Ft(n,i)}sublist(t,e){let{bufs:n,length:i}=this._subList(t,e),o=new r;return o.length=i,o.bufs=[...n],o}_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 o=0;o<this.bufs.length;o++){let s=this.bufs[o],a=i,c=a+s.byteLength;if(i=c,t>=c)continue;let h=t>=a&&t<c,l=e>a&&e<=c;if(h&&l){if(t===a&&e===c){n.push(s);break}let f=t-a;n.push(s.subarray(f,f+(e-t)));break}if(h){if(t===0){n.push(s);continue}n.push(s.subarray(t-a));continue}if(l){if(e===c){n.push(s);break}n.push(s.subarray(0,e-a));break}n.push(s)}return{bufs:n,length:e-t}}indexOf(t,e=0){if(!lt(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 o=256,s=new Int32Array(o);for(let f=0;f<o;f++)s[f]=-1;for(let f=0;f<i;f++)s[n[f]]=f;let a=s,c=this.byteLength-n.byteLength,h=n.byteLength-1,l;for(let f=e;f<=c;f+=l){l=0;for(let w=h;w>=0;w--){let ot=this.get(f+w);if(n[w]!==ot){l=Math.max(1,w-a[ot]);break}}if(l===0)return f}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=b(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=b(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(!Le(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,o)=>i+o.byteLength,0)),n.length=e,n}};var dt=class extends Error{name="UnexpectedEOFError";code="ERR_UNEXPECTED_EOF"};var vt=class extends Error{code;constructor(t,e){super(t),this.code=e}},Rt=class extends vt{type;constructor(t){super(t,"ABORT_ERR"),this.type="aborted",this.name="AbortError"}};function Ne(r,t){let e=Ee();r.sink(e).catch(async s=>{await e.end(s)}),r.sink=async s=>{for await(let a of s)await e.push(a);await e.end()};let n=r.source;r.source[Symbol.iterator]!=null?n=r.source[Symbol.iterator]():r.source[Symbol.asyncIterator]!=null&&(n=r.source[Symbol.asyncIterator]());let i=new C;return{read:async(s,a)=>{a?.signal?.throwIfAborted();let c,h=new Promise((l,f)=>{c=()=>{f(new Rt("Read aborted"))},a?.signal?.addEventListener("abort",c)});try{if(s==null){let{done:f,value:w}=await Promise.race([n.next(),h]);return f===!0?new C:w}for(;i.byteLength<s;){let{value:f,done:w}=await Promise.race([n.next(),h]);if(w===!0)throw new dt("unexpected end of input");i.append(f)}let l=i.sublist(0,s);return i.consume(s),l}finally{c!=null&&a?.signal?.removeEventListener("abort",c)}},write:async(s,a)=>{a?.signal?.throwIfAborted(),s instanceof Uint8Array?await e.push(s,a):await e.push(s.subarray(),a)},unwrap:()=>{if(i.byteLength>0){let s=r.source;r.source=async function*(){t?.yieldBytes===!1?yield i:yield*i,yield*s}()}return r}}}var lr=Math.pow(2,7),dr=Math.pow(2,14),pr=Math.pow(2,21),Ot=Math.pow(2,28),Ct=Math.pow(2,35),Tt=Math.pow(2,42),Bt=Math.pow(2,49),u=128,m=127;function T(r){if(r<lr)return 1;if(r<dr)return 2;if(r<pr)return 3;if(r<Ot)return 4;if(r<Ct)return 5;if(r<Tt)return 6;if(r<Bt)return 7;if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Mt(r,t,e=0){switch(T(r)){case 8:t[e++]=r&255|u,r/=128;case 7:t[e++]=r&255|u,r/=128;case 6:t[e++]=r&255|u,r/=128;case 5:t[e++]=r&255|u,r/=128;case 4:t[e++]=r&255|u,r>>>=7;case 3:t[e++]=r&255|u,r>>>=7;case 2:t[e++]=r&255|u,r>>>=7;case 1:{t[e++]=r&255,r>>>=7;break}default:throw new Error("unreachable")}return t}function mr(r,t,e=0){switch(T(r)){case 8:t.set(e++,r&255|u),r/=128;case 7:t.set(e++,r&255|u),r/=128;case 6:t.set(e++,r&255|u),r/=128;case 5:t.set(e++,r&255|u),r/=128;case 4:t.set(e++,r&255|u),r>>>=7;case 3:t.set(e++,r&255|u),r>>>=7;case 2:t.set(e++,r&255|u),r>>>=7;case 1:{t.set(e++,r&255),r>>>=7;break}default:throw new Error("unreachable")}return t}function kt(r,t){let e=r[t],n=0;if(n+=e&m,e<u||(e=r[t+1],n+=(e&m)<<7,e<u)||(e=r[t+2],n+=(e&m)<<14,e<u)||(e=r[t+3],n+=(e&m)<<21,e<u)||(e=r[t+4],n+=(e&m)*Ot,e<u)||(e=r[t+5],n+=(e&m)*Ct,e<u)||(e=r[t+6],n+=(e&m)*Tt,e<u)||(e=r[t+7],n+=(e&m)*Bt,e<u))return n;throw new RangeError("Could not decode varint")}function gr(r,t){let e=r.get(t),n=0;if(n+=e&m,e<u||(e=r.get(t+1),n+=(e&m)<<7,e<u)||(e=r.get(t+2),n+=(e&m)<<14,e<u)||(e=r.get(t+3),n+=(e&m)<<21,e<u)||(e=r.get(t+4),n+=(e&m)*Ot,e<u)||(e=r.get(t+5),n+=(e&m)*Ct,e<u)||(e=r.get(t+6),n+=(e&m)*Tt,e<u)||(e=r.get(t+7),n+=(e&m)*Bt,e<u))return n;throw new RangeError("Could not decode varint")}function Ie(r,t,e=0){return t==null&&(t=b(T(r))),t instanceof Uint8Array?Mt(r,t,e):mr(r,t,e)}function Ue(r,t=0){return r instanceof Uint8Array?kt(r,t):gr(r,t)}var pt=class extends Error{name="InvalidMessageLengthError";code="ERR_INVALID_MSG_LENGTH"},mt=class extends Error{name="InvalidDataLengthError";code="ERR_MSG_DATA_TOO_LONG"},gt=class extends Error{name="InvalidDataLengthLengthError";code="ERR_MSG_LENGTH_TOO_LONG"};function De(r,t={}){let e=Ne(r,t);t.maxDataLength!=null&&t.maxLengthLength==null&&(t.maxLengthLength=T(t.maxDataLength));let n=t?.lengthDecoder??Ue,i=t?.lengthEncoder??Ie;return{read:async s=>{let a=-1,c=new C;for(;;){c.append(await e.read(1,s));try{a=n(c)}catch(h){if(h instanceof RangeError)continue;throw h}if(a<0)throw new pt("Invalid message length");if(t?.maxLengthLength!=null&&c.byteLength>t.maxLengthLength)throw new gt("message length length too long");if(a>-1)break}if(t?.maxDataLength!=null&&a>t.maxDataLength)throw new mt("message length too long");return e.read(a,s)},write:async(s,a)=>{await e.write(new C(i(s.byteLength),s),a)},writeV:async(s,a)=>{let c=new C(...s.flatMap(h=>[i(h.byteLength),h]));await e.write(c,a)},unwrap:()=>e.unwrap()}}function Vt(r,t){let e=De(r,t),n={read:async(i,o)=>{let s=await e.read(o);return i.decode(s)},write:async(i,o,s)=>{await e.write(o.encode(i),s)},writeV:async(i,o,s)=>{await e.writeV(i.map(a=>o.encode(a)),s)},pb:i=>({read:async o=>n.read(i,o),write:async(o,s)=>n.write(o,i,s),writeV:async(o,s)=>n.writeV(o,i,s),unwrap:()=>n}),unwrap:()=>e.unwrap()};return n}var Gt={};y(Gt,{base10:()=>Sr});var di=new Uint8Array(0);function Fe(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 B(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 ve(r){return new TextEncoder().encode(r)}function Re(r){return new TextDecoder().decode(r)}function xr(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 o=r.charAt(i),s=o.charCodeAt(0);if(e[s]!==255)throw new TypeError(o+" is ambiguous");e[s]=i}var a=r.length,c=r.charAt(0),h=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function f(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 x=0,_=0,N=0,D=d.length;N!==D&&d[N]===0;)N++,x++;for(var F=(D-N)*l+1>>>0,L=new Uint8Array(F);N!==D;){for(var v=d[N],M=0,I=F-1;(v!==0||M<_)&&I!==-1;I--,M++)v+=256*L[I]>>>0,L[I]=v%a>>>0,v=v/a>>>0;if(v!==0)throw new Error("Non-zero carry");_=M,N++}for(var O=F-_;O!==F&&L[O]===0;)O++;for(var st=c.repeat(x);O<F;++O)st+=r.charAt(L[O]);return st}function w(d){if(typeof d!="string")throw new TypeError("Expected String");if(d.length===0)return new Uint8Array;var x=0;if(d[x]!==" "){for(var _=0,N=0;d[x]===c;)_++,x++;for(var D=(d.length-x)*h+1>>>0,F=new Uint8Array(D);d[x];){var L=e[d.charCodeAt(x)];if(L===255)return;for(var v=0,M=D-1;(L!==0||v<N)&&M!==-1;M--,v++)L+=a*F[M]>>>0,F[M]=L%256>>>0,L=L/256>>>0;if(L!==0)throw new Error("Non-zero carry");N=v,x++}if(d[x]!==" "){for(var I=D-N;I!==D&&F[I]===0;)I++;for(var O=new Uint8Array(_+(D-I)),st=_;I!==D;)O[st++]=F[I++];return O}}}function ot(d){var x=w(d);if(x)return x;throw new Error(`Non-${t} character`)}return{encode:f,decodeUnsafe:w,decode:ot}}var br=xr,yr=br,Ce=yr;var _t=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")}},Pt=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 Te(this,t)}},zt=class{decoders;constructor(t){this.decoders=t}or(t){return Te(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 Te(r,t){return new zt({...r.decoders??{[r.prefix]:r},...t.decoders??{[t.prefix]:t}})}var $t=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 _t(t,e,n),this.decoder=new Pt(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 $t(r,t,e,n)}function k({name:r,prefix:t,alphabet:e}){let{encode:n,decode:i}=Ce(e,r);return q({prefix:t,name:r,encode:n,decode:o=>B(i(o))})}function Er(r,t,e,n){let i={};for(let l=0;l<t.length;++l)i[t[l]]=l;let o=r.length;for(;r[o-1]==="=";)--o;let s=new Uint8Array(o*e/8|0),a=0,c=0,h=0;for(let l=0;l<o;++l){let f=i[r[l]];if(f===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<e|f,a+=e,a>=8&&(a-=8,s[h++]=255&c>>a)}if(a>=e||(255&c<<8-a)!==0)throw new SyntaxError("Unexpected end of data");return s}function Lr(r,t,e){let n=t[t.length-1]==="=",i=(1<<e)-1,o="",s=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],s+=8;s>e;)s-=e,o+=t[i&a>>s];if(s!==0&&(o+=t[i&a<<e-s]),n)for(;(o.length*e&7)!==0;)o+="=";return o}function p({name:r,prefix:t,bitsPerChar:e,alphabet:n}){return q({prefix:t,name:r,encode(i){return Lr(i,n,e)},decode(i){return Er(i,n,e,r)}})}var Sr=k({prefix:"9",name:"base10",alphabet:"0123456789"});var qt={};y(qt,{base16:()=>Ar,base16upper:()=>Nr});var Ar=p({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Nr=p({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Kt={};y(Kt,{base2:()=>Ir});var Ir=p({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Xt={};y(Xt,{base256emoji:()=>Rr});var Be=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}"),Ur=Be.reduce((r,t,e)=>(r[e]=t,r),[]),Dr=Be.reduce((r,t,e)=>{let n=t.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${t}`);return r[n]=e,r},[]);function Fr(r){return r.reduce((t,e)=>(t+=Ur[e],t),"")}function vr(r){let t=[];for(let e of r){let n=e.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${e}`);let i=Dr[n];if(i==null)throw new Error(`Non-base256emoji character: ${e}`);t.push(i)}return new Uint8Array(t)}var Rr=q({prefix:"\u{1F680}",name:"base256emoji",encode:Fr,decode:vr});var jt={};y(jt,{base32:()=>K,base32hex:()=>Br,base32hexpad:()=>kr,base32hexpadupper:()=>Vr,base32hexupper:()=>Mr,base32pad:()=>Cr,base32padupper:()=>Tr,base32upper:()=>Or,base32z:()=>_r});var K=p({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Or=p({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Cr=p({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Tr=p({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Br=p({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Mr=p({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),kr=p({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Vr=p({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),_r=p({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Wt={};y(Wt,{base36:()=>Q,base36upper:()=>Pr});var Q=k({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Pr=k({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Jt={};y(Jt,{base58btc:()=>R,base58flickr:()=>zr});var R=k({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),zr=k({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Ht={};y(Ht,{base64:()=>$r,base64pad:()=>Gr,base64url:()=>qr,base64urlpad:()=>Kr});var $r=p({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Gr=p({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),qr=p({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Kr=p({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Qt={};y(Qt,{base8:()=>Xr});var Xr=p({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Zt={};y(Zt,{identity:()=>jr});var jr=q({prefix:"\0",name:"identity",encode:r=>Re(r),decode:r=>ve(r)});var Fi=new TextEncoder,vi=new TextDecoder;var te={};y(te,{identity:()=>wn});var Hr=Ve,Me=128,Qr=127,Zr=~Qr,Yr=Math.pow(2,31);function Ve(r,t,e){t=t||[],e=e||0;for(var n=e;r>=Yr;)t[e++]=r&255|Me,r/=128;for(;r&Zr;)t[e++]=r&255|Me,r>>>=7;return t[e]=r|0,Ve.bytes=e-n+1,t}var tn=Yt,en=128,ke=127;function Yt(r,n){var e=0,n=n||0,i=0,o=n,s,a=r.length;do{if(o>=a)throw Yt.bytes=0,new RangeError("Could not decode varint");s=r[o++],e+=i<28?(s&ke)<<i:(s&ke)*Math.pow(2,i),i+=7}while(s>=en);return Yt.bytes=o-n,e}var rn=Math.pow(2,7),nn=Math.pow(2,14),on=Math.pow(2,21),sn=Math.pow(2,28),an=Math.pow(2,35),cn=Math.pow(2,42),hn=Math.pow(2,49),un=Math.pow(2,56),fn=Math.pow(2,63),ln=function(r){return r<rn?1:r<nn?2:r<on?3:r<sn?4:r<an?5:r<cn?6:r<hn?7:r<un?8:r<fn?9:10},dn={encode:Hr,decode:tn,encodingLength:ln},pn=dn,Z=pn;function Y(r,t=0){return[Z.decode(r,t),Z.decode.bytes]}function X(r,t,e=0){return Z.encode(r,t,e),t}function j(r){return Z.encodingLength(r)}function P(r,t){let e=t.byteLength,n=j(r),i=n+j(e),o=new Uint8Array(i+e);return X(r,o,0),X(e,o,n),o.set(t,i),new W(r,e,t,o)}function _e(r){let t=B(r),[e,n]=Y(t),[i,o]=Y(t.subarray(n)),s=t.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new W(e,i,s,t)}function Pe(r,t){if(r===t)return!0;{let e=t;return r.code===e.code&&r.size===e.size&&e.bytes instanceof Uint8Array&&Fe(r.bytes,e.bytes)}}var W=class{code;size;digest;bytes;constructor(t,e,n,i){this.code=t,this.size=e,this.digest=n,this.bytes=i}};var ze=0,mn="identity",$e=B;function gn(r){return P(ze,$e(r))}var wn={code:ze,name:mn,encode:$e,digest:gn};var ne={};y(ne,{sha256:()=>xn,sha512:()=>bn});function re({name:r,code:t,encode:e}){return new ee(r,t,e)}var ee=class{name;code;encode;constructor(t,e,n){this.name=t,this.code=e,this.encode=n}digest(t){if(t instanceof Uint8Array){let e=this.encode(t);return e instanceof Uint8Array?P(this.code,e):e.then(n=>P(this.code,n))}else throw Error("Unknown type, must be binary type")}};function qe(r){return async t=>new Uint8Array(await crypto.subtle.digest(r,t))}var xn=re({name:"sha2-256",code:18,encode:qe("SHA-256")}),bn=re({name:"sha2-512",code:19,encode:qe("SHA-512")});function Ke(r,t){let{bytes:e,version:n}=r;switch(n){case 0:return En(e,ie(r),t??R.encoder);default:return Ln(e,ie(r),t??K.encoder)}}var Xe=new WeakMap;function ie(r){let t=Xe.get(r);if(t==null){let e=new Map;return Xe.set(r,e),e}return t}var xt=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!==et)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(e.code!==Sn)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=P(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&&Pe(t.multihash,n.multihash)}toString(t){return Ke(this,t)}toJSON(){return{"/":Ke(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:o,bytes:s}=e;return new r(n,i,o,s??je(n,i,o.bytes))}else if(e[An]===!0){let{version:n,multihash:i,code:o}=e,s=_e(i);return r.create(n,o,s)}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!==et)throw new Error(`Version 0 CID must use dag-pb (code: ${et}) block encoding`);return new r(t,e,n,n.bytes)}case 1:{let i=je(t,e,n.bytes);return new r(t,e,n,i)}default:throw new Error("Invalid version")}}static createV0(t){return r.create(0,et,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=B(t.subarray(n,n+e.multihashSize));if(i.byteLength!==e.multihashSize)throw new Error("Incorrect length");let o=i.subarray(e.multihashSize-e.digestSize),s=new W(e.multihashCode,e.digestSize,o,i);return[e.version===0?r.createV0(s):r.createV1(e.codec,s),t.subarray(e.size)]}static inspectBytes(t){let e=0,n=()=>{let[f,w]=Y(t.subarray(e));return e+=w,f},i=n(),o=et;if(i===18?(i=0,e=0):o=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=e,a=n(),c=n(),h=e+c,l=h-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:l,size:h}}static parse(t,e){let[n,i]=yn(t,e),o=r.decode(i);if(o.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return ie(o).set(n,t),o}};function yn(r,t){switch(r[0]){case"Q":{let e=t??R;return[R.prefix,e.decode(`${R.prefix}${r}`)]}case R.prefix:{let e=t??R;return[R.prefix,e.decode(r)]}case K.prefix:{let e=t??K;return[K.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 En(r,t,e){let{prefix:n}=e;if(n!==R.prefix)throw Error(`Cannot string encode V0 in ${e.name} encoding`);let i=t.get(n);if(i==null){let o=e.encode(r).slice(1);return t.set(n,o),o}else return i}function Ln(r,t,e){let{prefix:n}=e,i=t.get(n);if(i==null){let o=e.encode(r);return t.set(n,o),o}else return i}var et=112,Sn=18;function je(r,t,e){let n=j(r),i=n+j(t),o=new Uint8Array(i+e.byteLength);return X(r,o,0),X(t,o,n),o.set(e,i),o}var An=Symbol.for("@ipld/js-cid/CID");var oe={...Zt,...Kt,...Qt,...Gt,...qt,...jt,...Wt,...Jt,...Ht,...Xt},Zi={...ne,...te};function Je(r,t,e,n){return{name:r,prefix:t,encoder:{name:r,prefix:t,encode:e},decoder:{decode:n}}}var We=Je("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),se=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=b(r.length);for(let e=0;e<r.length;e++)t[e]=r.charCodeAt(e);return t}),Nn={utf8:We,"utf-8":We,hex:oe.base16,latin1:se,ascii:se,binary:se,...oe},bt=Nn;function J(r,t="utf8"){let e=bt[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return e.decoder.decode(`${e.prefix}${r}`)}function ae(r,t="utf8"){let e=bt[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return e.encoder.encode(r).substring(1)}var He="0.0.1",Qe="fetch";var ce=new Float32Array([-0]),V=new Uint8Array(ce.buffer);function Ze(r,t,e){ce[0]=r,t[e]=V[0],t[e+1]=V[1],t[e+2]=V[2],t[e+3]=V[3]}function Ye(r,t){return V[0]=r[t],V[1]=r[t+1],V[2]=r[t+2],V[3]=r[t+3],ce[0]}var he=new Float64Array([-0]),g=new Uint8Array(he.buffer);function tr(r,t,e){he[0]=r,t[e]=g[0],t[e+1]=g[1],t[e+2]=g[2],t[e+3]=g[3],t[e+4]=g[4],t[e+5]=g[5],t[e+6]=g[6],t[e+7]=g[7]}function er(r,t){return g[0]=r[t],g[1]=r[t+1],g[2]=r[t+2],g[3]=r[t+3],g[4]=r[t+4],g[5]=r[t+5],g[6]=r[t+6],g[7]=r[t+7],he[0]}var In=BigInt(Number.MAX_SAFE_INTEGER),Un=BigInt(Number.MIN_SAFE_INTEGER),E=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<In&&t>Un)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>rr&&(i=0n,++n>rr&&(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 E(0,0);z.toBigInt=function(){return 0n};z.zzEncode=z.zzDecode=function(){return this};z.length=function(){return 1};var rr=4294967296n;function nr(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 ir(r,t,e){if(e-t<1)return"";let i,o=[],s=0,a;for(;t<e;)a=r[t++],a<128?o[s++]=a:a>191&&a<224?o[s++]=(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,o[s++]=55296+(a>>10),o[s++]=56320+(a&1023)):o[s++]=(a&15)<<12|(r[t++]&63)<<6|r[t++]&63,s>8191&&((i??(i=[])).push(String.fromCharCode.apply(String,o)),s=0);return i!=null?(s>0&&i.push(String.fromCharCode.apply(String,o.slice(0,s))),i.join("")):String.fromCharCode.apply(String,o.slice(0,s))}function ue(r,t,e){let n=e,i,o;for(let s=0;s<r.length;++s)i=r.charCodeAt(s),i<128?t[e++]=i:i<2048?(t[e++]=i>>6|192,t[e++]=i&63|128):(i&64512)===55296&&((o=r.charCodeAt(s+1))&64512)===56320?(i=65536+((i&1023)<<10)+(o&1023),++s,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 U(r,t){return RangeError(`index out of range: ${r.pos} + ${t??1} > ${r.len}`)}function yt(r,t){return(r[t-4]|r[t-3]<<8|r[t-2]<<16|r[t-1]<<24)>>>0}var fe=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,U(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 U(this,4);return yt(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw U(this,4);return yt(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw U(this,4);let t=Ye(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw U(this,4);let t=er(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 U(this,t);return this.pos+=t,e===n?new Uint8Array(0):this.buf.subarray(e,n)}string(){let t=this.bytes();return ir(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw U(this,t);this.pos+=t}else do if(this.pos>=this.len)throw U(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 E(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 U(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 U(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 U(this,8);let t=yt(this.buf,this.pos+=4),e=yt(this.buf,this.pos+=4);return new E(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=kt(this.buf,this.pos);return this.pos+=T(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 le(r){return new fe(r instanceof Uint8Array?r:r.subarray())}function Et(r,t,e){let n=le(r);return t.decode(n,void 0,e)}function de(r){let t=r??8192,e=t>>>1,n,i=t;return function(s){if(s<1||s>e)return b(s);i+s>t&&(n=b(t),i=0);let a=n.subarray(i,i+=s);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 pe(){}var ge=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},Dn=de();function Fn(r){return globalThis.Buffer!=null?b(r):Dn(r)}var nt=class{len;head;tail;states;constructor(){this.len=0,this.head=new $(pe,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 we((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(Lt,10,E.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let e=E.fromBigInt(t);return this._push(Lt,e.length(),e)}uint64Number(t){return this._push(Mt,T(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=E.fromBigInt(t).zzEncode();return this._push(Lt,e.length(),e)}sint64Number(t){let e=E.fromNumber(t).zzEncode();return this._push(Lt,e.length(),e)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(me,1,t?1:0)}fixed32(t){return this._push(rt,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let e=E.fromBigInt(t);return this._push(rt,4,e.lo)._push(rt,4,e.hi)}fixed64Number(t){let e=E.fromNumber(t);return this._push(rt,4,e.lo)._push(rt,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(Ze,4,t)}double(t){return this._push(tr,8,t)}bytes(t){let e=t.length>>>0;return e===0?this._push(me,1,0):this.uint32(e)._push(Rn,e,t)}string(t){let e=nr(t);return e!==0?this.uint32(e)._push(ue,e,t):this._push(me,1,0)}fork(){return this.states=new ge(this),this.head=this.tail=new $(pe,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 $(pe,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=Fn(this.len),n=0;for(;t!=null;)t.fn(t.val,e,n),n+=t.len,t=t.next;return e}};function me(r,t,e){t[e]=r&255}function vn(r,t,e){for(;r>127;)t[e++]=r&127|128,r>>>=7;t[e]=r}var we=class extends ${next;constructor(t,e){super(vn,t,e),this.next=void 0}};function Lt(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 rt(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 Rn(r,t,e){t.set(r,e)}globalThis.Buffer!=null&&(nt.prototype.bytes=function(r){let t=r.length>>>0;return this.uint32(t),t>0&&this._push(On,t,r),this},nt.prototype.string=function(r){let t=globalThis.Buffer.byteLength(r);return this.uint32(t),t>0&&this._push(Cn,t,r),this});function On(r,t,e){t.set(r,e)}function Cn(r,t,e){r.length<40?ue(r,t,e):t.utf8Write!=null?t.utf8Write(r,e):t.set(J(r),e)}function xe(){return new nt}function St(r,t){let e=xe();return t.encode(r,e,{lengthDelimited:!1}),e.finish()}var H;(function(r){r[r.VARINT=0]="VARINT",r[r.BIT64=1]="BIT64",r[r.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",r[r.START_GROUP=3]="START_GROUP",r[r.END_GROUP=4]="END_GROUP",r[r.BIT32=5]="BIT32"})(H||(H={}));function At(r,t,e,n){return{name:r,type:t,encode:e,decode:n}}function be(r){function t(i){if(r[i.toString()]==null)throw new Error("Invalid enum value");return r[i]}let e=function(o,s){let a=t(o);s.int32(a)},n=function(o){let s=o.int32();return t(s)};return At("enum",H.VARINT,e,n)}function Nt(r,t){return At("message",H.LENGTH_DELIMITED,r,t)}var it;(function(r){let t;r.codec=()=>(t==null&&(t=Nt((e,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),e.identifier!=null&&e.identifier.byteLength>0&&(n.uint32(10),n.bytes(e.identifier)),i.lengthDelimited!==!1&&n.ldelim()},(e,n,i={})=>{let o={identifier:S(0)},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let a=e.uint32();switch(a>>>3){case 1:{o.identifier=e.bytes();break}default:{e.skipType(a&7);break}}}return o})),t),r.encode=e=>St(e,r.codec()),r.decode=(e,n)=>Et(e,r.codec(),n)})(it||(it={}));var A;(function(r){let t;(function(i){i.OK="OK",i.NOT_FOUND="NOT_FOUND",i.ERROR="ERROR"})(t=r.StatusCode||(r.StatusCode={}));let e;(function(i){i[i.OK=0]="OK",i[i.NOT_FOUND=1]="NOT_FOUND",i[i.ERROR=2]="ERROR"})(e||(e={})),function(i){i.codec=()=>be(e)}(t=r.StatusCode||(r.StatusCode={}));let n;r.codec=()=>(n==null&&(n=Nt((i,o,s={})=>{s.lengthDelimited!==!1&&o.fork(),i.status!=null&&e[i.status]!==0&&(o.uint32(8),r.StatusCode.codec().encode(i.status,o)),i.data!=null&&i.data.byteLength>0&&(o.uint32(18),o.bytes(i.data)),s.lengthDelimited!==!1&&o.ldelim()},(i,o,s={})=>{let a={status:t.OK,data:S(0)},c=o==null?i.len:i.pos+o;for(;i.pos<c;){let h=i.uint32();switch(h>>>3){case 1:{a.status=r.StatusCode.codec().decode(i);break}case 2:{a.data=i.bytes();break}default:{i.skipType(h&7);break}}}return a})),n),r.encode=i=>St(i,r.codec()),r.decode=(i,o)=>Et(i,r.codec(),o)})(A||(A={}));var sr=1e4,It=class{protocol;components;lookupFunctions;started;init;log;constructor(t,e={}){this.log=t.logger.forComponent("libp2p:fetch"),this.started=!1,this.components=t,this.protocol=`/${e.protocolPrefix??"libp2p"}/${Qe}/${He}`,this.lookupFunctions=new Map,this.handleMessage=this.handleMessage.bind(this),this.init=e}[Symbol.toStringTag]="@libp2p/fetch";async start(){await this.components.registrar.handle(this.protocol,t=>{this.handleMessage(t).then(async()=>{await t.stream.close()}).catch(e=>{this.log.error("error handling message - %e",e)})},{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={}){typeof e=="string"&&(e=J(e)),this.log.trace("dialing %s to %p",this.protocol,t);let i=await this.components.connectionManager.openConnection(t,n),o=n.signal,s,a=()=>{};if(o==null){let c=this.init.timeout??sr;this.log.trace("using default timeout of %d ms",c),o=AbortSignal.timeout(c)}try{s=await i.newStream(this.protocol,{signal:o}),a=()=>{s?.abort(new at)},o.addEventListener("abort",a,{once:!0}),this.log.trace("fetch %m",e);let c=Vt(s);await c.write({identifier:e},it,n);let h=await c.read(A,n);switch(await c.unwrap().close(n),h.status){case A.StatusCode.OK:return this.log.trace("received status OK for %m",e),h.data;case A.StatusCode.NOT_FOUND:{this.log("received status NOT_FOUND for %m",e);return}case A.StatusCode.ERROR:{this.log("received status ERROR for %m",e);let l=ae(h.data);throw new ut("Error in fetch protocol response: "+l)}default:throw this.log("received status unknown for %m",e),new ht("Unknown response status")}}catch(c){throw s?.abort(c),c}finally{o.removeEventListener("abort",a),s!=null&&await s.close()}}async handleMessage(t){let{stream:e}=t,n=AbortSignal.timeout(this.init.timeout??sr);try{let i=Vt(e),o=await i.read(it,{signal:n}),s,a=ae(o.identifier),c=this._getLookupFunction(a);if(c==null){this.log.trace("sending status ERROR for %m",o.identifier);let h=J("No lookup function registered for key");s={status:A.StatusCode.ERROR,data:h}}else{this.log.trace("lookup data with identifier %s",c.prefix);try{let h=await c.fn(o.identifier);h==null?(this.log.trace("sending status NOT_FOUND for %m",o.identifier),s={status:A.StatusCode.NOT_FOUND,data:new Uint8Array(0)}):(this.log.trace("sending status OK for %m",o.identifier),s={status:A.StatusCode.OK,data:h})}catch(h){this.log.error("error during lookup of %m - %e",o.identifier,h);let l=J(h.message);s={status:A.StatusCode.ERROR,data:l}}}await i.write(s,A,{signal:n}),await i.unwrap().close({signal:n})}catch(i){this.log.error("error answering fetch request - %e",i),e.abort(i)}}_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 ct(`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 Tn(r={}){return t=>new It(t,r)}return fr(Bn);})();
2
+ "use strict";var Libp2PFetch=(()=>{var Dt=Object.defineProperty;var or=Object.getOwnPropertyDescriptor;var sr=Object.getOwnPropertyNames;var ar=Object.prototype.hasOwnProperty;var b=(r,t)=>{for(var e in t)Dt(r,e,{get:t[e],enumerable:!0})},cr=(r,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of sr(t))!ar.call(r,i)&&i!==e&&Dt(r,i,{get:()=>t[i],enumerable:!(n=or(t,i))||n.enumerable});return r};var hr=r=>cr(Dt({},"__esModule",{value:!0}),r);var Rn={};b(Rn,{fetch:()=>On});var ct=class extends Error{static name="AbortError";constructor(t="The operation was aborted"){super(t),this.name="AbortError"}};var ht=class extends Error{static name="InvalidParametersError";constructor(t="Invalid parameters"){super(t),this.name="InvalidParametersError"}};var ut=class extends Error{static name="InvalidMessageError";constructor(t="Invalid message"){super(t),this.name="InvalidMessageError"}},ft=class extends Error{static name="ProtocolError";constructor(t="Protocol error"){super(t),this.name="ProtocolError"}};function G(){let r={};return r.promise=new Promise((t,e)=>{r.resolve=t,r.reject=e}),r}var lt=class extends Error{type;code;constructor(t,e,n){super(t??"The operation was aborted"),this.type="aborted",this.name=n??"AbortError",this.code=e??"ABORT_ERR"}};async function Q(r,t,e){if(t==null)return r;if(t.aborted)return r.catch(()=>{}),Promise.reject(new lt(e?.errorMessage,e?.errorCode,e?.errorName));let n,i=new lt(e?.errorMessage,e?.errorCode,e?.errorName);try{return await Promise.race([r,new Promise((o,s)=>{n=()=>{s(i)},t.addEventListener("abort",n)})])}finally{n!=null&&t.removeEventListener("abort",n)}}var Ft=class{readNext;haveNext;ended;nextResult;error;constructor(){this.ended=!1,this.readNext=G(),this.haveNext=G()}[Symbol.asyncIterator](){return this}async next(){if(this.nextResult==null&&await this.haveNext.promise,this.nextResult==null)throw new Error("HaveNext promise resolved but nextResult was undefined");let t=this.nextResult;return this.nextResult=void 0,this.readNext.resolve(),this.readNext=G(),t}async throw(t){return this.ended=!0,this.error=t,t!=null&&(this.haveNext.promise.catch(()=>{}),this.haveNext.reject(t)),{done:!0,value:void 0}}async return(){let t={done:!0,value:void 0};return this.ended=!0,this.nextResult=t,this.haveNext.resolve(),t}async push(t,e){await this._push(t,e)}async end(t,e){t!=null?await this.throw(t):await this._push(void 0,e)}async _push(t,e){if(t!=null&&this.ended)throw this.error??new Error("Cannot push value onto an ended pushable");for(;this.nextResult!=null;)await this.readNext.promise;t!=null?this.nextResult={done:!1,value:t}:(this.ended=!0,this.nextResult={done:!0,value:void 0}),this.haveNext.resolve(),this.haveNext=G(),await Q(this.readNext.promise,e?.signal,e)}};function be(){return new Ft}function L(r=0){return new Uint8Array(r)}function x(r=0){return new Uint8Array(r)}function vt(r,t){t==null&&(t=r.reduce((i,o)=>i+o.length,0));let e=x(t),n=0;for(let i of r)e.set(i,n),n+=i.length;return e}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}var Le=Symbol.for("@achingbrain/uint8arraylist");function Ee(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 dt(r){return!!r?.[Le]}var B=class r{bufs;length;[Le]=!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(dt(n))e+=n.byteLength,this.bufs.push(...n.bufs);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(dt(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=Ee(this.bufs,t);return e.buf[e.index]}set(t,e){let n=Ee(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(dt(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 vt(n,i)}subarray(t,e){let{bufs:n,length:i}=this._subList(t,e);return n.length===1?n[0]:vt(n,i)}sublist(t,e){let{bufs:n,length:i}=this._subList(t,e),o=new r;return o.length=i,o.bufs=[...n],o}_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 o=0;o<this.bufs.length;o++){let s=this.bufs[o],a=i,c=a+s.byteLength;if(i=c,t>=c)continue;let h=t>=a&&t<c,l=e>a&&e<=c;if(h&&l){if(t===a&&e===c){n.push(s);break}let d=t-a;n.push(s.subarray(d,d+(e-t)));break}if(h){if(t===0){n.push(s);continue}n.push(s.subarray(t-a));continue}if(l){if(e===c){n.push(s);break}n.push(s.subarray(0,e-a));break}n.push(s)}return{bufs:n,length:e-t}}indexOf(t,e=0){if(!dt(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 o=256,s=new Int32Array(o);for(let d=0;d<o;d++)s[d]=-1;for(let d=0;d<i;d++)s[n[d]]=d;let a=s,c=this.byteLength-n.byteLength,h=n.byteLength-1,l;for(let d=e;d<=c;d+=l){l=0;for(let U=h;U>=0;U--){let st=this.get(d+U);if(n[U]!==st){l=Math.max(1,U-a[st]);break}}if(l===0)return d}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=x(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=L(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=L(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=L(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=x(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=L(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=L(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=L(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=L(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=L(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(!ye(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,o)=>i+o.byteLength,0)),n.length=e,n}};var pt=class extends Error{name="UnexpectedEOFError";code="ERR_UNEXPECTED_EOF"};function Se(r,t){let e=be();r.sink(e).catch(async s=>{await e.end(s)}),r.sink=async s=>{for await(let a of s)await e.push(a);await e.end()};let n=r.source;r.source[Symbol.iterator]!=null?n=r.source[Symbol.iterator]():r.source[Symbol.asyncIterator]!=null&&(n=r.source[Symbol.asyncIterator]());let i=new B;return{read:async s=>{if(s?.signal?.throwIfAborted(),s?.bytes==null){let{done:c,value:h}=await Q(n.next(),s?.signal);return c===!0?null:h}for(;i.byteLength<s.bytes;){let{value:c,done:h}=await Q(n.next(),s?.signal);if(h===!0)throw new pt("unexpected end of input");i.append(c)}let a=i.sublist(0,s.bytes);return i.consume(s.bytes),a},write:async(s,a)=>{a?.signal?.throwIfAborted(),s instanceof Uint8Array?await e.push(s,a):await e.push(s.subarray(),a)},unwrap:()=>{if(i.byteLength>0){let s=r.source;r.source=async function*(){t?.yieldBytes===!1?yield i:yield*i,yield*s}()}return r}}}var ur=Math.pow(2,7),fr=Math.pow(2,14),lr=Math.pow(2,21),Ct=Math.pow(2,28),Ot=Math.pow(2,35),Rt=Math.pow(2,42),Tt=Math.pow(2,49),u=128,m=127;function R(r){if(r<ur)return 1;if(r<fr)return 2;if(r<lr)return 3;if(r<Ct)return 4;if(r<Ot)return 5;if(r<Rt)return 6;if(r<Tt)return 7;if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Mt(r,t,e=0){switch(R(r)){case 8:t[e++]=r&255|u,r/=128;case 7:t[e++]=r&255|u,r/=128;case 6:t[e++]=r&255|u,r/=128;case 5:t[e++]=r&255|u,r/=128;case 4:t[e++]=r&255|u,r>>>=7;case 3:t[e++]=r&255|u,r>>>=7;case 2:t[e++]=r&255|u,r>>>=7;case 1:{t[e++]=r&255,r>>>=7;break}default:throw new Error("unreachable")}return t}function dr(r,t,e=0){switch(R(r)){case 8:t.set(e++,r&255|u),r/=128;case 7:t.set(e++,r&255|u),r/=128;case 6:t.set(e++,r&255|u),r/=128;case 5:t.set(e++,r&255|u),r/=128;case 4:t.set(e++,r&255|u),r>>>=7;case 3:t.set(e++,r&255|u),r>>>=7;case 2:t.set(e++,r&255|u),r>>>=7;case 1:{t.set(e++,r&255),r>>>=7;break}default:throw new Error("unreachable")}return t}function Bt(r,t){let e=r[t],n=0;if(n+=e&m,e<u||(e=r[t+1],n+=(e&m)<<7,e<u)||(e=r[t+2],n+=(e&m)<<14,e<u)||(e=r[t+3],n+=(e&m)<<21,e<u)||(e=r[t+4],n+=(e&m)*Ct,e<u)||(e=r[t+5],n+=(e&m)*Ot,e<u)||(e=r[t+6],n+=(e&m)*Rt,e<u)||(e=r[t+7],n+=(e&m)*Tt,e<u))return n;throw new RangeError("Could not decode varint")}function pr(r,t){let e=r.get(t),n=0;if(n+=e&m,e<u||(e=r.get(t+1),n+=(e&m)<<7,e<u)||(e=r.get(t+2),n+=(e&m)<<14,e<u)||(e=r.get(t+3),n+=(e&m)<<21,e<u)||(e=r.get(t+4),n+=(e&m)*Ct,e<u)||(e=r.get(t+5),n+=(e&m)*Ot,e<u)||(e=r.get(t+6),n+=(e&m)*Rt,e<u)||(e=r.get(t+7),n+=(e&m)*Tt,e<u))return n;throw new RangeError("Could not decode varint")}function Ae(r,t,e=0){return t==null&&(t=x(R(r))),t instanceof Uint8Array?Mt(r,t,e):dr(r,t,e)}function Ne(r,t=0){return r instanceof Uint8Array?Bt(r,t):pr(r,t)}var mt=class extends Error{name="InvalidMessageLengthError";code="ERR_INVALID_MSG_LENGTH"},gt=class extends Error{name="InvalidDataLengthError";code="ERR_MSG_DATA_TOO_LONG"},wt=class extends Error{name="InvalidDataLengthLengthError";code="ERR_MSG_LENGTH_TOO_LONG"};function Ie(r,t={}){let e=Se(r,t);t.maxDataLength!=null&&t.maxLengthLength==null&&(t.maxLengthLength=R(t.maxDataLength));let n=t?.lengthDecoder??Ne,i=t?.lengthEncoder??Ae;return{read:async s=>{let a=-1,c=new B;for(;;){c.append(await e.read({...s,bytes:1}));try{a=n(c)}catch(h){if(h instanceof RangeError)continue;throw h}if(a<0)throw new mt("Invalid message length");if(t?.maxLengthLength!=null&&c.byteLength>t.maxLengthLength)throw new wt("message length length too long");if(a>-1)break}if(t?.maxDataLength!=null&&a>t.maxDataLength)throw new gt("message length too long");return e.read({...s,bytes:a})},write:async(s,a)=>{await e.write(new B(i(s.byteLength),s),a)},writeV:async(s,a)=>{let c=new B(...s.flatMap(h=>[i(h.byteLength),h]));await e.write(c,a)},unwrap:()=>e.unwrap()}}function kt(r,t){let e=Ie(r,t),n={read:async(i,o)=>{let s=await e.read(o);return i.decode(s)},write:async(i,o,s)=>{await e.write(o.encode(i),s)},writeV:async(i,o,s)=>{await e.writeV(i.map(a=>o.encode(a)),s)},pb:i=>({read:async o=>n.read(i,o),write:async(o,s)=>n.write(o,i,s),writeV:async(o,s)=>n.writeV(o,i,s),unwrap:()=>n}),unwrap:()=>e.unwrap()};return n}var $t={};b($t,{base10:()=>Er});var li=new Uint8Array(0);function Ue(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 T(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 De(r){return new TextEncoder().encode(r)}function Fe(r){return new TextDecoder().decode(r)}function gr(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 o=r.charAt(i),s=o.charCodeAt(0);if(e[s]!==255)throw new TypeError(o+" is ambiguous");e[s]=i}var a=r.length,c=r.charAt(0),h=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function d(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 w=0,_=0,A=0,D=f.length;A!==D&&f[A]===0;)A++,w++;for(var F=(D-A)*l+1>>>0,E=new Uint8Array(F);A!==D;){for(var v=f[A],M=0,N=F-1;(v!==0||M<_)&&N!==-1;N--,M++)v+=256*E[N]>>>0,E[N]=v%a>>>0,v=v/a>>>0;if(v!==0)throw new Error("Non-zero carry");_=M,A++}for(var O=F-_;O!==F&&E[O]===0;)O++;for(var at=c.repeat(w);O<F;++O)at+=r.charAt(E[O]);return at}function U(f){if(typeof f!="string")throw new TypeError("Expected String");if(f.length===0)return new Uint8Array;var w=0;if(f[w]!==" "){for(var _=0,A=0;f[w]===c;)_++,w++;for(var D=(f.length-w)*h+1>>>0,F=new Uint8Array(D);f[w];){var E=e[f.charCodeAt(w)];if(E===255)return;for(var v=0,M=D-1;(E!==0||v<A)&&M!==-1;M--,v++)E+=a*F[M]>>>0,F[M]=E%256>>>0,E=E/256>>>0;if(E!==0)throw new Error("Non-zero carry");A=v,w++}if(f[w]!==" "){for(var N=D-A;N!==D&&F[N]===0;)N++;for(var O=new Uint8Array(_+(D-N)),at=_;N!==D;)O[at++]=F[N++];return O}}}function st(f){var w=U(f);if(w)return w;throw new Error(`Non-${t} character`)}return{encode:d,decodeUnsafe:U,decode:st}}var wr=gr,xr=wr,Ce=xr;var Vt=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")}},_t=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 Oe(this,t)}},zt=class{decoders;constructor(t){this.decoders=t}or(t){return Oe(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 Oe(r,t){return new zt({...r.decoders??{[r.prefix]:r},...t.decoders??{[t.prefix]:t}})}var Pt=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 Vt(t,e,n),this.decoder=new _t(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 Pt(r,t,e,n)}function k({name:r,prefix:t,alphabet:e}){let{encode:n,decode:i}=Ce(e,r);return q({prefix:t,name:r,encode:n,decode:o=>T(i(o))})}function br(r,t,e,n){let i={};for(let l=0;l<t.length;++l)i[t[l]]=l;let o=r.length;for(;r[o-1]==="=";)--o;let s=new Uint8Array(o*e/8|0),a=0,c=0,h=0;for(let l=0;l<o;++l){let d=i[r[l]];if(d===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<e|d,a+=e,a>=8&&(a-=8,s[h++]=255&c>>a)}if(a>=e||(255&c<<8-a)!==0)throw new SyntaxError("Unexpected end of data");return s}function yr(r,t,e){let n=t[t.length-1]==="=",i=(1<<e)-1,o="",s=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],s+=8;s>e;)s-=e,o+=t[i&a>>s];if(s!==0&&(o+=t[i&a<<e-s]),n)for(;(o.length*e&7)!==0;)o+="=";return o}function p({name:r,prefix:t,bitsPerChar:e,alphabet:n}){return q({prefix:t,name:r,encode(i){return yr(i,n,e)},decode(i){return br(i,n,e,r)}})}var Er=k({prefix:"9",name:"base10",alphabet:"0123456789"});var Gt={};b(Gt,{base16:()=>Lr,base16upper:()=>Sr});var Lr=p({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Sr=p({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var qt={};b(qt,{base2:()=>Ar});var Ar=p({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Kt={};b(Kt,{base256emoji:()=>Fr});var Re=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}"),Nr=Re.reduce((r,t,e)=>(r[e]=t,r),[]),Ir=Re.reduce((r,t,e)=>{let n=t.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${t}`);return r[n]=e,r},[]);function Ur(r){return r.reduce((t,e)=>(t+=Nr[e],t),"")}function Dr(r){let t=[];for(let e of r){let n=e.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${e}`);let i=Ir[n];if(i==null)throw new Error(`Non-base256emoji character: ${e}`);t.push(i)}return new Uint8Array(t)}var Fr=q({prefix:"\u{1F680}",name:"base256emoji",encode:Ur,decode:Dr});var Xt={};b(Xt,{base32:()=>K,base32hex:()=>Rr,base32hexpad:()=>Mr,base32hexpadupper:()=>Br,base32hexupper:()=>Tr,base32pad:()=>Cr,base32padupper:()=>Or,base32upper:()=>vr,base32z:()=>kr});var K=p({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),vr=p({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Cr=p({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Or=p({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Rr=p({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Tr=p({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Mr=p({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Br=p({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),kr=p({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var jt={};b(jt,{base36:()=>Z,base36upper:()=>Vr});var Z=k({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Vr=k({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Wt={};b(Wt,{base58btc:()=>C,base58flickr:()=>_r});var C=k({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),_r=k({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Jt={};b(Jt,{base64:()=>zr,base64pad:()=>Pr,base64url:()=>$r,base64urlpad:()=>Gr});var zr=p({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Pr=p({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),$r=p({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Gr=p({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Ht={};b(Ht,{base8:()=>qr});var qr=p({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Qt={};b(Qt,{identity:()=>Kr});var Kr=q({prefix:"\0",name:"identity",encode:r=>Fe(r),decode:r=>De(r)});var Di=new TextEncoder,Fi=new TextDecoder;var Yt={};b(Yt,{identity:()=>mn});var Wr=Be,Te=128,Jr=127,Hr=~Jr,Qr=Math.pow(2,31);function Be(r,t,e){t=t||[],e=e||0;for(var n=e;r>=Qr;)t[e++]=r&255|Te,r/=128;for(;r&Hr;)t[e++]=r&255|Te,r>>>=7;return t[e]=r|0,Be.bytes=e-n+1,t}var Zr=Zt,Yr=128,Me=127;function Zt(r,n){var e=0,n=n||0,i=0,o=n,s,a=r.length;do{if(o>=a)throw Zt.bytes=0,new RangeError("Could not decode varint");s=r[o++],e+=i<28?(s&Me)<<i:(s&Me)*Math.pow(2,i),i+=7}while(s>=Yr);return Zt.bytes=o-n,e}var tn=Math.pow(2,7),en=Math.pow(2,14),rn=Math.pow(2,21),nn=Math.pow(2,28),on=Math.pow(2,35),sn=Math.pow(2,42),an=Math.pow(2,49),cn=Math.pow(2,56),hn=Math.pow(2,63),un=function(r){return r<tn?1:r<en?2:r<rn?3:r<nn?4:r<on?5:r<sn?6:r<an?7:r<cn?8:r<hn?9:10},fn={encode:Wr,decode:Zr,encodingLength:un},ln=fn,Y=ln;function tt(r,t=0){return[Y.decode(r,t),Y.decode.bytes]}function X(r,t,e=0){return Y.encode(r,t,e),t}function j(r){return Y.encodingLength(r)}function z(r,t){let e=t.byteLength,n=j(r),i=n+j(e),o=new Uint8Array(i+e);return X(r,o,0),X(e,o,n),o.set(t,i),new W(r,e,t,o)}function ke(r){let t=T(r),[e,n]=tt(t),[i,o]=tt(t.subarray(n)),s=t.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new W(e,i,s,t)}function Ve(r,t){if(r===t)return!0;{let e=t;return r.code===e.code&&r.size===e.size&&e.bytes instanceof Uint8Array&&Ue(r.bytes,e.bytes)}}var W=class{code;size;digest;bytes;constructor(t,e,n,i){this.code=t,this.size=e,this.digest=n,this.bytes=i}};var _e=0,dn="identity",ze=T;function pn(r){return z(_e,ze(r))}var mn={code:_e,name:dn,encode:ze,digest:pn};var re={};b(re,{sha256:()=>gn,sha512:()=>wn});function ee({name:r,code:t,encode:e}){return new te(r,t,e)}var te=class{name;code;encode;constructor(t,e,n){this.name=t,this.code=e,this.encode=n}digest(t){if(t instanceof Uint8Array){let e=this.encode(t);return e instanceof Uint8Array?z(this.code,e):e.then(n=>z(this.code,n))}else throw Error("Unknown type, must be binary type")}};function $e(r){return async t=>new Uint8Array(await crypto.subtle.digest(r,t))}var gn=ee({name:"sha2-256",code:18,encode:$e("SHA-256")}),wn=ee({name:"sha2-512",code:19,encode:$e("SHA-512")});function Ge(r,t){let{bytes:e,version:n}=r;switch(n){case 0:return bn(e,ne(r),t??C.encoder);default:return yn(e,ne(r),t??K.encoder)}}var qe=new WeakMap;function ne(r){let t=qe.get(r);if(t==null){let e=new Map;return qe.set(r,e),e}return t}var bt=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!==En)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=z(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&&Ve(t.multihash,n.multihash)}toString(t){return Ge(this,t)}toJSON(){return{"/":Ge(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:o,bytes:s}=e;return new r(n,i,o,s??Ke(n,i,o.bytes))}else if(e[Ln]===!0){let{version:n,multihash:i,code:o}=e,s=ke(i);return r.create(n,o,s)}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=Ke(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=T(t.subarray(n,n+e.multihashSize));if(i.byteLength!==e.multihashSize)throw new Error("Incorrect length");let o=i.subarray(e.multihashSize-e.digestSize),s=new W(e.multihashCode,e.digestSize,o,i);return[e.version===0?r.createV0(s):r.createV1(e.codec,s),t.subarray(e.size)]}static inspectBytes(t){let e=0,n=()=>{let[d,U]=tt(t.subarray(e));return e+=U,d},i=n(),o=rt;if(i===18?(i=0,e=0):o=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=e,a=n(),c=n(),h=e+c,l=h-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:l,size:h}}static parse(t,e){let[n,i]=xn(t,e),o=r.decode(i);if(o.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return ne(o).set(n,t),o}};function xn(r,t){switch(r[0]){case"Q":{let e=t??C;return[C.prefix,e.decode(`${C.prefix}${r}`)]}case C.prefix:{let e=t??C;return[C.prefix,e.decode(r)]}case K.prefix:{let e=t??K;return[K.prefix,e.decode(r)]}case Z.prefix:{let e=t??Z;return[Z.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 bn(r,t,e){let{prefix:n}=e;if(n!==C.prefix)throw Error(`Cannot string encode V0 in ${e.name} encoding`);let i=t.get(n);if(i==null){let o=e.encode(r).slice(1);return t.set(n,o),o}else return i}function yn(r,t,e){let{prefix:n}=e,i=t.get(n);if(i==null){let o=e.encode(r);return t.set(n,o),o}else return i}var rt=112,En=18;function Ke(r,t,e){let n=j(r),i=n+j(t),o=new Uint8Array(i+e.byteLength);return X(r,o,0),X(t,o,n),o.set(e,i),o}var Ln=Symbol.for("@ipld/js-cid/CID");var ie={...Qt,...qt,...Ht,...$t,...Gt,...Xt,...jt,...Wt,...Jt,...Kt},Qi={...re,...Yt};function je(r,t,e,n){return{name:r,prefix:t,encoder:{name:r,prefix:t,encode:e},decoder:{decode:n}}}var Xe=je("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),oe=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=x(r.length);for(let e=0;e<r.length;e++)t[e]=r.charCodeAt(e);return t}),Sn={utf8:Xe,"utf-8":Xe,hex:ie.base16,latin1:oe,ascii:oe,binary:oe,...ie},yt=Sn;function J(r,t="utf8"){let e=yt[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return e.decoder.decode(`${e.prefix}${r}`)}function se(r,t="utf8"){let e=yt[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return e.encoder.encode(r).substring(1)}var We="0.0.1",Je="fetch";var ae=new Float32Array([-0]),V=new Uint8Array(ae.buffer);function He(r,t,e){ae[0]=r,t[e]=V[0],t[e+1]=V[1],t[e+2]=V[2],t[e+3]=V[3]}function Qe(r,t){return V[0]=r[t],V[1]=r[t+1],V[2]=r[t+2],V[3]=r[t+3],ae[0]}var ce=new Float64Array([-0]),g=new Uint8Array(ce.buffer);function Ze(r,t,e){ce[0]=r,t[e]=g[0],t[e+1]=g[1],t[e+2]=g[2],t[e+3]=g[3],t[e+4]=g[4],t[e+5]=g[5],t[e+6]=g[6],t[e+7]=g[7]}function Ye(r,t){return g[0]=r[t],g[1]=r[t+1],g[2]=r[t+2],g[3]=r[t+3],g[4]=r[t+4],g[5]=r[t+5],g[6]=r[t+6],g[7]=r[t+7],ce[0]}var An=BigInt(Number.MAX_SAFE_INTEGER),Nn=BigInt(Number.MIN_SAFE_INTEGER),y=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 P;if(t<An&&t>Nn)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>tr&&(i=0n,++n>tr&&(n=0n))),new r(Number(i),Number(n))}static fromNumber(t){if(t===0)return P;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):P}},P=new y(0,0);P.toBigInt=function(){return 0n};P.zzEncode=P.zzDecode=function(){return this};P.length=function(){return 1};var tr=4294967296n;function er(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 rr(r,t,e){if(e-t<1)return"";let i,o=[],s=0,a;for(;t<e;)a=r[t++],a<128?o[s++]=a:a>191&&a<224?o[s++]=(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,o[s++]=55296+(a>>10),o[s++]=56320+(a&1023)):o[s++]=(a&15)<<12|(r[t++]&63)<<6|r[t++]&63,s>8191&&((i??(i=[])).push(String.fromCharCode.apply(String,o)),s=0);return i!=null?(s>0&&i.push(String.fromCharCode.apply(String,o.slice(0,s))),i.join("")):String.fromCharCode.apply(String,o.slice(0,s))}function he(r,t,e){let n=e,i,o;for(let s=0;s<r.length;++s)i=r.charCodeAt(s),i<128?t[e++]=i:i<2048?(t[e++]=i>>6|192,t[e++]=i&63|128):(i&64512)===55296&&((o=r.charCodeAt(s+1))&64512)===56320?(i=65536+((i&1023)<<10)+(o&1023),++s,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 I(r,t){return RangeError(`index out of range: ${r.pos} + ${t??1} > ${r.len}`)}function Et(r,t){return(r[t-4]|r[t-3]<<8|r[t-2]<<16|r[t-1]<<24)>>>0}var ue=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,I(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 I(this,4);return Et(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw I(this,4);return Et(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw I(this,4);let t=Qe(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw I(this,4);let t=Ye(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 I(this,t);return this.pos+=t,e===n?new Uint8Array(0):this.buf.subarray(e,n)}string(){let t=this.bytes();return rr(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw I(this,t);this.pos+=t}else do if(this.pos>=this.len)throw I(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 y(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 I(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 I(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 I(this,8);let t=Et(this.buf,this.pos+=4),e=Et(this.buf,this.pos+=4);return new y(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=Bt(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 fe(r){return new ue(r instanceof Uint8Array?r:r.subarray())}function Lt(r,t,e){let n=fe(r);return t.decode(n,void 0,e)}function le(r){let t=r??8192,e=t>>>1,n,i=t;return function(s){if(s<1||s>e)return x(s);i+s>t&&(n=x(t),i=0);let a=n.subarray(i,i+=s);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 de(){}var me=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},In=le();function Un(r){return globalThis.Buffer!=null?x(r):In(r)}var it=class{len;head;tail;states;constructor(){this.len=0,this.head=new $(de,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 ge((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(St,10,y.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let e=y.fromBigInt(t);return this._push(St,e.length(),e)}uint64Number(t){return this._push(Mt,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=y.fromBigInt(t).zzEncode();return this._push(St,e.length(),e)}sint64Number(t){let e=y.fromNumber(t).zzEncode();return this._push(St,e.length(),e)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(pe,1,t?1:0)}fixed32(t){return this._push(nt,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let e=y.fromBigInt(t);return this._push(nt,4,e.lo)._push(nt,4,e.hi)}fixed64Number(t){let e=y.fromNumber(t);return this._push(nt,4,e.lo)._push(nt,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(He,4,t)}double(t){return this._push(Ze,8,t)}bytes(t){let e=t.length>>>0;return e===0?this._push(pe,1,0):this.uint32(e)._push(Fn,e,t)}string(t){let e=er(t);return e!==0?this.uint32(e)._push(he,e,t):this._push(pe,1,0)}fork(){return this.states=new me(this),this.head=this.tail=new $(de,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 $(de,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 pe(r,t,e){t[e]=r&255}function Dn(r,t,e){for(;r>127;)t[e++]=r&127|128,r>>>=7;t[e]=r}var ge=class extends ${next;constructor(t,e){super(Dn,t,e),this.next=void 0}};function St(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 nt(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 Fn(r,t,e){t.set(r,e)}globalThis.Buffer!=null&&(it.prototype.bytes=function(r){let t=r.length>>>0;return this.uint32(t),t>0&&this._push(vn,t,r),this},it.prototype.string=function(r){let t=globalThis.Buffer.byteLength(r);return this.uint32(t),t>0&&this._push(Cn,t,r),this});function vn(r,t,e){t.set(r,e)}function Cn(r,t,e){r.length<40?he(r,t,e):t.utf8Write!=null?t.utf8Write(r,e):t.set(J(r),e)}function we(){return new it}function At(r,t){let e=we();return t.encode(r,e,{lengthDelimited:!1}),e.finish()}var H;(function(r){r[r.VARINT=0]="VARINT",r[r.BIT64=1]="BIT64",r[r.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",r[r.START_GROUP=3]="START_GROUP",r[r.END_GROUP=4]="END_GROUP",r[r.BIT32=5]="BIT32"})(H||(H={}));function Nt(r,t,e,n){return{name:r,type:t,encode:e,decode:n}}function xe(r){function t(i){if(r[i.toString()]==null)throw new Error("Invalid enum value");return r[i]}let e=function(o,s){let a=t(o);s.int32(a)},n=function(o){let s=o.int32();return t(s)};return Nt("enum",H.VARINT,e,n)}function It(r,t){return Nt("message",H.LENGTH_DELIMITED,r,t)}var ot;(function(r){let t;r.codec=()=>(t==null&&(t=It((e,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),e.identifier!=null&&e.identifier.byteLength>0&&(n.uint32(10),n.bytes(e.identifier)),i.lengthDelimited!==!1&&n.ldelim()},(e,n,i={})=>{let o={identifier:L(0)},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let a=e.uint32();switch(a>>>3){case 1:{o.identifier=e.bytes();break}default:{e.skipType(a&7);break}}}return o})),t),r.encode=e=>At(e,r.codec()),r.decode=(e,n)=>Lt(e,r.codec(),n)})(ot||(ot={}));var S;(function(r){let t;(function(i){i.OK="OK",i.NOT_FOUND="NOT_FOUND",i.ERROR="ERROR"})(t=r.StatusCode||(r.StatusCode={}));let e;(function(i){i[i.OK=0]="OK",i[i.NOT_FOUND=1]="NOT_FOUND",i[i.ERROR=2]="ERROR"})(e||(e={})),function(i){i.codec=()=>xe(e)}(t=r.StatusCode||(r.StatusCode={}));let n;r.codec=()=>(n==null&&(n=It((i,o,s={})=>{s.lengthDelimited!==!1&&o.fork(),i.status!=null&&e[i.status]!==0&&(o.uint32(8),r.StatusCode.codec().encode(i.status,o)),i.data!=null&&i.data.byteLength>0&&(o.uint32(18),o.bytes(i.data)),s.lengthDelimited!==!1&&o.ldelim()},(i,o,s={})=>{let a={status:t.OK,data:L(0)},c=o==null?i.len:i.pos+o;for(;i.pos<c;){let h=i.uint32();switch(h>>>3){case 1:{a.status=r.StatusCode.codec().decode(i);break}case 2:{a.data=i.bytes();break}default:{i.skipType(h&7);break}}}return a})),n),r.encode=i=>At(i,r.codec()),r.decode=(i,o)=>Lt(i,r.codec(),o)})(S||(S={}));var ir=1e4,Ut=class{protocol;components;lookupFunctions;started;init;log;constructor(t,e={}){this.log=t.logger.forComponent("libp2p:fetch"),this.started=!1,this.components=t,this.protocol=`/${e.protocolPrefix??"libp2p"}/${Je}/${We}`,this.lookupFunctions=new Map,this.handleMessage=this.handleMessage.bind(this),this.init=e}[Symbol.toStringTag]="@libp2p/fetch";async start(){await this.components.registrar.handle(this.protocol,t=>{this.handleMessage(t).then(async()=>{await t.stream.close()}).catch(e=>{this.log.error("error handling message - %e",e)})},{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={}){typeof e=="string"&&(e=J(e)),this.log.trace("dialing %s to %p",this.protocol,t);let i=await this.components.connectionManager.openConnection(t,n),o=n.signal,s,a=()=>{};if(o==null){let c=this.init.timeout??ir;this.log.trace("using default timeout of %d ms",c),o=AbortSignal.timeout(c)}try{s=await i.newStream(this.protocol,{signal:o}),a=()=>{s?.abort(new ct)},o.addEventListener("abort",a,{once:!0}),this.log.trace("fetch %m",e);let c=kt(s);await c.write({identifier:e},ot,n);let h=await c.read(S,n);switch(await c.unwrap().close(n),h.status){case S.StatusCode.OK:return this.log.trace("received status OK for %m",e),h.data;case S.StatusCode.NOT_FOUND:{this.log("received status NOT_FOUND for %m",e);return}case S.StatusCode.ERROR:{this.log("received status ERROR for %m",e);let l=se(h.data);throw new ft("Error in fetch protocol response: "+l)}default:throw this.log("received status unknown for %m",e),new ut("Unknown response status")}}catch(c){throw s?.abort(c),c}finally{o.removeEventListener("abort",a),s!=null&&await s.close()}}async handleMessage(t){let{stream:e}=t,n=AbortSignal.timeout(this.init.timeout??ir);try{let i=kt(e),o=await i.read(ot,{signal:n}),s,a=se(o.identifier),c=this._getLookupFunction(a);if(c==null){this.log.trace("sending status ERROR for %m",o.identifier);let h=J("No lookup function registered for key");s={status:S.StatusCode.ERROR,data:h}}else{this.log.trace("lookup data with identifier %s",c.prefix);try{let h=await c.fn(o.identifier);h==null?(this.log.trace("sending status NOT_FOUND for %m",o.identifier),s={status:S.StatusCode.NOT_FOUND,data:new Uint8Array(0)}):(this.log.trace("sending status OK for %m",o.identifier),s={status:S.StatusCode.OK,data:h})}catch(h){this.log.error("error during lookup of %m - %e",o.identifier,h);let l=J(h.message);s={status:S.StatusCode.ERROR,data:l}}}await i.write(s,S,{signal:n}),await i.unwrap().close({signal:n})}catch(i){this.log.error("error answering fetch request - %e",i),e.abort(i)}}_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 ht(`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 On(r={}){return t=>new Ut(t,r)}return hr(Rn);})();
3
3
  return Libp2PFetch}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@libp2p/fetch",
3
- "version": "3.0.12",
3
+ "version": "3.0.13",
4
4
  "description": "Implementation of the Fetch Protocol",
5
5
  "license": "Apache-2.0 OR MIT",
6
6
  "homepage": "https://github.com/libp2p/js-libp2p/tree/main/packages/protocol-fetch#readme",
@@ -52,17 +52,17 @@
52
52
  "doc-check": "aegir doc-check"
53
53
  },
54
54
  "dependencies": {
55
- "@libp2p/interface": "^2.7.0",
56
- "@libp2p/interface-internal": "^2.3.9",
57
- "it-protobuf-stream": "^1.1.5",
55
+ "@libp2p/interface": "^2.8.0",
56
+ "@libp2p/interface-internal": "^2.3.10",
57
+ "it-protobuf-stream": "^2.0.1",
58
58
  "protons-runtime": "^5.5.0",
59
59
  "uint8arraylist": "^2.4.8",
60
60
  "uint8arrays": "^5.1.0"
61
61
  },
62
62
  "devDependencies": {
63
- "@libp2p/crypto": "^5.0.15",
64
- "@libp2p/logger": "^5.1.13",
65
- "@libp2p/peer-id": "^5.1.0",
63
+ "@libp2p/crypto": "^5.1.0",
64
+ "@libp2p/logger": "^5.1.14",
65
+ "@libp2p/peer-id": "^5.1.1",
66
66
  "aegir": "^45.1.1",
67
67
  "it-pair": "^2.0.6",
68
68
  "protons": "^7.6.0",