@helia/car 5.0.1 → 5.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/README.md +54 -4
  2. package/dist/index.min.js +1 -1
  3. package/dist/index.min.js.map +4 -4
  4. package/dist/src/car.d.ts +1 -2
  5. package/dist/src/car.d.ts.map +1 -1
  6. package/dist/src/car.js +46 -124
  7. package/dist/src/car.js.map +1 -1
  8. package/dist/src/errors.d.ts +8 -0
  9. package/dist/src/errors.d.ts.map +1 -1
  10. package/dist/src/errors.js +8 -0
  11. package/dist/src/errors.js.map +1 -1
  12. package/dist/src/export-strategies/block-exporter.d.ts +5 -2
  13. package/dist/src/export-strategies/block-exporter.d.ts.map +1 -1
  14. package/dist/src/export-strategies/block-exporter.js +9 -3
  15. package/dist/src/export-strategies/block-exporter.js.map +1 -1
  16. package/dist/src/export-strategies/subgraph-exporter.d.ts +5 -2
  17. package/dist/src/export-strategies/subgraph-exporter.d.ts.map +1 -1
  18. package/dist/src/export-strategies/subgraph-exporter.js +8 -3
  19. package/dist/src/export-strategies/subgraph-exporter.js.map +1 -1
  20. package/dist/src/export-strategies/unixfs-exporter.d.ts +10 -4
  21. package/dist/src/export-strategies/unixfs-exporter.d.ts.map +1 -1
  22. package/dist/src/export-strategies/unixfs-exporter.js +15 -8
  23. package/dist/src/export-strategies/unixfs-exporter.js.map +1 -1
  24. package/dist/src/index.d.ts +64 -12
  25. package/dist/src/index.d.ts.map +1 -1
  26. package/dist/src/index.js +56 -6
  27. package/dist/src/index.js.map +1 -1
  28. package/dist/src/traversal-strategies/cid-path.d.ts +9 -6
  29. package/dist/src/traversal-strategies/cid-path.d.ts.map +1 -1
  30. package/dist/src/traversal-strategies/cid-path.js +35 -12
  31. package/dist/src/traversal-strategies/cid-path.js.map +1 -1
  32. package/dist/src/traversal-strategies/graph-search.d.ts +15 -7
  33. package/dist/src/traversal-strategies/graph-search.d.ts.map +1 -1
  34. package/dist/src/traversal-strategies/graph-search.js +57 -11
  35. package/dist/src/traversal-strategies/graph-search.js.map +1 -1
  36. package/dist/src/traversal-strategies/unixfs-path.d.ts +53 -3
  37. package/dist/src/traversal-strategies/unixfs-path.d.ts.map +1 -1
  38. package/dist/src/traversal-strategies/unixfs-path.js +70 -30
  39. package/dist/src/traversal-strategies/unixfs-path.js.map +1 -1
  40. package/dist/typedoc-urls.json +1 -0
  41. package/package.json +4 -2
  42. package/src/car.ts +54 -163
  43. package/src/errors.ts +10 -0
  44. package/src/export-strategies/block-exporter.ts +13 -4
  45. package/src/export-strategies/subgraph-exporter.ts +13 -4
  46. package/src/export-strategies/unixfs-exporter.ts +20 -9
  47. package/src/index.ts +66 -15
  48. package/src/traversal-strategies/cid-path.ts +43 -13
  49. package/src/traversal-strategies/graph-search.ts +70 -12
  50. package/src/traversal-strategies/unixfs-path.ts +77 -41
package/dist/index.min.js CHANGED
@@ -1,4 +1,4 @@
1
1
  (function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.HeliaCar = factory()}(typeof self !== 'undefined' ? self : this, function () {
2
- "use strict";var HeliaCar=(()=>{var bi=Object.create;var Ke=Object.defineProperty;var Ei=Object.getOwnPropertyDescriptor;var Ti=Object.getOwnPropertyNames;var Ii=Object.getPrototypeOf,vi=Object.prototype.hasOwnProperty;var Je=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),C=(t,e)=>{for(var r in e)Ke(t,r,{get:e[r],enumerable:!0})},en=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Ti(e))!vi.call(t,o)&&o!==r&&Ke(t,o,{get:()=>e[o],enumerable:!(n=Ei(e,o))||n.enumerable});return t};var Ct=(t,e,r)=>(r=t!=null?bi(Ii(t)):{},en(e||!t||!t.__esModule?Ke(r,"default",{value:t,enumerable:!0}):r,t)),Ai=t=>en(Ke({},"__esModule",{value:!0}),t);var To=Je((Lu,Eo)=>{Eo.exports=nr;var bo=128,Xs=127,Ws=~Xs,Qs=Math.pow(2,31);function nr(t,e,r){if(Number.MAX_SAFE_INTEGER&&t>Number.MAX_SAFE_INTEGER)throw nr.bytes=0,new RangeError("Could not encode varint");e=e||[],r=r||0;for(var n=r;t>=Qs;)e[r++]=t&255|bo,t/=128;for(;t&Ws;)e[r++]=t&255|bo,t>>>=7;return e[r]=t|0,nr.bytes=r-n+1,e}});var Ao=Je((zu,vo)=>{vo.exports=or;var Ks=128,Io=127;function or(t,n){var r=0,n=n||0,o=0,i=n,s,c=t.length;do{if(i>=c||o>49)throw or.bytes=0,new RangeError("Could not decode varint");s=t[i++],r+=o<28?(s&Io)<<o:(s&Io)*Math.pow(2,o),o+=7}while(s>=Ks);return or.bytes=i-n,r}});var So=Je((Mu,ko)=>{var Js=Math.pow(2,7),Ys=Math.pow(2,14),Zs=Math.pow(2,21),ea=Math.pow(2,28),ta=Math.pow(2,35),ra=Math.pow(2,42),na=Math.pow(2,49),oa=Math.pow(2,56),ia=Math.pow(2,63);ko.exports=function(t){return t<Js?1:t<Ys?2:t<Zs?3:t<ea?4:t<ta?5:t<ra?6:t<na?7:t<oa?8:t<ia?9:10}});var lt=Je((Fu,No)=>{No.exports={encode:To(),decode:Ao(),encodingLength:So()}});var mc={};C(mc,{BlockExporter:()=>Qr,CIDPath:()=>Jr,GraphSearch:()=>Xe,SubgraphExporter:()=>je,UnixFSExporter:()=>Kr,UnixFSPath:()=>Zr,car:()=>pc});var ki=["string","number","bigint","symbol"],Si=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","HTMLElement","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];function tn(t){if(t===null)return"null";if(t===void 0)return"undefined";if(t===!0||t===!1)return"boolean";let e=typeof t;if(ki.includes(e))return e;if(e==="function")return"Function";if(Array.isArray(t))return"Array";if(Ni(t))return"Buffer";let r=Di(t);return r||"Object"}function Ni(t){return t&&t.constructor&&t.constructor.isBuffer&&t.constructor.isBuffer.call(null,t)}function Di(t){let e=Object.prototype.toString.call(t).slice(8,-1);if(Si.includes(e))return e}var a=class{constructor(e,r,n){this.major=e,this.majorEncoded=e<<5,this.name=r,this.terminal=n}toString(){return`Type[${this.major}].${this.name}`}compare(e){return this.major<e.major?-1:this.major>e.major?1:0}};a.uint=new a(0,"uint",!0);a.negint=new a(1,"negint",!0);a.bytes=new a(2,"bytes",!0);a.string=new a(3,"string",!0);a.array=new a(4,"array",!1);a.map=new a(5,"map",!1);a.tag=new a(6,"tag",!1);a.float=new a(7,"float",!0);a.false=new a(7,"false",!0);a.true=new a(7,"true",!0);a.null=new a(7,"null",!0);a.undefined=new a(7,"undefined",!0);a.break=new a(7,"break",!0);var d=class{constructor(e,r,n){this.type=e,this.value=r,this.encodedLength=n,this.encodedBytes=void 0,this.byteValue=void 0}toString(){return`Token[${this.type}].${this.value}`}};var de=globalThis.process&&!globalThis.process.browser&&globalThis.Buffer&&typeof globalThis.Buffer.isBuffer=="function",Bi=new TextDecoder,_i=new TextEncoder;function Ye(t){return de&&globalThis.Buffer.isBuffer(t)}function Ut(t){return t instanceof Uint8Array?Ye(t)?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t:Uint8Array.from(t)}var sn=de?(t,e,r)=>r-e>64?globalThis.Buffer.from(t.subarray(e,r)).toString("utf8"):nn(t,e,r):(t,e,r)=>r-e>64?Bi.decode(t.subarray(e,r)):nn(t,e,r),an=de?t=>t.length>64?globalThis.Buffer.from(t):rn(t):t=>t.length>64?_i.encode(t):rn(t),j=t=>Uint8Array.from(t),le=de?(t,e,r)=>Ye(t)?new Uint8Array(t.subarray(e,r)):t.slice(e,r):(t,e,r)=>t.slice(e,r),cn=de?(t,e)=>(t=t.map(r=>r instanceof Uint8Array?r:globalThis.Buffer.from(r)),Ut(globalThis.Buffer.concat(t,e))):(t,e)=>{let r=new Uint8Array(e),n=0;for(let o of t)n+o.length>r.length&&(o=o.subarray(0,r.length-n)),r.set(o,n),n+=o.length;return r},un=de?t=>globalThis.Buffer.allocUnsafe(t):t=>new Uint8Array(t);function fn(t,e){if(Ye(t)&&Ye(e))return t.compare(e);for(let r=0;r<t.length;r++)if(t[r]!==e[r])return t[r]<e[r]?-1:1;return 0}function rn(t){let e=[],r=0;for(let n=0;n<t.length;n++){let o=t.charCodeAt(n);o<128?e[r++]=o:o<2048?(e[r++]=o>>6|192,e[r++]=o&63|128):(o&64512)===55296&&n+1<t.length&&(t.charCodeAt(n+1)&64512)===56320?(o=65536+((o&1023)<<10)+(t.charCodeAt(++n)&1023),e[r++]=o>>18|240,e[r++]=o>>12&63|128,e[r++]=o>>6&63|128,e[r++]=o&63|128):(e[r++]=o>>12|224,e[r++]=o>>6&63|128,e[r++]=o&63|128)}return e}function nn(t,e,r){let n=[];for(;e<r;){let o=t[e],i=null,s=o>239?4:o>223?3:o>191?2:1;if(e+s<=r){let c,u,l,p;switch(s){case 1:o<128&&(i=o);break;case 2:c=t[e+1],(c&192)===128&&(p=(o&31)<<6|c&63,p>127&&(i=p));break;case 3:c=t[e+1],u=t[e+2],(c&192)===128&&(u&192)===128&&(p=(o&15)<<12|(c&63)<<6|u&63,p>2047&&(p<55296||p>57343)&&(i=p));break;case 4:c=t[e+1],u=t[e+2],l=t[e+3],(c&192)===128&&(u&192)===128&&(l&192)===128&&(p=(o&15)<<18|(c&63)<<12|(u&63)<<6|l&63,p>65535&&p<1114112&&(i=p))}}i===null?(i=65533,s=1):i>65535&&(i-=65536,n.push(i>>>10&1023|55296),i=56320|i&1023),n.push(i),e+=s}return Ci(n)}var on=4096;function Ci(t){let e=t.length;if(e<=on)return String.fromCharCode.apply(String,t);let r="",n=0;for(;n<e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=on));return r}var Ui=256,ke=class{constructor(e=Ui){this.chunkSize=e,this.cursor=0,this.maxCursor=-1,this.chunks=[],this._initReuseChunk=null}reset(){this.cursor=0,this.maxCursor=-1,this.chunks.length&&(this.chunks=[]),this._initReuseChunk!==null&&(this.chunks.push(this._initReuseChunk),this.maxCursor=this._initReuseChunk.length-1)}push(e){let r=this.chunks[this.chunks.length-1];if(this.cursor+e.length<=this.maxCursor+1){let o=r.length-(this.maxCursor-this.cursor)-1;r.set(e,o)}else{if(r){let o=r.length-(this.maxCursor-this.cursor)-1;o<r.length&&(this.chunks[this.chunks.length-1]=r.subarray(0,o),this.maxCursor=this.cursor-1)}e.length<64&&e.length<this.chunkSize?(r=un(this.chunkSize),this.chunks.push(r),this.maxCursor+=r.length,this._initReuseChunk===null&&(this._initReuseChunk=r),r.set(e,0)):(this.chunks.push(e),this.maxCursor+=e.length)}this.cursor+=e.length}toBytes(e=!1){let r;if(this.chunks.length===1){let n=this.chunks[0];e&&this.cursor>n.length/2?(r=this.cursor===n.length?n:n.subarray(0,this.cursor),this._initReuseChunk=null,this.chunks=[]):r=le(n,0,this.cursor)}else r=cn(this.chunks,this.cursor);return e&&this.reset(),r}};var h="CBOR decode error:",Lt="CBOR encode error:",Se=[];Se[23]=1;Se[24]=2;Se[25]=3;Se[26]=5;Se[27]=9;function K(t,e,r){if(t.length-e<r)throw new Error(`${h} not enough data for type`)}var A=[24,256,65536,4294967296,BigInt("18446744073709551616")];function U(t,e,r){K(t,e,1);let n=t[e];if(r.strict===!0&&n<A[0])throw new Error(`${h} integer encoded in more bytes than necessary (strict decode)`);return n}function L(t,e,r){K(t,e,2);let n=t[e]<<8|t[e+1];if(r.strict===!0&&n<A[1])throw new Error(`${h} integer encoded in more bytes than necessary (strict decode)`);return n}function z(t,e,r){K(t,e,4);let n=t[e]*16777216+(t[e+1]<<16)+(t[e+2]<<8)+t[e+3];if(r.strict===!0&&n<A[2])throw new Error(`${h} integer encoded in more bytes than necessary (strict decode)`);return n}function M(t,e,r){K(t,e,8);let n=t[e]*16777216+(t[e+1]<<16)+(t[e+2]<<8)+t[e+3],o=t[e+4]*16777216+(t[e+5]<<16)+(t[e+6]<<8)+t[e+7],i=(BigInt(n)<<BigInt(32))+BigInt(o);if(r.strict===!0&&i<A[3])throw new Error(`${h} integer encoded in more bytes than necessary (strict decode)`);if(i<=Number.MAX_SAFE_INTEGER)return Number(i);if(r.allowBigInt===!0)return i;throw new Error(`${h} integers outside of the safe integer range are not supported`)}function dn(t,e,r,n){return new d(a.uint,U(t,e+1,n),2)}function ln(t,e,r,n){return new d(a.uint,L(t,e+1,n),3)}function hn(t,e,r,n){return new d(a.uint,z(t,e+1,n),5)}function pn(t,e,r,n){return new d(a.uint,M(t,e+1,n),9)}function P(t,e){return S(t,0,e.value)}function S(t,e,r){if(r<A[0]){let n=Number(r);t.push([e|n])}else if(r<A[1]){let n=Number(r);t.push([e|24,n])}else if(r<A[2]){let n=Number(r);t.push([e|25,n>>>8,n&255])}else if(r<A[3]){let n=Number(r);t.push([e|26,n>>>24&255,n>>>16&255,n>>>8&255,n&255])}else{let n=BigInt(r);if(n<A[4]){let o=[e|27,0,0,0,0,0,0,0],i=Number(n&BigInt(4294967295)),s=Number(n>>BigInt(32)&BigInt(4294967295));o[8]=i&255,i=i>>8,o[7]=i&255,i=i>>8,o[6]=i&255,i=i>>8,o[5]=i&255,o[4]=s&255,s=s>>8,o[3]=s&255,s=s>>8,o[2]=s&255,s=s>>8,o[1]=s&255,t.push(o)}else throw new Error(`${h} encountered BigInt larger than allowable range`)}}P.encodedSize=function(e){return S.encodedSize(e.value)};S.encodedSize=function(e){return e<A[0]?1:e<A[1]?2:e<A[2]?3:e<A[3]?5:9};P.compareTokens=function(e,r){return e.value<r.value?-1:e.value>r.value?1:0};function mn(t,e,r,n){return new d(a.negint,-1-U(t,e+1,n),2)}function yn(t,e,r,n){return new d(a.negint,-1-L(t,e+1,n),3)}function gn(t,e,r,n){return new d(a.negint,-1-z(t,e+1,n),5)}var zt=BigInt(-1),xn=BigInt(1);function wn(t,e,r,n){let o=M(t,e+1,n);if(typeof o!="bigint"){let i=-1-o;if(i>=Number.MIN_SAFE_INTEGER)return new d(a.negint,i,9)}if(n.allowBigInt!==!0)throw new Error(`${h} integers outside of the safe integer range are not supported`);return new d(a.negint,zt-BigInt(o),9)}function Ze(t,e){let r=e.value,n=typeof r=="bigint"?r*zt-xn:r*-1-1;S(t,e.type.majorEncoded,n)}Ze.encodedSize=function(e){let r=e.value,n=typeof r=="bigint"?r*zt-xn:r*-1-1;return n<A[0]?1:n<A[1]?2:n<A[2]?3:n<A[3]?5:9};Ze.compareTokens=function(e,r){return e.value<r.value?1:e.value>r.value?-1:0};function Ne(t,e,r,n){K(t,e,r+n);let o=le(t,e+r,e+r+n);return new d(a.bytes,o,r+n)}function bn(t,e,r,n){return Ne(t,e,1,r)}function En(t,e,r,n){return Ne(t,e,2,U(t,e+1,n))}function Tn(t,e,r,n){return Ne(t,e,3,L(t,e+1,n))}function In(t,e,r,n){return Ne(t,e,5,z(t,e+1,n))}function vn(t,e,r,n){let o=M(t,e+1,n);if(typeof o=="bigint")throw new Error(`${h} 64-bit integer bytes lengths not supported`);return Ne(t,e,9,o)}function et(t){return t.encodedBytes===void 0&&(t.encodedBytes=t.type===a.string?an(t.value):t.value),t.encodedBytes}function he(t,e){let r=et(e);S(t,e.type.majorEncoded,r.length),t.push(r)}he.encodedSize=function(e){let r=et(e);return S.encodedSize(r.length)+r.length};he.compareTokens=function(e,r){return zi(et(e),et(r))};function zi(t,e){return t.length<e.length?-1:t.length>e.length?1:fn(t,e)}function De(t,e,r,n,o){let i=r+n;K(t,e,i);let s=new d(a.string,sn(t,e+r,e+i),i);return o.retainStringBytes===!0&&(s.byteValue=le(t,e+r,e+i)),s}function An(t,e,r,n){return De(t,e,1,r,n)}function kn(t,e,r,n){return De(t,e,2,U(t,e+1,n),n)}function Sn(t,e,r,n){return De(t,e,3,L(t,e+1,n),n)}function Nn(t,e,r,n){return De(t,e,5,z(t,e+1,n),n)}function Dn(t,e,r,n){let o=M(t,e+1,n);if(typeof o=="bigint")throw new Error(`${h} 64-bit integer string lengths not supported`);return De(t,e,9,o,n)}var Bn=he;function pe(t,e,r,n){return new d(a.array,n,r)}function _n(t,e,r,n){return pe(t,e,1,r)}function Cn(t,e,r,n){return pe(t,e,2,U(t,e+1,n))}function Un(t,e,r,n){return pe(t,e,3,L(t,e+1,n))}function Ln(t,e,r,n){return pe(t,e,5,z(t,e+1,n))}function zn(t,e,r,n){let o=M(t,e+1,n);if(typeof o=="bigint")throw new Error(`${h} 64-bit integer array lengths not supported`);return pe(t,e,9,o)}function Mn(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${h} indefinite length items not allowed`);return pe(t,e,1,1/0)}function tt(t,e){S(t,a.array.majorEncoded,e.value)}tt.compareTokens=P.compareTokens;tt.encodedSize=function(e){return S.encodedSize(e.value)};function me(t,e,r,n){return new d(a.map,n,r)}function Fn(t,e,r,n){return me(t,e,1,r)}function Rn(t,e,r,n){return me(t,e,2,U(t,e+1,n))}function Pn(t,e,r,n){return me(t,e,3,L(t,e+1,n))}function On(t,e,r,n){return me(t,e,5,z(t,e+1,n))}function $n(t,e,r,n){let o=M(t,e+1,n);if(typeof o=="bigint")throw new Error(`${h} 64-bit integer map lengths not supported`);return me(t,e,9,o)}function Hn(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${h} indefinite length items not allowed`);return me(t,e,1,1/0)}function rt(t,e){S(t,a.map.majorEncoded,e.value)}rt.compareTokens=P.compareTokens;rt.encodedSize=function(e){return S.encodedSize(e.value)};function Vn(t,e,r,n){return new d(a.tag,r,1)}function qn(t,e,r,n){return new d(a.tag,U(t,e+1,n),2)}function Gn(t,e,r,n){return new d(a.tag,L(t,e+1,n),3)}function jn(t,e,r,n){return new d(a.tag,z(t,e+1,n),5)}function Xn(t,e,r,n){return new d(a.tag,M(t,e+1,n),9)}function nt(t,e){S(t,a.tag.majorEncoded,e.value)}nt.compareTokens=P.compareTokens;nt.encodedSize=function(e){return S.encodedSize(e.value)};var $i=20,Hi=21,Vi=22,qi=23;function Wn(t,e,r,n){if(n.allowUndefined===!1)throw new Error(`${h} undefined values are not supported`);return n.coerceUndefinedToNull===!0?new d(a.null,null,1):new d(a.undefined,void 0,1)}function Qn(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${h} indefinite length items not allowed`);return new d(a.break,void 0,1)}function Mt(t,e,r){if(r){if(r.allowNaN===!1&&Number.isNaN(t))throw new Error(`${h} NaN values are not supported`);if(r.allowInfinity===!1&&(t===1/0||t===-1/0))throw new Error(`${h} Infinity values are not supported`)}return new d(a.float,t,e)}function Kn(t,e,r,n){return Mt(Ft(t,e+1),3,n)}function Jn(t,e,r,n){return Mt(Rt(t,e+1),5,n)}function Yn(t,e,r,n){return Mt(ro(t,e+1),9,n)}function ot(t,e,r){let n=e.value;if(n===!1)t.push([a.float.majorEncoded|$i]);else if(n===!0)t.push([a.float.majorEncoded|Hi]);else if(n===null)t.push([a.float.majorEncoded|Vi]);else if(n===void 0)t.push([a.float.majorEncoded|qi]);else{let o,i=!1;(!r||r.float64!==!0)&&(eo(n),o=Ft(H,1),n===o||Number.isNaN(n)?(H[0]=249,t.push(H.slice(0,3)),i=!0):(to(n),o=Rt(H,1),n===o&&(H[0]=250,t.push(H.slice(0,5)),i=!0))),i||(Gi(n),o=ro(H,1),H[0]=251,t.push(H.slice(0,9)))}}ot.encodedSize=function(e,r){let n=e.value;if(n===!1||n===!0||n===null||n===void 0)return 1;if(!r||r.float64!==!0){eo(n);let o=Ft(H,1);if(n===o||Number.isNaN(n))return 3;if(to(n),o=Rt(H,1),n===o)return 5}return 9};var Zn=new ArrayBuffer(9),O=new DataView(Zn,1),H=new Uint8Array(Zn,0);function eo(t){if(t===1/0)O.setUint16(0,31744,!1);else if(t===-1/0)O.setUint16(0,64512,!1);else if(Number.isNaN(t))O.setUint16(0,32256,!1);else{O.setFloat32(0,t);let e=O.getUint32(0),r=(e&2139095040)>>23,n=e&8388607;if(r===255)O.setUint16(0,31744,!1);else if(r===0)O.setUint16(0,(t&2147483648)>>16|n>>13,!1);else{let o=r-127;o<-24?O.setUint16(0,0):o<-14?O.setUint16(0,(e&2147483648)>>16|1<<24+o,!1):O.setUint16(0,(e&2147483648)>>16|o+15<<10|n>>13,!1)}}}function Ft(t,e){if(t.length-e<2)throw new Error(`${h} not enough data for float16`);let r=(t[e]<<8)+t[e+1];if(r===31744)return 1/0;if(r===64512)return-1/0;if(r===32256)return NaN;let n=r>>10&31,o=r&1023,i;return n===0?i=o*2**-24:n!==31?i=(o+1024)*2**(n-25):i=o===0?1/0:NaN,r&32768?-i:i}function to(t){O.setFloat32(0,t,!1)}function Rt(t,e){if(t.length-e<4)throw new Error(`${h} not enough data for float32`);let r=(t.byteOffset||0)+e;return new DataView(t.buffer,r,4).getFloat32(0,!1)}function Gi(t){O.setFloat64(0,t,!1)}function ro(t,e){if(t.length-e<8)throw new Error(`${h} not enough data for float64`);let r=(t.byteOffset||0)+e;return new DataView(t.buffer,r,8).getFloat64(0,!1)}ot.compareTokens=P.compareTokens;function g(t,e,r){throw new Error(`${h} encountered invalid minor (${r}) for major ${t[e]>>>5}`)}function it(t){return()=>{throw new Error(`${h} ${t}`)}}var f=[];for(let t=0;t<=23;t++)f[t]=g;f[24]=dn;f[25]=ln;f[26]=hn;f[27]=pn;f[28]=g;f[29]=g;f[30]=g;f[31]=g;for(let t=32;t<=55;t++)f[t]=g;f[56]=mn;f[57]=yn;f[58]=gn;f[59]=wn;f[60]=g;f[61]=g;f[62]=g;f[63]=g;for(let t=64;t<=87;t++)f[t]=bn;f[88]=En;f[89]=Tn;f[90]=In;f[91]=vn;f[92]=g;f[93]=g;f[94]=g;f[95]=it("indefinite length bytes/strings are not supported");for(let t=96;t<=119;t++)f[t]=An;f[120]=kn;f[121]=Sn;f[122]=Nn;f[123]=Dn;f[124]=g;f[125]=g;f[126]=g;f[127]=it("indefinite length bytes/strings are not supported");for(let t=128;t<=151;t++)f[t]=_n;f[152]=Cn;f[153]=Un;f[154]=Ln;f[155]=zn;f[156]=g;f[157]=g;f[158]=g;f[159]=Mn;for(let t=160;t<=183;t++)f[t]=Fn;f[184]=Rn;f[185]=Pn;f[186]=On;f[187]=$n;f[188]=g;f[189]=g;f[190]=g;f[191]=Hn;for(let t=192;t<=215;t++)f[t]=Vn;f[216]=qn;f[217]=Gn;f[218]=jn;f[219]=Xn;f[220]=g;f[221]=g;f[222]=g;f[223]=g;for(let t=224;t<=243;t++)f[t]=it("simple values are not supported");f[244]=g;f[245]=g;f[246]=g;f[247]=Wn;f[248]=it("simple values are not supported");f[249]=Kn;f[250]=Jn;f[251]=Yn;f[252]=g;f[253]=g;f[254]=g;f[255]=Qn;var V=[];for(let t=0;t<24;t++)V[t]=new d(a.uint,t,1);for(let t=-1;t>=-24;t--)V[31-t]=new d(a.negint,t,1);V[64]=new d(a.bytes,new Uint8Array(0),1);V[96]=new d(a.string,"",1);V[128]=new d(a.array,0,1);V[160]=new d(a.map,0,1);V[244]=new d(a.false,!1,1);V[245]=new d(a.true,!0,1);V[246]=new d(a.null,null,1);function Pt(t){switch(t.type){case a.false:return j([244]);case a.true:return j([245]);case a.null:return j([246]);case a.bytes:return t.value.length?void 0:j([64]);case a.string:return t.value===""?j([96]):void 0;case a.array:return t.value===0?j([128]):void 0;case a.map:return t.value===0?j([160]):void 0;case a.uint:return t.value<24?j([Number(t.value)]):void 0;case a.negint:if(t.value>=-24)return j([31-Number(t.value)])}}var Xi={float64:!1,mapSorter:Qi,quickEncodeToken:Pt};function $t(){let t=[];return t[a.uint.major]=P,t[a.negint.major]=Ze,t[a.bytes.major]=he,t[a.string.major]=Bn,t[a.array.major]=tt,t[a.map.major]=rt,t[a.tag.major]=nt,t[a.float.major]=ot,t}var no=$t(),Ot=new ke,st=class t{constructor(e,r){this.obj=e,this.parent=r}includes(e){let r=this;do if(r.obj===e)return!0;while(r=r.parent);return!1}static createCheck(e,r){if(e&&e.includes(r))throw new Error(`${Lt} object contains circular references`);return new t(r,e)}},te={null:new d(a.null,null),undefined:new d(a.undefined,void 0),true:new d(a.true,!0),false:new d(a.false,!1),emptyArray:new d(a.array,0),emptyMap:new d(a.map,0)},re={number(t,e,r,n){return!Number.isInteger(t)||!Number.isSafeInteger(t)?new d(a.float,t):t>=0?new d(a.uint,t):new d(a.negint,t)},bigint(t,e,r,n){return t>=BigInt(0)?new d(a.uint,t):new d(a.negint,t)},Uint8Array(t,e,r,n){return new d(a.bytes,t)},string(t,e,r,n){return new d(a.string,t)},boolean(t,e,r,n){return t?te.true:te.false},null(t,e,r,n){return te.null},undefined(t,e,r,n){return te.undefined},ArrayBuffer(t,e,r,n){return new d(a.bytes,new Uint8Array(t))},DataView(t,e,r,n){return new d(a.bytes,new Uint8Array(t.buffer,t.byteOffset,t.byteLength))},Array(t,e,r,n){if(!t.length)return r.addBreakTokens===!0?[te.emptyArray,new d(a.break)]:te.emptyArray;n=st.createCheck(n,t);let o=[],i=0;for(let s of t)o[i++]=Be(s,r,n);return r.addBreakTokens?[new d(a.array,t.length),o,new d(a.break)]:[new d(a.array,t.length),o]},Object(t,e,r,n){let o=e!=="Object",i=o?t.keys():Object.keys(t),s=o?t.size:i.length;if(!s)return r.addBreakTokens===!0?[te.emptyMap,new d(a.break)]:te.emptyMap;n=st.createCheck(n,t);let c=[],u=0;for(let l of i)c[u++]=[Be(l,r,n),Be(o?t.get(l):t[l],r,n)];return Wi(c,r),r.addBreakTokens?[new d(a.map,s),c,new d(a.break)]:[new d(a.map,s),c]}};re.Map=re.Object;re.Buffer=re.Uint8Array;for(let t of"Uint8Clamped Uint16 Uint32 Int8 Int16 Int32 BigUint64 BigInt64 Float32 Float64".split(" "))re[`${t}Array`]=re.DataView;function Be(t,e={},r){let n=tn(t),o=e&&e.typeEncoders&&e.typeEncoders[n]||re[n];if(typeof o=="function"){let s=o(t,n,e,r);if(s!=null)return s}let i=re[n];if(!i)throw new Error(`${Lt} unsupported type: ${n}`);return i(t,n,e,r)}function Wi(t,e){e.mapSorter&&t.sort(e.mapSorter)}function Qi(t,e){let r=Array.isArray(t[0])?t[0][0]:t[0],n=Array.isArray(e[0])?e[0][0]:e[0];if(r.type!==n.type)return r.type.compare(n.type);let o=r.type.major,i=no[o].compareTokens(r,n);return i===0&&console.warn("WARNING: complex key types used, CBOR key sorting guarantees are gone"),i}function oo(t,e,r,n){if(Array.isArray(e))for(let o of e)oo(t,o,r,n);else r[e.type.major](t,e,n)}function Ki(t,e,r){let n=Be(t,r);if(!Array.isArray(n)&&r.quickEncodeToken){let o=r.quickEncodeToken(n);if(o)return o;let i=e[n.type.major];if(i.encodedSize){let s=i.encodedSize(n,r),c=new ke(s);if(i(c,n,r),c.chunks.length!==1)throw new Error(`Unexpected error: pre-calculated length for ${n} was wrong`);return Ut(c.chunks[0])}}return Ot.reset(),oo(Ot,n,e,r),Ot.toBytes(!0)}function Ht(t,e){return e=Object.assign({},Xi,e),Ki(t,no,e)}var Ji={strict:!1,allowIndefinite:!0,allowUndefined:!0,allowBigInt:!0},at=class{constructor(e,r={}){this._pos=0,this.data=e,this.options=r}pos(){return this._pos}done(){return this._pos>=this.data.length}next(){let e=this.data[this._pos],r=V[e];if(r===void 0){let n=f[e];if(!n)throw new Error(`${h} no decoder for major type ${e>>>5} (byte 0x${e.toString(16).padStart(2,"0")})`);let o=e&31;r=n(this.data,this._pos,o,this.options)}return this._pos+=r.encodedLength,r}},_e=Symbol.for("DONE"),ct=Symbol.for("BREAK");function Yi(t,e,r){let n=[];for(let o=0;o<t.value;o++){let i=ye(e,r);if(i===ct){if(t.value===1/0)break;throw new Error(`${h} got unexpected break to lengthed array`)}if(i===_e)throw new Error(`${h} found array but not enough entries (got ${o}, expected ${t.value})`);n[o]=i}return n}function Zi(t,e,r){let n=r.useMaps===!0,o=n?void 0:{},i=n?new Map:void 0;for(let s=0;s<t.value;s++){let c=ye(e,r);if(c===ct){if(t.value===1/0)break;throw new Error(`${h} got unexpected break to lengthed map`)}if(c===_e)throw new Error(`${h} found map but not enough entries (got ${s} [no key], expected ${t.value})`);if(n!==!0&&typeof c!="string")throw new Error(`${h} non-string keys not supported (got ${typeof c})`);if(r.rejectDuplicateMapKeys===!0&&(n&&i.has(c)||!n&&c in o))throw new Error(`${h} found repeat map key "${c}"`);let u=ye(e,r);if(u===_e)throw new Error(`${h} found map but not enough entries (got ${s} [no value], expected ${t.value})`);n?i.set(c,u):o[c]=u}return n?i:o}function ye(t,e){if(t.done())return _e;let r=t.next();if(r.type===a.break)return ct;if(r.type.terminal)return r.value;if(r.type===a.array)return Yi(r,t,e);if(r.type===a.map)return Zi(r,t,e);if(r.type===a.tag){if(e.tags&&typeof e.tags[r.value]=="function"){let n=ye(t,e);return e.tags[r.value](n)}throw new Error(`${h} tag not supported (${r.value})`)}throw new Error("unsupported")}function io(t,e){if(!(t instanceof Uint8Array))throw new Error(`${h} data to decode must be a Uint8Array`);e=Object.assign({},Ji,e);let r=e.tokenizer||new at(t,e),n=ye(r,e);if(n===_e)throw new Error(`${h} did not find any content to decode`);if(n===ct)throw new Error(`${h} got unexpected break`);return[n,t.subarray(r.pos())]}function Vt(t,e){let[r,n]=io(t,e);if(n.length>0)throw new Error(`${h} too many terminals, data makes no sense`);return r}var Qt={};C(Qt,{base32:()=>xe,base32hex:()=>fs,base32hexpad:()=>ls,base32hexpadupper:()=>hs,base32hexupper:()=>ds,base32pad:()=>cs,base32padupper:()=>us,base32upper:()=>as,base32z:()=>ps});var pu=new Uint8Array(0);function so(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}function J(t){if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")}function ao(t){return new TextEncoder().encode(t)}function co(t){return new TextDecoder().decode(t)}function ts(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var o=0;o<t.length;o++){var i=t.charAt(o),s=i.charCodeAt(0);if(r[s]!==255)throw new TypeError(i+" is ambiguous");r[s]=o}var c=t.length,u=t.charAt(0),l=Math.log(c)/Math.log(256),p=Math.log(256)/Math.log(c);function x(m){if(m instanceof Uint8Array||(ArrayBuffer.isView(m)?m=new Uint8Array(m.buffer,m.byteOffset,m.byteLength):Array.isArray(m)&&(m=Uint8Array.from(m))),!(m instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(m.length===0)return"";for(var b=0,y=0,v=0,D=m.length;v!==D&&m[v]===0;)v++,b++;for(var k=(D-v)*p+1>>>0,_=new Uint8Array(k);v!==D;){for(var R=m[v],ee=0,$=k-1;(R!==0||ee<y)&&$!==-1;$--,ee++)R+=256*_[$]>>>0,_[$]=R%c>>>0,R=R/c>>>0;if(R!==0)throw new Error("Non-zero carry");y=ee,v++}for(var Q=k-y;Q!==k&&_[Q]===0;)Q++;for(var Qe=u.repeat(b);Q<k;++Q)Qe+=t.charAt(_[Q]);return Qe}function I(m){if(typeof m!="string")throw new TypeError("Expected String");if(m.length===0)return new Uint8Array;var b=0;if(m[b]!==" "){for(var y=0,v=0;m[b]===u;)y++,b++;for(var D=(m.length-b)*l+1>>>0,k=new Uint8Array(D);m[b];){var _=r[m.charCodeAt(b)];if(_===255)return;for(var R=0,ee=D-1;(_!==0||R<v)&&ee!==-1;ee--,R++)_+=c*k[ee]>>>0,k[ee]=_%256>>>0,_=_/256>>>0;if(_!==0)throw new Error("Non-zero carry");v=R,b++}if(m[b]!==" "){for(var $=D-v;$!==D&&k[$]===0;)$++;for(var Q=new Uint8Array(y+(D-$)),Qe=y;$!==D;)Q[Qe++]=k[$++];return Q}}}function w(m){var b=I(m);if(b)return b;throw new Error(`Non-${e} character`)}return{encode:x,decodeUnsafe:I,decode:w}}var rs=ts,ns=rs,uo=ns;var Gt=class{name;prefix;baseEncode;constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},jt=class{name;prefix;baseDecode;prefixCodePoint;constructor(e,r,n){this.name=e,this.prefix=r;let o=r.codePointAt(0);if(o===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=o,this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return fo(this,e)}},Xt=class{decoders;constructor(e){this.decoders=e}or(e){return fo(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n!=null)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function fo(t,e){return new Xt({...t.decoders??{[t.prefix]:t},...e.decoders??{[e.prefix]:e}})}var Wt=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(e,r,n,o){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=o,this.encoder=new Gt(e,r,n),this.decoder=new jt(e,r,o)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};function ge({name:t,prefix:e,encode:r,decode:n}){return new Wt(t,e,r,n)}function ne({name:t,prefix:e,alphabet:r}){let{encode:n,decode:o}=uo(r,t);return ge({prefix:e,name:t,encode:n,decode:i=>J(o(i))})}function os(t,e,r,n){let o=t.length;for(;t[o-1]==="=";)--o;let i=new Uint8Array(o*r/8|0),s=0,c=0,u=0;for(let l=0;l<o;++l){let p=e[t[l]];if(p===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|p,s+=r,s>=8&&(s-=8,i[u++]=255&c>>s)}if(s>=r||(255&c<<8-s)!==0)throw new SyntaxError("Unexpected end of data");return i}function is(t,e,r){let n=e[e.length-1]==="=",o=(1<<r)-1,i="",s=0,c=0;for(let u=0;u<t.length;++u)for(c=c<<8|t[u],s+=8;s>r;)s-=r,i+=e[o&c>>s];if(s!==0&&(i+=e[o&c<<r-s]),n)for(;(i.length*r&7)!==0;)i+="=";return i}function ss(t){let e={};for(let r=0;r<t.length;++r)e[t[r]]=r;return e}function T({name:t,prefix:e,bitsPerChar:r,alphabet:n}){let o=ss(n);return ge({prefix:e,name:t,encode(i){return is(i,n,r)},decode(i){return os(i,o,r,t)}})}var xe=T({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),as=T({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),cs=T({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),us=T({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),fs=T({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),ds=T({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),ls=T({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),hs=T({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),ps=T({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Kt={};C(Kt,{base36:()=>Ce,base36upper:()=>ms});var Ce=ne({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),ms=ne({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Jt={};C(Jt,{base58btc:()=>X,base58flickr:()=>ys});var X=ne({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),ys=ne({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var gs=po,lo=128,xs=127,ws=~xs,bs=Math.pow(2,31);function po(t,e,r){e=e||[],r=r||0;for(var n=r;t>=bs;)e[r++]=t&255|lo,t/=128;for(;t&ws;)e[r++]=t&255|lo,t>>>=7;return e[r]=t|0,po.bytes=r-n+1,e}var Es=Yt,Ts=128,ho=127;function Yt(t,n){var r=0,n=n||0,o=0,i=n,s,c=t.length;do{if(i>=c)throw Yt.bytes=0,new RangeError("Could not decode varint");s=t[i++],r+=o<28?(s&ho)<<o:(s&ho)*Math.pow(2,o),o+=7}while(s>=Ts);return Yt.bytes=i-n,r}var Is=Math.pow(2,7),vs=Math.pow(2,14),As=Math.pow(2,21),ks=Math.pow(2,28),Ss=Math.pow(2,35),Ns=Math.pow(2,42),Ds=Math.pow(2,49),Bs=Math.pow(2,56),_s=Math.pow(2,63),Cs=function(t){return t<Is?1:t<vs?2:t<As?3:t<ks?4:t<Ss?5:t<Ns?6:t<Ds?7:t<Bs?8:t<_s?9:10},Us={encode:gs,decode:Es,encodingLength:Cs},Ls=Us,Ue=Ls;function Le(t,e=0){return[Ue.decode(t,e),Ue.decode.bytes]}function we(t,e,r=0){return Ue.encode(t,e,r),e}function be(t){return Ue.encodingLength(t)}function Te(t,e){let r=e.byteLength,n=be(t),o=n+be(r),i=new Uint8Array(o+r);return we(t,i,0),we(r,i,n),i.set(e,o),new Ee(t,r,e,i)}function ft(t){let e=J(t),[r,n]=Le(e),[o,i]=Le(e.subarray(n)),s=e.subarray(n+i);if(s.byteLength!==o)throw new Error("Incorrect length");return new Ee(r,o,s,e)}function mo(t,e){if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&so(t.bytes,r.bytes)}}var Ee=class{code;size;digest;bytes;constructor(e,r,n,o){this.code=e,this.size=r,this.digest=n,this.bytes=o}};function yo(t,e){let{bytes:r,version:n}=t;switch(n){case 0:return Ms(r,Zt(t),e??X.encoder);default:return Fs(r,Zt(t),e??xe.encoder)}}var go=new WeakMap;function Zt(t){let e=go.get(t);if(e==null){let r=new Map;return go.set(t,r),r}return e}var E=class t{code;version;multihash;bytes;"/";constructor(e,r,n,o){this.code=r,this.version=e,this.multihash=n,this.bytes=o,this["/"]=o}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:r}=this;if(e!==ze)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==Rs)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return t.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:r}=this.multihash,n=Te(e,r);return t.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return t.equals(this,e)}static equals(e,r){let n=r;return n!=null&&e.code===n.code&&e.version===n.version&&mo(e.multihash,n.multihash)}toString(e){return yo(this,e)}toJSON(){return{"/":yo(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof t)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:o,multihash:i,bytes:s}=r;return new t(n,o,i,s??xo(n,o,i.bytes))}else if(r[Ps]===!0){let{version:n,multihash:o,code:i}=r,s=ft(o);return t.create(n,i,s)}else return null}static create(e,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(r!==ze)throw new Error(`Version 0 CID must use dag-pb (code: ${ze}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let o=xo(e,r,n.bytes);return new t(e,r,n,o)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,ze,e)}static createV1(e,r){return t.create(1,e,r)}static decode(e){let[r,n]=t.decodeFirst(e);if(n.length!==0)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=t.inspectBytes(e),n=r.size-r.multihashSize,o=J(e.subarray(n,n+r.multihashSize));if(o.byteLength!==r.multihashSize)throw new Error("Incorrect length");let i=o.subarray(r.multihashSize-r.digestSize),s=new Ee(r.multihashCode,r.digestSize,i,o);return[r.version===0?t.createV0(s):t.createV1(r.codec,s),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[x,I]=Le(e.subarray(r));return r+=I,x},o=n(),i=ze;if(o===18?(o=0,r=0):i=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let s=r,c=n(),u=n(),l=r+u,p=l-s;return{version:o,codec:i,multihashCode:c,digestSize:u,multihashSize:p,size:l}}static parse(e,r){let[n,o]=zs(e,r),i=t.decode(o);if(i.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Zt(i).set(n,e),i}};function zs(t,e){switch(t[0]){case"Q":{let r=e??X;return[X.prefix,r.decode(`${X.prefix}${t}`)]}case X.prefix:{let r=e??X;return[X.prefix,r.decode(t)]}case xe.prefix:{let r=e??xe;return[xe.prefix,r.decode(t)]}case Ce.prefix:{let r=e??Ce;return[Ce.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32, base36 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}}function Ms(t,e,r){let{prefix:n}=r;if(n!==X.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let o=e.get(n);if(o==null){let i=r.encode(t).slice(1);return e.set(n,i),i}else return o}function Fs(t,e,r){let{prefix:n}=r,o=e.get(n);if(o==null){let i=r.encode(t);return e.set(n,i),i}else return o}var ze=112,Rs=18;function xo(t,e,r){let n=be(t),o=n+be(e),i=new Uint8Array(o+r.byteLength);return we(t,i,0),we(e,i,n),i.set(r,o),i}var Ps=Symbol.for("@ipld/js-cid/CID");var wo=42;function Os(t){return t instanceof ArrayBuffer?new Uint8Array(t,0,t.byteLength):t}function $s(t){if(t.asCID!==t&&t["/"]!==t.bytes)return null;let e=E.asCID(t);if(!e)return null;let r=new Uint8Array(e.bytes.byteLength+1);return r.set(e.bytes,1),[new d(a.tag,wo),new d(a.bytes,r)]}function Hs(){throw new Error("`undefined` is not supported by the IPLD Data Model and cannot be encoded")}function Vs(t){if(Number.isNaN(t))throw new Error("`NaN` is not supported by the IPLD Data Model and cannot be encoded");if(t===1/0||t===-1/0)throw new Error("`Infinity` and `-Infinity` is not supported by the IPLD Data Model and cannot be encoded");return null}function qs(t){for(let e of t.keys())if(typeof e!="string"||e.length===0)throw new Error("Non-string Map keys are not supported by the IPLD Data Model and cannot be encoded");return null}var er={float64:!0,typeEncoders:{Map:qs,Object:$s,undefined:Hs,number:Vs}},Cu={...er,typeEncoders:{...er.typeEncoders}};function Gs(t){if(t[0]!==0)throw new Error("Invalid CID for CBOR tag 42; expected leading 0x00");return E.decode(t.subarray(1))}var dt={allowIndefinite:!1,coerceUndefinedToNull:!0,allowNaN:!1,allowInfinity:!1,allowBigInt:!0,strict:!0,useMaps:!1,rejectDuplicateMapKeys:!0,tags:[]};dt.tags[wo]=Gs;var Uu={...dt,tags:dt.tags.slice()};var tr=t=>Ht(t,er),rr=t=>Vt(Os(t),dt);var ir=Ct(lt(),1);var sr=40;function ar(t,e){if(!t.length)throw new Error("Unexpected end of data");let r=ir.default.decode(t);return e.seek(ir.default.decode.bytes),r}function cr(t){let e=new DataView(t.buffer,t.byteOffset,t.byteLength),r=0;return{version:2,characteristics:[e.getBigUint64(r,!0),e.getBigUint64(r+=8,!0)],dataOffset:Number(e.getBigUint64(r+=8,!0)),dataSize:Number(e.getBigUint64(r+=8,!0)),indexOffset:Number(e.getBigUint64(r+=8,!0))}}var oe={Null:t=>t===null?t:void 0,Int:t=>Number.isInteger(t)?t:void 0,Float:t=>typeof t=="number"&&Number.isFinite(t)?t:void 0,String:t=>typeof t=="string"?t:void 0,Bool:t=>typeof t=="boolean"?t:void 0,Bytes:t=>t instanceof Uint8Array?t:void 0,Link:t=>t!==null&&typeof t=="object"&&t.asCID===t?t:void 0,List:t=>Array.isArray(t)?t:void 0,Map:t=>t!==null&&typeof t=="object"&&t.asCID!==t&&!Array.isArray(t)&&!(t instanceof Uint8Array)?t:void 0},Me={"CarV1HeaderOrV2Pragma > roots (anon) > valueType (anon)":oe.Link,"CarV1HeaderOrV2Pragma > roots (anon)":t=>{if(oe.List(t)!==void 0){for(let e=0;e<t.length;e++){let r=t[e];if(r=Me["CarV1HeaderOrV2Pragma > roots (anon) > valueType (anon)"](r),r===void 0)return;if(r!==t[e]){let n=t.slice(0,e);for(let o=e;o<t.length;o++){let i=t[o];if(i=Me["CarV1HeaderOrV2Pragma > roots (anon) > valueType (anon)"](i),i===void 0)return;n.push(i)}return n}}return t}},Int:oe.Int,CarV1HeaderOrV2Pragma:t=>{if(oe.Map(t)===void 0)return;let e=Object.entries(t),r=t,n=1;for(let o=0;o<e.length;o++){let[i,s]=e[o];switch(i){case"roots":{let c=Me["CarV1HeaderOrV2Pragma > roots (anon)"](t[i]);if(c===void 0)return;if(c!==s||r!==t){if(r===t){r={};for(let u=0;u<o;u++)r[e[u][0]]=e[u][1]}r.roots=c}}break;case"version":{n--;let c=Me.Int(t[i]);if(c===void 0)return;if(c!==s||r!==t){if(r===t){r={};for(let u=0;u<o;u++)r[e[u][0]]=e[u][1]}r.version=c}}break;default:return}}if(!(n>0))return r}},Fe={"CarV1HeaderOrV2Pragma > roots (anon) > valueType (anon)":oe.Link,"CarV1HeaderOrV2Pragma > roots (anon)":t=>{if(oe.List(t)!==void 0){for(let e=0;e<t.length;e++){let r=t[e];if(r=Fe["CarV1HeaderOrV2Pragma > roots (anon) > valueType (anon)"](r),r===void 0)return;if(r!==t[e]){let n=t.slice(0,e);for(let o=e;o<t.length;o++){let i=t[o];if(i=Fe["CarV1HeaderOrV2Pragma > roots (anon) > valueType (anon)"](i),i===void 0)return;n.push(i)}return n}}return t}},Int:oe.Int,CarV1HeaderOrV2Pragma:t=>{if(oe.Map(t)===void 0)return;let e=Object.entries(t),r=t,n=1;for(let o=0;o<e.length;o++){let[i,s]=e[o];switch(i){case"roots":{let c=Fe["CarV1HeaderOrV2Pragma > roots (anon)"](s);if(c===void 0)return;if(c!==s||r!==t){if(r===t){r={};for(let u=0;u<o;u++)r[e[u][0]]=e[u][1]}r.roots=c}}break;case"version":{n--;let c=Fe.Int(s);if(c===void 0)return;if(c!==s||r!==t){if(r===t){r={};for(let u=0;u<o;u++)r[e[u][0]]=e[u][1]}r.version=c}}break;default:return}}if(!(n>0))return r}},ur={toTyped:Me.CarV1HeaderOrV2Pragma,toRepresentation:Fe.CarV1HeaderOrV2Pragma};var Wu=$t();var ua=Ct(lt(),1);var Zu=[new d(a.map,2),new d(a.string,"version"),new d(a.uint,1),new d(a.string,"roots")],ef=new d(a.tag,42);async function fr(t,e){let r=ar(await t.upTo(8),t);if(r===0)throw new Error("Invalid CAR header (zero length)");let n=await t.exactly(r,!0),o=rr(n);if(ur.toTyped(o)===void 0)throw new Error("Invalid CAR header format");if(o.version!==1&&o.version!==2||e!==void 0&&o.version!==e)throw new Error(`Invalid CAR version: ${o.version}${e!==void 0?` (expected ${e})`:""}`);if(o.version===1){if(!Array.isArray(o.roots))throw new Error("Invalid CAR header format");return o}if(o.roots!==void 0)throw new Error("Invalid CAR header format");let i=cr(await t.exactly(sr,!0));t.seek(i.dataOffset-t.pos);let s=await fr(t,1);return Object.assign(s,i)}function Re(t){let e=0;return{async upTo(r){return t.subarray(e,e+Math.min(r,t.length-e))},async exactly(r,n=!1){if(r>t.length-e)throw new Error("Unexpected end of data");let o=t.subarray(e,e+r);return n&&(e+=r),o},seek(r){e+=r},get pos(){return e}}}var dr=Ct(lt(),1),_o=1;function lr(t){let e=tr({version:_o,roots:t}),r=dr.default.encode(e.length),n=new Uint8Array(r.length+e.length);return n.set(r,0),n.set(e,r.length),n}function Co(t){return{async setRoots(e){let r=lr(e);await t.write(r)},async writeBlock(e){let{cid:r,bytes:n}=e;await t.write(new Uint8Array(dr.default.encode(r.bytes.length+n.length))),await t.write(r.bytes),n.length&&await t.write(n)},async close(){await t.end()},version(){return _o}}}function ht(){}function Uo(){let t=[],e=null,r=ht,n=!1,o=null,i=ht,s=()=>(e||(e=new Promise(l=>{r=()=>{e=null,r=ht,l()}})),e),c={write(l){t.push(l);let p=s();return i(),p},async end(){n=!0;let l=s();i(),await l}},u={async next(){let l=t.shift();return l?(t.length===0&&r(),{done:!1,value:l}):n?(r(),{done:!0,value:void 0}):(o||(o=new Promise(p=>{i=()=>(o=null,i=ht,p(u.next()))})),o)}};return{writer:c,iterator:u}}var Pe=class t{constructor(e,r){this._encoder=r,this._mutex=r.setRoots(e),this._ended=!1}async put(e){if(!(e.bytes instanceof Uint8Array)||!e.cid)throw new TypeError("Can only write {cid, bytes} objects");if(this._ended)throw new Error("Already closed");let r=E.asCID(e.cid);if(!r)throw new TypeError("Can only write {cid, bytes} objects");return this._mutex=this._mutex.then(()=>this._encoder.writeBlock({cid:r,bytes:e.bytes})),this._mutex}async close(){if(this._ended)throw new Error("Already closed");return await this._mutex,this._ended=!0,this._encoder.close()}version(){return this._encoder.version()}static create(e){e=ha(e);let{encoder:r,iterator:n}=Lo(),o=new t(e,r),i=new pt(n);return{writer:o,out:i}}static createAppender(){let{encoder:e,iterator:r}=Lo();e.setRoots=()=>Promise.resolve();let n=new t([],e),o=new pt(r);return{writer:n,out:o}}static async updateRootsInBytes(e,r){let n=Re(e);await fr(n);let o=lr(r);if(Number(n.pos)!==o.length)throw new Error(`updateRoots() can only overwrite a header of the same length (old header is ${n.pos} bytes, new header is ${o.length} bytes)`);return e.set(o,0),e}},pt=class{constructor(e){this._iterator=e}[Symbol.asyncIterator](){if(this._iterating)throw new Error("Multiple iterator not supported");return this._iterating=!0,this._iterator}};function Lo(){let t=Uo(),{writer:e,iterator:r}=t;return{encoder:Co(e),iterator:r}}function ha(t){if(t===void 0)return[];if(!Array.isArray(t)){let r=E.asCID(t);if(!r)throw new TypeError("roots must be a single CID or an array of CIDs");return[r]}let e=[];for(let r of t){let n=E.asCID(r);if(!n)throw new TypeError("roots must be a single CID or an array of CIDs");e.push(n)}return e}var Y=class extends Error{static name="AbortError";constructor(e="The operation was aborted"){super(e),this.name="AbortError"}};var mt=class extends EventTarget{#e=new Map;constructor(){super()}listenerCount(e){let r=this.#e.get(e);return r==null?0:r.length}addEventListener(e,r,n){super.addEventListener(e,r,n);let o=this.#e.get(e);o==null&&(o=[],this.#e.set(e,o)),o.push({callback:r,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(e,r,n){super.removeEventListener(e.toString(),r??null,n);let o=this.#e.get(e);o!=null&&(o=o.filter(({callback:i})=>i!==r),this.#e.set(e,o))}dispatchEvent(e){let r=super.dispatchEvent(e),n=this.#e.get(e.type);return n==null||(n=n.filter(({once:o})=>!o),this.#e.set(e.type,n)),r}safeDispatchEvent(e,r={}){return this.dispatchEvent(new CustomEvent(e,r))}};var hr={};C(hr,{identity:()=>ya});var zo=0,pa="identity",Mo=J;function ma(t,e){if(e?.truncate!=null&&e.truncate!==t.byteLength){if(e.truncate<0||e.truncate>t.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${t.byteLength}`);t=t.subarray(0,e.truncate)}return Te(zo,Mo(t))}var ya={code:zo,name:pa,encode:Mo,digest:ma};function W(t=0){return new Uint8Array(t)}function pr(t,e){e==null&&(e=t.reduce((o,i)=>o+i.length,0));let r=W(e),n=0;for(let o of t)r.set(o,n),n+=o.length;return r}var mr={};C(mr,{base10:()=>ga});var ga=ne({prefix:"9",name:"base10",alphabet:"0123456789"});var yr={};C(yr,{base16:()=>xa,base16upper:()=>wa});var xa=T({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),wa=T({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var gr={};C(gr,{base2:()=>ba});var ba=T({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var xr={};C(xr,{base256emoji:()=>Aa});var Fo=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}"),Ea=Fo.reduce((t,e,r)=>(t[r]=e,t),[]),Ta=Fo.reduce((t,e,r)=>{let n=e.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${e}`);return t[n]=r,t},[]);function Ia(t){return t.reduce((e,r)=>(e+=Ea[r],e),"")}function va(t){let e=[];for(let r of t){let n=r.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${r}`);let o=Ta[n];if(o==null)throw new Error(`Non-base256emoji character: ${r}`);e.push(o)}return new Uint8Array(e)}var Aa=ge({prefix:"\u{1F680}",name:"base256emoji",encode:Ia,decode:va});var wr={};C(wr,{base64:()=>ka,base64pad:()=>Sa,base64url:()=>Na,base64urlpad:()=>Da});var ka=T({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Sa=T({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Na=T({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Da=T({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var br={};C(br,{base8:()=>Ba});var Ba=T({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Er={};C(Er,{identity:()=>_a});var _a=ge({prefix:"\0",name:"identity",encode:t=>co(t),decode:t=>ao(t)});var Zf=new TextEncoder,ed=new TextDecoder;var vr={};C(vr,{sha256:()=>za,sha512:()=>Ma});var La=20;function Ir({name:t,code:e,encode:r,minDigestLength:n,maxDigestLength:o}){return new Tr(t,e,r,n,o)}var Tr=class{name;code;encode;minDigestLength;maxDigestLength;constructor(e,r,n,o,i){this.name=e,this.code=r,this.encode=n,this.minDigestLength=o??La,this.maxDigestLength=i}digest(e,r){if(r?.truncate!=null){if(r.truncate<this.minDigestLength)throw new Error(`Invalid truncate option, must be greater than or equal to ${this.minDigestLength}`);if(this.maxDigestLength!=null&&r.truncate>this.maxDigestLength)throw new Error(`Invalid truncate option, must be less than or equal to ${this.maxDigestLength}`)}if(e instanceof Uint8Array){let n=this.encode(e);return n instanceof Uint8Array?Ro(n,this.code,r?.truncate):n.then(o=>Ro(o,this.code,r?.truncate))}else throw Error("Unknown type, must be binary type")}};function Ro(t,e,r){if(r!=null&&r!==t.byteLength){if(r>t.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${t.byteLength}`);t=t.subarray(0,r)}return Te(e,t)}function Oo(t){return async e=>new Uint8Array(await crypto.subtle.digest(t,e))}var za=Ir({name:"sha2-256",code:18,encode:Oo("SHA-256")}),Ma=Ir({name:"sha2-512",code:19,encode:Oo("SHA-512")});var Ar={...Er,...gr,...br,...mr,...yr,...Qt,...Kt,...Jt,...wr,...xr},ld={...vr,...hr};function Ho(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var $o=Ho("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),kr=Ho("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);let e=W(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),Fa={utf8:$o,"utf-8":$o,hex:Ar.base16,latin1:kr,ascii:kr,binary:kr,...Ar},Vo=Fa;function qo(t,e="utf8"){let r=Vo[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return r.decoder.decode(`${r.prefix}${t}`)}var Ra=Math.pow(2,7),Pa=Math.pow(2,14),Oa=Math.pow(2,21),Go=Math.pow(2,28),jo=Math.pow(2,35),Xo=Math.pow(2,42),Wo=Math.pow(2,49),B=128,ie=127;function Oe(t){if(t<Ra)return 1;if(t<Pa)return 2;if(t<Oa)return 3;if(t<Go)return 4;if(t<jo)return 5;if(t<Xo)return 6;if(t<Wo)return 7;if(Number.MAX_SAFE_INTEGER!=null&&t>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Qo(t,e,r=0){switch(Oe(t)){case 8:e[r++]=t&255|B,t/=128;case 7:e[r++]=t&255|B,t/=128;case 6:e[r++]=t&255|B,t/=128;case 5:e[r++]=t&255|B,t/=128;case 4:e[r++]=t&255|B,t>>>=7;case 3:e[r++]=t&255|B,t>>>=7;case 2:e[r++]=t&255|B,t>>>=7;case 1:{e[r++]=t&255,t>>>=7;break}default:throw new Error("unreachable")}return e}function Ko(t,e){let r=t[e],n=0;if(n+=r&ie,r<B||(r=t[e+1],n+=(r&ie)<<7,r<B)||(r=t[e+2],n+=(r&ie)<<14,r<B)||(r=t[e+3],n+=(r&ie)<<21,r<B)||(r=t[e+4],n+=(r&ie)*Go,r<B)||(r=t[e+5],n+=(r&ie)*jo,r<B)||(r=t[e+6],n+=(r&ie)*Xo,r<B)||(r=t[e+7],n+=(r&ie)*Wo,r<B))return n;throw new RangeError("Could not decode varint")}var Sr=new Float32Array([-0]),se=new Uint8Array(Sr.buffer);function Jo(t,e,r){Sr[0]=t,e[r]=se[0],e[r+1]=se[1],e[r+2]=se[2],e[r+3]=se[3]}function Yo(t,e){return se[0]=t[e],se[1]=t[e+1],se[2]=t[e+2],se[3]=t[e+3],Sr[0]}var Nr=new Float64Array([-0]),N=new Uint8Array(Nr.buffer);function Zo(t,e,r){Nr[0]=t,e[r]=N[0],e[r+1]=N[1],e[r+2]=N[2],e[r+3]=N[3],e[r+4]=N[4],e[r+5]=N[5],e[r+6]=N[6],e[r+7]=N[7]}function ei(t,e){return N[0]=t[e],N[1]=t[e+1],N[2]=t[e+2],N[3]=t[e+3],N[4]=t[e+4],N[5]=t[e+5],N[6]=t[e+6],N[7]=t[e+7],Nr[0]}var $a=BigInt(Number.MAX_SAFE_INTEGER),Ha=BigInt(Number.MIN_SAFE_INTEGER),F=class t{lo;hi;constructor(e,r){this.lo=e|0,this.hi=r|0}toNumber(e=!1){if(!e&&this.hi>>>31>0){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(r+n*4294967296)}return this.lo+this.hi*4294967296}toBigInt(e=!1){if(e)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(BigInt(r)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toString(e=!1){return this.toBigInt(e).toString()}zzEncode(){let e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this}zzDecode(){let e=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this}length(){let e=this.lo,r=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?r===0?e<16384?e<128?1:2:e<2097152?3:4:r<16384?r<128?5:6:r<2097152?7:8:n<128?9:10}static fromBigInt(e){if(e===0n)return ue;if(e<$a&&e>Ha)return this.fromNumber(Number(e));let r=e<0n;r&&(e=-e);let n=e>>32n,o=e-(n<<32n);return r&&(n=~n|0n,o=~o|0n,++o>ti&&(o=0n,++n>ti&&(n=0n))),new t(Number(o),Number(n))}static fromNumber(e){if(e===0)return ue;let r=e<0;r&&(e=-e);let n=e>>>0,o=(e-n)/4294967296>>>0;return r&&(o=~o>>>0,n=~n>>>0,++n>4294967295&&(n=0,++o>4294967295&&(o=0))),new t(n,o)}static from(e){return typeof e=="number"?t.fromNumber(e):typeof e=="bigint"?t.fromBigInt(e):typeof e=="string"?t.fromBigInt(BigInt(e)):e.low!=null||e.high!=null?new t(e.low>>>0,e.high>>>0):ue}},ue=new F(0,0);ue.toBigInt=function(){return 0n};ue.zzEncode=ue.zzDecode=function(){return this};ue.length=function(){return 1};var ti=4294967296n;function ri(t){let e=0,r=0;for(let n=0;n<t.length;++n)r=t.charCodeAt(n),r<128?e+=1:r<2048?e+=2:(r&64512)===55296&&(t.charCodeAt(n+1)&64512)===56320?(++n,e+=4):e+=3;return e}function ni(t,e,r){if(r-e<1)return"";let o,i=[],s=0,c;for(;e<r;)c=t[e++],c<128?i[s++]=c:c>191&&c<224?i[s++]=(c&31)<<6|t[e++]&63:c>239&&c<365?(c=((c&7)<<18|(t[e++]&63)<<12|(t[e++]&63)<<6|t[e++]&63)-65536,i[s++]=55296+(c>>10),i[s++]=56320+(c&1023)):i[s++]=(c&15)<<12|(t[e++]&63)<<6|t[e++]&63,s>8191&&((o??(o=[])).push(String.fromCharCode.apply(String,i)),s=0);return o!=null?(s>0&&o.push(String.fromCharCode.apply(String,i.slice(0,s))),o.join("")):String.fromCharCode.apply(String,i.slice(0,s))}function Dr(t,e,r){let n=r,o,i;for(let s=0;s<t.length;++s)o=t.charCodeAt(s),o<128?e[r++]=o:o<2048?(e[r++]=o>>6|192,e[r++]=o&63|128):(o&64512)===55296&&((i=t.charCodeAt(s+1))&64512)===56320?(o=65536+((o&1023)<<10)+(i&1023),++s,e[r++]=o>>18|240,e[r++]=o>>12&63|128,e[r++]=o>>6&63|128,e[r++]=o&63|128):(e[r++]=o>>12|224,e[r++]=o>>6&63|128,e[r++]=o&63|128);return r-n}function q(t,e){return RangeError(`index out of range: ${t.pos} + ${e??1} > ${t.len}`)}function yt(t,e){return(t[e-4]|t[e-3]<<8|t[e-2]<<16|t[e-1]<<24)>>>0}var Br=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(e){this.buf=e,this.pos=0,this.len=e.length}uint32(){let e=4294967295;if(e=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(e=(e|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return e;if((this.pos+=5)>this.len)throw this.pos=this.len,q(this,10);return e}int32(){return this.uint32()|0}sint32(){let e=this.uint32();return e>>>1^-(e&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw q(this,4);return yt(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw q(this,4);return yt(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw q(this,4);let e=Yo(this.buf,this.pos);return this.pos+=4,e}double(){if(this.pos+8>this.len)throw q(this,4);let e=ei(this.buf,this.pos);return this.pos+=8,e}bytes(){let e=this.uint32(),r=this.pos,n=this.pos+e;if(n>this.len)throw q(this,e);return this.pos+=e,r===n?new Uint8Array(0):this.buf.subarray(r,n)}string(){let e=this.bytes();return ni(e,0,e.length)}skip(e){if(typeof e=="number"){if(this.pos+e>this.len)throw q(this,e);this.pos+=e}else do if(this.pos>=this.len)throw q(this);while((this.buf[this.pos++]&128)!==0);return this}skipType(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(e=this.uint32()&7)!==4;)this.skipType(e);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${e} at offset ${this.pos}`)}return this}readLongVarint(){let e=new F(0,0),r=0;if(this.len-this.pos>4){for(;r<4;++r)if(e.lo=(e.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(this.buf[this.pos]&127)<<28)>>>0,e.hi=(e.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return e;r=0}else{for(;r<3;++r){if(this.pos>=this.len)throw q(this);if(e.lo=(e.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(this.buf[this.pos++]&127)<<r*7)>>>0,e}if(this.len-this.pos>4){for(;r<5;++r)if(e.hi=(e.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return e}else for(;r<5;++r){if(this.pos>=this.len)throw q(this);if(e.hi=(e.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw q(this,8);let e=yt(this.buf,this.pos+=4),r=yt(this.buf,this.pos+=4);return new F(e,r)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){let e=Ko(this.buf,this.pos);return this.pos+=Oe(e),e}uint64String(){return this.readLongVarint().toString(!0)}sint64(){return this.readLongVarint().zzDecode().toBigInt()}sint64Number(){return this.readLongVarint().zzDecode().toNumber()}sint64String(){return this.readLongVarint().zzDecode().toString()}fixed64(){return this.readFixed64().toBigInt()}fixed64Number(){return this.readFixed64().toNumber()}fixed64String(){return this.readFixed64().toString()}sfixed64(){return this.readFixed64().toBigInt()}sfixed64Number(){return this.readFixed64().toNumber()}sfixed64String(){return this.readFixed64().toString()}};function _r(t){return new Br(t instanceof Uint8Array?t:t.subarray())}function $e(t,e,r){let n=_r(t);return e.decode(n,void 0,r)}function Cr(t){let e=t??8192,r=e>>>1,n,o=e;return function(s){if(s<1||s>r)return W(s);o+s>e&&(n=W(e),o=0);let c=n.subarray(o,o+=s);return(o&7)!==0&&(o=(o|7)+1),c}}var fe=class{fn;len;next;val;constructor(e,r,n){this.fn=e,this.len=r,this.next=void 0,this.val=n}};function Ur(){}var zr=class{head;tail;len;next;constructor(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}},Va=Cr();function qa(t){return globalThis.Buffer!=null?W(t):Va(t)}var Ve=class{len;head;tail;states;constructor(){this.len=0,this.head=new fe(Ur,0,0),this.tail=this.head,this.states=null}_push(e,r,n){return this.tail=this.tail.next=new fe(e,r,n),this.len+=r,this}uint32(e){return this.len+=(this.tail=this.tail.next=new Mr((e=e>>>0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this}int32(e){return e<0?this._push(gt,10,F.fromNumber(e)):this.uint32(e)}sint32(e){return this.uint32((e<<1^e>>31)>>>0)}uint64(e){let r=F.fromBigInt(e);return this._push(gt,r.length(),r)}uint64Number(e){return this._push(Qo,Oe(e),e)}uint64String(e){return this.uint64(BigInt(e))}int64(e){return this.uint64(e)}int64Number(e){return this.uint64Number(e)}int64String(e){return this.uint64String(e)}sint64(e){let r=F.fromBigInt(e).zzEncode();return this._push(gt,r.length(),r)}sint64Number(e){let r=F.fromNumber(e).zzEncode();return this._push(gt,r.length(),r)}sint64String(e){return this.sint64(BigInt(e))}bool(e){return this._push(Lr,1,e?1:0)}fixed32(e){return this._push(He,4,e>>>0)}sfixed32(e){return this.fixed32(e)}fixed64(e){let r=F.fromBigInt(e);return this._push(He,4,r.lo)._push(He,4,r.hi)}fixed64Number(e){let r=F.fromNumber(e);return this._push(He,4,r.lo)._push(He,4,r.hi)}fixed64String(e){return this.fixed64(BigInt(e))}sfixed64(e){return this.fixed64(e)}sfixed64Number(e){return this.fixed64Number(e)}sfixed64String(e){return this.fixed64String(e)}float(e){return this._push(Jo,4,e)}double(e){return this._push(Zo,8,e)}bytes(e){let r=e.length>>>0;return r===0?this._push(Lr,1,0):this.uint32(r)._push(ja,r,e)}string(e){let r=ri(e);return r!==0?this.uint32(r)._push(Dr,r,e):this._push(Lr,1,0)}fork(){return this.states=new zr(this),this.head=this.tail=new fe(Ur,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 fe(Ur,0,0),this.len=0),this}ldelim(){let e=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=e.next,this.tail=r,this.len+=n),this}finish(){let e=this.head.next,r=qa(this.len),n=0;for(;e!=null;)e.fn(e.val,r,n),n+=e.len,e=e.next;return r}};function Lr(t,e,r){e[r]=t&255}function Ga(t,e,r){for(;t>127;)e[r++]=t&127|128,t>>>=7;e[r]=t}var Mr=class extends fe{next;constructor(e,r){super(Ga,e,r),this.next=void 0}};function gt(t,e,r){for(;t.hi!==0;)e[r++]=t.lo&127|128,t.lo=(t.lo>>>7|t.hi<<25)>>>0,t.hi>>>=7;for(;t.lo>127;)e[r++]=t.lo&127|128,t.lo=t.lo>>>7;e[r++]=t.lo}function He(t,e,r){e[r]=t&255,e[r+1]=t>>>8&255,e[r+2]=t>>>16&255,e[r+3]=t>>>24}function ja(t,e,r){e.set(t,r)}globalThis.Buffer!=null&&(Ve.prototype.bytes=function(t){let e=t.length>>>0;return this.uint32(e),e>0&&this._push(Xa,e,t),this},Ve.prototype.string=function(t){let e=globalThis.Buffer.byteLength(t);return this.uint32(e),e>0&&this._push(Wa,e,t),this});function Xa(t,e,r){e.set(t,r)}function Wa(t,e,r){t.length<40?Dr(t,e,r):e.utf8Write!=null?e.utf8Write(t,r):e.set(qo(t),r)}function Fr(){return new Ve}function qe(t,e){let r=Fr();return e.encode(t,r,{lengthDelimited:!1}),r.finish()}var Ie;(function(t){t[t.VARINT=0]="VARINT",t[t.BIT64=1]="BIT64",t[t.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",t[t.START_GROUP=3]="START_GROUP",t[t.END_GROUP=4]="END_GROUP",t[t.BIT32=5]="BIT32"})(Ie||(Ie={}));function xt(t,e,r,n){return{name:t,type:e,encode:r,decode:n}}function Rr(t){function e(o){if(t[o.toString()]==null)throw new Error("Invalid enum value");return t[o]}let r=function(i,s){let c=e(i);s.int32(c)},n=function(i){let s=i.int32();return e(s)};return xt("enum",Ie.VARINT,r,n)}function Ge(t,e){return xt("message",Ie.LENGTH_DELIMITED,t,e)}function ve(){let t={};return t.promise=new Promise((e,r)=>{t.resolve=e,t.reject=r}),t}var wt=class{buffer;mask;top;btm;next;constructor(e){if(!(e>0)||(e-1&e)!==0)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(e),this.mask=e-1,this.top=0,this.btm=0,this.next=null}push(e){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=e,this.top=this.top+1&this.mask,!0)}shift(){let e=this.buffer[this.btm];if(e!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,e}isEmpty(){return this.buffer[this.btm]===void 0}},Ae=class{size;hwm;head;tail;constructor(e={}){this.hwm=e.splitLimit??16,this.head=new wt(this.hwm),this.tail=this.head,this.size=0}calculateSize(e){return e?.byteLength!=null?e.byteLength:1}push(e){if(e?.value!=null&&(this.size+=this.calculateSize(e.value)),!this.head.push(e)){let r=this.head;this.head=r.next=new wt(2*this.head.buffer.length),this.head.push(e)}}shift(){let e=this.tail.shift();if(e===void 0&&this.tail.next!=null){let r=this.tail.next;this.tail.next=null,this.tail=r,e=this.tail.shift()}return e?.value!=null&&(this.size-=this.calculateSize(e.value)),e}isEmpty(){return this.head.isEmpty()}};var Pr=class extends Error{type;code;constructor(e,r){super(e??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function ii(t={}){return Qa(r=>{let n=r.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},t)}function Qa(t,e){e=e??{};let r=e.onEnd,n=new Ae,o,i,s,c=ve(),u=async()=>{try{return n.isEmpty()?s?{done:!0}:await new Promise((y,v)=>{i=D=>{i=null,n.push(D);try{y(t(n))}catch(k){v(k)}return o}}):t(n)}finally{n.isEmpty()&&queueMicrotask(()=>{c.resolve(),c=ve()})}},l=y=>i!=null?i(y):(n.push(y),o),p=y=>(n=new Ae,i!=null?i({error:y}):(n.push({error:y}),o)),x=y=>{if(s)return o;if(e?.objectMode!==!0&&y?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return l({done:!1,value:y})},I=y=>s?o:(s=!0,y!=null?p(y):l({done:!0})),w=()=>(n=new Ae,I(),{done:!0}),m=y=>(I(y),{done:!0});if(o={[Symbol.asyncIterator](){return this},next:u,return:w,throw:m,push:x,end:I,get readableLength(){return n.size},onEmpty:async y=>{let v=y?.signal;if(v?.throwIfAborted(),n.isEmpty())return;let D,k;v!=null&&(D=new Promise((_,R)=>{k=()=>{R(new Pr)},v.addEventListener("abort",k)}));try{await Promise.race([c.promise,D])}finally{k!=null&&v!=null&&v?.removeEventListener("abort",k)}}},r==null)return o;let b=o;return o={[Symbol.asyncIterator](){return this},next(){return b.next()},throw(y){return b.throw(y),r!=null&&(r(y),r=void 0),{done:!0}},return(){return b.return(),r!=null&&(r(),r=void 0),{done:!0}},push:x,end(y){return b.end(y),r!=null&&(r(y),r=void 0),o},get readableLength(){return b.readableLength},onEmpty:y=>b.onEmpty(y)},o}var Or=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},$r=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},si=t=>globalThis.DOMException===void 0?new $r(t):new DOMException(t),ai=t=>{let e=t.reason===void 0?si("This operation was aborted."):t.reason;return e instanceof Error?e:si(e)};function Hr(t,e){let{milliseconds:r,fallback:n,message:o,customTimers:i={setTimeout,clearTimeout}}=e,s,c,l=new Promise((p,x)=>{if(typeof r!="number"||Math.sign(r)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${r}\``);if(e.signal){let{signal:w}=e;w.aborted&&x(ai(w)),c=()=>{x(ai(w))},w.addEventListener("abort",c,{once:!0})}if(r===Number.POSITIVE_INFINITY){t.then(p,x);return}let I=new Or;s=i.setTimeout.call(void 0,()=>{if(n){try{p(n())}catch(w){x(w)}return}typeof t.cancel=="function"&&t.cancel(),o===!1?p():o instanceof Error?x(o):(I.message=o??`Promise timed out after ${r} milliseconds`,x(I))},r),(async()=>{try{p(await t)}catch(w){x(w)}})()}).finally(()=>{l.clear(),c&&e.signal&&e.signal.removeEventListener("abort",c)});return l.clear=()=>{i.clearTimeout.call(void 0,s),s=void 0},l}var Ka=t=>{let e=t.addEventListener||t.on||t.addListener,r=t.removeEventListener||t.off||t.removeListener;if(!e||!r)throw new TypeError("Emitter is not compatible");return{addListener:e.bind(t),removeListener:r.bind(t)}};function Ja(t,e,r){let n,o=new Promise((i,s)=>{if(r={rejectionEvents:["error"],multiArgs:!1,rejectionMultiArgs:!1,resolveImmediately:!1,...r},!(r.count>=0&&(r.count===Number.POSITIVE_INFINITY||Number.isInteger(r.count))))throw new TypeError("The `count` option should be at least 0 or more");r.signal?.throwIfAborted();let c=[e].flat(),u=[],{addListener:l,removeListener:p}=Ka(t),x=async(...w)=>{let m=r.multiArgs?w:w[0];if(r.filter)try{if(!await r.filter(m))return}catch(b){n(),s(b);return}u.push(m),r.count===u.length&&(n(),i(u))},I=(...w)=>{n(),s(r.rejectionMultiArgs?w:w[0])};n=()=>{for(let w of c)p(w,x);for(let w of r.rejectionEvents)c.includes(w)||p(w,I)};for(let w of c)l(w,x);for(let w of r.rejectionEvents)c.includes(w)||l(w,I);r.signal&&r.signal.addEventListener("abort",()=>{I(r.signal.reason)},{once:!0}),r.resolveImmediately&&i(u)});if(o.cancel=n,typeof r.timeout=="number"){let i=Hr(o,{milliseconds:r.timeout});return i.cancel=()=>{n(),i.clear()},i}return o}function bt(t,e,r){typeof r=="function"&&(r={filter:r}),r={...r,count:1,resolveImmediately:!1};let n=Ja(t,e,r),o=n.then(i=>i[0]);return o.cancel=n.cancel,o}function Vr(t,e){let r,n=function(){let o=function(){r=void 0,t()};clearTimeout(r),r=setTimeout(o,e)};return n.start=()=>{},n.stop=()=>{clearTimeout(r)},n}var Et=class extends Error{static name="QueueFullError";constructor(e="The queue was full"){super(e),this.name="QueueFullError"}};function Ya(t){return t.reason}async function Tt(t,e,r){if(e==null)return t;let n=r?.translateError??Ya;if(e.aborted)return t.catch(()=>{}),Promise.reject(n(e));let o;try{return await Promise.race([t,new Promise((i,s)=>{o=()=>{s(n(e))},e.addEventListener("abort",o)})])}finally{o!=null&&e.removeEventListener("abort",o)}}var It=class{deferred;signal;constructor(e){this.signal=e,this.deferred=ve(),this.onAbort=this.onAbort.bind(this),this.signal?.addEventListener("abort",this.onAbort)}onAbort(){this.deferred.reject(this.signal?.reason??new Y)}cleanup(){this.signal?.removeEventListener("abort",this.onAbort)}};function Za(){return`${parseInt(String(Math.random()*1e9),10).toString()}${Date.now()}`}var vt=class{id;fn;options;recipients;status;timeline;controller;constructor(e,r){this.id=Za(),this.status="queued",this.fn=e,this.options=r,this.recipients=[],this.timeline={created:Date.now()},this.controller=new AbortController,this.controller.signal,this.onAbort=this.onAbort.bind(this)}abort(e){this.controller.abort(e)}onAbort(){this.recipients.reduce((r,n)=>r&&n.signal?.aborted===!0,!0)&&(this.controller.abort(new Y),this.cleanup())}async join(e={}){let r=new It(e.signal);return this.recipients.push(r),e.signal?.addEventListener("abort",this.onAbort),r.deferred.promise}async run(){this.status="running",this.timeline.started=Date.now();try{this.controller.signal.throwIfAborted();let e=await Tt(this.fn({...this.options??{},signal:this.controller.signal}),this.controller.signal);this.recipients.forEach(r=>{r.deferred.resolve(e)}),this.status="complete"}catch(e){this.recipients.forEach(r=>{r.deferred.reject(e)}),this.status="errored"}finally{this.timeline.finished=Date.now(),this.cleanup()}}cleanup(){this.recipients.forEach(e=>{e.cleanup(),e.signal?.removeEventListener("abort",this.onAbort)})}};var At=class extends mt{concurrency;maxSize;queue;pending;sort;paused;constructor(e={}){super(),this.concurrency=e.concurrency??Number.POSITIVE_INFINITY,this.maxSize=e.maxSize??Number.POSITIVE_INFINITY,this.pending=0,this.paused=!1,e.metricName!=null&&e.metrics?.registerMetricGroup(e.metricName,{calculate:()=>({size:this.queue.length,running:this.pending,queued:this.queue.length-this.pending})}),this.sort=e.sort,this.queue=[],this.emitEmpty=Vr(this.emitEmpty.bind(this),1),this.emitIdle=Vr(this.emitIdle.bind(this),1)}emitEmpty(){this.size===0&&this.safeDispatchEvent("empty")}emitIdle(){this.running===0&&this.safeDispatchEvent("idle")}pause(){this.paused=!0}resume(){this.paused&&(this.paused=!1,this.tryToStartAnother())}tryToStartAnother(){if(this.paused)return!1;if(this.size===0)return this.emitEmpty(),this.running===0&&this.emitIdle(),!1;if(this.pending<this.concurrency){let e;for(let r of this.queue)if(r.status==="queued"){e=r;break}return e==null?!1:(this.safeDispatchEvent("active"),this.pending++,e.run().finally(()=>{for(let r=0;r<this.queue.length;r++)if(this.queue[r]===e){this.queue.splice(r,1);break}this.pending--,this.tryToStartAnother(),this.safeDispatchEvent("next")}),!0)}return!1}enqueue(e){this.queue.push(e),this.sort!=null&&this.queue.sort(this.sort)}async add(e,r){if(r?.signal?.throwIfAborted(),this.size===this.maxSize)throw new Et;let n=new vt(e,r);return this.enqueue(n),this.safeDispatchEvent("add"),this.tryToStartAnother(),n.join(r).then(o=>(this.safeDispatchEvent("completed",{detail:o}),this.safeDispatchEvent("success",{detail:{job:n,result:o}}),o)).catch(o=>{if(n.status==="queued"){for(let i=0;i<this.queue.length;i++)if(this.queue[i]===n){this.queue.splice(i,1);break}}throw this.safeDispatchEvent("failure",{detail:{job:n,error:o}}),o})}clear(){this.queue.splice(0,this.queue.length)}abort(){this.queue.forEach(e=>{e.abort(new Y)}),this.clear()}async onEmpty(e){this.size!==0&&await bt(this,"empty",e)}async onSizeLessThan(e,r){this.size<e||await bt(this,"next",{...r,filter:()=>this.size<e})}async onIdle(e){this.pending===0&&this.size===0||await bt(this,"idle",e)}get size(){return this.queue.length}get queued(){return this.queue.length-this.pending}get running(){return this.pending}async*toGenerator(e){e?.signal?.throwIfAborted();let r=ii({objectMode:!0}),n=u=>{u!=null?this.abort():this.clear(),r.end(u)},o=u=>{u.detail!=null&&r.push(u.detail)},i=u=>{n(u.detail.error)},s=()=>{n()},c=()=>{n(new Y("Queue aborted"))};this.addEventListener("completed",o),this.addEventListener("failure",i),this.addEventListener("idle",s),e?.signal?.addEventListener("abort",c);try{yield*r}finally{this.removeEventListener("completed",o),this.removeEventListener("failure",i),this.removeEventListener("idle",s),e?.signal?.removeEventListener("abort",c),n()}}};function ec(t){return t[Symbol.asyncIterator]!=null}function tc(t){if(ec(t))return(async()=>{for await(let e of t);})();for(let e of t);}var ci=tc;function rc(t){let[e,r]=t[Symbol.asyncIterator]!=null?[t[Symbol.asyncIterator](),Symbol.asyncIterator]:[t[Symbol.iterator](),Symbol.iterator],n=[];return{peek:()=>e.next(),push:o=>{n.push(o)},next:()=>n.length>0?{done:!1,value:n.shift()}:e.next(),[r](){return this}}}var ui=rc;function nc(t){return t[Symbol.asyncIterator]!=null}function oc(t,e){let r=0;if(nc(t))return(async function*(){for await(let u of t)yield e(u,r++)})();let n=ui(t),{value:o,done:i}=n.next();if(i===!0)return(function*(){})();let s=e(o,r++);if(typeof s.then=="function")return(async function*(){yield await s;for(let u of n)yield e(u,r++)})();let c=e;return(function*(){yield s;for(let u of n)yield c(u,r++)})()}var fi=oc;function ic(t){return t[Symbol.asyncIterator]!=null}function sc(t){if(ic(t))return(async()=>{let n=new Uint8Array(0);for await(let o of t)n=pr([n,o],n.length+o.length);return n})();let e=[],r=0;for(let n of t)e.push(n),r+=n.byteLength;return pr(e,r)}var qr=sc;function kt({enumerable:t=!0,configurable:e=!1}={}){return{enumerable:t,configurable:e,writable:!1}}function*ac(t,e){if(e!=null&&typeof e=="object")if(Array.isArray(e))for(let[r,n]of e.entries()){let o=[...t,r],i=E.asCID(n);i!=null?yield[o.join("/"),i]:typeof n=="object"&&(yield*Gr(n,o))}else{let r=E.asCID(e);r!=null?yield[t.join("/"),r]:yield*Gr(e,t)}}function*Gr(t,e){if(t==null||t instanceof Uint8Array)return;let r=E.asCID(t);r!=null&&(yield[e.join("/"),r]);for(let[n,o]of Object.entries(t)){let i=[...e,n];yield*ac(i,o)}}function*cc(t,e){if(Array.isArray(e))for(let[r,n]of e.entries()){let o=[...t,r];yield o.join("/"),typeof n=="object"&&E.asCID(n)==null&&(yield*jr(n,o))}else yield*jr(e,t)}function*jr(t,e){if(!(t==null||typeof t!="object"))for(let[r,n]of Object.entries(t)){let o=[...e,r];yield o.join("/"),n!=null&&!(n instanceof Uint8Array)&&typeof n=="object"&&E.asCID(n)==null&&(yield*cc(o,n))}}function uc(t,e){let r=t;for(let[n,o]of e.entries()){if(r=r[o],r==null)throw new Error(`Object has no property at ${e.slice(0,n+1).map(s=>`[${JSON.stringify(s)}]`).join("")}`);let i=E.asCID(r);if(i!=null)return{value:i,remaining:e.slice(n+1).join("/")}}return{value:r}}var Xr=class{cid;bytes;value;asBlock;constructor({cid:e,bytes:r,value:n}){if(e==null||r==null||typeof n>"u")throw new Error("Missing required argument");this.cid=e,this.bytes=r,this.value=n,this.asBlock=this,Object.defineProperties(this,{cid:kt(),bytes:kt(),value:kt(),asBlock:kt()})}links(){return Gr(this.value,[])}tree(){return jr(this.value,[])}get(e="/"){return uc(this.value,e.split("/").filter(Boolean))}};function Wr({bytes:t,cid:e,value:r,codec:n}){let o=r!==void 0?r:n?.decode(t);if(o===void 0)throw new Error('Missing required argument, must either provide "value" or "codec"');return new Xr({cid:e,bytes:t,value:o})}var je=class{async*export(e,r){for(let[,n]of r.links())yield n}};var Xe=class{target;constructor(e){this.target=e}isTarget(e){return this.target.equals(e)}async*traverse(e,r){for(let[,n]of r.links())yield n}};var St=class{components;log;constructor(e,r){this.components=e,this.log=e.logger.forComponent("helia:car")}async import(e,r){await ci(this.components.blockstore.putMany(fi(e.blocks(),({cid:n,bytes:o})=>({cid:n,bytes:o})),r))}async*export(e,r){let{writer:n,out:o}=Pe.create(e),i=o[Symbol.asyncIterator](),s=new AbortController;for(this._export(e,n,r).catch(c=>{this.log.error("error during streaming export - %e",c),s.abort(c)});;){let{done:c,value:u}=await Tt(i.next(),s.signal);if(s.signal.aborted)throw s.signal.reason;if(u!=null&&(yield u),c===!0)break}}async _export(e,r,n){let o=Promise.withResolvers(),i=Array.isArray(e)?e:[e],s={currentPath:[],pathsToTarget:null},c=n?.traversal,u=n?.exporter??new je,l=new At({concurrency:1}),p=!1;l.addEventListener("idle",()=>{if(p)o.resolve();else if(!p&&s.pathsToTarget?.length===i.length){this.log.trace("starting export of blocks to the car file"),p=!0;for(let x of s.pathsToTarget){let I=x.length-1,w=x[I];x.slice(0,-1).forEach(m=>{l.add(async()=>{await this.#t({cid:m,queue:l,writer:r,strategy:u,options:n,recursive:!1})}).catch(b=>{this.log.error("error during queue operation - %e",b)})}),l.add(async()=>{await this.#t({cid:w,queue:l,writer:r,strategy:u,options:n})}).catch(m=>{this.log.error("error during queue operation - %e",m)})}}else this.log.trace("no paths to target, skipping export"),o.reject(new Error("Could not traverse to target CID(s)"))}),l.addEventListener("failure",x=>{l.clear(),o.reject(x.detail.error)});for(let x of i)l.add(async()=>{this.log.trace("traversing dag from %c",x),await this.#e({cid:x,queue:l,strategy:c??new Xe(x),traversalContext:s,parentPath:[],options:n})}).catch(I=>{this.log.error("error during queue operation - %e",I)});try{await o.promise}finally{await r.close()}}async#e({cid:e,queue:r,strategy:n,traversalContext:o,parentPath:i,options:s}){let c=[...i,e];if(n.isTarget(e)){o.pathsToTarget=o.pathsToTarget??[],o.pathsToTarget.push([...c]),this.log.trace("found path to target %c",e);return}let u=await this.components.getCodec(e.code),l=await qr(this.components.blockstore.get(e,s)),p=Wr({bytes:l,cid:e,codec:u});for await(let x of n.traverse(e,p))r.add(async()=>{await this.#e({cid:x,queue:r,strategy:n,traversalContext:o,parentPath:c??[],options:s})}).catch(I=>{this.log.error("error during traversal queue operation - %e",I)})}async#t({cid:e,queue:r,writer:n,strategy:o,options:i,recursive:s=!0}){if(i?.blockFilter?.has(e.multihash.bytes)===!0)return;let c=await this.components.getCodec(e.code),u=await qr(this.components.blockstore.get(e,i));if(i?.blockFilter?.add(e.multihash.bytes),await n.put({cid:e,bytes:u}),s){let l=Wr({bytes:u,cid:e,codec:c});for await(let p of o.export(e,l))r.add(async()=>{await this.#t({cid:p,queue:r,writer:n,strategy:o,options:i})}).catch(x=>{this.log.error("error during export queue operation - %e",x)})}}};var Qr=class{async*export(e,r){}};var Z=class extends Error{static code="ERR_NOT_UNIXFS";static message="Not a UnixFS node";static name="NotUnixFSError";code="ERR_NOT_UNIXFS";message="Not a UnixFS node";name="NotUnixFSError"};var Kr=class{async*export(e,r){if(e.code!==112&&e.code!==85)throw new Z("Target CID was not UnixFS - use the SubGraphExporter to export arbitrary graphs");for(let[,n]of r.links())yield n}};var Jr=class{pathToTarget;target;constructor(e){this.pathToTarget=e,this.target=e[e.length-1]}isTarget(e){return this.target.equals(e)}async*traverse(e,r){let n=this.pathToTarget.indexOf(e);yield this.pathToTarget[n+1]}};var dc=new TextDecoder;function Yr(t,e){let r=0;for(let n=0;;n+=7){if(n>=64)throw new Error("protobuf: varint overflow");if(e>=t.length)throw new Error("protobuf: unexpected end of data");let o=t[e++];if(r+=n<28?(o&127)<<n:(o&127)*2**n,o<128)break}return[r,e]}function Nt(t,e){let r;[r,e]=Yr(t,e);let n=e+r;if(r<0||n<0)throw new Error("protobuf: invalid length");if(n>t.length)throw new Error("protobuf: unexpected end of data");return[t.subarray(e,n),n]}function di(t,e){let r;return[r,e]=Yr(t,e),[r&7,r>>3,e]}function lc(t){let e={},r=t.length,n=0;for(;n<r;){let o,i;if([o,i,n]=di(t,n),i===1){if(e.Hash)throw new Error("protobuf: (PBLink) duplicate Hash section");if(o!==2)throw new Error(`protobuf: (PBLink) wrong wireType (${o}) for Hash`);if(e.Name!==void 0)throw new Error("protobuf: (PBLink) invalid order, found Name before Hash");if(e.Tsize!==void 0)throw new Error("protobuf: (PBLink) invalid order, found Tsize before Hash");[e.Hash,n]=Nt(t,n)}else if(i===2){if(e.Name!==void 0)throw new Error("protobuf: (PBLink) duplicate Name section");if(o!==2)throw new Error(`protobuf: (PBLink) wrong wireType (${o}) for Name`);if(e.Tsize!==void 0)throw new Error("protobuf: (PBLink) invalid order, found Tsize before Name");let s;[s,n]=Nt(t,n),e.Name=dc.decode(s)}else if(i===3){if(e.Tsize!==void 0)throw new Error("protobuf: (PBLink) duplicate Tsize section");if(o!==0)throw new Error(`protobuf: (PBLink) wrong wireType (${o}) for Tsize`);[e.Tsize,n]=Yr(t,n)}else throw new Error(`protobuf: (PBLink) invalid fieldNumber, expected 1, 2 or 3, got ${i}`)}if(n>r)throw new Error("protobuf: (PBLink) unexpected end of data");return e}function li(t){let e=t.length,r=0,n,o=!1,i;for(;r<e;){let c,u;if([c,u,r]=di(t,r),c!==2)throw new Error(`protobuf: (PBNode) invalid wireType, expected 2, got ${c}`);if(u===1){if(i)throw new Error("protobuf: (PBNode) duplicate Data section");[i,r]=Nt(t,r),n&&(o=!0)}else if(u===2){if(o)throw new Error("protobuf: (PBNode) duplicate Links section");n||(n=[]);let l;[l,r]=Nt(t,r),n.push(lc(l))}else throw new Error(`protobuf: (PBNode) invalid fieldNumber, expected 1 or 2, got ${u}`)}if(r>e)throw new Error("protobuf: (PBNode) unexpected end of data");let s={};return i&&(s.Data=i),s.Links=n||[],s}var Yl=new TextEncoder,Zl=2**32,eh=2**31;var nh=new TextEncoder;function hi(t){return t instanceof ArrayBuffer?new Uint8Array(t,0,t.byteLength):t}function pi(t){let e=hi(t),r=li(e),n={};return r.Data&&(n.Data=r.Data),r.Links&&(n.Links=r.Links.map(o=>{let i={};try{i.Hash=E.decode(o.Hash)}catch{}if(!i.Hash)throw new Error("Invalid Hash field found in link, expected CID");return o.Name!==void 0&&(i.Name=o.Name),o.Tsize!==void 0&&(i.Tsize=o.Tsize),i})),n}var We=class t extends Error{static name="InvalidTypeError";static code="ERR_INVALID_TYPE";name=t.name;code=t.code;constructor(e="Invalid type"){super(e)}},Dt=class t extends Error{static name="InvalidUnixFSMessageError";static code="ERR_INVALID_MESSAGE";name=t.name;code=t.code;constructor(e="Invalid message"){super(e)}};var G;(function(t){let e;(function(o){o.Raw="Raw",o.Directory="Directory",o.File="File",o.Metadata="Metadata",o.Symlink="Symlink",o.HAMTShard="HAMTShard"})(e=t.DataType||(t.DataType={}));let r;(function(o){o[o.Raw=0]="Raw",o[o.Directory=1]="Directory",o[o.File=2]="File",o[o.Metadata=3]="Metadata",o[o.Symlink=4]="Symlink",o[o.HAMTShard=5]="HAMTShard"})(r||(r={})),(function(o){o.codec=()=>Rr(r)})(e=t.DataType||(t.DataType={}));let n;t.codec=()=>(n==null&&(n=Ge((o,i,s={})=>{if(s.lengthDelimited!==!1&&i.fork(),o.Type!=null&&(i.uint32(8),t.DataType.codec().encode(o.Type,i)),o.Data!=null&&(i.uint32(18),i.bytes(o.Data)),o.filesize!=null&&(i.uint32(24),i.uint64(o.filesize)),o.blocksizes!=null)for(let c of o.blocksizes)i.uint32(32),i.uint64(c);o.hashType!=null&&(i.uint32(40),i.uint64(o.hashType)),o.fanout!=null&&(i.uint32(48),i.uint64(o.fanout)),o.mode!=null&&(i.uint32(56),i.uint32(o.mode)),o.mtime!=null&&(i.uint32(66),Bt.codec().encode(o.mtime,i)),s.lengthDelimited!==!1&&i.ldelim()},(o,i)=>{let s={blocksizes:[]},c=i==null?o.len:o.pos+i;for(;o.pos<c;){let u=o.uint32();switch(u>>>3){case 1:s.Type=t.DataType.codec().decode(o);break;case 2:s.Data=o.bytes();break;case 3:s.filesize=o.uint64();break;case 4:s.blocksizes.push(o.uint64());break;case 5:s.hashType=o.uint64();break;case 6:s.fanout=o.uint64();break;case 7:s.mode=o.uint32();break;case 8:s.mtime=Bt.codec().decode(o,o.uint32());break;default:o.skipType(u&7);break}}return s})),n),t.encode=o=>qe(o,t.codec()),t.decode=o=>$e(o,t.codec())})(G||(G={}));var Bt;(function(t){let e;t.codec=()=>(e==null&&(e=Ge((r,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),r.Seconds!=null&&(n.uint32(8),n.int64(r.Seconds)),r.FractionalNanoseconds!=null&&(n.uint32(21),n.fixed32(r.FractionalNanoseconds)),o.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let o={},i=n==null?r.len:r.pos+n;for(;r.pos<i;){let s=r.uint32();switch(s>>>3){case 1:o.Seconds=r.int64();break;case 2:o.FractionalNanoseconds=r.fixed32();break;default:r.skipType(s&7);break}}return o})),e),t.encode=r=>qe(r,t.codec()),t.decode=r=>$e(r,t.codec())})(Bt||(Bt={}));var mi;(function(t){let e;t.codec=()=>(e==null&&(e=Ge((r,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),r.MimeType!=null&&(n.uint32(10),n.string(r.MimeType)),o.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let o={},i=n==null?r.len:r.pos+n;for(;r.pos<i;){let s=r.uint32();switch(s>>>3){case 1:o.MimeType=r.string();break;default:r.skipType(s&7);break}}return o})),e),t.encode=r=>qe(r,t.codec()),t.decode=r=>$e(r,t.codec())})(mi||(mi={}));var yi={Raw:"raw",Directory:"directory",File:"file",Metadata:"metadata",Symlink:"symlink",HAMTShard:"hamt-sharded-directory"},hc=["directory","hamt-sharded-directory"],gi=parseInt("0644",8),xi=parseInt("0755",8),wi=BigInt(1024),_t=class t{static unmarshal(e){let r=G.decode(e);if(r.fanout!=null&&r.fanout>wi)throw new Dt(`Fanout size was too large - ${r.fanout} > ${wi}`);let n=new t({type:yi[r.Type!=null?r.Type.toString():"File"],data:r.Data,blockSizes:r.blocksizes,mode:r.mode,mtime:r.mtime!=null?{secs:r.mtime.Seconds??0n,nsecs:r.mtime.FractionalNanoseconds}:void 0,fanout:r.fanout});return n._originalMode=r.mode??0,n}type;data;blockSizes;hashType;fanout;mtime;_mode;_originalMode;constructor(e={type:"file"}){let{type:r,data:n,blockSizes:o,hashType:i,fanout:s,mtime:c,mode:u}=e;if(r!=null&&!Object.values(yi).includes(r))throw new We("Type: "+r+" is not valid");this.type=r??"file",this.data=n,this.hashType=i,this.fanout=s,this.blockSizes=o??[],this._originalMode=0,this.mode=u,this.mtime=c}set mode(e){e==null?this._mode=this.isDirectory()?xi:gi:this._mode=e&4095}get mode(){return this._mode}isDirectory(){return hc.includes(this.type)}addBlockSize(e){this.blockSizes.push(e)}removeBlockSize(e){this.blockSizes.splice(e,1)}fileSize(){if(this.isDirectory())return 0n;let e=0n;return this.blockSizes.forEach(r=>{e+=r}),this.data!=null&&(e+=BigInt(this.data.length)),e}marshal(){let e;switch(this.type){case"raw":e=G.DataType.Raw;break;case"directory":e=G.DataType.Directory;break;case"file":e=G.DataType.File;break;case"metadata":e=G.DataType.Metadata;break;case"symlink":e=G.DataType.Symlink;break;case"hamt-sharded-directory":e=G.DataType.HAMTShard;break;default:throw new We(`Type: ${e} is not valid`)}let r=this.data;(this.data==null||this.data.length===0)&&(r=void 0);let n;this.mode!=null&&(n=this._originalMode&4294963200|(this.mode??0),n===gi&&!this.isDirectory()&&(n=void 0),n===xi&&this.isDirectory()&&(n=void 0));let o;return this.mtime!=null&&(o={Seconds:this.mtime.secs,FractionalNanoseconds:this.mtime.nsecs}),G.encode({Type:e,Data:r,filesize:this.isDirectory()?void 0:this.fileSize(),blocksizes:this.blockSizes,hashType:this.hashType,fanout:this.fanout,mode:n,mtime:o})}};var Zr=class{path;constructor(e){this.path=e.replace(/^\//,"").split("/")}isTarget(){return this.path.length===0}async*traverse(e,r){if(e.code!==112)throw new Z("Target CID is not UnixFS");let n=this.path.shift();if(n==null)return;let o=pi(r.bytes);if(o.Data==null)throw new Z("Target CID has no UnixFS data in decoded bytes");if(_t.unmarshal(o.Data).type==="directory"){let s=o.Links.filter(c=>c.Name===n).pop();if(s==null)throw new Z(`Target CID directory has no link with name ${n}`);yield s.Hash;return}throw new Z("Target CID is not a UnixFS directory")}};function pc(t,e={}){return new St(t,e)}return Ai(mc);})();
2
+ "use strict";var HeliaCar=(()=>{var Ca=Object.create;var $t=Object.defineProperty;var Da=Object.getOwnPropertyDescriptor;var La=Object.getOwnPropertyNames;var Pa=Object.getPrototypeOf,Ua=Object.prototype.hasOwnProperty;var ue=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),V=(t,e)=>{for(var r in e)$t(t,r,{get:e[r],enumerable:!0})},_o=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of La(e))!Ua.call(t,o)&&o!==r&&$t(t,o,{get:()=>e[o],enumerable:!(n=Da(e,o))||n.enumerable});return t};var Ee=(t,e,r)=>(r=t!=null?Ca(Pa(t)):{},_o(e||!t||!t.__esModule?$t(r,"default",{value:t,enumerable:!0}):r,t)),Ra=t=>_o($t({},"__esModule",{value:!0}),t);var Hi=ue((jh,Oi)=>{Oi.exports=fn;var $i=128,ou=127,iu=~ou,su=Math.pow(2,31);function fn(t,e,r){if(Number.MAX_SAFE_INTEGER&&t>Number.MAX_SAFE_INTEGER)throw fn.bytes=0,new RangeError("Could not encode varint");e=e||[],r=r||0;for(var n=r;t>=su;)e[r++]=t&255|$i,t/=128;for(;t&iu;)e[r++]=t&255|$i,t>>>=7;return e[r]=t|0,fn.bytes=r-n+1,e}});var Gi=ue((Wh,qi)=>{qi.exports=ln;var au=128,Vi=127;function ln(t,n){var r=0,n=n||0,o=0,i=n,s,a=t.length;do{if(i>=a||o>49)throw ln.bytes=0,new RangeError("Could not decode varint");s=t[i++],r+=o<28?(s&Vi)<<o:(s&Vi)*Math.pow(2,o),o+=7}while(s>=au);return ln.bytes=i-n,r}});var Wi=ue((Jh,ji)=>{var cu=Math.pow(2,7),uu=Math.pow(2,14),fu=Math.pow(2,21),lu=Math.pow(2,28),hu=Math.pow(2,35),du=Math.pow(2,42),pu=Math.pow(2,49),mu=Math.pow(2,56),yu=Math.pow(2,63);ji.exports=function(t){return t<cu?1:t<uu?2:t<fu?3:t<lu?4:t<hu?5:t<du?6:t<pu?7:t<mu?8:t<yu?9:10}});var tr=ue((Xh,Ji)=>{Ji.exports={encode:Hi(),decode:Gi(),encodingLength:Wi()}});var rs=ue((rp,kn)=>{"use strict";var Pu=Object.prototype.hasOwnProperty,O="~";function xt(){}Object.create&&(xt.prototype=Object.create(null),new xt().__proto__||(O=!1));function Uu(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function ts(t,e,r,n,o){if(typeof r!="function")throw new TypeError("The listener must be a function");var i=new Uu(r,n||t,o),s=O?O+e:e;return t._events[s]?t._events[s].fn?t._events[s]=[t._events[s],i]:t._events[s].push(i):(t._events[s]=i,t._eventsCount++),t}function cr(t,e){--t._eventsCount===0?t._events=new xt:delete t._events[e]}function z(){this._events=new xt,this._eventsCount=0}z.prototype.eventNames=function(){var e=[],r,n;if(this._eventsCount===0)return e;for(n in r=this._events)Pu.call(r,n)&&e.push(O?n.slice(1):n);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(r)):e};z.prototype.listeners=function(e){var r=O?O+e:e,n=this._events[r];if(!n)return[];if(n.fn)return[n.fn];for(var o=0,i=n.length,s=new Array(i);o<i;o++)s[o]=n[o].fn;return s};z.prototype.listenerCount=function(e){var r=O?O+e:e,n=this._events[r];return n?n.fn?1:n.length:0};z.prototype.emit=function(e,r,n,o,i,s){var a=O?O+e:e;if(!this._events[a])return!1;var c=this._events[a],h=arguments.length,d,p;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),h){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,r),!0;case 3:return c.fn.call(c.context,r,n),!0;case 4:return c.fn.call(c.context,r,n,o),!0;case 5:return c.fn.call(c.context,r,n,o,i),!0;case 6:return c.fn.call(c.context,r,n,o,i,s),!0}for(p=1,d=new Array(h-1);p<h;p++)d[p-1]=arguments[p];c.fn.apply(c.context,d)}else{var k=c.length,u;for(p=0;p<k;p++)switch(c[p].once&&this.removeListener(e,c[p].fn,void 0,!0),h){case 1:c[p].fn.call(c[p].context);break;case 2:c[p].fn.call(c[p].context,r);break;case 3:c[p].fn.call(c[p].context,r,n);break;case 4:c[p].fn.call(c[p].context,r,n,o);break;default:if(!d)for(u=1,d=new Array(h-1);u<h;u++)d[u-1]=arguments[u];c[p].fn.apply(c[p].context,d)}}return!0};z.prototype.on=function(e,r,n){return ts(this,e,r,n,!1)};z.prototype.once=function(e,r,n){return ts(this,e,r,n,!0)};z.prototype.removeListener=function(e,r,n,o){var i=O?O+e:e;if(!this._events[i])return this;if(!r)return cr(this,i),this;var s=this._events[i];if(s.fn)s.fn===r&&(!o||s.once)&&(!n||s.context===n)&&cr(this,i);else{for(var a=0,c=[],h=s.length;a<h;a++)(s[a].fn!==r||o&&!s[a].once||n&&s[a].context!==n)&&c.push(s[a]);c.length?this._events[i]=c.length===1?c[0]:c:cr(this,i)}return this};z.prototype.removeAllListeners=function(e){var r;return e?(r=O?O+e:e,this._events[r]&&cr(this,r)):(this._events=new xt,this._eventsCount=0),this};z.prototype.off=z.prototype.removeListener;z.prototype.addListener=z.prototype.on;z.prefixed=O;z.EventEmitter=z;typeof kn<"u"&&(kn.exports=z)});var ms=ue((em,ps)=>{ps.exports=function(t){if(!t)throw Error("hashlru must have a max value, of type number, greater than 0");var e=0,r=Object.create(null),n=Object.create(null);function o(i,s){r[i]=s,e++,e>=t&&(e=0,n=r,r=Object.create(null))}return{has:function(i){return r[i]!==void 0||n[i]!==void 0},remove:function(i){r[i]!==void 0&&(r[i]=void 0),n[i]!==void 0&&(n[i]=void 0)},get:function(i){var s=r[i];if(s!==void 0)return s;if((s=n[i])!==void 0)return o(i,s),s},set:function(i,s){r[i]!==void 0?r[i]=s:o(i,s)},clear:function(){r=Object.create(null),n=Object.create(null)}}}});var ua=ue((Rt,Lr)=>{(function(t,e){"use strict";var r={version:"3.0.0",x86:{},x64:{},inputValidation:!0};function n(u){if(!Array.isArray(u)&&!ArrayBuffer.isView(u))return!1;for(var l=0;l<u.length;l++)if(!Number.isInteger(u[l])||u[l]<0||u[l]>255)return!1;return!0}function o(u,l){return(u&65535)*l+(((u>>>16)*l&65535)<<16)}function i(u,l){return u<<l|u>>>32-l}function s(u){return u^=u>>>16,u=o(u,2246822507),u^=u>>>13,u=o(u,3266489909),u^=u>>>16,u}function a(u,l){u=[u[0]>>>16,u[0]&65535,u[1]>>>16,u[1]&65535],l=[l[0]>>>16,l[0]&65535,l[1]>>>16,l[1]&65535];var m=[0,0,0,0];return m[3]+=u[3]+l[3],m[2]+=m[3]>>>16,m[3]&=65535,m[2]+=u[2]+l[2],m[1]+=m[2]>>>16,m[2]&=65535,m[1]+=u[1]+l[1],m[0]+=m[1]>>>16,m[1]&=65535,m[0]+=u[0]+l[0],m[0]&=65535,[m[0]<<16|m[1],m[2]<<16|m[3]]}function c(u,l){u=[u[0]>>>16,u[0]&65535,u[1]>>>16,u[1]&65535],l=[l[0]>>>16,l[0]&65535,l[1]>>>16,l[1]&65535];var m=[0,0,0,0];return m[3]+=u[3]*l[3],m[2]+=m[3]>>>16,m[3]&=65535,m[2]+=u[2]*l[3],m[1]+=m[2]>>>16,m[2]&=65535,m[2]+=u[3]*l[2],m[1]+=m[2]>>>16,m[2]&=65535,m[1]+=u[1]*l[3],m[0]+=m[1]>>>16,m[1]&=65535,m[1]+=u[2]*l[2],m[0]+=m[1]>>>16,m[1]&=65535,m[1]+=u[3]*l[1],m[0]+=m[1]>>>16,m[1]&=65535,m[0]+=u[0]*l[3]+u[1]*l[2]+u[2]*l[1]+u[3]*l[0],m[0]&=65535,[m[0]<<16|m[1],m[2]<<16|m[3]]}function h(u,l){return l%=64,l===32?[u[1],u[0]]:l<32?[u[0]<<l|u[1]>>>32-l,u[1]<<l|u[0]>>>32-l]:(l-=32,[u[1]<<l|u[0]>>>32-l,u[0]<<l|u[1]>>>32-l])}function d(u,l){return l%=64,l===0?u:l<32?[u[0]<<l|u[1]>>>32-l,u[1]<<l]:[u[1]<<l-32,0]}function p(u,l){return[u[0]^l[0],u[1]^l[1]]}function k(u){return u=p(u,[0,u[0]>>>1]),u=c(u,[4283543511,3981806797]),u=p(u,[0,u[0]>>>1]),u=c(u,[3301882366,444984403]),u=p(u,[0,u[0]>>>1]),u}r.x86.hash32=function(u,l){if(r.inputValidation&&!n(u))return e;l=l||0;for(var m=u.length%4,I=u.length-m,g=l,x=0,b=3432918353,v=461845907,A=0;A<I;A=A+4)x=u[A]|u[A+1]<<8|u[A+2]<<16|u[A+3]<<24,x=o(x,b),x=i(x,15),x=o(x,v),g^=x,g=i(g,13),g=o(g,5)+3864292196;switch(x=0,m){case 3:x^=u[A+2]<<16;case 2:x^=u[A+1]<<8;case 1:x^=u[A],x=o(x,b),x=i(x,15),x=o(x,v),g^=x}return g^=u.length,g=s(g),g>>>0},r.x86.hash128=function(u,l){if(r.inputValidation&&!n(u))return e;l=l||0;for(var m=u.length%16,I=u.length-m,g=l,x=l,b=l,v=l,A=0,T=0,E=0,C=0,ce=597399067,Ft=2869860233,zt=951274213,Mt=2716044179,S=0;S<I;S=S+16)A=u[S]|u[S+1]<<8|u[S+2]<<16|u[S+3]<<24,T=u[S+4]|u[S+5]<<8|u[S+6]<<16|u[S+7]<<24,E=u[S+8]|u[S+9]<<8|u[S+10]<<16|u[S+11]<<24,C=u[S+12]|u[S+13]<<8|u[S+14]<<16|u[S+15]<<24,A=o(A,ce),A=i(A,15),A=o(A,Ft),g^=A,g=i(g,19),g+=x,g=o(g,5)+1444728091,T=o(T,Ft),T=i(T,16),T=o(T,zt),x^=T,x=i(x,17),x+=b,x=o(x,5)+197830471,E=o(E,zt),E=i(E,17),E=o(E,Mt),b^=E,b=i(b,15),b+=v,b=o(b,5)+2530024501,C=o(C,Mt),C=i(C,18),C=o(C,ce),v^=C,v=i(v,13),v+=g,v=o(v,5)+850148119;switch(A=0,T=0,E=0,C=0,m){case 15:C^=u[S+14]<<16;case 14:C^=u[S+13]<<8;case 13:C^=u[S+12],C=o(C,Mt),C=i(C,18),C=o(C,ce),v^=C;case 12:E^=u[S+11]<<24;case 11:E^=u[S+10]<<16;case 10:E^=u[S+9]<<8;case 9:E^=u[S+8],E=o(E,zt),E=i(E,17),E=o(E,Mt),b^=E;case 8:T^=u[S+7]<<24;case 7:T^=u[S+6]<<16;case 6:T^=u[S+5]<<8;case 5:T^=u[S+4],T=o(T,Ft),T=i(T,16),T=o(T,zt),x^=T;case 4:A^=u[S+3]<<24;case 3:A^=u[S+2]<<16;case 2:A^=u[S+1]<<8;case 1:A^=u[S],A=o(A,ce),A=i(A,15),A=o(A,Ft),g^=A}return g^=u.length,x^=u.length,b^=u.length,v^=u.length,g+=x,g+=b,g+=v,x+=g,b+=g,v+=g,g=s(g),x=s(x),b=s(b),v=s(v),g+=x,g+=b,g+=v,x+=g,b+=g,v+=g,("00000000"+(g>>>0).toString(16)).slice(-8)+("00000000"+(x>>>0).toString(16)).slice(-8)+("00000000"+(b>>>0).toString(16)).slice(-8)+("00000000"+(v>>>0).toString(16)).slice(-8)},r.x64.hash128=function(u,l){if(r.inputValidation&&!n(u))return e;l=l||0;for(var m=u.length%16,I=u.length-m,g=[0,l],x=[0,l],b=[0,0],v=[0,0],A=[2277735313,289559509],T=[1291169091,658871167],E=0;E<I;E=E+16)b=[u[E+4]|u[E+5]<<8|u[E+6]<<16|u[E+7]<<24,u[E]|u[E+1]<<8|u[E+2]<<16|u[E+3]<<24],v=[u[E+12]|u[E+13]<<8|u[E+14]<<16|u[E+15]<<24,u[E+8]|u[E+9]<<8|u[E+10]<<16|u[E+11]<<24],b=c(b,A),b=h(b,31),b=c(b,T),g=p(g,b),g=h(g,27),g=a(g,x),g=a(c(g,[0,5]),[0,1390208809]),v=c(v,T),v=h(v,33),v=c(v,A),x=p(x,v),x=h(x,31),x=a(x,g),x=a(c(x,[0,5]),[0,944331445]);switch(b=[0,0],v=[0,0],m){case 15:v=p(v,d([0,u[E+14]],48));case 14:v=p(v,d([0,u[E+13]],40));case 13:v=p(v,d([0,u[E+12]],32));case 12:v=p(v,d([0,u[E+11]],24));case 11:v=p(v,d([0,u[E+10]],16));case 10:v=p(v,d([0,u[E+9]],8));case 9:v=p(v,[0,u[E+8]]),v=c(v,T),v=h(v,33),v=c(v,A),x=p(x,v);case 8:b=p(b,d([0,u[E+7]],56));case 7:b=p(b,d([0,u[E+6]],48));case 6:b=p(b,d([0,u[E+5]],40));case 5:b=p(b,d([0,u[E+4]],32));case 4:b=p(b,d([0,u[E+3]],24));case 3:b=p(b,d([0,u[E+2]],16));case 2:b=p(b,d([0,u[E+1]],8));case 1:b=p(b,[0,u[E]]),b=c(b,A),b=h(b,31),b=c(b,T),g=p(g,b)}return g=p(g,[0,u.length]),x=p(x,[0,u.length]),g=a(g,x),x=a(x,g),g=k(g),x=k(x),g=a(g,x),x=a(x,g),("00000000"+(g[0]>>>0).toString(16)).slice(-8)+("00000000"+(g[1]>>>0).toString(16)).slice(-8)+("00000000"+(x[0]>>>0).toString(16)).slice(-8)+("00000000"+(x[1]>>>0).toString(16)).slice(-8)},typeof Rt<"u"?(typeof Lr<"u"&&Lr.exports&&(Rt=Lr.exports=r),Rt.murmurHash3=r):typeof define=="function"&&define.amd?define([],function(){return r}):(r._murmurHash3=t.murmurHash3,r.noConflict=function(){return t.murmurHash3=r._murmurHash3,r._murmurHash3=e,r.noConflict=e,r},t.murmurHash3=r)})(Rt)});var la=ue((Pg,fa)=>{fa.exports=ua()});var ma=ue((Og,pa)=>{"use strict";pa.exports=class{constructor(){this._bitArrays=[],this._data=[],this._length=0,this._changedLength=!1,this._changedData=!1}set(e,r){let n=this._internalPositionFor(e,!1);if(r===void 0)n!==-1&&(this._unsetInternalPos(n),this._unsetBit(e),this._changedLength=!0,this._changedData=!0);else{let o=!1;n===-1?(n=this._data.length,this._setBit(e),this._changedData=!0):o=!0,this._setInternalPos(n,e,r,o),this._changedLength=!0}}unset(e){this.set(e,void 0)}get(e){this._sortData();let r=this._internalPositionFor(e,!0);if(r!==-1)return this._data[r][1]}push(e){return this.set(this.length,e),this.length}get length(){if(this._sortData(),this._changedLength){let e=this._data[this._data.length-1];this._length=e?e[0]+1:0,this._changedLength=!1}return this._length}forEach(e){let r=0;for(;r<this.length;)e(this.get(r),r,this),r++}map(e){let r=0,n=new Array(this.length);for(;r<this.length;)n[r]=e(this.get(r),r,this),r++;return n}reduce(e,r){let n=0,o=r;for(;n<this.length;){let i=this.get(n);o=e(o,i,n),n++}return o}find(e){let r=0,n,o;for(;r<this.length&&!n;)o=this.get(r),n=e(o),r++;return n?o:void 0}_internalPositionFor(e,r){let n=this._bytePosFor(e,r);if(n>=this._bitArrays.length)return-1;let o=this._bitArrays[n],i=e-n*7;if(!((o&1<<i)>0))return-1;let a=this._bitArrays.slice(0,n).reduce(il,0),c=~(4294967295<<i+1),h=da(o&c);return a+h-1}_bytePosFor(e,r){let n=Math.floor(e/7),o=n+1;for(;!r&&this._bitArrays.length<o;)this._bitArrays.push(0);return n}_setBit(e){let r=this._bytePosFor(e,!1);this._bitArrays[r]|=1<<e-r*7}_unsetBit(e){let r=this._bytePosFor(e,!1);this._bitArrays[r]&=~(1<<e-r*7)}_setInternalPos(e,r,n,o){let i=this._data,s=[r,n];if(o)this._sortData(),i[e]=s;else{if(i.length)if(i[i.length-1][0]>=r)i.push(s);else if(i[0][0]<=r)i.unshift(s);else{let a=Math.round(i.length/2);this._data=i.slice(0,a).concat(s).concat(i.slice(a))}else this._data.push(s);this._changedData=!0,this._changedLength=!0}}_unsetInternalPos(e){this._data.splice(e,1)}_sortData(){this._changedData&&this._data.sort(sl),this._changedData=!1}bitField(){let e=[],r=8,n=0,o=0,i,s=this._bitArrays.slice();for(;s.length||n;){n===0&&(i=s.shift(),n=7);let c=Math.min(n,r),h=~(255<<c),d=i&h;o|=d<<8-r,i=i>>>c,n-=c,r-=c,(!r||!n&&!s.length)&&(e.push(o),o=0,r=8)}for(var a=e.length-1;a>0&&e[a]===0;a--)e.pop();return e}compactArray(){return this._sortData(),this._data.map(al)}};function il(t,e){return t+da(e)}function da(t){let e=t;return e=e-(e>>1&1431655765),e=(e&858993459)+(e>>2&858993459),(e+(e>>4)&252645135)*16843009>>24}function sl(t,e){return t[0]-e[0]}function al(t){return t[1]}});var Sl={};V(Sl,{BlockExporter:()=>xo,CIDPath:()=>Eo,GraphSearch:()=>bo,SubgraphExporter:()=>Lt,UnixFSExporter:()=>Pt,UnixFSPath:()=>ko,car:()=>Tl});var Fa=["string","number","bigint","symbol"],za=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","HTMLElement","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];function Ao(t){if(t===null)return"null";if(t===void 0)return"undefined";if(t===!0||t===!1)return"boolean";let e=typeof t;if(Fa.includes(e))return e;if(e==="function")return"Function";if(Array.isArray(t))return"Array";if(Ma(t))return"Buffer";let r=$a(t);return r||"Object"}function Ma(t){return t&&t.constructor&&t.constructor.isBuffer&&t.constructor.isBuffer.call(null,t)}function $a(t){let e=Object.prototype.toString.call(t).slice(8,-1);if(za.includes(e))return e}var f=class{constructor(e,r,n){this.major=e,this.majorEncoded=e<<5,this.name=r,this.terminal=n}toString(){return`Type[${this.major}].${this.name}`}compare(e){return this.major<e.major?-1:this.major>e.major?1:0}};f.uint=new f(0,"uint",!0);f.negint=new f(1,"negint",!0);f.bytes=new f(2,"bytes",!0);f.string=new f(3,"string",!0);f.array=new f(4,"array",!1);f.map=new f(5,"map",!1);f.tag=new f(6,"tag",!1);f.float=new f(7,"float",!0);f.false=new f(7,"false",!0);f.true=new f(7,"true",!0);f.null=new f(7,"null",!0);f.undefined=new f(7,"undefined",!0);f.break=new f(7,"break",!0);var y=class{constructor(e,r,n){this.type=e,this.value=r,this.encodedLength=n,this.encodedBytes=void 0,this.byteValue=void 0}toString(){return`Token[${this.type}].${this.value}`}};var Ce=globalThis.process&&!globalThis.process.browser&&globalThis.Buffer&&typeof globalThis.Buffer.isBuffer=="function",Oa=new TextDecoder,Ha=new TextEncoder;function Ot(t){return Ce&&globalThis.Buffer.isBuffer(t)}function rt(t){return t instanceof Uint8Array?Ot(t)?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t:Uint8Array.from(t)}var Bo=Ce?(t,e,r)=>r-e>64?globalThis.Buffer.from(t.subarray(e,r)).toString("utf8"):To(t,e,r):(t,e,r)=>r-e>64?Oa.decode(t.subarray(e,r)):To(t,e,r),Ht=Ce?t=>t.length>64?globalThis.Buffer.from(t):Io(t):t=>t.length>64?Ha.encode(t):Io(t),ne=t=>Uint8Array.from(t),De=Ce?(t,e,r)=>Ot(t)?new Uint8Array(t.subarray(e,r)):t.slice(e,r):(t,e,r)=>t.slice(e,r),No=Ce?(t,e)=>(t=t.map(r=>r instanceof Uint8Array?r:globalThis.Buffer.from(r)),rt(globalThis.Buffer.concat(t,e))):(t,e)=>{let r=new Uint8Array(e),n=0;for(let o of t)n+o.length>r.length&&(o=o.subarray(0,r.length-n)),r.set(o,n),n+=o.length;return r},Co=Ce?t=>globalThis.Buffer.allocUnsafe(t):t=>new Uint8Array(t);function Do(t,e){if(Ot(t)&&Ot(e))return t.compare(e);for(let r=0;r<t.length;r++)if(t[r]!==e[r])return t[r]<e[r]?-1:1;return 0}function Io(t){let e=[],r=0;for(let n=0;n<t.length;n++){let o=t.charCodeAt(n);o<128?e[r++]=o:o<2048?(e[r++]=o>>6|192,e[r++]=o&63|128):(o&64512)===55296&&n+1<t.length&&(t.charCodeAt(n+1)&64512)===56320?(o=65536+((o&1023)<<10)+(t.charCodeAt(++n)&1023),e[r++]=o>>18|240,e[r++]=o>>12&63|128,e[r++]=o>>6&63|128,e[r++]=o&63|128):(e[r++]=o>>12|224,e[r++]=o>>6&63|128,e[r++]=o&63|128)}return e}function To(t,e,r){let n=[];for(;e<r;){let o=t[e],i=null,s=o>239?4:o>223?3:o>191?2:1;if(e+s<=r){let a,c,h,d;switch(s){case 1:o<128&&(i=o);break;case 2:a=t[e+1],(a&192)===128&&(d=(o&31)<<6|a&63,d>127&&(i=d));break;case 3:a=t[e+1],c=t[e+2],(a&192)===128&&(c&192)===128&&(d=(o&15)<<12|(a&63)<<6|c&63,d>2047&&(d<55296||d>57343)&&(i=d));break;case 4:a=t[e+1],c=t[e+2],h=t[e+3],(a&192)===128&&(c&192)===128&&(h&192)===128&&(d=(o&15)<<18|(a&63)<<12|(c&63)<<6|h&63,d>65535&&d<1114112&&(i=d))}}i===null?(i=65533,s=1):i>65535&&(i-=65536,n.push(i>>>10&1023|55296),i=56320|i&1023),n.push(i),e+=s}return zr(n)}var So=4096;function zr(t){let e=t.length;if(e<=So)return String.fromCharCode.apply(String,t);let r="",n=0;for(;n<e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=So));return r}var Va=256,nt=class{constructor(e=Va){this.chunkSize=e,this.cursor=0,this.maxCursor=-1,this.chunks=[],this._initReuseChunk=null}reset(){this.cursor=0,this.maxCursor=-1,this.chunks.length&&(this.chunks=[]),this._initReuseChunk!==null&&(this.chunks.push(this._initReuseChunk),this.maxCursor=this._initReuseChunk.length-1)}push(e){let r=this.chunks[this.chunks.length-1];if(this.cursor+e.length<=this.maxCursor+1){let o=r.length-(this.maxCursor-this.cursor)-1;r.set(e,o)}else{if(r){let o=r.length-(this.maxCursor-this.cursor)-1;o<r.length&&(this.chunks[this.chunks.length-1]=r.subarray(0,o),this.maxCursor=this.cursor-1)}e.length<64&&e.length<this.chunkSize?(r=Co(this.chunkSize),this.chunks.push(r),this.maxCursor+=r.length,this._initReuseChunk===null&&(this._initReuseChunk=r),r.set(e,0)):(this.chunks.push(e),this.maxCursor+=e.length)}this.cursor+=e.length}toBytes(e=!1){let r;if(this.chunks.length===1){let n=this.chunks[0];e&&this.cursor>n.length/2?(r=this.cursor===n.length?n:n.subarray(0,this.cursor),this._initReuseChunk=null,this.chunks=[]):r=De(n,0,this.cursor)}else r=No(this.chunks,this.cursor);return e&&this.reset(),r}};var _="CBOR decode error:",Le="CBOR encode error:",ot=[];ot[23]=1;ot[24]=2;ot[25]=3;ot[26]=5;ot[27]=9;function fe(t,e,r){if(t.length-e<r)throw new Error(`${_} not enough data for type`)}var U=[24,256,65536,4294967296,BigInt("18446744073709551616")];function q(t,e,r){fe(t,e,1);let n=t[e];if(r.strict===!0&&n<U[0])throw new Error(`${_} integer encoded in more bytes than necessary (strict decode)`);return n}function G(t,e,r){fe(t,e,2);let n=t[e]<<8|t[e+1];if(r.strict===!0&&n<U[1])throw new Error(`${_} integer encoded in more bytes than necessary (strict decode)`);return n}function j(t,e,r){fe(t,e,4);let n=t[e]*16777216+(t[e+1]<<16)+(t[e+2]<<8)+t[e+3];if(r.strict===!0&&n<U[2])throw new Error(`${_} integer encoded in more bytes than necessary (strict decode)`);return n}function W(t,e,r){fe(t,e,8);let n=t[e]*16777216+(t[e+1]<<16)+(t[e+2]<<8)+t[e+3],o=t[e+4]*16777216+(t[e+5]<<16)+(t[e+6]<<8)+t[e+7],i=(BigInt(n)<<BigInt(32))+BigInt(o);if(r.strict===!0&&i<U[3])throw new Error(`${_} integer encoded in more bytes than necessary (strict decode)`);if(i<=Number.MAX_SAFE_INTEGER)return Number(i);if(r.allowBigInt===!0)return i;throw new Error(`${_} integers outside of the safe integer range are not supported`)}function Lo(t,e,r,n){return new y(f.uint,q(t,e+1,n),2)}function Po(t,e,r,n){return new y(f.uint,G(t,e+1,n),3)}function Uo(t,e,r,n){return new y(f.uint,j(t,e+1,n),5)}function Ro(t,e,r,n){return new y(f.uint,W(t,e+1,n),9)}function X(t,e){return F(t,0,e.value)}function F(t,e,r){if(r<U[0]){let n=Number(r);t.push([e|n])}else if(r<U[1]){let n=Number(r);t.push([e|24,n])}else if(r<U[2]){let n=Number(r);t.push([e|25,n>>>8,n&255])}else if(r<U[3]){let n=Number(r);t.push([e|26,n>>>24&255,n>>>16&255,n>>>8&255,n&255])}else{let n=BigInt(r);if(n<U[4]){let o=[e|27,0,0,0,0,0,0,0],i=Number(n&BigInt(4294967295)),s=Number(n>>BigInt(32)&BigInt(4294967295));o[8]=i&255,i=i>>8,o[7]=i&255,i=i>>8,o[6]=i&255,i=i>>8,o[5]=i&255,o[4]=s&255,s=s>>8,o[3]=s&255,s=s>>8,o[2]=s&255,s=s>>8,o[1]=s&255,t.push(o)}else throw new Error(`${_} encountered BigInt larger than allowable range`)}}X.encodedSize=function(e){return F.encodedSize(e.value)};F.encodedSize=function(e){return e<U[0]?1:e<U[1]?2:e<U[2]?3:e<U[3]?5:9};X.compareTokens=function(e,r){return e.value<r.value?-1:e.value>r.value?1:0};function Fo(t,e,r,n){return new y(f.negint,-1-q(t,e+1,n),2)}function zo(t,e,r,n){return new y(f.negint,-1-G(t,e+1,n),3)}function Mo(t,e,r,n){return new y(f.negint,-1-j(t,e+1,n),5)}var Mr=BigInt(-1),$o=BigInt(1);function Oo(t,e,r,n){let o=W(t,e+1,n);if(typeof o!="bigint"){let i=-1-o;if(i>=Number.MIN_SAFE_INTEGER)return new y(f.negint,i,9)}if(n.allowBigInt!==!0)throw new Error(`${_} integers outside of the safe integer range are not supported`);return new y(f.negint,Mr-BigInt(o),9)}function Vt(t,e){let r=e.value,n=typeof r=="bigint"?r*Mr-$o:r*-1-1;F(t,e.type.majorEncoded,n)}Vt.encodedSize=function(e){let r=e.value,n=typeof r=="bigint"?r*Mr-$o:r*-1-1;return n<U[0]?1:n<U[1]?2:n<U[2]?3:n<U[3]?5:9};Vt.compareTokens=function(e,r){return e.value<r.value?1:e.value>r.value?-1:0};function it(t,e,r,n){fe(t,e,r+n);let o=De(t,e+r,e+r+n);return new y(f.bytes,o,r+n)}function Ho(t,e,r,n){return it(t,e,1,r)}function Vo(t,e,r,n){return it(t,e,2,q(t,e+1,n))}function qo(t,e,r,n){return it(t,e,3,G(t,e+1,n))}function Go(t,e,r,n){return it(t,e,5,j(t,e+1,n))}function jo(t,e,r,n){let o=W(t,e+1,n);if(typeof o=="bigint")throw new Error(`${_} 64-bit integer bytes lengths not supported`);return it(t,e,9,o)}function qt(t){return t.encodedBytes===void 0&&(t.encodedBytes=t.type===f.string?Ht(t.value):t.value),t.encodedBytes}function Pe(t,e){let r=qt(e);F(t,e.type.majorEncoded,r.length),t.push(r)}Pe.encodedSize=function(e){let r=qt(e);return F.encodedSize(r.length)+r.length};Pe.compareTokens=function(e,r){return Ga(qt(e),qt(r))};function Ga(t,e){return t.length<e.length?-1:t.length>e.length?1:Do(t,e)}function st(t,e,r,n,o){let i=r+n;fe(t,e,i);let s=new y(f.string,Bo(t,e+r,e+i),i);return o.retainStringBytes===!0&&(s.byteValue=De(t,e+r,e+i)),s}function Wo(t,e,r,n){return st(t,e,1,r,n)}function Jo(t,e,r,n){return st(t,e,2,q(t,e+1,n),n)}function Xo(t,e,r,n){return st(t,e,3,G(t,e+1,n),n)}function Qo(t,e,r,n){return st(t,e,5,j(t,e+1,n),n)}function Ko(t,e,r,n){let o=W(t,e+1,n);if(typeof o=="bigint")throw new Error(`${_} 64-bit integer string lengths not supported`);return st(t,e,9,o,n)}var Yo=Pe;function Ue(t,e,r,n){return new y(f.array,n,r)}function Zo(t,e,r,n){return Ue(t,e,1,r)}function ei(t,e,r,n){return Ue(t,e,2,q(t,e+1,n))}function ti(t,e,r,n){return Ue(t,e,3,G(t,e+1,n))}function ri(t,e,r,n){return Ue(t,e,5,j(t,e+1,n))}function ni(t,e,r,n){let o=W(t,e+1,n);if(typeof o=="bigint")throw new Error(`${_} 64-bit integer array lengths not supported`);return Ue(t,e,9,o)}function oi(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${_} indefinite length items not allowed`);return Ue(t,e,1,1/0)}function Gt(t,e){F(t,f.array.majorEncoded,e.value)}Gt.compareTokens=X.compareTokens;Gt.encodedSize=function(e){return F.encodedSize(e.value)};function Re(t,e,r,n){return new y(f.map,n,r)}function ii(t,e,r,n){return Re(t,e,1,r)}function si(t,e,r,n){return Re(t,e,2,q(t,e+1,n))}function ai(t,e,r,n){return Re(t,e,3,G(t,e+1,n))}function ci(t,e,r,n){return Re(t,e,5,j(t,e+1,n))}function ui(t,e,r,n){let o=W(t,e+1,n);if(typeof o=="bigint")throw new Error(`${_} 64-bit integer map lengths not supported`);return Re(t,e,9,o)}function fi(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${_} indefinite length items not allowed`);return Re(t,e,1,1/0)}function jt(t,e){F(t,f.map.majorEncoded,e.value)}jt.compareTokens=X.compareTokens;jt.encodedSize=function(e){return F.encodedSize(e.value)};function li(t,e,r,n){return new y(f.tag,r,1)}function hi(t,e,r,n){return new y(f.tag,q(t,e+1,n),2)}function di(t,e,r,n){return new y(f.tag,G(t,e+1,n),3)}function pi(t,e,r,n){return new y(f.tag,j(t,e+1,n),5)}function mi(t,e,r,n){return new y(f.tag,W(t,e+1,n),9)}function Wt(t,e){F(t,f.tag.majorEncoded,e.value)}Wt.compareTokens=X.compareTokens;Wt.encodedSize=function(e){return F.encodedSize(e.value)};var Ka=20,Ya=21,Za=22,ec=23;function yi(t,e,r,n){if(n.allowUndefined===!1)throw new Error(`${_} undefined values are not supported`);return n.coerceUndefinedToNull===!0?new y(f.null,null,1):new y(f.undefined,void 0,1)}function gi(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${_} indefinite length items not allowed`);return new y(f.break,void 0,1)}function $r(t,e,r){if(r){if(r.allowNaN===!1&&Number.isNaN(t))throw new Error(`${_} NaN values are not supported`);if(r.allowInfinity===!1&&(t===1/0||t===-1/0))throw new Error(`${_} Infinity values are not supported`)}return new y(f.float,t,e)}function wi(t,e,r,n){return $r(Or(t,e+1),3,n)}function xi(t,e,r,n){return $r(Hr(t,e+1),5,n)}function bi(t,e,r,n){return $r(_i(t,e+1),9,n)}function Jt(t,e,r){let n=e.value;if(n===!1)t.push([f.float.majorEncoded|Ka]);else if(n===!0)t.push([f.float.majorEncoded|Ya]);else if(n===null)t.push([f.float.majorEncoded|Za]);else if(n===void 0)t.push([f.float.majorEncoded|ec]);else{let o,i=!1;(!r||r.float64!==!0)&&(vi(n),o=Or(K,1),n===o||Number.isNaN(n)?(K[0]=249,t.push(K.slice(0,3)),i=!0):(ki(n),o=Hr(K,1),n===o&&(K[0]=250,t.push(K.slice(0,5)),i=!0))),i||(tc(n),o=_i(K,1),K[0]=251,t.push(K.slice(0,9)))}}Jt.encodedSize=function(e,r){let n=e.value;if(n===!1||n===!0||n===null||n===void 0)return 1;if(!r||r.float64!==!0){vi(n);let o=Or(K,1);if(n===o||Number.isNaN(n))return 3;if(ki(n),o=Hr(K,1),n===o)return 5}return 9};var Ei=new ArrayBuffer(9),Q=new DataView(Ei,1),K=new Uint8Array(Ei,0);function vi(t){if(t===1/0)Q.setUint16(0,31744,!1);else if(t===-1/0)Q.setUint16(0,64512,!1);else if(Number.isNaN(t))Q.setUint16(0,32256,!1);else{Q.setFloat32(0,t);let e=Q.getUint32(0),r=(e&2139095040)>>23,n=e&8388607;if(r===255)Q.setUint16(0,31744,!1);else if(r===0)Q.setUint16(0,(t&2147483648)>>16|n>>13,!1);else{let o=r-127;o<-24?Q.setUint16(0,0):o<-14?Q.setUint16(0,(e&2147483648)>>16|1<<24+o,!1):Q.setUint16(0,(e&2147483648)>>16|o+15<<10|n>>13,!1)}}}function Or(t,e){if(t.length-e<2)throw new Error(`${_} not enough data for float16`);let r=(t[e]<<8)+t[e+1];if(r===31744)return 1/0;if(r===64512)return-1/0;if(r===32256)return NaN;let n=r>>10&31,o=r&1023,i;return n===0?i=o*2**-24:n!==31?i=(o+1024)*2**(n-25):i=o===0?1/0:NaN,r&32768?-i:i}function ki(t){Q.setFloat32(0,t,!1)}function Hr(t,e){if(t.length-e<4)throw new Error(`${_} not enough data for float32`);let r=(t.byteOffset||0)+e;return new DataView(t.buffer,r,4).getFloat32(0,!1)}function tc(t){Q.setFloat64(0,t,!1)}function _i(t,e){if(t.length-e<8)throw new Error(`${_} not enough data for float64`);let r=(t.byteOffset||0)+e;return new DataView(t.buffer,r,8).getFloat64(0,!1)}Jt.compareTokens=X.compareTokens;function B(t,e,r){throw new Error(`${_} encountered invalid minor (${r}) for major ${t[e]>>>5}`)}function Xt(t){return()=>{throw new Error(`${_} ${t}`)}}var w=[];for(let t=0;t<=23;t++)w[t]=B;w[24]=Lo;w[25]=Po;w[26]=Uo;w[27]=Ro;w[28]=B;w[29]=B;w[30]=B;w[31]=B;for(let t=32;t<=55;t++)w[t]=B;w[56]=Fo;w[57]=zo;w[58]=Mo;w[59]=Oo;w[60]=B;w[61]=B;w[62]=B;w[63]=B;for(let t=64;t<=87;t++)w[t]=Ho;w[88]=Vo;w[89]=qo;w[90]=Go;w[91]=jo;w[92]=B;w[93]=B;w[94]=B;w[95]=Xt("indefinite length bytes/strings are not supported");for(let t=96;t<=119;t++)w[t]=Wo;w[120]=Jo;w[121]=Xo;w[122]=Qo;w[123]=Ko;w[124]=B;w[125]=B;w[126]=B;w[127]=Xt("indefinite length bytes/strings are not supported");for(let t=128;t<=151;t++)w[t]=Zo;w[152]=ei;w[153]=ti;w[154]=ri;w[155]=ni;w[156]=B;w[157]=B;w[158]=B;w[159]=oi;for(let t=160;t<=183;t++)w[t]=ii;w[184]=si;w[185]=ai;w[186]=ci;w[187]=ui;w[188]=B;w[189]=B;w[190]=B;w[191]=fi;for(let t=192;t<=215;t++)w[t]=li;w[216]=hi;w[217]=di;w[218]=pi;w[219]=mi;w[220]=B;w[221]=B;w[222]=B;w[223]=B;for(let t=224;t<=243;t++)w[t]=Xt("simple values are not supported");w[244]=B;w[245]=B;w[246]=B;w[247]=yi;w[248]=Xt("simple values are not supported");w[249]=wi;w[250]=xi;w[251]=bi;w[252]=B;w[253]=B;w[254]=B;w[255]=gi;var Y=[];for(let t=0;t<24;t++)Y[t]=new y(f.uint,t,1);for(let t=-1;t>=-24;t--)Y[31-t]=new y(f.negint,t,1);Y[64]=new y(f.bytes,new Uint8Array(0),1);Y[96]=new y(f.string,"",1);Y[128]=new y(f.array,0,1);Y[160]=new y(f.map,0,1);Y[244]=new y(f.false,!1,1);Y[245]=new y(f.true,!0,1);Y[246]=new y(f.null,null,1);function Vr(t){switch(t.type){case f.false:return ne([244]);case f.true:return ne([245]);case f.null:return ne([246]);case f.bytes:return t.value.length?void 0:ne([64]);case f.string:return t.value===""?ne([96]):void 0;case f.array:return t.value===0?ne([128]):void 0;case f.map:return t.value===0?ne([160]):void 0;case f.uint:return t.value<24?ne([Number(t.value)]):void 0;case f.negint:if(t.value>=-24)return ne([31-Number(t.value)])}}var nc={float64:!1,mapSorter:ic,quickEncodeToken:Vr};function Gr(){let t=[];return t[f.uint.major]=X,t[f.negint.major]=Vt,t[f.bytes.major]=Pe,t[f.string.major]=Yo,t[f.array.major]=Gt,t[f.map.major]=jt,t[f.tag.major]=Wt,t[f.float.major]=Jt,t}var Ai=Gr(),qr=new nt,Qt=class t{constructor(e,r){this.obj=e,this.parent=r}includes(e){let r=this;do if(r.obj===e)return!0;while(r=r.parent);return!1}static createCheck(e,r){if(e&&e.includes(r))throw new Error(`${Le} object contains circular references`);return new t(r,e)}},he={null:new y(f.null,null),undefined:new y(f.undefined,void 0),true:new y(f.true,!0),false:new y(f.false,!1),emptyArray:new y(f.array,0),emptyMap:new y(f.map,0)},de={number(t,e,r,n){return!Number.isInteger(t)||!Number.isSafeInteger(t)?new y(f.float,t):t>=0?new y(f.uint,t):new y(f.negint,t)},bigint(t,e,r,n){return t>=BigInt(0)?new y(f.uint,t):new y(f.negint,t)},Uint8Array(t,e,r,n){return new y(f.bytes,t)},string(t,e,r,n){return new y(f.string,t)},boolean(t,e,r,n){return t?he.true:he.false},null(t,e,r,n){return he.null},undefined(t,e,r,n){return he.undefined},ArrayBuffer(t,e,r,n){return new y(f.bytes,new Uint8Array(t))},DataView(t,e,r,n){return new y(f.bytes,new Uint8Array(t.buffer,t.byteOffset,t.byteLength))},Array(t,e,r,n){if(!t.length)return r.addBreakTokens===!0?[he.emptyArray,new y(f.break)]:he.emptyArray;n=Qt.createCheck(n,t);let o=[],i=0;for(let s of t)o[i++]=at(s,r,n);return r.addBreakTokens?[new y(f.array,t.length),o,new y(f.break)]:[new y(f.array,t.length),o]},Object(t,e,r,n){let o=e!=="Object",i=o?t.keys():Object.keys(t),s=o?t.size:i.length;if(!s)return r.addBreakTokens===!0?[he.emptyMap,new y(f.break)]:he.emptyMap;n=Qt.createCheck(n,t);let a=[],c=0;for(let h of i)a[c++]=[at(h,r,n),at(o?t.get(h):t[h],r,n)];return oc(a,r),r.addBreakTokens?[new y(f.map,s),a,new y(f.break)]:[new y(f.map,s),a]}};de.Map=de.Object;de.Buffer=de.Uint8Array;for(let t of"Uint8Clamped Uint16 Uint32 Int8 Int16 Int32 BigUint64 BigInt64 Float32 Float64".split(" "))de[`${t}Array`]=de.DataView;function at(t,e={},r){let n=Ao(t),o=e&&e.typeEncoders&&e.typeEncoders[n]||de[n];if(typeof o=="function"){let s=o(t,n,e,r);if(s!=null)return s}let i=de[n];if(!i)throw new Error(`${Le} unsupported type: ${n}`);return i(t,n,e,r)}function oc(t,e){e.mapSorter&&t.sort(e.mapSorter)}function ic(t,e){let r=Array.isArray(t[0])?t[0][0]:t[0],n=Array.isArray(e[0])?e[0][0]:e[0];if(r.type!==n.type)return r.type.compare(n.type);let o=r.type.major,i=Ai[o].compareTokens(r,n);return i===0&&console.warn("WARNING: complex key types used, CBOR key sorting guarantees are gone"),i}function Ii(t,e,r,n){if(Array.isArray(e))for(let o of e)Ii(t,o,r,n);else r[e.type.major](t,e,n)}function Ti(t,e,r){let n=at(t,r);if(!Array.isArray(n)&&r.quickEncodeToken){let o=r.quickEncodeToken(n);if(o)return o;let i=e[n.type.major];if(i.encodedSize){let s=i.encodedSize(n,r),a=new nt(s);if(i(a,n,r),a.chunks.length!==1)throw new Error(`Unexpected error: pre-calculated length for ${n} was wrong`);return rt(a.chunks[0])}}return qr.reset(),Ii(qr,n,e,r),qr.toBytes(!0)}function jr(t,e){return e=Object.assign({},nc,e),Ti(t,Ai,e)}var sc={strict:!1,allowIndefinite:!0,allowUndefined:!0,allowBigInt:!0},Kt=class{constructor(e,r={}){this._pos=0,this.data=e,this.options=r}pos(){return this._pos}done(){return this._pos>=this.data.length}next(){let e=this.data[this._pos],r=Y[e];if(r===void 0){let n=w[e];if(!n)throw new Error(`${_} no decoder for major type ${e>>>5} (byte 0x${e.toString(16).padStart(2,"0")})`);let o=e&31;r=n(this.data,this._pos,o,this.options)}return this._pos+=r.encodedLength,r}},ct=Symbol.for("DONE"),Yt=Symbol.for("BREAK");function ac(t,e,r){let n=[];for(let o=0;o<t.value;o++){let i=Fe(e,r);if(i===Yt){if(t.value===1/0)break;throw new Error(`${_} got unexpected break to lengthed array`)}if(i===ct)throw new Error(`${_} found array but not enough entries (got ${o}, expected ${t.value})`);n[o]=i}return n}function cc(t,e,r){let n=r.useMaps===!0,o=n?void 0:{},i=n?new Map:void 0;for(let s=0;s<t.value;s++){let a=Fe(e,r);if(a===Yt){if(t.value===1/0)break;throw new Error(`${_} got unexpected break to lengthed map`)}if(a===ct)throw new Error(`${_} found map but not enough entries (got ${s} [no key], expected ${t.value})`);if(n!==!0&&typeof a!="string")throw new Error(`${_} non-string keys not supported (got ${typeof a})`);if(r.rejectDuplicateMapKeys===!0&&(n&&i.has(a)||!n&&a in o))throw new Error(`${_} found repeat map key "${a}"`);let c=Fe(e,r);if(c===ct)throw new Error(`${_} found map but not enough entries (got ${s} [no value], expected ${t.value})`);n?i.set(a,c):o[a]=c}return n?i:o}function Fe(t,e){if(t.done())return ct;let r=t.next();if(r.type===f.break)return Yt;if(r.type.terminal)return r.value;if(r.type===f.array)return ac(r,t,e);if(r.type===f.map)return cc(r,t,e);if(r.type===f.tag){if(e.tags&&typeof e.tags[r.value]=="function"){let n=Fe(t,e);return e.tags[r.value](n)}throw new Error(`${_} tag not supported (${r.value})`)}throw new Error("unsupported")}function Wr(t,e){if(!(t instanceof Uint8Array))throw new Error(`${_} data to decode must be a Uint8Array`);e=Object.assign({},sc,e);let r=e.tokenizer||new Kt(t,e),n=Fe(r,e);if(n===ct)throw new Error(`${_} did not find any content to decode`);if(n===Yt)throw new Error(`${_} got unexpected break`);return[n,t.subarray(r.pos())]}function ut(t,e){let[r,n]=Wr(t,e);if(n.length>0)throw new Error(`${_} too many terminals, data makes no sense`);return r}var tn={};V(tn,{base32:()=>Me,base32hex:()=>vc,base32hexpad:()=>_c,base32hexpadupper:()=>Ac,base32hexupper:()=>kc,base32pad:()=>bc,base32padupper:()=>Ec,base32upper:()=>xc,base32z:()=>Ic});var ke={};V(ke,{coerce:()=>oe,empty:()=>Si,equals:()=>Jr,fromHex:()=>lc,fromString:()=>Xr,isBinary:()=>hc,toHex:()=>fc,toString:()=>Qr});var Si=new Uint8Array(0);function fc(t){return t.reduce((e,r)=>e+r.toString(16).padStart(2,"0"),"")}function lc(t){let e=t.match(/../g);return e!=null?new Uint8Array(e.map(r=>parseInt(r,16))):Si}function Jr(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}function oe(t){if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")}function hc(t){return t instanceof ArrayBuffer||ArrayBuffer.isView(t)}function Xr(t){return new TextEncoder().encode(t)}function Qr(t){return new TextDecoder().decode(t)}function dc(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var o=0;o<t.length;o++){var i=t.charAt(o),s=i.charCodeAt(0);if(r[s]!==255)throw new TypeError(i+" is ambiguous");r[s]=o}var a=t.length,c=t.charAt(0),h=Math.log(a)/Math.log(256),d=Math.log(256)/Math.log(a);function p(l){if(l instanceof Uint8Array||(ArrayBuffer.isView(l)?l=new Uint8Array(l.buffer,l.byteOffset,l.byteLength):Array.isArray(l)&&(l=Uint8Array.from(l))),!(l instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(l.length===0)return"";for(var m=0,I=0,g=0,x=l.length;g!==x&&l[g]===0;)g++,m++;for(var b=(x-g)*d+1>>>0,v=new Uint8Array(b);g!==x;){for(var A=l[g],T=0,E=b-1;(A!==0||T<I)&&E!==-1;E--,T++)A+=256*v[E]>>>0,v[E]=A%a>>>0,A=A/a>>>0;if(A!==0)throw new Error("Non-zero carry");I=T,g++}for(var C=b-I;C!==b&&v[C]===0;)C++;for(var ce=c.repeat(m);C<b;++C)ce+=t.charAt(v[C]);return ce}function k(l){if(typeof l!="string")throw new TypeError("Expected String");if(l.length===0)return new Uint8Array;var m=0;if(l[m]!==" "){for(var I=0,g=0;l[m]===c;)I++,m++;for(var x=(l.length-m)*h+1>>>0,b=new Uint8Array(x);l[m];){var v=r[l.charCodeAt(m)];if(v===255)return;for(var A=0,T=x-1;(v!==0||A<g)&&T!==-1;T--,A++)v+=a*b[T]>>>0,b[T]=v%256>>>0,v=v/256>>>0;if(v!==0)throw new Error("Non-zero carry");g=A,m++}if(l[m]!==" "){for(var E=x-g;E!==x&&b[E]===0;)E++;for(var C=new Uint8Array(I+(x-E)),ce=I;E!==x;)C[ce++]=b[E++];return C}}}function u(l){var m=k(l);if(m)return m;throw new Error(`Non-${e} character`)}return{encode:p,decodeUnsafe:k,decode:u}}var pc=dc,mc=pc,Bi=mc;var Kr=class{name;prefix;baseEncode;constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},Yr=class{name;prefix;baseDecode;prefixCodePoint;constructor(e,r,n){this.name=e,this.prefix=r;let o=r.codePointAt(0);if(o===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=o,this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return Ni(this,e)}},Zr=class{decoders;constructor(e){this.decoders=e}or(e){return Ni(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n!=null)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function Ni(t,e){return new Zr({...t.decoders??{[t.prefix]:t},...e.decoders??{[e.prefix]:e}})}var en=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(e,r,n,o){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=o,this.encoder=new Kr(e,r,n),this.decoder=new Yr(e,r,o)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};function ze({name:t,prefix:e,encode:r,decode:n}){return new en(t,e,r,n)}function pe({name:t,prefix:e,alphabet:r}){let{encode:n,decode:o}=Bi(r,t);return ze({prefix:e,name:t,encode:n,decode:i=>oe(o(i))})}function yc(t,e,r,n){let o=t.length;for(;t[o-1]==="=";)--o;let i=new Uint8Array(o*r/8|0),s=0,a=0,c=0;for(let h=0;h<o;++h){let d=e[t[h]];if(d===void 0)throw new SyntaxError(`Non-${n} character`);a=a<<r|d,s+=r,s>=8&&(s-=8,i[c++]=255&a>>s)}if(s>=r||(255&a<<8-s)!==0)throw new SyntaxError("Unexpected end of data");return i}function gc(t,e,r){let n=e[e.length-1]==="=",o=(1<<r)-1,i="",s=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],s+=8;s>r;)s-=r,i+=e[o&a>>s];if(s!==0&&(i+=e[o&a<<r-s]),n)for(;(i.length*r&7)!==0;)i+="=";return i}function wc(t){let e={};for(let r=0;r<t.length;++r)e[t[r]]=r;return e}function L({name:t,prefix:e,bitsPerChar:r,alphabet:n}){let o=wc(n);return ze({prefix:e,name:t,encode(i){return gc(i,n,r)},decode(i){return yc(i,o,r,t)}})}var Me=L({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),xc=L({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),bc=L({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Ec=L({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),vc=L({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),kc=L({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),_c=L({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Ac=L({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Ic=L({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var rn={};V(rn,{base36:()=>ft,base36upper:()=>Tc});var ft=pe({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Tc=pe({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var nn={};V(nn,{base58btc:()=>ie,base58flickr:()=>Sc});var ie=pe({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Sc=pe({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Bc=Li,Ci=128,Nc=127,Cc=~Nc,Dc=Math.pow(2,31);function Li(t,e,r){e=e||[],r=r||0;for(var n=r;t>=Dc;)e[r++]=t&255|Ci,t/=128;for(;t&Cc;)e[r++]=t&255|Ci,t>>>=7;return e[r]=t|0,Li.bytes=r-n+1,e}var Lc=on,Pc=128,Di=127;function on(t,n){var r=0,n=n||0,o=0,i=n,s,a=t.length;do{if(i>=a)throw on.bytes=0,new RangeError("Could not decode varint");s=t[i++],r+=o<28?(s&Di)<<o:(s&Di)*Math.pow(2,o),o+=7}while(s>=Pc);return on.bytes=i-n,r}var Uc=Math.pow(2,7),Rc=Math.pow(2,14),Fc=Math.pow(2,21),zc=Math.pow(2,28),Mc=Math.pow(2,35),$c=Math.pow(2,42),Oc=Math.pow(2,49),Hc=Math.pow(2,56),Vc=Math.pow(2,63),qc=function(t){return t<Uc?1:t<Rc?2:t<Fc?3:t<zc?4:t<Mc?5:t<$c?6:t<Oc?7:t<Hc?8:t<Vc?9:10},Gc={encode:Bc,decode:Lc,encodingLength:qc},jc=Gc,lt=jc;function ht(t,e=0){return[lt.decode(t,e),lt.decode.bytes]}function $e(t,e,r=0){return lt.encode(t,e,r),e}function Oe(t){return lt.encodingLength(t)}function Ve(t,e){let r=e.byteLength,n=Oe(t),o=n+Oe(r),i=new Uint8Array(o+r);return $e(t,i,0),$e(r,i,n),i.set(e,o),new He(t,r,e,i)}function qe(t){let e=oe(t),[r,n]=ht(e),[o,i]=ht(e.subarray(n)),s=e.subarray(n+i);if(s.byteLength!==o)throw new Error("Incorrect length");return new He(r,o,s,e)}function Pi(t,e){if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&Jr(t.bytes,r.bytes)}}var He=class{code;size;digest;bytes;constructor(e,r,n,o){this.code=e,this.size=r,this.digest=n,this.bytes=o}};function Ui(t,e){let{bytes:r,version:n}=t;switch(n){case 0:return Jc(r,sn(t),e??ie.encoder);default:return Xc(r,sn(t),e??Me.encoder)}}var Ri=new WeakMap;function sn(t){let e=Ri.get(t);if(e==null){let r=new Map;return Ri.set(t,r),r}return e}var N=class t{code;version;multihash;bytes;"/";constructor(e,r,n,o){this.code=r,this.version=e,this.multihash=n,this.bytes=o,this["/"]=o}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:r}=this;if(e!==dt)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==Qc)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return t.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:r}=this.multihash,n=Ve(e,r);return t.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return t.equals(this,e)}static equals(e,r){let n=r;return n!=null&&e.code===n.code&&e.version===n.version&&Pi(e.multihash,n.multihash)}toString(e){return Ui(this,e)}toJSON(){return{"/":Ui(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof t)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:o,multihash:i,bytes:s}=r;return new t(n,o,i,s??Fi(n,o,i.bytes))}else if(r[Kc]===!0){let{version:n,multihash:o,code:i}=r,s=qe(o);return t.create(n,i,s)}else return null}static create(e,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(r!==dt)throw new Error(`Version 0 CID must use dag-pb (code: ${dt}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let o=Fi(e,r,n.bytes);return new t(e,r,n,o)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,dt,e)}static createV1(e,r){return t.create(1,e,r)}static decode(e){let[r,n]=t.decodeFirst(e);if(n.length!==0)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=t.inspectBytes(e),n=r.size-r.multihashSize,o=oe(e.subarray(n,n+r.multihashSize));if(o.byteLength!==r.multihashSize)throw new Error("Incorrect length");let i=o.subarray(r.multihashSize-r.digestSize),s=new He(r.multihashCode,r.digestSize,i,o);return[r.version===0?t.createV0(s):t.createV1(r.codec,s),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[p,k]=ht(e.subarray(r));return r+=k,p},o=n(),i=dt;if(o===18?(o=0,r=0):i=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let s=r,a=n(),c=n(),h=r+c,d=h-s;return{version:o,codec:i,multihashCode:a,digestSize:c,multihashSize:d,size:h}}static parse(e,r){let[n,o]=Wc(e,r),i=t.decode(o);if(i.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return sn(i).set(n,e),i}};function Wc(t,e){switch(t[0]){case"Q":{let r=e??ie;return[ie.prefix,r.decode(`${ie.prefix}${t}`)]}case ie.prefix:{let r=e??ie;return[ie.prefix,r.decode(t)]}case Me.prefix:{let r=e??Me;return[Me.prefix,r.decode(t)]}case ft.prefix:{let r=e??ft;return[ft.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32, base36 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}}function Jc(t,e,r){let{prefix:n}=r;if(n!==ie.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let o=e.get(n);if(o==null){let i=r.encode(t).slice(1);return e.set(n,i),i}else return o}function Xc(t,e,r){let{prefix:n}=r,o=e.get(n);if(o==null){let i=r.encode(t);return e.set(n,i),i}else return o}var dt=112,Qc=18;function Fi(t,e,r){let n=Oe(t),o=n+Oe(e),i=new Uint8Array(o+r.byteLength);return $e(t,i,0),$e(e,i,n),i.set(r,o),i}var Kc=Symbol.for("@ipld/js-cid/CID");var zi=42;function Yc(t){return t instanceof ArrayBuffer?new Uint8Array(t,0,t.byteLength):t}function Zc(t){if(t.asCID!==t&&t["/"]!==t.bytes)return null;let e=N.asCID(t);if(!e)return null;let r=new Uint8Array(e.bytes.byteLength+1);return r.set(e.bytes,1),[new y(f.tag,zi),new y(f.bytes,r)]}function eu(){throw new Error("`undefined` is not supported by the IPLD Data Model and cannot be encoded")}function tu(t){if(Number.isNaN(t))throw new Error("`NaN` is not supported by the IPLD Data Model and cannot be encoded");if(t===1/0||t===-1/0)throw new Error("`Infinity` and `-Infinity` is not supported by the IPLD Data Model and cannot be encoded");return null}function ru(t){for(let e of t.keys())if(typeof e!="string"||e.length===0)throw new Error("Non-string Map keys are not supported by the IPLD Data Model and cannot be encoded");return null}var an={float64:!0,typeEncoders:{Map:ru,Object:Zc,undefined:eu,number:tu}},qh={...an,typeEncoders:{...an.typeEncoders}};function nu(t){if(t[0]!==0)throw new Error("Invalid CID for CBOR tag 42; expected leading 0x00");return N.decode(t.subarray(1))}var er={allowIndefinite:!1,coerceUndefinedToNull:!0,allowNaN:!1,allowInfinity:!1,allowBigInt:!0,strict:!0,useMaps:!1,rejectDuplicateMapKeys:!0,tags:[]};er.tags[zi]=nu;var Gh={...er,tags:er.tags.slice()};var Mi=113,cn=t=>jr(t,an),pt=t=>ut(Yc(t),er);var hn=Ee(tr(),1);var dn=40;function pn(t,e){if(!t.length)throw new Error("Unexpected end of data");let r=hn.default.decode(t);return e.seek(hn.default.decode.bytes),r}function mn(t){let e=new DataView(t.buffer,t.byteOffset,t.byteLength),r=0;return{version:2,characteristics:[e.getBigUint64(r,!0),e.getBigUint64(r+=8,!0)],dataOffset:Number(e.getBigUint64(r+=8,!0)),dataSize:Number(e.getBigUint64(r+=8,!0)),indexOffset:Number(e.getBigUint64(r+=8,!0))}}var ye={Null:t=>t===null?t:void 0,Int:t=>Number.isInteger(t)?t:void 0,Float:t=>typeof t=="number"&&Number.isFinite(t)?t:void 0,String:t=>typeof t=="string"?t:void 0,Bool:t=>typeof t=="boolean"?t:void 0,Bytes:t=>t instanceof Uint8Array?t:void 0,Link:t=>t!==null&&typeof t=="object"&&t.asCID===t?t:void 0,List:t=>Array.isArray(t)?t:void 0,Map:t=>t!==null&&typeof t=="object"&&t.asCID!==t&&!Array.isArray(t)&&!(t instanceof Uint8Array)?t:void 0},mt={"CarV1HeaderOrV2Pragma > roots (anon) > valueType (anon)":ye.Link,"CarV1HeaderOrV2Pragma > roots (anon)":t=>{if(ye.List(t)!==void 0){for(let e=0;e<t.length;e++){let r=t[e];if(r=mt["CarV1HeaderOrV2Pragma > roots (anon) > valueType (anon)"](r),r===void 0)return;if(r!==t[e]){let n=t.slice(0,e);for(let o=e;o<t.length;o++){let i=t[o];if(i=mt["CarV1HeaderOrV2Pragma > roots (anon) > valueType (anon)"](i),i===void 0)return;n.push(i)}return n}}return t}},Int:ye.Int,CarV1HeaderOrV2Pragma:t=>{if(ye.Map(t)===void 0)return;let e=Object.entries(t),r=t,n=1;for(let o=0;o<e.length;o++){let[i,s]=e[o];switch(i){case"roots":{let a=mt["CarV1HeaderOrV2Pragma > roots (anon)"](t[i]);if(a===void 0)return;if(a!==s||r!==t){if(r===t){r={};for(let c=0;c<o;c++)r[e[c][0]]=e[c][1]}r.roots=a}}break;case"version":{n--;let a=mt.Int(t[i]);if(a===void 0)return;if(a!==s||r!==t){if(r===t){r={};for(let c=0;c<o;c++)r[e[c][0]]=e[c][1]}r.version=a}}break;default:return}}if(!(n>0))return r}},yt={"CarV1HeaderOrV2Pragma > roots (anon) > valueType (anon)":ye.Link,"CarV1HeaderOrV2Pragma > roots (anon)":t=>{if(ye.List(t)!==void 0){for(let e=0;e<t.length;e++){let r=t[e];if(r=yt["CarV1HeaderOrV2Pragma > roots (anon) > valueType (anon)"](r),r===void 0)return;if(r!==t[e]){let n=t.slice(0,e);for(let o=e;o<t.length;o++){let i=t[o];if(i=yt["CarV1HeaderOrV2Pragma > roots (anon) > valueType (anon)"](i),i===void 0)return;n.push(i)}return n}}return t}},Int:ye.Int,CarV1HeaderOrV2Pragma:t=>{if(ye.Map(t)===void 0)return;let e=Object.entries(t),r=t,n=1;for(let o=0;o<e.length;o++){let[i,s]=e[o];switch(i){case"roots":{let a=yt["CarV1HeaderOrV2Pragma > roots (anon)"](s);if(a===void 0)return;if(a!==s||r!==t){if(r===t){r={};for(let c=0;c<o;c++)r[e[c][0]]=e[c][1]}r.roots=a}}break;case"version":{n--;let a=yt.Int(s);if(a===void 0)return;if(a!==s||r!==t){if(r===t){r={};for(let c=0;c<o;c++)r[e[c][0]]=e[c][1]}r.version=a}}break;default:return}}if(!(n>0))return r}},yn={toTyped:mt.CarV1HeaderOrV2Pragma,toRepresentation:yt.CarV1HeaderOrV2Pragma};var sd=Gr();var bu=Ee(tr(),1);var ld=[new y(f.map,2),new y(f.string,"version"),new y(f.uint,1),new y(f.string,"roots")],hd=new y(f.tag,42);async function gn(t,e){let r=pn(await t.upTo(8),t);if(r===0)throw new Error("Invalid CAR header (zero length)");let n=await t.exactly(r,!0),o=pt(n);if(yn.toTyped(o)===void 0)throw new Error("Invalid CAR header format");if(o.version!==1&&o.version!==2||e!==void 0&&o.version!==e)throw new Error(`Invalid CAR version: ${o.version}${e!==void 0?` (expected ${e})`:""}`);if(o.version===1){if(!Array.isArray(o.roots))throw new Error("Invalid CAR header format");return o}if(o.roots!==void 0)throw new Error("Invalid CAR header format");let i=mn(await t.exactly(dn,!0));t.seek(i.dataOffset-t.pos);let s=await gn(t,1);return Object.assign(s,i)}function gt(t){let e=0;return{async upTo(r){return t.subarray(e,e+Math.min(r,t.length-e))},async exactly(r,n=!1){if(r>t.length-e)throw new Error("Unexpected end of data");let o=t.subarray(e,e+r);return n&&(e+=r),o},seek(r){e+=r},get pos(){return e}}}var wn=Ee(tr(),1),Ki=1;function xn(t){let e=cn({version:Ki,roots:t}),r=wn.default.encode(e.length),n=new Uint8Array(r.length+e.length);return n.set(r,0),n.set(e,r.length),n}function Yi(t){return{async setRoots(e){let r=xn(e);await t.write(r)},async writeBlock(e){let{cid:r,bytes:n}=e;await t.write(new Uint8Array(wn.default.encode(r.bytes.length+n.length))),await t.write(r.bytes),n.length&&await t.write(n)},async close(){await t.end()},version(){return Ki}}}function rr(){}function Zi(){let t=[],e=null,r=rr,n=!1,o=null,i=rr,s=()=>(e||(e=new Promise(h=>{r=()=>{e=null,r=rr,h()}})),e),a={write(h){t.push(h);let d=s();return i(),d},async end(){n=!0;let h=s();i(),await h}},c={async next(){let h=t.shift();return h?(t.length===0&&r(),{done:!1,value:h}):n?(r(),{done:!0,value:void 0}):(o||(o=new Promise(d=>{i=()=>(o=null,i=rr,d(c.next()))})),o)}};return{writer:a,iterator:c}}var wt=class t{constructor(e,r){this._encoder=r,this._mutex=r.setRoots(e),this._ended=!1}async put(e){if(!(e.bytes instanceof Uint8Array)||!e.cid)throw new TypeError("Can only write {cid, bytes} objects");if(this._ended)throw new Error("Already closed");let r=N.asCID(e.cid);if(!r)throw new TypeError("Can only write {cid, bytes} objects");return this._mutex=this._mutex.then(()=>this._encoder.writeBlock({cid:r,bytes:e.bytes})),this._mutex}async close(){if(this._ended)throw new Error("Already closed");return await this._mutex,this._ended=!0,this._encoder.close()}version(){return this._encoder.version()}static create(e){e=_u(e);let{encoder:r,iterator:n}=es(),o=new t(e,r),i=new nr(n);return{writer:o,out:i}}static createAppender(){let{encoder:e,iterator:r}=es();e.setRoots=()=>Promise.resolve();let n=new t([],e),o=new nr(r);return{writer:n,out:o}}static async updateRootsInBytes(e,r){let n=gt(e);await gn(n);let o=xn(r);if(Number(n.pos)!==o.length)throw new Error(`updateRoots() can only overwrite a header of the same length (old header is ${n.pos} bytes, new header is ${o.length} bytes)`);return e.set(o,0),e}},nr=class{constructor(e){this._iterator=e}[Symbol.asyncIterator](){if(this._iterating)throw new Error("Multiple iterator not supported");return this._iterating=!0,this._iterator}};function es(){let t=Zi(),{writer:e,iterator:r}=t;return{encoder:Yi(e),iterator:r}}function _u(t){if(t===void 0)return[];if(!Array.isArray(t)){let r=N.asCID(t);if(!r)throw new TypeError("roots must be a single CID or an array of CIDs");return[r]}let e=[];for(let r of t){let n=N.asCID(r);if(!n)throw new TypeError("roots must be a single CID or an array of CIDs");e.push(n)}return e}function Au(t){return t[Symbol.asyncIterator]!=null}function Iu(t){if(Au(t))return(async()=>{for await(let e of t);})();for(let e of t);}var bn=Iu;function Tu(t){let[e,r]=t[Symbol.asyncIterator]!=null?[t[Symbol.asyncIterator](),Symbol.asyncIterator]:[t[Symbol.iterator](),Symbol.iterator],n=[];return{peek:()=>e.next(),push:o=>{n.push(o)},next:()=>n.length>0?{done:!1,value:n.shift()}:e.next(),[r](){return this}}}var or=Tu;function Su(t){return t[Symbol.asyncIterator]!=null}function Bu(t,e){let r=0;if(Su(t))return(async function*(){for await(let c of t)yield e(c,r++)})();let n=or(t),{value:o,done:i}=n.next();if(i===!0)return(function*(){})();let s=e(o,r++);if(typeof s.then=="function")return(async function*(){yield await s;for(let c of n)yield e(c,r++)})();let a=e;return(function*(){yield s;for(let c of n)yield a(c,r++)})()}var ge=Bu;function Nu(t){return t.reason}async function ir(t,e,r){if(e==null)return t;let n=r?.translateError??Nu;if(e.aborted)return t.catch(()=>{}),Promise.reject(n(e));let o;try{return await Promise.race([t,new Promise((i,s)=>{o=()=>{s(n(e))},e.addEventListener("abort",o)})])}finally{o!=null&&e.removeEventListener("abort",o)}}var le=class extends Error{static name="AbortError";constructor(e="The operation was aborted"){super(e),this.name="AbortError"}};var sr=class extends Error{static name="InvalidParametersError";constructor(e="Invalid parameters"){super(e),this.name="InvalidParametersError"}};var ar=class extends EventTarget{#e=new Map;constructor(){super()}listenerCount(e){let r=this.#e.get(e);return r==null?0:r.length}addEventListener(e,r,n){super.addEventListener(e,r,n);let o=this.#e.get(e);o==null&&(o=[],this.#e.set(e,o)),o.push({callback:r,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(e,r,n){super.removeEventListener(e.toString(),r??null,n);let o=this.#e.get(e);o!=null&&(o=o.filter(({callback:i})=>i!==r),this.#e.set(e,o))}dispatchEvent(e){let r=super.dispatchEvent(e),n=this.#e.get(e.type);return n==null||(n=n.filter(({once:o})=>!o),this.#e.set(e.type,n)),r}safeDispatchEvent(e,r={}){return this.dispatchEvent(new CustomEvent(e,r))}};var vn={};V(vn,{base64:()=>En,base64pad:()=>Cu,base64url:()=>Du,base64urlpad:()=>Lu});var En=L({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Cu=L({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Du=L({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Lu=L({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var R=class extends Event{type;detail;constructor(e,r){super(e),this.type=e,this.detail=r}};var _n=Ee(rs(),1);var An=class t extends Error{name="TimeoutError";constructor(e,r){super(e,r),Error.captureStackTrace?.(this,t)}},ns=t=>t.reason??new DOMException("This operation was aborted.","AbortError");function In(t,e){let{milliseconds:r,fallback:n,message:o,customTimers:i={setTimeout,clearTimeout},signal:s}=e,a,c,d=new Promise((p,k)=>{if(typeof r!="number"||Math.sign(r)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${r}\``);if(s?.aborted){k(ns(s));return}if(s&&(c=()=>{k(ns(s))},s.addEventListener("abort",c,{once:!0})),t.then(p,k),r===Number.POSITIVE_INFINITY)return;let u=new An;a=i.setTimeout.call(void 0,()=>{if(n){try{p(n())}catch(l){k(l)}return}typeof t.cancel=="function"&&t.cancel(),o===!1?p():o instanceof Error?k(o):(u.message=o??`Promise timed out after ${r} milliseconds`,k(u))},r)}).finally(()=>{d.clear(),c&&s&&s.removeEventListener("abort",c)});return d.clear=()=>{i.clearTimeout.call(void 0,a),a=void 0},d}function Tn(t,e,r){let n=0,o=t.length;for(;o>0;){let i=Math.trunc(o/2),s=n+i;r(t[s],e)<=0?(n=++s,o-=i+1):o=i}return n}var bt=class{#e=[];enqueue(e,r){let{priority:n=0,id:o}=r??{},i={priority:n,id:o,run:e};if(this.size===0||this.#e[this.size-1].priority>=n){this.#e.push(i);return}let s=Tn(this.#e,i,(a,c)=>c.priority-a.priority);this.#e.splice(s,0,i)}setPriority(e,r){let n=this.#e.findIndex(i=>i.id===e);if(n===-1)throw new ReferenceError(`No promise function with the id "${e}" exists in the queue.`);let[o]=this.#e.splice(n,1);this.enqueue(o.run,{priority:r,id:e})}dequeue(){return this.#e.shift()?.run}filter(e){return this.#e.filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return this.#e.length}};var Et=class extends _n.default{#e;#n;#o=0;#d;#p=!1;#m=!1;#u;#x=0;#y=0;#i;#s;#t;#b;#r=0;#f;#a;#I=1n;#l=new Map;timeout;constructor(e){if(super(),e={carryoverIntervalCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:bt,...e},!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${e.intervalCap?.toString()??""}\` (${typeof e.intervalCap})`);if(e.interval===void 0||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${e.interval?.toString()??""}\` (${typeof e.interval})`);if(this.#e=e.carryoverIntervalCount??e.carryoverConcurrencyCount??!1,this.#n=e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,this.#d=e.intervalCap,this.#u=e.interval,this.#t=new e.queueClass,this.#b=e.queueClass,this.concurrency=e.concurrency,e.timeout!==void 0&&!(Number.isFinite(e.timeout)&&e.timeout>0))throw new TypeError(`Expected \`timeout\` to be a positive finite number, got \`${e.timeout}\` (${typeof e.timeout})`);this.timeout=e.timeout,this.#a=e.autoStart===!1,this.#P()}get#T(){return this.#n||this.#o<this.#d}get#S(){return this.#r<this.#f}#B(){this.#r--,this.#r===0&&this.emit("pendingZero"),this.#g(),this.emit("next")}#N(){this.#_(),this.#k(),this.#s=void 0}get#C(){let e=Date.now();if(this.#i===void 0){let r=this.#x-e;if(r<0){if(this.#y>0){let n=e-this.#y;if(n<this.#u)return this.#E(this.#u-n),!0}this.#o=this.#e?this.#r:0}else return this.#E(r),!0}return!1}#E(e){this.#s===void 0&&(this.#s=setTimeout(()=>{this.#N()},e))}#v(){this.#i&&(clearInterval(this.#i),this.#i=void 0)}#D(){this.#s&&(clearTimeout(this.#s),this.#s=void 0)}#g(){if(this.#t.size===0)return this.#v(),this.emit("empty"),this.#r===0&&(this.#D(),this.emit("idle")),!1;let e=!1;if(!this.#a){let r=!this.#C;if(this.#T&&this.#S){let n=this.#t.dequeue();this.#n||(this.#o++,this.#h()),this.emit("active"),this.#y=Date.now(),n(),r&&this.#k(),e=!0}}return e}#k(){this.#n||this.#i!==void 0||(this.#i=setInterval(()=>{this.#_()},this.#u),this.#x=Date.now()+this.#u)}#_(){this.#o===0&&this.#r===0&&this.#i&&this.#v(),this.#o=this.#e?this.#r:0,this.#w(),this.#h()}#w(){for(;this.#g(););}get concurrency(){return this.#f}set concurrency(e){if(!(typeof e=="number"&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);this.#f=e,this.#w()}async#L(e){return new Promise((r,n)=>{e.addEventListener("abort",()=>{n(e.reason)},{once:!0})})}setPriority(e,r){if(typeof r!="number"||!Number.isFinite(r))throw new TypeError(`Expected \`priority\` to be a finite number, got \`${r}\` (${typeof r})`);this.#t.setPriority(e,r)}async add(e,r={}){return r.id??=(this.#I++).toString(),r={timeout:this.timeout,...r},new Promise((n,o)=>{let i=Symbol(`task-${r.id}`);this.#t.enqueue(async()=>{this.#r++,this.#l.set(i,{id:r.id,priority:r.priority??0,startTime:Date.now(),timeout:r.timeout});try{try{r.signal?.throwIfAborted()}catch(c){throw this.#n||this.#o--,this.#l.delete(i),c}let s=e({signal:r.signal});r.timeout&&(s=In(Promise.resolve(s),{milliseconds:r.timeout,message:`Task timed out after ${r.timeout}ms (queue has ${this.#r} running, ${this.#t.size} waiting)`})),r.signal&&(s=Promise.race([s,this.#L(r.signal)]));let a=await s;n(a),this.emit("completed",a)}catch(s){o(s),this.emit("error",s)}finally{this.#l.delete(i),queueMicrotask(()=>{this.#B()})}},r),this.emit("add"),this.#g()})}async addAll(e,r){return Promise.all(e.map(async n=>this.add(n,r)))}start(){return this.#a?(this.#a=!1,this.#w(),this):this}pause(){this.#a=!0}clear(){this.#t=new this.#b,this.#A()}async onEmpty(){this.#t.size!==0&&await this.#c("empty")}async onSizeLessThan(e){this.#t.size<e||await this.#c("next",()=>this.#t.size<e)}async onIdle(){this.#r===0&&this.#t.size===0||await this.#c("idle")}async onPendingZero(){this.#r!==0&&await this.#c("pendingZero")}async onRateLimit(){this.isRateLimited||await this.#c("rateLimit")}async onRateLimitCleared(){this.isRateLimited&&await this.#c("rateLimitCleared")}async onError(){return new Promise((e,r)=>{let n=o=>{this.off("error",n),r(o)};this.on("error",n)})}async#c(e,r){return new Promise(n=>{let o=()=>{r&&!r()||(this.off(e,o),n())};this.on(e,o)})}get size(){return this.#t.size}sizeBy(e){return this.#t.filter(e).length}get pending(){return this.#r}get isPaused(){return this.#a}#P(){this.#n||(this.on("add",()=>{this.#t.size>0&&this.#h()}),this.on("next",()=>{this.#h()}))}#h(){this.#n||this.#m||(this.#m=!0,queueMicrotask(()=>{this.#m=!1,this.#A()}))}#A(){let e=this.#p,r=!this.#n&&this.#o>=this.#d&&this.#t.size>0;r!==e&&(this.#p=r,this.emit(r?"rateLimit":"rateLimitCleared"))}get isRateLimited(){return this.#p}get isSaturated(){return this.#r===this.#f&&this.#t.size>0||this.isRateLimited&&this.#t.size>0}get runningTasks(){return[...this.#l.values()].map(e=>({...e}))}};var Sn={};V(Sn,{base10:()=>Ru});var Ru=pe({prefix:"9",name:"base10",alphabet:"0123456789"});var Bn={};V(Bn,{base16:()=>Fu,base16upper:()=>zu});var Fu=L({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),zu=L({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Nn={};V(Nn,{base2:()=>Mu});var Mu=L({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Cn={};V(Cn,{base256emoji:()=>qu});var os=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}"),$u=os.reduce((t,e,r)=>(t[r]=e,t),[]),Ou=os.reduce((t,e,r)=>{let n=e.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${e}`);return t[n]=r,t},[]);function Hu(t){return t.reduce((e,r)=>(e+=$u[r],e),"")}function Vu(t){let e=[];for(let r of t){let n=r.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${r}`);let o=Ou[n];if(o==null)throw new Error(`Non-base256emoji character: ${r}`);e.push(o)}return new Uint8Array(e)}var qu=ze({prefix:"\u{1F680}",name:"base256emoji",encode:Hu,decode:Vu});var Dn={};V(Dn,{base8:()=>Gu});var Gu=L({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Ln={};V(Ln,{identity:()=>ju});var ju=ze({prefix:"\0",name:"identity",encode:t=>Qr(t),decode:t=>Xr(t)});var Ep=new TextEncoder,Wu=new TextDecoder;var is=512;function ss(t){return JSON.parse(Wu.decode(t))}var ur=85;var Fn={};V(Fn,{identity:()=>Rn});var as=0,Ju="identity",cs=oe;function Xu(t,e){if(e?.truncate!=null&&e.truncate!==t.byteLength){if(e.truncate<0||e.truncate>t.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${t.byteLength}`);t=t.subarray(0,e.truncate)}return Ve(as,cs(t))}var Rn={code:as,name:Ju,encode:cs,digest:Xu};var Mn={};V(Mn,{sha256:()=>Ku,sha512:()=>Yu});var Qu=20;function _e({name:t,code:e,encode:r,minDigestLength:n,maxDigestLength:o}){return new zn(t,e,r,n,o)}var zn=class{name;code;encode;minDigestLength;maxDigestLength;constructor(e,r,n,o,i){this.name=e,this.code=r,this.encode=n,this.minDigestLength=o??Qu,this.maxDigestLength=i}digest(e,r){if(r?.truncate!=null){if(r.truncate<this.minDigestLength)throw new Error(`Invalid truncate option, must be greater than or equal to ${this.minDigestLength}`);if(this.maxDigestLength!=null&&r.truncate>this.maxDigestLength)throw new Error(`Invalid truncate option, must be less than or equal to ${this.maxDigestLength}`)}if(e instanceof Uint8Array){let n=this.encode(e);return n instanceof Uint8Array?us(n,this.code,r?.truncate):n.then(o=>us(o,this.code,r?.truncate))}else throw Error("Unknown type, must be binary type")}};function us(t,e,r){if(r!=null&&r!==t.byteLength){if(r>t.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${t.byteLength}`);t=t.subarray(0,r)}return Ve(e,t)}function ls(t){return async e=>new Uint8Array(await crypto.subtle.digest(t,e))}var Ku=_e({name:"sha2-256",code:18,encode:ls("SHA-256")}),Yu=_e({name:"sha2-512",code:19,encode:ls("SHA-512")});var $n={...Ln,...Nn,...Dn,...Sn,...Bn,...tn,...rn,...nn,...vn,...Cn},Pp={...Mn,...Fn};function se(t=0){return new Uint8Array(t)}function ds(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var hs=ds("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),On=ds("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);let e=se(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),Zu={utf8:hs,"utf-8":hs,hex:$n.base16,latin1:On,ascii:On,binary:On,...$n},Hn=Zu;var rf=Ee(ms(),1);var Ge;(function(t){t[t.A=1]="A",t[t.CNAME=5]="CNAME",t[t.TXT=16]="TXT",t[t.AAAA=28]="AAAA"})(Ge||(Ge={}));function vt(t,e){e==null&&(e=t.reduce((o,i)=>o+i.length,0));let r=se(e),n=0;for(let o of t)r.set(o,n),n+=o.length;return r}function fr(t,e="utf8"){let r=Hn[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return r.decoder.decode(`${r.prefix}${t}`)}var nf=Math.pow(2,7),of=Math.pow(2,14),sf=Math.pow(2,21),ys=Math.pow(2,28),gs=Math.pow(2,35),ws=Math.pow(2,42),xs=Math.pow(2,49),H=128,we=127;function kt(t){if(t<nf)return 1;if(t<of)return 2;if(t<sf)return 3;if(t<ys)return 4;if(t<gs)return 5;if(t<ws)return 6;if(t<xs)return 7;if(Number.MAX_SAFE_INTEGER!=null&&t>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function bs(t,e,r=0){switch(kt(t)){case 8:e[r++]=t&255|H,t/=128;case 7:e[r++]=t&255|H,t/=128;case 6:e[r++]=t&255|H,t/=128;case 5:e[r++]=t&255|H,t/=128;case 4:e[r++]=t&255|H,t>>>=7;case 3:e[r++]=t&255|H,t>>>=7;case 2:e[r++]=t&255|H,t>>>=7;case 1:{e[r++]=t&255,t>>>=7;break}default:throw new Error("unreachable")}return e}function Es(t,e){let r=t[e],n=0;if(n+=r&we,r<H||(r=t[e+1],n+=(r&we)<<7,r<H)||(r=t[e+2],n+=(r&we)<<14,r<H)||(r=t[e+3],n+=(r&we)<<21,r<H)||(r=t[e+4],n+=(r&we)*ys,r<H)||(r=t[e+5],n+=(r&we)*gs,r<H)||(r=t[e+6],n+=(r&we)*ws,r<H)||(r=t[e+7],n+=(r&we)*xs,r<H))return n;throw new RangeError("Could not decode varint")}var Vn=new Float32Array([-0]),xe=new Uint8Array(Vn.buffer);function vs(t,e,r){Vn[0]=t,e[r]=xe[0],e[r+1]=xe[1],e[r+2]=xe[2],e[r+3]=xe[3]}function ks(t,e){return xe[0]=t[e],xe[1]=t[e+1],xe[2]=t[e+2],xe[3]=t[e+3],Vn[0]}var qn=new Float64Array([-0]),M=new Uint8Array(qn.buffer);function _s(t,e,r){qn[0]=t,e[r]=M[0],e[r+1]=M[1],e[r+2]=M[2],e[r+3]=M[3],e[r+4]=M[4],e[r+5]=M[5],e[r+6]=M[6],e[r+7]=M[7]}function As(t,e){return M[0]=t[e],M[1]=t[e+1],M[2]=t[e+2],M[3]=t[e+3],M[4]=t[e+4],M[5]=t[e+5],M[6]=t[e+6],M[7]=t[e+7],qn[0]}var af=BigInt(Number.MAX_SAFE_INTEGER),cf=BigInt(Number.MIN_SAFE_INTEGER),J=class t{lo;hi;constructor(e,r){this.lo=e|0,this.hi=r|0}toNumber(e=!1){if(!e&&this.hi>>>31>0){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(r+n*4294967296)}return this.lo+this.hi*4294967296}toBigInt(e=!1){if(e)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(BigInt(r)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toString(e=!1){return this.toBigInt(e).toString()}zzEncode(){let e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this}zzDecode(){let e=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this}length(){let e=this.lo,r=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?r===0?e<16384?e<128?1:2:e<2097152?3:4:r<16384?r<128?5:6:r<2097152?7:8:n<128?9:10}static fromBigInt(e){if(e===0n)return Ae;if(e<af&&e>cf)return this.fromNumber(Number(e));let r=e<0n;r&&(e=-e);let n=e>>32n,o=e-(n<<32n);return r&&(n=~n|0n,o=~o|0n,++o>Is&&(o=0n,++n>Is&&(n=0n))),new t(Number(o),Number(n))}static fromNumber(e){if(e===0)return Ae;let r=e<0;r&&(e=-e);let n=e>>>0,o=(e-n)/4294967296>>>0;return r&&(o=~o>>>0,n=~n>>>0,++n>4294967295&&(n=0,++o>4294967295&&(o=0))),new t(n,o)}static from(e){return typeof e=="number"?t.fromNumber(e):typeof e=="bigint"?t.fromBigInt(e):typeof e=="string"?t.fromBigInt(BigInt(e)):e.low!=null||e.high!=null?new t(e.low>>>0,e.high>>>0):Ae}},Ae=new J(0,0);Ae.toBigInt=function(){return 0n};Ae.zzEncode=Ae.zzDecode=function(){return this};Ae.length=function(){return 1};var Is=4294967296n;function Ts(t){let e=0,r=0;for(let n=0;n<t.length;++n)r=t.charCodeAt(n),r<128?e+=1:r<2048?e+=2:(r&64512)===55296&&(t.charCodeAt(n+1)&64512)===56320?(++n,e+=4):e+=3;return e}function Ss(t,e,r){if(r-e<1)return"";let o,i=[],s=0,a;for(;e<r;)a=t[e++],a<128?i[s++]=a:a>191&&a<224?i[s++]=(a&31)<<6|t[e++]&63:a>239&&a<365?(a=((a&7)<<18|(t[e++]&63)<<12|(t[e++]&63)<<6|t[e++]&63)-65536,i[s++]=55296+(a>>10),i[s++]=56320+(a&1023)):i[s++]=(a&15)<<12|(t[e++]&63)<<6|t[e++]&63,s>8191&&((o??(o=[])).push(String.fromCharCode.apply(String,i)),s=0);return o!=null?(s>0&&o.push(String.fromCharCode.apply(String,i.slice(0,s))),o.join("")):String.fromCharCode.apply(String,i.slice(0,s))}function Gn(t,e,r){let n=r,o,i;for(let s=0;s<t.length;++s)o=t.charCodeAt(s),o<128?e[r++]=o:o<2048?(e[r++]=o>>6|192,e[r++]=o&63|128):(o&64512)===55296&&((i=t.charCodeAt(s+1))&64512)===56320?(o=65536+((o&1023)<<10)+(i&1023),++s,e[r++]=o>>18|240,e[r++]=o>>12&63|128,e[r++]=o>>6&63|128,e[r++]=o&63|128):(e[r++]=o>>12|224,e[r++]=o>>6&63|128,e[r++]=o&63|128);return r-n}function Z(t,e){return RangeError(`index out of range: ${t.pos} + ${e??1} > ${t.len}`)}function lr(t,e){return(t[e-4]|t[e-3]<<8|t[e-2]<<16|t[e-1]<<24)>>>0}var jn=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(e){this.buf=e,this.pos=0,this.len=e.length}uint32(){let e=4294967295;if(e=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(e=(e|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return e;if((this.pos+=5)>this.len)throw this.pos=this.len,Z(this,10);return e}int32(){return this.uint32()|0}sint32(){let e=this.uint32();return e>>>1^-(e&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw Z(this,4);return lr(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw Z(this,4);return lr(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw Z(this,4);let e=ks(this.buf,this.pos);return this.pos+=4,e}double(){if(this.pos+8>this.len)throw Z(this,4);let e=As(this.buf,this.pos);return this.pos+=8,e}bytes(){let e=this.uint32(),r=this.pos,n=this.pos+e;if(n>this.len)throw Z(this,e);return this.pos+=e,r===n?new Uint8Array(0):this.buf.subarray(r,n)}string(){let e=this.bytes();return Ss(e,0,e.length)}skip(e){if(typeof e=="number"){if(this.pos+e>this.len)throw Z(this,e);this.pos+=e}else do if(this.pos>=this.len)throw Z(this);while((this.buf[this.pos++]&128)!==0);return this}skipType(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(e=this.uint32()&7)!==4;)this.skipType(e);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${e} at offset ${this.pos}`)}return this}readLongVarint(){let e=new J(0,0),r=0;if(this.len-this.pos>4){for(;r<4;++r)if(e.lo=(e.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(this.buf[this.pos]&127)<<28)>>>0,e.hi=(e.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return e;r=0}else{for(;r<3;++r){if(this.pos>=this.len)throw Z(this);if(e.lo=(e.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(this.buf[this.pos++]&127)<<r*7)>>>0,e}if(this.len-this.pos>4){for(;r<5;++r)if(e.hi=(e.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return e}else for(;r<5;++r){if(this.pos>=this.len)throw Z(this);if(e.hi=(e.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw Z(this,8);let e=lr(this.buf,this.pos+=4),r=lr(this.buf,this.pos+=4);return new J(e,r)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){let e=Es(this.buf,this.pos);return this.pos+=kt(e),e}uint64String(){return this.readLongVarint().toString(!0)}sint64(){return this.readLongVarint().zzDecode().toBigInt()}sint64Number(){return this.readLongVarint().zzDecode().toNumber()}sint64String(){return this.readLongVarint().zzDecode().toString()}fixed64(){return this.readFixed64().toBigInt()}fixed64Number(){return this.readFixed64().toNumber()}fixed64String(){return this.readFixed64().toString()}sfixed64(){return this.readFixed64().toBigInt()}sfixed64Number(){return this.readFixed64().toNumber()}sfixed64String(){return this.readFixed64().toString()}};function Wn(t){return new jn(t instanceof Uint8Array?t:t.subarray())}function _t(t,e,r){let n=Wn(t);return e.decode(n,void 0,r)}function Jn(t){let e=t??8192,r=e>>>1,n,o=e;return function(s){if(s<1||s>r)return se(s);o+s>e&&(n=se(e),o=0);let a=n.subarray(o,o+=s);return(o&7)!==0&&(o=(o|7)+1),a}}var Ie=class{fn;len;next;val;constructor(e,r,n){this.fn=e,this.len=r,this.next=void 0,this.val=n}};function Xn(){}var Kn=class{head;tail;len;next;constructor(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}},uf=Jn();function ff(t){return globalThis.Buffer!=null?se(t):uf(t)}var It=class{len;head;tail;states;constructor(){this.len=0,this.head=new Ie(Xn,0,0),this.tail=this.head,this.states=null}_push(e,r,n){return this.tail=this.tail.next=new Ie(e,r,n),this.len+=r,this}uint32(e){return this.len+=(this.tail=this.tail.next=new Yn((e=e>>>0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this}int32(e){return e<0?this._push(hr,10,J.fromNumber(e)):this.uint32(e)}sint32(e){return this.uint32((e<<1^e>>31)>>>0)}uint64(e){let r=J.fromBigInt(e);return this._push(hr,r.length(),r)}uint64Number(e){return this._push(bs,kt(e),e)}uint64String(e){return this.uint64(BigInt(e))}int64(e){return this.uint64(e)}int64Number(e){return this.uint64Number(e)}int64String(e){return this.uint64String(e)}sint64(e){let r=J.fromBigInt(e).zzEncode();return this._push(hr,r.length(),r)}sint64Number(e){let r=J.fromNumber(e).zzEncode();return this._push(hr,r.length(),r)}sint64String(e){return this.sint64(BigInt(e))}bool(e){return this._push(Qn,1,e?1:0)}fixed32(e){return this._push(At,4,e>>>0)}sfixed32(e){return this.fixed32(e)}fixed64(e){let r=J.fromBigInt(e);return this._push(At,4,r.lo)._push(At,4,r.hi)}fixed64Number(e){let r=J.fromNumber(e);return this._push(At,4,r.lo)._push(At,4,r.hi)}fixed64String(e){return this.fixed64(BigInt(e))}sfixed64(e){return this.fixed64(e)}sfixed64Number(e){return this.fixed64Number(e)}sfixed64String(e){return this.fixed64String(e)}float(e){return this._push(vs,4,e)}double(e){return this._push(_s,8,e)}bytes(e){let r=e.length>>>0;return r===0?this._push(Qn,1,0):this.uint32(r)._push(hf,r,e)}string(e){let r=Ts(e);return r!==0?this.uint32(r)._push(Gn,r,e):this._push(Qn,1,0)}fork(){return this.states=new Kn(this),this.head=this.tail=new Ie(Xn,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 Ie(Xn,0,0),this.len=0),this}ldelim(){let e=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=e.next,this.tail=r,this.len+=n),this}finish(){let e=this.head.next,r=ff(this.len),n=0;for(;e!=null;)e.fn(e.val,r,n),n+=e.len,e=e.next;return r}};function Qn(t,e,r){e[r]=t&255}function lf(t,e,r){for(;t>127;)e[r++]=t&127|128,t>>>=7;e[r]=t}var Yn=class extends Ie{next;constructor(e,r){super(lf,e,r),this.next=void 0}};function hr(t,e,r){for(;t.hi!==0;)e[r++]=t.lo&127|128,t.lo=(t.lo>>>7|t.hi<<25)>>>0,t.hi>>>=7;for(;t.lo>127;)e[r++]=t.lo&127|128,t.lo=t.lo>>>7;e[r++]=t.lo}function At(t,e,r){e[r]=t&255,e[r+1]=t>>>8&255,e[r+2]=t>>>16&255,e[r+3]=t>>>24}function hf(t,e,r){e.set(t,r)}globalThis.Buffer!=null&&(It.prototype.bytes=function(t){let e=t.length>>>0;return this.uint32(e),e>0&&this._push(df,e,t),this},It.prototype.string=function(t){let e=globalThis.Buffer.byteLength(t);return this.uint32(e),e>0&&this._push(pf,e,t),this});function df(t,e,r){e.set(t,r)}function pf(t,e,r){t.length<40?Gn(t,e,r):e.utf8Write!=null?e.utf8Write(t,r):e.set(fr(t),r)}function Zn(){return new It}function Tt(t,e){let r=Zn();return e.encode(t,r,{lengthDelimited:!1}),r.finish()}var je;(function(t){t[t.VARINT=0]="VARINT",t[t.BIT64=1]="BIT64",t[t.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",t[t.START_GROUP=3]="START_GROUP",t[t.END_GROUP=4]="END_GROUP",t[t.BIT32=5]="BIT32"})(je||(je={}));function dr(t,e,r,n){return{name:t,type:e,encode:r,decode:n}}function eo(t){function e(o){if(t[o.toString()]==null)throw new Error("Invalid enum value");return t[o]}let r=function(i,s){let a=e(i);s.int32(a)},n=function(i){let s=i.int32();return e(s)};return dr("enum",je.VARINT,r,n)}function St(t,e){return dr("message",je.LENGTH_DELIMITED,t,e)}function $(){let t={};return t.promise=new Promise((e,r)=>{t.resolve=e,t.reject=r}),t}var pr=class{buffer;mask;top;btm;next;constructor(e){if(!(e>0)||(e-1&e)!==0)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(e),this.mask=e-1,this.top=0,this.btm=0,this.next=null}push(e){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=e,this.top=this.top+1&this.mask,!0)}shift(){let e=this.buffer[this.btm];if(e!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,e}isEmpty(){return this.buffer[this.btm]===void 0}},We=class{size;hwm;head;tail;constructor(e={}){this.hwm=e.splitLimit??16,this.head=new pr(this.hwm),this.tail=this.head,this.size=0}calculateSize(e){return e?.byteLength!=null?e.byteLength:1}push(e){if(e?.value!=null&&(this.size+=this.calculateSize(e.value)),!this.head.push(e)){let r=this.head;this.head=r.next=new pr(2*this.head.buffer.length),this.head.push(e)}}shift(){let e=this.tail.shift();if(e===void 0&&this.tail.next!=null){let r=this.tail.next;this.tail.next=null,this.tail=r,e=this.tail.shift()}return e?.value!=null&&(this.size-=this.calculateSize(e.value)),e}isEmpty(){return this.head.isEmpty()}};var to=class extends Error{type;code;constructor(e,r){super(e??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function Je(t={}){return mf(r=>{let n=r.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},t)}function mf(t,e){e=e??{};let r=e.onEnd,n=new We,o,i,s,a=$(),c=async()=>{try{return n.isEmpty()?s?{done:!0}:await new Promise((I,g)=>{i=x=>{i=null,n.push(x);try{I(t(n))}catch(b){g(b)}return o}}):t(n)}finally{n.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=$()})}},h=I=>i!=null?i(I):(n.push(I),o),d=I=>(n=new We,i!=null?i({error:I}):(n.push({error:I}),o)),p=I=>{if(s)return o;if(e?.objectMode!==!0&&I?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return h({done:!1,value:I})},k=I=>s?o:(s=!0,I!=null?d(I):h({done:!0})),u=()=>(n=new We,k(),{done:!0}),l=I=>(k(I),{done:!0});if(o={[Symbol.asyncIterator](){return this},next:c,return:u,throw:l,push:p,end:k,get readableLength(){return n.size},onEmpty:async I=>{let g=I?.signal;if(g?.throwIfAborted(),n.isEmpty())return;let x,b;g!=null&&(x=new Promise((v,A)=>{b=()=>{A(new to)},g.addEventListener("abort",b)}));try{await Promise.race([a.promise,x])}finally{b!=null&&g!=null&&g?.removeEventListener("abort",b)}}},r==null)return o;let m=o;return o={[Symbol.asyncIterator](){return this},next(){return m.next()},throw(I){return m.throw(I),r!=null&&(r(I),r=void 0),{done:!0}},return(){return m.return(),r!=null&&(r(),r=void 0),{done:!0}},push:p,end(I){return m.end(I),r!=null&&(r(I),r=void 0),o},get readableLength(){return m.readableLength},onEmpty:I=>m.onEmpty(I)},o}var ro=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},no=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},Ns=t=>globalThis.DOMException===void 0?new no(t):new DOMException(t),Cs=t=>{let e=t.reason===void 0?Ns("This operation was aborted."):t.reason;return e instanceof Error?e:Ns(e)};function oo(t,e){let{milliseconds:r,fallback:n,message:o,customTimers:i={setTimeout,clearTimeout}}=e,s,a,h=new Promise((d,p)=>{if(typeof r!="number"||Math.sign(r)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${r}\``);if(e.signal){let{signal:u}=e;u.aborted&&p(Cs(u)),a=()=>{p(Cs(u))},u.addEventListener("abort",a,{once:!0})}if(r===Number.POSITIVE_INFINITY){t.then(d,p);return}let k=new ro;s=i.setTimeout.call(void 0,()=>{if(n){try{d(n())}catch(u){p(u)}return}typeof t.cancel=="function"&&t.cancel(),o===!1?d():o instanceof Error?p(o):(k.message=o??`Promise timed out after ${r} milliseconds`,p(k))},r),(async()=>{try{d(await t)}catch(u){p(u)}})()}).finally(()=>{h.clear(),a&&e.signal&&e.signal.removeEventListener("abort",a)});return h.clear=()=>{i.clearTimeout.call(void 0,s),s=void 0},h}var yf=t=>{let e=t.addEventListener||t.on||t.addListener,r=t.removeEventListener||t.off||t.removeListener;if(!e||!r)throw new TypeError("Emitter is not compatible");return{addListener:e.bind(t),removeListener:r.bind(t)}};function gf(t,e,r){let n,o=new Promise((i,s)=>{if(r={rejectionEvents:["error"],multiArgs:!1,rejectionMultiArgs:!1,resolveImmediately:!1,...r},!(r.count>=0&&(r.count===Number.POSITIVE_INFINITY||Number.isInteger(r.count))))throw new TypeError("The `count` option should be at least 0 or more");r.signal?.throwIfAborted();let a=[e].flat(),c=[],{addListener:h,removeListener:d}=yf(t),p=async(...u)=>{let l=r.multiArgs?u:u[0];if(r.filter)try{if(!await r.filter(l))return}catch(m){n(),s(m);return}c.push(l),r.count===c.length&&(n(),i(c))},k=(...u)=>{n(),s(r.rejectionMultiArgs?u:u[0])};n=()=>{for(let u of a)d(u,p);for(let u of r.rejectionEvents)a.includes(u)||d(u,k)};for(let u of a)h(u,p);for(let u of r.rejectionEvents)a.includes(u)||h(u,k);r.signal&&r.signal.addEventListener("abort",()=>{k(r.signal.reason)},{once:!0}),r.resolveImmediately&&i(c)});if(o.cancel=n,typeof r.timeout=="number"){let i=oo(o,{milliseconds:r.timeout});return i.cancel=()=>{n(),i.clear()},i}return o}function mr(t,e,r){typeof r=="function"&&(r={filter:r}),r={...r,count:1,resolveImmediately:!1};let n=gf(t,e,r),o=n.then(i=>i[0]);return o.cancel=n.cancel,o}function io(t,e){let r,n=function(){let o=function(){r=void 0,t()};clearTimeout(r),r=setTimeout(o,e)};return n.start=()=>{},n.stop=()=>{clearTimeout(r)},n}var yr=class extends Error{static name="QueueFullError";constructor(e="The queue was full"){super(e),this.name="QueueFullError"}};var gr=class{deferred;signal;constructor(e){this.signal=e,this.deferred=$(),this.onAbort=this.onAbort.bind(this),this.signal?.addEventListener("abort",this.onAbort)}onAbort(){this.deferred.reject(this.signal?.reason??new le)}cleanup(){this.signal?.removeEventListener("abort",this.onAbort)}};function wf(){return`${parseInt(String(Math.random()*1e9),10).toString()}${Date.now()}`}var wr=class{id;fn;options;recipients;status;timeline;controller;constructor(e,r){this.id=wf(),this.status="queued",this.fn=e,this.options=r,this.recipients=[],this.timeline={created:Date.now()},this.controller=new AbortController,this.controller.signal,this.onAbort=this.onAbort.bind(this)}abort(e){this.controller.abort(e)}onAbort(){this.recipients.reduce((r,n)=>r&&n.signal?.aborted===!0,!0)&&(this.controller.abort(new le),this.cleanup())}async join(e={}){let r=new gr(e.signal);return this.recipients.push(r),e.signal?.addEventListener("abort",this.onAbort),r.deferred.promise}async run(){this.status="running",this.timeline.started=Date.now();try{this.controller.signal.throwIfAborted();let e=await ir(this.fn({...this.options??{},signal:this.controller.signal}),this.controller.signal);this.recipients.forEach(r=>{r.deferred.resolve(e)}),this.status="complete"}catch(e){this.recipients.forEach(r=>{r.deferred.reject(e)}),this.status="errored"}finally{this.timeline.finished=Date.now(),this.cleanup()}}cleanup(){this.recipients.forEach(e=>{e.cleanup(),e.signal?.removeEventListener("abort",this.onAbort)})}};var Bt=class extends ar{concurrency;maxSize;queue;pending;sort;paused;constructor(e={}){super(),this.concurrency=e.concurrency??Number.POSITIVE_INFINITY,this.maxSize=e.maxSize??Number.POSITIVE_INFINITY,this.pending=0,this.paused=!1,e.metricName!=null&&e.metrics?.registerMetricGroup(e.metricName,{calculate:()=>({size:this.queue.length,running:this.pending,queued:this.queue.length-this.pending})}),this.sort=e.sort,this.queue=[],this.emitEmpty=io(this.emitEmpty.bind(this),1),this.emitIdle=io(this.emitIdle.bind(this),1)}emitEmpty(){this.size===0&&this.safeDispatchEvent("empty")}emitIdle(){this.running===0&&this.safeDispatchEvent("idle")}pause(){this.paused=!0}resume(){this.paused&&(this.paused=!1,this.tryToStartAnother())}tryToStartAnother(){if(this.paused)return!1;if(this.size===0)return this.emitEmpty(),this.running===0&&this.emitIdle(),!1;if(this.pending<this.concurrency){let e;for(let r of this.queue)if(r.status==="queued"){e=r;break}return e==null?!1:(this.safeDispatchEvent("active"),this.pending++,e.run().finally(()=>{for(let r=0;r<this.queue.length;r++)if(this.queue[r]===e){this.queue.splice(r,1);break}this.pending--,this.tryToStartAnother(),this.safeDispatchEvent("next")}),!0)}return!1}enqueue(e){this.queue.push(e),this.sort!=null&&this.queue.sort(this.sort)}async add(e,r){if(r?.signal?.throwIfAborted(),this.size===this.maxSize)throw new yr;let n=new wr(e,r);return this.enqueue(n),this.safeDispatchEvent("add"),this.tryToStartAnother(),n.join(r).then(o=>(this.safeDispatchEvent("completed",{detail:o}),this.safeDispatchEvent("success",{detail:{job:n,result:o}}),o)).catch(o=>{if(n.status==="queued"){for(let i=0;i<this.queue.length;i++)if(this.queue[i]===n){this.queue.splice(i,1);break}}throw this.safeDispatchEvent("failure",{detail:{job:n,error:o}}),o})}clear(){this.queue.splice(0,this.queue.length)}abort(){this.queue.forEach(e=>{e.abort(new le)}),this.clear()}async onEmpty(e){this.size!==0&&await mr(this,"empty",e)}async onSizeLessThan(e,r){this.size<e||await mr(this,"next",{...r,filter:()=>this.size<e})}async onIdle(e){this.pending===0&&this.size===0||await mr(this,"idle",e)}get size(){return this.queue.length}get queued(){return this.queue.length-this.pending}get running(){return this.pending}async*toGenerator(e){e?.signal?.throwIfAborted();let r=Je({objectMode:!0}),n=c=>{c!=null?this.abort():this.clear(),r.end(c)},o=c=>{c.detail!=null&&r.push(c.detail)},i=c=>{n(c.detail.error)},s=()=>{n()},a=()=>{n(new le("Queue aborted"))};this.addEventListener("completed",o),this.addEventListener("failure",i),this.addEventListener("idle",s),e?.signal?.addEventListener("abort",a);try{yield*r}finally{this.removeEventListener("completed",o),this.removeEventListener("failure",i),this.removeEventListener("idle",s),e?.signal?.removeEventListener("abort",a),n()}}};var xr=class extends Error{type;code;constructor(e,r,n){super(e??"The operation was aborted"),this.type="aborted",this.name=n??"AbortError",this.code=r??"ABORT_ERR"}};async function Ds(t,e,r){if(e==null)return t;if(e.aborted)return t.catch(()=>{}),Promise.reject(new xr(r?.errorMessage,r?.errorCode,r?.errorName));let n,o=new xr(r?.errorMessage,r?.errorCode,r?.errorName);try{return await Promise.race([t,new Promise((i,s)=>{n=()=>{s(o)},e.addEventListener("abort",n)})])}finally{n!=null&&e.removeEventListener("abort",n)}}var so=class{readNext;haveNext;ended;nextResult;error;constructor(){this.ended=!1,this.readNext=$(),this.haveNext=$()}[Symbol.asyncIterator](){return this}async next(){if(this.nextResult==null&&await this.haveNext.promise,this.nextResult==null)throw new Error("HaveNext promise resolved but nextResult was undefined");let e=this.nextResult;return this.nextResult=void 0,this.readNext.resolve(),this.readNext=$(),e}async throw(e){return this.ended=!0,this.error=e,e!=null&&(this.haveNext.promise.catch(()=>{}),this.haveNext.reject(e)),{done:!0,value:void 0}}async return(){let e={done:!0,value:void 0};return this.ended=!0,this.nextResult=e,this.haveNext.resolve(),e}async push(e,r){await this._push(e,r)}async end(e,r){e!=null?await this.throw(e):await this._push(void 0,r)}async _push(e,r){if(e!=null&&this.ended)throw this.error??new Error("Cannot push value onto an ended pushable");for(;this.nextResult!=null;)await this.readNext.promise;e!=null?this.nextResult={done:!1,value:e}:(this.ended=!0,this.nextResult={done:!0,value:void 0}),this.haveNext.resolve(),this.haveNext=$(),await Ds(this.readNext.promise,r?.signal,r)}};function Ls(){return new so}function xf(t){return t[Symbol.asyncIterator]!=null}async function bf(t,e,r){try{await Promise.all(t.map(async n=>{for await(let o of n)await e.push(o,{signal:r}),r.throwIfAborted()})),await e.end(void 0,{signal:r})}catch(n){await e.end(n,{signal:r}).catch(()=>{})}}async function*Ef(t){let e=new AbortController,r=Ls();bf(t,r,e.signal).catch(()=>{});try{yield*r}finally{e.abort()}}function*vf(t){for(let e of t)yield*e}function kf(...t){let e=[];for(let r of t)xf(r)||e.push(r);return e.length===t.length?vf(e):Ef(t)}var Ps=kf;function Xe(t,...e){if(t==null)throw new Error("Empty pipeline");if(ao(t)){let n=t;t=()=>n.source}else if(Rs(t)||Us(t)){let n=t;t=()=>n}let r=[t,...e];if(r.length>1&&ao(r[r.length-1])&&(r[r.length-1]=r[r.length-1].sink),r.length>2)for(let n=1;n<r.length-1;n++)ao(r[n])&&(r[n]=Af(r[n]));return _f(...r)}var _f=(...t)=>{let e;for(;t.length>0;)e=t.shift()(e);return e},Us=t=>t?.[Symbol.asyncIterator]!=null,Rs=t=>t?.[Symbol.iterator]!=null,ao=t=>t==null?!1:t.sink!=null&&t.source!=null,Af=t=>e=>{let r=t.sink(e);if(r?.then!=null){let n=Je({objectMode:!0});r.then(()=>{n.end()},s=>{n.end(s)});let o,i=t.source;if(Us(i))o=async function*(){yield*i,n.end()};else if(Rs(i))o=function*(){yield*i,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return Ps(n,o())}return t.source};function If(t){return t[Symbol.asyncIterator]!=null}function Tf(t){if(If(t))return(async()=>{let n=new Uint8Array(0);for await(let o of t)n=vt([n,o],n.length+o.length);return n})();let e=[],r=0;for(let n of t)e.push(n),r+=n.byteLength;return vt(e,r)}var D=Tf;function br({enumerable:t=!0,configurable:e=!1}={}){return{enumerable:t,configurable:e,writable:!1}}function*Sf(t,e){if(e!=null&&typeof e=="object")if(Array.isArray(e))for(let[r,n]of e.entries()){let o=[...t,r],i=N.asCID(n);i!=null?yield[o.join("/"),i]:typeof n=="object"&&(yield*co(n,o))}else{let r=N.asCID(e);r!=null?yield[t.join("/"),r]:yield*co(e,t)}}function*co(t,e){if(t==null||t instanceof Uint8Array)return;let r=N.asCID(t);r!=null&&(yield[e.join("/"),r]);for(let[n,o]of Object.entries(t)){let i=[...e,n];yield*Sf(i,o)}}function*Bf(t,e){if(Array.isArray(e))for(let[r,n]of e.entries()){let o=[...t,r];yield o.join("/"),typeof n=="object"&&N.asCID(n)==null&&(yield*uo(n,o))}else yield*uo(e,t)}function*uo(t,e){if(!(t==null||typeof t!="object"))for(let[r,n]of Object.entries(t)){let o=[...e,r];yield o.join("/"),n!=null&&!(n instanceof Uint8Array)&&typeof n=="object"&&N.asCID(n)==null&&(yield*Bf(o,n))}}function Nf(t,e){let r=t;for(let[n,o]of e.entries()){if(r=r[o],r==null)throw new Error(`Object has no property at ${e.slice(0,n+1).map(s=>`[${JSON.stringify(s)}]`).join("")}`);let i=N.asCID(r);if(i!=null)return{value:i,remaining:e.slice(n+1).join("/")}}return{value:r}}var fo=class{cid;bytes;value;asBlock;constructor({cid:e,bytes:r,value:n}){if(e==null||r==null||typeof n>"u")throw new Error("Missing required argument");this.cid=e,this.bytes=r,this.value=n,this.asBlock=this,Object.defineProperties(this,{cid:br(),bytes:br(),value:br(),asBlock:br()})}links(){return co(this.value,[])}tree(){return uo(this.value,[])}get(e="/"){return Nf(this.value,e.split("/").filter(Boolean))}};function ee({bytes:t,cid:e,value:r,codec:n}){let o=r!==void 0?r:n?.decode(t);if(o===void 0)throw new Error('Missing required argument, must either provide "value" or "codec"');return new fo({cid:e,bytes:t,value:o})}var Fs=class extends Array{constructor(){super(),this.inRecursive=[]}prefix(e){let r=this.inRecursive[this.inRecursive.length-1];r&&(r.type===f.array&&(r.elements++,r.elements!==1&&e.push([44])),r.type===f.map&&(r.elements++,r.elements!==1&&(r.elements%2===1?e.push([44]):e.push([58]))))}[f.uint.major](e,r){this.prefix(e);let n=String(r.value),o=[];for(let i=0;i<n.length;i++)o[i]=n.charCodeAt(i);e.push(o)}[f.negint.major](e,r){this[f.uint.major](e,r)}[f.bytes.major](e,r){throw new Error(`${Le} unsupported type: Uint8Array`)}[f.string.major](e,r){this.prefix(e);let n=Ht(JSON.stringify(r.value));e.push(n.length>32?rt(n):n)}[f.array.major](e,r){this.prefix(e),this.inRecursive.push({type:f.array,elements:0}),e.push([91])}[f.map.major](e,r){this.prefix(e),this.inRecursive.push({type:f.map,elements:0}),e.push([123])}[f.tag.major](e,r){}[f.float.major](e,r){if(r.type.name==="break"){let s=this.inRecursive.pop();if(s){if(s.type===f.array)e.push([93]);else if(s.type===f.map)e.push([125]);else throw new Error("Unexpected recursive type; this should not happen!");return}throw new Error("Unexpected break; this should not happen!")}if(r.value===void 0)throw new Error(`${Le} unsupported type: undefined`);if(this.prefix(e),r.type.name==="true"){e.push([116,114,117,101]);return}else if(r.type.name==="false"){e.push([102,97,108,115,101]);return}else if(r.type.name==="null"){e.push([110,117,108,108]);return}let n=String(r.value),o=[],i=!1;for(let s=0;s<n.length;s++)o[s]=n.charCodeAt(s),!i&&(o[s]===46||o[s]===101||o[s]===69)&&(i=!0);i||(o.push(46),o.push(48)),e.push(o)}};var Qe=class{constructor(e,r={}){this._pos=0,this.data=e,this.options=r,this.modeStack=["value"],this.lastToken=""}pos(){return this._pos}done(){return this._pos>=this.data.length}ch(){return this.data[this._pos]}currentMode(){return this.modeStack[this.modeStack.length-1]}skipWhitespace(){let e=this.ch();for(;e===32||e===9||e===13||e===10;)e=this.data[++this._pos]}expect(e){if(this.data.length-this._pos<e.length)throw new Error(`${_} unexpected end of input at position ${this._pos}`);for(let r=0;r<e.length;r++)if(this.data[this._pos++]!==e[r])throw new Error(`${_} unexpected token at position ${this._pos}, expected to find '${String.fromCharCode(...e)}'`)}parseNumber(){let e=this._pos,r=!1,n=!1,o=a=>{for(;!this.done();){let c=this.ch();if(a.includes(c))this._pos++;else break}};if(this.ch()===45&&(r=!0,this._pos++),this.ch()===48)if(this._pos++,this.ch()===46)this._pos++,n=!0;else return new y(f.uint,0,this._pos-e);if(o([48,49,50,51,52,53,54,55,56,57]),r&&this._pos===e+1)throw new Error(`${_} unexpected token at position ${this._pos}`);if(!this.done()&&this.ch()===46){if(n)throw new Error(`${_} unexpected token at position ${this._pos}`);n=!0,this._pos++,o([48,49,50,51,52,53,54,55,56,57])}!this.done()&&(this.ch()===101||this.ch()===69)&&(n=!0,this._pos++,!this.done()&&(this.ch()===43||this.ch()===45)&&this._pos++,o([48,49,50,51,52,53,54,55,56,57]));let i=String.fromCharCode.apply(null,this.data.subarray(e,this._pos)),s=parseFloat(i);return n?new y(f.float,s,this._pos-e):this.options.allowBigInt!==!0||Number.isSafeInteger(s)?new y(s>=0?f.uint:f.negint,s,this._pos-e):new y(s>=0?f.uint:f.negint,BigInt(i),this._pos-e)}parseString(){if(this.ch()!==34)throw new Error(`${_} unexpected character at position ${this._pos}; this shouldn't happen`);this._pos++;for(let i=this._pos,s=0;i<this.data.length&&s<65536;i++,s++){let a=this.data[i];if(a===92||a<32||a>=128)break;if(a===34){let c=String.fromCharCode.apply(null,this.data.subarray(this._pos,i));return this._pos=i+1,new y(f.string,c,s)}}let e=this._pos,r=[],n=()=>{if(this._pos+4>=this.data.length)throw new Error(`${_} unexpected end of unicode escape sequence at position ${this._pos}`);let i=0;for(let s=0;s<4;s++){let a=this.ch();if(a>=48&&a<=57)a-=48;else if(a>=97&&a<=102)a=a-97+10;else if(a>=65&&a<=70)a=a-65+10;else throw new Error(`${_} unexpected unicode escape character at position ${this._pos}`);i=i*16+a,this._pos++}return i},o=()=>{let i=this.ch(),s=null,a=i>239?4:i>223?3:i>191?2:1;if(this._pos+a>this.data.length)throw new Error(`${_} unexpected unicode sequence at position ${this._pos}`);let c,h,d,p;switch(a){case 1:i<128&&(s=i);break;case 2:c=this.data[this._pos+1],(c&192)===128&&(p=(i&31)<<6|c&63,p>127&&(s=p));break;case 3:c=this.data[this._pos+1],h=this.data[this._pos+2],(c&192)===128&&(h&192)===128&&(p=(i&15)<<12|(c&63)<<6|h&63,p>2047&&(p<55296||p>57343)&&(s=p));break;case 4:c=this.data[this._pos+1],h=this.data[this._pos+2],d=this.data[this._pos+3],(c&192)===128&&(h&192)===128&&(d&192)===128&&(p=(i&15)<<18|(c&63)<<12|(h&63)<<6|d&63,p>65535&&p<1114112&&(s=p))}s===null?(s=65533,a=1):s>65535&&(s-=65536,r.push(s>>>10&1023|55296),s=56320|s&1023),r.push(s),this._pos+=a};for(;!this.done();){let i=this.ch(),s;switch(i){case 92:if(this._pos++,this.done())throw new Error(`${_} unexpected string termination at position ${this._pos}`);switch(s=this.ch(),this._pos++,s){case 34:case 39:case 92:case 47:r.push(s);break;case 98:r.push(8);break;case 116:r.push(9);break;case 110:r.push(10);break;case 102:r.push(12);break;case 114:r.push(13);break;case 117:r.push(n());break;default:throw new Error(`${_} unexpected string escape character at position ${this._pos}`)}break;case 34:return this._pos++,new y(f.string,zr(r),this._pos-e);default:if(i<32)throw new Error(`${_} invalid control character at position ${this._pos}`);i<128?(r.push(i),this._pos++):o()}}throw new Error(`${_} unexpected end of string at position ${this._pos}`)}parseValue(){switch(this.ch()){case 123:return this.modeStack.push("obj-start"),this._pos++,new y(f.map,1/0,1);case 91:return this.modeStack.push("array-start"),this._pos++,new y(f.array,1/0,1);case 34:return this.parseString();case 110:return this.expect([110,117,108,108]),new y(f.null,null,4);case 102:return this.expect([102,97,108,115,101]),new y(f.false,!1,5);case 116:return this.expect([116,114,117,101]),new y(f.true,!0,4);case 45:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.parseNumber();default:throw new Error(`${_} unexpected character at position ${this._pos}`)}}next(){switch(this.skipWhitespace(),this.currentMode()){case"value":return this.modeStack.pop(),this.parseValue();case"array-value":{if(this.modeStack.pop(),this.ch()===93)return this._pos++,this.skipWhitespace(),new y(f.break,void 0,1);if(this.ch()!==44)throw new Error(`${_} unexpected character at position ${this._pos}, was expecting array delimiter but found '${String.fromCharCode(this.ch())}'`);return this._pos++,this.modeStack.push("array-value"),this.skipWhitespace(),this.parseValue()}case"array-start":return this.modeStack.pop(),this.ch()===93?(this._pos++,this.skipWhitespace(),new y(f.break,void 0,1)):(this.modeStack.push("array-value"),this.skipWhitespace(),this.parseValue());case"obj-key":if(this.ch()===125)return this.modeStack.pop(),this._pos++,this.skipWhitespace(),new y(f.break,void 0,1);if(this.ch()!==44)throw new Error(`${_} unexpected character at position ${this._pos}, was expecting object delimiter but found '${String.fromCharCode(this.ch())}'`);this._pos++,this.skipWhitespace();case"obj-start":{if(this.modeStack.pop(),this.ch()===125)return this._pos++,this.skipWhitespace(),new y(f.break,void 0,1);let e=this.parseString();if(this.skipWhitespace(),this.ch()!==58)throw new Error(`${_} unexpected character at position ${this._pos}, was expecting key/value delimiter ':' but found '${String.fromCharCode(this.ch())}'`);return this._pos++,this.modeStack.push("obj-value"),e}case"obj-value":return this.modeStack.pop(),this.modeStack.push("obj-key"),this.skipWhitespace(),this.parseValue();default:throw new Error(`${_} unexpected parse state at position ${this._pos}; this shouldn't happen`)}}};function lo(t,e){return e=Object.assign({tokenizer:new Qe(t,e)},e),ut(t,e)}function Lf(t){return t instanceof ArrayBuffer?new Uint8Array(t,0,t.byteLength):t}var ho=class extends Qe{constructor(e,r){super(e,r),this.tokenBuffer=[]}done(){return this.tokenBuffer.length===0&&super.done()}_next(){return this.tokenBuffer.length>0?this.tokenBuffer.pop():super.next()}next(){let e=this._next();if(e.type===f.map){let r=this._next();if(r.type===f.string&&r.value==="/"){let n=this._next();if(n.type===f.string){if(this._next().type!==f.break)throw new Error("Invalid encoded CID form");return this.tokenBuffer.push(n),new y(f.tag,42,0)}if(n.type===f.map){let o=this._next();if(o.type===f.string&&o.value==="bytes"){let i=this._next();if(i.type===f.string){for(let a=0;a<2;a++)if(this._next().type!==f.break)throw new Error("Invalid encoded Bytes form");let s=En.decode(`m${i.value}`);return new y(f.bytes,s,i.value.length)}this.tokenBuffer.push(i)}this.tokenBuffer.push(o)}this.tokenBuffer.push(n)}this.tokenBuffer.push(r)}return e}},po={allowIndefinite:!1,allowUndefined:!1,allowNaN:!1,allowInfinity:!1,allowBigInt:!0,strict:!0,useMaps:!1,rejectDuplicateMapKeys:!0,tags:[]};po.tags[42]=N.parse;var zs=297;var Ms=t=>{let e=Lf(t),r=Object.assign(po,{tokenizer:new ho(e,po)});return lo(e,r)};var t0=new TextDecoder;var r0=new TextEncoder;var Pf=new TextDecoder;function mo(t,e){let r=0;for(let n=0;;n+=7){if(n>=64)throw new Error("protobuf: varint overflow");if(e>=t.length)throw new Error("protobuf: unexpected end of data");let o=t[e++];if(r+=n<28?(o&127)<<n:(o&127)*2**n,o<128)break}return[r,e]}function Er(t,e){let r;[r,e]=mo(t,e);let n=e+r;if(r<0||n<0)throw new Error("protobuf: invalid length");if(n>t.length)throw new Error("protobuf: unexpected end of data");return[t.subarray(e,n),n]}function Os(t,e){let r;return[r,e]=mo(t,e),[r&7,r>>3,e]}function Uf(t){let e={},r=t.length,n=0;for(;n<r;){let o,i;if([o,i,n]=Os(t,n),i===1){if(e.Hash)throw new Error("protobuf: (PBLink) duplicate Hash section");if(o!==2)throw new Error(`protobuf: (PBLink) wrong wireType (${o}) for Hash`);if(e.Name!==void 0)throw new Error("protobuf: (PBLink) invalid order, found Name before Hash");if(e.Tsize!==void 0)throw new Error("protobuf: (PBLink) invalid order, found Tsize before Hash");[e.Hash,n]=Er(t,n)}else if(i===2){if(e.Name!==void 0)throw new Error("protobuf: (PBLink) duplicate Name section");if(o!==2)throw new Error(`protobuf: (PBLink) wrong wireType (${o}) for Name`);if(e.Tsize!==void 0)throw new Error("protobuf: (PBLink) invalid order, found Tsize before Name");let s;[s,n]=Er(t,n),e.Name=Pf.decode(s)}else if(i===3){if(e.Tsize!==void 0)throw new Error("protobuf: (PBLink) duplicate Tsize section");if(o!==0)throw new Error(`protobuf: (PBLink) wrong wireType (${o}) for Tsize`);[e.Tsize,n]=mo(t,n)}else throw new Error(`protobuf: (PBLink) invalid fieldNumber, expected 1, 2 or 3, got ${i}`)}if(n>r)throw new Error("protobuf: (PBLink) unexpected end of data");return e}function Hs(t){let e=t.length,r=0,n,o=!1,i;for(;r<e;){let a,c;if([a,c,r]=Os(t,r),a!==2)throw new Error(`protobuf: (PBNode) invalid wireType, expected 2, got ${a}`);if(c===1){if(i)throw new Error("protobuf: (PBNode) duplicate Data section");[i,r]=Er(t,r),n&&(o=!0)}else if(c===2){if(o)throw new Error("protobuf: (PBNode) duplicate Links section");n||(n=[]);let h;[h,r]=Er(t,r),n.push(Uf(h))}else throw new Error(`protobuf: (PBNode) invalid fieldNumber, expected 1 or 2, got ${c}`)}if(r>e)throw new Error("protobuf: (PBNode) unexpected end of data");let s={};return i&&(s.Data=i),s.Links=n||[],s}var qs=new TextEncoder,Vs=2**32,Rf=2**31;function Ff(t,e){let r=e.length;if(typeof t.Tsize=="number"){if(t.Tsize<0)throw new Error("Tsize cannot be negative");if(!Number.isSafeInteger(t.Tsize))throw new Error("Tsize too large for encoding");r=Nt(e,r,t.Tsize)-1,e[r]=24}if(typeof t.Name=="string"){let n=qs.encode(t.Name);r-=n.length,e.set(n,r),r=Nt(e,r,n.length)-1,e[r]=18}return t.Hash&&(r-=t.Hash.length,e.set(t.Hash,r),r=Nt(e,r,t.Hash.length)-1,e[r]=10),e.length-r}function Gs(t){let e=Mf(t),r=new Uint8Array(e),n=e;if(t.Data&&(n-=t.Data.length,r.set(t.Data,n),n=Nt(r,n,t.Data.length)-1,r[n]=10),t.Links)for(let o=t.Links.length-1;o>=0;o--){let i=Ff(t.Links[o],r.subarray(0,n));n-=i,n=Nt(r,n,i)-1,r[n]=18}return r}function zf(t){let e=0;if(t.Hash){let r=t.Hash.length;e+=1+r+Ke(r)}if(typeof t.Name=="string"){let r=qs.encode(t.Name).length;e+=1+r+Ke(r)}return typeof t.Tsize=="number"&&(e+=1+Ke(t.Tsize)),e}function Mf(t){let e=0;if(t.Data){let r=t.Data.length;e+=1+r+Ke(r)}if(t.Links)for(let r of t.Links){let n=zf(r);e+=1+n+Ke(n)}return e}function Nt(t,e,r){e-=Ke(r);let n=e;for(;r>=Rf;)t[e++]=r&127|128,r/=128;for(;r>=128;)t[e++]=r&127|128,r>>>=7;return t[e]=r,n}function Ke(t){return t%2===0&&t++,Math.floor(($f(t)+6)/7)}function $f(t){let e=0;return t>=Vs&&(t=Math.floor(t/Vs),e=32),t>=65536&&(t>>>=16,e+=16),t>=256&&(t>>>=8,e+=8),e+Of[t]}var Of=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8];var Hf=["Data","Links"],Vf=["Hash","Name","Tsize"],js=new TextEncoder;function qf(t,e){if(t===e)return 0;let r=t.Name?js.encode(t.Name):[],n=e.Name?js.encode(e.Name):[],o=r.length,i=n.length;for(let s=0,a=Math.min(o,i);s<a;++s)if(r[s]!==n[s]){o=r[s],i=n[s];break}return o<i?-1:i<o?1:0}function Ws(t,e){return!Object.keys(t).some(r=>!e.includes(r))}function Js(t){if(!t||typeof t!="object"||Array.isArray(t)||t instanceof Uint8Array||t["/"]&&t["/"]===t.bytes)throw new TypeError("Invalid DAG-PB form");if(!Ws(t,Hf))throw new TypeError("Invalid DAG-PB form (extraneous properties)");if(t.Data!==void 0&&!(t.Data instanceof Uint8Array))throw new TypeError("Invalid DAG-PB form (Data must be bytes)");if(!Array.isArray(t.Links))throw new TypeError("Invalid DAG-PB form (Links must be a list)");for(let e=0;e<t.Links.length;e++){let r=t.Links[e];if(!r||typeof r!="object"||Array.isArray(r)||r instanceof Uint8Array||r["/"]&&r["/"]===r.bytes)throw new TypeError("Invalid DAG-PB form (bad link)");if(!Ws(r,Vf))throw new TypeError("Invalid DAG-PB form (extraneous properties on link)");if(r.Hash===void 0)throw new TypeError("Invalid DAG-PB form (link must have a Hash)");if(r.Hash==null||!r.Hash["/"]||r.Hash["/"]!==r.Hash.bytes)throw new TypeError("Invalid DAG-PB form (link Hash must be a CID)");if(r.Name!==void 0&&typeof r.Name!="string")throw new TypeError("Invalid DAG-PB form (link Name must be a string)");if(r.Tsize!==void 0){if(typeof r.Tsize!="number"||r.Tsize%1!==0)throw new TypeError("Invalid DAG-PB form (link Tsize must be an integer)");if(r.Tsize<0)throw new TypeError("Invalid DAG-PB form (link Tsize cannot be negative)")}if(e>0&&qf(r,t.Links[e-1])===-1)throw new TypeError("Invalid DAG-PB form (links must be sorted by Name bytes)")}}function Xs(t){return t instanceof ArrayBuffer?new Uint8Array(t,0,t.byteLength):t}var vr=112;function Qs(t){Js(t);let e={};return t.Links&&(e.Links=t.Links.map(r=>{let n={};return r.Hash&&(n.Hash=r.Hash.bytes),r.Name!==void 0&&(n.Name=r.Name),r.Tsize!==void 0&&(n.Tsize=r.Tsize),n})),t.Data&&(e.Data=t.Data),Gs(e)}function be(t){let e=Xs(t),r=Hs(e),n={};return r.Data&&(n.Data=r.Data),r.Links&&(n.Links=r.Links.map(o=>{let i={};try{i.Hash=N.decode(o.Hash)}catch{}if(!i.Hash)throw new Error("Invalid Hash field found in link, expected CID");return o.Name!==void 0&&(i.Name=o.Name),o.Tsize!==void 0&&(i.Tsize=o.Tsize),i})),n}function Gf(t){return t[Symbol.asyncIterator]!=null}function jf(t,e){let r=0;if(Gf(t))return(async function*(){for await(let c of t)await e(c,r++)&&(yield c)})();let n=or(t),{value:o,done:i}=n.next();if(i===!0)return(function*(){})();let s=e(o,r++);if(typeof s.then=="function")return(async function*(){await s&&(yield o);for(let c of n)await e(c,r++)&&(yield c)})();let a=e;return(function*(){s===!0&&(yield o);for(let c of n)a(c,r++)&&(yield c)})()}var Ks=jf;function Ct(t,e={}){return new go(t,e)}function Dt(t,e={}){return new wo(t,e)}var go=class{components;constructor(e,r={}){this.components=e}async*walk(e,r){let n=new Bt({concurrency:1,sort:(s,a)=>s.options.depth===a.options.depth?0:s.options.depth<a.options.depth?1:-1}),o=n.toGenerator(),i=async s=>{let a=s.cid,c=await D(this.components.blockstore.get(a,s)),h=ee({cid:a,bytes:c,codec:await this.components.getCodec(a.code)});for(let[,d]of h.links())n.add(i,{...s,cid:d,depth:s.depth+1,path:[...s.path,d]}).catch(p=>{o.throw(p),n.abort()});return{block:h,depth:s.depth,path:s.path}};n.add(i,{...r,cid:e,depth:0,path:[e]}).catch(s=>{o.throw(s),n.abort()}),yield*o}},wo=class{components;constructor(e,r={}){this.components=e}async*walk(e,r){let n=new Bt({concurrency:1,sort:(s,a)=>s.options.depth===a.options.depth?0:s.options.depth<a.options.depth?-1:1}),o=n.toGenerator(),i=async s=>{let a=s.cid,c=await D(this.components.blockstore.get(a,s)),h=ee({cid:a,bytes:c,codec:await this.components.getCodec(a.code)});for(let[,d]of h.links())n.add(i,{...s,cid:d,depth:s.depth+1,path:[...s.path,d]}).catch(p=>{o.throw(p),n.abort()});return{block:h,depth:s.depth,path:s.path}};n.add(i,{...r,cid:e,depth:0,path:[e]}).catch(s=>{o.throw(s),n.abort()}),yield*o}};var Lt=class{async*export(e,r,n,o){let i=Dt({blockstore:r,getCodec:n});for await(let s of i.walk(e,o))yield s.block}};var kr=class{components;log;constructor(e){this.components=e,this.log=e.logger.forComponent("helia:car")}async import(e,r){await bn(this.components.blockstore.putMany(ge(e.blocks(),({cid:n,bytes:o})=>({cid:n,bytes:o})),r))}async*export(e,r){let{writer:n,out:o}=wt.create(e),i=o[Symbol.asyncIterator](),s=new AbortController;for(this._export(e,n,r).catch(a=>{this.log.error("error during streaming export - %e",a),s.abort(a)});;){let{done:a,value:c}=await ir(i.next(),s.signal);if(s.signal.aborted)throw s.signal.reason;if(c!=null&&(yield c),a===!0)break}}async _export(e,r,n){let o=Array.isArray(e)?e:[e],i=n?.traversal;for(let s of o){let a=n?.exporter??(s.code===112?new Pt:new Lt),c=s,h=!1;if(i!=null){for await(let{cid:d,bytes:p}of i.traverse(c,this.components.blockstore,this.components.getCodec,n))if(this.log.trace("next CID on path to %c is %c",s,d),c=d,s.equals(d)&&(h=!0),h||n?.includeTraversalBlocks===!0){if(n?.blockFilter?.has(d.multihash.bytes)===!0)continue;n?.blockFilter?.add(d.multihash.bytes),await r.put({cid:d,bytes:p})}}for await(let{cid:d,bytes:p}of a.export(c,this.components.blockstore,this.components.getCodec,n))n?.blockFilter?.has(d.multihash.bytes)!==!0&&(h&&d.equals(c)||(n?.blockFilter?.add(d.multihash.bytes),await r.put({cid:d,bytes:p})))}await r.close()}};var xo=class{async*export(e,r,n,o){let i=await D(r.get(e,o));yield ee({cid:e,bytes:i,codec:await n(e.code)})}};var _r=class extends Error{static code="ERR_NOT_UNIXFS";static message="Not a UnixFS node";static name="NotUnixFSError";code="ERR_NOT_UNIXFS";message="Not a UnixFS node";name="NotUnixFSError"},Ar=class extends Error{static name="NotDescendantError";name="NotDescendantError"},Ye=class extends Error{static name="InvalidTraversalError";name="InvalidTraversalError"};var Pt=class{async*export(e,r,n,o){if(e.code!==112&&e.code!==85)throw new _r("Target CID was not UnixFS - use the SubGraphExporter to export arbitrary graphs");let i=Ct({blockstore:r,getCodec:n});for await(let s of i.walk(e,o))yield s.block}};function Ys(t){return t!=null&&t?.asCID===t}var bo=class{haystack;needle;options;constructor(...e){if(Ys(e[0]))Ys(e[1])?(this.haystack=e[0],this.needle=e[1],this.options=e[2]):(this.needle=e[0],this.options=e[1]);else throw new sr("needle must be specified")}async*traverse(e,r,n,o){let i=this.haystack??e,s;this.options?.strategy==="breadth-first"?s=Dt({blockstore:r,getCodec:n}):s=Ct({blockstore:r,getCodec:n});for await(let a of s.walk(i,o))if(a.block.cid.equals(this.needle)){for(let c of a.path){let h=await D(r.get(c,o));yield ee({cid:c,bytes:h,codec:await n(c.code)})}return}throw new Ye(`${this.needle} was not a child of ${i}`)}};var Eo=class{path;constructor(e){this.path=e}async*traverse(e,r,n,o){if(!this.path.some(s=>s.equals(e)))throw new Ye(`CIDPath traversal must include ${e}`);let i;for(let s of this.path){if(i!=null){let h=!1;for(let[,d]of i.links())if(d.equals(s)){h=!0;break}if(!h)throw new Ar(`${s} is not a child of ${i.cid}`)}let a=await D(r.get(s,o)),c=ee({cid:s,bytes:a,codec:await n(s.code)});i=c,yield c}}};var Ir=class t extends Error{static name="BadPathError";static code="ERR_BAD_PATH";name=t.name;code=t.code;constructor(e="Bad path"){super(e)}},te=class t extends Error{static name="NotFoundError";static code="ERR_NOT_FOUND";name=t.name;code=t.code;constructor(e="Not found"){super(e)}},Tr=class t extends Error{static name="NoResolverError";static code="ERR_NO_RESOLVER";name=t.name;code=t.code;constructor(e="No resolver"){super(e)}},P=class t extends Error{static name="NotUnixFSError";static code="ERR_NOT_UNIXFS";name=t.name;code=t.code;constructor(e="Not UnixFS"){super(e)}},Sr=class t extends Error{static name="OverReadError";static code="ERR_OVER_READ";name=t.name;code=t.code;constructor(e="Over read"){super(e)}},Br=class t extends Error{static name="UnderReadError";static code="ERR_UNDER_READ";name=t.name;code=t.code;constructor(e="Under read"){super(e)}},Nr=class t extends Error{static name="NoPropError";static code="ERR_NO_PROP";name=t.name;code=t.code;constructor(e="No Property found"){super(e)}},Te=class t extends Error{static name="InvalidParametersError";static code="ERR_INVALID_PARAMS";name=t.name;code=t.code;constructor(e="Invalid parameters"){super(e)}};function Ze(t,e,r,n,o,i,s){let a=t,c=o;for(;i.length>0;){let h=i[0];if(h in a){i.shift(),c=`${c}/${h}`;let d=N.asCID(a[h]);if(d!=null)return{entry:{type:"object",name:n,path:o,cid:r,node:e,depth:s,size:BigInt(e.length),content:async function*(){yield t}},next:{cid:d,name:h,path:c,toResolve:i}};a=a[h]}else throw new Nr(`No property named ${h} found in node ${r}`)}return{entry:{type:"object",name:n,path:o,cid:r,node:e,depth:s,size:BigInt(e.length),content:async function*(){yield t}}}}var Jf=async(t,e,r,n,o,i,s,a)=>{let c=await D(s.get(t,a)),h=pt(c);return Ze(h,c,t,e,r,n,i)},Zs=Jf;var Xf=async(t,e,r,n,o,i,s,a)=>{let c=await D(s.get(t,a)),h=Ms(c);return Ze(h,c,t,e,r,n,i)},ea=Xf;function Qf(t,e,r,n){let o=BigInt(t.length),i=BigInt(e+o);return r>=i||n<e?new Uint8Array(0):(n>=e&&n<i&&(t=t.subarray(0,Number(n-e))),r>=e&&r<i&&(t=t.subarray(Number(r-e))),t)}var Se=Qf;var Kf=(t,e=0,r=t)=>{let n=BigInt(t),o=BigInt(e??0),i=BigInt(r);if(i!==n&&(i=o+i),i>n&&(i=n),o<0n)throw new Te("Offset must be greater than or equal to 0");if(o>n)throw new Te("Offset must be less than the file size");if(i<0n)throw new Te("Length must be greater than or equal to 0");if(i>n)throw new Te("Length must be less than the file size");return{start:o,end:i}},et=Kf;var Yf=t=>{async function*e(r={}){let{start:n,end:o}=et(t.length,r.offset,r.length),i=Se(t,0n,n,o);r.onProgress?.(new R("unixfs:exporter:progress:identity",{bytesRead:BigInt(i.byteLength),totalBytes:o-n,fileSize:BigInt(t.byteLength)})),yield i}return e},Zf=async(t,e,r,n,o,i,s,a)=>{if(n.length>0)throw new te(`No link named ${r} found in raw node ${t}`);let c=qe(t.multihash.bytes);return{entry:{type:"identity",name:e,path:r,cid:t,content:Yf(c.digest),depth:i,size:BigInt(c.digest.length),node:c.digest}}},ta=Zf;var el=async(t,e,r,n,o,i,s,a)=>{let c=await D(s.get(t,a)),h=ss(c);return Ze(h,c,t,e,r,n,i)},ra=el;var tl=t=>{async function*e(r={}){let{start:n,end:o}=et(t.length,r.offset,r.length),i=Se(t,0n,n,o);r.onProgress?.(new R("unixfs:exporter:progress:raw",{bytesRead:BigInt(i.byteLength),totalBytes:o-n,fileSize:BigInt(t.byteLength)})),yield i}return e},rl=async(t,e,r,n,o,i,s,a)=>{if(n.length>0)throw new te(`No link named ${r} found in raw node ${t}`);let c=await D(s.get(t,a));return{entry:{type:"raw",name:e,path:r,cid:t,content:tl(c),depth:i,size:BigInt(c.length),node:c}}},na=rl;var Ut=class t extends Error{static name="InvalidTypeError";static code="ERR_INVALID_TYPE";name=t.name;code=t.code;constructor(e="Invalid type"){super(e)}},Cr=class t extends Error{static name="InvalidUnixFSMessageError";static code="ERR_INVALID_MESSAGE";name=t.name;code=t.code;constructor(e="Invalid message"){super(e)}};var re;(function(t){let e;(function(o){o.Raw="Raw",o.Directory="Directory",o.File="File",o.Metadata="Metadata",o.Symlink="Symlink",o.HAMTShard="HAMTShard"})(e=t.DataType||(t.DataType={}));let r;(function(o){o[o.Raw=0]="Raw",o[o.Directory=1]="Directory",o[o.File=2]="File",o[o.Metadata=3]="Metadata",o[o.Symlink=4]="Symlink",o[o.HAMTShard=5]="HAMTShard"})(r||(r={})),(function(o){o.codec=()=>eo(r)})(e=t.DataType||(t.DataType={}));let n;t.codec=()=>(n==null&&(n=St((o,i,s={})=>{if(s.lengthDelimited!==!1&&i.fork(),o.Type!=null&&(i.uint32(8),t.DataType.codec().encode(o.Type,i)),o.Data!=null&&(i.uint32(18),i.bytes(o.Data)),o.filesize!=null&&(i.uint32(24),i.uint64(o.filesize)),o.blocksizes!=null)for(let a of o.blocksizes)i.uint32(32),i.uint64(a);o.hashType!=null&&(i.uint32(40),i.uint64(o.hashType)),o.fanout!=null&&(i.uint32(48),i.uint64(o.fanout)),o.mode!=null&&(i.uint32(56),i.uint32(o.mode)),o.mtime!=null&&(i.uint32(66),Dr.codec().encode(o.mtime,i)),s.lengthDelimited!==!1&&i.ldelim()},(o,i)=>{let s={blocksizes:[]},a=i==null?o.len:o.pos+i;for(;o.pos<a;){let c=o.uint32();switch(c>>>3){case 1:s.Type=t.DataType.codec().decode(o);break;case 2:s.Data=o.bytes();break;case 3:s.filesize=o.uint64();break;case 4:s.blocksizes.push(o.uint64());break;case 5:s.hashType=o.uint64();break;case 6:s.fanout=o.uint64();break;case 7:s.mode=o.uint32();break;case 8:s.mtime=Dr.codec().decode(o,o.uint32());break;default:o.skipType(c&7);break}}return s})),n),t.encode=o=>Tt(o,t.codec()),t.decode=o=>_t(o,t.codec())})(re||(re={}));var Dr;(function(t){let e;t.codec=()=>(e==null&&(e=St((r,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),r.Seconds!=null&&(n.uint32(8),n.int64(r.Seconds)),r.FractionalNanoseconds!=null&&(n.uint32(21),n.fixed32(r.FractionalNanoseconds)),o.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let o={},i=n==null?r.len:r.pos+n;for(;r.pos<i;){let s=r.uint32();switch(s>>>3){case 1:o.Seconds=r.int64();break;case 2:o.FractionalNanoseconds=r.fixed32();break;default:r.skipType(s&7);break}}return o})),e),t.encode=r=>Tt(r,t.codec()),t.decode=r=>_t(r,t.codec())})(Dr||(Dr={}));var oa;(function(t){let e;t.codec=()=>(e==null&&(e=St((r,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),r.MimeType!=null&&(n.uint32(10),n.string(r.MimeType)),o.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let o={},i=n==null?r.len:r.pos+n;for(;r.pos<i;){let s=r.uint32();switch(s>>>3){case 1:o.MimeType=r.string();break;default:r.skipType(s&7);break}}return o})),e),t.encode=r=>Tt(r,t.codec()),t.decode=r=>_t(r,t.codec())})(oa||(oa={}));var ia={Raw:"raw",Directory:"directory",File:"file",Metadata:"metadata",Symlink:"symlink",HAMTShard:"hamt-sharded-directory"},nl=["directory","hamt-sharded-directory"],sa=parseInt("0644",8),aa=parseInt("0755",8),ca=BigInt(1024),ae=class t{static unmarshal(e){let r=re.decode(e);if(r.fanout!=null&&r.fanout>ca)throw new Cr(`Fanout size was too large - ${r.fanout} > ${ca}`);let n=new t({type:ia[r.Type!=null?r.Type.toString():"File"],data:r.Data,blockSizes:r.blocksizes,mode:r.mode,mtime:r.mtime!=null?{secs:r.mtime.Seconds??0n,nsecs:r.mtime.FractionalNanoseconds}:void 0,fanout:r.fanout});return n._originalMode=r.mode??0,n}type;data;blockSizes;hashType;fanout;mtime;_mode;_originalMode;constructor(e={type:"file"}){let{type:r,data:n,blockSizes:o,hashType:i,fanout:s,mtime:a,mode:c}=e;if(r!=null&&!Object.values(ia).includes(r))throw new Ut("Type: "+r+" is not valid");this.type=r??"file",this.data=n,this.hashType=i,this.fanout=s,this.blockSizes=o??[],this._originalMode=0,this.mode=c,this.mtime=a}set mode(e){e==null?this._mode=this.isDirectory()?aa:sa:this._mode=e&4095}get mode(){return this._mode}isDirectory(){return nl.includes(this.type)}addBlockSize(e){this.blockSizes.push(e)}removeBlockSize(e){this.blockSizes.splice(e,1)}fileSize(){if(this.isDirectory())return 0n;let e=0n;return this.blockSizes.forEach(r=>{e+=r}),this.data!=null&&(e+=BigInt(this.data.length)),e}marshal(){let e;switch(this.type){case"raw":e=re.DataType.Raw;break;case"directory":e=re.DataType.Directory;break;case"file":e=re.DataType.File;break;case"metadata":e=re.DataType.Metadata;break;case"symlink":e=re.DataType.Symlink;break;case"hamt-sharded-directory":e=re.DataType.HAMTShard;break;default:throw new Ut(`Type: ${e} is not valid`)}let r=this.data;(this.data==null||this.data.length===0)&&(r=void 0);let n;this.mode!=null&&(n=this._originalMode&4294963200|(this.mode??0),n===sa&&!this.isDirectory()&&(n=void 0),n===aa&&this.isDirectory()&&(n=void 0));let o;return this.mtime!=null&&(o={Seconds:this.mtime.secs,FractionalNanoseconds:this.mtime.nsecs}),re.encode({Type:e,Data:r,filesize:this.isDirectory()?void 0:this.fileSize(),blocksizes:this.blockSizes,hashType:this.hashType,fanout:this.fanout,mode:n,mtime:o})}};var Pr=Ee(la(),1);function ol(t){let e=new Array(4);for(let r=0;r<4;r++)e[r]=t&255,t=t>>8;return new Uint8Array(e)}var Fg=_e({name:"murmur3-32",code:35,encode:t=>ol(Pr.default.x86.hash32(t))}),ha=_e({name:"murmur3-128",code:34,encode:t=>ke.fromHex(Pr.default.x64.hash128(t))}),zg=_e({name:"murmur3-x64-64",code:34,encode:t=>ke.fromHex(Pr.default.x64.hash128(t)).subarray(0,8)});var ya=Ee(ma(),1);var Be=class t{_options;_popCount;_parent;_posAtParent;_children;key;constructor(e,r,n=0){this._options=e,this._popCount=0,this._parent=r,this._posAtParent=n,this._children=new ya.default,this.key=null}async put(e,r){let n=await this._findNewBucketAndPos(e);n.bucket._putAt(n,e,r)}async get(e){let r=await this._findChild(e);if(r!=null)return r.value}async del(e){let r=await this._findPlace(e),n=r.bucket._at(r.pos);n!=null&&n.key===e&&r.bucket._delAt(r.pos)}leafCount(){return this._children.compactArray().reduce((r,n)=>n instanceof t?r+n.leafCount():r+1,0)}childrenCount(){return this._children.length}onlyChild(){return this._children.get(0)}*eachLeafSeries(){let e=this._children.compactArray();for(let r of e)r instanceof t?yield*r.eachLeafSeries():yield r}serialize(e,r){let n=[];return r(this._children.reduce((o,i,s)=>(i!=null&&(i instanceof t?o.push(i.serialize(e,r)):o.push(e(i,s))),o),n))}async asyncTransform(e,r){return ga(this,e,r)}toJSON(){return this.serialize(ul,fl)}prettyPrint(){return JSON.stringify(this.toJSON(),null," ")}tableSize(){return Math.pow(2,this._options.bits)}async _findChild(e){let r=await this._findPlace(e),n=r.bucket._at(r.pos);if(!(n instanceof t)&&n!=null&&n.key===e)return n}async _findPlace(e){let r=this._options.hash(typeof e=="string"?fr(e):e),n=await r.take(this._options.bits),o=this._children.get(n);return o instanceof t?o._findPlace(r):{bucket:this,pos:n,hash:r,existingChild:o}}async _findNewBucketAndPos(e){let r=await this._findPlace(e);if(r.existingChild!=null&&r.existingChild.key!==e){let n=new t(this._options,r.bucket,r.pos);r.bucket._putObjectAt(r.pos,n);let o=await n._findPlace(r.existingChild.hash);return o.bucket._putAt(o,r.existingChild.key,r.existingChild.value),n._findNewBucketAndPos(r.hash)}return r}_putAt(e,r,n){this._putObjectAt(e.pos,{key:r,value:n,hash:e.hash})}_putObjectAt(e,r){this._children.get(e)==null&&this._popCount++,this._children.set(e,r)}_delAt(e){if(e===-1)throw new Error("Invalid position");this._children.get(e)!=null&&this._popCount--,this._children.unset(e),this._level()}_level(){if(this._parent!=null&&this._popCount<=1)if(this._popCount===1){let e=this._children.find(cl);if(e!=null&&!(e instanceof t)){let r=e.hash;r.untake(this._options.bits);let n={pos:this._posAtParent,hash:r,bucket:this._parent};this._parent._putAt(n,e.key,e.value)}}else this._parent._delAt(this._posAtParent)}_at(e){return this._children.get(e)}};function cl(t){return!!t}function ul(t,e){return t.key}function fl(t){return t}async function ga(t,e,r){let n=[];for(let o of t._children.compactArray())if(o instanceof Be)await ga(o,e,r);else{let i=await e(o);n.push({bitField:t._children.bitField(),children:i})}return r(n)}var ll=[255,254,252,248,240,224,192,128],hl=[1,3,7,15,31,63,127,255],Ur=class{_value;_currentBytePos;_currentBitPos;constructor(e){this._value=e,this._currentBytePos=e.length-1,this._currentBitPos=7}availableBits(){return this._currentBitPos+1+this._currentBytePos*8}totalBits(){return this._value.length*8}take(e){let r=e,n=0;for(;r>0&&this._haveBits();){let o=this._value[this._currentBytePos],i=this._currentBitPos+1,s=Math.min(i,r),a=dl(o,i-s,s);n=(n<<s)+a,r-=s,this._currentBitPos-=s,this._currentBitPos<0&&(this._currentBitPos=7,this._currentBytePos--)}return n}untake(e){for(this._currentBitPos+=e;this._currentBitPos>7;)this._currentBitPos-=8,this._currentBytePos+=1}_haveBits(){return this._currentBytePos>=0}};function dl(t,e,r){let n=pl(e,r);return(t&n)>>>e}function pl(t,e){return ll[t]&hl[Math.min(e+t-1,7)]}function wa(t){function e(r){return r instanceof Rr?r:new Rr(r,t)}return e}var Rr=class{_value;_hashFn;_depth;_availableBits;_currentBufferIndex;_buffers;constructor(e,r){if(!(e instanceof Uint8Array))throw new Error("can only hash Uint8Arrays");this._value=e,this._hashFn=r,this._depth=-1,this._availableBits=0,this._currentBufferIndex=0,this._buffers=[]}async take(e){let r=e;for(;this._availableBits<r;)await this._produceMoreBits();let n=0;for(;r>0;){let o=this._buffers[this._currentBufferIndex],i=Math.min(o.availableBits(),r),s=o.take(i);n=(n<<i)+s,r-=i,this._availableBits-=i,o.availableBits()===0&&this._currentBufferIndex++}return n}untake(e){let r=e;for(;r>0;){let n=this._buffers[this._currentBufferIndex],o=Math.min(n.totalBits()-n.availableBits(),r);n.untake(o),r-=o,this._availableBits+=o,this._currentBufferIndex>0&&n.totalBits()===n.availableBits()&&(this._depth--,this._currentBufferIndex--)}}async _produceMoreBits(){this._depth++;let e=this._depth>0?vt([this._value,Uint8Array.from([this._depth])]):this._value,r=await this._hashFn(e),n=new Ur(r);this._buffers.push(n),this._availableBits+=n.availableBits()}};function xa(t){if(t==null||t.hashFn==null)throw new Error("please define an options.hashFn");let e={bits:t.bits??8,hash:wa(t.hashFn)};return new Be(e)}var ml=async function(t){return(await ha.encode(t)).slice(0,8).reverse()},yl=async(t,e,r)=>{let n=(e.tableSize()-1).toString(16).length;await Promise.all(t.map(async o=>{if(o.Name==null)throw new Error("Unexpected Link without a Name");if(o.Name.length===n){let i=parseInt(o.Name,16);e._putObjectAt(i,new Be({hash:r._options.hash,bits:r._options.bits},e,i));return}await r.put(o.Name.substring(2),!0)}))},ba=(t,e)=>t.toString(16).toUpperCase().padStart(e,"0").substring(0,e),gl=t=>{let e=t.bucket,r=[];for(;e._parent!=null;)r.push(e),e=e._parent;return r.push(e),r.reverse()},Ea=async(t,e,r,n,o)=>{if(n==null){if(t.Data==null)throw new P("no data in PBNode");let p;try{p=ae.unmarshal(t.Data)}catch(u){throw new P(u.message)}if(p.type!=="hamt-sharded-directory")throw new P("not a HAMT");if(p.fanout==null)throw new P("missing fanout");let k=xa({hashFn:ml,bits:Math.log2(Number(p.fanout))});n={rootBucket:k,hamtDepth:1,lastBucket:k}}let i=(n.lastBucket.tableSize()-1).toString(16).length;await yl(t.Links,n.lastBucket,n.rootBucket);let s=await n.rootBucket._findNewBucketAndPos(e),a=ba(s.pos,i),c=gl(s);c.length>n.hamtDepth&&(n.lastBucket=c[n.hamtDepth],a=ba(n.lastBucket._posAtParent,i));let h=t.Links.find(p=>{if(p.Name==null)return!1;let k=p.Name.substring(0,i),u=p.Name.substring(i);return!(k!==a||u!==""&&u!==e)});if(h==null)return;if(h.Name!=null&&h.Name.substring(i)===e)return h.Hash;n.hamtDepth++;let d=await D(r.get(h.Hash,o));return t=be(d),Ea(t,e,r,n,o)},va=Ea;function tt(t){return t?.extended===!1}var Fr=globalThis.CustomEvent??Event;async function*Ne(t,e={}){let r=e.concurrency??1/0;r<1&&(r=1/0);let n=e.ordered??!1,o=new EventTarget,i=[],s=$(),a=$(),c=!1,h,d=!1;o.addEventListener("task-complete",()=>{a.resolve()}),Promise.resolve().then(async()=>{try{for await(let l of t){if(i.length===r&&(s=$(),await s.promise),d)break;let m={done:!1};i.push(m),l().then(I=>{m.done=!0,m.ok=!0,m.value=I,o.dispatchEvent(new Fr("task-complete"))},I=>{m.done=!0,m.err=I,o.dispatchEvent(new Fr("task-complete"))})}c=!0,o.dispatchEvent(new Fr("task-complete"))}catch(l){h=l,o.dispatchEvent(new Fr("task-complete"))}});function p(){return n?i[0]?.done:!!i.find(l=>l.done)}function*k(){for(;i.length>0&&i[0].done;){let l=i[0];if(i.shift(),l.ok)yield l.value;else throw d=!0,s.resolve(),l.err;s.resolve()}}function*u(){for(;p();)for(let l=0;l<i.length;l++)if(i[l].done){let m=i[l];if(i.splice(l,1),l--,m.ok)yield m.value;else throw d=!0,s.resolve(),m.err;s.resolve()}}for(;;){if(p()||(a=$(),await a.promise),h!=null||(n?yield*k():yield*u(),h!=null))throw h;if(c&&i.length===0)break}}var wl=(t,e,r,n,o,i,s)=>{async function*a(c={}){let h=c.offset??0,d=c.length??e.Links.length,p=e.Links.slice(h,d);c.onProgress?.(new R("unixfs:exporter:walk:directory",{cid:t})),yield*Xe(p,k=>ge(k,u=>async()=>{let l=u.Name??"",m=`${n}/${l}`;return tt(c)?{cid:u.Hash,name:l,path:m}:(await o(u.Hash,l,m,[],i+1,s,c)).entry}),k=>Ne(k,{ordered:!0,concurrency:c.blockReadConcurrency}),k=>Ks(k,u=>u!=null))}return a},ka=wl;async function _a(t,e,r,n,o,i,s){if(e instanceof Uint8Array){let h=Se(e,n,o,i);r.push(h);return}if(e.Data==null)throw new P("no data in PBNode");let a;try{a=ae.unmarshal(e.Data)}catch(h){throw new P(h.message)}if(a.data!=null){let h=a.data,d=Se(h,n,o,i);r.push(d),n+=BigInt(d.byteLength)}let c=[];if(e.Links.length!==a.blockSizes.length)throw new P("Inconsistent block sizes and dag links");for(let h=0;h<e.Links.length;h++){let d=e.Links[h],p=n,k=p+a.blockSizes[h];if((o>=p&&o<k||i>=p&&i<=k||o<p&&i>k)&&c.push({link:d,blockStart:n}),n=k,n>i)break}await Xe(c,h=>ge(h,d=>async()=>{let p=await D(t.get(d.link.Hash,s));return{...d,block:p}}),h=>Ne(h,{ordered:!0,concurrency:s.blockReadConcurrency}),async h=>{for await(let{link:d,block:p,blockStart:k}of h){let u;switch(d.Hash.code){case vr:u=be(p);break;case ur:u=p;break;default:r.end(new P(`Unsupported codec: ${d.Hash.code}`));return}let l=new Et({concurrency:1});l.on("error",m=>{r.end(m)}),l.add(async()=>{s.onProgress?.(new R("unixfs:exporter:walk:file",{cid:d.Hash})),await _a(t,u,r,k,o,i,s)}),await l.onIdle()}}),n>=i&&r.end()}var xl=(t,e,r,n,o,i,s)=>{async function*a(c={}){let h=r.fileSize();if(h===void 0)throw new Error("File was a directory");let{start:d,end:p}=et(h,c.offset,c.length);if(p===0n)return;let k=0n,u=p-d,l=Je();c.onProgress?.(new R("unixfs:exporter:walk:file",{cid:t})),_a(s,e,l,0n,d,p,c).catch(m=>{l.end(m)});for await(let m of l)if(m!=null){if(k+=BigInt(m.byteLength),k>u)throw l.end(),new Sr("Read too many bytes - the file size reported by the UnixFS data in the root node may be incorrect");k===u&&l.end(),c.onProgress?.(new R("unixfs:exporter:progress:unixfs:file",{bytesRead:k,totalBytes:u,fileSize:h})),yield m}if(k<u)throw new Br("Traversed entire DAG but did not read enough bytes")}return a},vo=xl;var bl=(t,e,r,n,o,i,s)=>{function a(c={}){return c.onProgress?.(new R("unixfs:exporter:walk:hamt-sharded-directory",{cid:t})),Aa(e,n,o,i,s,c)}return a};async function*Aa(t,e,r,n,o,i){let s=t.Links;if(t.Data==null)throw new P("no data in PBNode");let a;try{a=ae.unmarshal(t.Data)}catch(d){throw new P(d.message)}if(a.fanout==null)throw new P("missing fanout");let c=(a.fanout-1n).toString(16).length,h=Xe(s,d=>ge(d,p=>async()=>{let k=p.Name!=null?p.Name.substring(c):null;if(k!=null&&k!==""){let u=`${e}/${k}`;return tt(i)?{entries:[{cid:p.Hash,name:k,path:u}]}:{entries:[(await r(p.Hash,k,u,[],n+1,o,i)).entry].filter(Boolean)}}else{let u=await D(o.get(p.Hash,i));return t=be(u),i.onProgress?.(new R("unixfs:exporter:walk:hamt-sharded-directory",{cid:p.Hash})),{entries:Aa(t,e,r,n,o,i)}}}),d=>Ne(d,{ordered:!0,concurrency:i.blockReadConcurrency}));for await(let{entries:d}of h)yield*d}var Ia=bl;var El=(t,e)=>t.Links.find(n=>n.Name===e)?.Hash,vl={raw:vo,file:vo,directory:ka,"hamt-sharded-directory":Ia,metadata:(t,e,r,n,o,i,s)=>()=>[],symlink:(t,e,r,n,o,i,s)=>()=>[]},kl=async(t,e,r,n,o,i,s,a)=>{if(tt(a)&&n.length===0)return{entry:{cid:t,name:e,path:r}};let c=await D(s.get(t,a)),h=be(c),d,p;if(e==null&&(e=t.toString()),h.Data==null)throw new P("no data in PBNode");try{d=ae.unmarshal(h.Data)}catch(u){throw new P(u.message)}if(r==null&&(r=e),n.length>0){let u;if(d?.type==="hamt-sharded-directory"?u=await va(h,n[0],s):u=El(h,n[0]),u==null)throw new te("file does not exist");let l=n.shift(),m=`${r}/${l}`;p={cid:u,toResolve:n,name:l??"",path:m}}let k=vl[d.type](t,h,d,r,o,i,s);if(k==null)throw new te("could not find content exporter");return d.isDirectory()?{entry:{type:"directory",name:e,path:r,cid:t,content:k,unixfs:d,depth:i,node:h,size:d.fileSize()},next:p}:{entry:{type:"file",name:e,path:r,cid:t,content:k,unixfs:d,depth:i,node:h,size:d.fileSize()},next:p}},Ta=kl;var _l={[vr]:Ta,[ur]:na,[Mi]:Zs,[zs]:ea,[Rn.code]:ta,[is]:ra},Sa=async(t,e,r,n,o,i,s)=>{let a=_l[t.code];if(a==null)throw new Tr(`No resolver for code ${t.code}`);return a(t,e,r,n,Sa,o,i,s)},Ba=Sa;var Al=(t="")=>(t.trim().match(/([^\\^/]|\\\/)+/g)??[]).filter(Boolean),Il=t=>{if(t instanceof Uint8Array)return{cid:N.decode(t),toResolve:[]};let e=N.asCID(t);if(e!=null)return{cid:e,toResolve:[]};if(typeof t=="string"){t.indexOf("/ipfs/")===0&&(t=t.substring(6));let r=Al(t);return{cid:N.parse(r[0]),toResolve:r.slice(1)}}throw new Ir(`Unknown path type ${t}`)};async function*Na(t,e,r={}){let{cid:n,toResolve:o}=Il(t),i=n.toString(),s=i,a=o.length;for(;;){let c=await Ba(n,i,s,o,a,e,r);if(c.entry==null&&c.next==null)throw new te(`Could not resolve ${t}`);if(c.entry!=null&&(yield c.entry),c.next==null)return;o=c.next.toResolve,n=c.next.cid,i=c.next.name,s=c.next.path}}var ko=class{root;path;constructor(...e){let r=e[0],n=e[1];if(typeof r=="string")n=r,r=void 0;else if(e.length<2)throw new Error("path or CID and path must be specified");n.startsWith("/")||(n=`/${n}`),this.root=r,this.path=n}async*traverse(e,r,n,o){for await(let i of Na(`${this.root??e}${this.path}`,r,o))yield ee({cid:i.cid,bytes:i.node instanceof Uint8Array?i.node:Qs(i.node),codec:await n(i.cid.code)})}};function Tl(t){return new kr(t)}return Ra(Sl);})();
3
3
  return HeliaCar}));
4
4
  //# sourceMappingURL=index.min.js.map