@libp2p/fetch 1.0.5-178fe2671 → 1.0.5-4e0135c7d

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 Ur=Object.create;var lt=Object.defineProperty;var Rr=Object.getOwnPropertyDescriptor;var Dr=Object.getOwnPropertyNames;var Tr=Object.getPrototypeOf,Ir=Object.prototype.hasOwnProperty;var Or=(r,t)=>()=>(t||r((t={exports:{}}).exports,t),t.exports),E=(r,t)=>{for(var e in t)lt(r,e,{get:t[e],enumerable:!0})},Le=(r,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Dr(t))!Ir.call(r,i)&&i!==e&&lt(r,i,{get:()=>t[i],enumerable:!(n=Rr(t,i))||n.enumerable});return r};var Br=(r,t,e)=>(e=r!=null?Ur(Tr(r)):{},Le(t||!r||!r.__esModule?lt(e,"default",{value:r,enumerable:!0}):e,r)),Fr=r=>Le(lt({},"__esModule",{value:!0}),r);var ke=Or((Oo,Me)=>{"use strict";function Ce(r,t){for(let e in t)Object.defineProperty(r,e,{value:t[e],enumerable:!0,configurable:!0});return r}function zr(r,t,e){if(!r||typeof r=="string")throw new TypeError("Please pass an Error to err-code");e||(e={}),typeof t=="object"&&(e=t,t=""),t&&(e.code=t);try{return Ce(r,e)}catch{e.message=r.message,e.stack=r.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(r)),Ce(new i,e)}}Me.exports=zr});var ui={};E(ui,{fetch:()=>hi});var li=Symbol.for("@libp2p/connection");var pi=Symbol.for("@libp2p/content-routing");var bi=Symbol.for("@libp2p/peer-discovery");var xi=Symbol.for("@libp2p/peer-id");var Ei=Symbol.for("@libp2p/peer-routing");var Ae;(function(r){r.Accept="accept",r.Ignore="ignore",r.Reject="reject"})(Ae||(Ae={}));var Ni=Symbol.for("@libp2p/transport");var Se;(function(r){r[r.FATAL_ALL=0]="FATAL_ALL",r[r.NO_FATAL=1]="NO_FATAL"})(Se||(Se={}));var P=class extends Error{code;props;constructor(t,e,n){super(t),this.code=e,this.name=n?.name??"CodeError",this.props=n??{}}};var Ne="ERR_TIMEOUT",Ue="ERR_INVALID_PARAMETERS";var Re="ERR_INVALID_MESSAGE";var It=class extends Event{detail;constructor(t,e){super(t,e),this.detail=e?.detail}},Di=globalThis.CustomEvent??It;var De=(r,...t)=>{try{[...t]}catch{}};function z(r){return globalThis.Buffer!=null?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r}function F(r=0){return globalThis.Buffer?.alloc!=null?z(globalThis.Buffer.alloc(r)):new Uint8Array(r)}function m(r=0){return globalThis.Buffer?.allocUnsafe!=null?z(globalThis.Buffer.allocUnsafe(r)):new Uint8Array(r)}function Ot(r,t){t==null&&(t=r.reduce((i,o)=>i+o.length,0));let e=m(t),n=0;for(let i of r)e.set(i,n),n+=i.length;return z(e)}function Te(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 Oe=Symbol.for("@achingbrain/uint8arraylist");function Ie(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?.[Oe]}var A=class r{bufs;length;[Oe]=!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=Ie(this.bufs,t);return e.buf[e.index]}set(t,e){let n=Ie(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 Ot(n,i)}subarray(t,e){let{bufs:n,length:i}=this._subList(t,e);return n.length===1?n[0]:Ot(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(!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 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 ut=this.get(f+w);if(n[w]!==ut){l=Math.max(1,w-a[ut]);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=m(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=F(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=F(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=F(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=m(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=F(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=F(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=F(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=F(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=F(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(!Te(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}};function H(){let r={};return r.promise=new Promise((t,e)=>{r.resolve=t,r.reject=e}),r}var pt=class extends Error{type;code;constructor(t,e){super(t??"The operation was aborted"),this.type="aborted",this.name="AbortError",this.code=e??"ABORT_ERR"}};async function Be(r,t,e){if(t==null)return r;if(t.aborted)return Promise.reject(new pt(e?.errorMessage,e?.errorCode));let n,i=new pt(e?.errorMessage,e?.errorCode);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 Bt=class{needNext;haveNext;ended;nextResult;constructor(){this.ended=!1,this.needNext=H(),this.haveNext=H()}[Symbol.asyncIterator](){return this}async next(){if(this.nextResult==null&&await this.haveNext.promise,this.nextResult==null)throw new Error("Have next but next was undefined");let t=this.nextResult;return this.nextResult=void 0,this.needNext.resolve(),this.needNext=H(),t}async throw(t){return this.ended=!0,t!=null&&this.haveNext.reject(t),{done:!0,value:void 0}}async return(){let t={done:!0,value:void 0};return await this._push(void 0),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");this.nextResult!=null&&await this.needNext.promise,t!=null?this.nextResult={done:!1,value:t}:(this.ended=!0,this.nextResult={done:!0,value:void 0}),this.haveNext.resolve(),this.haveNext=H(),await Be(this.needNext.promise,e?.signal,e)}};function Fe(){return new Bt}var mt=class extends Error{code;constructor(t,e){super(t),this.code=e}},Ft=class extends mt{type;constructor(t){super(t,"ABORT_ERR"),this.type="aborted"}};function _e(r,t){let e=Fe();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 A;return{read:async(s,a)=>{a?.signal?.throwIfAborted();let c,h=new Promise((l,f)=>{c=()=>{f(new Ft("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 A:w}for(;i.byteLength<s;){let{value:f,done:w}=await Promise.race([n.next(),h]);if(w===!0)throw new mt("unexpected end of input","ERR_UNEXPECTED_EOF");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 _r=Math.pow(2,7),vr=Math.pow(2,14),Cr=Math.pow(2,21),_t=Math.pow(2,28),vt=Math.pow(2,35),Ct=Math.pow(2,42),Mt=Math.pow(2,49),u=128,g=127;function _(r){if(r<_r)return 1;if(r<vr)return 2;if(r<Cr)return 3;if(r<_t)return 4;if(r<vt)return 5;if(r<Ct)return 6;if(r<Mt)return 7;if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Mr(r,t,e=0){switch(_(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 kr(r,t,e=0){switch(_(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 Vr(r,t){let e=r[t],n=0;if(n+=e&g,e<u||(e=r[t+1],n+=(e&g)<<7,e<u)||(e=r[t+2],n+=(e&g)<<14,e<u)||(e=r[t+3],n+=(e&g)<<21,e<u)||(e=r[t+4],n+=(e&g)*_t,e<u)||(e=r[t+5],n+=(e&g)*vt,e<u)||(e=r[t+6],n+=(e&g)*Ct,e<u)||(e=r[t+7],n+=(e&g)*Mt,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&g,e<u||(e=r.get(t+1),n+=(e&g)<<7,e<u)||(e=r.get(t+2),n+=(e&g)<<14,e<u)||(e=r.get(t+3),n+=(e&g)<<21,e<u)||(e=r.get(t+4),n+=(e&g)*_t,e<u)||(e=r.get(t+5),n+=(e&g)*vt,e<u)||(e=r.get(t+6),n+=(e&g)*Ct,e<u)||(e=r.get(t+7),n+=(e&g)*Mt,e<u))return n;throw new RangeError("Could not decode varint")}function ve(r,t,e=0){return t==null&&(t=m(_(r))),t instanceof Uint8Array?Mr(r,t,e):kr(r,t,e)}function gt(r,t=0){return r instanceof Uint8Array?Vr(r,t):Pr(r,t)}function bt(r){return r[Symbol.asyncIterator]!=null}var wt=r=>{let t=_(r),e=m(t);return ve(r,e),wt.bytes=t,e};wt.bytes=0;function et(r,t){t=t??{};let e=t.lengthEncoder??wt;function*n(i){let o=e(i.byteLength);o instanceof Uint8Array?yield o:yield*o,i instanceof Uint8Array?yield i:yield*i}return bt(r)?async function*(){for await(let i of r)yield*n(i)}():function*(){for(let i of r)yield*n(i)}()}et.single=(r,t)=>{t=t??{};let e=t.lengthEncoder??wt;return new A(e(r.byteLength),r)};var q=Br(ke(),1);var Gr=8,$r=1024*1024*4,G;(function(r){r[r.LENGTH=0]="LENGTH",r[r.DATA=1]="DATA"})(G||(G={}));var Pt=r=>{let t=gt(r);return Pt.bytes=_(t),t};Pt.bytes=0;function Vt(r,t){let e=new A,n=G.LENGTH,i=-1,o=t?.lengthDecoder??Pt,s=t?.maxLengthLength??Gr,a=t?.maxDataLength??$r;function*c(){for(;e.byteLength>0;){if(n===G.LENGTH)try{if(i=o(e),i<0)throw(0,q.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(i>a)throw(0,q.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let h=o.bytes;e.consume(h),t?.onLength!=null&&t.onLength(i),n=G.DATA}catch(h){if(h instanceof RangeError){if(e.byteLength>s)throw(0,q.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw h}if(n===G.DATA){if(e.byteLength<i)break;let h=e.sublist(0,i);e.consume(i),t?.onData!=null&&t.onData(h),yield h,n=G.LENGTH}}}return bt(r)?async function*(){for await(let h of r)e.append(h),yield*c();if(e.byteLength>0)throw(0,q.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(let h of r)e.append(h),yield*c();if(e.byteLength>0)throw(0,q.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}Vt.fromReader=(r,t)=>{let e=1,n=async function*(){for(;;)try{let{done:o,value:s}=await r.next(e);if(o===!0)return;s!=null&&(yield s)}catch(o){if(o.code==="ERR_UNDER_READ")return{done:!0,value:null};throw o}finally{e=1}}();return Vt(n,{...t??{},onLength:o=>{e=o}})};var xt=class extends Error{code;constructor(t,e){super(t),this.code=e}},Ve=r=>gt(r);Ve.bytes=0;function Pe(r,t={}){let e=_e(r,t);return t.maxDataLength!=null&&t.maxLengthLength==null&&(t.maxLengthLength=_(t.maxDataLength)),{read:async i=>{let o=-1,s=new A,a=t?.lengthDecoder??Ve;for(;;){s.append(await e.read(1,i));try{o=a(s)}catch(c){if(c instanceof RangeError)continue;throw c}if(t?.maxLengthLength!=null&&s.byteLength>t.maxLengthLength)throw new xt("message length length too long","ERR_MSG_LENGTH_TOO_LONG");if(o>-1)break}if(t?.maxDataLength!=null&&o>t.maxDataLength)throw new xt("message length too long","ERR_MSG_DATA_TOO_LONG");return e.read(o,i)},write:async(i,o)=>{await e.write(et.single(i,t),o)},writeV:async(i,o)=>{let s=new A(...i.map(a=>et.single(a,t)));await e.write(s,o)},unwrap:()=>e.unwrap()}}function zt(r,t){let e=Pe(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}function yt(r){return globalThis.Buffer!=null?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r}var Ht={};E(Ht,{base10:()=>Jr});function jr(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,V=0,S=0,D=d.length;S!==D&&d[S]===0;)S++,x++;for(var T=(D-S)*l+1>>>0,L=new Uint8Array(T);S!==D;){for(var I=d[S],C=0,N=T-1;(I!==0||C<V)&&N!==-1;N--,C++)I+=256*L[N]>>>0,L[N]=I%a>>>0,I=I/a>>>0;if(I!==0)throw new Error("Non-zero carry");V=C,S++}for(var B=T-V;B!==T&&L[B]===0;)B++;for(var ft=c.repeat(x);B<T;++B)ft+=r.charAt(L[B]);return ft}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 V=0,S=0;d[x]===c;)V++,x++;for(var D=(d.length-x)*h+1>>>0,T=new Uint8Array(D);d[x];){var L=e[d.charCodeAt(x)];if(L===255)return;for(var I=0,C=D-1;(L!==0||I<S)&&C!==-1;C--,I++)L+=a*T[C]>>>0,T[C]=L%256>>>0,L=L/256>>>0;if(L!==0)throw new Error("Non-zero carry");S=I,x++}if(d[x]!==" "){for(var N=D-S;N!==D&&T[N]===0;)N++;for(var B=new Uint8Array(V+(D-N)),ft=V;N!==D;)B[ft++]=T[N++];return B}}}function ut(d){var x=w(d);if(x)return x;throw new Error(`Non-${t} character`)}return{encode:f,decodeUnsafe:w,decode:ut}}var Hr=jr,qr=Hr,ze=qr;var Xo=new Uint8Array(0);var Ge=(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},v=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")};var $e=r=>new TextEncoder().encode(r),Xe=r=>new TextDecoder().decode(r);var Gt=class{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{constructor(t,e,n){if(this.name=t,this.prefix=e,e.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=e.codePointAt(0),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 He(this,t)}},Xt=class{constructor(t){this.decoders=t}or(t){return He(this,t)}decode(t){let e=t[0],n=this.decoders[e];if(n)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},He=(r,t)=>new Xt({...r.decoders||{[r.prefix]:r},...t.decoders||{[t.prefix]:t}}),jt=class{constructor(t,e,n,i){this.name=t,this.prefix=e,this.baseEncode=n,this.baseDecode=i,this.encoder=new Gt(t,e,n),this.decoder=new $t(t,e,i)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}},K=({name:r,prefix:t,encode:e,decode:n})=>new jt(r,t,e,n),M=({prefix:r,name:t,alphabet:e})=>{let{encode:n,decode:i}=ze(e,t);return K({prefix:r,name:t,encode:n,decode:o=>v(i(o))})},Kr=(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)throw new SyntaxError("Unexpected end of data");return s},Wr=(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&&(o+=t[i&a<<e-s]),n)for(;o.length*e&7;)o+="=";return o},p=({name:r,prefix:t,bitsPerChar:e,alphabet:n})=>K({prefix:t,name:r,encode(i){return Wr(i,n,e)},decode(i){return Kr(i,n,e,r)}});var Jr=M({prefix:"9",name:"base10",alphabet:"0123456789"});var qt={};E(qt,{base16:()=>Qr,base16upper:()=>Zr});var Qr=p({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Zr=p({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Kt={};E(Kt,{base2:()=>Yr});var Yr=p({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Wt={};E(Wt,{base256emoji:()=>on});var qe=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}"),tn=qe.reduce((r,t,e)=>(r[e]=t,r),[]),en=qe.reduce((r,t,e)=>(r[t.codePointAt(0)]=e,r),[]);function rn(r){return r.reduce((t,e)=>(t+=tn[e],t),"")}function nn(r){let t=[];for(let e of r){let n=en[e.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${e}`);t.push(n)}return new Uint8Array(t)}var on=K({prefix:"\u{1F680}",name:"base256emoji",encode:rn,decode:nn});var Jt={};E(Jt,{base32:()=>W,base32hex:()=>hn,base32hexpad:()=>fn,base32hexpadupper:()=>ln,base32hexupper:()=>un,base32pad:()=>an,base32padupper:()=>cn,base32upper:()=>sn,base32z:()=>dn});var W=p({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),sn=p({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),an=p({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),cn=p({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),hn=p({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),un=p({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),fn=p({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),ln=p({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),dn=p({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Qt={};E(Qt,{base36:()=>pn,base36upper:()=>mn});var pn=M({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),mn=M({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Zt={};E(Zt,{base58btc:()=>O,base58flickr:()=>gn});var O=M({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),gn=M({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Yt={};E(Yt,{base64:()=>bn,base64pad:()=>wn,base64url:()=>xn,base64urlpad:()=>yn});var bn=p({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),wn=p({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),xn=p({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),yn=p({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var te={};E(te,{base8:()=>En});var En=p({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var ee={};E(ee,{identity:()=>Ln});var Ln=K({prefix:"\0",name:"identity",encode:r=>Xe(r),decode:r=>$e(r)});var os=new TextEncoder,ss=new TextDecoder;var ne={};E(ne,{identity:()=>jn});var Nn=Je,Ke=128,Un=127,Rn=~Un,Dn=Math.pow(2,31);function Je(r,t,e){t=t||[],e=e||0;for(var n=e;r>=Dn;)t[e++]=r&255|Ke,r/=128;for(;r&Rn;)t[e++]=r&255|Ke,r>>>=7;return t[e]=r|0,Je.bytes=e-n+1,t}var Tn=re,In=128,We=127;function re(r,n){var e=0,n=n||0,i=0,o=n,s,a=r.length;do{if(o>=a)throw re.bytes=0,new RangeError("Could not decode varint");s=r[o++],e+=i<28?(s&We)<<i:(s&We)*Math.pow(2,i),i+=7}while(s>=In);return re.bytes=o-n,e}var On=Math.pow(2,7),Bn=Math.pow(2,14),Fn=Math.pow(2,21),_n=Math.pow(2,28),vn=Math.pow(2,35),Cn=Math.pow(2,42),Mn=Math.pow(2,49),kn=Math.pow(2,56),Vn=Math.pow(2,63),Pn=function(r){return r<On?1:r<Bn?2:r<Fn?3:r<_n?4:r<vn?5:r<Cn?6:r<Mn?7:r<kn?8:r<Vn?9:10},zn={encode:Nn,decode:Tn,encodingLength:Pn},Gn=zn,rt=Gn;var nt=(r,t=0)=>[rt.decode(r,t),rt.decode.bytes],J=(r,t,e=0)=>(rt.encode(r,t,e),t),Q=r=>rt.encodingLength(r);var $=(r,t)=>{let e=t.byteLength,n=Q(r),i=n+Q(e),o=new Uint8Array(i+e);return J(r,o,0),J(e,o,n),o.set(t,i),new Z(r,e,t,o)},Qe=r=>{let t=v(r),[e,n]=nt(t),[i,o]=nt(t.subarray(n)),s=t.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new Z(e,i,s,t)},Ze=(r,t)=>{if(r===t)return!0;{let e=t;return r.code===e.code&&r.size===e.size&&e.bytes instanceof Uint8Array&&Ge(r.bytes,e.bytes)}},Z=class{constructor(t,e,n,i){this.code=t,this.size=e,this.digest=n,this.bytes=i}};var Ye=0,$n="identity",tr=v,Xn=r=>$(Ye,tr(r)),jn={code:Ye,name:$n,encode:tr,digest:Xn};var se={};E(se,{sha256:()=>Hn,sha512:()=>qn});var oe=({name:r,code:t,encode:e})=>new ie(r,t,e),ie=class{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?$(this.code,e):e.then(n=>$(this.code,n))}else throw Error("Unknown type, must be binary type")}};var rr=r=>async t=>new Uint8Array(await crypto.subtle.digest(r,t)),Hn=oe({name:"sha2-256",code:18,encode:rr("SHA-256")}),qn=oe({name:"sha2-512",code:19,encode:rr("SHA-512")});var nr=(r,t)=>{let{bytes:e,version:n}=r;switch(n){case 0:return Wn(e,ae(r),t||O.encoder);default:return Jn(e,ae(r),t||W.encoder)}};var ir=new WeakMap,ae=r=>{let t=ir.get(r);if(t==null){let e=new Map;return ir.set(r,e),e}return t},Lt=class r{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!==ot)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(e.code!==Qn)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=$(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&&t.code===n.code&&t.version===n.version&&Ze(t.multihash,n.multihash)}toString(t){return nr(this,t)}toJSON(){return{"/":nr(this)}}link(){return this}get[Symbol.toStringTag](){return"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||or(n,i,o.bytes))}else if(e[Zn]===!0){let{version:n,multihash:i,code:o}=e,s=Qe(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!==ot)throw new Error(`Version 0 CID must use dag-pb (code: ${ot}) block encoding`);return new r(t,e,n,n.bytes)}case 1:{let i=or(t,e,n.bytes);return new r(t,e,n,i)}default:throw new Error("Invalid version")}}static createV0(t){return r.create(0,ot,t)}static createV1(t,e){return r.create(1,t,e)}static decode(t){let[e,n]=r.decodeFirst(t);if(n.length)throw new Error("Incorrect length");return e}static decodeFirst(t){let e=r.inspectBytes(t),n=e.size-e.multihashSize,i=v(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 Z(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]=nt(t.subarray(e));return e+=w,f},i=n(),o=ot;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]=Kn(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 ae(o).set(n,t),o}},Kn=(r,t)=>{switch(r[0]){case"Q":{let e=t||O;return[O.prefix,e.decode(`${O.prefix}${r}`)]}case O.prefix:{let e=t||O;return[O.prefix,e.decode(r)]}case W.prefix:{let e=t||W;return[W.prefix,e.decode(r)]}default:{if(t==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[r[0],t.decode(r)]}}},Wn=(r,t,e)=>{let{prefix:n}=e;if(n!==O.prefix)throw Error(`Cannot string encode V0 in ${e.name} encoding`);let i=t.get(n);if(i==null){let o=e.encode(r).slice(1);return t.set(n,o),o}else return i},Jn=(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},ot=112,Qn=18,or=(r,t,e)=>{let n=Q(r),i=n+Q(t),o=new Uint8Array(i+e.byteLength);return J(r,o,0),J(t,o,n),o.set(e,i),o},Zn=Symbol.for("@ipld/js-cid/CID");var Y={...ee,...Kt,...te,...Ht,...qt,...Jt,...Qt,...Zt,...Yt,...Wt},Ls={...se,...ne};function sr(r=0){return globalThis.Buffer?.allocUnsafe!=null?yt(globalThis.Buffer.allocUnsafe(r)):new Uint8Array(r)}function cr(r,t,e,n){return{name:r,prefix:t,encoder:{name:r,prefix:t,encode:e},decoder:{decode:n}}}var ar=cr("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),ce=cr("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=sr(r.length);for(let e=0;e<r.length;e++)t[e]=r.charCodeAt(e);return t}),Yn={utf8:ar,"utf-8":ar,hex:Y.base16,latin1:ce,ascii:ce,binary:ce,...Y},At=Yn;function hr(r,t="utf8"){let e=At[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?yt(globalThis.Buffer.from(r,"utf-8")):e.decoder.decode(`${e.prefix}${r}`)}function ur(r,t="utf8"){let e=At[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(r.buffer,r.byteOffset,r.byteLength).toString("utf8"):e.encoder.encode(r).substring(1)}var fr="0.0.1",lr="fetch";var he=new Float32Array([-0]),k=new Uint8Array(he.buffer);function dr(r,t,e){he[0]=r,t[e]=k[0],t[e+1]=k[1],t[e+2]=k[2],t[e+3]=k[3]}function pr(r,t){return k[0]=r[t],k[1]=r[t+1],k[2]=r[t+2],k[3]=r[t+3],he[0]}var ue=new Float64Array([-0]),b=new Uint8Array(ue.buffer);function mr(r,t,e){ue[0]=r,t[e]=b[0],t[e+1]=b[1],t[e+2]=b[2],t[e+3]=b[3],t[e+4]=b[4],t[e+5]=b[5],t[e+6]=b[6],t[e+7]=b[7]}function gr(r,t){return b[0]=r[t],b[1]=r[t+1],b[2]=r[t+2],b[3]=r[t+3],b[4]=r[t+4],b[5]=r[t+5],b[6]=r[t+6],b[7]=r[t+7],ue[0]}var ti=BigInt(Number.MAX_SAFE_INTEGER),ei=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 X;if(t<ti&&t>ei)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>br&&(i=0n,++n>br&&(n=0n))),new r(Number(i),Number(n))}static fromNumber(t){if(t===0)return X;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):X}},X=new y(0,0);X.toBigInt=function(){return 0n};X.zzEncode=X.zzDecode=function(){return this};X.length=function(){return 1};var br=4294967296n;function wr(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 xr(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 fe(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 St(r,t){return(r[t-4]|r[t-3]<<8|r[t-2]<<16|r[t-1]<<24)>>>0}var le=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 St(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw U(this,4);return St(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw U(this,4);let t=pr(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw U(this,4);let t=gr(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 xr(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);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 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=St(this.buf,this.pos+=4),e=St(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(){return this.readLongVarint().toNumber(!0)}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 de(r){return new le(r instanceof Uint8Array?r:r.subarray())}function Nt(r,t){let e=de(r);return t.decode(e)}function Lr(r,t,e,n){return{name:r,prefix:t,encoder:{name:r,prefix:t,encode:e},decoder:{decode:n}}}var Er=Lr("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),pe=Lr("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=m(r.length);for(let e=0;e<r.length;e++)t[e]=r.charCodeAt(e);return t}),ri={utf8:Er,"utf-8":Er,hex:Y.base16,latin1:pe,ascii:pe,binary:pe,...Y},Ar=ri;function Sr(r,t="utf8"){let e=Ar[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?z(globalThis.Buffer.from(r,"utf-8")):e.decoder.decode(`${e.prefix}${r}`)}function me(r){let t=r??8192,e=t>>>1,n,i=t;return function(s){if(s<1||s>e)return m(s);i+s>t&&(n=m(t),i=0);let a=n.subarray(i,i+=s);return i&7&&(i=(i|7)+1),a}}var j=class{fn;len;next;val;constructor(t,e,n){this.fn=t,this.len=e,this.next=void 0,this.val=n}};function ge(){}var we=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},ni=me();function ii(r){return globalThis.Buffer!=null?m(r):ni(r)}var ct=class{len;head;tail;states;constructor(){this.len=0,this.head=new j(ge,0,0),this.tail=this.head,this.states=null}_push(t,e,n){return this.tail=this.tail.next=new j(t,e,n),this.len+=e,this}uint32(t){return this.len+=(this.tail=this.tail.next=new xe((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){let e=y.fromNumber(t);return this._push(st,e.length(),e)}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(be,1,t?1:0)}fixed32(t){return this._push(at,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let e=y.fromBigInt(t);return this._push(at,4,e.lo)._push(at,4,e.hi)}fixed64Number(t){let e=y.fromNumber(t);return this._push(at,4,e.lo)._push(at,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(dr,4,t)}double(t){return this._push(mr,8,t)}bytes(t){let e=t.length>>>0;return e===0?this._push(be,1,0):this.uint32(e)._push(si,e,t)}string(t){let e=wr(t);return e!==0?this.uint32(e)._push(fe,e,t):this._push(be,1,0)}fork(){return this.states=new we(this),this.head=this.tail=new j(ge,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 j(ge,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=ii(this.len),n=0;for(;t!=null;)t.fn(t.val,e,n),n+=t.len,t=t.next;return e}};function be(r,t,e){t[e]=r&255}function oi(r,t,e){for(;r>127;)t[e++]=r&127|128,r>>>=7;t[e]=r}var xe=class extends j{next;constructor(t,e){super(oi,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 at(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 si(r,t,e){t.set(r,e)}globalThis.Buffer!=null&&(ct.prototype.bytes=function(r){let t=r.length>>>0;return this.uint32(t),t>0&&this._push(ai,t,r),this},ct.prototype.string=function(r){let t=globalThis.Buffer.byteLength(r);return this.uint32(t),t>0&&this._push(ci,t,r),this});function ai(r,t,e){t.set(r,e)}function ci(r,t,e){r.length<40?fe(r,t,e):t.utf8Write!=null?t.utf8Write(r,e):t.set(Sr(r),e)}function ye(){return new ct}function Ut(r,t){let e=ye();return t.encode(r,e,{lengthDelimited:!1}),e.finish()}var tt;(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"})(tt||(tt={}));function Rt(r,t,e,n){return{name:r,type:t,encode:e,decode:n}}function Ee(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 Rt("enum",tt.VARINT,e,n)}function Dt(r,t){return Rt("message",tt.LENGTH_DELIMITED,r,t)}var ht;(function(r){let t;r.codec=()=>(t==null&&(t=Dt((e,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),e.identifier!=null&&e.identifier!==""&&(n.uint32(10),n.string(e.identifier)),i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={identifier:""},o=n==null?e.len:e.pos+n;for(;e.pos<o;){let s=e.uint32();switch(s>>>3){case 1:i.identifier=e.string();break;default:e.skipType(s&7);break}}return i})),t),r.encode=e=>Ut(e,r.codec()),r.decode=e=>Nt(e,r.codec())})(ht||(ht={}));var R;(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=()=>Ee(e)}(t=r.StatusCode||(r.StatusCode={}));let n;r.codec=()=>(n==null&&(n=Dt((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)=>{let s={status:t.OK,data:new Uint8Array(0)},a=o==null?i.len:i.pos+o;for(;i.pos<a;){let c=i.uint32();switch(c>>>3){case 1:s.status=r.StatusCode.codec().decode(i);break;case 2:s.data=i.bytes();break;default:i.skipType(c&7);break}}return s})),n),r.encode=i=>Ut(i,r.codec()),r.decode=i=>Nt(i,r.codec())})(R||(R={}));var Nr=1e4,Tt=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"}/${lr}/${fr}`,this.lookupFunctions=new Map,this.handleMessage=this.handleMessage.bind(this),this.init=e}async start(){await this.components.registrar.handle(this.protocol,t=>{this.handleMessage(t).then(async()=>{await t.stream.close()}).catch(e=>{this.log.error(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={}){this.log("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??Nr;this.log("using default timeout of %d ms",c),o=AbortSignal.timeout(c),De(1/0,o)}try{s=await i.newStream(this.protocol,{signal:o}),a=()=>{s?.abort(new P("fetch timeout",Ne))},o.addEventListener("abort",a,{once:!0}),this.log("fetch %s",e);let c=zt(s);await c.write({identifier:e},ht,n);let h=await c.read(R,n);switch(await c.unwrap().close(n),h.status){case R.StatusCode.OK:return this.log("received status for %s ok",e),h.data;case R.StatusCode.NOT_FOUND:{this.log("received status for %s not found",e);return}case R.StatusCode.ERROR:{this.log("received status for %s error",e);let l=ur(h.data);throw new P("Error in fetch protocol response: "+l,Ue)}default:throw this.log("received status for %s unknown",e),new P("Unknown response status",Re)}}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??Nr);try{let i=zt(e),o=await i.read(ht,{signal:n}),s,a=this._getLookupFunction(o.identifier);if(a!=null){this.log("look up data with identifier %s",o.identifier);let c=await a(o.identifier);c!=null?(this.log("sending status for %s ok",o.identifier),s={status:R.StatusCode.OK,data:c}):(this.log("sending status for %s not found",o.identifier),s={status:R.StatusCode.NOT_FOUND,data:new Uint8Array(0)})}else{this.log("sending status for %s error",o.identifier);let c=hr(`No lookup function registered for key: ${o.identifier}`);s={status:R.StatusCode.ERROR,data:c}}await i.write(s,R,{signal:n}),await i.unwrap().close({signal:n})}catch(i){this.log("error answering fetch request",i),e.abort(i)}}_getLookupFunction(t){for(let e of this.lookupFunctions.keys())if(t.startsWith(e))return this.lookupFunctions.get(e)}registerLookupFunction(t,e){if(this.lookupFunctions.has(t))throw new P(`Fetch protocol handler for key prefix '${t}' already registered`,"ERR_KEY_ALREADY_EXISTS");this.lookupFunctions.set(t,e)}unregisterLookupFunction(t,e){e!=null&&this.lookupFunctions.get(t)!==e||this.lookupFunctions.delete(t)}};function hi(r={}){return t=>new Tt(t,r)}return Fr(ui);})();
2
+ "use strict";var Libp2PFetch=(()=>{var In=Object.create;var vt=Object.defineProperty;var Tn=Object.getOwnPropertyDescriptor;var Cn=Object.getOwnPropertyNames;var Rn=Object.getPrototypeOf,On=Object.prototype.hasOwnProperty;var Bn=(r,t)=>()=>(t||r((t={exports:{}}).exports,t),t.exports),b=(r,t)=>{for(var e in t)vt(r,e,{get:t[e],enumerable:!0})},ir=(r,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Cn(t))!On.call(r,o)&&o!==e&&vt(r,o,{get:()=>t[o],enumerable:!(n=Tn(t,o))||n.enumerable});return r};var Fn=(r,t,e)=>(e=r!=null?In(Rn(r)):{},ir(t||!r||!r.__esModule?vt(e,"default",{value:r,enumerable:!0}):e,r)),Mn=r=>ir(vt({},"__esModule",{value:!0}),r);var Er=Bn((za,yr)=>{"use strict";function xr(r,t){for(let e in t)Object.defineProperty(r,e,{value:t[e],enumerable:!0,configurable:!0});return r}function jn(r,t,e){if(!r||typeof r=="string")throw new TypeError("Please pass an Error to err-code");e||(e={}),typeof t=="object"&&(e=t,t=""),t&&(e.code=t);try{return xr(r,e)}catch{e.message=r.message,e.stack=r.stack;let o=function(){};return o.prototype=Object.create(Object.getPrototypeOf(r)),xr(new o,e)}}yr.exports=jn});var ys={};b(ys,{fetch:()=>xs});var As=Symbol.for("@libp2p/connection");var Ls=Symbol.for("@libp2p/content-routing");var Us=Symbol.for("@libp2p/peer-discovery");var Is=Symbol.for("@libp2p/peer-id");var Cs=Symbol.for("@libp2p/peer-routing");var sr;(function(r){r.Accept="accept",r.Ignore="ignore",r.Reject="reject"})(sr||(sr={}));var Fs=Symbol.for("@libp2p/transport");var ar;(function(r){r[r.FATAL_ALL=0]="FATAL_ALL",r[r.NO_FATAL=1]="NO_FATAL"})(ar||(ar={}));var q=class extends Error{code;props;constructor(t,e,n){super(t),this.code=e,this.name=n?.name??"CodeError",this.props=n??{}}};var cr="ERR_TIMEOUT",hr="ERR_INVALID_PARAMETERS";var fr="ERR_INVALID_MESSAGE";var qt=class extends Event{detail;constructor(t,e){super(t,e),this.detail=e?.detail}},_s=globalThis.CustomEvent??qt;var ur=(r,...t)=>{try{[...t]}catch{}};function X(r){return globalThis.Buffer!=null?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r}function _(r=0){return globalThis.Buffer?.alloc!=null?X(globalThis.Buffer.alloc(r)):new Uint8Array(r)}function U(r=0){return globalThis.Buffer?.allocUnsafe!=null?X(globalThis.Buffer.allocUnsafe(r)):new Uint8Array(r)}function Xt(r,t){t==null&&(t=r.reduce((o,i)=>o+i.length,0));let e=U(t),n=0;for(let o of r)e.set(o,n),n+=o.length;return X(e)}function lr(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 pr=Symbol.for("@achingbrain/uint8arraylist");function dr(r,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let e=0;for(let n of r){let o=e+n.byteLength;if(t<o)return{buf:n,index:t-e};e=o}throw new RangeError("index is out of bounds")}function Nt(r){return!!r?.[pr]}var R=class r{bufs;length;[pr]=!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(Nt(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(Nt(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=dr(this.bufs,t);return e.buf[e.index]}set(t,e){let n=dr(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(Nt(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:o}=this._subList(t,e);return Xt(n,o)}subarray(t,e){let{bufs:n,length:o}=this._subList(t,e);return n.length===1?n[0]:Xt(n,o)}sublist(t,e){let{bufs:n,length:o}=this._subList(t,e),i=new r;return i.length=o,i.bufs=[...n],i}_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=[],o=0;for(let i=0;i<this.bufs.length;i++){let s=this.bufs[i],a=o,c=a+s.byteLength;if(o=c,t>=c)continue;let u=t>=a&&t<c,f=e>a&&e<=c;if(u&&f){if(t===a&&e===c){n.push(s);break}let l=t-a;n.push(s.subarray(l,l+(e-t)));break}if(u){if(t===0){n.push(s);continue}n.push(s.subarray(t-a));continue}if(f){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(!Nt(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 o=n.byteLength;if(o===0)throw new TypeError("search must be at least 1 byte long");let i=256,s=new Int32Array(i);for(let l=0;l<i;l++)s[l]=-1;for(let l=0;l<o;l++)s[n[l]]=l;let a=s,c=this.byteLength-n.byteLength,u=n.byteLength-1,f;for(let l=e;l<=c;l+=f){f=0;for(let L=u;L>=0;L--){let Z=this.get(l+L);if(n[L]!==Z){f=Math.max(1,L-a[Z]);break}}if(f===0)return l}return-1}getInt8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getInt8(0)}setInt8(t,e){let n=U(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 o=_(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt16(0,e,n),this.write(o,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 o=_(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt32(0,e,n),this.write(o,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 o=_(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigInt64(0,e,n),this.write(o,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=U(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 o=_(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint16(0,e,n),this.write(o,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 o=_(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint32(0,e,n),this.write(o,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 o=_(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigUint64(0,e,n),this.write(o,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 o=_(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat32(0,e,n),this.write(o,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 o=_(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat64(0,e,n),this.write(o,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(!lr(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((o,i)=>o+i.byteLength,0)),n.length=e,n}};function Y(){let r={};return r.promise=new Promise((t,e)=>{r.resolve=t,r.reject=e}),r}var Ut=class extends Error{type;code;constructor(t,e){super(t??"The operation was aborted"),this.type="aborted",this.name="AbortError",this.code=e??"ABORT_ERR"}};async function mr(r,t,e){if(t==null)return r;if(t.aborted)return Promise.reject(new Ut(e?.errorMessage,e?.errorCode));let n,o=new Ut(e?.errorMessage,e?.errorCode);try{return await Promise.race([r,new Promise((i,s)=>{n=()=>{s(o)},t.addEventListener("abort",n)})])}finally{n!=null&&t.removeEventListener("abort",n)}}var Ht=class{needNext;haveNext;ended;nextResult;constructor(){this.ended=!1,this.needNext=Y(),this.haveNext=Y()}[Symbol.asyncIterator](){return this}async next(){if(this.nextResult==null&&await this.haveNext.promise,this.nextResult==null)throw new Error("Have next but next was undefined");let t=this.nextResult;return this.nextResult=void 0,this.needNext.resolve(),this.needNext=Y(),t}async throw(t){return this.ended=!0,t!=null&&this.haveNext.reject(t),{done:!0,value:void 0}}async return(){let t={done:!0,value:void 0};return await this._push(void 0),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");this.nextResult!=null&&await this.needNext.promise,t!=null?this.nextResult={done:!1,value:t}:(this.ended=!0,this.nextResult={done:!0,value:void 0}),this.haveNext.resolve(),this.haveNext=Y(),await mr(this.needNext.promise,e?.signal,e)}};function br(){return new Ht}var Dt=class extends Error{code;constructor(t,e){super(t),this.code=e}},Jt=class extends Dt{type;constructor(t){super(t,"ABORT_ERR"),this.type="aborted"}};function gr(r,t){let e=br();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 o=new R;return{read:async(s,a)=>{a?.signal?.throwIfAborted();let c,u=new Promise((f,l)=>{c=()=>{l(new Jt("Read aborted"))},a?.signal?.addEventListener("abort",c)});try{if(s==null){let{done:l,value:L}=await Promise.race([n.next(),u]);return l===!0?new R:L}for(;o.byteLength<s;){let{value:l,done:L}=await Promise.race([n.next(),u]);if(L===!0)throw new Dt("unexpected end of input","ERR_UNEXPECTED_EOF");o.append(l)}let f=o.sublist(0,s);return o.consume(s),f}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(o.byteLength>0){let s=r.source;r.source=async function*(){t?.yieldBytes===!1?yield o:yield*o,yield*s}()}return r}}}var kn=Math.pow(2,7),_n=Math.pow(2,14),Vn=Math.pow(2,21),Kt=Math.pow(2,28),Wt=Math.pow(2,35),Qt=Math.pow(2,42),Zt=Math.pow(2,49),d=128,D=127;function V(r){if(r<kn)return 1;if(r<_n)return 2;if(r<Vn)return 3;if(r<Kt)return 4;if(r<Wt)return 5;if(r<Qt)return 6;if(r<Zt)return 7;if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function zn(r,t,e=0){switch(V(r)){case 8:t[e++]=r&255|d,r/=128;case 7:t[e++]=r&255|d,r/=128;case 6:t[e++]=r&255|d,r/=128;case 5:t[e++]=r&255|d,r/=128;case 4:t[e++]=r&255|d,r>>>=7;case 3:t[e++]=r&255|d,r>>>=7;case 2:t[e++]=r&255|d,r>>>=7;case 1:{t[e++]=r&255,r>>>=7;break}default:throw new Error("unreachable")}return t}function Pn(r,t,e=0){switch(V(r)){case 8:t.set(e++,r&255|d),r/=128;case 7:t.set(e++,r&255|d),r/=128;case 6:t.set(e++,r&255|d),r/=128;case 5:t.set(e++,r&255|d),r/=128;case 4:t.set(e++,r&255|d),r>>>=7;case 3:t.set(e++,r&255|d),r>>>=7;case 2:t.set(e++,r&255|d),r>>>=7;case 1:{t.set(e++,r&255),r>>>=7;break}default:throw new Error("unreachable")}return t}function Gn(r,t){let e=r[t],n=0;if(n+=e&D,e<d||(e=r[t+1],n+=(e&D)<<7,e<d)||(e=r[t+2],n+=(e&D)<<14,e<d)||(e=r[t+3],n+=(e&D)<<21,e<d)||(e=r[t+4],n+=(e&D)*Kt,e<d)||(e=r[t+5],n+=(e&D)*Wt,e<d)||(e=r[t+6],n+=(e&D)*Qt,e<d)||(e=r[t+7],n+=(e&D)*Zt,e<d))return n;throw new RangeError("Could not decode varint")}function $n(r,t){let e=r.get(t),n=0;if(n+=e&D,e<d||(e=r.get(t+1),n+=(e&D)<<7,e<d)||(e=r.get(t+2),n+=(e&D)<<14,e<d)||(e=r.get(t+3),n+=(e&D)<<21,e<d)||(e=r.get(t+4),n+=(e&D)*Kt,e<d)||(e=r.get(t+5),n+=(e&D)*Wt,e<d)||(e=r.get(t+6),n+=(e&D)*Qt,e<d)||(e=r.get(t+7),n+=(e&D)*Zt,e<d))return n;throw new RangeError("Could not decode varint")}function wr(r,t,e=0){return t==null&&(t=U(V(r))),t instanceof Uint8Array?zn(r,t,e):Pn(r,t,e)}function It(r,t=0){return r instanceof Uint8Array?Gn(r,t):$n(r,t)}function Tt(r){return r[Symbol.asyncIterator]!=null}var Ct=r=>{let t=V(r),e=U(t);return wr(r,e),Ct.bytes=t,e};Ct.bytes=0;function lt(r,t){t=t??{};let e=t.lengthEncoder??Ct;function*n(o){let i=e(o.byteLength);i instanceof Uint8Array?yield i:yield*i,o instanceof Uint8Array?yield o:yield*o}return Tt(r)?async function*(){for await(let o of r)yield*n(o)}():function*(){for(let o of r)yield*n(o)}()}lt.single=(r,t)=>{t=t??{};let e=t.lengthEncoder??Ct;return new R(e(r.byteLength),r)};var tt=Fn(Er(),1);var qn=8,Xn=1024*1024*4,H;(function(r){r[r.LENGTH=0]="LENGTH",r[r.DATA=1]="DATA"})(H||(H={}));var ee=r=>{let t=It(r);return ee.bytes=V(t),t};ee.bytes=0;function te(r,t){let e=new R,n=H.LENGTH,o=-1,i=t?.lengthDecoder??ee,s=t?.maxLengthLength??qn,a=t?.maxDataLength??Xn;function*c(){for(;e.byteLength>0;){if(n===H.LENGTH)try{if(o=i(e),o<0)throw(0,tt.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(o>a)throw(0,tt.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let u=i.bytes;e.consume(u),t?.onLength!=null&&t.onLength(o),n=H.DATA}catch(u){if(u instanceof RangeError){if(e.byteLength>s)throw(0,tt.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw u}if(n===H.DATA){if(e.byteLength<o)break;let u=e.sublist(0,o);e.consume(o),t?.onData!=null&&t.onData(u),yield u,n=H.LENGTH}}}return Tt(r)?async function*(){for await(let u of r)e.append(u),yield*c();if(e.byteLength>0)throw(0,tt.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(let u of r)e.append(u),yield*c();if(e.byteLength>0)throw(0,tt.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}te.fromReader=(r,t)=>{let e=1,n=async function*(){for(;;)try{let{done:i,value:s}=await r.next(e);if(i===!0)return;s!=null&&(yield s)}catch(i){if(i.code==="ERR_UNDER_READ")return{done:!0,value:null};throw i}finally{e=1}}();return te(n,{...t??{},onLength:i=>{e=i}})};var Rt=class extends Error{code;constructor(t,e){super(t),this.code=e}},Ar=r=>It(r);Ar.bytes=0;function Sr(r,t={}){let e=gr(r,t);return t.maxDataLength!=null&&t.maxLengthLength==null&&(t.maxLengthLength=V(t.maxDataLength)),{read:async o=>{let i=-1,s=new R,a=t?.lengthDecoder??Ar;for(;;){s.append(await e.read(1,o));try{i=a(s)}catch(c){if(c instanceof RangeError)continue;throw c}if(t?.maxLengthLength!=null&&s.byteLength>t.maxLengthLength)throw new Rt("message length length too long","ERR_MSG_LENGTH_TOO_LONG");if(i>-1)break}if(t?.maxDataLength!=null&&i>t.maxDataLength)throw new Rt("message length too long","ERR_MSG_DATA_TOO_LONG");return e.read(i,o)},write:async(o,i)=>{await e.write(lt.single(o,t),i)},writeV:async(o,i)=>{let s=new R(...o.map(a=>lt.single(a,t)));await e.write(s,i)},unwrap:()=>e.unwrap()}}function re(r,t){let e=Sr(r,t),n={read:async(o,i)=>{let s=await e.read(i);return o.decode(s)},write:async(o,i,s)=>{await e.write(i.encode(o),s)},writeV:async(o,i,s)=>{await e.writeV(o.map(a=>i.encode(a)),s)},pb:o=>({read:async i=>n.read(o,i),write:async(i,s)=>n.write(i,o,s),writeV:async(i,s)=>n.writeV(i,o,s),unwrap:()=>n}),unwrap:()=>e.unwrap()};return n}function Ot(r){return globalThis.Buffer!=null?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r}var ae={};b(ae,{base10:()=>Yn});function Jn(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 o=0;o<r.length;o++){var i=r.charAt(o),s=i.charCodeAt(0);if(e[s]!==255)throw new TypeError(i+" is ambiguous");e[s]=o}var a=r.length,c=r.charAt(0),u=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function l(h){if(h instanceof Uint8Array||(ArrayBuffer.isView(h)?h=new Uint8Array(h.buffer,h.byteOffset,h.byteLength):Array.isArray(h)&&(h=Uint8Array.from(h))),!(h instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(h.length===0)return"";for(var p=0,T=0,g=0,E=h.length;g!==E&&h[g]===0;)g++,p++;for(var A=(E-g)*f+1>>>0,m=new Uint8Array(A);g!==E;){for(var S=h[g],N=0,w=A-1;(S!==0||N<T)&&w!==-1;w--,N++)S+=256*m[w]>>>0,m[w]=S%a>>>0,S=S/a>>>0;if(S!==0)throw new Error("Non-zero carry");T=N,g++}for(var v=A-T;v!==A&&m[v]===0;)v++;for(var k=c.repeat(p);v<A;++v)k+=r.charAt(m[v]);return k}function L(h){if(typeof h!="string")throw new TypeError("Expected String");if(h.length===0)return new Uint8Array;var p=0;if(h[p]!==" "){for(var T=0,g=0;h[p]===c;)T++,p++;for(var E=(h.length-p)*u+1>>>0,A=new Uint8Array(E);h[p];){var m=e[h.charCodeAt(p)];if(m===255)return;for(var S=0,N=E-1;(m!==0||S<g)&&N!==-1;N--,S++)m+=a*A[N]>>>0,A[N]=m%256>>>0,m=m/256>>>0;if(m!==0)throw new Error("Non-zero carry");g=S,p++}if(h[p]!==" "){for(var w=E-g;w!==E&&A[w]===0;)w++;for(var v=new Uint8Array(T+(E-w)),k=T;w!==E;)v[k++]=A[w++];return v}}}function Z(h){var p=L(h);if(p)return p;throw new Error(`Non-${t} character`)}return{encode:l,decodeUnsafe:L,decode:Z}}var Kn=Jn,Wn=Kn,Lr=Wn;var Ya=new Uint8Array(0);var vr=(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},z=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")};var Nr=r=>new TextEncoder().encode(r),Ur=r=>new TextDecoder().decode(r);var ne=class{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")}},oe=class{constructor(t,e,n){if(this.name=t,this.prefix=e,e.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=e.codePointAt(0),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 Ir(this,t)}},ie=class{constructor(t){this.decoders=t}or(t){return Ir(this,t)}decode(t){let e=t[0],n=this.decoders[e];if(n)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},Ir=(r,t)=>new ie({...r.decoders||{[r.prefix]:r},...t.decoders||{[t.prefix]:t}}),se=class{constructor(t,e,n,o){this.name=t,this.prefix=e,this.baseEncode=n,this.baseDecode=o,this.encoder=new ne(t,e,n),this.decoder=new oe(t,e,o)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}},et=({name:r,prefix:t,encode:e,decode:n})=>new se(r,t,e,n),G=({prefix:r,name:t,alphabet:e})=>{let{encode:n,decode:o}=Lr(e,t);return et({prefix:r,name:t,encode:n,decode:i=>z(o(i))})},Qn=(r,t,e,n)=>{let o={};for(let f=0;f<t.length;++f)o[t[f]]=f;let i=r.length;for(;r[i-1]==="=";)--i;let s=new Uint8Array(i*e/8|0),a=0,c=0,u=0;for(let f=0;f<i;++f){let l=o[r[f]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<e|l,a+=e,a>=8&&(a-=8,s[u++]=255&c>>a)}if(a>=e||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s},Zn=(r,t,e)=>{let n=t[t.length-1]==="=",o=(1<<e)-1,i="",s=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],s+=8;s>e;)s-=e,i+=t[o&a>>s];if(s&&(i+=t[o&a<<e-s]),n)for(;i.length*e&7;)i+="=";return i},x=({name:r,prefix:t,bitsPerChar:e,alphabet:n})=>et({prefix:t,name:r,encode(o){return Zn(o,n,e)},decode(o){return Qn(o,n,e,r)}});var Yn=G({prefix:"9",name:"base10",alphabet:"0123456789"});var ce={};b(ce,{base16:()=>to,base16upper:()=>eo});var to=x({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),eo=x({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var he={};b(he,{base2:()=>ro});var ro=x({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var fe={};b(fe,{base256emoji:()=>ao});var Tr=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}"),no=Tr.reduce((r,t,e)=>(r[e]=t,r),[]),oo=Tr.reduce((r,t,e)=>(r[t.codePointAt(0)]=e,r),[]);function io(r){return r.reduce((t,e)=>(t+=no[e],t),"")}function so(r){let t=[];for(let e of r){let n=oo[e.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${e}`);t.push(n)}return new Uint8Array(t)}var ao=et({prefix:"\u{1F680}",name:"base256emoji",encode:io,decode:so});var ue={};b(ue,{base32:()=>rt,base32hex:()=>uo,base32hexpad:()=>po,base32hexpadupper:()=>mo,base32hexupper:()=>lo,base32pad:()=>ho,base32padupper:()=>fo,base32upper:()=>co,base32z:()=>bo});var rt=x({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),co=x({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),ho=x({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),fo=x({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),uo=x({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),lo=x({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),po=x({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),mo=x({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),bo=x({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var le={};b(le,{base36:()=>go,base36upper:()=>wo});var go=G({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),wo=G({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var de={};b(de,{base58btc:()=>F,base58flickr:()=>xo});var F=G({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),xo=G({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var pe={};b(pe,{base64:()=>yo,base64pad:()=>Eo,base64url:()=>Ao,base64urlpad:()=>So});var yo=x({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Eo=x({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Ao=x({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),So=x({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var me={};b(me,{base8:()=>Lo});var Lo=x({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var be={};b(be,{identity:()=>vo});var vo=et({prefix:"\0",name:"identity",encode:r=>Ur(r),decode:r=>Nr(r)});var pc=new TextEncoder,mc=new TextDecoder;var we={};b(we,{identity:()=>Jo});var Do=Or,Cr=128,Io=127,To=~Io,Co=Math.pow(2,31);function Or(r,t,e){t=t||[],e=e||0;for(var n=e;r>=Co;)t[e++]=r&255|Cr,r/=128;for(;r&To;)t[e++]=r&255|Cr,r>>>=7;return t[e]=r|0,Or.bytes=e-n+1,t}var Ro=ge,Oo=128,Rr=127;function ge(r,n){var e=0,n=n||0,o=0,i=n,s,a=r.length;do{if(i>=a)throw ge.bytes=0,new RangeError("Could not decode varint");s=r[i++],e+=o<28?(s&Rr)<<o:(s&Rr)*Math.pow(2,o),o+=7}while(s>=Oo);return ge.bytes=i-n,e}var Bo=Math.pow(2,7),Fo=Math.pow(2,14),Mo=Math.pow(2,21),ko=Math.pow(2,28),_o=Math.pow(2,35),Vo=Math.pow(2,42),zo=Math.pow(2,49),Po=Math.pow(2,56),Go=Math.pow(2,63),$o=function(r){return r<Bo?1:r<Fo?2:r<Mo?3:r<ko?4:r<_o?5:r<Vo?6:r<zo?7:r<Po?8:r<Go?9:10},jo={encode:Do,decode:Ro,encodingLength:$o},qo=jo,dt=qo;var pt=(r,t=0)=>[dt.decode(r,t),dt.decode.bytes],nt=(r,t,e=0)=>(dt.encode(r,t,e),t),ot=r=>dt.encodingLength(r);var J=(r,t)=>{let e=t.byteLength,n=ot(r),o=n+ot(e),i=new Uint8Array(o+e);return nt(r,i,0),nt(e,i,n),i.set(t,o),new it(r,e,t,i)},Br=r=>{let t=z(r),[e,n]=pt(t),[o,i]=pt(t.subarray(n)),s=t.subarray(n+i);if(s.byteLength!==o)throw new Error("Incorrect length");return new it(e,o,s,t)},Fr=(r,t)=>{if(r===t)return!0;{let e=t;return r.code===e.code&&r.size===e.size&&e.bytes instanceof Uint8Array&&vr(r.bytes,e.bytes)}},it=class{constructor(t,e,n,o){this.code=t,this.size=e,this.digest=n,this.bytes=o}};var Mr=0,Xo="identity",kr=z,Ho=r=>J(Mr,kr(r)),Jo={code:Mr,name:Xo,encode:kr,digest:Ho};var Ee={};b(Ee,{sha256:()=>Ko,sha512:()=>Wo});var ye=({name:r,code:t,encode:e})=>new xe(r,t,e),xe=class{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?J(this.code,e):e.then(n=>J(this.code,n))}else throw Error("Unknown type, must be binary type")}};var Vr=r=>async t=>new Uint8Array(await crypto.subtle.digest(r,t)),Ko=ye({name:"sha2-256",code:18,encode:Vr("SHA-256")}),Wo=ye({name:"sha2-512",code:19,encode:Vr("SHA-512")});var zr=(r,t)=>{let{bytes:e,version:n}=r;switch(n){case 0:return Zo(e,Ae(r),t||F.encoder);default:return Yo(e,Ae(r),t||rt.encoder)}};var Pr=new WeakMap,Ae=r=>{let t=Pr.get(r);if(t==null){let e=new Map;return Pr.set(r,e),e}return t},Ft=class r{constructor(t,e,n,o){this.code=e,this.version=t,this.multihash=n,this.bytes=o,this["/"]=o}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:t,multihash:e}=this;if(t!==bt)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(e.code!==ti)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return r.createV0(e)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:t,digest:e}=this.multihash,n=J(t,e);return r.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(t){return r.equals(this,t)}static equals(t,e){let n=e;return n&&t.code===n.code&&t.version===n.version&&Fr(t.multihash,n.multihash)}toString(t){return zr(this,t)}toJSON(){return{"/":zr(this)}}link(){return this}get[Symbol.toStringTag](){return"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:o,multihash:i,bytes:s}=e;return new r(n,o,i,s||Gr(n,o,i.bytes))}else if(e[ei]===!0){let{version:n,multihash:o,code:i}=e,s=Br(o);return r.create(n,i,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!==bt)throw new Error(`Version 0 CID must use dag-pb (code: ${bt}) block encoding`);return new r(t,e,n,n.bytes)}case 1:{let o=Gr(t,e,n.bytes);return new r(t,e,n,o)}default:throw new Error("Invalid version")}}static createV0(t){return r.create(0,bt,t)}static createV1(t,e){return r.create(1,t,e)}static decode(t){let[e,n]=r.decodeFirst(t);if(n.length)throw new Error("Incorrect length");return e}static decodeFirst(t){let e=r.inspectBytes(t),n=e.size-e.multihashSize,o=z(t.subarray(n,n+e.multihashSize));if(o.byteLength!==e.multihashSize)throw new Error("Incorrect length");let i=o.subarray(e.multihashSize-e.digestSize),s=new it(e.multihashCode,e.digestSize,i,o);return[e.version===0?r.createV0(s):r.createV1(e.codec,s),t.subarray(e.size)]}static inspectBytes(t){let e=0,n=()=>{let[l,L]=pt(t.subarray(e));return e+=L,l},o=n(),i=bt;if(o===18?(o=0,e=0):i=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let s=e,a=n(),c=n(),u=e+c,f=u-s;return{version:o,codec:i,multihashCode:a,digestSize:c,multihashSize:f,size:u}}static parse(t,e){let[n,o]=Qo(t,e),i=r.decode(o);if(i.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Ae(i).set(n,t),i}},Qo=(r,t)=>{switch(r[0]){case"Q":{let e=t||F;return[F.prefix,e.decode(`${F.prefix}${r}`)]}case F.prefix:{let e=t||F;return[F.prefix,e.decode(r)]}case rt.prefix:{let e=t||rt;return[rt.prefix,e.decode(r)]}default:{if(t==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[r[0],t.decode(r)]}}},Zo=(r,t,e)=>{let{prefix:n}=e;if(n!==F.prefix)throw Error(`Cannot string encode V0 in ${e.name} encoding`);let o=t.get(n);if(o==null){let i=e.encode(r).slice(1);return t.set(n,i),i}else return o},Yo=(r,t,e)=>{let{prefix:n}=e,o=t.get(n);if(o==null){let i=e.encode(r);return t.set(n,i),i}else return o},bt=112,ti=18,Gr=(r,t,e)=>{let n=ot(r),o=n+ot(t),i=new Uint8Array(o+e.byteLength);return nt(r,i,0),nt(t,i,n),i.set(e,o),i},ei=Symbol.for("@ipld/js-cid/CID");var Se={...be,...he,...me,...ae,...ce,...ue,...le,...de,...pe,...fe},Cc={...Ee,...we};function $r(r=0){return globalThis.Buffer?.allocUnsafe!=null?Ot(globalThis.Buffer.allocUnsafe(r)):new Uint8Array(r)}function qr(r,t,e,n){return{name:r,prefix:t,encoder:{name:r,prefix:t,encode:e},decoder:{decode:n}}}var jr=qr("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),Le=qr("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=$r(r.length);for(let e=0;e<r.length;e++)t[e]=r.charCodeAt(e);return t}),ri={utf8:jr,"utf-8":jr,hex:Se.base16,latin1:Le,ascii:Le,binary:Le,...Se},Mt=ri;function Xr(r,t="utf8"){let e=Mt[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Ot(globalThis.Buffer.from(r,"utf-8")):e.decoder.decode(`${e.prefix}${r}`)}function Hr(r,t="utf8"){let e=Mt[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(r.buffer,r.byteOffset,r.byteLength).toString("utf8"):e.encoder.encode(r).substring(1)}var Jr="0.0.1",Kr="fetch";var ve=new Float32Array([-0]),$=new Uint8Array(ve.buffer);function Wr(r,t,e){ve[0]=r,t[e]=$[0],t[e+1]=$[1],t[e+2]=$[2],t[e+3]=$[3]}function Qr(r,t){return $[0]=r[t],$[1]=r[t+1],$[2]=r[t+2],$[3]=r[t+3],ve[0]}var Ne=new Float64Array([-0]),I=new Uint8Array(Ne.buffer);function Zr(r,t,e){Ne[0]=r,t[e]=I[0],t[e+1]=I[1],t[e+2]=I[2],t[e+3]=I[3],t[e+4]=I[4],t[e+5]=I[5],t[e+6]=I[6],t[e+7]=I[7]}function Yr(r,t){return I[0]=r[t],I[1]=r[t+1],I[2]=r[t+2],I[3]=r[t+3],I[4]=r[t+4],I[5]=r[t+5],I[6]=r[t+6],I[7]=r[t+7],Ne[0]}var ni=BigInt(Number.MAX_SAFE_INTEGER),oi=BigInt(Number.MIN_SAFE_INTEGER),C=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 K;if(t<ni&&t>oi)return this.fromNumber(Number(t));let e=t<0n;e&&(t=-t);let n=t>>32n,o=t-(n<<32n);return e&&(n=~n|0n,o=~o|0n,++o>tn&&(o=0n,++n>tn&&(n=0n))),new r(Number(o),Number(n))}static fromNumber(t){if(t===0)return K;let e=t<0;e&&(t=-t);let n=t>>>0,o=(t-n)/4294967296>>>0;return e&&(o=~o>>>0,n=~n>>>0,++n>4294967295&&(n=0,++o>4294967295&&(o=0))),new r(n,o)}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):K}},K=new C(0,0);K.toBigInt=function(){return 0n};K.zzEncode=K.zzDecode=function(){return this};K.length=function(){return 1};var tn=4294967296n;function en(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 rn(r,t,e){if(e-t<1)return"";let o,i=[],s=0,a;for(;t<e;)a=r[t++],a<128?i[s++]=a:a>191&&a<224?i[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,i[s++]=55296+(a>>10),i[s++]=56320+(a&1023)):i[s++]=(a&15)<<12|(r[t++]&63)<<6|r[t++]&63,s>8191&&((o??(o=[])).push(String.fromCharCode.apply(String,i)),s=0);return o!=null?(s>0&&o.push(String.fromCharCode.apply(String,i.slice(0,s))),o.join("")):String.fromCharCode.apply(String,i.slice(0,s))}function Ue(r,t,e){let n=e,o,i;for(let s=0;s<r.length;++s)o=r.charCodeAt(s),o<128?t[e++]=o:o<2048?(t[e++]=o>>6|192,t[e++]=o&63|128):(o&64512)===55296&&((i=r.charCodeAt(s+1))&64512)===56320?(o=65536+((o&1023)<<10)+(i&1023),++s,t[e++]=o>>18|240,t[e++]=o>>12&63|128,t[e++]=o>>6&63|128,t[e++]=o&63|128):(t[e++]=o>>12|224,t[e++]=o>>6&63|128,t[e++]=o&63|128);return e-n}function O(r,t){return RangeError(`index out of range: ${r.pos} + ${t??1} > ${r.len}`)}function kt(r,t){return(r[t-4]|r[t-3]<<8|r[t-2]<<16|r[t-1]<<24)>>>0}var De=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,O(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 O(this,4);return kt(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw O(this,4);return kt(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw O(this,4);let t=Qr(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw O(this,4);let t=Yr(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 O(this,t);return this.pos+=t,e===n?new Uint8Array(0):this.buf.subarray(e,n)}string(){let t=this.bytes();return rn(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw O(this,t);this.pos+=t}else do if(this.pos>=this.len)throw O(this);while(this.buf[this.pos++]&128);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 C(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 O(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 O(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 O(this,8);let t=kt(this.buf,this.pos+=4),e=kt(this.buf,this.pos+=4);return new C(t,e)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){return this.readLongVarint().toNumber(!0)}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 Ie(r){return new De(r instanceof Uint8Array?r:r.subarray())}function _t(r,t){let e=Ie(r);return t.decode(e)}var Be={};b(Be,{base10:()=>fi});function ii(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 o=0;o<r.length;o++){var i=r.charAt(o),s=i.charCodeAt(0);if(e[s]!==255)throw new TypeError(i+" is ambiguous");e[s]=o}var a=r.length,c=r.charAt(0),u=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function l(h){if(h instanceof Uint8Array||(ArrayBuffer.isView(h)?h=new Uint8Array(h.buffer,h.byteOffset,h.byteLength):Array.isArray(h)&&(h=Uint8Array.from(h))),!(h instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(h.length===0)return"";for(var p=0,T=0,g=0,E=h.length;g!==E&&h[g]===0;)g++,p++;for(var A=(E-g)*f+1>>>0,m=new Uint8Array(A);g!==E;){for(var S=h[g],N=0,w=A-1;(S!==0||N<T)&&w!==-1;w--,N++)S+=256*m[w]>>>0,m[w]=S%a>>>0,S=S/a>>>0;if(S!==0)throw new Error("Non-zero carry");T=N,g++}for(var v=A-T;v!==A&&m[v]===0;)v++;for(var k=c.repeat(p);v<A;++v)k+=r.charAt(m[v]);return k}function L(h){if(typeof h!="string")throw new TypeError("Expected String");if(h.length===0)return new Uint8Array;var p=0;if(h[p]!==" "){for(var T=0,g=0;h[p]===c;)T++,p++;for(var E=(h.length-p)*u+1>>>0,A=new Uint8Array(E);h[p];){var m=e[h.charCodeAt(p)];if(m===255)return;for(var S=0,N=E-1;(m!==0||S<g)&&N!==-1;N--,S++)m+=a*A[N]>>>0,A[N]=m%256>>>0,m=m/256>>>0;if(m!==0)throw new Error("Non-zero carry");g=S,p++}if(h[p]!==" "){for(var w=E-g;w!==E&&A[w]===0;)w++;for(var v=new Uint8Array(T+(E-w)),k=T;w!==E;)v[k++]=A[w++];return v}}}function Z(h){var p=L(h);if(p)return p;throw new Error(`Non-${t} character`)}return{encode:l,decodeUnsafe:L,decode:Z}}var si=ii,ai=si,on=ai;var Zc=new Uint8Array(0);var sn=(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},P=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")};var an=r=>new TextEncoder().encode(r),cn=r=>new TextDecoder().decode(r);var Te=class{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")}},Ce=class{constructor(t,e,n){if(this.name=t,this.prefix=e,e.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=e.codePointAt(0),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 fn(this,t)}},Re=class{constructor(t){this.decoders=t}or(t){return fn(this,t)}decode(t){let e=t[0],n=this.decoders[e];if(n)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},fn=(r,t)=>new Re({...r.decoders||{[r.prefix]:r},...t.decoders||{[t.prefix]:t}}),Oe=class{constructor(t,e,n,o){this.name=t,this.prefix=e,this.baseEncode=n,this.baseDecode=o,this.encoder=new Te(t,e,n),this.decoder=new Ce(t,e,o)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}},st=({name:r,prefix:t,encode:e,decode:n})=>new Oe(r,t,e,n),j=({prefix:r,name:t,alphabet:e})=>{let{encode:n,decode:o}=on(e,t);return st({prefix:r,name:t,encode:n,decode:i=>P(o(i))})},ci=(r,t,e,n)=>{let o={};for(let f=0;f<t.length;++f)o[t[f]]=f;let i=r.length;for(;r[i-1]==="=";)--i;let s=new Uint8Array(i*e/8|0),a=0,c=0,u=0;for(let f=0;f<i;++f){let l=o[r[f]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<e|l,a+=e,a>=8&&(a-=8,s[u++]=255&c>>a)}if(a>=e||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s},hi=(r,t,e)=>{let n=t[t.length-1]==="=",o=(1<<e)-1,i="",s=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],s+=8;s>e;)s-=e,i+=t[o&a>>s];if(s&&(i+=t[o&a<<e-s]),n)for(;i.length*e&7;)i+="=";return i},y=({name:r,prefix:t,bitsPerChar:e,alphabet:n})=>st({prefix:t,name:r,encode(o){return hi(o,n,e)},decode(o){return ci(o,n,e,r)}});var fi=j({prefix:"9",name:"base10",alphabet:"0123456789"});var Fe={};b(Fe,{base16:()=>ui,base16upper:()=>li});var ui=y({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),li=y({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Me={};b(Me,{base2:()=>di});var di=y({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var ke={};b(ke,{base256emoji:()=>wi});var un=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}"),pi=un.reduce((r,t,e)=>(r[e]=t,r),[]),mi=un.reduce((r,t,e)=>(r[t.codePointAt(0)]=e,r),[]);function bi(r){return r.reduce((t,e)=>(t+=pi[e],t),"")}function gi(r){let t=[];for(let e of r){let n=mi[e.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${e}`);t.push(n)}return new Uint8Array(t)}var wi=st({prefix:"\u{1F680}",name:"base256emoji",encode:bi,decode:gi});var _e={};b(_e,{base32:()=>at,base32hex:()=>Ai,base32hexpad:()=>Li,base32hexpadupper:()=>vi,base32hexupper:()=>Si,base32pad:()=>yi,base32padupper:()=>Ei,base32upper:()=>xi,base32z:()=>Ni});var at=y({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),xi=y({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),yi=y({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Ei=y({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Ai=y({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Si=y({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Li=y({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),vi=y({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Ni=y({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Ve={};b(Ve,{base36:()=>Ui,base36upper:()=>Di});var Ui=j({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Di=j({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var ze={};b(ze,{base58btc:()=>M,base58flickr:()=>Ii});var M=j({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Ii=j({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Pe={};b(Pe,{base64:()=>Ti,base64pad:()=>Ci,base64url:()=>Ri,base64urlpad:()=>Oi});var Ti=y({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Ci=y({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Ri=y({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Oi=y({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Ge={};b(Ge,{base8:()=>Bi});var Bi=y({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var $e={};b($e,{identity:()=>Fi});var Fi=st({prefix:"\0",name:"identity",encode:r=>cn(r),decode:r=>an(r)});var dh=new TextEncoder,ph=new TextDecoder;var qe={};b(qe,{identity:()=>os});var _i=pn,ln=128,Vi=127,zi=~Vi,Pi=Math.pow(2,31);function pn(r,t,e){t=t||[],e=e||0;for(var n=e;r>=Pi;)t[e++]=r&255|ln,r/=128;for(;r&zi;)t[e++]=r&255|ln,r>>>=7;return t[e]=r|0,pn.bytes=e-n+1,t}var Gi=je,$i=128,dn=127;function je(r,n){var e=0,n=n||0,o=0,i=n,s,a=r.length;do{if(i>=a)throw je.bytes=0,new RangeError("Could not decode varint");s=r[i++],e+=o<28?(s&dn)<<o:(s&dn)*Math.pow(2,o),o+=7}while(s>=$i);return je.bytes=i-n,e}var ji=Math.pow(2,7),qi=Math.pow(2,14),Xi=Math.pow(2,21),Hi=Math.pow(2,28),Ji=Math.pow(2,35),Ki=Math.pow(2,42),Wi=Math.pow(2,49),Qi=Math.pow(2,56),Zi=Math.pow(2,63),Yi=function(r){return r<ji?1:r<qi?2:r<Xi?3:r<Hi?4:r<Ji?5:r<Ki?6:r<Wi?7:r<Qi?8:r<Zi?9:10},ts={encode:_i,decode:Gi,encodingLength:Yi},es=ts,gt=es;var wt=(r,t=0)=>[gt.decode(r,t),gt.decode.bytes],ct=(r,t,e=0)=>(gt.encode(r,t,e),t),ht=r=>gt.encodingLength(r);var W=(r,t)=>{let e=t.byteLength,n=ht(r),o=n+ht(e),i=new Uint8Array(o+e);return ct(r,i,0),ct(e,i,n),i.set(t,o),new ft(r,e,t,i)},mn=r=>{let t=P(r),[e,n]=wt(t),[o,i]=wt(t.subarray(n)),s=t.subarray(n+i);if(s.byteLength!==o)throw new Error("Incorrect length");return new ft(e,o,s,t)},bn=(r,t)=>{if(r===t)return!0;{let e=t;return r.code===e.code&&r.size===e.size&&e.bytes instanceof Uint8Array&&sn(r.bytes,e.bytes)}},ft=class{constructor(t,e,n,o){this.code=t,this.size=e,this.digest=n,this.bytes=o}};var gn=0,rs="identity",wn=P,ns=r=>W(gn,wn(r)),os={code:gn,name:rs,encode:wn,digest:ns};var Je={};b(Je,{sha256:()=>is,sha512:()=>ss});var He=({name:r,code:t,encode:e})=>new Xe(r,t,e),Xe=class{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?W(this.code,e):e.then(n=>W(this.code,n))}else throw Error("Unknown type, must be binary type")}};var yn=r=>async t=>new Uint8Array(await crypto.subtle.digest(r,t)),is=He({name:"sha2-256",code:18,encode:yn("SHA-256")}),ss=He({name:"sha2-512",code:19,encode:yn("SHA-512")});var En=(r,t)=>{let{bytes:e,version:n}=r;switch(n){case 0:return cs(e,Ke(r),t||M.encoder);default:return hs(e,Ke(r),t||at.encoder)}};var An=new WeakMap,Ke=r=>{let t=An.get(r);if(t==null){let e=new Map;return An.set(r,e),e}return t},zt=class r{constructor(t,e,n,o){this.code=e,this.version=t,this.multihash=n,this.bytes=o,this["/"]=o}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:t,multihash:e}=this;if(t!==yt)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(e.code!==fs)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=W(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&&t.code===n.code&&t.version===n.version&&bn(t.multihash,n.multihash)}toString(t){return En(this,t)}toJSON(){return{"/":En(this)}}link(){return this}get[Symbol.toStringTag](){return"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:o,multihash:i,bytes:s}=e;return new r(n,o,i,s||Sn(n,o,i.bytes))}else if(e[us]===!0){let{version:n,multihash:o,code:i}=e,s=mn(o);return r.create(n,i,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!==yt)throw new Error(`Version 0 CID must use dag-pb (code: ${yt}) block encoding`);return new r(t,e,n,n.bytes)}case 1:{let o=Sn(t,e,n.bytes);return new r(t,e,n,o)}default:throw new Error("Invalid version")}}static createV0(t){return r.create(0,yt,t)}static createV1(t,e){return r.create(1,t,e)}static decode(t){let[e,n]=r.decodeFirst(t);if(n.length)throw new Error("Incorrect length");return e}static decodeFirst(t){let e=r.inspectBytes(t),n=e.size-e.multihashSize,o=P(t.subarray(n,n+e.multihashSize));if(o.byteLength!==e.multihashSize)throw new Error("Incorrect length");let i=o.subarray(e.multihashSize-e.digestSize),s=new ft(e.multihashCode,e.digestSize,i,o);return[e.version===0?r.createV0(s):r.createV1(e.codec,s),t.subarray(e.size)]}static inspectBytes(t){let e=0,n=()=>{let[l,L]=wt(t.subarray(e));return e+=L,l},o=n(),i=yt;if(o===18?(o=0,e=0):i=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let s=e,a=n(),c=n(),u=e+c,f=u-s;return{version:o,codec:i,multihashCode:a,digestSize:c,multihashSize:f,size:u}}static parse(t,e){let[n,o]=as(t,e),i=r.decode(o);if(i.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Ke(i).set(n,t),i}},as=(r,t)=>{switch(r[0]){case"Q":{let e=t||M;return[M.prefix,e.decode(`${M.prefix}${r}`)]}case M.prefix:{let e=t||M;return[M.prefix,e.decode(r)]}case at.prefix:{let e=t||at;return[at.prefix,e.decode(r)]}default:{if(t==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[r[0],t.decode(r)]}}},cs=(r,t,e)=>{let{prefix:n}=e;if(n!==M.prefix)throw Error(`Cannot string encode V0 in ${e.name} encoding`);let o=t.get(n);if(o==null){let i=e.encode(r).slice(1);return t.set(n,i),i}else return o},hs=(r,t,e)=>{let{prefix:n}=e,o=t.get(n);if(o==null){let i=e.encode(r);return t.set(n,i),i}else return o},yt=112,fs=18,Sn=(r,t,e)=>{let n=ht(r),o=n+ht(t),i=new Uint8Array(o+e.byteLength);return ct(r,i,0),ct(t,i,n),i.set(e,o),i},us=Symbol.for("@ipld/js-cid/CID");var We={...$e,...Me,...Ge,...Be,...Fe,..._e,...Ve,...ze,...Pe,...ke},Th={...Je,...qe};function vn(r,t,e,n){return{name:r,prefix:t,encoder:{name:r,prefix:t,encode:e},decoder:{decode:n}}}var Ln=vn("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),Qe=vn("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=U(r.length);for(let e=0;e<r.length;e++)t[e]=r.charCodeAt(e);return t}),ls={utf8:Ln,"utf-8":Ln,hex:We.base16,latin1:Qe,ascii:Qe,binary:Qe,...We},Nn=ls;function Un(r,t="utf8"){let e=Nn[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?X(globalThis.Buffer.from(r,"utf-8")):e.decoder.decode(`${e.prefix}${r}`)}function Ze(r){let t=r??8192,e=t>>>1,n,o=t;return function(s){if(s<1||s>e)return U(s);o+s>t&&(n=U(t),o=0);let a=n.subarray(o,o+=s);return o&7&&(o=(o|7)+1),a}}var Q=class{fn;len;next;val;constructor(t,e,n){this.fn=t,this.len=e,this.next=void 0,this.val=n}};function Ye(){}var er=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},ds=Ze();function ps(r){return globalThis.Buffer!=null?U(r):ds(r)}var St=class{len;head;tail;states;constructor(){this.len=0,this.head=new Q(Ye,0,0),this.tail=this.head,this.states=null}_push(t,e,n){return this.tail=this.tail.next=new Q(t,e,n),this.len+=e,this}uint32(t){return this.len+=(this.tail=this.tail.next=new rr((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(Et,10,C.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let e=C.fromBigInt(t);return this._push(Et,e.length(),e)}uint64Number(t){let e=C.fromNumber(t);return this._push(Et,e.length(),e)}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=C.fromBigInt(t).zzEncode();return this._push(Et,e.length(),e)}sint64Number(t){let e=C.fromNumber(t).zzEncode();return this._push(Et,e.length(),e)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(tr,1,t?1:0)}fixed32(t){return this._push(At,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let e=C.fromBigInt(t);return this._push(At,4,e.lo)._push(At,4,e.hi)}fixed64Number(t){let e=C.fromNumber(t);return this._push(At,4,e.lo)._push(At,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(Wr,4,t)}double(t){return this._push(Zr,8,t)}bytes(t){let e=t.length>>>0;return e===0?this._push(tr,1,0):this.uint32(e)._push(bs,e,t)}string(t){let e=en(t);return e!==0?this.uint32(e)._push(Ue,e,t):this._push(tr,1,0)}fork(){return this.states=new er(this),this.head=this.tail=new Q(Ye,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 Q(Ye,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=ps(this.len),n=0;for(;t!=null;)t.fn(t.val,e,n),n+=t.len,t=t.next;return e}};function tr(r,t,e){t[e]=r&255}function ms(r,t,e){for(;r>127;)t[e++]=r&127|128,r>>>=7;t[e]=r}var rr=class extends Q{next;constructor(t,e){super(ms,t,e),this.next=void 0}};function Et(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 At(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 bs(r,t,e){t.set(r,e)}globalThis.Buffer!=null&&(St.prototype.bytes=function(r){let t=r.length>>>0;return this.uint32(t),t>0&&this._push(gs,t,r),this},St.prototype.string=function(r){let t=globalThis.Buffer.byteLength(r);return this.uint32(t),t>0&&this._push(ws,t,r),this});function gs(r,t,e){t.set(r,e)}function ws(r,t,e){r.length<40?Ue(r,t,e):t.utf8Write!=null?t.utf8Write(r,e):t.set(Un(r),e)}function nr(){return new St}function Pt(r,t){let e=nr();return t.encode(r,e,{lengthDelimited:!1}),e.finish()}var ut;(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"})(ut||(ut={}));function Gt(r,t,e,n){return{name:r,type:t,encode:e,decode:n}}function or(r){function t(o){if(r[o.toString()]==null)throw new Error("Invalid enum value");return r[o]}let e=function(i,s){let a=t(i);s.int32(a)},n=function(i){let s=i.int32();return t(s)};return Gt("enum",ut.VARINT,e,n)}function $t(r,t){return Gt("message",ut.LENGTH_DELIMITED,r,t)}var Lt;(function(r){let t;r.codec=()=>(t==null&&(t=$t((e,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),e.identifier!=null&&e.identifier!==""&&(n.uint32(10),n.string(e.identifier)),o.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let o={identifier:""},i=n==null?e.len:e.pos+n;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:o.identifier=e.string();break;default:e.skipType(s&7);break}}return o})),t),r.encode=e=>Pt(e,r.codec()),r.decode=e=>_t(e,r.codec())})(Lt||(Lt={}));var B;(function(r){let t;(function(o){o.OK="OK",o.NOT_FOUND="NOT_FOUND",o.ERROR="ERROR"})(t=r.StatusCode||(r.StatusCode={}));let e;(function(o){o[o.OK=0]="OK",o[o.NOT_FOUND=1]="NOT_FOUND",o[o.ERROR=2]="ERROR"})(e||(e={})),function(o){o.codec=()=>or(e)}(t=r.StatusCode||(r.StatusCode={}));let n;r.codec=()=>(n==null&&(n=$t((o,i,s={})=>{s.lengthDelimited!==!1&&i.fork(),o.status!=null&&e[o.status]!==0&&(i.uint32(8),r.StatusCode.codec().encode(o.status,i)),o.data!=null&&o.data.byteLength>0&&(i.uint32(18),i.bytes(o.data)),s.lengthDelimited!==!1&&i.ldelim()},(o,i)=>{let s={status:t.OK,data:new Uint8Array(0)},a=i==null?o.len:o.pos+i;for(;o.pos<a;){let c=o.uint32();switch(c>>>3){case 1:s.status=r.StatusCode.codec().decode(o);break;case 2:s.data=o.bytes();break;default:o.skipType(c&7);break}}return s})),n),r.encode=o=>Pt(o,r.codec()),r.decode=o=>_t(o,r.codec())})(B||(B={}));var Dn=1e4,jt=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"}/${Kr}/${Jr}`,this.lookupFunctions=new Map,this.handleMessage=this.handleMessage.bind(this),this.init=e}async start(){await this.components.registrar.handle(this.protocol,t=>{this.handleMessage(t).then(async()=>{await t.stream.close()}).catch(e=>{this.log.error(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={}){this.log("dialing %s to %p",this.protocol,t);let o=await this.components.connectionManager.openConnection(t,n),i=n.signal,s,a=()=>{};if(i==null){let c=this.init.timeout??Dn;this.log("using default timeout of %d ms",c),i=AbortSignal.timeout(c),ur(1/0,i)}try{s=await o.newStream(this.protocol,{signal:i}),a=()=>{s?.abort(new q("fetch timeout",cr))},i.addEventListener("abort",a,{once:!0}),this.log("fetch %s",e);let c=re(s);await c.write({identifier:e},Lt,n);let u=await c.read(B,n);switch(await c.unwrap().close(n),u.status){case B.StatusCode.OK:return this.log("received status for %s ok",e),u.data;case B.StatusCode.NOT_FOUND:{this.log("received status for %s not found",e);return}case B.StatusCode.ERROR:{this.log("received status for %s error",e);let f=Hr(u.data);throw new q("Error in fetch protocol response: "+f,hr)}default:throw this.log("received status for %s unknown",e),new q("Unknown response status",fr)}}catch(c){throw s?.abort(c),c}finally{i.removeEventListener("abort",a),s!=null&&await s.close()}}async handleMessage(t){let{stream:e}=t,n=AbortSignal.timeout(this.init.timeout??Dn);try{let o=re(e),i=await o.read(Lt,{signal:n}),s,a=this._getLookupFunction(i.identifier);if(a!=null){this.log("look up data with identifier %s",i.identifier);let c=await a(i.identifier);c!=null?(this.log("sending status for %s ok",i.identifier),s={status:B.StatusCode.OK,data:c}):(this.log("sending status for %s not found",i.identifier),s={status:B.StatusCode.NOT_FOUND,data:new Uint8Array(0)})}else{this.log("sending status for %s error",i.identifier);let c=Xr(`No lookup function registered for key: ${i.identifier}`);s={status:B.StatusCode.ERROR,data:c}}await o.write(s,B,{signal:n}),await o.unwrap().close({signal:n})}catch(o){this.log("error answering fetch request",o),e.abort(o)}}_getLookupFunction(t){for(let e of this.lookupFunctions.keys())if(t.startsWith(e))return this.lookupFunctions.get(e)}registerLookupFunction(t,e){if(this.lookupFunctions.has(t))throw new q(`Fetch protocol handler for key prefix '${t}' already registered`,"ERR_KEY_ALREADY_EXISTS");this.lookupFunctions.set(t,e)}unregisterLookupFunction(t,e){e!=null&&this.lookupFunctions.get(t)!==e||this.lookupFunctions.delete(t)}};function xs(r={}){return t=>new jt(t,r)}return Mn(ys);})();
3
3
  return Libp2PFetch}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@libp2p/fetch",
3
- "version": "1.0.5-178fe2671",
3
+ "version": "1.0.5-4e0135c7d",
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",
@@ -51,16 +51,16 @@
51
51
  "dep-check": "aegir dep-check"
52
52
  },
53
53
  "dependencies": {
54
- "@libp2p/interface": "1.0.2-178fe2671",
55
- "@libp2p/interface-internal": "1.0.3-178fe2671",
54
+ "@libp2p/interface": "1.0.2-4e0135c7d",
55
+ "@libp2p/interface-internal": "1.0.3-4e0135c7d",
56
56
  "it-protobuf-stream": "^1.0.2",
57
57
  "protons-runtime": "^5.0.0",
58
58
  "uint8arraylist": "^2.4.3",
59
59
  "uint8arrays": "^5.0.0"
60
60
  },
61
61
  "devDependencies": {
62
- "@libp2p/logger": "4.0.2-178fe2671",
63
- "@libp2p/peer-id-factory": "4.0.1-178fe2671",
62
+ "@libp2p/logger": "4.0.2-4e0135c7d",
63
+ "@libp2p/peer-id-factory": "4.0.1-4e0135c7d",
64
64
  "aegir": "^41.0.2",
65
65
  "it-pair": "^2.0.6",
66
66
  "protons": "^7.3.0",