helia 0.0.0-ab0a451 → 0.0.0-cff3aa3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.min.js +1 -1
- package/dist/src/helia.d.ts +6 -4
- package/dist/src/helia.d.ts.map +1 -1
- package/dist/src/helia.js +76 -25
- package/dist/src/helia.js.map +1 -1
- package/dist/src/index.d.ts +35 -5
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/pins.d.ts +17 -0
- package/dist/src/pins.d.ts.map +1 -0
- package/dist/src/pins.js +181 -0
- package/dist/src/pins.js.map +1 -0
- package/dist/src/storage.d.ts +25 -25
- package/dist/src/storage.d.ts.map +1 -1
- package/dist/src/storage.js +112 -54
- package/dist/src/storage.js.map +1 -1
- package/dist/src/utils/dag-walkers.d.ts +22 -0
- package/dist/src/utils/dag-walkers.d.ts.map +1 -0
- package/dist/src/utils/dag-walkers.js +145 -0
- package/dist/src/utils/dag-walkers.js.map +1 -0
- package/dist/src/utils/datastore-version.d.ts +3 -0
- package/dist/src/utils/datastore-version.d.ts.map +1 -0
- package/dist/src/utils/datastore-version.js +19 -0
- package/dist/src/utils/datastore-version.js.map +1 -0
- package/package.json +27 -99
- package/src/helia.ts +92 -27
- package/src/index.ts +38 -5
- package/src/pins.ts +238 -0
- package/src/storage.ts +141 -69
- package/src/utils/dag-walkers.ts +169 -0
- package/src/utils/datastore-version.ts +23 -0
package/dist/index.min.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
(function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.Helia = factory()}(typeof self !== 'undefined' ? self : this, function () {
|
|
2
|
-
"use strict";var Helia=(()=>{var Ms=Object.create;var jt=Object.defineProperty;var Fs=Object.getOwnPropertyDescriptor;var Ds=Object.getOwnPropertyNames;var Ns=Object.getPrototypeOf,Os=Object.prototype.hasOwnProperty;var v=(r,t)=>()=>(t||r((t={exports:{}}).exports,t),t.exports),M=(r,t)=>{for(var e in t)jt(r,e,{get:t[e],enumerable:!0})},Wr=(r,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Ds(t))!Os.call(r,i)&&i!==e&&jt(r,i,{get:()=>t[i],enumerable:!(n=Fs(t,i))||n.enumerable});return r};var L=(r,t,e)=>(e=r!=null?Ms(Ns(r)):{},Wr(t||!r||!r.__esModule?jt(e,"default",{value:r,enumerable:!0}):e,r)),Ps=r=>Wr(jt({},"__esModule",{value:!0}),r);var ln=v((Vc,un)=>{un.exports=cn;var an=128,ko=127,Eo=~ko,So=Math.pow(2,31);function cn(r,t,e){t=t||[],e=e||0;for(var n=e;r>=So;)t[e++]=r&255|an,r/=128;for(;r&Eo;)t[e++]=r&255|an,r>>>=7;return t[e]=r|0,cn.bytes=e-n+1,t}});var dn=v(($c,fn)=>{fn.exports=$e;var Bo=128,hn=127;function $e(r,n){var e=0,n=n||0,i=0,s=n,o,a=r.length;do{if(s>=a)throw $e.bytes=0,new RangeError("Could not decode varint");o=r[s++],e+=i<28?(o&hn)<<i:(o&hn)*Math.pow(2,i),i+=7}while(o>=Bo);return $e.bytes=s-n,e}});var gn=v((Gc,pn)=>{var Co=Math.pow(2,7),Ao=Math.pow(2,14),To=Math.pow(2,21),Lo=Math.pow(2,28),Mo=Math.pow(2,35),Fo=Math.pow(2,42),Do=Math.pow(2,49),No=Math.pow(2,56),Oo=Math.pow(2,63);pn.exports=function(r){return r<Co?1:r<Ao?2:r<To?3:r<Lo?4:r<Mo?5:r<Fo?6:r<Do?7:r<No?8:r<Oo?9:10}});var yn=v((jc,mn)=>{mn.exports={encode:ln(),decode:dn(),encodingLength:gn()}});var _n=v((Kc,bn)=>{"use strict";var wn=yn();bn.exports=r=>{if(!(r instanceof Uint8Array))throw new Error("arg needs to be a Uint8Array");let t=[];for(;r.length>0;){let e=wn.decode(r);t.push(e),r=r.slice(wn.decode.bytes)}return t}});var kn=v((Qc,xn)=>{xn.exports=Ge;var vn=128,Po=127,zo=~Po,Io=Math.pow(2,31);function Ge(r,t,e){if(Number.MAX_SAFE_INTEGER&&r>Number.MAX_SAFE_INTEGER)throw Ge.bytes=0,new RangeError("Could not encode varint");t=t||[],e=e||0;for(var n=e;r>=Io;)t[e++]=r&255|vn,r/=128;for(;r&zo;)t[e++]=r&255|vn,r>>>=7;return t[e]=r|0,Ge.bytes=e-n+1,t}});var Bn=v((Xc,Sn)=>{Sn.exports=je;var Ro=128,En=127;function je(r,n){var e=0,n=n||0,i=0,s=n,o,a=r.length;do{if(s>=a||i>49)throw je.bytes=0,new RangeError("Could not decode varint");o=r[s++],e+=i<28?(o&En)<<i:(o&En)*Math.pow(2,i),i+=7}while(o>=Ro);return je.bytes=s-n,e}});var An=v((Jc,Cn)=>{var Uo=Math.pow(2,7),Ho=Math.pow(2,14),Wo=Math.pow(2,21),qo=Math.pow(2,28),Vo=Math.pow(2,35),$o=Math.pow(2,42),Go=Math.pow(2,49),jo=Math.pow(2,56),Ko=Math.pow(2,63);Cn.exports=function(r){return r<Uo?1:r<Ho?2:r<Wo?3:r<qo?4:r<Vo?5:r<$o?6:r<Go?7:r<jo?8:r<Ko?9:10}});var Ln=v((Zc,Tn)=>{Tn.exports={encode:kn(),decode:Bn(),encodingLength:An()}});var Dn=v((tu,Fn)=>{var St=1e3,Bt=St*60,Ct=Bt*60,ct=Ct*24,Xo=ct*7,Jo=ct*365.25;Fn.exports=function(r,t){t=t||{};var e=typeof r;if(e==="string"&&r.length>0)return Zo(r);if(e==="number"&&isFinite(r))return t.long?ta(r):Yo(r);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(r))};function Zo(r){if(r=String(r),!(r.length>100)){var t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(r);if(t){var e=parseFloat(t[1]),n=(t[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return e*Jo;case"weeks":case"week":case"w":return e*Xo;case"days":case"day":case"d":return e*ct;case"hours":case"hour":case"hrs":case"hr":case"h":return e*Ct;case"minutes":case"minute":case"mins":case"min":case"m":return e*Bt;case"seconds":case"second":case"secs":case"sec":case"s":return e*St;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return e;default:return}}}}function Yo(r){var t=Math.abs(r);return t>=ct?Math.round(r/ct)+"d":t>=Ct?Math.round(r/Ct)+"h":t>=Bt?Math.round(r/Bt)+"m":t>=St?Math.round(r/St)+"s":r+"ms"}function ta(r){var t=Math.abs(r);return t>=ct?Qt(r,t,ct,"day"):t>=Ct?Qt(r,t,Ct,"hour"):t>=Bt?Qt(r,t,Bt,"minute"):t>=St?Qt(r,t,St,"second"):r+" ms"}function Qt(r,t,e,n){var i=t>=e*1.5;return Math.round(r/e)+" "+n+(i?"s":"")}});var On=v((eu,Nn)=>{function ea(r){e.debug=e,e.default=e,e.coerce=c,e.disable=s,e.enable=i,e.enabled=o,e.humanize=Dn(),e.destroy=u,Object.keys(r).forEach(l=>{e[l]=r[l]}),e.names=[],e.skips=[],e.formatters={};function t(l){let h=0;for(let f=0;f<l.length;f++)h=(h<<5)-h+l.charCodeAt(f),h|=0;return e.colors[Math.abs(h)%e.colors.length]}e.selectColor=t;function e(l){let h,f=null,m,d;function p(...y){if(!p.enabled)return;let E=p,C=Number(new Date),P=C-(h||C);E.diff=P,E.prev=h,E.curr=C,h=C,y[0]=e.coerce(y[0]),typeof y[0]!="string"&&y.unshift("%O");let T=0;y[0]=y[0].replace(/%([a-zA-Z%])/g,(z,D)=>{if(z==="%%")return"%";T++;let I=e.formatters[D];if(typeof I=="function"){let bt=y[T];z=I.call(E,bt),y.splice(T,1),T--}return z}),e.formatArgs.call(E,y),(E.log||e.log).apply(E,y)}return p.namespace=l,p.useColors=e.useColors(),p.color=e.selectColor(l),p.extend=n,p.destroy=e.destroy,Object.defineProperty(p,"enabled",{enumerable:!0,configurable:!1,get:()=>f!==null?f:(m!==e.namespaces&&(m=e.namespaces,d=e.enabled(l)),d),set:y=>{f=y}}),typeof e.init=="function"&&e.init(p),p}function n(l,h){let f=e(this.namespace+(typeof h>"u"?":":h)+l);return f.log=this.log,f}function i(l){e.save(l),e.namespaces=l,e.names=[],e.skips=[];let h,f=(typeof l=="string"?l:"").split(/[\s,]+/),m=f.length;for(h=0;h<m;h++)f[h]&&(l=f[h].replace(/\*/g,".*?"),l[0]==="-"?e.skips.push(new RegExp("^"+l.slice(1)+"$")):e.names.push(new RegExp("^"+l+"$")))}function s(){let l=[...e.names.map(a),...e.skips.map(a).map(h=>"-"+h)].join(",");return e.enable(""),l}function o(l){if(l[l.length-1]==="*")return!0;let h,f;for(h=0,f=e.skips.length;h<f;h++)if(e.skips[h].test(l))return!1;for(h=0,f=e.names.length;h<f;h++)if(e.names[h].test(l))return!0;return!1}function a(l){return l.toString().substring(2,l.toString().length-2).replace(/\.\*\?$/,"*")}function c(l){return l instanceof Error?l.stack||l.message:l}function u(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return e.enable(e.load()),e}Nn.exports=ea});var Pn=v((N,Xt)=>{N.formatArgs=na;N.save=ia;N.load=sa;N.useColors=ra;N.storage=oa();N.destroy=(()=>{let r=!1;return()=>{r||(r=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();N.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function ra(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1:typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function na(r){if(r[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+r[0]+(this.useColors?"%c ":" ")+"+"+Xt.exports.humanize(this.diff),!this.useColors)return;let t="color: "+this.color;r.splice(1,0,t,"color: inherit");let e=0,n=0;r[0].replace(/%[a-zA-Z%]/g,i=>{i!=="%%"&&(e++,i==="%c"&&(n=e))}),r.splice(n,0,t)}N.log=console.debug||console.log||(()=>{});function ia(r){try{r?N.storage.setItem("debug",r):N.storage.removeItem("debug")}catch{}}function sa(){let r;try{r=N.storage.getItem("debug")}catch{}return!r&&typeof process<"u"&&"env"in process&&(r=process.env.DEBUG),r}function oa(){try{return localStorage}catch{}}Xt.exports=On()(N);var{formatters:aa}=Xt.exports;aa.j=function(r){try{return JSON.stringify(r)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}});var Rn=v((yu,In)=>{"use strict";In.exports=ha;function ha(r,t){for(var e=new Array(arguments.length-1),n=0,i=2,s=!0;i<arguments.length;)e[n++]=arguments[i++];return new Promise(function(a,c){e[n]=function(l){if(s)if(s=!1,l)c(l);else{for(var h=new Array(arguments.length-1),f=0;f<h.length;)h[f++]=arguments[f];a.apply(null,h)}};try{r.apply(t||null,e)}catch(u){s&&(s=!1,c(u))}})}});var qn=v(Wn=>{"use strict";var Yt=Wn;Yt.length=function(t){var e=t.length;if(!e)return 0;for(var n=0;--e%4>1&&t.charAt(e)==="=";)++n;return Math.ceil(t.length*3)/4-n};var At=new Array(64),Hn=new Array(123);for(W=0;W<64;)Hn[At[W]=W<26?W+65:W<52?W+71:W<62?W-4:W-59|43]=W++;var W;Yt.encode=function(t,e,n){for(var i=null,s=[],o=0,a=0,c;e<n;){var u=t[e++];switch(a){case 0:s[o++]=At[u>>2],c=(u&3)<<4,a=1;break;case 1:s[o++]=At[c|u>>4],c=(u&15)<<2,a=2;break;case 2:s[o++]=At[c|u>>6],s[o++]=At[u&63],a=0;break}o>8191&&((i||(i=[])).push(String.fromCharCode.apply(String,s)),o=0)}return a&&(s[o++]=At[c],s[o++]=61,a===1&&(s[o++]=61)),i?(o&&i.push(String.fromCharCode.apply(String,s.slice(0,o))),i.join("")):String.fromCharCode.apply(String,s.slice(0,o))};var Un="invalid encoding";Yt.decode=function(t,e,n){for(var i=n,s=0,o,a=0;a<t.length;){var c=t.charCodeAt(a++);if(c===61&&s>1)break;if((c=Hn[c])===void 0)throw Error(Un);switch(s){case 0:o=c,s=1;break;case 1:e[n++]=o<<2|(c&48)>>4,o=c,s=2;break;case 2:e[n++]=(o&15)<<4|(c&60)>>2,o=c,s=3;break;case 3:e[n++]=(o&3)<<6|c,s=0;break}}if(s===1)throw Error(Un);return n-i};Yt.test=function(t){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(t)}});var $n=v((bu,Vn)=>{"use strict";Vn.exports=te;function te(){this._listeners={}}te.prototype.on=function(t,e,n){return(this._listeners[t]||(this._listeners[t]=[])).push({fn:e,ctx:n||this}),this};te.prototype.off=function(t,e){if(t===void 0)this._listeners={};else if(e===void 0)this._listeners[t]=[];else for(var n=this._listeners[t],i=0;i<n.length;)n[i].fn===e?n.splice(i,1):++i;return this};te.prototype.emit=function(t){var e=this._listeners[t];if(e){for(var n=[],i=1;i<arguments.length;)n.push(arguments[i++]);for(i=0;i<e.length;)e[i].fn.apply(e[i++].ctx,n)}return this}});var Zn=v((_u,Jn)=>{"use strict";Jn.exports=Gn(Gn);function Gn(r){return typeof Float32Array<"u"?function(){var t=new Float32Array([-0]),e=new Uint8Array(t.buffer),n=e[3]===128;function i(c,u,l){t[0]=c,u[l]=e[0],u[l+1]=e[1],u[l+2]=e[2],u[l+3]=e[3]}function s(c,u,l){t[0]=c,u[l]=e[3],u[l+1]=e[2],u[l+2]=e[1],u[l+3]=e[0]}r.writeFloatLE=n?i:s,r.writeFloatBE=n?s:i;function o(c,u){return e[0]=c[u],e[1]=c[u+1],e[2]=c[u+2],e[3]=c[u+3],t[0]}function a(c,u){return e[3]=c[u],e[2]=c[u+1],e[1]=c[u+2],e[0]=c[u+3],t[0]}r.readFloatLE=n?o:a,r.readFloatBE=n?a:o}():function(){function t(n,i,s,o){var a=i<0?1:0;if(a&&(i=-i),i===0)n(1/i>0?0:2147483648,s,o);else if(isNaN(i))n(2143289344,s,o);else if(i>34028234663852886e22)n((a<<31|2139095040)>>>0,s,o);else if(i<11754943508222875e-54)n((a<<31|Math.round(i/1401298464324817e-60))>>>0,s,o);else{var c=Math.floor(Math.log(i)/Math.LN2),u=Math.round(i*Math.pow(2,-c)*8388608)&8388607;n((a<<31|c+127<<23|u)>>>0,s,o)}}r.writeFloatLE=t.bind(null,jn),r.writeFloatBE=t.bind(null,Kn);function e(n,i,s){var o=n(i,s),a=(o>>31)*2+1,c=o>>>23&255,u=o&8388607;return c===255?u?NaN:a*(1/0):c===0?a*1401298464324817e-60*u:a*Math.pow(2,c-150)*(u+8388608)}r.readFloatLE=e.bind(null,Qn),r.readFloatBE=e.bind(null,Xn)}(),typeof Float64Array<"u"?function(){var t=new Float64Array([-0]),e=new Uint8Array(t.buffer),n=e[7]===128;function i(c,u,l){t[0]=c,u[l]=e[0],u[l+1]=e[1],u[l+2]=e[2],u[l+3]=e[3],u[l+4]=e[4],u[l+5]=e[5],u[l+6]=e[6],u[l+7]=e[7]}function s(c,u,l){t[0]=c,u[l]=e[7],u[l+1]=e[6],u[l+2]=e[5],u[l+3]=e[4],u[l+4]=e[3],u[l+5]=e[2],u[l+6]=e[1],u[l+7]=e[0]}r.writeDoubleLE=n?i:s,r.writeDoubleBE=n?s:i;function o(c,u){return e[0]=c[u],e[1]=c[u+1],e[2]=c[u+2],e[3]=c[u+3],e[4]=c[u+4],e[5]=c[u+5],e[6]=c[u+6],e[7]=c[u+7],t[0]}function a(c,u){return e[7]=c[u],e[6]=c[u+1],e[5]=c[u+2],e[4]=c[u+3],e[3]=c[u+4],e[2]=c[u+5],e[1]=c[u+6],e[0]=c[u+7],t[0]}r.readDoubleLE=n?o:a,r.readDoubleBE=n?a:o}():function(){function t(n,i,s,o,a,c){var u=o<0?1:0;if(u&&(o=-o),o===0)n(0,a,c+i),n(1/o>0?0:2147483648,a,c+s);else if(isNaN(o))n(0,a,c+i),n(2146959360,a,c+s);else if(o>17976931348623157e292)n(0,a,c+i),n((u<<31|2146435072)>>>0,a,c+s);else{var l;if(o<22250738585072014e-324)l=o/5e-324,n(l>>>0,a,c+i),n((u<<31|l/4294967296)>>>0,a,c+s);else{var h=Math.floor(Math.log(o)/Math.LN2);h===1024&&(h=1023),l=o*Math.pow(2,-h),n(l*4503599627370496>>>0,a,c+i),n((u<<31|h+1023<<20|l*1048576&1048575)>>>0,a,c+s)}}}r.writeDoubleLE=t.bind(null,jn,0,4),r.writeDoubleBE=t.bind(null,Kn,4,0);function e(n,i,s,o,a){var c=n(o,a+i),u=n(o,a+s),l=(u>>31)*2+1,h=u>>>20&2047,f=4294967296*(u&1048575)+c;return h===2047?f?NaN:l*(1/0):h===0?l*5e-324*f:l*Math.pow(2,h-1075)*(f+4503599627370496)}r.readDoubleLE=e.bind(null,Qn,0,4),r.readDoubleBE=e.bind(null,Xn,4,0)}(),r}function jn(r,t,e){t[e]=r&255,t[e+1]=r>>>8&255,t[e+2]=r>>>16&255,t[e+3]=r>>>24}function Kn(r,t,e){t[e]=r>>>24,t[e+1]=r>>>16&255,t[e+2]=r>>>8&255,t[e+3]=r&255}function Qn(r,t){return(r[t]|r[t+1]<<8|r[t+2]<<16|r[t+3]<<24)>>>0}function Xn(r,t){return(r[t]<<24|r[t+1]<<16|r[t+2]<<8|r[t+3])>>>0}});var Yn=v((exports,module)=>{"use strict";module.exports=inquire;function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(r){}return null}});var ei=v(ti=>{"use strict";var Xe=ti;Xe.length=function(t){for(var e=0,n=0,i=0;i<t.length;++i)n=t.charCodeAt(i),n<128?e+=1:n<2048?e+=2:(n&64512)===55296&&(t.charCodeAt(i+1)&64512)===56320?(++i,e+=4):e+=3;return e};Xe.read=function(t,e,n){var i=n-e;if(i<1)return"";for(var s=null,o=[],a=0,c;e<n;)c=t[e++],c<128?o[a++]=c:c>191&&c<224?o[a++]=(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,o[a++]=55296+(c>>10),o[a++]=56320+(c&1023)):o[a++]=(c&15)<<12|(t[e++]&63)<<6|t[e++]&63,a>8191&&((s||(s=[])).push(String.fromCharCode.apply(String,o)),a=0);return s?(a&&s.push(String.fromCharCode.apply(String,o.slice(0,a))),s.join("")):String.fromCharCode.apply(String,o.slice(0,a))};Xe.write=function(t,e,n){for(var i=n,s,o,a=0;a<t.length;++a)s=t.charCodeAt(a),s<128?e[n++]=s:s<2048?(e[n++]=s>>6|192,e[n++]=s&63|128):(s&64512)===55296&&((o=t.charCodeAt(a+1))&64512)===56320?(s=65536+((s&1023)<<10)+(o&1023),++a,e[n++]=s>>18|240,e[n++]=s>>12&63|128,e[n++]=s>>6&63|128,e[n++]=s&63|128):(e[n++]=s>>12|224,e[n++]=s>>6&63|128,e[n++]=s&63|128);return n-i}});var ni=v((xu,ri)=>{"use strict";ri.exports=fa;function fa(r,t,e){var n=e||8192,i=n>>>1,s=null,o=n;return function(c){if(c<1||c>i)return r(c);o+c>n&&(s=r(n),o=0);var u=t.call(s,o,o+=c);return o&7&&(o=(o|7)+1),u}}});var si=v((ku,ii)=>{"use strict";ii.exports=A;var zt=ht();function A(r,t){this.lo=r>>>0,this.hi=t>>>0}var lt=A.zero=new A(0,0);lt.toNumber=function(){return 0};lt.zzEncode=lt.zzDecode=function(){return this};lt.length=function(){return 1};var da=A.zeroHash="\0\0\0\0\0\0\0\0";A.fromNumber=function(t){if(t===0)return lt;var e=t<0;e&&(t=-t);var n=t>>>0,i=(t-n)/4294967296>>>0;return e&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new A(n,i)};A.from=function(t){if(typeof t=="number")return A.fromNumber(t);if(zt.isString(t))if(zt.Long)t=zt.Long.fromString(t);else return A.fromNumber(parseInt(t,10));return t.low||t.high?new A(t.low>>>0,t.high>>>0):lt};A.prototype.toNumber=function(t){if(!t&&this.hi>>>31){var e=~this.lo+1>>>0,n=~this.hi>>>0;return e||(n=n+1>>>0),-(e+n*4294967296)}return this.lo+this.hi*4294967296};A.prototype.toLong=function(t){return zt.Long?new zt.Long(this.lo|0,this.hi|0,Boolean(t)):{low:this.lo|0,high:this.hi|0,unsigned:Boolean(t)}};var rt=String.prototype.charCodeAt;A.fromHash=function(t){return t===da?lt:new A((rt.call(t,0)|rt.call(t,1)<<8|rt.call(t,2)<<16|rt.call(t,3)<<24)>>>0,(rt.call(t,4)|rt.call(t,5)<<8|rt.call(t,6)<<16|rt.call(t,7)<<24)>>>0)};A.prototype.toHash=function(){return String.fromCharCode(this.lo&255,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,this.hi&255,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)};A.prototype.zzEncode=function(){var t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this};A.prototype.zzDecode=function(){var t=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this};A.prototype.length=function(){var t=this.lo,e=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?e===0?t<16384?t<128?1:2:t<2097152?3:4:e<16384?e<128?5:6:e<2097152?7:8:n<128?9:10}});var ht=v(Je=>{"use strict";var g=Je;g.asPromise=Rn();g.base64=qn();g.EventEmitter=$n();g.float=Zn();g.inquire=Yn();g.utf8=ei();g.pool=ni();g.LongBits=si();g.isNode=Boolean(typeof globalThis<"u"&&globalThis&&globalThis.process&&globalThis.process.versions&&globalThis.process.versions.node);g.global=g.isNode&&globalThis||typeof window<"u"&&window||typeof self<"u"&&self||Je;g.emptyArray=Object.freeze?Object.freeze([]):[];g.emptyObject=Object.freeze?Object.freeze({}):{};g.isInteger=Number.isInteger||function(t){return typeof t=="number"&&isFinite(t)&&Math.floor(t)===t};g.isString=function(t){return typeof t=="string"||t instanceof String};g.isObject=function(t){return t&&typeof t=="object"};g.isset=g.isSet=function(t,e){var n=t[e];return n!=null&&t.hasOwnProperty(e)?typeof n!="object"||(Array.isArray(n)?n.length:Object.keys(n).length)>0:!1};g.Buffer=function(){try{var r=g.inquire("buffer").Buffer;return r.prototype.utf8Write?r:null}catch{return null}}();g._Buffer_from=null;g._Buffer_allocUnsafe=null;g.newBuffer=function(t){return typeof t=="number"?g.Buffer?g._Buffer_allocUnsafe(t):new g.Array(t):g.Buffer?g._Buffer_from(t):typeof Uint8Array>"u"?t:new Uint8Array(t)};g.Array=typeof Uint8Array<"u"?Uint8Array:Array;g.Long=g.global.dcodeIO&&g.global.dcodeIO.Long||g.global.Long||g.inquire("long");g.key2Re=/^true|false|0|1$/;g.key32Re=/^-?(?:0|[1-9][0-9]*)$/;g.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/;g.longToHash=function(t){return t?g.LongBits.from(t).toHash():g.LongBits.zeroHash};g.longFromHash=function(t,e){var n=g.LongBits.fromHash(t);return g.Long?g.Long.fromBits(n.lo,n.hi,e):n.toNumber(Boolean(e))};function oi(r,t,e){for(var n=Object.keys(t),i=0;i<n.length;++i)(r[n[i]]===void 0||!e)&&(r[n[i]]=t[n[i]]);return r}g.merge=oi;g.lcFirst=function(t){return t.charAt(0).toLowerCase()+t.substring(1)};function ai(r){function t(e,n){if(!(this instanceof t))return new t(e,n);Object.defineProperty(this,"message",{get:function(){return e}}),Error.captureStackTrace?Error.captureStackTrace(this,t):Object.defineProperty(this,"stack",{value:new Error().stack||""}),n&&oi(this,n)}return t.prototype=Object.create(Error.prototype,{constructor:{value:t,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return r},set:void 0,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),t}g.newError=ai;g.ProtocolError=ai("ProtocolError");g.oneOfGetter=function(t){for(var e={},n=0;n<t.length;++n)e[t[n]]=1;return function(){for(var i=Object.keys(this),s=i.length-1;s>-1;--s)if(e[i[s]]===1&&this[i[s]]!==void 0&&this[i[s]]!==null)return i[s]}};g.oneOfSetter=function(t){return function(e){for(var n=0;n<t.length;++n)t[n]!==e&&delete this[t[n]]}};g.toJSONOptions={longs:String,enums:String,bytes:String,json:!0};g._configure=function(){var r=g.Buffer;if(!r){g._Buffer_from=g._Buffer_allocUnsafe=null;return}g._Buffer_from=r.from!==Uint8Array.from&&r.from||function(e,n){return new r(e,n)},g._Buffer_allocUnsafe=r.allocUnsafe||function(e){return new r(e)}}});var tr=v((Su,fi)=>{"use strict";fi.exports=B;var $=ht(),Ye,li=$.LongBits,pa=$.utf8;function q(r,t){return RangeError("index out of range: "+r.pos+" + "+(t||1)+" > "+r.len)}function B(r){this.buf=r,this.pos=0,this.len=r.length}var ci=typeof Uint8Array<"u"?function(t){if(t instanceof Uint8Array||Array.isArray(t))return new B(t);throw Error("illegal buffer")}:function(t){if(Array.isArray(t))return new B(t);throw Error("illegal buffer")},hi=function(){return $.Buffer?function(e){return(B.create=function(i){return $.Buffer.isBuffer(i)?new Ye(i):ci(i)})(e)}:ci};B.create=hi();B.prototype._slice=$.Array.prototype.subarray||$.Array.prototype.slice;B.prototype.uint32=function(){var t=4294967295;return function(){if(t=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(t=(t|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return t;if((this.pos+=5)>this.len)throw this.pos=this.len,q(this,10);return t}}();B.prototype.int32=function(){return this.uint32()|0};B.prototype.sint32=function(){var t=this.uint32();return t>>>1^-(t&1)|0};function Ze(){var r=new li(0,0),t=0;if(this.len-this.pos>4){for(;t<4;++t)if(r.lo=(r.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return r;if(r.lo=(r.lo|(this.buf[this.pos]&127)<<28)>>>0,r.hi=(r.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return r;t=0}else{for(;t<3;++t){if(this.pos>=this.len)throw q(this);if(r.lo=(r.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return r}return r.lo=(r.lo|(this.buf[this.pos++]&127)<<t*7)>>>0,r}if(this.len-this.pos>4){for(;t<5;++t)if(r.hi=(r.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return r}else for(;t<5;++t){if(this.pos>=this.len)throw q(this);if(r.hi=(r.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return r}throw Error("invalid varint encoding")}B.prototype.bool=function(){return this.uint32()!==0};function ee(r,t){return(r[t-4]|r[t-3]<<8|r[t-2]<<16|r[t-1]<<24)>>>0}B.prototype.fixed32=function(){if(this.pos+4>this.len)throw q(this,4);return ee(this.buf,this.pos+=4)};B.prototype.sfixed32=function(){if(this.pos+4>this.len)throw q(this,4);return ee(this.buf,this.pos+=4)|0};function ui(){if(this.pos+8>this.len)throw q(this,8);return new li(ee(this.buf,this.pos+=4),ee(this.buf,this.pos+=4))}B.prototype.float=function(){if(this.pos+4>this.len)throw q(this,4);var t=$.float.readFloatLE(this.buf,this.pos);return this.pos+=4,t};B.prototype.double=function(){if(this.pos+8>this.len)throw q(this,4);var t=$.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,t};B.prototype.bytes=function(){var t=this.uint32(),e=this.pos,n=this.pos+t;if(n>this.len)throw q(this,t);return this.pos+=t,Array.isArray(this.buf)?this.buf.slice(e,n):e===n?new this.buf.constructor(0):this._slice.call(this.buf,e,n)};B.prototype.string=function(){var t=this.bytes();return pa.read(t,0,t.length)};B.prototype.skip=function(t){if(typeof t=="number"){if(this.pos+t>this.len)throw q(this,t);this.pos+=t}else do if(this.pos>=this.len)throw q(this);while(this.buf[this.pos++]&128);return this};B.prototype.skipType=function(r){switch(r){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(r=this.uint32()&7)!==4;)this.skipType(r);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+r+" at offset "+this.pos)}return this};B._configure=function(r){Ye=r,B.create=hi(),Ye._configure();var t=$.Long?"toLong":"toNumber";$.merge(B.prototype,{int64:function(){return Ze.call(this)[t](!1)},uint64:function(){return Ze.call(this)[t](!0)},sint64:function(){return Ze.call(this).zzDecode()[t](!1)},fixed64:function(){return ui.call(this)[t](!0)},sfixed64:function(){return ui.call(this)[t](!1)}})}});var mi=v((Bu,gi)=>{"use strict";gi.exports=ft;var pi=tr();(ft.prototype=Object.create(pi.prototype)).constructor=ft;var di=ht();function ft(r){pi.call(this,r)}ft._configure=function(){di.Buffer&&(ft.prototype._slice=di.Buffer.prototype.slice)};ft.prototype.string=function(){var t=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+t,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+t,this.len))};ft._configure()});var ar=v((Cu,_i)=>{"use strict";_i.exports=_;var U=ht(),er,re=U.LongBits,yi=U.base64,wi=U.utf8;function It(r,t,e){this.fn=r,this.len=t,this.next=void 0,this.val=e}function nr(){}function ga(r){this.head=r.head,this.tail=r.tail,this.len=r.len,this.next=r.states}function _(){this.len=0,this.head=new It(nr,0,0),this.tail=this.head,this.states=null}var bi=function(){return U.Buffer?function(){return(_.create=function(){return new er})()}:function(){return new _}};_.create=bi();_.alloc=function(t){return new U.Array(t)};U.Array!==Array&&(_.alloc=U.pool(_.alloc,U.Array.prototype.subarray));_.prototype._push=function(t,e,n){return this.tail=this.tail.next=new It(t,e,n),this.len+=e,this};function ir(r,t,e){t[e]=r&255}function ma(r,t,e){for(;r>127;)t[e++]=r&127|128,r>>>=7;t[e]=r}function sr(r,t){this.len=r,this.next=void 0,this.val=t}sr.prototype=Object.create(It.prototype);sr.prototype.fn=ma;_.prototype.uint32=function(t){return this.len+=(this.tail=this.tail.next=new sr((t=t>>>0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this};_.prototype.int32=function(t){return t<0?this._push(or,10,re.fromNumber(t)):this.uint32(t)};_.prototype.sint32=function(t){return this.uint32((t<<1^t>>31)>>>0)};function or(r,t,e){for(;r.hi;)t[e++]=r.lo&127|128,r.lo=(r.lo>>>7|r.hi<<25)>>>0,r.hi>>>=7;for(;r.lo>127;)t[e++]=r.lo&127|128,r.lo=r.lo>>>7;t[e++]=r.lo}_.prototype.uint64=function(t){var e=re.from(t);return this._push(or,e.length(),e)};_.prototype.int64=_.prototype.uint64;_.prototype.sint64=function(t){var e=re.from(t).zzEncode();return this._push(or,e.length(),e)};_.prototype.bool=function(t){return this._push(ir,1,t?1:0)};function rr(r,t,e){t[e]=r&255,t[e+1]=r>>>8&255,t[e+2]=r>>>16&255,t[e+3]=r>>>24}_.prototype.fixed32=function(t){return this._push(rr,4,t>>>0)};_.prototype.sfixed32=_.prototype.fixed32;_.prototype.fixed64=function(t){var e=re.from(t);return this._push(rr,4,e.lo)._push(rr,4,e.hi)};_.prototype.sfixed64=_.prototype.fixed64;_.prototype.float=function(t){return this._push(U.float.writeFloatLE,4,t)};_.prototype.double=function(t){return this._push(U.float.writeDoubleLE,8,t)};var ya=U.Array.prototype.set?function(t,e,n){e.set(t,n)}:function(t,e,n){for(var i=0;i<t.length;++i)e[n+i]=t[i]};_.prototype.bytes=function(t){var e=t.length>>>0;if(!e)return this._push(ir,1,0);if(U.isString(t)){var n=_.alloc(e=yi.length(t));yi.decode(t,n,0),t=n}return this.uint32(e)._push(ya,e,t)};_.prototype.string=function(t){var e=wi.length(t);return e?this.uint32(e)._push(wi.write,e,t):this._push(ir,1,0)};_.prototype.fork=function(){return this.states=new ga(this),this.head=this.tail=new It(nr,0,0),this.len=0,this};_.prototype.reset=function(){return this.states?(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 It(nr,0,0),this.len=0),this};_.prototype.ldelim=function(){var t=this.head,e=this.tail,n=this.len;return this.reset().uint32(n),n&&(this.tail.next=t.next,this.tail=e,this.len+=n),this};_.prototype.finish=function(){for(var t=this.head.next,e=this.constructor.alloc(this.len),n=0;t;)t.fn(t.val,e,n),n+=t.len,t=t.next;return e};_._configure=function(r){er=r,_.create=bi(),er._configure()}});var ki=v((Au,xi)=>{"use strict";xi.exports=G;var vi=ar();(G.prototype=Object.create(vi.prototype)).constructor=G;var nt=ht();function G(){vi.call(this)}G._configure=function(){G.alloc=nt._Buffer_allocUnsafe,G.writeBytesBuffer=nt.Buffer&&nt.Buffer.prototype instanceof Uint8Array&&nt.Buffer.prototype.set.name==="set"?function(t,e,n){e.set(t,n)}:function(t,e,n){if(t.copy)t.copy(e,n,0,t.length);else for(var i=0;i<t.length;)e[n++]=t[i++]}};G.prototype.bytes=function(t){nt.isString(t)&&(t=nt._Buffer_from(t,"base64"));var e=t.length>>>0;return this.uint32(e),e&&this._push(G.writeBytesBuffer,e,t),this};function wa(r,t,e){r.length<40?nt.utf8.write(r,t,e):t.utf8Write?t.utf8Write(r,e):t.write(r,e)}G.prototype.string=function(t){var e=nt.Buffer.byteLength(t);return this.uint32(e),e&&this._push(wa,e,t),this};G._configure()});var gr=v((ql,Ri)=>{"use strict";function Ii(r,t){for(let e in t)Object.defineProperty(r,e,{value:t[e],enumerable:!0,configurable:!0});return r}function Na(r,t,e){if(!r||typeof r=="string")throw new TypeError("Please pass an Error to err-code");e||(e={}),typeof t=="object"&&(e=t,t=""),t&&(e.code=t);try{return Ii(r,e)}catch{e.message=r.message,e.stack=r.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(r)),Ii(new i,e)}}Ri.exports=Na});var Vi=v((oh,qi)=>{"use strict";qi.exports=function(){return Date.now()}});var Gi=v((ah,$i)=>{"use strict";var de=Vi(),vr=class{constructor(t,e,n){let i=this;this._started=de(),this._rescheduled=0,this._scheduled=e,this._args=n,this._triggered=!1,this._timerWrapper=()=>{i._rescheduled>0?(i._scheduled=i._rescheduled-(de()-i._started),i._schedule(i._scheduled)):(i._triggered=!0,t.apply(null,i._args))},this._timer=setTimeout(this._timerWrapper,e)}reschedule(t){t||(t=this._scheduled);let e=de();e+t-(this._started+this._scheduled)<0?(clearTimeout(this._timer),this._schedule(t)):this._triggered?this._schedule(t):(this._started=e,this._rescheduled=t)}_schedule(t){this._triggered=!1,this._started=de(),this._rescheduled=0,this._scheduled=t,this._timer=setTimeout(this._timerWrapper,t)}clear(){clearTimeout(this._timer)}};function Ha(){if(typeof arguments[0]!="function")throw new Error("callback needed");if(typeof arguments[1]!="number")throw new Error("timeout needed");let r;if(arguments.length>0){r=new Array(arguments.length-2);for(var t=0;t<r.length;t++)r[t]=arguments[t+2]}return new vr(arguments[0],arguments[1],r)}$i.exports=Ha});var Qi=v((ch,Ki)=>{"use strict";var{AbortController:Wa}=globalThis,ji=Gi(),qt=class extends Wa{constructor(t){super(),this._ms=t,this._timer=ji(()=>this.abort(),t),Object.setPrototypeOf(this,qt.prototype)}abort(){return this._timer.clear(),super.abort()}clear(){this._timer.clear()}reset(){this._timer.clear(),this._timer=ji(()=>this.abort(),this._ms)}};Ki.exports={TimeoutController:qt}});var ve=v((Ph,Br)=>{"use strict";var Mt=typeof Reflect=="object"?Reflect:null,es=Mt&&typeof Mt.apply=="function"?Mt.apply:function(t,e,n){return Function.prototype.apply.call(t,e,n)},be;Mt&&typeof Mt.ownKeys=="function"?be=Mt.ownKeys:Object.getOwnPropertySymbols?be=function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:be=function(t){return Object.getOwnPropertyNames(t)};function Ja(r){console&&console.warn&&console.warn(r)}var ns=Number.isNaN||function(t){return t!==t};function k(){k.init.call(this)}Br.exports=k;Br.exports.once=ec;k.EventEmitter=k;k.prototype._events=void 0;k.prototype._eventsCount=0;k.prototype._maxListeners=void 0;var rs=10;function _e(r){if(typeof r!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof r)}Object.defineProperty(k,"defaultMaxListeners",{enumerable:!0,get:function(){return rs},set:function(r){if(typeof r!="number"||r<0||ns(r))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+r+".");rs=r}});k.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};k.prototype.setMaxListeners=function(t){if(typeof t!="number"||t<0||ns(t))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+t+".");return this._maxListeners=t,this};function is(r){return r._maxListeners===void 0?k.defaultMaxListeners:r._maxListeners}k.prototype.getMaxListeners=function(){return is(this)};k.prototype.emit=function(t){for(var e=[],n=1;n<arguments.length;n++)e.push(arguments[n]);var i=t==="error",s=this._events;if(s!==void 0)i=i&&s.error===void 0;else if(!i)return!1;if(i){var o;if(e.length>0&&(o=e[0]),o instanceof Error)throw o;var a=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw a.context=o,a}var c=s[t];if(c===void 0)return!1;if(typeof c=="function")es(c,this,e);else for(var u=c.length,l=us(c,u),n=0;n<u;++n)es(l[n],this,e);return!0};function ss(r,t,e,n){var i,s,o;if(_e(e),s=r._events,s===void 0?(s=r._events=Object.create(null),r._eventsCount=0):(s.newListener!==void 0&&(r.emit("newListener",t,e.listener?e.listener:e),s=r._events),o=s[t]),o===void 0)o=s[t]=e,++r._eventsCount;else if(typeof o=="function"?o=s[t]=n?[e,o]:[o,e]:n?o.unshift(e):o.push(e),i=is(r),i>0&&o.length>i&&!o.warned){o.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=r,a.type=t,a.count=o.length,Ja(a)}return r}k.prototype.addListener=function(t,e){return ss(this,t,e,!1)};k.prototype.on=k.prototype.addListener;k.prototype.prependListener=function(t,e){return ss(this,t,e,!0)};function Za(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function os(r,t,e){var n={fired:!1,wrapFn:void 0,target:r,type:t,listener:e},i=Za.bind(n);return i.listener=e,n.wrapFn=i,i}k.prototype.once=function(t,e){return _e(e),this.on(t,os(this,t,e)),this};k.prototype.prependOnceListener=function(t,e){return _e(e),this.prependListener(t,os(this,t,e)),this};k.prototype.removeListener=function(t,e){var n,i,s,o,a;if(_e(e),i=this._events,i===void 0)return this;if(n=i[t],n===void 0)return this;if(n===e||n.listener===e)--this._eventsCount===0?this._events=Object.create(null):(delete i[t],i.removeListener&&this.emit("removeListener",t,n.listener||e));else if(typeof n!="function"){for(s=-1,o=n.length-1;o>=0;o--)if(n[o]===e||n[o].listener===e){a=n[o].listener,s=o;break}if(s<0)return this;s===0?n.shift():Ya(n,s),n.length===1&&(i[t]=n[0]),i.removeListener!==void 0&&this.emit("removeListener",t,a||e)}return this};k.prototype.off=k.prototype.removeListener;k.prototype.removeAllListeners=function(t){var e,n,i;if(n=this._events,n===void 0)return this;if(n.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):n[t]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete n[t]),this;if(arguments.length===0){var s=Object.keys(n),o;for(i=0;i<s.length;++i)o=s[i],o!=="removeListener"&&this.removeAllListeners(o);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(e=n[t],typeof e=="function")this.removeListener(t,e);else if(e!==void 0)for(i=e.length-1;i>=0;i--)this.removeListener(t,e[i]);return this};function as(r,t,e){var n=r._events;if(n===void 0)return[];var i=n[t];return i===void 0?[]:typeof i=="function"?e?[i.listener||i]:[i]:e?tc(i):us(i,i.length)}k.prototype.listeners=function(t){return as(this,t,!0)};k.prototype.rawListeners=function(t){return as(this,t,!1)};k.listenerCount=function(r,t){return typeof r.listenerCount=="function"?r.listenerCount(t):cs.call(r,t)};k.prototype.listenerCount=cs;function cs(r){var t=this._events;if(t!==void 0){var e=t[r];if(typeof e=="function")return 1;if(e!==void 0)return e.length}return 0}k.prototype.eventNames=function(){return this._eventsCount>0?be(this._events):[]};function us(r,t){for(var e=new Array(t),n=0;n<t;++n)e[n]=r[n];return e}function Ya(r,t){for(;t+1<r.length;t++)r[t]=r[t+1];r.pop()}function tc(r){for(var t=new Array(r.length),e=0;e<t.length;++e)t[e]=r[e].listener||r[e];return t}function ec(r,t){return new Promise(function(e,n){function i(o){r.removeListener(t,s),n(o)}function s(){typeof r.removeListener=="function"&&r.removeListener("error",i),e([].slice.call(arguments))}ls(r,t,s,{once:!0}),t!=="error"&&rc(r,i,{once:!0})})}function rc(r,t,e){typeof r.on=="function"&&ls(r,"error",t,e)}function ls(r,t,e,n){if(typeof r.on=="function")n.once?r.once(t,e):r.on(t,e);else if(typeof r.addEventListener=="function")r.addEventListener(t,function i(s){n.once&&r.removeEventListener(t,i),e(s)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof r)}});var vs=v((bs,_s)=>{"use strict";var wc=Math.exp;bs=_s.exports=function(t){if(typeof t!="number")throw new Error("must provide a timespan to the moving average constructor");if(t<=0)throw new Error("must provide a timespan > 0 to the moving average constructor");let e,n=0,i=0,s=0,o,a={};function c(u,l){return 1-wc(-(u-l)/t)}return a.push=function(l,h){if(o){let f=c(l,o),m=h-e,d=f*m;e=f*h+(1-f)*e,n=(1-f)*(n+m*d),i=Math.sqrt(n),s=e+f*m}else e=h;o=l},a.movingAverage=function(){return e},a.variance=function(){return n},a.deviation=function(){return i},a.forecast=function(){return s},a}});var Bs=v((df,Ir)=>{function Ss(r){let t=new globalThis.AbortController;function e(){t.abort();for(let n of r)!n||!n.removeEventListener||n.removeEventListener("abort",e)}for(let n of r)if(!(!n||!n.addEventListener)){if(n.aborted){e();break}n.addEventListener("abort",e)}return t.signal}Ir.exports=Ss;Ir.exports.anySignal=Ss});var Sc={};M(Sc,{createHelia:()=>Ec});var De={};M(De,{identity:()=>Fe});var Cc=new Uint8Array(0);var qr=(r,t)=>{if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0},Q=r=>{if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")};var Vr=r=>new TextEncoder().encode(r),$r=r=>new TextDecoder().decode(r);var zs=Qr,jr=128,Is=127,Rs=~Is,Us=Math.pow(2,31);function Qr(r,t,e){t=t||[],e=e||0;for(var n=e;r>=Us;)t[e++]=r&255|jr,r/=128;for(;r&Rs;)t[e++]=r&255|jr,r>>>=7;return t[e]=r|0,Qr.bytes=e-n+1,t}var Hs=Le,Ws=128,Kr=127;function Le(r,n){var e=0,n=n||0,i=0,s=n,o,a=r.length;do{if(s>=a)throw Le.bytes=0,new RangeError("Could not decode varint");o=r[s++],e+=i<28?(o&Kr)<<i:(o&Kr)*Math.pow(2,i),i+=7}while(o>=Ws);return Le.bytes=s-n,e}var qs=Math.pow(2,7),Vs=Math.pow(2,14),$s=Math.pow(2,21),Gs=Math.pow(2,28),js=Math.pow(2,35),Ks=Math.pow(2,42),Qs=Math.pow(2,49),Xs=Math.pow(2,56),Js=Math.pow(2,63),Zs=function(r){return r<qs?1:r<Vs?2:r<$s?3:r<Gs?4:r<js?5:r<Ks?6:r<Qs?7:r<Xs?8:r<Js?9:10},Ys={encode:zs,decode:Hs,encodingLength:Zs},to=Ys,Dt=to;var Nt=(r,t=0)=>[Dt.decode(r,t),Dt.decode.bytes],_t=(r,t,e=0)=>(Dt.encode(r,t,e),t),vt=r=>Dt.encodingLength(r);var ot=(r,t)=>{let e=t.byteLength,n=vt(r),i=n+vt(e),s=new Uint8Array(i+e);return _t(r,s,0),_t(e,s,n),s.set(t,i),new xt(r,e,t,s)},Me=r=>{let t=Q(r),[e,n]=Nt(t),[i,s]=Nt(t.subarray(n)),o=t.subarray(n+s);if(o.byteLength!==i)throw new Error("Incorrect length");return new xt(e,i,o,t)},Xr=(r,t)=>{if(r===t)return!0;{let e=t;return r.code===e.code&&r.size===e.size&&e.bytes instanceof Uint8Array&&qr(r.bytes,e.bytes)}},xt=class{constructor(t,e,n,i){this.code=t,this.size=e,this.digest=n,this.bytes=i}};var Jr=0,eo="identity",Zr=Q,ro=r=>ot(Jr,Zr(r)),Fe={code:Jr,name:eo,encode:Zr,digest:ro};var ze={};M(ze,{sha256:()=>at,sha512:()=>Pe});var Oe=({name:r,code:t,encode:e})=>new Ne(r,t,e),Ne=class{constructor(t,e,n){this.name=t,this.code=e,this.encode=n}digest(t){if(t instanceof Uint8Array){let e=this.encode(t);return e instanceof Uint8Array?ot(this.code,e):e.then(n=>ot(this.code,n))}else throw Error("Unknown type, must be binary type")}};var tn=r=>async t=>new Uint8Array(await crypto.subtle.digest(r,t)),at=Oe({name:"sha2-256",code:18,encode:tn("SHA-256")}),Pe=Oe({name:"sha2-512",code:19,encode:tn("SHA-512")});var We={};M(We,{base58btc:()=>w,base58flickr:()=>co});function no(r,t){if(r.length>=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),n=0;n<e.length;n++)e[n]=255;for(var i=0;i<r.length;i++){var s=r.charAt(i),o=s.charCodeAt(0);if(e[o]!==255)throw new TypeError(s+" is ambiguous");e[o]=i}var a=r.length,c=r.charAt(0),u=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function h(d){if(d instanceof Uint8Array||(ArrayBuffer.isView(d)?d=new Uint8Array(d.buffer,d.byteOffset,d.byteLength):Array.isArray(d)&&(d=Uint8Array.from(d))),!(d instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(d.length===0)return"";for(var p=0,y=0,E=0,C=d.length;E!==C&&d[E]===0;)E++,p++;for(var P=(C-E)*l+1>>>0,T=new Uint8Array(P);E!==C;){for(var H=d[E],z=0,D=P-1;(H!==0||z<y)&&D!==-1;D--,z++)H+=256*T[D]>>>0,T[D]=H%a>>>0,H=H/a>>>0;if(H!==0)throw new Error("Non-zero carry");y=z,E++}for(var I=P-y;I!==P&&T[I]===0;)I++;for(var bt=c.repeat(p);I<P;++I)bt+=r.charAt(T[I]);return bt}function f(d){if(typeof d!="string")throw new TypeError("Expected String");if(d.length===0)return new Uint8Array;var p=0;if(d[p]!==" "){for(var y=0,E=0;d[p]===c;)y++,p++;for(var C=(d.length-p)*u+1>>>0,P=new Uint8Array(C);d[p];){var T=e[d.charCodeAt(p)];if(T===255)return;for(var H=0,z=C-1;(T!==0||H<E)&&z!==-1;z--,H++)T+=a*P[z]>>>0,P[z]=T%256>>>0,T=T/256>>>0;if(T!==0)throw new Error("Non-zero carry");E=H,p++}if(d[p]!==" "){for(var D=C-E;D!==C&&P[D]===0;)D++;for(var I=new Uint8Array(y+(C-D)),bt=y;D!==C;)I[bt++]=P[D++];return I}}}function m(d){var p=f(d);if(p)return p;throw new Error(`Non-${t} character`)}return{encode:h,decodeUnsafe:f,decode:m}}var io=no,so=io,en=so;var Ie=class{constructor(t,e,n){this.name=t,this.prefix=e,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},Re=class{constructor(t,e,n){if(this.name=t,this.prefix=e,e.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=e.codePointAt(0),this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return rn(this,t)}},Ue=class{constructor(t){this.decoders=t}or(t){return rn(this,t)}decode(t){let e=t[0],n=this.decoders[e];if(n)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},rn=(r,t)=>new Ue({...r.decoders||{[r.prefix]:r},...t.decoders||{[t.prefix]:t}}),He=class{constructor(t,e,n,i){this.name=t,this.prefix=e,this.baseEncode=n,this.baseDecode=i,this.encoder=new Ie(t,e,n),this.decoder=new Re(t,e,i)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}},Et=({name:r,prefix:t,encode:e,decode:n})=>new He(r,t,e,n),tt=({prefix:r,name:t,alphabet:e})=>{let{encode:n,decode:i}=en(e,t);return Et({prefix:r,name:t,encode:n,decode:s=>Q(i(s))})},oo=(r,t,e,n)=>{let i={};for(let l=0;l<t.length;++l)i[t[l]]=l;let s=r.length;for(;r[s-1]==="=";)--s;let o=new Uint8Array(s*e/8|0),a=0,c=0,u=0;for(let l=0;l<s;++l){let h=i[r[l]];if(h===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<e|h,a+=e,a>=8&&(a-=8,o[u++]=255&c>>a)}if(a>=e||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return o},ao=(r,t,e)=>{let n=t[t.length-1]==="=",i=(1<<e)-1,s="",o=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],o+=8;o>e;)o-=e,s+=t[i&a>>o];if(o&&(s+=t[i&a<<e-o]),n)for(;s.length*e&7;)s+="=";return s},S=({name:r,prefix:t,bitsPerChar:e,alphabet:n})=>Et({prefix:t,name:r,encode(i){return ao(i,n,e)},decode(i){return oo(i,n,e,r)}});var w=tt({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),co=tt({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var qe={};M(qe,{base32:()=>X,base32hex:()=>fo,base32hexpad:()=>go,base32hexpadupper:()=>mo,base32hexupper:()=>po,base32pad:()=>lo,base32padupper:()=>ho,base32upper:()=>uo,base32z:()=>yo});var X=S({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),uo=S({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),lo=S({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),ho=S({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),fo=S({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),po=S({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),go=S({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),mo=S({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),yo=S({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var nn=(r,t)=>{let{bytes:e,version:n}=r;switch(n){case 0:return bo(e,Ve(r),t||w.encoder);default:return _o(e,Ve(r),t||X.encoder)}};var sn=new WeakMap,Ve=r=>{let t=sn.get(r);if(t==null){let e=new Map;return sn.set(r,e),e}return t},b=class{constructor(t,e,n,i){this.code=e,this.version=t,this.multihash=n,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:t,multihash:e}=this;if(t!==Ot)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(e.code!==vo)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return b.createV0(e)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:t,digest:e}=this.multihash,n=ot(t,e);return b.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(t){return b.equals(this,t)}static equals(t,e){let n=e;return n&&t.code===n.code&&t.version===n.version&&Xr(t.multihash,n.multihash)}toString(t){return nn(this,t)}toJSON(){return{"/":nn(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let e=t;if(e instanceof b)return e;if(e["/"]!=null&&e["/"]===e.bytes||e.asCID===e){let{version:n,code:i,multihash:s,bytes:o}=e;return new b(n,i,s,o||on(n,i,s.bytes))}else if(e[xo]===!0){let{version:n,multihash:i,code:s}=e,o=Me(i);return b.create(n,s,o)}else return null}static create(t,e,n){if(typeof e!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(t){case 0:{if(e!==Ot)throw new Error(`Version 0 CID must use dag-pb (code: ${Ot}) block encoding`);return new b(t,e,n,n.bytes)}case 1:{let i=on(t,e,n.bytes);return new b(t,e,n,i)}default:throw new Error("Invalid version")}}static createV0(t){return b.create(0,Ot,t)}static createV1(t,e){return b.create(1,t,e)}static decode(t){let[e,n]=b.decodeFirst(t);if(n.length)throw new Error("Incorrect length");return e}static decodeFirst(t){let e=b.inspectBytes(t),n=e.size-e.multihashSize,i=Q(t.subarray(n,n+e.multihashSize));if(i.byteLength!==e.multihashSize)throw new Error("Incorrect length");let s=i.subarray(e.multihashSize-e.digestSize),o=new xt(e.multihashCode,e.digestSize,s,i);return[e.version===0?b.createV0(o):b.createV1(e.codec,o),t.subarray(e.size)]}static inspectBytes(t){let e=0,n=()=>{let[h,f]=Nt(t.subarray(e));return e+=f,h},i=n(),s=Ot;if(i===18?(i=0,e=0):s=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let o=e,a=n(),c=n(),u=e+c,l=u-o;return{version:i,codec:s,multihashCode:a,digestSize:c,multihashSize:l,size:u}}static parse(t,e){let[n,i]=wo(t,e),s=b.decode(i);if(s.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Ve(s).set(n,t),s}},wo=(r,t)=>{switch(r[0]){case"Q":{let e=t||w;return[w.prefix,e.decode(`${w.prefix}${r}`)]}case w.prefix:{let e=t||w;return[w.prefix,e.decode(r)]}case X.prefix:{let e=t||X;return[X.prefix,e.decode(r)]}default:{if(t==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[r[0],t.decode(r)]}}},bo=(r,t,e)=>{let{prefix:n}=e;if(n!==w.prefix)throw Error(`Cannot string encode V0 in ${e.name} encoding`);let i=t.get(n);if(i==null){let s=e.encode(r).slice(1);return t.set(n,s),s}else return i},_o=(r,t,e)=>{let{prefix:n}=e,i=t.get(n);if(i==null){let s=e.encode(r);return t.set(n,s),s}else return i},Ot=112,vo=18,on=(r,t,e)=>{let n=vt(r),i=n+vt(t),s=new Uint8Array(i+e.byteLength);return _t(r,s,0),_t(t,s,n),s.set(e,i),s},xo=Symbol.for("@ipld/js-cid/CID");var Ai=L(_n(),1);var Pt=L(Ln(),1);function Qo(r){let t=new Uint8Array(r.reduce((n,i)=>n+Pt.default.encodingLength(i),0)),e=0;for(let n of r)t=Pt.encode(n,t,e),e+=Pt.default.encodingLength(n);return t}var Mn=Qo;var V=L(Pn(),1);var Qe={};M(Qe,{base64:()=>Ke,base64pad:()=>ca,base64url:()=>ua,base64urlpad:()=>la});var Ke=S({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),ca=S({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),ua=S({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),la=S({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});V.default.formatters.b=r=>r==null?"undefined":w.baseEncode(r);V.default.formatters.t=r=>r==null?"undefined":X.baseEncode(r);V.default.formatters.m=r=>r==null?"undefined":Ke.baseEncode(r);V.default.formatters.p=r=>r==null?"undefined":r.toString();V.default.formatters.c=r=>r==null?"undefined":r.toString();V.default.formatters.k=r=>r==null?"undefined":r.toString();function zn(r){return Object.assign((0,V.default)(r),{error:(0,V.default)(`${r}:error`),trace:(0,V.default)(`${r}:trace`)})}function Jt(r,t){if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0}var ut=class{constructor(t,e,n){this._refCounter=1,this.cid=t,this.priority=e??1,this.wantType=n}inc(){this._refCounter+=1}dec(){this._refCounter=Math.max(0,this._refCounter-1)}hasRefs(){return this._refCounter>0}get[Symbol.toStringTag](){return`WantlistEntry <key: ${this.cid.toString(w)}, priority: ${this.priority}, refs: ${this._refCounter}>`}equals(t){return this._refCounter===t._refCounter&&this.cid.equals(t.cid)&&this.priority===t.priority&&this.wantType===t.wantType}};var et=class{constructor(t,e,n,i,s){this.entry=new ut(t,e,n),this.cancel=Boolean(i),this.sendDontHave=Boolean(s)}get cid(){return this.entry.cid}set cid(t){this.entry.cid=t}get priority(){return this.entry.priority}set priority(t){this.entry.priority=t}get wantType(){return this.entry.wantType}set wantType(t){this.entry.wantType=t}get[Symbol.toStringTag](){return`BitswapMessageEntry ${this.cid.toString(w)} <cancel: ${this.cancel}, priority: ${this.priority}>`}equals(t){return this.cancel===t.cancel&&this.sendDontHave===t.sendDontHave&&this.wantType===t.wantType&&this.entry.equals(t.entry)}};var R=(r,t)=>{let e=["bitswap"];return t!=null&&e.push(t),r!=null&&e.push(`${r.toString().slice(0,8)}`),zn(e.join(":"))};var Zt=(r,t)=>{if(r.size!==t.size)return!1;for(let[e,n]of r){let i=t.get(e);if(i===void 0||n instanceof Uint8Array&&i instanceof Uint8Array&&!Jt(n,i)||n instanceof et&&i instanceof et&&!n.equals(i))return!1}return!0};var cr=L(tr(),1),Ei=L(mi(),1),Si=L(ht(),1),ur=L(ar(),1),Bi=L(ki(),1);function ba(){Si.default._configure(),cr.default._configure(Ei.default),ur.default._configure(Bi.default)}ba();var Ci=["uint64","int64","sint64","fixed64","sfixed64"];function _a(r){for(let t of Ci){if(r[t]==null)continue;let e=r[t];r[t]=function(){return BigInt(e.call(this).toString())}}return r}function lr(r){return _a(new cr.default(r))}function va(r){for(let t of Ci){if(r[t]==null)continue;let e=r[t];r[t]=function(n){return e.call(this,n.toString())}}return r}function hr(){return va(ur.default.create())}function dt(r,t){let e=lr(r instanceof Uint8Array?r:r.subarray());return t.decode(e)}function pt(r,t){let e=hr();return t.encode(r,e,{lengthDelimited:!1}),e.finish()}var Tt;(function(r){r[r.VARINT=0]="VARINT",r[r.BIT64=1]="BIT64",r[r.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",r[r.START_GROUP=3]="START_GROUP",r[r.END_GROUP=4]="END_GROUP",r[r.BIT32=5]="BIT32"})(Tt||(Tt={}));function ne(r,t,e,n){return{name:r,type:t,encode:e,decode:n}}function ie(r){function t(i){if(r[i.toString()]==null)throw new Error("Invalid enum value");return r[i]}let e=function(s,o){let a=t(s);o.int32(a)},n=function(s){let o=s.int32();return t(o)};return ne("enum",Tt.VARINT,e,n)}function gt(r,t){return ne("message",Tt.LENGTH_DELIMITED,r,t)}var F;(function(r){let t;(function(a){let c;(function(f){f.Block="Block",f.Have="Have"})(c=a.WantType||(a.WantType={}));let u;(function(f){f[f.Block=0]="Block",f[f.Have=1]="Have"})(u||(u={})),function(f){f.codec=()=>ie(u)}(c=a.WantType||(a.WantType={}));let l;(function(f){let m;f.codec=()=>(m==null&&(m=gt((d,p,y={})=>{y.lengthDelimited!==!1&&p.fork(),d.block!=null&&d.block.byteLength>0&&(p.uint32(10),p.bytes(d.block)),d.priority!=null&&d.priority!==0&&(p.uint32(16),p.int32(d.priority)),d.cancel!=null&&d.cancel!==!1&&(p.uint32(24),p.bool(d.cancel)),d.wantType!=null&&u[d.wantType]!==0&&(p.uint32(32),r.Wantlist.WantType.codec().encode(d.wantType,p)),d.sendDontHave!=null&&d.sendDontHave!==!1&&(p.uint32(40),p.bool(d.sendDontHave)),y.lengthDelimited!==!1&&p.ldelim()},(d,p)=>{let y={block:new Uint8Array(0),priority:0,cancel:!1,wantType:c.Block,sendDontHave:!1},E=p==null?d.len:d.pos+p;for(;d.pos<E;){let C=d.uint32();switch(C>>>3){case 1:y.block=d.bytes();break;case 2:y.priority=d.int32();break;case 3:y.cancel=d.bool();break;case 4:y.wantType=r.Wantlist.WantType.codec().decode(d);break;case 5:y.sendDontHave=d.bool();break;default:d.skipType(C&7);break}}return y})),m),f.encode=d=>pt(d,f.codec()),f.decode=d=>dt(d,f.codec())})(l=a.Entry||(a.Entry={}));let h;a.codec=()=>(h==null&&(h=gt((f,m,d={})=>{if(d.lengthDelimited!==!1&&m.fork(),f.entries!=null)for(let p of f.entries)m.uint32(10),r.Wantlist.Entry.codec().encode(p,m);f.full!=null&&f.full!==!1&&(m.uint32(16),m.bool(f.full)),d.lengthDelimited!==!1&&m.ldelim()},(f,m)=>{let d={entries:[],full:!1},p=m==null?f.len:f.pos+m;for(;f.pos<p;){let y=f.uint32();switch(y>>>3){case 1:d.entries.push(r.Wantlist.Entry.codec().decode(f,f.uint32()));break;case 2:d.full=f.bool();break;default:f.skipType(y&7);break}}return d})),h),a.encode=f=>pt(f,a.codec()),a.decode=f=>dt(f,a.codec())})(t=r.Wantlist||(r.Wantlist={}));let e;(function(a){let c;a.codec=()=>(c==null&&(c=gt((u,l,h={})=>{h.lengthDelimited!==!1&&l.fork(),u.prefix!=null&&u.prefix.byteLength>0&&(l.uint32(10),l.bytes(u.prefix)),u.data!=null&&u.data.byteLength>0&&(l.uint32(18),l.bytes(u.data)),h.lengthDelimited!==!1&&l.ldelim()},(u,l)=>{let h={prefix:new Uint8Array(0),data:new Uint8Array(0)},f=l==null?u.len:u.pos+l;for(;u.pos<f;){let m=u.uint32();switch(m>>>3){case 1:h.prefix=u.bytes();break;case 2:h.data=u.bytes();break;default:u.skipType(m&7);break}}return h})),c),a.encode=u=>pt(u,a.codec()),a.decode=u=>dt(u,a.codec())})(e=r.Block||(r.Block={}));let n;(function(a){a.Have="Have",a.DontHave="DontHave"})(n=r.BlockPresenceType||(r.BlockPresenceType={}));let i;(function(a){a[a.Have=0]="Have",a[a.DontHave=1]="DontHave"})(i||(i={})),function(a){a.codec=()=>ie(i)}(n=r.BlockPresenceType||(r.BlockPresenceType={}));let s;(function(a){let c;a.codec=()=>(c==null&&(c=gt((u,l,h={})=>{h.lengthDelimited!==!1&&l.fork(),u.cid!=null&&u.cid.byteLength>0&&(l.uint32(10),l.bytes(u.cid)),u.type!=null&&i[u.type]!==0&&(l.uint32(16),r.BlockPresenceType.codec().encode(u.type,l)),h.lengthDelimited!==!1&&l.ldelim()},(u,l)=>{let h={cid:new Uint8Array(0),type:n.Have},f=l==null?u.len:u.pos+l;for(;u.pos<f;){let m=u.uint32();switch(m>>>3){case 1:h.cid=u.bytes();break;case 2:h.type=r.BlockPresenceType.codec().decode(u);break;default:u.skipType(m&7);break}}return h})),c),a.encode=u=>pt(u,a.codec()),a.decode=u=>dt(u,a.codec())})(s=r.BlockPresence||(r.BlockPresence={}));let o;r.codec=()=>(o==null&&(o=gt((a,c,u={})=>{if(u.lengthDelimited!==!1&&c.fork(),a.wantlist!=null&&(c.uint32(10),r.Wantlist.codec().encode(a.wantlist,c)),a.blocks!=null)for(let l of a.blocks)c.uint32(18),c.bytes(l);if(a.payload!=null)for(let l of a.payload)c.uint32(26),r.Block.codec().encode(l,c);if(a.blockPresences!=null)for(let l of a.blockPresences)c.uint32(34),r.BlockPresence.codec().encode(l,c);a.pendingBytes!=null&&a.pendingBytes!==0&&(c.uint32(40),c.int32(a.pendingBytes)),u.lengthDelimited!==!1&&c.ldelim()},(a,c)=>{let u={blocks:[],payload:[],blockPresences:[],pendingBytes:0},l=c==null?a.len:a.pos+c;for(;a.pos<l;){let h=a.uint32();switch(h>>>3){case 1:u.wantlist=r.Wantlist.codec().decode(a,a.uint32());break;case 2:u.blocks.push(a.bytes());break;case 3:u.payload.push(r.Block.codec().decode(a,a.uint32()));break;case 4:u.blockPresences.push(r.BlockPresence.codec().decode(a,a.uint32()));break;case 5:u.pendingBytes=a.int32();break;default:a.skipType(h&7);break}}return u})),o),r.encode=a=>pt(a,r.codec()),r.decode=a=>dt(a,r.codec())})(F||(F={}));var se=class extends Error{constructor(t,e,n){super(t),this.code=e,this.name=n?.name??"CodeError",this.props=n??{}}};var xa,x=class{constructor(t){this.full=t,this.wantlist=new Map,this.blocks=new Map,this.blockPresences=new Map,this.pendingBytes=0}get empty(){return this.blocks.size===0&&this.wantlist.size===0&&this.blockPresences.size===0}addEntry(t,e,n,i,s){n==null&&(n=x.WantType.Block);let o=t.toString(w),a=this.wantlist.get(o);a!=null?(a.wantType===n&&(a.priority=e),i===!0&&(a.cancel=Boolean(i)),s===!0&&(a.sendDontHave=Boolean(s)),n===x.WantType.Block&&a.wantType===x.WantType.Have&&(a.wantType=n)):this.wantlist.set(o,new et(t,e,n,i,s))}addBlock(t,e){let n=t.toString(w);this.blocks.set(n,e)}addHave(t){let e=t.toString(w);this.blockPresences.has(e)||this.blockPresences.set(e,x.BlockPresenceType.Have)}addDontHave(t){let e=t.toString(w);this.blockPresences.has(e)||this.blockPresences.set(e,x.BlockPresenceType.DontHave)}cancel(t){let e=t.toString(w);this.wantlist.delete(e),this.addEntry(t,0,x.WantType.Block,!0,!1)}setPendingBytes(t){this.pendingBytes=t}serializeToBitswap100(){return F.encode({wantlist:{entries:Array.from(this.wantlist.values()).map(t=>({block:t.cid.bytes,priority:Number(t.priority),cancel:Boolean(t.cancel),wantType:F.Wantlist.WantType.Block,sendDontHave:!1})),full:Boolean(this.full)},blocks:Array.from(this.blocks.values())})}serializeToBitswap110(){let t={wantlist:{entries:Array.from(this.wantlist.values()).map(e=>({block:e.cid.bytes,priority:Number(e.priority),wantType:e.wantType,cancel:Boolean(e.cancel),sendDontHave:Boolean(e.sendDontHave)})),full:Boolean(this.full)},blockPresences:[],payload:[],pendingBytes:this.pendingBytes,blocks:[]};for(let[e,n]of this.blocks.entries()){let i=b.parse(e),s=i.version,o=i.code,a=i.multihash.code,c=i.multihash.digest.length,u=Mn([s,o,a,c]);t.payload.push({prefix:u,data:n})}for(let[e,n]of this.blockPresences)t.blockPresences.push({cid:b.parse(e).bytes,type:n});return this.pendingBytes>0&&(t.pendingBytes=this.pendingBytes),F.encode(t)}equals(t){return!(this.full!==t.full||this.pendingBytes!==t.pendingBytes||!Zt(this.wantlist,t.wantlist)||!Zt(this.blocks,t.blocks)||!Zt(this.blockPresences,t.blockPresences))}get[Symbol.toStringTag](){let t=Array.from(this.wantlist.keys()),e=Array.from(this.blocks.keys());return`BitswapMessage <full: ${this.full}, list: ${t}, blocks: ${e}>`}};xa=x;x.Entry=et;x.WantType={Block:F.Wantlist.WantType.Block,Have:F.Wantlist.WantType.Have};x.BlockPresenceType={Have:F.BlockPresenceType.Have,DontHave:F.BlockPresenceType.DontHave};x.deserialize=async(r,t)=>{let e=F.decode(r),n=e.wantlist?.full===!0,i=new x(n);return e.wantlist?.entries.forEach(s=>{if(s.block==null)return;let o=b.decode(s.block);i.addEntry(o,s.priority??0,s.wantType,Boolean(s.cancel),Boolean(s.sendDontHave))}),e.blockPresences.forEach(s=>{if(s.cid==null)return;let o=b.decode(s.cid);s.type===x.BlockPresenceType.Have?i.addHave(o):i.addDontHave(o)}),e.blocks.length>0?(await Promise.all(e.blocks.map(async s=>{let o=await at.digest(s),a=b.createV0(o);i.addBlock(a,s)})),i):(e.payload.length>0&&(await Promise.all(e.payload.map(async s=>{if(s.prefix==null||s.data==null)return;let o=(0,Ai.default)(s.prefix),a=o[0],c=o[1],u=o[2],l=u===at.code?at:await t?.getHasher(u);if(l==null)throw new se("Unknown hash algorithm","ERR_UNKNOWN_HASH_ALG");let h=await l.digest(s.data),f=b.create(a,c,h);i.addBlock(f,s.data)})),i.setPendingBytes(e.pendingBytes)),i)};x.blockPresenceSize=r=>r.bytes.length+1;var fr=class extends Map{constructor(t){super();let{name:e,metrics:n}=t;this.metric=n.registerMetric(e),this.updateComponentMetric()}set(t,e){return super.set(t,e),this.updateComponentMetric(),this}delete(t){let e=super.delete(t);return this.updateComponentMetric(),e}clear(){super.clear(),this.updateComponentMetric()}updateComponentMetric(){this.metric.update(this.size)}};function it(r){let{name:t,metrics:e}=r,n;return e!=null?n=new fr({name:t,metrics:e}):n=new Map,n}var Ti={Block:F.Wantlist.WantType.Block,Have:F.Wantlist.WantType.Have},ka=(r,t)=>Array.prototype.slice.call(t,0).sort((e,n)=>{let i=r(e),s=r(n);return i<s?-1:i>s?1:0}),J=class{constructor(t,e){this.set=e!=null?it({name:"ipfs_bitswap_wantlist",metrics:e.metrics}):new Map,this._stats=t}get length(){return this.set.size}add(t,e,n){let i=t.toString(w),s=this.set.get(i);s!=null?(s.inc(),s.priority=e,s.wantType===Ti.Have&&n===Ti.Block&&(s.wantType=n)):(this.set.set(i,new ut(t,e,n)),this._stats!=null&&this._stats.push(void 0,"wantListSize",1))}remove(t){let e=t.toString(w),n=this.set.get(e);n!=null&&(n.dec(),!n.hasRefs()&&(this.set.delete(e),this._stats!=null&&this._stats.push(void 0,"wantListSize",-1)))}removeForce(t){this.set.has(t)&&this.set.delete(t)}forEach(t){this.set.forEach(t)}entries(){return this.set.entries()}sortedEntries(){return new Map(ka(t=>t[1].key,Array.from(this.set.entries())))}contains(t){let e=t.toString(w);return this.set.has(e)}get(t){let e=t.toString(w);return this.set.get(e)}};J.Entry=ut;var Li=Math.pow(2,31)-1,Mi=1e3,Fi=1;var Di=Ea;function Ea(r,t,e){var n=null,i=null,s=function(){n&&(clearTimeout(n),i=null,n=null)},o=function(){var c=i;s(),c&&c()},a=function(){if(!t)return r.apply(this,arguments);var c=this,u=arguments,l=e&&!n;if(s(),i=function(){r.apply(c,u)},n=setTimeout(function(){if(n=null,!l){var h=i;return i=null,h()}},t),l)return i()};return a.cancel=s,a.flush=o,a}var oe=class{constructor(t,e,n){this.peerId=e,this.network=n,this.refcnt=1,this._entries=[],this._log=R(t,"msgqueue"),this.sendEntries=Di(this.sendEntries.bind(this),Fi)}addMessage(t){t.empty||this.send(t)}addEntries(t){this._entries=this._entries.concat(t),this.sendEntries()}sendEntries(){if(this._entries.length===0)return;let t=new x(!1);this._entries.forEach(e=>{e.cancel===!0?t.cancel(e.cid):t.addEntry(e.cid,e.priority)}),this._entries=[],this.addMessage(t)}async send(t){try{await this.network.connectTo(this.peerId)}catch(e){this._log.error("cant connect to peer %p: %s",this.peerId,e.message);return}this._log("sending message to peer %p",this.peerId),this.network.sendMessage(this.peerId,t).catch(e=>{this._log.error("send error",e)})}};var ae=class{constructor(t,e,n,i){this.peers=it({name:"ipfs_bitswap_want_manager_peers",metrics:i.metrics}),this.wantlist=new J(n,i),this.network=e,this._peerId=t,this._log=R(t,"want")}_addEntries(t,e,n){let i=t.map((s,o)=>new x.Entry(s,Li-o,x.WantType.Block,e));i.forEach(s=>{s.cancel?n===!0?this.wantlist.removeForce(s.cid.toString(w)):this.wantlist.remove(s.cid):(this._log("adding to wantlist"),this.wantlist.add(s.cid,s.priority))});for(let s of this.peers.values())s.addEntries(i)}_startPeerHandler(t){let e=this.peers.get(t.toString());if(e!=null){e.refcnt++;return}e=new oe(this._peerId,t,this.network);let n=new x(!0);for(let i of this.wantlist.entries())n.addEntry(i[1].cid,i[1].priority);return e.addMessage(n),this.peers.set(t.toString(),e),e}_stopPeerHandler(t){let e=this.peers.get(t.toString());e!=null&&(e.refcnt--,!(e.refcnt>0)&&this.peers.delete(t.toString()))}wantBlocks(t,e={}){this._addEntries(t,!1),e.signal?.addEventListener("abort",()=>{this.cancelWants(t)})}unwantBlocks(t){this._log("unwant blocks: %s",t.length),this._addEntries(t,!0,!0)}cancelWants(t){this._log("cancel wants: %s",t.length),this._addEntries(t,!0)}connectedPeers(){return Array.from(this.peers.keys())}connected(t){this._startPeerHandler(t)}disconnected(t){this._stopPeerHandler(t)}start(){}stop(){this.peers.forEach(t=>{this.disconnected(t.peerId)})}};function Rt(r){return globalThis.Buffer!=null?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r}function Z(r=0){return globalThis.Buffer?.alloc!=null?Rt(globalThis.Buffer.alloc(r)):new Uint8Array(r)}function Y(r=0){return globalThis.Buffer?.allocUnsafe!=null?Rt(globalThis.Buffer.allocUnsafe(r)):new Uint8Array(r)}function pr(r,t){t==null&&(t=r.reduce((i,s)=>i+s.length,0));let e=Y(t),n=0;for(let i of r)e.set(i,n),n+=i.length;return Rt(e)}var Oi=Symbol.for("@achingbrain/uint8arraylist");function Ni(r,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let e=0;for(let n of r){let i=e+n.byteLength;if(t<i)return{buf:n,index:t-e};e=i}throw new RangeError("index is out of bounds")}function ce(r){return Boolean(r?.[Oi])}var j=class{constructor(...t){Object.defineProperty(this,Oi,{value:!0}),this.bufs=[],this.length=0,t.length>0&&this.appendAll(t)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...t){this.appendAll(t)}appendAll(t){let e=0;for(let n of t)if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.push(n);else if(ce(n))e+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}prepend(...t){this.prependAll(t)}prependAll(t){let e=0;for(let n of t.reverse())if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.unshift(n);else if(ce(n))e+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}get(t){let e=Ni(this.bufs,t);return e.buf[e.index]}set(t,e){let n=Ni(this.bufs,t);n.buf[n.index]=e}write(t,e=0){if(t instanceof Uint8Array)for(let n=0;n<t.length;n++)this.set(e+n,t[n]);else if(ce(t))for(let n=0;n<t.length;n++)this.set(e+n,t.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(t){if(t=Math.trunc(t),!(Number.isNaN(t)||t<=0)){if(t===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(t>=this.bufs[0].byteLength)t-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(t),this.length-=t;break}}}slice(t,e){let{bufs:n,length:i}=this._subList(t,e);return pr(n,i)}subarray(t,e){let{bufs:n,length:i}=this._subList(t,e);return n.length===1?n[0]:pr(n,i)}sublist(t,e){let{bufs:n,length:i}=this._subList(t,e),s=new j;return s.length=i,s.bufs=n,s}_subList(t,e){if(t=t??0,e=e??this.length,t<0&&(t=this.length+t),e<0&&(e=this.length+e),t<0||e>this.length)throw new RangeError("index is out of bounds");if(t===e)return{bufs:[],length:0};if(t===0&&e===this.length)return{bufs:[...this.bufs],length:this.length};let n=[],i=0;for(let s=0;s<this.bufs.length;s++){let o=this.bufs[s],a=i,c=a+o.byteLength;if(i=c,t>=c)continue;let u=t>=a&&t<c,l=e>a&&e<=c;if(u&&l){if(t===a&&e===c){n.push(o);break}let h=t-a;n.push(o.subarray(h,h+(e-t)));break}if(u){if(t===0){n.push(o);continue}n.push(o.subarray(t-a));continue}if(l){if(e===c){n.push(o);break}n.push(o.subarray(0,e-a));break}n.push(o)}return{bufs:n,length:e-t}}indexOf(t,e=0){if(!ce(t)&&!(t instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=t instanceof Uint8Array?t:t.subarray();if(e=Number(e??0),isNaN(e)&&(e=0),e<0&&(e=this.length+e),e<0&&(e=0),t.length===0)return e>this.length?this.length:e;let i=n.byteLength;if(i===0)throw new TypeError("search must be at least 1 byte long");let s=256,o=new Int32Array(s);for(let h=0;h<s;h++)o[h]=-1;for(let h=0;h<i;h++)o[n[h]]=h;let a=o,c=this.byteLength-n.byteLength,u=n.byteLength-1,l;for(let h=e;h<=c;h+=l){l=0;for(let f=u;f>=0;f--){let m=this.get(h+f);if(n[f]!==m){l=Math.max(1,f-a[m]);break}}if(l===0)return h}return-1}getInt8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getInt8(0)}setInt8(t,e){let n=Y(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,e),this.write(n,t)}getInt16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,e)}setInt16(t,e,n){let i=Z(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt16(0,e,n),this.write(i,t)}getInt32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,e)}setInt32(t,e,n){let i=Z(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt32(0,e,n),this.write(i,t)}getBigInt64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,e)}setBigInt64(t,e,n){let i=Z(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigInt64(0,e,n),this.write(i,t)}getUint8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getUint8(0)}setUint8(t,e){let n=Y(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,e),this.write(n,t)}getUint16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,e)}setUint16(t,e,n){let i=Z(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint16(0,e,n),this.write(i,t)}getUint32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,e)}setUint32(t,e,n){let i=Z(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,e,n),this.write(i,t)}getBigUint64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,e)}setBigUint64(t,e,n){let i=Z(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigUint64(0,e,n),this.write(i,t)}getFloat32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,e)}setFloat32(t,e,n){let i=Z(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat32(0,e,n),this.write(i,t)}getFloat64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,e)}setFloat64(t,e,n){let i=Z(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,e,n),this.write(i,t)}equals(t){if(t==null||!(t instanceof j)||t.bufs.length!==this.bufs.length)return!1;for(let e=0;e<this.bufs.length;e++)if(!Jt(this.bufs[e],t.bufs[e]))return!1;return!0}static fromUint8Arrays(t,e){let n=new j;return n.bufs=t,e==null&&(e=t.reduce((i,s)=>i+s.byteLength,0)),n.length=e,n}};function ue(r){return r instanceof Uint8Array?{get(t){return r[t]},set(t,e){r[t]=e}}:{get(t){return r.get(t)},set(t,e){r.set(t,e)}}}var Pi=4294967296,O=class{constructor(t=0,e=0){this.hi=t,this.lo=e}toBigInt(t){if(t===!0)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let e=~this.lo+1>>>0,n=~this.hi>>>0;return e===0&&(n=n+1>>>0),-(BigInt(e)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toNumber(t){return Number(this.toBigInt(t))}zzDecode(){let t=-(this.lo&1),e=((this.lo>>>1|this.hi<<31)^t)>>>0,n=(this.hi>>>1^t)>>>0;return new O(n,e)}zzEncode(){let t=this.hi>>31,e=((this.hi<<1|this.lo>>>31)^t)>>>0,n=(this.lo<<1^t)>>>0;return new O(e,n)}toBytes(t,e=0){let n=ue(t);for(;this.hi>0;)n.set(e++,this.lo&127|128),this.lo=(this.lo>>>7|this.hi<<25)>>>0,this.hi>>>=7;for(;this.lo>127;)n.set(e++,this.lo&127|128),this.lo=this.lo>>>7;n.set(e++,this.lo)}static fromBigInt(t){if(t===0n)return new O;let e=t<0;e&&(t=-t);let n=Number(t>>32n)|0,i=Number(t-(BigInt(n)<<32n))|0;return e&&(n=~n>>>0,i=~i>>>0,++i>Pi&&(i=0,++n>Pi&&(n=0))),new O(n,i)}static fromNumber(t){if(t===0)return new O;let e=t<0;e&&(t=-t);let n=t>>>0,i=(t-n)/4294967296>>>0;return e&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new O(i,n)}static fromBytes(t,e=0){let n=ue(t),i=new O,s=0;if(t.length-e>4){for(;s<4;++s)if(i.lo=(i.lo|(n.get(e)&127)<<s*7)>>>0,n.get(e++)<128)return i;if(i.lo=(i.lo|(n.get(e)&127)<<28)>>>0,i.hi=(i.hi|(n.get(e)&127)>>4)>>>0,n.get(e++)<128)return i;s=0}else for(;s<4;++s){if(e>=t.length)throw RangeError(`index out of range: ${e} > ${t.length}`);if(i.lo=(i.lo|(n.get(e)&127)<<s*7)>>>0,n.get(e++)<128)return i}if(t.length-e>4){for(;s<5;++s)if(i.hi=(i.hi|(n.get(e)&127)<<s*7+3)>>>0,n.get(e++)<128)return i}else if(e<t.byteLength)for(;s<5;++s){if(e>=t.length)throw RangeError(`index out of range: ${e} > ${t.length}`);if(i.hi=(i.hi|(n.get(e)&127)<<s*7+3)>>>0,n.get(e++)<128)return i}throw RangeError("invalid varint encoding")}};var Sa=Math.pow(2,7),Ba=Math.pow(2,14),Ca=Math.pow(2,21),Aa=Math.pow(2,28),Ta=Math.pow(2,35),La=Math.pow(2,42),Ma=Math.pow(2,49),Fa=Math.pow(2,56),Da=Math.pow(2,63),mt={encodingLength(r){return r<Sa?1:r<Ba?2:r<Ca?3:r<Aa?4:r<Ta?5:r<La?6:r<Ma?7:r<Fa?8:r<Da?9:10},encode(r,t,e=0){if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return t==null&&(t=Y(mt.encodingLength(r))),O.fromNumber(r).toBytes(t,e),t},decode(r,t=0){return O.fromBytes(r,t).toNumber(!0)}};function zi(r){return globalThis?.Buffer?.allocUnsafe!=null?globalThis.Buffer.allocUnsafe(r):new Uint8Array(r)}var le=r=>{let t=mt.encodingLength(r),e=zi(t);return mt.encode(r,e),le.bytes=t,e};le.bytes=0;function he(r){r=r??{};let t=r.lengthEncoder??le;return async function*(n){for await(let i of n){let s=t(i.byteLength);s instanceof Uint8Array?yield s:yield*s,i instanceof Uint8Array?yield i:yield*i}}}he.single=(r,t)=>{t=t??{};let e=t.lengthEncoder??le;return new j(e(r.byteLength),r)};var Ut=L(gr(),1),Oa=8,Pa=1024*1024*4,yt;(function(r){r[r.LENGTH=0]="LENGTH",r[r.DATA=1]="DATA"})(yt||(yt={}));var mr=r=>{let t=mt.decode(r);return mr.bytes=mt.encodingLength(t),t};mr.bytes=0;function Ht(r){return async function*(e){let n=new j,i=yt.LENGTH,s=-1,o=r?.lengthDecoder??mr,a=r?.maxLengthLength??Oa,c=r?.maxDataLength??Pa;for await(let u of e)for(n.append(u);n.byteLength>0;){if(i===yt.LENGTH)try{if(s=o(n),s<0)throw(0,Ut.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(s>c)throw(0,Ut.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let l=o.bytes;n.consume(l),r?.onLength!=null&&r.onLength(s),i=yt.DATA}catch(l){if(l instanceof RangeError){if(n.byteLength>a)throw(0,Ut.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw l}if(i===yt.DATA){if(n.byteLength<s)break;let l=n.sublist(0,s);n.consume(s),r?.onData!=null&&r.onData(l),yield l,i=yt.LENGTH}}if(n.byteLength>0)throw(0,Ut.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}}Ht.fromReader=(r,t)=>{let e=1,n=async function*(){for(;;)try{let{done:s,value:o}=await r.next(e);if(s===!0)return;o!=null&&(yield o)}catch(s){if(s.code==="ERR_UNDER_READ")return{done:!0,value:null};throw s}finally{e=1}}();return Ht({...t??{},onLength:s=>{e=s}})(n)};var fe=class{constructor(t){if(!(t>0)||t-1&t)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(t),this.mask=t-1,this.top=0,this.btm=0,this.next=null}push(t){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=t,this.top=this.top+1&this.mask,!0)}shift(){let t=this.buffer[this.btm];if(t!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,t}isEmpty(){return this.buffer[this.btm]===void 0}},Lt=class{constructor(t={}){this.hwm=t.splitLimit??16,this.head=new fe(this.hwm),this.tail=this.head,this.size=0}calculateSize(t){return t?.byteLength!=null?t.byteLength:1}push(t){if(t?.value!=null&&(this.size+=this.calculateSize(t.value)),!this.head.push(t)){let e=this.head;this.head=e.next=new fe(2*this.head.buffer.length),this.head.push(t)}}shift(){let t=this.tail.shift();if(t===void 0&&this.tail.next!=null){let e=this.tail.next;this.tail.next=null,this.tail=e,t=this.tail.shift()}return t?.value!=null&&(this.size-=this.calculateSize(t.value)),t}isEmpty(){return this.head.isEmpty()}};function wt(r={}){return Ia(e=>{let n=e.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},r)}function Ia(r,t){t=t??{};let e=t.onEnd,n=new Lt,i,s,o,a=async()=>n.isEmpty()?o?{done:!0}:await new Promise((p,y)=>{s=E=>{s=null,n.push(E);try{p(r(n))}catch(C){y(C)}return i}}):r(n),c=p=>s!=null?s(p):(n.push(p),i),u=p=>(n=new Lt,s!=null?s({error:p}):(n.push({error:p}),i)),l=p=>{if(o)return i;if(t?.objectMode!==!0&&p?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return c({done:!1,value:p})},h=p=>o?i:(o=!0,p!=null?u(p):c({done:!0})),f=()=>(n=new Lt,h(),{done:!0}),m=p=>(h(p),{done:!0});if(i={[Symbol.asyncIterator](){return this},next:a,return:f,throw:m,push:l,end:h,get readableLength(){return n.size}},e==null)return i;let d=i;return i={[Symbol.asyncIterator](){return this},next(){return d.next()},throw(p){return d.throw(p),e!=null&&(e(p),e=void 0),{done:!0}},return(){return d.return(),e!=null&&(e(),e=void 0),{done:!0}},push:l,end(p){return d.end(p),e!=null&&(e(p),e=void 0),i},get readableLength(){return d.readableLength}},i}async function*Wt(...r){let t=wt({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(r.map(async e=>{for await(let n of e)t.push(n)})),t.end()}catch(e){t.end(e)}}),yield*t}var Ra=(...r)=>{let t;for(;r.length>0;)t=r.shift()(t);return t},Ui=r=>r!=null&&(typeof r[Symbol.asyncIterator]=="function"||typeof r[Symbol.iterator]=="function"||typeof r.next=="function"),yr=r=>r!=null&&typeof r.sink=="function"&&Ui(r.source),Ua=r=>t=>{let e=r.sink(t);if(e.then!=null){let n=wt({objectMode:!0});return e.then(()=>{n.end()},s=>{n.end(s)}),Wt(n,async function*(){yield*r.source,n.end()}())}return r.source};function wr(r,...t){if(yr(r)){let n=r;r=()=>n.source}else if(Ui(r)){let n=r;r=()=>n}let e=[r,...t];if(e.length>1&&yr(e[e.length-1])&&(e[e.length-1]=e[e.length-1].sink),e.length>2)for(let n=1;n<e.length-1;n++)yr(e[n])&&(e[n]=Ua(e[n]));return Ra(...e)}var br=Symbol.for("@libp2p/topology");var Hi=()=>{},_r=class{constructor(t){this.min=t.min??0,this.max=t.max??1/0,this.peers=new Set,this.onConnect=t.onConnect??Hi,this.onDisconnect=t.onDisconnect??Hi}get[Symbol.toStringTag](){return br.toString()}get[br](){return!0}async setRegistrar(t){this.registrar=t}disconnect(t){this.onDisconnect(t)}};function Wi(r){return new _r(r)}var Zi=L(Qi(),1);var Vt=class extends Error{constructor(t,e){super(t??"The operation was aborted"),this.type="aborted",this.code=e??"ABORT_ERR"}};function Xi(r){if(r!=null){if(typeof r[Symbol.iterator]=="function")return r[Symbol.iterator]();if(typeof r[Symbol.asyncIterator]=="function")return r[Symbol.asyncIterator]();if(typeof r.next=="function")return r}throw new Error("argument is not an iterator or iterable")}function Ji(r,t,e){let n=e??{},i=Xi(r);async function*s(){let o,a=()=>{o?.()};for(t.addEventListener("abort",a);;){let c;try{if(t.aborted){let{abortMessage:l,abortCode:h}=n;throw new Vt(l,h)}let u=new Promise((l,h)=>{o=()=>{let{abortMessage:f,abortCode:m}=n;h(new Vt(f,m))}});c=await Promise.race([u,i.next()]),o=null}catch(u){t.removeEventListener("abort",a);let l=u.type==="aborted"&&t.aborted;if(l&&n.onAbort!=null&&await n.onAbort(r),typeof i.return=="function")try{let h=i.return();h instanceof Promise&&h.catch(f=>{n.onReturnError!=null&&n.onReturnError(f)})}catch(h){n.onReturnError!=null&&n.onReturnError(h)}if(l&&n.returnOnAbort===!0)return;throw u}if(c.done===!0)break;yield c.value}t.removeEventListener("abort",a)}return s()}var xr="/ipfs/bitswap/1.0.0",kr="/ipfs/bitswap/1.1.0",Er="/ipfs/bitswap/1.2.0",Va=32,$a=128,Ga=3e4,pe=class{constructor(t,e,n,i={}){this._log=R(t.peerId,"network"),this._libp2p=t,this._bitswap=e,this._protocols=[xr],i.b100Only!==!0&&(this._protocols.unshift(kr),this._protocols.unshift(Er)),this._stats=n,this._running=!1,this._onPeerConnect=this._onPeerConnect.bind(this),this._onPeerDisconnect=this._onPeerDisconnect.bind(this),this._onConnection=this._onConnection.bind(this),this._hashLoader=i.hashLoader??{async getHasher(){throw new Error("Not implemented")}},this._maxInboundStreams=i.maxInboundStreams??Va,this._maxOutboundStreams=i.maxOutboundStreams??$a,this._incomingStreamTimeout=i.incomingStreamTimeout??Ga}async start(){this._running=!0,await this._libp2p.handle(this._protocols,this._onConnection,{maxInboundStreams:this._maxInboundStreams,maxOutboundStreams:this._maxOutboundStreams});let t=Wi({onConnect:this._onPeerConnect,onDisconnect:this._onPeerDisconnect});this._registrarIds=[];for(let e of this._protocols)this._registrarIds.push(await this._libp2p.register(e,t));this._libp2p.getConnections().forEach(e=>{this._onPeerConnect(e.remotePeer)})}async stop(){if(this._running=!1,await this._libp2p.unhandle(this._protocols),this._registrarIds!=null){for(let t of this._registrarIds)this._libp2p.unregister(t);this._registrarIds=[]}}_onConnection(t){if(!this._running)return;let{stream:e,connection:n}=t,i=new Zi.TimeoutController(this._incomingStreamTimeout);Promise.resolve().then(async()=>{this._log("incoming new bitswap %s connection from %p",e.stat.protocol,n.remotePeer),await wr(Ji(e.source,i.signal),Ht(),async s=>{for await(let o of s){try{let a=await x.deserialize(o.subarray(),this._hashLoader);await this._bitswap._receiveMessage(n.remotePeer,a)}catch(a){this._bitswap._receiveError(a);break}i.reset()}})}).catch(s=>{this._log(s),e.abort(s)}).finally(()=>{i.clear(),e.close()})}_onPeerConnect(t){this._bitswap._onPeerConnected(t)}_onPeerDisconnect(t){this._bitswap._onPeerDisconnected(t)}findProviders(t,e={}){return this._libp2p.contentRouting.findProviders(t,e)}async findAndConnect(t,e){let n=[],i=0;for await(let s of this.findProviders(t,e))if(this._log(`connecting to provider ${s.id}`),n.push(this.connectTo(s.id,e).catch(o=>{this._log.error(o)})),i++,i===3)break;await Promise.all(n)}async provide(t,e){await this._libp2p.contentRouting.provide(t,e)}async sendMessage(t,e){if(!this._running)throw new Error("network isn't running");let n=t.toString();this._log("sendMessage to %s",n,e);let s=await(await this._libp2p.dial(t)).newStream([Er,kr,xr]);await ja(s,e,this._log),this._updateSentStats(t,e.blocks)}async connectTo(t,e){if(!this._running)throw new Error("network isn't running");return await this._libp2p.dial(t,e)}_updateSentStats(t,e){let n=t.toString();if(this._stats!=null){for(let i of e.values())this._stats.push(n,"dataSent",i.length);this._stats.push(n,"blocksSent",e.size)}}};async function ja(r,t,e){try{let n;switch(r.stat.protocol){case xr:n=t.serializeToBitswap100();break;case kr:case Er:n=t.serializeToBitswap110();break;default:throw new Error(`Unknown protocol: ${r.stat.protocol}`)}await wr([n],he(),r)}catch(n){e(n)}finally{r.close()}}var ge=class{constructor(t){this.partner=t,this.wantlist=new J,this.exchangeCount=0,this.accounting={bytesSent:0,bytesRecv:0}}sentBytes(t){this.exchangeCount++,this.lastExchange=new Date().getTime(),this.accounting.bytesSent+=t}receivedBytes(t){this.exchangeCount++,this.lastExchange=new Date().getTime(),this.accounting.bytesRecv+=t}wants(t,e,n){this.wantlist.add(t,e,n)}cancelWant(t){this.wantlist.remove(t)}wantlistContains(t){return this.wantlist.get(t)}debtRatio(){return this.accounting.bytesSent/(this.accounting.bytesRecv+1)}};var $t=class extends Map{constructor(t,e){super(),this._cmp=e??this._defaultSort,this._keys=[];for(let[n,i]of t??[])this.set(n,i)}update(t){if(t<0||t>=this._keys.length)return;let e=this._keys[t];this._keys.splice(t,1);let n=this._find(e);this._keys.splice(n,0,e)}set(t,e){if(this.has(t)){let i=this.indexOf(t);this._keys.splice(i,1)}super.set(t,e);let n=this._find(t);return this._keys.splice(n,0,t),this}clear(){super.clear(),this._keys=[]}delete(t){if(!this.has(t))return!1;let e=this.indexOf(t);return this._keys.splice(e,1),super.delete(t)}indexOf(t){if(!this.has(t))return-1;let e=this._find(t);if(this._keys[e]===t)return e;for(let n=1;n<this._keys.length;n++){if(this._keys[e+n]===t)return e+n;if(this._keys[e-n]===t)return e-n}return-1}_find(t){let e=0,n=this._keys.length;for(;e<n;){let i=e+n>>>1,s=this._kCmp(this._keys[i],t);if(s<0)e=i+1;else if(s>0)n=i;else return i}return e}*keys(){for(let t of this._keys)yield t}*values(){for(let t of this._keys)yield this.get(t)}*entries(){for(let t of this._keys)yield[t,this.get(t)]}*[Symbol.iterator](){yield*this.entries()}forEach(t,e=this){if(t!=null)for(let n of this._keys){let i=this.get(n);if(i==null)throw new Error("Value cannot be undefined");t.apply(e,[[n,i]])}}_defaultSort(t,e){return t[0]<e[0]?-1:e[0]<t[0]?1:0}_kCmp(t,e){return this._cmp([t,this.get(t)],[e,this.get(e)])}};var Ka={hasNewInfo(){return!1},merge(){}},me=class{constructor(t=Ka){this._taskMerger=t,this._byPeer=new $t([],ye.compare)}pushTasks(t,e){let n=this._byPeer.get(t.toString());n==null&&(n=new ye(t,this._taskMerger)),n.pushTasks(e),this._byPeer.set(t.toString(),n)}popTasks(t){let e=this._head();if(e===void 0)return{tasks:[],pendingSize:0};let{tasks:n,pendingSize:i}=e.popTasks(t);if(n.length===0)return{tasks:n,pendingSize:i};let s=e.peerId;return e.isIdle()?this._byPeer.delete(s.toString()):this._byPeer.update(0),{peerId:s,tasks:n,pendingSize:i}}_head(){if(this._byPeer.size!==0)for(let[,t]of this._byPeer)return t}remove(t,e){this._byPeer.get(e.toString())?.remove(t)}tasksDone(t,e){let n=this._byPeer.get(t.toString());if(n==null)return;let i=this._byPeer.indexOf(t.toString());for(let s of e)n.taskDone(s);this._byPeer.update(i)}},ye=class{constructor(t,e){this.peerId=t,this._taskMerger=e,this._activeTotalSize=0,this._pending=new Sr,this._active=new Set}pushTasks(t){for(let e of t)this._pushTask(e)}_pushTask(t){if(!this._taskHasMoreInfoThanActiveTasks(t))return;let e=this._pending.get(t.topic);if(e!=null){t.priority>e.priority&&this._pending.updatePriority(t.topic,t.priority),this._taskMerger.merge(t,e);return}this._pending.add(t)}_taskHasMoreInfoThanActiveTasks(t){let e=[];for(let n of this._active)n.topic===t.topic&&e.push(n);return e.length===0?!0:this._taskMerger.hasNewInfo(t,e)}popTasks(t){let e=0,n=[],i=this._pending.tasks();for(let s=0;s<i.length&&e<t;s++){let o=i[s];n.push(o),e+=o.size,this._pending.delete(o.topic),this._activeTotalSize+=o.size,this._active.add(o)}return{tasks:n,pendingSize:this._pending.totalSize}}taskDone(t){this._active.has(t)&&(this._activeTotalSize-=t.size,this._active.delete(t))}remove(t){this._pending.delete(t)}isIdle(){return this._pending.length===0&&this._active.size===0}static compare(t,e){return t[1]._pending.length===0?1:e[1]._pending.length===0?-1:t[1]._activeTotalSize===e[1]._activeTotalSize?e[1]._pending.length-t[1]._pending.length:t[1]._activeTotalSize-e[1]._activeTotalSize}},Sr=class{constructor(){this._tasks=new $t([],this._compare)}get length(){return this._tasks.size}get totalSize(){return[...this._tasks.values()].reduce((t,e)=>t+e.task.size,0)}get(t){return this._tasks?.get(t)?.task}add(t){this._tasks.set(t.topic,{created:Date.now(),task:t})}delete(t){this._tasks.delete(t)}tasks(){return[...this._tasks.values()].map(t=>t.task)}updatePriority(t,e){let n=this._tasks.get(t);if(n==null)return;let i=this._tasks.indexOf(t);n.task.priority=e,this._tasks.update(i)}_compare(t,e){return t[1].task.priority===e[1].task.priority?t[1].created-e[1].created:e[1].task.priority-t[1].task.priority}};var Yi={hasNewInfo(r,t){let e=!1,n=!1;for(let i of t)i.data.haveBlock&&(e=!0),i.data.isWantBlock&&(n=!0);return!!(!n&&r.data.isWantBlock||!e&&r.data.haveBlock)},merge(r,t){let e=r.data,n=t.data;!n.haveBlock&&e.haveBlock&&(n.haveBlock=e.haveBlock,n.blockSize=e.blockSize),!n.isWantBlock&&e.isWantBlock&&(n.isWantBlock=!0,(!n.haveBlock||e.haveBlock)&&(n.haveBlock=e.haveBlock,t.size=r.size)),n.isWantBlock&&n.haveBlock&&(t.size=n.blockSize)}};var ts=x.WantType,Qa=16*1024,Xa=1024,we=class{constructor(t,e,n,i,s,o={}){this._log=R(t,"engine"),this.blockstore=e,this.network=n,this._stats=i,this._opts=this._processOpts(o),this.ledgerMap=it({name:"ipfs_bitswap_ledger_map",metrics:s.metrics}),this._running=!1,this._requestQueue=new me(Yi)}_processOpts(t){return{maxSizeReplaceHasWithBlock:Xa,targetMessageSize:Qa,...t}}_scheduleProcessTasks(){setTimeout(()=>{this._processTasks().catch(t=>{this._log.error("error processing stats",t)})})}async _processTasks(){if(!this._running)return;let{peerId:t,tasks:e,pendingSize:n}=this._requestQueue.popTasks(this._opts.targetMessageSize);if(e.length===0)return;let i=new x(!1);i.setPendingBytes(n);let s=[],o=new Map;for(let c of e){let u=b.parse(c.topic);c.data.haveBlock?c.data.isWantBlock?(s.push(u),o.set(c.topic,c.data)):i.addHave(u):i.addDontHave(u)}let a=await this._getBlocks(s);for(let[c,u]of o){let l=b.parse(c),h=a.get(c);h!=null?i.addBlock(l,h):u.sendDontHave&&i.addDontHave(l)}if(i.empty){t!=null&&this._requestQueue.tasksDone(t,e),this._scheduleProcessTasks();return}try{t!=null&&await this.network.sendMessage(t,i);for(let[c,u]of a.entries())t!=null&&this.messageSent(t,b.parse(c),u)}catch(c){this._log.error(c)}t!=null&&this._requestQueue.tasksDone(t,e),this._scheduleProcessTasks()}wantlistForPeer(t){let e=t.toString(),n=this.ledgerMap.get(e);return n!=null?n.wantlist.sortedEntries():new Map}ledgerForPeer(t){let e=t.toString(),n=this.ledgerMap.get(e);if(n!=null)return{peer:n.partner,value:n.debtRatio(),sent:n.accounting.bytesSent,recv:n.accounting.bytesRecv,exchanged:n.exchangeCount}}peers(){return Array.from(this.ledgerMap.values()).map(t=>t.partner)}receivedBlocks(t){if(t.length!==0){for(let e of this.ledgerMap.values())for(let n of t){let i=e.wantlistContains(n.cid);if(i==null)continue;let s=n.data.length,o=this._sendAsBlock(i.wantType,s),a=s;o||(a=x.blockPresenceSize(i.cid)),this._requestQueue.pushTasks(e.partner,[{topic:i.cid.toString(w),priority:i.priority,size:a,data:{blockSize:s,isWantBlock:o,haveBlock:!0,sendDontHave:!1}}])}this._scheduleProcessTasks()}}async messageReceived(t,e){let n=this._findOrCreate(t);if(e.empty)return;if(e.full&&(n.wantlist=new J),this._updateBlockAccounting(e.blocks,n),e.wantlist.size===0){this._scheduleProcessTasks();return}let i=[],s=[];e.wantlist.forEach(o=>{o.cancel?(n.cancelWant(o.cid),i.push(o.cid)):(n.wants(o.cid,o.priority,o.wantType),s.push(o))}),this._cancelWants(t,i),await this._addWants(t,s),this._scheduleProcessTasks()}_cancelWants(t,e){for(let n of e)this._requestQueue.remove(n.toString(w),t)}async _addWants(t,e){let n=await this._getBlockSizes(e.map(s=>s.cid)),i=[];for(let s of e){let o=s.cid.toString(w),a=n.get(o);if(a==null)s.sendDontHave&&i.push({topic:o,priority:s.priority,size:x.blockPresenceSize(s.cid),data:{isWantBlock:s.wantType===ts.Block,blockSize:0,haveBlock:!1,sendDontHave:s.sendDontHave}});else{let c=this._sendAsBlock(s.wantType,a),u=a;c||(u=x.blockPresenceSize(s.cid)),i.push({topic:o,priority:s.priority,size:u,data:{isWantBlock:c,blockSize:a,haveBlock:!0,sendDontHave:s.sendDontHave}})}this._requestQueue.pushTasks(t,i)}}_sendAsBlock(t,e){return t===ts.Block||e<=this._opts.maxSizeReplaceHasWithBlock}async _getBlockSizes(t){let e=await this._getBlocks(t);return new Map([...e].map(([n,i])=>[n,i.length]))}async _getBlocks(t){let e=new Map;return await Promise.all(t.map(async n=>{try{let i=await this.blockstore.get(n);e.set(n.toString(w),i)}catch(i){i.code!=="ERR_NOT_FOUND"&&this._log.error("failed to query blockstore for %s: %s",n,i)}})),e}_updateBlockAccounting(t,e){for(let n of t.values())this._log("got block (%s bytes)",n.length),e.receivedBytes(n.length)}messageSent(t,e,n){let i=this._findOrCreate(t);i.sentBytes(n.length),i.wantlist.remove(e)}numBytesSentTo(t){return this._findOrCreate(t).accounting.bytesSent}numBytesReceivedFrom(t){return this._findOrCreate(t).accounting.bytesRecv}peerDisconnected(t){this.ledgerMap.delete(t.toString())}_findOrCreate(t){let e=t.toString(),n=this.ledgerMap.get(e);if(n!=null)return n;let i=new ge(t);return this.ledgerMap.set(e,i),this._stats!=null&&this._stats.push(e,"peerCount",1),i}start(){this._running=!0}stop(){this._running=!1}};var ws=L(ve(),1);var Cr={};M(Cr,{identity:()=>nc});var nc=Et({prefix:"\0",name:"identity",encode:r=>$r(r),decode:r=>Vr(r)});var Ar={};M(Ar,{base2:()=>ic});var ic=S({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Tr={};M(Tr,{base8:()=>sc});var sc=S({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Lr={};M(Lr,{base10:()=>oc});var oc=tt({prefix:"9",name:"base10",alphabet:"0123456789"});var Mr={};M(Mr,{base16:()=>ac,base16upper:()=>cc});var ac=S({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),cc=S({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Fr={};M(Fr,{base36:()=>uc,base36upper:()=>lc});var uc=tt({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),lc=tt({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Dr={};M(Dr,{base256emoji:()=>gc});var hs=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}"),hc=hs.reduce((r,t,e)=>(r[e]=t,r),[]),fc=hs.reduce((r,t,e)=>(r[t.codePointAt(0)]=e,r),[]);function dc(r){return r.reduce((t,e)=>(t+=hc[e],t),"")}function pc(r){let t=[];for(let e of r){let n=fc[e.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${e}`);t.push(n)}return new Uint8Array(t)}var gc=Et({prefix:"\u{1F680}",name:"base256emoji",encode:dc,decode:pc});var Gh=new TextEncoder,jh=new TextDecoder;var Nr={...Cr,...Ar,...Tr,...Lr,...Mr,...qe,...Fr,...We,...Qe,...Dr},Zh={...ze,...De};function ps(r,t,e,n){return{name:r,prefix:t,encoder:{name:r,prefix:t,encode:e},decoder:{decode:n}}}var ds=ps("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),Or=ps("ascii","a",r=>{let t="a";for(let e=0;e<r.length;e++)t+=String.fromCharCode(r[e]);return t},r=>{r=r.substring(1);let t=Y(r.length);for(let e=0;e<r.length;e++)t[e]=r.charCodeAt(e);return t}),yc={utf8:ds,"utf-8":ds,hex:Nr.base16,latin1:Or,ascii:Or,binary:Or,...Nr},gs=yc;function Pr(r,t="utf8"){let e=gs[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(r.buffer,r.byteOffset,r.byteLength).toString("utf8"):e.encoder.encode(r).substring(1)}var ms=r=>`unwant:${Pr(r.multihash.bytes,"base64")}`,ys=r=>`block:${Pr(r.multihash.bytes,"base64")}`,xe=class extends ws.EventEmitter{constructor(t){super(),this.setMaxListeners(Mi),this._log=R(t,"notif")}hasBlock(t,e){let n=ys(t);this._log(n),this.emit(n,e)}async wantBlock(t,e={}){if(t==null)throw new Error("Not a valid cid");let n=ys(t),i=ms(t);return this._log(`wantBlock:${t}`),await new Promise((s,o)=>{let a=()=>{this.removeListener(n,c),o(new Error(`Block for ${t} unwanted`))},c=u=>{this.removeListener(i,a),s(u)};this.once(i,a),this.once(n,c),e.signal?.addEventListener("abort",()=>{this.removeListener(n,c),this.removeListener(i,a),o(new Error(`Want for ${t} aborted`))})})}unwantBlock(t){let e=ms(t);this._log(e),this.emit(e)}};var Es=L(ve(),1);var xs=L(ve(),1),zr=L(vs(),1),Gt=class extends xs.EventEmitter{constructor(t,e){super(),this._options=e,this._queue=[],this._stats={},this._frequencyLastTime=Date.now(),this._frequencyAccumulators={},this._movingAverages={},this._update=this._update.bind(this),t.forEach(n=>{this._stats[n]=BigInt(0),this._movingAverages[n]={},this._options.movingAverageIntervals.forEach(i=>{(this._movingAverages[n][i]=(0,zr.default)(i)).push(this._frequencyLastTime,0)})}),this._enabled=this._options.enabled}enable(){this._enabled=!0}disable(){this._enabled=!1}stop(){this._timeout!=null&&clearTimeout(this._timeout)}get snapshot(){return Object.assign({},this._stats)}get movingAverages(){return Object.assign({},this._movingAverages)}push(t,e){this._enabled&&(this._queue.push([t,e,Date.now()]),this._resetComputeTimeout())}_resetComputeTimeout(){this._timeout!=null&&clearTimeout(this._timeout),this._timeout=setTimeout(this._update,this._nextTimeout())}_nextTimeout(){let t=this._queue.length/this._options.computeThrottleMaxQueueSize;return Math.max(this._options.computeThrottleTimeout*(1-t),0)}_update(){if(this._timeout=void 0,this._queue.length>0){let t;for(;this._queue.length>0;){let e=t=this._queue.shift();e!=null&&this._applyOp(e)}t!=null&&this._updateFrequency(t[2]),this.emit("update",this._stats)}}_updateFrequency(t){let e=t-this._frequencyLastTime;e>0&&Object.keys(this._stats).forEach(n=>{this._updateFrequencyFor(n,e,t)}),this._frequencyLastTime=t}_updateFrequencyFor(t,e,n){let i=this._frequencyAccumulators[t]??0;this._frequencyAccumulators[t]=0;let s=i/e*1e3,o=this._movingAverages[t];o==null&&(o=this._movingAverages[t]={}),this._options.movingAverageIntervals.forEach(a=>{let c=o[a];c==null&&(c=o[a]=(0,zr.default)(a)),c.push(n,s)})}_applyOp(t){let e=t[0],n=t[1];if(typeof n!="number")throw new Error(`invalid increment number: ${n}`);Object.prototype.hasOwnProperty.call(this._stats,e)||(this._stats[e]=BigInt(0)),this._stats[e]=BigInt(this._stats[e])+BigInt(n),this._frequencyAccumulators[e]==null&&(this._frequencyAccumulators[e]=0),this._frequencyAccumulators[e]+=n}};var ks={enabled:!1,computeThrottleTimeout:1e3,computeThrottleMaxQueueSize:1e3,movingAverageIntervals:[60*1e3,5*60*1e3,15*60*1e3]},ke=class extends Es.EventEmitter{constructor(t,e=[],n=ks){super();let i=Object.assign({},ks,n);if(typeof i.computeThrottleTimeout!="number")throw new Error("need computeThrottleTimeout");if(typeof i.computeThrottleMaxQueueSize!="number")throw new Error("need computeThrottleMaxQueueSize");this._initialCounters=e,this._options=i,this._enabled=this._options.enabled,this._global=new Gt(e,i),this._global.on("update",s=>this.emit("update",s)),this._peers=it({name:"ipfs_bitswap_stats_peers",metrics:t.metrics})}enable(){this._enabled=!0,this._options.enabled=!0,this._global.enable()}disable(){this._enabled=!1,this._options.enabled=!1,this._global.disable()}stop(){this._enabled=!1,this._global.stop();for(let t of this._peers)t[1].stop()}get snapshot(){return this._global.snapshot}get movingAverages(){return this._global.movingAverages}forPeer(t){let e=t.toString();return this._peers.get(e)}push(t,e,n){if(this._enabled&&(this._global.push(e,n),t!=null)){let i=this._peers.get(t);i==null&&(i=new Gt(this._initialCounters,this._options),this._peers.set(t,i)),i.push(e,n)}}disconnected(t){let e=t.toString(),n=this._peers.get(e);n!=null&&(n.stop(),this._peers.delete(e))}};var As=L(Bs(),1);async function Ee(r){for await(let t of r);}async function*K(r,t){for await(let e of r)await t(e)&&(yield e)}async function*Se(r,t){let e=0;if(!(t<1)){for await(let n of r)if(yield n,e++,e===t)return}}async function Rr(r){let t=[];for await(let e of r)t.push(e);return t}var Cs=(r,t)=>async function*(){yield*(await Rr(r)).sort(t)}(),st=class{open(){return Promise.reject(new Error(".open is not implemented"))}close(){return Promise.reject(new Error(".close is not implemented"))}put(t,e,n){return Promise.reject(new Error(".put is not implemented"))}get(t,e){return Promise.reject(new Error(".get is not implemented"))}has(t,e){return Promise.reject(new Error(".has is not implemented"))}delete(t,e){return Promise.reject(new Error(".delete is not implemented"))}async*putMany(t,e={}){for await(let{key:n,value:i}of t)await this.put(n,i,e),yield{key:n,value:i}}async*getMany(t,e={}){for await(let n of t)yield this.get(n,e)}async*deleteMany(t,e={}){for await(let n of t)await this.delete(n,e),yield n}batch(){let t=[],e=[];return{put(n,i){t.push({key:n,value:i})},delete(n){e.push(n)},commit:async n=>{await Ee(this.putMany(t,n)),t=[],await Ee(this.deleteMany(e,n)),e=[]}}}async*_all(t,e){throw new Error("._all is not implemented")}async*_allKeys(t,e){throw new Error("._allKeys is not implemented")}query(t,e){let n=this._all(t,e);if(t.prefix!=null&&(n=K(n,i=>i.key.toString().startsWith(t.prefix||""))),Array.isArray(t.filters)&&(n=t.filters.reduce((i,s)=>K(i,s),n)),Array.isArray(t.orders)&&(n=t.orders.reduce((i,s)=>Cs(i,s),n)),t.offset!=null){let i=0;n=K(n,()=>i++>=(t.offset||0))}return t.limit!=null&&(n=Se(n,t.limit)),n}queryKeys(t,e){let n=this._allKeys(t,e);if(t.prefix!=null&&(n=K(n,i=>i.toString().startsWith(t.prefix||""))),Array.isArray(t.filters)&&(n=t.filters.reduce((i,s)=>K(i,s),n)),Array.isArray(t.orders)&&(n=t.orders.reduce((i,s)=>Cs(i,s),n)),t.offset!=null){let i=0;n=K(n,()=>i++>=t.offset)}return t.limit!=null&&(n=Se(n,t.limit)),n}};var bc={async getHasher(){throw new Error("Not implemented")}},_c={maxInboundStreams:32,maxOutboundStreams:128,incomingStreamTimeout:3e4,hashLoader:bc,statsEnabled:!1,statsComputeThrottleTimeout:1e3,statsComputeThrottleMaxQueueSize:1e3},vc=["blocksReceived","dataReceived","dupBlksReceived","dupDataReceived","blocksSent","dataSent","providesBufferLength","wantListLength","peerCount"],Be=class extends st{constructor(t,e,n={}){super(),this._libp2p=t,this._log=R(this.peerId),this._options=Object.assign({},_c,n),this._stats=new ke(t,vc,{enabled:this._options.statsEnabled,computeThrottleTimeout:this._options.statsComputeThrottleTimeout,computeThrottleMaxQueueSize:this._options.statsComputeThrottleMaxQueueSize}),this.network=new pe(t,this,this._stats,{hashLoader:n.hashLoader,maxInboundStreams:n.maxInboundStreams,maxOutboundStreams:n.maxOutboundStreams,incomingStreamTimeout:n.incomingStreamTimeout}),this.blockstore=e,this.engine=new we(this.peerId,e,this.network,this._stats,t),this.wm=new ae(this.peerId,this.network,this._stats,t),this.notifications=new xe(this.peerId),this.started=!1}isStarted(){return this.started}get peerId(){return this._libp2p.peerId}async _receiveMessage(t,e){try{await this.engine.messageReceived(t,e)}catch{this._log("failed to receive message",e)}if(e.blocks.size===0)return;let n=[];for(let[i,s]of e.blocks.entries()){let o=b.parse(i);n.push({wasWanted:this.wm.wantlist.contains(o),cid:o,data:s})}this.wm.cancelWants(n.filter(({wasWanted:i})=>i).map(({cid:i})=>i)),await Promise.all(n.map(async({cid:i,wasWanted:s,data:o})=>{await this._handleReceivedBlock(t,i,o,s)}))}async _handleReceivedBlock(t,e,n,i){this._log("received block");let s=await this.blockstore.has(e);this._updateReceiveCounters(t.toString(),e,n,s),i&&await this.put(e,n)}_updateReceiveCounters(t,e,n,i){this._stats.push(t,"blocksReceived",1),this._stats.push(t,"dataReceived",n.length),i&&(this._stats.push(t,"dupBlksReceived",1),this._stats.push(t,"dupDataReceived",n.length))}_receiveError(t){this._log.error("ReceiveError",t)}_onPeerConnected(t){this.wm.connected(t)}_onPeerDisconnected(t){this.wm.disconnected(t),this.engine.peerDisconnected(t),this._stats.disconnected(t)}enableStats(){this._stats.enable()}disableStats(){this._stats.disable()}wantlistForPeer(t,e){return this.engine.wantlistForPeer(t)}ledgerForPeer(t){return this.engine.ledgerForPeer(t)}async get(t,e={}){let n=async(c,u)=>(this.wm.wantBlocks([c],u),await this.notifications.wantBlock(c,u)),i=!1,s=async(c,u)=>{try{return await this.blockstore.get(c,u)}catch(l){if(l.code!=="ERR_NOT_FOUND")throw l;return i||(i=!0,this.network.findAndConnect(c,u).catch(h=>{this._log.error(h)})),await n(c,u)}},o=new AbortController,a=e.signal!=null?(0,As.anySignal)([e.signal,o.signal]):o.signal;try{return await Promise.race([this.notifications.wantBlock(t,{signal:a}),s(t,{signal:a})])}finally{o.abort()}}async*getMany(t,e={}){for await(let n of t)yield this.get(n,e)}unwant(t){let e=Array.isArray(t)?t:[t];this.wm.unwantBlocks(e),e.forEach(n=>{this.notifications.unwantBlock(n)})}cancelWants(t){this.wm.cancelWants(Array.isArray(t)?t:[t])}async put(t,e,n){await this.blockstore.put(t,e),this._sendHaveBlockNotifications(t,e)}async*putMany(t,e){for await(let{key:n,value:i}of this.blockstore.putMany(t,e))this._sendHaveBlockNotifications(n,i),yield{key:n,value:i}}_sendHaveBlockNotifications(t,e){this.notifications.hasBlock(t,e),this.engine.receivedBlocks([{cid:t,data:e}]),this.network.provide(t).catch(n=>{this._log.error("Failed to provide: %s",n.message)})}getWantlist(){return this.wm.wantlist.entries()}peers(){return this.engine.peers()}stat(){return this._stats}async start(){this.wm.start(),await this.network.start(),this.engine.start(),this.started=!0}async stop(){this._stats.stop(),this.wm.stop(),await this.network.stop(),this.engine.stop(),this.started=!1}unwrap(){return this.blockstore}async has(t){return await this.blockstore.has(t)}};var Ts=(r,t,e={})=>new Be(r,t,e);var Ce={};M(Ce,{abortedError:()=>xc,notFoundError:()=>Ls});var Ur=L(gr(),1);function Ls(r){return r=r||new Error("Not Found"),(0,Ur.default)(r,"ERR_NOT_FOUND")}function xc(r){return r=r||new Error("Aborted"),(0,Ur.default)(r,"ERR_ABORTED")}var Uf={...Ce};var Ae=class extends st{constructor(t,e){super(),this.child=t,this.bitswap=e}async open(){await this.child.open()}async close(){await this.child.close()}unwrap(){return this.child}async put(t,e,n={}){await this.has(t)||(this.bitswap.isStarted()?await this.bitswap.put(t,e,n):await this.child.put(t,e,n))}async*putMany(t,e={}){let n=K(t,async({key:i})=>!await this.has(i));this.bitswap.isStarted()?yield*this.bitswap.putMany(n,e):yield*this.child.putMany(n,e)}async get(t,e={}){return!await this.has(t)&&this.bitswap.isStarted()?await this.bitswap.get(t,e):await this.child.get(t,e)}async*getMany(t,e={}){let n=wt({objectMode:!0}),i=wt({objectMode:!0});Promise.resolve().then(async()=>{for await(let s of t)!await this.has(s)&&this.bitswap.isStarted()?n.push(s):i.push(s);n.end(),i.end()}).catch(s=>{n.throw(s)}),yield*Wt(this.bitswap.getMany(n,e),this.child.getMany(i,e))}async delete(t,e={}){await this.child.delete(t,e)}async*deleteMany(t,e={}){yield*this.child.deleteMany(t,e)}async has(t,e={}){return await this.child.has(t,e)}async*query(t,e={}){yield*this.child.query(t,e)}async*queryKeys(t,e={}){yield*this.child.queryKeys(t,e)}};var kc=function(r,t,e,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?r!==t||!i:!t.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(r,e):i?i.value=e:t.set(r,e),e},Hr=function(r,t,e,n){if(e==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?r!==t||!n:!t.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e==="m"?n:e==="a"?n.call(r):n?n.value:t.get(r)},Ft,Te=class{constructor(t){Ft.set(this,void 0);let e=[at,Pe,Fe,...t.hashers??[]];kc(this,Ft,Ts(t.libp2p,t.blockstore,{hashLoader:{getHasher:async n=>{let i=e.find(s=>s.code===n||s.name===n);if(i!=null)return await Promise.resolve(i);throw new Error(`Could not load hasher for code/name "${n}"`)}}}),"f"),this.libp2p=t.libp2p,this.blockstore=new Ae(t.blockstore,Hr(this,Ft,"f")),this.datastore=t.datastore}async start(){Hr(this,Ft,"f").start(),await this.libp2p.start()}async stop(){Hr(this,Ft,"f").stop(),await this.libp2p.stop()}async info(){return{peerId:this.libp2p.peerId,multiaddrs:this.libp2p.getMultiaddrs(),agentVersion:this.libp2p.identifyService.host.agentVersion,protocolVersion:this.libp2p.identifyService.host.protocolVersion,protocols:this.libp2p.getProtocols(),status:this.libp2p.isStarted()?"running":"stopped"}}};Ft=new WeakMap;async function Ec(r){let t=new Te(r);return r.start!==!1&&await t.start(),t}return Ps(Sc);})();
|
|
2
|
+
"use strict";var Helia=(()=>{var Gu=Object.create;var yr=Object.defineProperty;var Qu=Object.getOwnPropertyDescriptor;var Ku=Object.getOwnPropertyNames;var Xu=Object.getPrototypeOf,Ju=Object.prototype.hasOwnProperty;var T=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),V=(r,e)=>{for(var t in e)yr(r,t,{get:e[t],enumerable:!0})},_o=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Ku(e))!Ju.call(r,i)&&i!==t&&yr(r,i,{get:()=>e[i],enumerable:!(n=Qu(e,i))||n.enumerable});return r};var O=(r,e,t)=>(t=r!=null?Gu(Xu(r)):{},_o(e||!r||!r.__esModule?yr(t,"default",{value:r,enumerable:!0}):t,r)),Zu=r=>_o(yr({},"__esModule",{value:!0}),r);var $o=T((Yd,zo)=>{zo.exports=Ro;var Oo=128,Ol=127,Rl=~Ol,zl=Math.pow(2,31);function Ro(r,e,t){e=e||[],t=t||0;for(var n=t;r>=zl;)e[t++]=r&255|Oo,r/=128;for(;r&Rl;)e[t++]=r&255|Oo,r>>>=7;return e[t]=r|0,Ro.bytes=t-n+1,e}});var qo=T((ep,Ho)=>{Ho.exports=jn;var $l=128,Wo=127;function jn(r,n){var t=0,n=n||0,i=0,o=n,s,a=r.length;do{if(o>=a)throw jn.bytes=0,new RangeError("Could not decode varint");s=r[o++],t+=i<28?(s&Wo)<<i:(s&Wo)*Math.pow(2,i),i+=7}while(s>=$l);return jn.bytes=o-n,t}});var jo=T((tp,Vo)=>{var Wl=Math.pow(2,7),Hl=Math.pow(2,14),ql=Math.pow(2,21),Vl=Math.pow(2,28),jl=Math.pow(2,35),Gl=Math.pow(2,42),Ql=Math.pow(2,49),Kl=Math.pow(2,56),Xl=Math.pow(2,63);Vo.exports=function(r){return r<Wl?1:r<Hl?2:r<ql?3:r<Vl?4:r<jl?5:r<Gl?6:r<Ql?7:r<Kl?8:r<Xl?9:10}});var Qo=T((rp,Go)=>{Go.exports={encode:$o(),decode:qo(),encodingLength:jo()}});var Jo=T((np,Xo)=>{"use strict";var Ko=Qo();Xo.exports=r=>{if(!(r instanceof Uint8Array))throw new Error("arg needs to be a Uint8Array");let e=[];for(;r.length>0;){let t=Ko.decode(r);e.push(t),r=r.slice(Ko.decode.bytes)}return e}});var es=T((ip,Yo)=>{Yo.exports=Gn;var Zo=128,Jl=127,Zl=~Jl,Yl=Math.pow(2,31);function Gn(r,e,t){if(Number.MAX_SAFE_INTEGER&&r>Number.MAX_SAFE_INTEGER)throw Gn.bytes=0,new RangeError("Could not encode varint");e=e||[],t=t||0;for(var n=t;r>=Yl;)e[t++]=r&255|Zo,r/=128;for(;r&Zl;)e[t++]=r&255|Zo,r>>>=7;return e[t]=r|0,Gn.bytes=t-n+1,e}});var ns=T((op,rs)=>{rs.exports=Qn;var ef=128,ts=127;function Qn(r,n){var t=0,n=n||0,i=0,o=n,s,a=r.length;do{if(o>=a||i>49)throw Qn.bytes=0,new RangeError("Could not decode varint");s=r[o++],t+=i<28?(s&ts)<<i:(s&ts)*Math.pow(2,i),i+=7}while(s>=ef);return Qn.bytes=o-n,t}});var os=T((sp,is)=>{var tf=Math.pow(2,7),rf=Math.pow(2,14),nf=Math.pow(2,21),of=Math.pow(2,28),sf=Math.pow(2,35),af=Math.pow(2,42),cf=Math.pow(2,49),uf=Math.pow(2,56),lf=Math.pow(2,63);is.exports=function(r){return r<tf?1:r<rf?2:r<nf?3:r<of?4:r<sf?5:r<af?6:r<cf?7:r<uf?8:r<lf?9:10}});var as=T((ap,ss)=>{ss.exports={encode:es(),decode:ns(),encodingLength:os()}});var ls=T((up,us)=>{var yt=1e3,gt=yt*60,wt=gt*60,Ge=wt*24,hf=Ge*7,df=Ge*365.25;us.exports=function(r,e){e=e||{};var t=typeof r;if(t==="string"&&r.length>0)return pf(r);if(t==="number"&&isFinite(r))return e.long?yf(r):mf(r);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(r))};function pf(r){if(r=String(r),!(r.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(r);if(e){var t=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return t*df;case"weeks":case"week":case"w":return t*hf;case"days":case"day":case"d":return t*Ge;case"hours":case"hour":case"hrs":case"hr":case"h":return t*wt;case"minutes":case"minute":case"mins":case"min":case"m":return t*gt;case"seconds":case"second":case"secs":case"sec":case"s":return t*yt;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return t;default:return}}}}function mf(r){var e=Math.abs(r);return e>=Ge?Math.round(r/Ge)+"d":e>=wt?Math.round(r/wt)+"h":e>=gt?Math.round(r/gt)+"m":e>=yt?Math.round(r/yt)+"s":r+"ms"}function yf(r){var e=Math.abs(r);return e>=Ge?br(r,e,Ge,"day"):e>=wt?br(r,e,wt,"hour"):e>=gt?br(r,e,gt,"minute"):e>=yt?br(r,e,yt,"second"):r+" ms"}function br(r,e,t,n){var i=e>=t*1.5;return Math.round(r/t)+" "+n+(i?"s":"")}});var hs=T((lp,fs)=>{function gf(r){t.debug=t,t.default=t,t.coerce=c,t.disable=o,t.enable=i,t.enabled=s,t.humanize=ls(),t.destroy=u,Object.keys(r).forEach(l=>{t[l]=r[l]}),t.names=[],t.skips=[],t.formatters={};function e(l){let h=0;for(let d=0;d<l.length;d++)h=(h<<5)-h+l.charCodeAt(d),h|=0;return t.colors[Math.abs(h)%t.colors.length]}t.selectColor=e;function t(l){let h,d=null,v,y;function g(...k){if(!g.enabled)return;let N=g,U=Number(new Date),ne=U-(h||U);N.diff=ne,N.prev=h,N.curr=U,h=U,k[0]=t.coerce(k[0]),typeof k[0]!="string"&&k.unshift("%O");let $=0;k[0]=k[0].replace(/%([a-zA-Z%])/g,(ie,Q)=>{if(ie==="%%")return"%";$++;let oe=t.formatters[Q];if(typeof oe=="function"){let lt=k[$];ie=oe.call(N,lt),k.splice($,1),$--}return ie}),t.formatArgs.call(N,k),(N.log||t.log).apply(N,k)}return g.namespace=l,g.useColors=t.useColors(),g.color=t.selectColor(l),g.extend=n,g.destroy=t.destroy,Object.defineProperty(g,"enabled",{enumerable:!0,configurable:!1,get:()=>d!==null?d:(v!==t.namespaces&&(v=t.namespaces,y=t.enabled(l)),y),set:k=>{d=k}}),typeof t.init=="function"&&t.init(g),g}function n(l,h){let d=t(this.namespace+(typeof h>"u"?":":h)+l);return d.log=this.log,d}function i(l){t.save(l),t.namespaces=l,t.names=[],t.skips=[];let h,d=(typeof l=="string"?l:"").split(/[\s,]+/),v=d.length;for(h=0;h<v;h++)d[h]&&(l=d[h].replace(/\*/g,".*?"),l[0]==="-"?t.skips.push(new RegExp("^"+l.slice(1)+"$")):t.names.push(new RegExp("^"+l+"$")))}function o(){let l=[...t.names.map(a),...t.skips.map(a).map(h=>"-"+h)].join(",");return t.enable(""),l}function s(l){if(l[l.length-1]==="*")return!0;let h,d;for(h=0,d=t.skips.length;h<d;h++)if(t.skips[h].test(l))return!1;for(h=0,d=t.names.length;h<d;h++)if(t.names[h].test(l))return!0;return!1}function a(l){return l.toString().substring(2,l.toString().length-2).replace(/\.\*\?$/,"*")}function c(l){return l instanceof Error?l.stack||l.message:l}function u(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return t.enable(t.load()),t}fs.exports=gf});var ds=T((K,_r)=>{K.formatArgs=bf;K.save=_f;K.load=vf;K.useColors=wf;K.storage=xf();K.destroy=(()=>{let r=!1;return()=>{r||(r=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();K.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function wf(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1:typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function bf(r){if(r[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+r[0]+(this.useColors?"%c ":" ")+"+"+_r.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;r.splice(1,0,e,"color: inherit");let t=0,n=0;r[0].replace(/%[a-zA-Z%]/g,i=>{i!=="%%"&&(t++,i==="%c"&&(n=t))}),r.splice(n,0,e)}K.log=console.debug||console.log||(()=>{});function _f(r){try{r?K.storage.setItem("debug",r):K.storage.removeItem("debug")}catch{}}function vf(){let r;try{r=K.storage.getItem("debug")}catch{}return!r&&typeof process<"u"&&"env"in process&&(r=process.env.DEBUG),r}function xf(){try{return localStorage}catch{}}_r.exports=hs()(K);var{formatters:kf}=_r.exports;kf.j=function(r){try{return JSON.stringify(r)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var ms=T((Sp,ps)=>{"use strict";ps.exports=Af;function Af(r,e){for(var t=new Array(arguments.length-1),n=0,i=2,o=!0;i<arguments.length;)t[n++]=arguments[i++];return new Promise(function(a,c){t[n]=function(l){if(o)if(o=!1,l)c(l);else{for(var h=new Array(arguments.length-1),d=0;d<h.length;)h[d++]=arguments[d];a.apply(null,h)}};try{r.apply(e||null,t)}catch(u){o&&(o=!1,c(u))}})}});var bs=T(ws=>{"use strict";var xr=ws;xr.length=function(e){var t=e.length;if(!t)return 0;for(var n=0;--t%4>1&&e.charAt(t)==="=";)++n;return Math.ceil(e.length*3)/4-n};var _t=new Array(64),gs=new Array(123);for(fe=0;fe<64;)gs[_t[fe]=fe<26?fe+65:fe<52?fe+71:fe<62?fe-4:fe-59|43]=fe++;var fe;xr.encode=function(e,t,n){for(var i=null,o=[],s=0,a=0,c;t<n;){var u=e[t++];switch(a){case 0:o[s++]=_t[u>>2],c=(u&3)<<4,a=1;break;case 1:o[s++]=_t[c|u>>4],c=(u&15)<<2,a=2;break;case 2:o[s++]=_t[c|u>>6],o[s++]=_t[u&63],a=0;break}s>8191&&((i||(i=[])).push(String.fromCharCode.apply(String,o)),s=0)}return a&&(o[s++]=_t[c],o[s++]=61,a===1&&(o[s++]=61)),i?(s&&i.push(String.fromCharCode.apply(String,o.slice(0,s))),i.join("")):String.fromCharCode.apply(String,o.slice(0,s))};var ys="invalid encoding";xr.decode=function(e,t,n){for(var i=n,o=0,s,a=0;a<e.length;){var c=e.charCodeAt(a++);if(c===61&&o>1)break;if((c=gs[c])===void 0)throw Error(ys);switch(o){case 0:s=c,o=1;break;case 1:t[n++]=s<<2|(c&48)>>4,s=c,o=2;break;case 2:t[n++]=(s&15)<<4|(c&60)>>2,s=c,o=3;break;case 3:t[n++]=(s&3)<<6|c,o=0;break}}if(o===1)throw Error(ys);return n-i};xr.test=function(e){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e)}});var vs=T((Bp,_s)=>{"use strict";_s.exports=kr;function kr(){this._listeners={}}kr.prototype.on=function(e,t,n){return(this._listeners[e]||(this._listeners[e]=[])).push({fn:t,ctx:n||this}),this};kr.prototype.off=function(e,t){if(e===void 0)this._listeners={};else if(t===void 0)this._listeners[e]=[];else for(var n=this._listeners[e],i=0;i<n.length;)n[i].fn===t?n.splice(i,1):++i;return this};kr.prototype.emit=function(e){var t=this._listeners[e];if(t){for(var n=[],i=1;i<arguments.length;)n.push(arguments[i++]);for(i=0;i<t.length;)t[i].fn.apply(t[i++].ctx,n)}return this}});var Bs=T((Cp,As)=>{"use strict";As.exports=xs(xs);function xs(r){return typeof Float32Array<"u"?function(){var e=new Float32Array([-0]),t=new Uint8Array(e.buffer),n=t[3]===128;function i(c,u,l){e[0]=c,u[l]=t[0],u[l+1]=t[1],u[l+2]=t[2],u[l+3]=t[3]}function o(c,u,l){e[0]=c,u[l]=t[3],u[l+1]=t[2],u[l+2]=t[1],u[l+3]=t[0]}r.writeFloatLE=n?i:o,r.writeFloatBE=n?o:i;function s(c,u){return t[0]=c[u],t[1]=c[u+1],t[2]=c[u+2],t[3]=c[u+3],e[0]}function a(c,u){return t[3]=c[u],t[2]=c[u+1],t[1]=c[u+2],t[0]=c[u+3],e[0]}r.readFloatLE=n?s:a,r.readFloatBE=n?a:s}():function(){function e(n,i,o,s){var a=i<0?1:0;if(a&&(i=-i),i===0)n(1/i>0?0:2147483648,o,s);else if(isNaN(i))n(2143289344,o,s);else if(i>34028234663852886e22)n((a<<31|2139095040)>>>0,o,s);else if(i<11754943508222875e-54)n((a<<31|Math.round(i/1401298464324817e-60))>>>0,o,s);else{var c=Math.floor(Math.log(i)/Math.LN2),u=Math.round(i*Math.pow(2,-c)*8388608)&8388607;n((a<<31|c+127<<23|u)>>>0,o,s)}}r.writeFloatLE=e.bind(null,ks),r.writeFloatBE=e.bind(null,Es);function t(n,i,o){var s=n(i,o),a=(s>>31)*2+1,c=s>>>23&255,u=s&8388607;return c===255?u?NaN:a*(1/0):c===0?a*1401298464324817e-60*u:a*Math.pow(2,c-150)*(u+8388608)}r.readFloatLE=t.bind(null,Ts),r.readFloatBE=t.bind(null,Ss)}(),typeof Float64Array<"u"?function(){var e=new Float64Array([-0]),t=new Uint8Array(e.buffer),n=t[7]===128;function i(c,u,l){e[0]=c,u[l]=t[0],u[l+1]=t[1],u[l+2]=t[2],u[l+3]=t[3],u[l+4]=t[4],u[l+5]=t[5],u[l+6]=t[6],u[l+7]=t[7]}function o(c,u,l){e[0]=c,u[l]=t[7],u[l+1]=t[6],u[l+2]=t[5],u[l+3]=t[4],u[l+4]=t[3],u[l+5]=t[2],u[l+6]=t[1],u[l+7]=t[0]}r.writeDoubleLE=n?i:o,r.writeDoubleBE=n?o:i;function s(c,u){return t[0]=c[u],t[1]=c[u+1],t[2]=c[u+2],t[3]=c[u+3],t[4]=c[u+4],t[5]=c[u+5],t[6]=c[u+6],t[7]=c[u+7],e[0]}function a(c,u){return t[7]=c[u],t[6]=c[u+1],t[5]=c[u+2],t[4]=c[u+3],t[3]=c[u+4],t[2]=c[u+5],t[1]=c[u+6],t[0]=c[u+7],e[0]}r.readDoubleLE=n?s:a,r.readDoubleBE=n?a:s}():function(){function e(n,i,o,s,a,c){var u=s<0?1:0;if(u&&(s=-s),s===0)n(0,a,c+i),n(1/s>0?0:2147483648,a,c+o);else if(isNaN(s))n(0,a,c+i),n(2146959360,a,c+o);else if(s>17976931348623157e292)n(0,a,c+i),n((u<<31|2146435072)>>>0,a,c+o);else{var l;if(s<22250738585072014e-324)l=s/5e-324,n(l>>>0,a,c+i),n((u<<31|l/4294967296)>>>0,a,c+o);else{var h=Math.floor(Math.log(s)/Math.LN2);h===1024&&(h=1023),l=s*Math.pow(2,-h),n(l*4503599627370496>>>0,a,c+i),n((u<<31|h+1023<<20|l*1048576&1048575)>>>0,a,c+o)}}}r.writeDoubleLE=e.bind(null,ks,0,4),r.writeDoubleBE=e.bind(null,Es,4,0);function t(n,i,o,s,a){var c=n(s,a+i),u=n(s,a+o),l=(u>>31)*2+1,h=u>>>20&2047,d=4294967296*(u&1048575)+c;return h===2047?d?NaN:l*(1/0):h===0?l*5e-324*d:l*Math.pow(2,h-1075)*(d+4503599627370496)}r.readDoubleLE=t.bind(null,Ts,0,4),r.readDoubleBE=t.bind(null,Ss,4,0)}(),r}function ks(r,e,t){e[t]=r&255,e[t+1]=r>>>8&255,e[t+2]=r>>>16&255,e[t+3]=r>>>24}function Es(r,e,t){e[t]=r>>>24,e[t+1]=r>>>16&255,e[t+2]=r>>>8&255,e[t+3]=r&255}function Ts(r,e){return(r[e]|r[e+1]<<8|r[e+2]<<16|r[e+3]<<24)>>>0}function Ss(r,e){return(r[e]<<24|r[e+1]<<16|r[e+2]<<8|r[e+3])>>>0}});var Cs=T((exports,module)=>{"use strict";module.exports=inquire;function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(r){}return null}});var Ps=T(Ls=>{"use strict";var Xn=Ls;Xn.length=function(e){for(var t=0,n=0,i=0;i<e.length;++i)n=e.charCodeAt(i),n<128?t+=1:n<2048?t+=2:(n&64512)===55296&&(e.charCodeAt(i+1)&64512)===56320?(++i,t+=4):t+=3;return t};Xn.read=function(e,t,n){var i=n-t;if(i<1)return"";for(var o=null,s=[],a=0,c;t<n;)c=e[t++],c<128?s[a++]=c:c>191&&c<224?s[a++]=(c&31)<<6|e[t++]&63:c>239&&c<365?(c=((c&7)<<18|(e[t++]&63)<<12|(e[t++]&63)<<6|e[t++]&63)-65536,s[a++]=55296+(c>>10),s[a++]=56320+(c&1023)):s[a++]=(c&15)<<12|(e[t++]&63)<<6|e[t++]&63,a>8191&&((o||(o=[])).push(String.fromCharCode.apply(String,s)),a=0);return o?(a&&o.push(String.fromCharCode.apply(String,s.slice(0,a))),o.join("")):String.fromCharCode.apply(String,s.slice(0,a))};Xn.write=function(e,t,n){for(var i=n,o,s,a=0;a<e.length;++a)o=e.charCodeAt(a),o<128?t[n++]=o:o<2048?(t[n++]=o>>6|192,t[n++]=o&63|128):(o&64512)===55296&&((s=e.charCodeAt(a+1))&64512)===56320?(o=65536+((o&1023)<<10)+(s&1023),++a,t[n++]=o>>18|240,t[n++]=o>>12&63|128,t[n++]=o>>6&63|128,t[n++]=o&63|128):(t[n++]=o>>12|224,t[n++]=o>>6&63|128,t[n++]=o&63|128);return n-i}});var Ds=T((Pp,Ns)=>{"use strict";Ns.exports=Bf;function Bf(r,e,t){var n=t||8192,i=n>>>1,o=null,s=n;return function(c){if(c<1||c>i)return r(c);s+c>n&&(o=r(n),s=0);var u=e.call(o,s,s+=c);return s&7&&(s=(s|7)+1),u}}});var Ms=T((Np,Is)=>{"use strict";Is.exports=R;var zt=Je();function R(r,e){this.lo=r>>>0,this.hi=e>>>0}var Xe=R.zero=new R(0,0);Xe.toNumber=function(){return 0};Xe.zzEncode=Xe.zzDecode=function(){return this};Xe.length=function(){return 1};var Cf=R.zeroHash="\0\0\0\0\0\0\0\0";R.fromNumber=function(e){if(e===0)return Xe;var t=e<0;t&&(e=-e);var n=e>>>0,i=(e-n)/4294967296>>>0;return t&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new R(n,i)};R.from=function(e){if(typeof e=="number")return R.fromNumber(e);if(zt.isString(e))if(zt.Long)e=zt.Long.fromString(e);else return R.fromNumber(parseInt(e,10));return e.low||e.high?new R(e.low>>>0,e.high>>>0):Xe};R.prototype.toNumber=function(e){if(!e&&this.hi>>>31){var t=~this.lo+1>>>0,n=~this.hi>>>0;return t||(n=n+1>>>0),-(t+n*4294967296)}return this.lo+this.hi*4294967296};R.prototype.toLong=function(e){return zt.Long?new zt.Long(this.lo|0,this.hi|0,!!e):{low:this.lo|0,high:this.hi|0,unsigned:!!e}};var Fe=String.prototype.charCodeAt;R.fromHash=function(e){return e===Cf?Xe:new R((Fe.call(e,0)|Fe.call(e,1)<<8|Fe.call(e,2)<<16|Fe.call(e,3)<<24)>>>0,(Fe.call(e,4)|Fe.call(e,5)<<8|Fe.call(e,6)<<16|Fe.call(e,7)<<24)>>>0)};R.prototype.toHash=function(){return String.fromCharCode(this.lo&255,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,this.hi&255,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)};R.prototype.zzEncode=function(){var e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this};R.prototype.zzDecode=function(){var e=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this};R.prototype.length=function(){var e=this.lo,t=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?t===0?e<16384?e<128?1:2:e<2097152?3:4:t<16384?t<128?5:6:t<2097152?7:8:n<128?9:10}});var Je=T(Jn=>{"use strict";var _=Jn;_.asPromise=ms();_.base64=bs();_.EventEmitter=vs();_.float=Bs();_.inquire=Cs();_.utf8=Ps();_.pool=Ds();_.LongBits=Ms();_.isNode=!!(typeof globalThis<"u"&&globalThis&&globalThis.process&&globalThis.process.versions&&globalThis.process.versions.node);_.global=_.isNode&&globalThis||typeof window<"u"&&window||typeof self<"u"&&self||Jn;_.emptyArray=Object.freeze?Object.freeze([]):[];_.emptyObject=Object.freeze?Object.freeze({}):{};_.isInteger=Number.isInteger||function(e){return typeof e=="number"&&isFinite(e)&&Math.floor(e)===e};_.isString=function(e){return typeof e=="string"||e instanceof String};_.isObject=function(e){return e&&typeof e=="object"};_.isset=_.isSet=function(e,t){var n=e[t];return n!=null&&e.hasOwnProperty(t)?typeof n!="object"||(Array.isArray(n)?n.length:Object.keys(n).length)>0:!1};_.Buffer=function(){try{var r=_.inquire("buffer").Buffer;return r.prototype.utf8Write?r:null}catch{return null}}();_._Buffer_from=null;_._Buffer_allocUnsafe=null;_.newBuffer=function(e){return typeof e=="number"?_.Buffer?_._Buffer_allocUnsafe(e):new _.Array(e):_.Buffer?_._Buffer_from(e):typeof Uint8Array>"u"?e:new Uint8Array(e)};_.Array=typeof Uint8Array<"u"?Uint8Array:Array;_.Long=_.global.dcodeIO&&_.global.dcodeIO.Long||_.global.Long||_.inquire("long");_.key2Re=/^true|false|0|1$/;_.key32Re=/^-?(?:0|[1-9][0-9]*)$/;_.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/;_.longToHash=function(e){return e?_.LongBits.from(e).toHash():_.LongBits.zeroHash};_.longFromHash=function(e,t){var n=_.LongBits.fromHash(e);return _.Long?_.Long.fromBits(n.lo,n.hi,t):n.toNumber(!!t)};function Fs(r,e,t){for(var n=Object.keys(e),i=0;i<n.length;++i)(r[n[i]]===void 0||!t)&&(r[n[i]]=e[n[i]]);return r}_.merge=Fs;_.lcFirst=function(e){return e.charAt(0).toLowerCase()+e.substring(1)};function Us(r){function e(t,n){if(!(this instanceof e))return new e(t,n);Object.defineProperty(this,"message",{get:function(){return t}}),Error.captureStackTrace?Error.captureStackTrace(this,e):Object.defineProperty(this,"stack",{value:new Error().stack||""}),n&&Fs(this,n)}return e.prototype=Object.create(Error.prototype,{constructor:{value:e,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return r},set:void 0,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),e}_.newError=Us;_.ProtocolError=Us("ProtocolError");_.oneOfGetter=function(e){for(var t={},n=0;n<e.length;++n)t[e[n]]=1;return function(){for(var i=Object.keys(this),o=i.length-1;o>-1;--o)if(t[i[o]]===1&&this[i[o]]!==void 0&&this[i[o]]!==null)return i[o]}};_.oneOfSetter=function(e){return function(t){for(var n=0;n<e.length;++n)e[n]!==t&&delete this[e[n]]}};_.toJSONOptions={longs:String,enums:String,bytes:String,json:!0};_._configure=function(){var r=_.Buffer;if(!r){_._Buffer_from=_._Buffer_allocUnsafe=null;return}_._Buffer_from=r.from!==Uint8Array.from&&r.from||function(t,n){return new r(t,n)},_._Buffer_allocUnsafe=r.allocUnsafe||function(t){return new r(t)}}});var ei=T((Ip,Ws)=>{"use strict";Ws.exports=M;var we=Je(),Yn,zs=we.LongBits,Lf=we.utf8;function he(r,e){return RangeError("index out of range: "+r.pos+" + "+(e||1)+" > "+r.len)}function M(r){this.buf=r,this.pos=0,this.len=r.length}var Os=typeof Uint8Array<"u"?function(e){if(e instanceof Uint8Array||Array.isArray(e))return new M(e);throw Error("illegal buffer")}:function(e){if(Array.isArray(e))return new M(e);throw Error("illegal buffer")},$s=function(){return we.Buffer?function(t){return(M.create=function(i){return we.Buffer.isBuffer(i)?new Yn(i):Os(i)})(t)}:Os};M.create=$s();M.prototype._slice=we.Array.prototype.subarray||we.Array.prototype.slice;M.prototype.uint32=function(){var e=4294967295;return function(){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,he(this,10);return e}}();M.prototype.int32=function(){return this.uint32()|0};M.prototype.sint32=function(){var e=this.uint32();return e>>>1^-(e&1)|0};function Zn(){var r=new zs(0,0),e=0;if(this.len-this.pos>4){for(;e<4;++e)if(r.lo=(r.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return r;if(r.lo=(r.lo|(this.buf[this.pos]&127)<<28)>>>0,r.hi=(r.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return r;e=0}else{for(;e<3;++e){if(this.pos>=this.len)throw he(this);if(r.lo=(r.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return r}return r.lo=(r.lo|(this.buf[this.pos++]&127)<<e*7)>>>0,r}if(this.len-this.pos>4){for(;e<5;++e)if(r.hi=(r.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return r}else for(;e<5;++e){if(this.pos>=this.len)throw he(this);if(r.hi=(r.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return r}throw Error("invalid varint encoding")}M.prototype.bool=function(){return this.uint32()!==0};function Er(r,e){return(r[e-4]|r[e-3]<<8|r[e-2]<<16|r[e-1]<<24)>>>0}M.prototype.fixed32=function(){if(this.pos+4>this.len)throw he(this,4);return Er(this.buf,this.pos+=4)};M.prototype.sfixed32=function(){if(this.pos+4>this.len)throw he(this,4);return Er(this.buf,this.pos+=4)|0};function Rs(){if(this.pos+8>this.len)throw he(this,8);return new zs(Er(this.buf,this.pos+=4),Er(this.buf,this.pos+=4))}M.prototype.float=function(){if(this.pos+4>this.len)throw he(this,4);var e=we.float.readFloatLE(this.buf,this.pos);return this.pos+=4,e};M.prototype.double=function(){if(this.pos+8>this.len)throw he(this,4);var e=we.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,e};M.prototype.bytes=function(){var e=this.uint32(),t=this.pos,n=this.pos+e;if(n>this.len)throw he(this,e);return this.pos+=e,Array.isArray(this.buf)?this.buf.slice(t,n):t===n?new this.buf.constructor(0):this._slice.call(this.buf,t,n)};M.prototype.string=function(){var e=this.bytes();return Lf.read(e,0,e.length)};M.prototype.skip=function(e){if(typeof e=="number"){if(this.pos+e>this.len)throw he(this,e);this.pos+=e}else do if(this.pos>=this.len)throw he(this);while(this.buf[this.pos++]&128);return this};M.prototype.skipType=function(r){switch(r){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(r=this.uint32()&7)!==4;)this.skipType(r);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+r+" at offset "+this.pos)}return this};M._configure=function(r){Yn=r,M.create=$s(),Yn._configure();var e=we.Long?"toLong":"toNumber";we.merge(M.prototype,{int64:function(){return Zn.call(this)[e](!1)},uint64:function(){return Zn.call(this)[e](!0)},sint64:function(){return Zn.call(this).zzDecode()[e](!1)},fixed64:function(){return Rs.call(this)[e](!0)},sfixed64:function(){return Rs.call(this)[e](!1)}})}});var js=T((Mp,Vs)=>{"use strict";Vs.exports=Ze;var qs=ei();(Ze.prototype=Object.create(qs.prototype)).constructor=Ze;var Hs=Je();function Ze(r){qs.call(this,r)}Ze._configure=function(){Hs.Buffer&&(Ze.prototype._slice=Hs.Buffer.prototype.slice)};Ze.prototype.string=function(){var e=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+e,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+e,this.len))};Ze._configure()});var ai=T((Fp,Xs)=>{"use strict";Xs.exports=S;var ae=Je(),ti,Tr=ae.LongBits,Gs=ae.base64,Qs=ae.utf8;function $t(r,e,t){this.fn=r,this.len=e,this.next=void 0,this.val=t}function ni(){}function Pf(r){this.head=r.head,this.tail=r.tail,this.len=r.len,this.next=r.states}function S(){this.len=0,this.head=new $t(ni,0,0),this.tail=this.head,this.states=null}var Ks=function(){return ae.Buffer?function(){return(S.create=function(){return new ti})()}:function(){return new S}};S.create=Ks();S.alloc=function(e){return new ae.Array(e)};ae.Array!==Array&&(S.alloc=ae.pool(S.alloc,ae.Array.prototype.subarray));S.prototype._push=function(e,t,n){return this.tail=this.tail.next=new $t(e,t,n),this.len+=t,this};function ii(r,e,t){e[t]=r&255}function Nf(r,e,t){for(;r>127;)e[t++]=r&127|128,r>>>=7;e[t]=r}function oi(r,e){this.len=r,this.next=void 0,this.val=e}oi.prototype=Object.create($t.prototype);oi.prototype.fn=Nf;S.prototype.uint32=function(e){return this.len+=(this.tail=this.tail.next=new oi((e=e>>>0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this};S.prototype.int32=function(e){return e<0?this._push(si,10,Tr.fromNumber(e)):this.uint32(e)};S.prototype.sint32=function(e){return this.uint32((e<<1^e>>31)>>>0)};function si(r,e,t){for(;r.hi;)e[t++]=r.lo&127|128,r.lo=(r.lo>>>7|r.hi<<25)>>>0,r.hi>>>=7;for(;r.lo>127;)e[t++]=r.lo&127|128,r.lo=r.lo>>>7;e[t++]=r.lo}S.prototype.uint64=function(e){var t=Tr.from(e);return this._push(si,t.length(),t)};S.prototype.int64=S.prototype.uint64;S.prototype.sint64=function(e){var t=Tr.from(e).zzEncode();return this._push(si,t.length(),t)};S.prototype.bool=function(e){return this._push(ii,1,e?1:0)};function ri(r,e,t){e[t]=r&255,e[t+1]=r>>>8&255,e[t+2]=r>>>16&255,e[t+3]=r>>>24}S.prototype.fixed32=function(e){return this._push(ri,4,e>>>0)};S.prototype.sfixed32=S.prototype.fixed32;S.prototype.fixed64=function(e){var t=Tr.from(e);return this._push(ri,4,t.lo)._push(ri,4,t.hi)};S.prototype.sfixed64=S.prototype.fixed64;S.prototype.float=function(e){return this._push(ae.float.writeFloatLE,4,e)};S.prototype.double=function(e){return this._push(ae.float.writeDoubleLE,8,e)};var Df=ae.Array.prototype.set?function(e,t,n){t.set(e,n)}:function(e,t,n){for(var i=0;i<e.length;++i)t[n+i]=e[i]};S.prototype.bytes=function(e){var t=e.length>>>0;if(!t)return this._push(ii,1,0);if(ae.isString(e)){var n=S.alloc(t=Gs.length(e));Gs.decode(e,n,0),e=n}return this.uint32(t)._push(Df,t,e)};S.prototype.string=function(e){var t=Qs.length(e);return t?this.uint32(t)._push(Qs.write,t,e):this._push(ii,1,0)};S.prototype.fork=function(){return this.states=new Pf(this),this.head=this.tail=new $t(ni,0,0),this.len=0,this};S.prototype.reset=function(){return this.states?(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 $t(ni,0,0),this.len=0),this};S.prototype.ldelim=function(){var e=this.head,t=this.tail,n=this.len;return this.reset().uint32(n),n&&(this.tail.next=e.next,this.tail=t,this.len+=n),this};S.prototype.finish=function(){for(var e=this.head.next,t=this.constructor.alloc(this.len),n=0;e;)e.fn(e.val,t,n),n+=e.len,e=e.next;return t};S._configure=function(r){ti=r,S.create=Ks(),ti._configure()}});var Ys=T((Up,Zs)=>{"use strict";Zs.exports=be;var Js=ai();(be.prototype=Object.create(Js.prototype)).constructor=be;var Ue=Je();function be(){Js.call(this)}be._configure=function(){be.alloc=Ue._Buffer_allocUnsafe,be.writeBytesBuffer=Ue.Buffer&&Ue.Buffer.prototype instanceof Uint8Array&&Ue.Buffer.prototype.set.name==="set"?function(e,t,n){t.set(e,n)}:function(e,t,n){if(e.copy)e.copy(t,n,0,e.length);else for(var i=0;i<e.length;)t[n++]=e[i++]}};be.prototype.bytes=function(e){Ue.isString(e)&&(e=Ue._Buffer_from(e,"base64"));var t=e.length>>>0;return this.uint32(t),t&&this._push(be.writeBytesBuffer,t,e),this};function If(r,e,t){r.length<40?Ue.utf8.write(r,e,t):e.utf8Write?e.utf8Write(r,t):e.write(r,t)}be.prototype.string=function(e){var t=Ue.Buffer.byteLength(e);return this.uint32(t),t&&this._push(If,t,e),this};be._configure()});var Mr=T((Zm,ma)=>{"use strict";function pa(r,e){for(let t in e)Object.defineProperty(r,t,{value:e[t],enumerable:!0,configurable:!0});return r}function Xf(r,e,t){if(!r||typeof r=="string")throw new TypeError("Please pass an Error to err-code");t||(t={}),typeof e=="object"&&(t=e,e=""),e&&(t.code=e);try{return pa(r,t)}catch{t.message=r.message,t.stack=r.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(r)),pa(new i,t)}}ma.exports=Xf});var _a=T((my,ba)=>{"use strict";ba.exports=function(){return Date.now()}});var xa=T((yy,va)=>{"use strict";var Rr=_a(),bi=class{constructor(e,t,n){let i=this;this._started=Rr(),this._rescheduled=0,this._scheduled=t,this._args=n,this._triggered=!1,this._timerWrapper=()=>{i._rescheduled>0?(i._scheduled=i._rescheduled-(Rr()-i._started),i._schedule(i._scheduled)):(i._triggered=!0,e.apply(null,i._args))},this._timer=setTimeout(this._timerWrapper,t)}reschedule(e){e||(e=this._scheduled);let t=Rr();t+e-(this._started+this._scheduled)<0?(clearTimeout(this._timer),this._schedule(e)):this._triggered?this._schedule(e):(this._started=t,this._rescheduled=e)}_schedule(e){this._triggered=!1,this._started=Rr(),this._rescheduled=0,this._scheduled=e,this._timer=setTimeout(this._timerWrapper,e)}clear(){clearTimeout(this._timer)}};function nh(){if(typeof arguments[0]!="function")throw new Error("callback needed");if(typeof arguments[1]!="number")throw new Error("timeout needed");let r;if(arguments.length>0){r=new Array(arguments.length-2);for(var e=0;e<r.length;e++)r[e]=arguments[e+2]}return new bi(arguments[0],arguments[1],r)}va.exports=nh});var Ta=T((gy,Ea)=>{"use strict";var{AbortController:ih}=globalThis,ka=xa(),Vt=class extends ih{constructor(e){super(),this._ms=e,this._timer=ka(()=>this.abort(),e),Object.setPrototypeOf(this,Vt.prototype)}abort(){return this._timer.clear(),super.abort()}clear(){this._timer.clear()}reset(){this._timer.clear(),this._timer=ka(()=>this.abort(),this._ms)}};Ea.exports={TimeoutController:Vt}});var Qr=T((Yy,Ei)=>{"use strict";var kt=typeof Reflect=="object"?Reflect:null,Pa=kt&&typeof kt.apply=="function"?kt.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)},jr;kt&&typeof kt.ownKeys=="function"?jr=kt.ownKeys:Object.getOwnPropertySymbols?jr=function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:jr=function(e){return Object.getOwnPropertyNames(e)};function hh(r){console&&console.warn&&console.warn(r)}var Da=Number.isNaN||function(e){return e!==e};function L(){L.init.call(this)}Ei.exports=L;Ei.exports.once=yh;L.EventEmitter=L;L.prototype._events=void 0;L.prototype._eventsCount=0;L.prototype._maxListeners=void 0;var Na=10;function Gr(r){if(typeof r!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof r)}Object.defineProperty(L,"defaultMaxListeners",{enumerable:!0,get:function(){return Na},set:function(r){if(typeof r!="number"||r<0||Da(r))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+r+".");Na=r}});L.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};L.prototype.setMaxListeners=function(e){if(typeof e!="number"||e<0||Da(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this};function Ia(r){return r._maxListeners===void 0?L.defaultMaxListeners:r._maxListeners}L.prototype.getMaxListeners=function(){return Ia(this)};L.prototype.emit=function(e){for(var t=[],n=1;n<arguments.length;n++)t.push(arguments[n]);var i=e==="error",o=this._events;if(o!==void 0)i=i&&o.error===void 0;else if(!i)return!1;if(i){var s;if(t.length>0&&(s=t[0]),s instanceof Error)throw s;var a=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw a.context=s,a}var c=o[e];if(c===void 0)return!1;if(typeof c=="function")Pa(c,this,t);else for(var u=c.length,l=Ra(c,u),n=0;n<u;++n)Pa(l[n],this,t);return!0};function Ma(r,e,t,n){var i,o,s;if(Gr(t),o=r._events,o===void 0?(o=r._events=Object.create(null),r._eventsCount=0):(o.newListener!==void 0&&(r.emit("newListener",e,t.listener?t.listener:t),o=r._events),s=o[e]),s===void 0)s=o[e]=t,++r._eventsCount;else if(typeof s=="function"?s=o[e]=n?[t,s]:[s,t]:n?s.unshift(t):s.push(t),i=Ia(r),i>0&&s.length>i&&!s.warned){s.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=r,a.type=e,a.count=s.length,hh(a)}return r}L.prototype.addListener=function(e,t){return Ma(this,e,t,!1)};L.prototype.on=L.prototype.addListener;L.prototype.prependListener=function(e,t){return Ma(this,e,t,!0)};function dh(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function Fa(r,e,t){var n={fired:!1,wrapFn:void 0,target:r,type:e,listener:t},i=dh.bind(n);return i.listener=t,n.wrapFn=i,i}L.prototype.once=function(e,t){return Gr(t),this.on(e,Fa(this,e,t)),this};L.prototype.prependOnceListener=function(e,t){return Gr(t),this.prependListener(e,Fa(this,e,t)),this};L.prototype.removeListener=function(e,t){var n,i,o,s,a;if(Gr(t),i=this._events,i===void 0)return this;if(n=i[e],n===void 0)return this;if(n===t||n.listener===t)--this._eventsCount===0?this._events=Object.create(null):(delete i[e],i.removeListener&&this.emit("removeListener",e,n.listener||t));else if(typeof n!="function"){for(o=-1,s=n.length-1;s>=0;s--)if(n[s]===t||n[s].listener===t){a=n[s].listener,o=s;break}if(o<0)return this;o===0?n.shift():ph(n,o),n.length===1&&(i[e]=n[0]),i.removeListener!==void 0&&this.emit("removeListener",e,a||t)}return this};L.prototype.off=L.prototype.removeListener;L.prototype.removeAllListeners=function(e){var t,n,i;if(n=this._events,n===void 0)return this;if(n.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):n[e]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete n[e]),this;if(arguments.length===0){var o=Object.keys(n),s;for(i=0;i<o.length;++i)s=o[i],s!=="removeListener"&&this.removeAllListeners(s);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(t=n[e],typeof t=="function")this.removeListener(e,t);else if(t!==void 0)for(i=t.length-1;i>=0;i--)this.removeListener(e,t[i]);return this};function Ua(r,e,t){var n=r._events;if(n===void 0)return[];var i=n[e];return i===void 0?[]:typeof i=="function"?t?[i.listener||i]:[i]:t?mh(i):Ra(i,i.length)}L.prototype.listeners=function(e){return Ua(this,e,!0)};L.prototype.rawListeners=function(e){return Ua(this,e,!1)};L.listenerCount=function(r,e){return typeof r.listenerCount=="function"?r.listenerCount(e):Oa.call(r,e)};L.prototype.listenerCount=Oa;function Oa(r){var e=this._events;if(e!==void 0){var t=e[r];if(typeof t=="function")return 1;if(t!==void 0)return t.length}return 0}L.prototype.eventNames=function(){return this._eventsCount>0?jr(this._events):[]};function Ra(r,e){for(var t=new Array(e),n=0;n<e;++n)t[n]=r[n];return t}function ph(r,e){for(;e+1<r.length;e++)r[e]=r[e+1];r.pop()}function mh(r){for(var e=new Array(r.length),t=0;t<e.length;++t)e[t]=r[t].listener||r[t];return e}function yh(r,e){return new Promise(function(t,n){function i(s){r.removeListener(e,o),n(s)}function o(){typeof r.removeListener=="function"&&r.removeListener("error",i),t([].slice.call(arguments))}za(r,e,o,{once:!0}),e!=="error"&&gh(r,i,{once:!0})})}function gh(r,e,t){typeof r.on=="function"&&za(r,"error",e,t)}function za(r,e,t,n){if(typeof r.on=="function")n.once?r.once(e,t):r.on(e,t);else if(typeof r.addEventListener=="function")r.addEventListener(e,function i(o){n.once&&r.removeEventListener(e,i),t(o)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof r)}});var Ka=T((Ga,Qa)=>{"use strict";var Nh=Math.exp;Ga=Qa.exports=function(e){if(typeof e!="number")throw new Error("must provide a timespan to the moving average constructor");if(e<=0)throw new Error("must provide a timespan > 0 to the moving average constructor");let t,n=0,i=0,o=0,s,a={};function c(u,l){return 1-Nh(-(u-l)/e)}return a.push=function(l,h){if(s){let d=c(l,s),v=h-t,y=d*v;t=d*h+(1-d)*t,n=(1-d)*(n+v*y),i=Math.sqrt(n),o=t+d*v}else t=h;s=l},a.movingAverage=function(){return t},a.variance=function(){return n},a.deviation=function(){return i},a.forecast=function(){return o},a}});var ec=T((Lg,Fi)=>{function Ya(r){let e=new globalThis.AbortController;function t(){e.abort();for(let n of r)!n||!n.removeEventListener||n.removeEventListener("abort",t)}for(let n of r)if(!(!n||!n.addEventListener)){if(n.aborted){t();break}n.addEventListener("abort",t)}return e.signal}Fi.exports=Ya;Fi.exports.anySignal=Ya});var ic=T((Wg,Ui)=>{"use strict";var Fh=Object.prototype.hasOwnProperty,q="~";function Xt(){}Object.create&&(Xt.prototype=Object.create(null),new Xt().__proto__||(q=!1));function Uh(r,e,t){this.fn=r,this.context=e,this.once=t||!1}function nc(r,e,t,n,i){if(typeof t!="function")throw new TypeError("The listener must be a function");var o=new Uh(t,n||r,i),s=q?q+e:e;return r._events[s]?r._events[s].fn?r._events[s]=[r._events[s],o]:r._events[s].push(o):(r._events[s]=o,r._eventsCount++),r}function en(r,e){--r._eventsCount===0?r._events=new Xt:delete r._events[e]}function H(){this._events=new Xt,this._eventsCount=0}H.prototype.eventNames=function(){var e=[],t,n;if(this._eventsCount===0)return e;for(n in t=this._events)Fh.call(t,n)&&e.push(q?n.slice(1):n);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(t)):e};H.prototype.listeners=function(e){var t=q?q+e:e,n=this._events[t];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,o=n.length,s=new Array(o);i<o;i++)s[i]=n[i].fn;return s};H.prototype.listenerCount=function(e){var t=q?q+e:e,n=this._events[t];return n?n.fn?1:n.length:0};H.prototype.emit=function(e,t,n,i,o,s){var a=q?q+e:e;if(!this._events[a])return!1;var c=this._events[a],u=arguments.length,l,h;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),u){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,t),!0;case 3:return c.fn.call(c.context,t,n),!0;case 4:return c.fn.call(c.context,t,n,i),!0;case 5:return c.fn.call(c.context,t,n,i,o),!0;case 6:return c.fn.call(c.context,t,n,i,o,s),!0}for(h=1,l=new Array(u-1);h<u;h++)l[h-1]=arguments[h];c.fn.apply(c.context,l)}else{var d=c.length,v;for(h=0;h<d;h++)switch(c[h].once&&this.removeListener(e,c[h].fn,void 0,!0),u){case 1:c[h].fn.call(c[h].context);break;case 2:c[h].fn.call(c[h].context,t);break;case 3:c[h].fn.call(c[h].context,t,n);break;case 4:c[h].fn.call(c[h].context,t,n,i);break;default:if(!l)for(v=1,l=new Array(u-1);v<u;v++)l[v-1]=arguments[v];c[h].fn.apply(c[h].context,l)}}return!0};H.prototype.on=function(e,t,n){return nc(this,e,t,n,!1)};H.prototype.once=function(e,t,n){return nc(this,e,t,n,!0)};H.prototype.removeListener=function(e,t,n,i){var o=q?q+e:e;if(!this._events[o])return this;if(!t)return en(this,o),this;var s=this._events[o];if(s.fn)s.fn===t&&(!i||s.once)&&(!n||s.context===n)&&en(this,o);else{for(var a=0,c=[],u=s.length;a<u;a++)(s[a].fn!==t||i&&!s[a].once||n&&s[a].context!==n)&&c.push(s[a]);c.length?this._events[o]=c.length===1?c[0]:c:en(this,o)}return this};H.prototype.removeAllListeners=function(e){var t;return e?(t=q?q+e:e,this._events[t]&&en(this,t)):(this._events=new Xt,this._eventsCount=0),this};H.prototype.off=H.prototype.removeListener;H.prototype.addListener=H.prototype.on;H.prefixed=q;H.EventEmitter=H;typeof Ui<"u"&&(Ui.exports=H)});var Id={};V(Id,{createHelia:()=>Dd});var In={};V(In,{identity:()=>Dn});var Fd=new Uint8Array(0);var vo=(r,e)=>{if(r===e)return!0;if(r.byteLength!==e.byteLength)return!1;for(let t=0;t<r.byteLength;t++)if(r[t]!==e[t])return!1;return!0},xe=r=>{if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")};var xo=r=>new TextEncoder().encode(r),ko=r=>new TextDecoder().decode(r);var Yu=Ao,To=128,el=127,tl=~el,rl=Math.pow(2,31);function Ao(r,e,t){e=e||[],t=t||0;for(var n=t;r>=rl;)e[t++]=r&255|To,r/=128;for(;r&tl;)e[t++]=r&255|To,r>>>=7;return e[t]=r|0,Ao.bytes=t-n+1,e}var nl=Nn,il=128,So=127;function Nn(r,n){var t=0,n=n||0,i=0,o=n,s,a=r.length;do{if(o>=a)throw Nn.bytes=0,new RangeError("Could not decode varint");s=r[o++],t+=i<28?(s&So)<<i:(s&So)*Math.pow(2,i),i+=7}while(s>=il);return Nn.bytes=o-n,t}var ol=Math.pow(2,7),sl=Math.pow(2,14),al=Math.pow(2,21),cl=Math.pow(2,28),ul=Math.pow(2,35),ll=Math.pow(2,42),fl=Math.pow(2,49),hl=Math.pow(2,56),dl=Math.pow(2,63),pl=function(r){return r<ol?1:r<sl?2:r<al?3:r<cl?4:r<ul?5:r<ll?6:r<fl?7:r<hl?8:r<dl?9:10},ml={encode:Yu,decode:nl,encodingLength:pl},yl=ml,Mt=yl;var Ft=(r,e=0)=>[Mt.decode(r,e),Mt.decode.bytes],ft=(r,e,t=0)=>(Mt.encode(r,e,t),e),ht=r=>Mt.encodingLength(r);var Ve=(r,e)=>{let t=e.byteLength,n=ht(r),i=n+ht(t),o=new Uint8Array(i+t);return ft(r,o,0),ft(t,o,n),o.set(e,i),new dt(r,t,e,o)},wr=r=>{let e=xe(r),[t,n]=Ft(e),[i,o]=Ft(e.subarray(n)),s=e.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new dt(t,i,s,e)},Bo=(r,e)=>{if(r===e)return!0;{let t=e;return r.code===t.code&&r.size===t.size&&t.bytes instanceof Uint8Array&&vo(r.bytes,t.bytes)}},dt=class{constructor(e,t,n,i){this.code=e,this.size=t,this.digest=n,this.bytes=i}};var Co=0,gl="identity",Lo=xe,wl=r=>Ve(Co,Lo(r)),Dn={code:Co,name:gl,encode:Lo,digest:wl};var On={};V(On,{sha256:()=>je,sha512:()=>Un});var Fn=({name:r,code:e,encode:t})=>new Mn(r,e,t),Mn=class{constructor(e,t,n){this.name=e,this.code=t,this.encode=n}digest(e){if(e instanceof Uint8Array){let t=this.encode(e);return t instanceof Uint8Array?Ve(this.code,t):t.then(n=>Ve(this.code,n))}else throw Error("Unknown type, must be binary type")}};var No=r=>async e=>new Uint8Array(await crypto.subtle.digest(r,e)),je=Fn({name:"sha2-256",code:18,encode:No("SHA-256")}),Un=Fn({name:"sha2-512",code:19,encode:No("SHA-512")});var Hn={};V(Hn,{base58btc:()=>E,base58flickr:()=>El});function bl(r,e){if(r.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),n=0;n<t.length;n++)t[n]=255;for(var i=0;i<r.length;i++){var o=r.charAt(i),s=o.charCodeAt(0);if(t[s]!==255)throw new TypeError(o+" is ambiguous");t[s]=i}var a=r.length,c=r.charAt(0),u=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function h(y){if(y instanceof Uint8Array||(ArrayBuffer.isView(y)?y=new Uint8Array(y.buffer,y.byteOffset,y.byteLength):Array.isArray(y)&&(y=Uint8Array.from(y))),!(y instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(y.length===0)return"";for(var g=0,k=0,N=0,U=y.length;N!==U&&y[N]===0;)N++,g++;for(var ne=(U-N)*l+1>>>0,$=new Uint8Array(ne);N!==U;){for(var le=y[N],ie=0,Q=ne-1;(le!==0||ie<k)&&Q!==-1;Q--,ie++)le+=256*$[Q]>>>0,$[Q]=le%a>>>0,le=le/a>>>0;if(le!==0)throw new Error("Non-zero carry");k=ie,N++}for(var oe=ne-k;oe!==ne&&$[oe]===0;)oe++;for(var lt=c.repeat(g);oe<ne;++oe)lt+=r.charAt($[oe]);return lt}function d(y){if(typeof y!="string")throw new TypeError("Expected String");if(y.length===0)return new Uint8Array;var g=0;if(y[g]!==" "){for(var k=0,N=0;y[g]===c;)k++,g++;for(var U=(y.length-g)*u+1>>>0,ne=new Uint8Array(U);y[g];){var $=t[y.charCodeAt(g)];if($===255)return;for(var le=0,ie=U-1;($!==0||le<N)&&ie!==-1;ie--,le++)$+=a*ne[ie]>>>0,ne[ie]=$%256>>>0,$=$/256>>>0;if($!==0)throw new Error("Non-zero carry");N=le,g++}if(y[g]!==" "){for(var Q=U-N;Q!==U&&ne[Q]===0;)Q++;for(var oe=new Uint8Array(k+(U-Q)),lt=k;Q!==U;)oe[lt++]=ne[Q++];return oe}}}function v(y){var g=d(y);if(g)return g;throw new Error(`Non-${e} character`)}return{encode:h,decodeUnsafe:d,decode:v}}var _l=bl,vl=_l,Do=vl;var Rn=class{constructor(e,t,n){this.name=e,this.prefix=t,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},zn=class{constructor(e,t,n){if(this.name=e,this.prefix=t,t.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),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 Io(this,e)}},$n=class{constructor(e){this.decoders=e}or(e){return Io(this,e)}decode(e){let t=e[0],n=this.decoders[t];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},Io=(r,e)=>new $n({...r.decoders||{[r.prefix]:r},...e.decoders||{[e.prefix]:e}}),Wn=class{constructor(e,t,n,i){this.name=e,this.prefix=t,this.baseEncode=n,this.baseDecode=i,this.encoder=new Rn(e,t,n),this.decoder=new zn(e,t,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},mt=({name:r,prefix:e,encode:t,decode:n})=>new Wn(r,e,t,n),Ie=({prefix:r,name:e,alphabet:t})=>{let{encode:n,decode:i}=Do(t,e);return mt({prefix:r,name:e,encode:n,decode:o=>xe(i(o))})},xl=(r,e,t,n)=>{let i={};for(let l=0;l<e.length;++l)i[e[l]]=l;let o=r.length;for(;r[o-1]==="=";)--o;let s=new Uint8Array(o*t/8|0),a=0,c=0,u=0;for(let l=0;l<o;++l){let h=i[r[l]];if(h===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<t|h,a+=t,a>=8&&(a-=8,s[u++]=255&c>>a)}if(a>=t||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s},kl=(r,e,t)=>{let n=e[e.length-1]==="=",i=(1<<t)-1,o="",s=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],s+=8;s>t;)s-=t,o+=e[i&a>>s];if(s&&(o+=e[i&a<<t-s]),n)for(;o.length*t&7;)o+="=";return o},I=({name:r,prefix:e,bitsPerChar:t,alphabet:n})=>mt({prefix:e,name:r,encode(i){return kl(i,n,t)},decode(i){return xl(i,n,t,r)}});var E=Ie({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),El=Ie({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var qn={};V(qn,{base32:()=>j,base32hex:()=>Bl,base32hexpad:()=>Ll,base32hexpadupper:()=>Pl,base32hexupper:()=>Cl,base32pad:()=>Sl,base32padupper:()=>Al,base32upper:()=>Tl,base32z:()=>Nl});var j=I({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Tl=I({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Sl=I({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Al=I({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Bl=I({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Cl=I({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Ll=I({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Pl=I({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Nl=I({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Mo=(r,e)=>{let{bytes:t,version:n}=r;switch(n){case 0:return Il(t,Vn(r),e||E.encoder);default:return Ml(t,Vn(r),e||j.encoder)}};var Fo=new WeakMap,Vn=r=>{let e=Fo.get(r);if(e==null){let t=new Map;return Fo.set(r,t),t}return e},x=class{constructor(e,t,n,i){this.code=t,this.version=e,this.multihash=n,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:t}=this;if(e!==Ut)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(t.code!==Fl)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return x.createV0(t)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:t}=this.multihash,n=Ve(e,t);return x.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 x.equals(this,e)}static equals(e,t){let n=t;return n&&e.code===n.code&&e.version===n.version&&Bo(e.multihash,n.multihash)}toString(e){return Mo(this,e)}toJSON(){return{"/":Mo(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let t=e;if(t instanceof x)return t;if(t["/"]!=null&&t["/"]===t.bytes||t.asCID===t){let{version:n,code:i,multihash:o,bytes:s}=t;return new x(n,i,o,s||Uo(n,i,o.bytes))}else if(t[Ul]===!0){let{version:n,multihash:i,code:o}=t,s=wr(i);return x.create(n,o,s)}else return null}static create(e,t,n){if(typeof t!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(t!==Ut)throw new Error(`Version 0 CID must use dag-pb (code: ${Ut}) block encoding`);return new x(e,t,n,n.bytes)}case 1:{let i=Uo(e,t,n.bytes);return new x(e,t,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return x.create(0,Ut,e)}static createV1(e,t){return x.create(1,e,t)}static decode(e){let[t,n]=x.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return t}static decodeFirst(e){let t=x.inspectBytes(e),n=t.size-t.multihashSize,i=xe(e.subarray(n,n+t.multihashSize));if(i.byteLength!==t.multihashSize)throw new Error("Incorrect length");let o=i.subarray(t.multihashSize-t.digestSize),s=new dt(t.multihashCode,t.digestSize,o,i);return[t.version===0?x.createV0(s):x.createV1(t.codec,s),e.subarray(t.size)]}static inspectBytes(e){let t=0,n=()=>{let[h,d]=Ft(e.subarray(t));return t+=d,h},i=n(),o=Ut;if(i===18?(i=0,t=0):o=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=t,a=n(),c=n(),u=t+c,l=u-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:l,size:u}}static parse(e,t){let[n,i]=Dl(e,t),o=x.decode(i);if(o.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Vn(o).set(n,e),o}},Dl=(r,e)=>{switch(r[0]){case"Q":{let t=e||E;return[E.prefix,t.decode(`${E.prefix}${r}`)]}case E.prefix:{let t=e||E;return[E.prefix,t.decode(r)]}case j.prefix:{let t=e||j;return[j.prefix,t.decode(r)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[r[0],e.decode(r)]}}},Il=(r,e,t)=>{let{prefix:n}=t;if(n!==E.prefix)throw Error(`Cannot string encode V0 in ${t.name} encoding`);let i=e.get(n);if(i==null){let o=t.encode(r).slice(1);return e.set(n,o),o}else return i},Ml=(r,e,t)=>{let{prefix:n}=t,i=e.get(n);if(i==null){let o=t.encode(r);return e.set(n,o),o}else return i},Ut=112,Fl=18,Uo=(r,e,t)=>{let n=ht(r),i=n+ht(e),o=new Uint8Array(i+t.byteLength);return ft(r,o,0),ft(e,o,n),o.set(t,i),o},Ul=Symbol.for("@ipld/js-cid/CID");var ia=O(Jo(),1);var Ot=O(as(),1);function ff(r){let e=new Uint8Array(r.reduce((n,i)=>n+Ot.default.encodingLength(i),0)),t=0;for(let n of r)e=Ot.encode(n,e,t),t+=Ot.default.encodingLength(n);return e}var cs=ff;var ge=O(ds(),1);var Kn={};V(Kn,{base64:()=>Rt,base64pad:()=>Ef,base64url:()=>Tf,base64urlpad:()=>Sf});var Rt=I({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Ef=I({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Tf=I({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Sf=I({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});ge.default.formatters.b=r=>r==null?"undefined":E.baseEncode(r);ge.default.formatters.t=r=>r==null?"undefined":j.baseEncode(r);ge.default.formatters.m=r=>r==null?"undefined":Rt.baseEncode(r);ge.default.formatters.p=r=>r==null?"undefined":r.toString();ge.default.formatters.c=r=>r==null?"undefined":r.toString();ge.default.formatters.k=r=>r==null?"undefined":r.toString();function bt(r){return Object.assign((0,ge.default)(r),{error:(0,ge.default)(`${r}:error`),trace:(0,ge.default)(`${r}:trace`)})}function Qe(r,e){if(r===e)return!0;if(r.byteLength!==e.byteLength)return!1;for(let t=0;t<r.byteLength;t++)if(r[t]!==e[t])return!1;return!0}var Ke=class{constructor(e,t,n){this._refCounter=1,this.cid=e,this.priority=t??1,this.wantType=n}inc(){this._refCounter+=1}dec(){this._refCounter=Math.max(0,this._refCounter-1)}hasRefs(){return this._refCounter>0}get[Symbol.toStringTag](){return`WantlistEntry <key: ${this.cid.toString(E)}, priority: ${this.priority}, refs: ${this._refCounter}>`}equals(e){return this._refCounter===e._refCounter&&this.cid.equals(e.cid)&&this.priority===e.priority&&this.wantType===e.wantType}};var Me=class{constructor(e,t,n,i,o){this.entry=new Ke(e,t,n),this.cancel=!!i,this.sendDontHave=!!o}get cid(){return this.entry.cid}set cid(e){this.entry.cid=e}get priority(){return this.entry.priority}set priority(e){this.entry.priority=e}get wantType(){return this.entry.wantType}set wantType(e){this.entry.wantType=e}get[Symbol.toStringTag](){return`BitswapMessageEntry ${this.cid.toString(E)} <cancel: ${this.cancel}, priority: ${this.priority}>`}equals(e){return this.cancel===e.cancel&&this.sendDontHave===e.sendDontHave&&this.wantType===e.wantType&&this.entry.equals(e.entry)}};var se=(r,e)=>{let t=["bitswap"];return e!=null&&t.push(e),r!=null&&t.push(`${r.toString().slice(0,8)}`),bt(t.join(":"))};var vr=(r,e)=>{if(r.size!==e.size)return!1;for(let[t,n]of r){let i=e.get(t);if(i===void 0||n instanceof Uint8Array&&i instanceof Uint8Array&&!Qe(n,i)||n instanceof Me&&i instanceof Me&&!n.equals(i))return!1}return!0};var ci=O(ei(),1),ea=O(js(),1),ta=O(Je(),1),ui=O(ai(),1),ra=O(Ys(),1);function Mf(){ta.default._configure(),ci.default._configure(ea.default),ui.default._configure(ra.default)}Mf();var na=["uint64","int64","sint64","fixed64","sfixed64"];function Ff(r){for(let e of na){if(r[e]==null)continue;let t=r[e];r[e]=function(){return BigInt(t.call(this).toString())}}return r}function li(r){return Ff(new ci.default(r))}function Uf(r){for(let e of na){if(r[e]==null)continue;let t=r[e];r[e]=function(n){return t.call(this,n.toString())}}return r}function fi(){return Uf(ui.default.create())}function Ye(r,e){let t=li(r instanceof Uint8Array?r:r.subarray());return e.decode(t)}function et(r,e){let t=fi();return e.encode(r,t,{lengthDelimited:!1}),t.finish()}var vt;(function(r){r[r.VARINT=0]="VARINT",r[r.BIT64=1]="BIT64",r[r.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",r[r.START_GROUP=3]="START_GROUP",r[r.END_GROUP=4]="END_GROUP",r[r.BIT32=5]="BIT32"})(vt||(vt={}));function Sr(r,e,t,n){return{name:r,type:e,encode:t,decode:n}}function Ar(r){function e(i){if(r[i.toString()]==null)throw new Error("Invalid enum value");return r[i]}let t=function(o,s){let a=e(o);s.int32(a)},n=function(o){let s=o.int32();return e(s)};return Sr("enum",vt.VARINT,t,n)}function tt(r,e){return Sr("message",vt.LENGTH_DELIMITED,r,e)}var G;(function(r){let e;(function(a){let c;(function(d){d.Block="Block",d.Have="Have"})(c=a.WantType||(a.WantType={}));let u;(function(d){d[d.Block=0]="Block",d[d.Have=1]="Have"})(u||(u={})),function(d){d.codec=()=>Ar(u)}(c=a.WantType||(a.WantType={}));let l;(function(d){let v;d.codec=()=>(v==null&&(v=tt((y,g,k={})=>{k.lengthDelimited!==!1&&g.fork(),y.block!=null&&y.block.byteLength>0&&(g.uint32(10),g.bytes(y.block)),y.priority!=null&&y.priority!==0&&(g.uint32(16),g.int32(y.priority)),y.cancel!=null&&y.cancel!==!1&&(g.uint32(24),g.bool(y.cancel)),y.wantType!=null&&u[y.wantType]!==0&&(g.uint32(32),r.Wantlist.WantType.codec().encode(y.wantType,g)),y.sendDontHave!=null&&y.sendDontHave!==!1&&(g.uint32(40),g.bool(y.sendDontHave)),k.lengthDelimited!==!1&&g.ldelim()},(y,g)=>{let k={block:new Uint8Array(0),priority:0,cancel:!1,wantType:c.Block,sendDontHave:!1},N=g==null?y.len:y.pos+g;for(;y.pos<N;){let U=y.uint32();switch(U>>>3){case 1:k.block=y.bytes();break;case 2:k.priority=y.int32();break;case 3:k.cancel=y.bool();break;case 4:k.wantType=r.Wantlist.WantType.codec().decode(y);break;case 5:k.sendDontHave=y.bool();break;default:y.skipType(U&7);break}}return k})),v),d.encode=y=>et(y,d.codec()),d.decode=y=>Ye(y,d.codec())})(l=a.Entry||(a.Entry={}));let h;a.codec=()=>(h==null&&(h=tt((d,v,y={})=>{if(y.lengthDelimited!==!1&&v.fork(),d.entries!=null)for(let g of d.entries)v.uint32(10),r.Wantlist.Entry.codec().encode(g,v);d.full!=null&&d.full!==!1&&(v.uint32(16),v.bool(d.full)),y.lengthDelimited!==!1&&v.ldelim()},(d,v)=>{let y={entries:[],full:!1},g=v==null?d.len:d.pos+v;for(;d.pos<g;){let k=d.uint32();switch(k>>>3){case 1:y.entries.push(r.Wantlist.Entry.codec().decode(d,d.uint32()));break;case 2:y.full=d.bool();break;default:d.skipType(k&7);break}}return y})),h),a.encode=d=>et(d,a.codec()),a.decode=d=>Ye(d,a.codec())})(e=r.Wantlist||(r.Wantlist={}));let t;(function(a){let c;a.codec=()=>(c==null&&(c=tt((u,l,h={})=>{h.lengthDelimited!==!1&&l.fork(),u.prefix!=null&&u.prefix.byteLength>0&&(l.uint32(10),l.bytes(u.prefix)),u.data!=null&&u.data.byteLength>0&&(l.uint32(18),l.bytes(u.data)),h.lengthDelimited!==!1&&l.ldelim()},(u,l)=>{let h={prefix:new Uint8Array(0),data:new Uint8Array(0)},d=l==null?u.len:u.pos+l;for(;u.pos<d;){let v=u.uint32();switch(v>>>3){case 1:h.prefix=u.bytes();break;case 2:h.data=u.bytes();break;default:u.skipType(v&7);break}}return h})),c),a.encode=u=>et(u,a.codec()),a.decode=u=>Ye(u,a.codec())})(t=r.Block||(r.Block={}));let n;(function(a){a.Have="Have",a.DontHave="DontHave"})(n=r.BlockPresenceType||(r.BlockPresenceType={}));let i;(function(a){a[a.Have=0]="Have",a[a.DontHave=1]="DontHave"})(i||(i={})),function(a){a.codec=()=>Ar(i)}(n=r.BlockPresenceType||(r.BlockPresenceType={}));let o;(function(a){let c;a.codec=()=>(c==null&&(c=tt((u,l,h={})=>{h.lengthDelimited!==!1&&l.fork(),u.cid!=null&&u.cid.byteLength>0&&(l.uint32(10),l.bytes(u.cid)),u.type!=null&&i[u.type]!==0&&(l.uint32(16),r.BlockPresenceType.codec().encode(u.type,l)),h.lengthDelimited!==!1&&l.ldelim()},(u,l)=>{let h={cid:new Uint8Array(0),type:n.Have},d=l==null?u.len:u.pos+l;for(;u.pos<d;){let v=u.uint32();switch(v>>>3){case 1:h.cid=u.bytes();break;case 2:h.type=r.BlockPresenceType.codec().decode(u);break;default:u.skipType(v&7);break}}return h})),c),a.encode=u=>et(u,a.codec()),a.decode=u=>Ye(u,a.codec())})(o=r.BlockPresence||(r.BlockPresence={}));let s;r.codec=()=>(s==null&&(s=tt((a,c,u={})=>{if(u.lengthDelimited!==!1&&c.fork(),a.wantlist!=null&&(c.uint32(10),r.Wantlist.codec().encode(a.wantlist,c)),a.blocks!=null)for(let l of a.blocks)c.uint32(18),c.bytes(l);if(a.payload!=null)for(let l of a.payload)c.uint32(26),r.Block.codec().encode(l,c);if(a.blockPresences!=null)for(let l of a.blockPresences)c.uint32(34),r.BlockPresence.codec().encode(l,c);a.pendingBytes!=null&&a.pendingBytes!==0&&(c.uint32(40),c.int32(a.pendingBytes)),u.lengthDelimited!==!1&&c.ldelim()},(a,c)=>{let u={blocks:[],payload:[],blockPresences:[],pendingBytes:0},l=c==null?a.len:a.pos+c;for(;a.pos<l;){let h=a.uint32();switch(h>>>3){case 1:u.wantlist=r.Wantlist.codec().decode(a,a.uint32());break;case 2:u.blocks.push(a.bytes());break;case 3:u.payload.push(r.Block.codec().decode(a,a.uint32()));break;case 4:u.blockPresences.push(r.BlockPresence.codec().decode(a,a.uint32()));break;case 5:u.pendingBytes=a.int32();break;default:a.skipType(h&7);break}}return u})),s),r.encode=a=>et(a,r.codec()),r.decode=a=>Ye(a,r.codec())})(G||(G={}));var Br=class extends Error{constructor(e,t,n){super(e),this.code=t,this.name=n?.name??"CodeError",this.props=n??{}}};var Of,B=class{constructor(e){this.full=e,this.wantlist=new Map,this.blocks=new Map,this.blockPresences=new Map,this.pendingBytes=0}get empty(){return this.blocks.size===0&&this.wantlist.size===0&&this.blockPresences.size===0}addEntry(e,t,n,i,o){n==null&&(n=B.WantType.Block);let s=e.toString(E),a=this.wantlist.get(s);a!=null?(a.wantType===n&&(a.priority=t),i===!0&&(a.cancel=!!i),o===!0&&(a.sendDontHave=!!o),n===B.WantType.Block&&a.wantType===B.WantType.Have&&(a.wantType=n)):this.wantlist.set(s,new Me(e,t,n,i,o))}addBlock(e,t){let n=e.toString(E);this.blocks.set(n,t)}addHave(e){let t=e.toString(E);this.blockPresences.has(t)||this.blockPresences.set(t,B.BlockPresenceType.Have)}addDontHave(e){let t=e.toString(E);this.blockPresences.has(t)||this.blockPresences.set(t,B.BlockPresenceType.DontHave)}cancel(e){let t=e.toString(E);this.wantlist.delete(t),this.addEntry(e,0,B.WantType.Block,!0,!1)}setPendingBytes(e){this.pendingBytes=e}serializeToBitswap100(){return G.encode({wantlist:{entries:Array.from(this.wantlist.values()).map(e=>({block:e.cid.bytes,priority:Number(e.priority),cancel:!!e.cancel,wantType:G.Wantlist.WantType.Block,sendDontHave:!1})),full:!!this.full},blocks:Array.from(this.blocks.values())})}serializeToBitswap110(){let e={wantlist:{entries:Array.from(this.wantlist.values()).map(t=>({block:t.cid.bytes,priority:Number(t.priority),wantType:t.wantType,cancel:!!t.cancel,sendDontHave:!!t.sendDontHave})),full:!!this.full},blockPresences:[],payload:[],pendingBytes:this.pendingBytes,blocks:[]};for(let[t,n]of this.blocks.entries()){let i=x.parse(t),o=i.version,s=i.code,a=i.multihash.code,c=i.multihash.digest.length,u=cs([o,s,a,c]);e.payload.push({prefix:u,data:n})}for(let[t,n]of this.blockPresences)e.blockPresences.push({cid:x.parse(t).bytes,type:n});return this.pendingBytes>0&&(e.pendingBytes=this.pendingBytes),G.encode(e)}equals(e){return!(this.full!==e.full||this.pendingBytes!==e.pendingBytes||!vr(this.wantlist,e.wantlist)||!vr(this.blocks,e.blocks)||!vr(this.blockPresences,e.blockPresences))}get[Symbol.toStringTag](){let e=Array.from(this.wantlist.keys()),t=Array.from(this.blocks.keys());return`BitswapMessage <full: ${this.full}, list: ${e}, blocks: ${t}>`}};Of=B;B.Entry=Me;B.WantType={Block:G.Wantlist.WantType.Block,Have:G.Wantlist.WantType.Have};B.BlockPresenceType={Have:G.BlockPresenceType.Have,DontHave:G.BlockPresenceType.DontHave};B.deserialize=async(r,e)=>{let t=G.decode(r),n=t.wantlist?.full===!0,i=new B(n);return t.wantlist?.entries.forEach(o=>{if(o.block==null)return;let s=x.decode(o.block);i.addEntry(s,o.priority??0,o.wantType,!!o.cancel,!!o.sendDontHave)}),t.blockPresences.forEach(o=>{if(o.cid==null)return;let s=x.decode(o.cid);o.type===B.BlockPresenceType.Have?i.addHave(s):i.addDontHave(s)}),t.blocks.length>0?(await Promise.all(t.blocks.map(async o=>{let s=await je.digest(o),a=x.createV0(s);i.addBlock(a,o)})),i):(t.payload.length>0&&(await Promise.all(t.payload.map(async o=>{if(o.prefix==null||o.data==null)return;let s=(0,ia.default)(o.prefix),a=s[0],c=s[1],u=s[2],l=u===je.code?je:await e?.getHasher(u);if(l==null)throw new Br("Unknown hash algorithm","ERR_UNKNOWN_HASH_ALG");let h=await l.digest(o.data),d=x.create(a,c,h);i.addBlock(d,o.data)})),i.setPendingBytes(t.pendingBytes)),i)};B.blockPresenceSize=r=>r.bytes.length+1;var hi=class extends Map{constructor(e){super();let{name:t,metrics:n}=e;this.metric=n.registerMetric(t),this.updateComponentMetric()}set(e,t){return super.set(e,t),this.updateComponentMetric(),this}delete(e){let t=super.delete(e);return this.updateComponentMetric(),t}clear(){super.clear(),this.updateComponentMetric()}updateComponentMetric(){this.metric.update(this.size)}};function Oe(r){let{name:e,metrics:t}=r,n;return t!=null?n=new hi({name:e,metrics:t}):n=new Map,n}var oa={Block:G.Wantlist.WantType.Block,Have:G.Wantlist.WantType.Have},Rf=(r,e)=>Array.prototype.slice.call(e,0).sort((t,n)=>{let i=r(t),o=r(n);return i<o?-1:i>o?1:0}),ke=class{constructor(e,t){this.set=t!=null?Oe({name:"ipfs_bitswap_wantlist",metrics:t.metrics}):new Map,this._stats=e}get length(){return this.set.size}add(e,t,n){let i=e.toString(E),o=this.set.get(i);o!=null?(o.inc(),o.priority=t,o.wantType===oa.Have&&n===oa.Block&&(o.wantType=n)):(this.set.set(i,new Ke(e,t,n)),this._stats!=null&&this._stats.push(void 0,"wantListSize",1))}remove(e){let t=e.toString(E),n=this.set.get(t);n!=null&&(n.dec(),!n.hasRefs()&&(this.set.delete(t),this._stats!=null&&this._stats.push(void 0,"wantListSize",-1)))}removeForce(e){this.set.has(e)&&this.set.delete(e)}forEach(e){this.set.forEach(e)}entries(){return this.set.entries()}sortedEntries(){return new Map(Rf(e=>e[1].key,Array.from(this.set.entries())))}contains(e){let t=e.toString(E);return this.set.has(t)}get(e){let t=e.toString(E);return this.set.get(t)}};ke.Entry=Ke;var sa=Math.pow(2,31)-1,aa=1e3,ca=1;var ua=zf;function zf(r,e,t){var n=null,i=null,o=function(){n&&(clearTimeout(n),i=null,n=null)},s=function(){var c=i;o(),c&&c()},a=function(){if(!e)return r.apply(this,arguments);var c=this,u=arguments,l=t&&!n;if(o(),i=function(){r.apply(c,u)},n=setTimeout(function(){if(n=null,!l){var h=i;return i=null,h()}},e),l)return i()};return a.cancel=o,a.flush=s,a}var Cr=class{constructor(e,t,n){this.peerId=t,this.network=n,this.refcnt=1,this._entries=[],this._log=se(e,"msgqueue"),this.sendEntries=ua(this.sendEntries.bind(this),ca)}addMessage(e,t={}){e.empty||this.send(e,t)}addEntries(e,t={}){this._entries=this._entries.concat(e),this.sendEntries(t)}sendEntries(e={}){if(this._entries.length===0)return;let t=new B(!1);this._entries.forEach(n=>{n.cancel===!0?t.cancel(n.cid):t.addEntry(n.cid,n.priority)}),this._entries=[],this.addMessage(t,e)}async send(e,t={}){try{await this.network.connectTo(this.peerId,t)}catch(n){this._log.error("cant connect to peer %p: %s",this.peerId,n.message);return}this._log("sending message to peer %p",this.peerId),this.network.sendMessage(this.peerId,e,t).catch(n=>{this._log.error("send error",n)})}};var Lr=class{constructor(e,t,n,i){this.peers=Oe({name:"ipfs_bitswap_want_manager_peers",metrics:i.metrics}),this.wantlist=new ke(n,i),this.network=t,this._peerId=e,this._log=se(e,"want")}_addEntries(e,t,n,i={}){let o=e.map((s,a)=>new B.Entry(s,sa-a,B.WantType.Block,t));o.forEach(s=>{s.cancel?n===!0?this.wantlist.removeForce(s.cid.toString(E)):this.wantlist.remove(s.cid):(this._log("adding to wantlist"),this.wantlist.add(s.cid,s.priority))});for(let s of this.peers.values())s.addEntries(o,i)}_startPeerHandler(e){let t=this.peers.get(e.toString());if(t!=null){t.refcnt++;return}t=new Cr(this._peerId,e,this.network);let n=new B(!0);for(let i of this.wantlist.entries())n.addEntry(i[1].cid,i[1].priority);return t.addMessage(n),this.peers.set(e.toString(),t),t}_stopPeerHandler(e){let t=this.peers.get(e.toString());t!=null&&(t.refcnt--,!(t.refcnt>0)&&this.peers.delete(e.toString()))}wantBlocks(e,t={}){this._addEntries(e,!1,!1,t),t.signal?.addEventListener("abort",()=>{this.cancelWants(e)})}unwantBlocks(e){this._log("unwant blocks: %s",e.length),this._addEntries(e,!0,!0)}cancelWants(e){this._log("cancel wants: %s",e.length),this._addEntries(e,!0)}connectedPeers(){return Array.from(this.peers.keys())}connected(e){this._startPeerHandler(e)}disconnected(e){this._stopPeerHandler(e)}start(){}stop(){this.peers.forEach(e=>{this.disconnected(e.peerId)})}};function rt(r){return globalThis.Buffer!=null?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r}function Ee(r=0){return globalThis.Buffer?.alloc!=null?rt(globalThis.Buffer.alloc(r)):new Uint8Array(r)}function Te(r=0){return globalThis.Buffer?.allocUnsafe!=null?rt(globalThis.Buffer.allocUnsafe(r)):new Uint8Array(r)}function pi(r,e){e==null&&(e=r.reduce((i,o)=>i+o.length,0));let t=Te(e),n=0;for(let i of r)t.set(i,n),n+=i.length;return rt(t)}var fa=Symbol.for("@achingbrain/uint8arraylist");function la(r,e){if(e==null||e<0)throw new RangeError("index is out of bounds");let t=0;for(let n of r){let i=t+n.byteLength;if(e<i)return{buf:n,index:e-t};t=i}throw new RangeError("index is out of bounds")}function Pr(r){return!!r?.[fa]}var _e=class{constructor(...e){Object.defineProperty(this,fa,{value:!0}),this.bufs=[],this.length=0,e.length>0&&this.appendAll(e)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...e){this.appendAll(e)}appendAll(e){let t=0;for(let n of e)if(n instanceof Uint8Array)t+=n.byteLength,this.bufs.push(n);else if(Pr(n))t+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=t}prepend(...e){this.prependAll(e)}prependAll(e){let t=0;for(let n of e.reverse())if(n instanceof Uint8Array)t+=n.byteLength,this.bufs.unshift(n);else if(Pr(n))t+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=t}get(e){let t=la(this.bufs,e);return t.buf[t.index]}set(e,t){let n=la(this.bufs,e);n.buf[n.index]=t}write(e,t=0){if(e instanceof Uint8Array)for(let n=0;n<e.length;n++)this.set(t+n,e[n]);else if(Pr(e))for(let n=0;n<e.length;n++)this.set(t+n,e.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(e){if(e=Math.trunc(e),!(Number.isNaN(e)||e<=0)){if(e===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(e>=this.bufs[0].byteLength)e-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(e),this.length-=e;break}}}slice(e,t){let{bufs:n,length:i}=this._subList(e,t);return pi(n,i)}subarray(e,t){let{bufs:n,length:i}=this._subList(e,t);return n.length===1?n[0]:pi(n,i)}sublist(e,t){let{bufs:n,length:i}=this._subList(e,t),o=new _e;return o.length=i,o.bufs=n,o}_subList(e,t){if(e=e??0,t=t??this.length,e<0&&(e=this.length+e),t<0&&(t=this.length+t),e<0||t>this.length)throw new RangeError("index is out of bounds");if(e===t)return{bufs:[],length:0};if(e===0&&t===this.length)return{bufs:[...this.bufs],length:this.length};let n=[],i=0;for(let o=0;o<this.bufs.length;o++){let s=this.bufs[o],a=i,c=a+s.byteLength;if(i=c,e>=c)continue;let u=e>=a&&e<c,l=t>a&&t<=c;if(u&&l){if(e===a&&t===c){n.push(s);break}let h=e-a;n.push(s.subarray(h,h+(t-e)));break}if(u){if(e===0){n.push(s);continue}n.push(s.subarray(e-a));continue}if(l){if(t===c){n.push(s);break}n.push(s.subarray(0,t-a));break}n.push(s)}return{bufs:n,length:t-e}}indexOf(e,t=0){if(!Pr(e)&&!(e instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=e instanceof Uint8Array?e:e.subarray();if(t=Number(t??0),isNaN(t)&&(t=0),t<0&&(t=this.length+t),t<0&&(t=0),e.length===0)return t>this.length?this.length:t;let i=n.byteLength;if(i===0)throw new TypeError("search must be at least 1 byte long");let o=256,s=new Int32Array(o);for(let h=0;h<o;h++)s[h]=-1;for(let h=0;h<i;h++)s[n[h]]=h;let a=s,c=this.byteLength-n.byteLength,u=n.byteLength-1,l;for(let h=t;h<=c;h+=l){l=0;for(let d=u;d>=0;d--){let v=this.get(h+d);if(n[d]!==v){l=Math.max(1,d-a[v]);break}}if(l===0)return h}return-1}getInt8(e){let t=this.subarray(e,e+1);return new DataView(t.buffer,t.byteOffset,t.byteLength).getInt8(0)}setInt8(e,t){let n=Te(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,t),this.write(n,e)}getInt16(e,t){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,t)}setInt16(e,t,n){let i=Ee(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt16(0,t,n),this.write(i,e)}getInt32(e,t){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,t)}setInt32(e,t,n){let i=Ee(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt32(0,t,n),this.write(i,e)}getBigInt64(e,t){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,t)}setBigInt64(e,t,n){let i=Ee(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigInt64(0,t,n),this.write(i,e)}getUint8(e){let t=this.subarray(e,e+1);return new DataView(t.buffer,t.byteOffset,t.byteLength).getUint8(0)}setUint8(e,t){let n=Te(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,t),this.write(n,e)}getUint16(e,t){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,t)}setUint16(e,t,n){let i=Ee(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint16(0,t,n),this.write(i,e)}getUint32(e,t){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,t)}setUint32(e,t,n){let i=Ee(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,t,n),this.write(i,e)}getBigUint64(e,t){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,t)}setBigUint64(e,t,n){let i=Ee(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigUint64(0,t,n),this.write(i,e)}getFloat32(e,t){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,t)}setFloat32(e,t,n){let i=Ee(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat32(0,t,n),this.write(i,e)}getFloat64(e,t){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,t)}setFloat64(e,t,n){let i=Ee(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,t,n),this.write(i,e)}equals(e){if(e==null||!(e instanceof _e)||e.bufs.length!==this.bufs.length)return!1;for(let t=0;t<this.bufs.length;t++)if(!Qe(this.bufs[t],e.bufs[t]))return!1;return!0}static fromUint8Arrays(e,t){let n=new _e;return n.bufs=e,t==null&&(t=e.reduce((i,o)=>i+o.byteLength,0)),n.length=t,n}};function Nr(r){return r instanceof Uint8Array?{get(e){return r[e]},set(e,t){r[e]=t}}:{get(e){return r.get(e)},set(e,t){r.set(e,t)}}}var ha=4294967296,X=class{constructor(e=0,t=0){this.hi=e,this.lo=t}toBigInt(e){if(e===!0)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let t=~this.lo+1>>>0,n=~this.hi>>>0;return t===0&&(n=n+1>>>0),-(BigInt(t)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toNumber(e){return Number(this.toBigInt(e))}zzDecode(){let e=-(this.lo&1),t=((this.lo>>>1|this.hi<<31)^e)>>>0,n=(this.hi>>>1^e)>>>0;return new X(n,t)}zzEncode(){let e=this.hi>>31,t=((this.hi<<1|this.lo>>>31)^e)>>>0,n=(this.lo<<1^e)>>>0;return new X(t,n)}toBytes(e,t=0){let n=Nr(e);for(;this.hi>0;)n.set(t++,this.lo&127|128),this.lo=(this.lo>>>7|this.hi<<25)>>>0,this.hi>>>=7;for(;this.lo>127;)n.set(t++,this.lo&127|128),this.lo=this.lo>>>7;n.set(t++,this.lo)}static fromBigInt(e){if(e===0n)return new X;let t=e<0;t&&(e=-e);let n=Number(e>>32n)|0,i=Number(e-(BigInt(n)<<32n))|0;return t&&(n=~n>>>0,i=~i>>>0,++i>ha&&(i=0,++n>ha&&(n=0))),new X(n,i)}static fromNumber(e){if(e===0)return new X;let t=e<0;t&&(e=-e);let n=e>>>0,i=(e-n)/4294967296>>>0;return t&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new X(i,n)}static fromBytes(e,t=0){let n=Nr(e),i=new X,o=0;if(e.length-t>4){for(;o<4;++o)if(i.lo=(i.lo|(n.get(t)&127)<<o*7)>>>0,n.get(t++)<128)return i;if(i.lo=(i.lo|(n.get(t)&127)<<28)>>>0,i.hi=(i.hi|(n.get(t)&127)>>4)>>>0,n.get(t++)<128)return i;o=0}else for(;o<4;++o){if(t>=e.length)throw RangeError(`index out of range: ${t} > ${e.length}`);if(i.lo=(i.lo|(n.get(t)&127)<<o*7)>>>0,n.get(t++)<128)return i}if(e.length-t>4){for(;o<5;++o)if(i.hi=(i.hi|(n.get(t)&127)<<o*7+3)>>>0,n.get(t++)<128)return i}else if(t<e.byteLength)for(;o<5;++o){if(t>=e.length)throw RangeError(`index out of range: ${t} > ${e.length}`);if(i.hi=(i.hi|(n.get(t)&127)<<o*7+3)>>>0,n.get(t++)<128)return i}throw RangeError("invalid varint encoding")}};var $f=Math.pow(2,7),Wf=Math.pow(2,14),Hf=Math.pow(2,21),qf=Math.pow(2,28),Vf=Math.pow(2,35),jf=Math.pow(2,42),Gf=Math.pow(2,49),Qf=Math.pow(2,56),Kf=Math.pow(2,63),nt={encodingLength(r){return r<$f?1:r<Wf?2:r<Hf?3:r<qf?4:r<Vf?5:r<jf?6:r<Gf?7:r<Qf?8:r<Kf?9:10},encode(r,e,t=0){if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return e==null&&(e=Te(nt.encodingLength(r))),X.fromNumber(r).toBytes(e,t),e},decode(r,e=0){return X.fromBytes(r,e).toNumber(!0)}};function da(r){return globalThis?.Buffer?.allocUnsafe!=null?globalThis.Buffer.allocUnsafe(r):new Uint8Array(r)}var Dr=r=>{let e=nt.encodingLength(r),t=da(e);return nt.encode(r,t),Dr.bytes=e,t};Dr.bytes=0;function Ir(r){r=r??{};let e=r.lengthEncoder??Dr;return async function*(n){for await(let i of n){let o=e(i.byteLength);o instanceof Uint8Array?yield o:yield*o,i instanceof Uint8Array?yield i:yield*i}}}Ir.single=(r,e)=>{e=e??{};let t=e.lengthEncoder??Dr;return new _e(t(r.byteLength),r)};var Wt=O(Mr(),1),Jf=8,Zf=1024*1024*4,it;(function(r){r[r.LENGTH=0]="LENGTH",r[r.DATA=1]="DATA"})(it||(it={}));var mi=r=>{let e=nt.decode(r);return mi.bytes=nt.encodingLength(e),e};mi.bytes=0;function Ht(r){return async function*(t){let n=new _e,i=it.LENGTH,o=-1,s=r?.lengthDecoder??mi,a=r?.maxLengthLength??Jf,c=r?.maxDataLength??Zf;for await(let u of t)for(n.append(u);n.byteLength>0;){if(i===it.LENGTH)try{if(o=s(n),o<0)throw(0,Wt.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(o>c)throw(0,Wt.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let l=s.bytes;n.consume(l),r?.onLength!=null&&r.onLength(o),i=it.DATA}catch(l){if(l instanceof RangeError){if(n.byteLength>a)throw(0,Wt.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw l}if(i===it.DATA){if(n.byteLength<o)break;let l=n.sublist(0,o);n.consume(o),r?.onData!=null&&r.onData(l),yield l,i=it.LENGTH}}if(n.byteLength>0)throw(0,Wt.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}}Ht.fromReader=(r,e)=>{let t=1,n=async function*(){for(;;)try{let{done:o,value:s}=await r.next(t);if(o===!0)return;s!=null&&(yield s)}catch(o){if(o.code==="ERR_UNDER_READ")return{done:!0,value:null};throw o}finally{t=1}}();return Ht({...e??{},onLength:o=>{t=o}})(n)};var Fr=class{constructor(e){if(!(e>0)||e-1&e)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}},xt=class{constructor(e={}){this.hwm=e.splitLimit??16,this.head=new Fr(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 t=this.head;this.head=t.next=new Fr(2*this.head.buffer.length),this.head.push(e)}}shift(){let e=this.tail.shift();if(e===void 0&&this.tail.next!=null){let t=this.tail.next;this.tail.next=null,this.tail=t,e=this.tail.shift()}return e?.value!=null&&(this.size-=this.calculateSize(e.value)),e}isEmpty(){return this.head.isEmpty()}};function qt(r={}){return eh(t=>{let n=t.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},r)}function eh(r,e){e=e??{};let t=e.onEnd,n=new xt,i,o,s,a=async()=>n.isEmpty()?s?{done:!0}:await new Promise((g,k)=>{o=N=>{o=null,n.push(N);try{g(r(n))}catch(U){k(U)}return i}}):r(n),c=g=>o!=null?o(g):(n.push(g),i),u=g=>(n=new xt,o!=null?o({error:g}):(n.push({error:g}),i)),l=g=>{if(s)return i;if(e?.objectMode!==!0&&g?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return c({done:!1,value:g})},h=g=>s?i:(s=!0,g!=null?u(g):c({done:!0})),d=()=>(n=new xt,h(),{done:!0}),v=g=>(h(g),{done:!0});if(i={[Symbol.asyncIterator](){return this},next:a,return:d,throw:v,push:l,end:h,get readableLength(){return n.size}},t==null)return i;let y=i;return i={[Symbol.asyncIterator](){return this},next(){return y.next()},throw(g){return y.throw(g),t!=null&&(t(g),t=void 0),{done:!0}},return(){return y.return(),t!=null&&(t(),t=void 0),{done:!0}},push:l,end(g){return y.end(g),t!=null&&(t(g),t=void 0),i},get readableLength(){return y.readableLength}},i}async function*Ur(...r){let e=qt({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(r.map(async t=>{for await(let n of t)e.push(n)})),e.end()}catch(t){e.end(t)}}),yield*e}var th=(...r)=>{let e;for(;r.length>0;)e=r.shift()(e);return e},ya=r=>r!=null&&(typeof r[Symbol.asyncIterator]=="function"||typeof r[Symbol.iterator]=="function"||typeof r.next=="function"),yi=r=>r!=null&&typeof r.sink=="function"&&ya(r.source),rh=r=>e=>{let t=r.sink(e);if(t.then!=null){let n=qt({objectMode:!0});return t.then(()=>{n.end()},o=>{n.end(o)}),Ur(n,async function*(){yield*r.source,n.end()}())}return r.source};function Or(r,...e){if(yi(r)){let n=r;r=()=>n.source}else if(ya(r)){let n=r;r=()=>n}let t=[r,...e];if(t.length>1&&yi(t[t.length-1])&&(t[t.length-1]=t[t.length-1].sink),t.length>2)for(let n=1;n<t.length-1;n++)yi(t[n])&&(t[n]=rh(t[n]));return th(...t)}var gi=Symbol.for("@libp2p/topology");var ga=()=>{},wi=class{constructor(e){this.min=e.min??0,this.max=e.max??1/0,this.peers=new Set,this.onConnect=e.onConnect??ga,this.onDisconnect=e.onDisconnect??ga}get[Symbol.toStringTag](){return gi.toString()}get[gi](){return!0}async setRegistrar(e){this.registrar=e}disconnect(e){this.onDisconnect(e)}};function wa(r){return new wi(r)}var Ba=O(Ta(),1);var jt=class extends Error{constructor(e,t){super(e??"The operation was aborted"),this.type="aborted",this.code=t??"ABORT_ERR"}};function Sa(r){if(r!=null){if(typeof r[Symbol.iterator]=="function")return r[Symbol.iterator]();if(typeof r[Symbol.asyncIterator]=="function")return r[Symbol.asyncIterator]();if(typeof r.next=="function")return r}throw new Error("argument is not an iterator or iterable")}function Aa(r,e,t){let n=t??{},i=Sa(r);async function*o(){let s,a=()=>{s?.()};for(e.addEventListener("abort",a);;){let c;try{if(e.aborted){let{abortMessage:l,abortCode:h}=n;throw new jt(l,h)}let u=new Promise((l,h)=>{s=()=>{let{abortMessage:d,abortCode:v}=n;h(new jt(d,v))}});c=await Promise.race([u,i.next()]),s=null}catch(u){e.removeEventListener("abort",a);let l=u.type==="aborted"&&e.aborted;if(l&&n.onAbort!=null&&await n.onAbort(r),typeof i.return=="function")try{let h=i.return();h instanceof Promise&&h.catch(d=>{n.onReturnError!=null&&n.onReturnError(d)})}catch(h){n.onReturnError!=null&&n.onReturnError(h)}if(l&&n.returnOnAbort===!0)return;throw u}if(c.done===!0)break;yield c.value}e.removeEventListener("abort",a)}return o()}var C=class extends Event{constructor(e,t){super(e),this.detail=t}};async function*ot(r,e){let t=0;if(!(e<1)){for await(let n of r)if(yield n,t++,t===e)return}}async function Se(r){for await(let e of r);}async function*zr(r,e){for await(let t of r)yield e(t)}var _i="/ipfs/bitswap/1.0.0",vi="/ipfs/bitswap/1.1.0",xi="/ipfs/bitswap/1.2.0",sh=32,ah=128,ch=3e4,$r=class{constructor(e,t,n,i={}){this._log=se(e.peerId,"network"),this._libp2p=e,this._bitswap=t,this._protocols=[_i],i.b100Only!==!0&&(this._protocols.unshift(vi),this._protocols.unshift(xi)),this._stats=n,this._running=!1,this._onPeerConnect=this._onPeerConnect.bind(this),this._onPeerDisconnect=this._onPeerDisconnect.bind(this),this._onConnection=this._onConnection.bind(this),this._hashLoader=i.hashLoader??{async getHasher(){throw new Error("Not implemented")}},this._maxInboundStreams=i.maxInboundStreams??sh,this._maxOutboundStreams=i.maxOutboundStreams??ah,this._incomingStreamTimeout=i.incomingStreamTimeout??ch}async start(){this._running=!0,await this._libp2p.handle(this._protocols,this._onConnection,{maxInboundStreams:this._maxInboundStreams,maxOutboundStreams:this._maxOutboundStreams});let e=wa({onConnect:this._onPeerConnect,onDisconnect:this._onPeerDisconnect});this._registrarIds=[];for(let t of this._protocols)this._registrarIds.push(await this._libp2p.register(t,e));this._libp2p.getConnections().forEach(t=>{this._onPeerConnect(t.remotePeer)})}async stop(){if(this._running=!1,await this._libp2p.unhandle(this._protocols),this._registrarIds!=null){for(let e of this._registrarIds)this._libp2p.unregister(e);this._registrarIds=[]}}_onConnection(e){if(!this._running)return;let{stream:t,connection:n}=e,i=new Ba.TimeoutController(this._incomingStreamTimeout);Promise.resolve().then(async()=>{this._log("incoming new bitswap %s connection from %p",t.stat.protocol,n.remotePeer),await Or(Aa(t.source,i.signal),Ht(),async o=>{for await(let s of o){try{let a=await B.deserialize(s.subarray(),this._hashLoader);await this._bitswap._receiveMessage(n.remotePeer,a)}catch(a){this._bitswap._receiveError(a);break}i.reset()}})}).catch(o=>{this._log(o),t.abort(o)}).finally(()=>{i.clear(),t.close()})}_onPeerConnect(e){this._bitswap._onPeerConnected(e)}_onPeerDisconnect(e){this._bitswap._onPeerDisconnected(e)}findProviders(e,t={}){return t.onProgress?.(new C("bitswap:network:find-providers",e)),this._libp2p.contentRouting.findProviders(e,t)}async findAndConnect(e,t){await Se(ot(zr(this.findProviders(e,t),async n=>await this.connectTo(n.id,t).catch(i=>{this._log.error(i)})),3)).catch(n=>{this._log.error(n)})}async provide(e,t={}){t.onProgress?.(new C("bitswap:network:provide",e)),await this._libp2p.contentRouting.provide(e,t)}async sendMessage(e,t,n={}){if(!this._running)throw new Error("network isn't running");let i=e.toString();this._log("sendMessage to %s",i,t),n.onProgress?.(new C("bitswap:network:send-wantlist",e)),await this._writeMessage(e,t,n),this._updateSentStats(e,t.blocks)}async connectTo(e,t={}){if(!this._running)throw new Error("network isn't running");return t.onProgress?.(new C("bitswap:network:dial",e)),await this._libp2p.dial(e,t)}_updateSentStats(e,t){let n=e.toString();if(this._stats!=null){for(let i of t.values())this._stats.push(n,"dataSent",i.length);this._stats.push(n,"blocksSent",t.size)}}async _writeMessage(e,t,n={}){let i=await this._libp2p.dialProtocol(e,[xi,vi,_i]);try{let o;switch(i.stat.protocol){case _i:o=t.serializeToBitswap100();break;case vi:case xi:o=t.serializeToBitswap110();break;default:throw new Error(`Unknown protocol: ${i.stat.protocol}`)}await Or([o],Ir(),i)}catch(o){n.onProgress?.(new C("bitswap:network:send-wantlist:error",{peer:e,error:o})),this._log(o)}finally{i.close()}}};var Wr=class{constructor(e){this.partner=e,this.wantlist=new ke,this.exchangeCount=0,this.accounting={bytesSent:0,bytesRecv:0}}sentBytes(e){this.exchangeCount++,this.lastExchange=new Date().getTime(),this.accounting.bytesSent+=e}receivedBytes(e){this.exchangeCount++,this.lastExchange=new Date().getTime(),this.accounting.bytesRecv+=e}wants(e,t,n){this.wantlist.add(e,t,n)}cancelWant(e){this.wantlist.remove(e)}wantlistContains(e){return this.wantlist.get(e)}debtRatio(){return this.accounting.bytesSent/(this.accounting.bytesRecv+1)}};var Gt=class extends Map{constructor(e,t){super(),this._cmp=t??this._defaultSort,this._keys=[];for(let[n,i]of e??[])this.set(n,i)}update(e){if(e<0||e>=this._keys.length)return;let t=this._keys[e];this._keys.splice(e,1);let n=this._find(t);this._keys.splice(n,0,t)}set(e,t){if(this.has(e)){let i=this.indexOf(e);this._keys.splice(i,1)}super.set(e,t);let n=this._find(e);return this._keys.splice(n,0,e),this}clear(){super.clear(),this._keys=[]}delete(e){if(!this.has(e))return!1;let t=this.indexOf(e);return this._keys.splice(t,1),super.delete(e)}indexOf(e){if(!this.has(e))return-1;let t=this._find(e);if(this._keys[t]===e)return t;for(let n=1;n<this._keys.length;n++){if(this._keys[t+n]===e)return t+n;if(this._keys[t-n]===e)return t-n}return-1}_find(e){let t=0,n=this._keys.length;for(;t<n;){let i=t+n>>>1,o=this._kCmp(this._keys[i],e);if(o<0)t=i+1;else if(o>0)n=i;else return i}return t}*keys(){for(let e of this._keys)yield e}*values(){for(let e of this._keys)yield this.get(e)}*entries(){for(let e of this._keys)yield[e,this.get(e)]}*[Symbol.iterator](){yield*this.entries()}forEach(e,t=this){if(e!=null)for(let n of this._keys){let i=this.get(n);if(i==null)throw new Error("Value cannot be undefined");e.apply(t,[[n,i]])}}_defaultSort(e,t){return e[0]<t[0]?-1:t[0]<e[0]?1:0}_kCmp(e,t){return this._cmp([e,this.get(e)],[t,this.get(t)])}};var uh={hasNewInfo(){return!1},merge(){}},Hr=class{constructor(e=uh){this._taskMerger=e,this._byPeer=new Gt([],qr.compare)}pushTasks(e,t){let n=this._byPeer.get(e.toString());n==null&&(n=new qr(e,this._taskMerger)),n.pushTasks(t),this._byPeer.set(e.toString(),n)}popTasks(e){let t=this._head();if(t===void 0)return{tasks:[],pendingSize:0};let{tasks:n,pendingSize:i}=t.popTasks(e);if(n.length===0)return{tasks:n,pendingSize:i};let o=t.peerId;return t.isIdle()?this._byPeer.delete(o.toString()):this._byPeer.update(0),{peerId:o,tasks:n,pendingSize:i}}_head(){if(this._byPeer.size!==0)for(let[,e]of this._byPeer)return e}remove(e,t){this._byPeer.get(t.toString())?.remove(e)}tasksDone(e,t){let n=this._byPeer.get(e.toString());if(n==null)return;let i=this._byPeer.indexOf(e.toString());for(let o of t)n.taskDone(o);this._byPeer.update(i)}},qr=class{constructor(e,t){this.peerId=e,this._taskMerger=t,this._activeTotalSize=0,this._pending=new ki,this._active=new Set}pushTasks(e){for(let t of e)this._pushTask(t)}_pushTask(e){if(!this._taskHasMoreInfoThanActiveTasks(e))return;let t=this._pending.get(e.topic);if(t!=null){e.priority>t.priority&&this._pending.updatePriority(e.topic,e.priority),this._taskMerger.merge(e,t);return}this._pending.add(e)}_taskHasMoreInfoThanActiveTasks(e){let t=[];for(let n of this._active)n.topic===e.topic&&t.push(n);return t.length===0?!0:this._taskMerger.hasNewInfo(e,t)}popTasks(e){let t=0,n=[],i=this._pending.tasks();for(let o=0;o<i.length&&t<e;o++){let s=i[o];n.push(s),t+=s.size,this._pending.delete(s.topic),this._activeTotalSize+=s.size,this._active.add(s)}return{tasks:n,pendingSize:this._pending.totalSize}}taskDone(e){this._active.has(e)&&(this._activeTotalSize-=e.size,this._active.delete(e))}remove(e){this._pending.delete(e)}isIdle(){return this._pending.length===0&&this._active.size===0}static compare(e,t){return e[1]._pending.length===0?1:t[1]._pending.length===0?-1:e[1]._activeTotalSize===t[1]._activeTotalSize?t[1]._pending.length-e[1]._pending.length:e[1]._activeTotalSize-t[1]._activeTotalSize}},ki=class{constructor(){this._tasks=new Gt([],this._compare)}get length(){return this._tasks.size}get totalSize(){return[...this._tasks.values()].reduce((e,t)=>e+t.task.size,0)}get(e){return this._tasks?.get(e)?.task}add(e){this._tasks.set(e.topic,{created:Date.now(),task:e})}delete(e){this._tasks.delete(e)}tasks(){return[...this._tasks.values()].map(e=>e.task)}updatePriority(e,t){let n=this._tasks.get(e);if(n==null)return;let i=this._tasks.indexOf(e);n.task.priority=t,this._tasks.update(i)}_compare(e,t){return e[1].task.priority===t[1].task.priority?e[1].created-t[1].created:t[1].task.priority-e[1].task.priority}};var Ca={hasNewInfo(r,e){let t=!1,n=!1;for(let i of e)i.data.haveBlock&&(t=!0),i.data.isWantBlock&&(n=!0);return!!(!n&&r.data.isWantBlock||!t&&r.data.haveBlock)},merge(r,e){let t=r.data,n=e.data;!n.haveBlock&&t.haveBlock&&(n.haveBlock=t.haveBlock,n.blockSize=t.blockSize),!n.isWantBlock&&t.isWantBlock&&(n.isWantBlock=!0,(!n.haveBlock||t.haveBlock)&&(n.haveBlock=t.haveBlock,e.size=r.size)),n.isWantBlock&&n.haveBlock&&(e.size=n.blockSize)}};var La=B.WantType,lh=16*1024,fh=1024,Vr=class{constructor(e,t,n,i,o,s={}){this._log=se(e,"engine"),this.blockstore=t,this.network=n,this._stats=i,this._opts=this._processOpts(s),this.ledgerMap=Oe({name:"ipfs_bitswap_ledger_map",metrics:o.metrics}),this._running=!1,this._requestQueue=new Hr(Ca)}_processOpts(e){return{maxSizeReplaceHasWithBlock:fh,targetMessageSize:lh,...e}}_scheduleProcessTasks(){setTimeout(()=>{this._processTasks().catch(e=>{this._log.error("error processing stats",e)})})}async _processTasks(){if(!this._running)return;let{peerId:e,tasks:t,pendingSize:n}=this._requestQueue.popTasks(this._opts.targetMessageSize);if(t.length===0)return;let i=new B(!1);i.setPendingBytes(n);let o=[],s=new Map;for(let c of t){let u=x.parse(c.topic);c.data.haveBlock?c.data.isWantBlock?(o.push(u),s.set(c.topic,c.data)):i.addHave(u):i.addDontHave(u)}let a=await this._getBlocks(o);for(let[c,u]of s){let l=x.parse(c),h=a.get(c);h!=null?i.addBlock(l,h):u.sendDontHave&&i.addDontHave(l)}if(i.empty){e!=null&&this._requestQueue.tasksDone(e,t),this._scheduleProcessTasks();return}try{e!=null&&await this.network.sendMessage(e,i);for(let[c,u]of a.entries())e!=null&&this.messageSent(e,x.parse(c),u)}catch(c){this._log.error(c)}e!=null&&this._requestQueue.tasksDone(e,t),this._scheduleProcessTasks()}wantlistForPeer(e){let t=e.toString(),n=this.ledgerMap.get(t);return n!=null?n.wantlist.sortedEntries():new Map}ledgerForPeer(e){let t=e.toString(),n=this.ledgerMap.get(t);if(n!=null)return{peer:n.partner,value:n.debtRatio(),sent:n.accounting.bytesSent,recv:n.accounting.bytesRecv,exchanged:n.exchangeCount}}peers(){return Array.from(this.ledgerMap.values()).map(e=>e.partner)}receivedBlocks(e){if(e.length!==0){for(let t of this.ledgerMap.values())for(let{cid:n,block:i}of e){let o=t.wantlistContains(n);if(o==null)continue;let s=i.length,a=this._sendAsBlock(o.wantType,s),c=s;a||(c=B.blockPresenceSize(o.cid)),this._requestQueue.pushTasks(t.partner,[{topic:o.cid.toString(E),priority:o.priority,size:c,data:{blockSize:s,isWantBlock:a,haveBlock:!0,sendDontHave:!1}}])}this._scheduleProcessTasks()}}async messageReceived(e,t){let n=this._findOrCreate(e);if(t.empty)return;if(t.full&&(n.wantlist=new ke),this._updateBlockAccounting(t.blocks,n),t.wantlist.size===0){this._scheduleProcessTasks();return}let i=[],o=[];t.wantlist.forEach(s=>{s.cancel?(n.cancelWant(s.cid),i.push(s.cid)):(n.wants(s.cid,s.priority,s.wantType),o.push(s))}),this._cancelWants(e,i),await this._addWants(e,o),this._scheduleProcessTasks()}_cancelWants(e,t){for(let n of t)this._requestQueue.remove(n.toString(E),e)}async _addWants(e,t){let n=await this._getBlockSizes(t.map(o=>o.cid)),i=[];for(let o of t){let s=o.cid.toString(E),a=n.get(s);if(a==null)o.sendDontHave&&i.push({topic:s,priority:o.priority,size:B.blockPresenceSize(o.cid),data:{isWantBlock:o.wantType===La.Block,blockSize:0,haveBlock:!1,sendDontHave:o.sendDontHave}});else{let c=this._sendAsBlock(o.wantType,a),u=a;c||(u=B.blockPresenceSize(o.cid)),i.push({topic:s,priority:o.priority,size:u,data:{isWantBlock:c,blockSize:a,haveBlock:!0,sendDontHave:o.sendDontHave}})}this._requestQueue.pushTasks(e,i)}}_sendAsBlock(e,t){return e===La.Block||t<=this._opts.maxSizeReplaceHasWithBlock}async _getBlockSizes(e){let t=await this._getBlocks(e);return new Map([...t].map(([n,i])=>[n,i.length]))}async _getBlocks(e){let t=new Map;return await Promise.all(e.map(async n=>{try{let i=await this.blockstore.get(n);t.set(n.toString(E),i)}catch(i){i.code!=="ERR_NOT_FOUND"&&this._log.error("failed to query blockstore for %s: %s",n,i)}})),t}_updateBlockAccounting(e,t){for(let n of e.values())this._log("got block (%s bytes)",n.length),t.receivedBytes(n.length)}messageSent(e,t,n){let i=this._findOrCreate(e);i.sentBytes(n.length),i.wantlist.remove(t)}numBytesSentTo(e){return this._findOrCreate(e).accounting.bytesSent}numBytesReceivedFrom(e){return this._findOrCreate(e).accounting.bytesRecv}peerDisconnected(e){this.ledgerMap.delete(e.toString())}_findOrCreate(e){let t=e.toString(),n=this.ledgerMap.get(t);if(n!=null)return n;let i=new Wr(e);return this.ledgerMap.set(t,i),this._stats!=null&&this._stats.push(t,"peerCount",1),i}start(){this._running=!0}stop(){this._running=!1}};var ja=O(Qr(),1);var Ti={};V(Ti,{identity:()=>wh});var wh=mt({prefix:"\0",name:"identity",encode:r=>ko(r),decode:r=>xo(r)});var Si={};V(Si,{base2:()=>bh});var bh=I({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Ai={};V(Ai,{base8:()=>_h});var _h=I({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Bi={};V(Bi,{base10:()=>vh});var vh=Ie({prefix:"9",name:"base10",alphabet:"0123456789"});var Ci={};V(Ci,{base16:()=>xh,base16upper:()=>kh});var xh=I({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),kh=I({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Li={};V(Li,{base36:()=>Qt,base36upper:()=>Eh});var Qt=Ie({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Eh=Ie({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Pi={};V(Pi,{base256emoji:()=>Ch});var $a=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}"),Th=$a.reduce((r,e,t)=>(r[t]=e,r),[]),Sh=$a.reduce((r,e,t)=>(r[e.codePointAt(0)]=t,r),[]);function Ah(r){return r.reduce((e,t)=>(e+=Th[t],e),"")}function Bh(r){let e=[];for(let t of r){let n=Sh[t.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${t}`);e.push(n)}return new Uint8Array(e)}var Ch=mt({prefix:"\u{1F680}",name:"base256emoji",encode:Ah,decode:Bh});var Kr=85;var ug=new TextEncoder,lg=new TextDecoder;var Di={...Ti,...Si,...Ai,...Bi,...Ci,...qn,...Li,...Hn,...Kn,...Pi},mg={...On,...In};function Ha(r,e,t,n){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:t},decoder:{decode:n}}}var Wa=Ha("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),Ii=Ha("ascii","a",r=>{let e="a";for(let t=0;t<r.length;t++)e+=String.fromCharCode(r[t]);return e},r=>{r=r.substring(1);let e=Te(r.length);for(let t=0;t<r.length;t++)e[t]=r.charCodeAt(t);return e}),Ph={utf8:Wa,"utf-8":Wa,hex:Di.base16,latin1:Ii,ascii:Ii,binary:Ii,...Di},Xr=Ph;function st(r,e="utf8"){let t=Xr[e];if(t==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(r.buffer,r.byteOffset,r.byteLength).toString("utf8"):t.encoder.encode(r).substring(1)}var qa=r=>`unwant:${st(r.multihash.bytes,"base64")}`,Va=r=>`block:${st(r.multihash.bytes,"base64")}`,Jr=class extends ja.EventEmitter{constructor(e){super(),this.setMaxListeners(aa),this._log=se(e,"notif")}hasBlock(e,t){let n=Va(e);this._log(n),this.emit(n,t)}async wantBlock(e,t={}){if(e==null)throw new Error("Not a valid cid");let n=Va(e),i=qa(e);return this._log(`wantBlock:${e}`),await new Promise((o,s)=>{let a=()=>{this.removeListener(n,c),t.onProgress?.(new C("bitswap:want-block:unwant",e)),s(new Error(`Block for ${e} unwanted`))},c=u=>{this.removeListener(i,a),t.onProgress?.(new C("bitswap:want-block:block",e)),o(u)};this.once(i,a),this.once(n,c),t.signal?.addEventListener("abort",()=>{this.removeListener(n,c),this.removeListener(i,a),s(new Error(`Want for ${e} aborted`))})})}unwantBlock(e){let t=qa(e);this._log(t),this.emit(t)}};var Za=O(Qr(),1);var Xa=O(Qr(),1),Mi=O(Ka(),1),Kt=class extends Xa.EventEmitter{constructor(e,t){super(),this._options=t,this._queue=[],this._stats={},this._frequencyLastTime=Date.now(),this._frequencyAccumulators={},this._movingAverages={},this._update=this._update.bind(this),e.forEach(n=>{this._stats[n]=BigInt(0),this._movingAverages[n]={},this._options.movingAverageIntervals.forEach(i=>{(this._movingAverages[n][i]=(0,Mi.default)(i)).push(this._frequencyLastTime,0)})}),this._enabled=this._options.enabled}enable(){this._enabled=!0}disable(){this._enabled=!1}stop(){this._timeout!=null&&clearTimeout(this._timeout)}get snapshot(){return Object.assign({},this._stats)}get movingAverages(){return Object.assign({},this._movingAverages)}push(e,t){this._enabled&&(this._queue.push([e,t,Date.now()]),this._resetComputeTimeout())}_resetComputeTimeout(){this._timeout!=null&&clearTimeout(this._timeout),this._timeout=setTimeout(this._update,this._nextTimeout())}_nextTimeout(){let e=this._queue.length/this._options.computeThrottleMaxQueueSize;return Math.max(this._options.computeThrottleTimeout*(1-e),0)}_update(){if(this._timeout=void 0,this._queue.length>0){let e;for(;this._queue.length>0;){let t=e=this._queue.shift();t!=null&&this._applyOp(t)}e!=null&&this._updateFrequency(e[2]),this.emit("update",this._stats)}}_updateFrequency(e){let t=e-this._frequencyLastTime;t>0&&Object.keys(this._stats).forEach(n=>{this._updateFrequencyFor(n,t,e)}),this._frequencyLastTime=e}_updateFrequencyFor(e,t,n){let i=this._frequencyAccumulators[e]??0;this._frequencyAccumulators[e]=0;let o=i/t*1e3,s=this._movingAverages[e];s==null&&(s=this._movingAverages[e]={}),this._options.movingAverageIntervals.forEach(a=>{let c=s[a];c==null&&(c=s[a]=(0,Mi.default)(a)),c.push(n,o)})}_applyOp(e){let t=e[0],n=e[1];if(typeof n!="number")throw new Error(`invalid increment number: ${n}`);Object.prototype.hasOwnProperty.call(this._stats,t)||(this._stats[t]=BigInt(0)),this._stats[t]=BigInt(this._stats[t])+BigInt(n),this._frequencyAccumulators[t]==null&&(this._frequencyAccumulators[t]=0),this._frequencyAccumulators[t]+=n}};var Ja={enabled:!1,computeThrottleTimeout:1e3,computeThrottleMaxQueueSize:1e3,movingAverageIntervals:[60*1e3,5*60*1e3,15*60*1e3]},Zr=class extends Za.EventEmitter{constructor(e,t=[],n=Ja){super();let i=Object.assign({},Ja,n);if(typeof i.computeThrottleTimeout!="number")throw new Error("need computeThrottleTimeout");if(typeof i.computeThrottleMaxQueueSize!="number")throw new Error("need computeThrottleMaxQueueSize");this._initialCounters=t,this._options=i,this._enabled=this._options.enabled,this._global=new Kt(t,i),this._global.on("update",o=>this.emit("update",o)),this._peers=Oe({name:"ipfs_bitswap_stats_peers",metrics:e.metrics})}enable(){this._enabled=!0,this._options.enabled=!0,this._global.enable()}disable(){this._enabled=!1,this._options.enabled=!1,this._global.disable()}stop(){this._enabled=!1,this._global.stop();for(let e of this._peers)e[1].stop()}get snapshot(){return this._global.snapshot}get movingAverages(){return this._global.movingAverages}forPeer(e){let t=e.toString();return this._peers.get(t)}push(e,t,n){if(this._enabled&&(this._global.push(t,n),e!=null)){let i=this._peers.get(e);i==null&&(i=new Kt(this._initialCounters,this._options),this._peers.set(e,i)),i.push(t,n)}}disconnected(e){let t=e.toString(),n=this._peers.get(t);n!=null&&(n.stop(),this._peers.delete(t))}};var tc=O(ec(),1);var Dh={async getHasher(){throw new Error("Not implemented")}},Ih={maxInboundStreams:32,maxOutboundStreams:128,incomingStreamTimeout:3e4,hashLoader:Dh,statsEnabled:!1,statsComputeThrottleTimeout:1e3,statsComputeThrottleMaxQueueSize:1e3},Mh=["blocksReceived","dataReceived","dupBlksReceived","dupDataReceived","blocksSent","dataSent","providesBufferLength","wantListLength","peerCount"],Yr=class{constructor(e,t,n={}){this._libp2p=e,this._log=se(this.peerId),this._options=Object.assign({},Ih,n),this.stats=new Zr(e,Mh,{enabled:this._options.statsEnabled,computeThrottleTimeout:this._options.statsComputeThrottleTimeout,computeThrottleMaxQueueSize:this._options.statsComputeThrottleMaxQueueSize}),this.network=new $r(e,this,this.stats,{hashLoader:n.hashLoader,maxInboundStreams:n.maxInboundStreams,maxOutboundStreams:n.maxOutboundStreams,incomingStreamTimeout:n.incomingStreamTimeout}),this.blockstore=t,this.engine=new Vr(this.peerId,t,this.network,this.stats,e),this.wm=new Lr(this.peerId,this.network,this.stats,e),this.notifications=new Jr(this.peerId),this.started=!1}isStarted(){return this.started}get peerId(){return this._libp2p.peerId}async _receiveMessage(e,t){try{await this.engine.messageReceived(e,t)}catch{this._log("failed to receive message",t)}if(t.blocks.size===0)return;let n=[];for(let[i,o]of t.blocks.entries()){let s=x.parse(i);n.push({wasWanted:this.wm.wantlist.contains(s),cid:s,data:o})}this.wm.cancelWants(n.filter(({wasWanted:i})=>i).map(({cid:i})=>i)),await Promise.all(n.map(async({cid:i,wasWanted:o,data:s})=>{await this._handleReceivedBlock(e,i,s,o)}))}async _handleReceivedBlock(e,t,n,i){this._log("received block");let o=await this.blockstore.has(t);this._updateReceiveCounters(e.toString(),t,n,o),i&&await this.put(t,n)}_updateReceiveCounters(e,t,n,i){this.stats.push(e,"blocksReceived",1),this.stats.push(e,"dataReceived",n.length),i&&(this.stats.push(e,"dupBlksReceived",1),this.stats.push(e,"dupDataReceived",n.length))}_receiveError(e){this._log.error("ReceiveError",e)}_onPeerConnected(e){this.wm.connected(e)}_onPeerDisconnected(e){this.wm.disconnected(e),this.engine.peerDisconnected(e),this.stats.disconnected(e)}enableStats(){this.stats.enable()}disableStats(){this.stats.disable()}wantlistForPeer(e,t){return this.engine.wantlistForPeer(e)}ledgerForPeer(e){return this.engine.ledgerForPeer(e)}async want(e,t={}){let n=async(c,u)=>(this.wm.wantBlocks([c],u),await this.notifications.wantBlock(c,u)),i=!1,o=async(c,u)=>{try{return await this.blockstore.get(c,u)}catch(l){if(l.code!=="ERR_NOT_FOUND")throw l;return i||(i=!0,this.network.findAndConnect(c,u).catch(h=>{this._log.error(h)})),await n(c,u)}},s=new AbortController,a=t.signal!=null?(0,tc.anySignal)([t.signal,s.signal]):s.signal;try{return await Promise.race([this.notifications.wantBlock(e,{...t,signal:a}),o(e,{...t,signal:a})])}finally{s.abort()}}unwant(e){let t=Array.isArray(e)?e:[e];this.wm.unwantBlocks(t),t.forEach(n=>{this.notifications.unwantBlock(n)})}cancelWants(e){this.wm.cancelWants(Array.isArray(e)?e:[e])}async put(e,t,n){await this.blockstore.put(e,t),this.notify(e,t)}async*putMany(e,t){for await(let{cid:n,block:i}of this.blockstore.putMany(e,t))this.notify(n,i),yield{cid:n,block:i}}notify(e,t,n={}){this.notifications.hasBlock(e,t),this.engine.receivedBlocks([{cid:e,block:t}]),this.network.provide(e,n).catch(i=>{this._log.error("Failed to provide: %s",i.message)})}getWantlist(){return this.wm.wantlist.entries()}get peers(){return this.engine.peers()}async start(){this.wm.start(),await this.network.start(),this.engine.start(),this.started=!0}async stop(){this.stats.stop(),this.wm.stop(),await this.network.stop(),this.engine.stop(),this.started=!1}};var rc=(r,e,t={})=>new Yr(r,e,t);async function*de(r,e){for await(let t of r)await e(t)&&(yield t)}var dc=O(ic(),1);var Jt=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},Oi=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},oc=r=>globalThis.DOMException===void 0?new Oi(r):new DOMException(r),sc=r=>{let e=r.reason===void 0?oc("This operation was aborted."):r.reason;return e instanceof Error?e:oc(e)};function Ri(r,e,t,n){let i,o=new Promise((s,a)=>{if(typeof e!="number"||Math.sign(e)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${e}\``);if(e===Number.POSITIVE_INFINITY){s(r);return}if(n={customTimers:{setTimeout,clearTimeout},...n},n.signal){let{signal:c}=n;c.aborted&&a(sc(c)),c.addEventListener("abort",()=>{a(sc(c))})}i=n.customTimers.setTimeout.call(void 0,()=>{if(typeof t=="function"){try{s(t())}catch(l){a(l)}return}let c=typeof t=="string"?t:`Promise timed out after ${e} milliseconds`,u=t instanceof Error?t:new Jt(c);typeof r.cancel=="function"&&r.cancel(),a(u)},e),(async()=>{try{s(await r)}catch(c){a(c)}finally{n.customTimers.clearTimeout.call(void 0,i)}})()});return o.clear=()=>{clearTimeout(i),i=void 0},o}function zi(r,e,t){let n=0,i=r.length;for(;i>0;){let o=Math.trunc(i/2),s=n+o;t(r[s],e)<=0?(n=++s,i-=o+1):i=o}return n}var at=function(r,e,t,n){if(t==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?r!==e||!n:!e.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?n:t==="a"?n.call(r):n?n.value:e.get(r)},Ae,Zt=class{constructor(){Ae.set(this,[])}enqueue(e,t){t={priority:0,...t};let n={priority:t.priority,run:e};if(this.size&&at(this,Ae,"f")[this.size-1].priority>=t.priority){at(this,Ae,"f").push(n);return}let i=zi(at(this,Ae,"f"),n,(o,s)=>s.priority-o.priority);at(this,Ae,"f").splice(i,0,n)}dequeue(){let e=at(this,Ae,"f").shift();return e?.run}filter(e){return at(this,Ae,"f").filter(t=>t.priority===e.priority).map(t=>t.run)}get size(){return at(this,Ae,"f").length}};Ae=new WeakMap;var D=function(r,e,t,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?r!==e||!i:!e.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(r,t):i?i.value=t:e.set(r,t),t},b=function(r,e,t,n){if(t==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?r!==e||!n:!e.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?n:t==="a"?n.call(r):n?n.value:e.get(r)},F,er,tr,ze,an,rr,tn,pe,Yt,J,rn,Z,nr,Re,nn,ac,cc,fc,uc,lc,on,$i,Wi,cn,hc,sn,un=class extends Error{},Be=class extends dc.default{constructor(e){var t,n,i,o;if(super(),F.add(this),er.set(this,void 0),tr.set(this,void 0),ze.set(this,0),an.set(this,void 0),rr.set(this,void 0),tn.set(this,0),pe.set(this,void 0),Yt.set(this,void 0),J.set(this,void 0),rn.set(this,void 0),Z.set(this,0),nr.set(this,void 0),Re.set(this,void 0),nn.set(this,void 0),Object.defineProperty(this,"timeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:Zt,...e},!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(n=(t=e.intervalCap)===null||t===void 0?void 0:t.toString())!==null&&n!==void 0?n:""}\` (${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 \`${(o=(i=e.interval)===null||i===void 0?void 0:i.toString())!==null&&o!==void 0?o:""}\` (${typeof e.interval})`);D(this,er,e.carryoverConcurrencyCount,"f"),D(this,tr,e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,"f"),D(this,an,e.intervalCap,"f"),D(this,rr,e.interval,"f"),D(this,J,new e.queueClass,"f"),D(this,rn,e.queueClass,"f"),this.concurrency=e.concurrency,this.timeout=e.timeout,D(this,nn,e.throwOnTimeout===!0,"f"),D(this,Re,e.autoStart===!1,"f")}get concurrency(){return b(this,nr,"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})`);D(this,nr,e,"f"),b(this,F,"m",cn).call(this)}async add(e,t={}){return t={timeout:this.timeout,throwOnTimeout:b(this,nn,"f"),...t},new Promise((n,i)=>{b(this,J,"f").enqueue(async()=>{var o,s,a;D(this,Z,(s=b(this,Z,"f"),s++,s),"f"),D(this,ze,(a=b(this,ze,"f"),a++,a),"f");try{if(!((o=t.signal)===null||o===void 0)&&o.aborted)throw new un("The task was aborted.");let c=e({signal:t.signal});t.timeout&&(c=Ri(Promise.resolve(c),t.timeout)),t.signal&&(c=Promise.race([c,b(this,F,"m",hc).call(this,t.signal)]));let u=await c;n(u),this.emit("completed",u)}catch(c){if(c instanceof Jt&&!t.throwOnTimeout){n();return}i(c),this.emit("error",c)}finally{b(this,F,"m",fc).call(this)}},t),this.emit("add"),b(this,F,"m",on).call(this)})}async addAll(e,t){return Promise.all(e.map(async n=>this.add(n,t)))}start(){return b(this,Re,"f")?(D(this,Re,!1,"f"),b(this,F,"m",cn).call(this),this):this}pause(){D(this,Re,!0,"f")}clear(){D(this,J,new(b(this,rn,"f")),"f")}async onEmpty(){b(this,J,"f").size!==0&&await b(this,F,"m",sn).call(this,"empty")}async onSizeLessThan(e){b(this,J,"f").size<e||await b(this,F,"m",sn).call(this,"next",()=>b(this,J,"f").size<e)}async onIdle(){b(this,Z,"f")===0&&b(this,J,"f").size===0||await b(this,F,"m",sn).call(this,"idle")}get size(){return b(this,J,"f").size}sizeBy(e){return b(this,J,"f").filter(e).length}get pending(){return b(this,Z,"f")}get isPaused(){return b(this,Re,"f")}};er=new WeakMap,tr=new WeakMap,ze=new WeakMap,an=new WeakMap,rr=new WeakMap,tn=new WeakMap,pe=new WeakMap,Yt=new WeakMap,J=new WeakMap,rn=new WeakMap,Z=new WeakMap,nr=new WeakMap,Re=new WeakMap,nn=new WeakMap,F=new WeakSet,ac=function(){return b(this,tr,"f")||b(this,ze,"f")<b(this,an,"f")},cc=function(){return b(this,Z,"f")<b(this,nr,"f")},fc=function(){var e;D(this,Z,(e=b(this,Z,"f"),e--,e),"f"),b(this,F,"m",on).call(this),this.emit("next")},uc=function(){b(this,F,"m",Wi).call(this),b(this,F,"m",$i).call(this),D(this,Yt,void 0,"f")},lc=function(){let e=Date.now();if(b(this,pe,"f")===void 0){let t=b(this,tn,"f")-e;if(t<0)D(this,ze,b(this,er,"f")?b(this,Z,"f"):0,"f");else return b(this,Yt,"f")===void 0&&D(this,Yt,setTimeout(()=>{b(this,F,"m",uc).call(this)},t),"f"),!0}return!1},on=function(){if(b(this,J,"f").size===0)return b(this,pe,"f")&&clearInterval(b(this,pe,"f")),D(this,pe,void 0,"f"),this.emit("empty"),b(this,Z,"f")===0&&this.emit("idle"),!1;if(!b(this,Re,"f")){let e=!b(this,F,"a",lc);if(b(this,F,"a",ac)&&b(this,F,"a",cc)){let t=b(this,J,"f").dequeue();return t?(this.emit("active"),t(),e&&b(this,F,"m",$i).call(this),!0):!1}}return!1},$i=function(){b(this,tr,"f")||b(this,pe,"f")!==void 0||(D(this,pe,setInterval(()=>{b(this,F,"m",Wi).call(this)},b(this,rr,"f")),"f"),D(this,tn,Date.now()+b(this,rr,"f"),"f"))},Wi=function(){b(this,ze,"f")===0&&b(this,Z,"f")===0&&b(this,pe,"f")&&(clearInterval(b(this,pe,"f")),D(this,pe,void 0,"f")),D(this,ze,b(this,er,"f")?b(this,Z,"f"):0,"f"),b(this,F,"m",cn).call(this)},cn=function(){for(;b(this,F,"m",on).call(this););},hc=async function(e){return new Promise((t,n)=>{e.addEventListener("abort",()=>{n(new un("The task was aborted."))},{once:!0})})},sn=async function(e,t){return new Promise(n=>{let i=()=>{t&&!t()||(this.off(e,i),n())};this.on(e,i)})};var Hi=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},qi=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},pc=r=>globalThis.DOMException===void 0?new qi(r):new DOMException(r),mc=r=>{let e=r.reason===void 0?pc("This operation was aborted."):r.reason;return e instanceof Error?e:pc(e)};function Vi(r,e){let{milliseconds:t,fallback:n,message:i,customTimers:o={setTimeout,clearTimeout}}=e,s,a=new Promise((c,u)=>{if(typeof t!="number"||Math.sign(t)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${t}\``);if(t===Number.POSITIVE_INFINITY){c(r);return}if(e.signal){let{signal:h}=e;h.aborted&&u(mc(h)),h.addEventListener("abort",()=>{u(mc(h))})}let l=new Hi;s=o.setTimeout.call(void 0,()=>{if(n){try{c(n())}catch(h){u(h)}return}typeof r.cancel=="function"&&r.cancel(),i===!1?c():i instanceof Error?u(i):(l.message=i??`Promise timed out after ${t} milliseconds`,u(l))},t),(async()=>{try{c(await r)}catch(h){u(h)}finally{o.clearTimeout.call(void 0,s)}})()});return a.clear=()=>{o.clearTimeout.call(void 0,s),s=void 0},a}var yc=(r=21)=>crypto.getRandomValues(new Uint8Array(r)).reduce((e,t)=>(t&=63,t<36?e+=t.toString(36):t<62?e+=(t-26).toString(36).toUpperCase():t>62?e+="-":e+="_",e),"");var ji="lock:worker:request-read",Gi="lock:worker:release-read",Qi="lock:master:grant-read",Ki="lock:worker:request-write",Xi="lock:worker:release-write",Ji="lock:master:grant-write";var $e={},Et=r=>{r.addEventListener("message",e=>{Et.dispatchEvent("message",r,e)}),r.port!=null&&r.port.addEventListener("message",e=>{Et.dispatchEvent("message",r,e)})};Et.addEventListener=(r,e)=>{$e[r]==null&&($e[r]=[]),$e[r].push(e)};Et.removeEventListener=(r,e)=>{$e[r]!=null&&($e[r]=$e[r].filter(t=>t===e))};Et.dispatchEvent=function(r,e,t){$e[r]!=null&&$e[r].forEach(n=>n(e,t))};var Zi=Et;var gc=(r,e,t,n,i)=>(o,s)=>{if(s.data.type!==t)return;let a={type:s.data.type,name:s.data.name,identifier:s.data.identifier};r.dispatchEvent(new MessageEvent(e,{data:{name:a.name,handler:async()=>(o.postMessage({type:i,name:a.name,identifier:a.identifier}),await new Promise(c=>{let u=l=>{if(l==null||l.data==null)return;let h={type:l.data.type,name:l.data.name,identifier:l.data.identifier};h.type===n&&h.identifier===a.identifier&&(o.removeEventListener("message",u),c())};o.addEventListener("message",u)}))}}))},wc=(r,e,t,n)=>async()=>{let i=yc();return globalThis.postMessage({type:e,identifier:i,name:r}),await new Promise(o=>{let s=a=>{if(a==null||a.data==null)return;let c={type:a.data.type,identifier:a.data.identifier};c.type===t&&c.identifier===i&&(globalThis.removeEventListener("message",s),o(()=>{globalThis.postMessage({type:n,identifier:i,name:r})}))};globalThis.addEventListener("message",s)})},Oh={singleProcess:!1},bc=r=>{if(r=Object.assign({},Oh,r),!!globalThis.document||r.singleProcess){let t=new EventTarget;return Zi.addEventListener("message",gc(t,"requestReadLock",ji,Gi,Qi)),Zi.addEventListener("message",gc(t,"requestWriteLock",Ki,Xi,Ji)),t}return{isWorker:!0,readLock:t=>wc(t,ji,Qi,Gi),writeLock:t=>wc(t,Ki,Ji,Xi)}};var ct={},We;async function Yi(r,e){let t,n=new Promise(i=>{t=i});return r.add(async()=>await Vi((async()=>await new Promise(i=>{t(()=>{i()})}))(),{milliseconds:e.timeout})),await n}var Rh=(r,e)=>{if(We.isWorker===!0)return{readLock:We.readLock(r,e),writeLock:We.writeLock(r,e)};let t=new Be({concurrency:1}),n;return{async readLock(){if(n!=null)return await Yi(n,e);n=new Be({concurrency:e.concurrency,autoStart:!1});let i=n,o=Yi(n,e);return t.add(async()=>(i.start(),await i.onIdle().then(()=>{n===i&&(n=null)}))),await o},async writeLock(){return n=null,await Yi(t,e)}}},zh={name:"lock",concurrency:1/0,timeout:846e5,singleProcess:!1};function eo(r){let e=Object.assign({},zh,r);return We==null&&(We=bc(e),We.isWorker!==!0&&(We.addEventListener("requestReadLock",t=>{ct[t.data.name]!=null&&ct[t.data.name].readLock().then(async n=>await t.data.handler().finally(()=>n()))}),We.addEventListener("requestWriteLock",async t=>{ct[t.data.name]!=null&&ct[t.data.name].writeLock().then(async n=>await t.data.handler().finally(()=>n()))}))),ct[e.name]==null&&(ct[e.name]=Rh(e.name,e)),ct[e.name]}async function*ln(r,e){for await(let t of r)await e(t),yield t}var fn=class{constructor(e,t,n={}){this.child=e,this.bitswap=n.bitswap,this.pins=t,this.lock=eo({singleProcess:n.holdGcLock})}unwrap(){return this.child}async put(e,t,n={}){let i=await this.lock.readLock();try{if(await this.child.has(e)){n.onProgress?.(new C("blocks:put:duplicate",e));return}this.bitswap?.isStarted()===!0&&(n.onProgress?.(new C("blocks:put:bitswap:notify",e)),this.bitswap.notify(e,t,n)),n.onProgress?.(new C("blocks:put:blockstore:put",e)),await this.child.put(e,t,n)}finally{i()}}async*putMany(e,t={}){let n=await this.lock.readLock();try{let i=de(e,async({cid:s})=>{let a=await this.child.has(s);return a&&t.onProgress?.(new C("blocks:put-many:duplicate",s)),!a}),o=ln(i,({cid:s,block:a})=>{t.onProgress?.(new C("blocks:put-many:bitswap:notify",s)),this.bitswap?.notify(s,a,t)});t.onProgress?.(new C("blocks:put-many:blockstore:put-many")),yield*this.child.putMany(o,t)}finally{n()}}async get(e,t={}){let n=await this.lock.readLock();try{if(this.bitswap?.isStarted()!=null&&!await this.child.has(e)){t.onProgress?.(new C("blocks:get:bitswap:get",e));let i=await this.bitswap.want(e,t);return t.onProgress?.(new C("blocks:get:blockstore:put",e)),await this.child.put(e,i,t),i}return t.onProgress?.(new C("blocks:get:blockstore:get",e)),await this.child.get(e,t)}finally{n()}}async*getMany(e,t={}){let n=await this.lock.readLock();try{t.onProgress?.(new C("blocks:get-many:blockstore:get-many")),yield*this.child.getMany(ln(e,async i=>{if(this.bitswap?.isStarted()===!0&&!await this.child.has(i)){t.onProgress?.(new C("blocks:get-many:bitswap:get",i));let o=await this.bitswap.want(i,t);t.onProgress?.(new C("blocks:get-many:blockstore:put",i)),await this.child.put(i,o,t)}}))}finally{n()}}async delete(e,t={}){let n=await this.lock.writeLock();try{if(await this.pins.isPinned(e))throw new Error("CID was pinned");t.onProgress?.(new C("blocks:delete:blockstore:delete",e)),await this.child.delete(e,t)}finally{n()}}async*deleteMany(e,t={}){let n=await this.lock.writeLock();try{let i=this;t.onProgress?.(new C("blocks:delete-many:blockstore:delete-many")),yield*this.child.deleteMany(async function*(){for await(let o of e){if(await i.pins.isPinned(o))throw new Error("CID was pinned");yield o}}(),t)}finally{n()}}async has(e,t={}){let n=await this.lock.readLock();try{return await this.child.has(e,t)}finally{n()}}async*getAll(e={}){let t=await this.lock.readLock();try{e.onProgress?.(new C("blocks:get-all:blockstore:get-many")),yield*this.child.getAll(e)}finally{t()}}};var _c=(r=21)=>crypto.getRandomValues(new Uint8Array(r)).reduce((e,t)=>(t&=63,t<36?e+=t.toString(36):t<62?e+=(t-26).toString(36).toUpperCase():t>62?e+="-":e+="_",e),"");function hn(r,e="utf8"){let t=Xr[e];if(t==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?rt(globalThis.Buffer.from(r,"utf-8")):t.decoder.decode(`${t.prefix}${r}`)}var Ce="/",vc=new TextEncoder().encode(Ce),dn=vc[0],P=class{constructor(e,t){if(typeof e=="string")this._buf=hn(e);else if(e instanceof Uint8Array)this._buf=e;else throw new Error("Invalid key, should be String of Uint8Array");if(t==null&&(t=!0),t&&this.clean(),this._buf.byteLength===0||this._buf[0]!==dn)throw new Error("Invalid key")}toString(e="utf8"){return st(this._buf,e)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(e){return new P(e.join(Ce))}static random(){return new P(_c().replace(/-/g,""))}static asKey(e){return e instanceof Uint8Array||typeof e=="string"?new P(e):typeof e.uint8Array=="function"?new P(e.uint8Array()):null}clean(){if((this._buf==null||this._buf.byteLength===0)&&(this._buf=vc),this._buf[0]!==dn){let e=new Uint8Array(this._buf.byteLength+1);e.fill(dn,0,1),e.set(this._buf,1),this._buf=e}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===dn;)this._buf=this._buf.subarray(0,-1)}less(e){let t=this.list(),n=e.list();for(let i=0;i<t.length;i++){if(n.length<i+1)return!1;let o=t[i],s=n[i];if(o<s)return!0;if(o>s)return!1}return t.length<n.length}reverse(){return P.withNamespaces(this.list().slice().reverse())}namespaces(){return this.list()}baseNamespace(){let e=this.namespaces();return e[e.length-1]}list(){return this.toString().split(Ce).slice(1)}type(){return $h(this.baseNamespace())}name(){return Wh(this.baseNamespace())}instance(e){return new P(this.toString()+":"+e)}path(){let e=this.parent().toString();return e.endsWith(Ce)||(e+=Ce),e+=this.type(),new P(e)}parent(){let e=this.list();return e.length===1?new P(Ce):new P(e.slice(0,-1).join(Ce))}child(e){return this.toString()===Ce?e:e.toString()===Ce?this:new P(this.toString()+e.toString(),!1)}isAncestorOf(e){return e.toString()===this.toString()?!1:e.toString().startsWith(this.toString())}isDecendantOf(e){return e.toString()===this.toString()?!1:this.toString().startsWith(e.toString())}isTopLevel(){return this.list().length===1}concat(...e){return P.withNamespaces([...this.namespaces(),...Hh(e.map(t=>t.namespaces()))])}};function $h(r){let e=r.split(":");return e.length<2?"":e.slice(0,-1).join(":")}function Wh(r){let e=r.split(":");return e[e.length-1]}function Hh(r){return[].concat(...r)}var qh=["string","number","bigint","symbol"],Vh=["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 xc(r){if(r===null)return"null";if(r===void 0)return"undefined";if(r===!0||r===!1)return"boolean";let e=typeof r;if(qh.includes(e))return e;if(e==="function")return"Function";if(Array.isArray(r))return"Array";if(jh(r))return"Buffer";let t=Gh(r);return t||"Object"}function jh(r){return r&&r.constructor&&r.constructor.isBuffer&&r.constructor.isBuffer.call(null,r)}function Gh(r){let e=Object.prototype.toString.call(r).slice(8,-1);if(Vh.includes(e))return e}var f=class{constructor(e,t,n){this.major=e,this.majorEncoded=e<<5,this.name=t,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 p=class{constructor(e,t,n){this.type=e,this.value=t,this.encodedLength=n,this.encodedBytes=void 0,this.byteValue=void 0}toString(){return`Token[${this.type}].${this.value}`}};var Tt=globalThis.process&&!globalThis.process.browser&&globalThis.Buffer&&typeof globalThis.Buffer.isBuffer=="function",Qh=new TextDecoder,Kh=new TextEncoder;function pn(r){return Tt&&globalThis.Buffer.isBuffer(r)}function ir(r){return r instanceof Uint8Array?pn(r)?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r:Uint8Array.from(r)}var Sc=Tt?(r,e,t)=>t-e>64?globalThis.Buffer.from(r.subarray(e,t)).toString("utf8"):Ec(r,e,t):(r,e,t)=>t-e>64?Qh.decode(r.subarray(e,t)):Ec(r,e,t),mn=Tt?r=>r.length>64?globalThis.Buffer.from(r):kc(r):r=>r.length>64?Kh.encode(r):kc(r),ve=r=>Uint8Array.from(r),St=Tt?(r,e,t)=>pn(r)?new Uint8Array(r.subarray(e,t)):r.slice(e,t):(r,e,t)=>r.slice(e,t),Ac=Tt?(r,e)=>(r=r.map(t=>t instanceof Uint8Array?t:globalThis.Buffer.from(t)),ir(globalThis.Buffer.concat(r,e))):(r,e)=>{let t=new Uint8Array(e),n=0;for(let i of r)n+i.length>t.length&&(i=i.subarray(0,t.length-n)),t.set(i,n),n+=i.length;return t},Bc=Tt?r=>globalThis.Buffer.allocUnsafe(r):r=>new Uint8Array(r);function Cc(r,e){if(pn(r)&&pn(e))return r.compare(e);for(let t=0;t<r.length;t++)if(r[t]!==e[t])return r[t]<e[t]?-1:1;return 0}function kc(r,e=1/0){let t,n=r.length,i=null,o=[];for(let s=0;s<n;++s){if(t=r.charCodeAt(s),t>55295&&t<57344){if(!i){if(t>56319){(e-=3)>-1&&o.push(239,191,189);continue}else if(s+1===n){(e-=3)>-1&&o.push(239,191,189);continue}i=t;continue}if(t<56320){(e-=3)>-1&&o.push(239,191,189),i=t;continue}t=(i-55296<<10|t-56320)+65536}else i&&(e-=3)>-1&&o.push(239,191,189);if(i=null,t<128){if((e-=1)<0)break;o.push(t)}else if(t<2048){if((e-=2)<0)break;o.push(t>>6|192,t&63|128)}else if(t<65536){if((e-=3)<0)break;o.push(t>>12|224,t>>6&63|128,t&63|128)}else if(t<1114112){if((e-=4)<0)break;o.push(t>>18|240,t>>12&63|128,t>>6&63|128,t&63|128)}else throw new Error("Invalid code point")}return o}function Ec(r,e,t){let n=[];for(;e<t;){let i=r[e],o=null,s=i>239?4:i>223?3:i>191?2:1;if(e+s<=t){let a,c,u,l;switch(s){case 1:i<128&&(o=i);break;case 2:a=r[e+1],(a&192)===128&&(l=(i&31)<<6|a&63,l>127&&(o=l));break;case 3:a=r[e+1],c=r[e+2],(a&192)===128&&(c&192)===128&&(l=(i&15)<<12|(a&63)<<6|c&63,l>2047&&(l<55296||l>57343)&&(o=l));break;case 4:a=r[e+1],c=r[e+2],u=r[e+3],(a&192)===128&&(c&192)===128&&(u&192)===128&&(l=(i&15)<<18|(a&63)<<12|(c&63)<<6|u&63,l>65535&&l<1114112&&(o=l))}}o===null?(o=65533,s=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|o&1023),n.push(o),e+=s}return to(n)}var Tc=4096;function to(r){let e=r.length;if(e<=Tc)return String.fromCharCode.apply(String,r);let t="",n=0;for(;n<e;)t+=String.fromCharCode.apply(String,r.slice(n,n+=Tc));return t}var Xh=256,or=class{constructor(e=Xh){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 t=this.chunks[this.chunks.length-1];if(this.cursor+e.length<=this.maxCursor+1){let i=t.length-(this.maxCursor-this.cursor)-1;t.set(e,i)}else{if(t){let i=t.length-(this.maxCursor-this.cursor)-1;i<t.length&&(this.chunks[this.chunks.length-1]=t.subarray(0,i),this.maxCursor=this.cursor-1)}e.length<64&&e.length<this.chunkSize?(t=Bc(this.chunkSize),this.chunks.push(t),this.maxCursor+=t.length,this._initReuseChunk===null&&(this._initReuseChunk=t),t.set(e,0)):(this.chunks.push(e),this.maxCursor+=e.length)}this.cursor+=e.length}toBytes(e=!1){let t;if(this.chunks.length===1){let n=this.chunks[0];e&&this.cursor>n.length/2?(t=this.cursor===n.length?n:n.subarray(0,this.cursor),this._initReuseChunk=null,this.chunks=[]):t=St(n,0,this.cursor)}else t=Ac(this.chunks,this.cursor);return e&&this.reset(),t}};var w="CBOR decode error:",At="CBOR encode error:",sr=[];sr[23]=1;sr[24]=2;sr[25]=3;sr[26]=5;sr[27]=9;function Le(r,e,t){if(r.length-e<t)throw new Error(`${w} not enough data for type`)}var z=[24,256,65536,4294967296,BigInt("18446744073709551616")];function Y(r,e,t){Le(r,e,1);let n=r[e];if(t.strict===!0&&n<z[0])throw new Error(`${w} integer encoded in more bytes than necessary (strict decode)`);return n}function ee(r,e,t){Le(r,e,2);let n=r[e]<<8|r[e+1];if(t.strict===!0&&n<z[1])throw new Error(`${w} integer encoded in more bytes than necessary (strict decode)`);return n}function te(r,e,t){Le(r,e,4);let n=r[e]*16777216+(r[e+1]<<16)+(r[e+2]<<8)+r[e+3];if(t.strict===!0&&n<z[2])throw new Error(`${w} integer encoded in more bytes than necessary (strict decode)`);return n}function re(r,e,t){Le(r,e,8);let n=r[e]*16777216+(r[e+1]<<16)+(r[e+2]<<8)+r[e+3],i=r[e+4]*16777216+(r[e+5]<<16)+(r[e+6]<<8)+r[e+7],o=(BigInt(n)<<BigInt(32))+BigInt(i);if(t.strict===!0&&o<z[3])throw new Error(`${w} integer encoded in more bytes than necessary (strict decode)`);if(o<=Number.MAX_SAFE_INTEGER)return Number(o);if(t.allowBigInt===!0)return o;throw new Error(`${w} integers outside of the safe integer range are not supported`)}function Lc(r,e,t,n){return new p(f.uint,Y(r,e+1,n),2)}function Pc(r,e,t,n){return new p(f.uint,ee(r,e+1,n),3)}function Nc(r,e,t,n){return new p(f.uint,te(r,e+1,n),5)}function Dc(r,e,t,n){return new p(f.uint,re(r,e+1,n),9)}function ce(r,e){return W(r,0,e.value)}function W(r,e,t){if(t<z[0]){let n=Number(t);r.push([e|n])}else if(t<z[1]){let n=Number(t);r.push([e|24,n])}else if(t<z[2]){let n=Number(t);r.push([e|25,n>>>8,n&255])}else if(t<z[3]){let n=Number(t);r.push([e|26,n>>>24&255,n>>>16&255,n>>>8&255,n&255])}else{let n=BigInt(t);if(n<z[4]){let i=[e|27,0,0,0,0,0,0,0],o=Number(n&BigInt(4294967295)),s=Number(n>>BigInt(32)&BigInt(4294967295));i[8]=o&255,o=o>>8,i[7]=o&255,o=o>>8,i[6]=o&255,o=o>>8,i[5]=o&255,i[4]=s&255,s=s>>8,i[3]=s&255,s=s>>8,i[2]=s&255,s=s>>8,i[1]=s&255,r.push(i)}else throw new Error(`${w} encountered BigInt larger than allowable range`)}}ce.encodedSize=function(e){return W.encodedSize(e.value)};W.encodedSize=function(e){return e<z[0]?1:e<z[1]?2:e<z[2]?3:e<z[3]?5:9};ce.compareTokens=function(e,t){return e.value<t.value?-1:e.value>t.value?1:0};function Ic(r,e,t,n){return new p(f.negint,-1-Y(r,e+1,n),2)}function Mc(r,e,t,n){return new p(f.negint,-1-ee(r,e+1,n),3)}function Fc(r,e,t,n){return new p(f.negint,-1-te(r,e+1,n),5)}var ro=BigInt(-1),Uc=BigInt(1);function Oc(r,e,t,n){let i=re(r,e+1,n);if(typeof i!="bigint"){let o=-1-i;if(o>=Number.MIN_SAFE_INTEGER)return new p(f.negint,o,9)}if(n.allowBigInt!==!0)throw new Error(`${w} integers outside of the safe integer range are not supported`);return new p(f.negint,ro-BigInt(i),9)}function yn(r,e){let t=e.value,n=typeof t=="bigint"?t*ro-Uc:t*-1-1;W(r,e.type.majorEncoded,n)}yn.encodedSize=function(e){let t=e.value,n=typeof t=="bigint"?t*ro-Uc:t*-1-1;return n<z[0]?1:n<z[1]?2:n<z[2]?3:n<z[3]?5:9};yn.compareTokens=function(e,t){return e.value<t.value?1:e.value>t.value?-1:0};function ar(r,e,t,n){Le(r,e,t+n);let i=St(r,e+t,e+t+n);return new p(f.bytes,i,t+n)}function Rc(r,e,t,n){return ar(r,e,1,t)}function zc(r,e,t,n){return ar(r,e,2,Y(r,e+1,n))}function $c(r,e,t,n){return ar(r,e,3,ee(r,e+1,n))}function Wc(r,e,t,n){return ar(r,e,5,te(r,e+1,n))}function Hc(r,e,t,n){let i=re(r,e+1,n);if(typeof i=="bigint")throw new Error(`${w} 64-bit integer bytes lengths not supported`);return ar(r,e,9,i)}function gn(r){return r.encodedBytes===void 0&&(r.encodedBytes=r.type===f.string?mn(r.value):r.value),r.encodedBytes}function Bt(r,e){let t=gn(e);W(r,e.type.majorEncoded,t.length),r.push(t)}Bt.encodedSize=function(e){let t=gn(e);return W.encodedSize(t.length)+t.length};Bt.compareTokens=function(e,t){return Zh(gn(e),gn(t))};function Zh(r,e){return r.length<e.length?-1:r.length>e.length?1:Cc(r,e)}function cr(r,e,t,n,i){let o=t+n;Le(r,e,o);let s=new p(f.string,Sc(r,e+t,e+o),o);return i.retainStringBytes===!0&&(s.byteValue=St(r,e+t,e+o)),s}function qc(r,e,t,n){return cr(r,e,1,t,n)}function Vc(r,e,t,n){return cr(r,e,2,Y(r,e+1,n),n)}function jc(r,e,t,n){return cr(r,e,3,ee(r,e+1,n),n)}function Gc(r,e,t,n){return cr(r,e,5,te(r,e+1,n),n)}function Qc(r,e,t,n){let i=re(r,e+1,n);if(typeof i=="bigint")throw new Error(`${w} 64-bit integer string lengths not supported`);return cr(r,e,9,i,n)}var Kc=Bt;function Ct(r,e,t,n){return new p(f.array,n,t)}function Xc(r,e,t,n){return Ct(r,e,1,t)}function Jc(r,e,t,n){return Ct(r,e,2,Y(r,e+1,n))}function Zc(r,e,t,n){return Ct(r,e,3,ee(r,e+1,n))}function Yc(r,e,t,n){return Ct(r,e,5,te(r,e+1,n))}function eu(r,e,t,n){let i=re(r,e+1,n);if(typeof i=="bigint")throw new Error(`${w} 64-bit integer array lengths not supported`);return Ct(r,e,9,i)}function tu(r,e,t,n){if(n.allowIndefinite===!1)throw new Error(`${w} indefinite length items not allowed`);return Ct(r,e,1,1/0)}function wn(r,e){W(r,f.array.majorEncoded,e.value)}wn.compareTokens=ce.compareTokens;wn.encodedSize=function(e){return W.encodedSize(e.value)};function Lt(r,e,t,n){return new p(f.map,n,t)}function ru(r,e,t,n){return Lt(r,e,1,t)}function nu(r,e,t,n){return Lt(r,e,2,Y(r,e+1,n))}function iu(r,e,t,n){return Lt(r,e,3,ee(r,e+1,n))}function ou(r,e,t,n){return Lt(r,e,5,te(r,e+1,n))}function su(r,e,t,n){let i=re(r,e+1,n);if(typeof i=="bigint")throw new Error(`${w} 64-bit integer map lengths not supported`);return Lt(r,e,9,i)}function au(r,e,t,n){if(n.allowIndefinite===!1)throw new Error(`${w} indefinite length items not allowed`);return Lt(r,e,1,1/0)}function bn(r,e){W(r,f.map.majorEncoded,e.value)}bn.compareTokens=ce.compareTokens;bn.encodedSize=function(e){return W.encodedSize(e.value)};function cu(r,e,t,n){return new p(f.tag,t,1)}function uu(r,e,t,n){return new p(f.tag,Y(r,e+1,n),2)}function lu(r,e,t,n){return new p(f.tag,ee(r,e+1,n),3)}function fu(r,e,t,n){return new p(f.tag,te(r,e+1,n),5)}function hu(r,e,t,n){return new p(f.tag,re(r,e+1,n),9)}function _n(r,e){W(r,f.tag.majorEncoded,e.value)}_n.compareTokens=ce.compareTokens;_n.encodedSize=function(e){return W.encodedSize(e.value)};var id=20,od=21,sd=22,ad=23;function du(r,e,t,n){if(n.allowUndefined===!1)throw new Error(`${w} undefined values are not supported`);return n.coerceUndefinedToNull===!0?new p(f.null,null,1):new p(f.undefined,void 0,1)}function pu(r,e,t,n){if(n.allowIndefinite===!1)throw new Error(`${w} indefinite length items not allowed`);return new p(f.break,void 0,1)}function no(r,e,t){if(t){if(t.allowNaN===!1&&Number.isNaN(r))throw new Error(`${w} NaN values are not supported`);if(t.allowInfinity===!1&&(r===1/0||r===-1/0))throw new Error(`${w} Infinity values are not supported`)}return new p(f.float,r,e)}function mu(r,e,t,n){return no(io(r,e+1),3,n)}function yu(r,e,t,n){return no(oo(r,e+1),5,n)}function gu(r,e,t,n){return no(vu(r,e+1),9,n)}function vn(r,e,t){let n=e.value;if(n===!1)r.push([f.float.majorEncoded|id]);else if(n===!0)r.push([f.float.majorEncoded|od]);else if(n===null)r.push([f.float.majorEncoded|sd]);else if(n===void 0)r.push([f.float.majorEncoded|ad]);else{let i,o=!1;(!t||t.float64!==!0)&&(bu(n),i=io(me,1),n===i||Number.isNaN(n)?(me[0]=249,r.push(me.slice(0,3)),o=!0):(_u(n),i=oo(me,1),n===i&&(me[0]=250,r.push(me.slice(0,5)),o=!0))),o||(cd(n),i=vu(me,1),me[0]=251,r.push(me.slice(0,9)))}}vn.encodedSize=function(e,t){let n=e.value;if(n===!1||n===!0||n===null||n===void 0)return 1;if(!t||t.float64!==!0){bu(n);let i=io(me,1);if(n===i||Number.isNaN(n))return 3;if(_u(n),i=oo(me,1),n===i)return 5}return 9};var wu=new ArrayBuffer(9),ue=new DataView(wu,1),me=new Uint8Array(wu,0);function bu(r){if(r===1/0)ue.setUint16(0,31744,!1);else if(r===-1/0)ue.setUint16(0,64512,!1);else if(Number.isNaN(r))ue.setUint16(0,32256,!1);else{ue.setFloat32(0,r);let e=ue.getUint32(0),t=(e&2139095040)>>23,n=e&8388607;if(t===255)ue.setUint16(0,31744,!1);else if(t===0)ue.setUint16(0,(r&2147483648)>>16|n>>13,!1);else{let i=t-127;i<-24?ue.setUint16(0,0):i<-14?ue.setUint16(0,(e&2147483648)>>16|1<<24+i,!1):ue.setUint16(0,(e&2147483648)>>16|i+15<<10|n>>13,!1)}}}function io(r,e){if(r.length-e<2)throw new Error(`${w} not enough data for float16`);let t=(r[e]<<8)+r[e+1];if(t===31744)return 1/0;if(t===64512)return-1/0;if(t===32256)return NaN;let n=t>>10&31,i=t&1023,o;return n===0?o=i*2**-24:n!==31?o=(i+1024)*2**(n-25):o=i===0?1/0:NaN,t&32768?-o:o}function _u(r){ue.setFloat32(0,r,!1)}function oo(r,e){if(r.length-e<4)throw new Error(`${w} not enough data for float32`);let t=(r.byteOffset||0)+e;return new DataView(r.buffer,t,4).getFloat32(0,!1)}function cd(r){ue.setFloat64(0,r,!1)}function vu(r,e){if(r.length-e<8)throw new Error(`${w} not enough data for float64`);let t=(r.byteOffset||0)+e;return new DataView(r.buffer,t,8).getFloat64(0,!1)}vn.compareTokens=ce.compareTokens;function A(r,e,t){throw new Error(`${w} encountered invalid minor (${t}) for major ${r[e]>>>5}`)}function xn(r){return()=>{throw new Error(`${w} ${r}`)}}var m=[];for(let r=0;r<=23;r++)m[r]=A;m[24]=Lc;m[25]=Pc;m[26]=Nc;m[27]=Dc;m[28]=A;m[29]=A;m[30]=A;m[31]=A;for(let r=32;r<=55;r++)m[r]=A;m[56]=Ic;m[57]=Mc;m[58]=Fc;m[59]=Oc;m[60]=A;m[61]=A;m[62]=A;m[63]=A;for(let r=64;r<=87;r++)m[r]=Rc;m[88]=zc;m[89]=$c;m[90]=Wc;m[91]=Hc;m[92]=A;m[93]=A;m[94]=A;m[95]=xn("indefinite length bytes/strings are not supported");for(let r=96;r<=119;r++)m[r]=qc;m[120]=Vc;m[121]=jc;m[122]=Gc;m[123]=Qc;m[124]=A;m[125]=A;m[126]=A;m[127]=xn("indefinite length bytes/strings are not supported");for(let r=128;r<=151;r++)m[r]=Xc;m[152]=Jc;m[153]=Zc;m[154]=Yc;m[155]=eu;m[156]=A;m[157]=A;m[158]=A;m[159]=tu;for(let r=160;r<=183;r++)m[r]=ru;m[184]=nu;m[185]=iu;m[186]=ou;m[187]=su;m[188]=A;m[189]=A;m[190]=A;m[191]=au;for(let r=192;r<=215;r++)m[r]=cu;m[216]=uu;m[217]=lu;m[218]=fu;m[219]=hu;m[220]=A;m[221]=A;m[222]=A;m[223]=A;for(let r=224;r<=243;r++)m[r]=xn("simple values are not supported");m[244]=A;m[245]=A;m[246]=A;m[247]=du;m[248]=xn("simple values are not supported");m[249]=mu;m[250]=yu;m[251]=gu;m[252]=A;m[253]=A;m[254]=A;m[255]=pu;var ye=[];for(let r=0;r<24;r++)ye[r]=new p(f.uint,r,1);for(let r=-1;r>=-24;r--)ye[31-r]=new p(f.negint,r,1);ye[64]=new p(f.bytes,new Uint8Array(0),1);ye[96]=new p(f.string,"",1);ye[128]=new p(f.array,0,1);ye[160]=new p(f.map,0,1);ye[244]=new p(f.false,!1,1);ye[245]=new p(f.true,!0,1);ye[246]=new p(f.null,null,1);function xu(r){switch(r.type){case f.false:return ve([244]);case f.true:return ve([245]);case f.null:return ve([246]);case f.bytes:return r.value.length?void 0:ve([64]);case f.string:return r.value===""?ve([96]):void 0;case f.array:return r.value===0?ve([128]):void 0;case f.map:return r.value===0?ve([160]):void 0;case f.uint:return r.value<24?ve([Number(r.value)]):void 0;case f.negint:if(r.value>=-24)return ve([31-Number(r.value)])}}var ld={float64:!1,mapSorter:dd,quickEncodeToken:xu};function fd(){let r=[];return r[f.uint.major]=ce,r[f.negint.major]=yn,r[f.bytes.major]=Bt,r[f.string.major]=Kc,r[f.array.major]=wn,r[f.map.major]=bn,r[f.tag.major]=_n,r[f.float.major]=vn,r}var ku=fd(),so=new or,Pt=class{constructor(e,t){this.obj=e,this.parent=t}includes(e){let t=this;do if(t.obj===e)return!0;while(t=t.parent);return!1}static createCheck(e,t){if(e&&e.includes(t))throw new Error(`${At} object contains circular references`);return new Pt(t,e)}},He={null:new p(f.null,null),undefined:new p(f.undefined,void 0),true:new p(f.true,!0),false:new p(f.false,!1),emptyArray:new p(f.array,0),emptyMap:new p(f.map,0)},qe={number(r,e,t,n){return!Number.isInteger(r)||!Number.isSafeInteger(r)?new p(f.float,r):r>=0?new p(f.uint,r):new p(f.negint,r)},bigint(r,e,t,n){return r>=BigInt(0)?new p(f.uint,r):new p(f.negint,r)},Uint8Array(r,e,t,n){return new p(f.bytes,r)},string(r,e,t,n){return new p(f.string,r)},boolean(r,e,t,n){return r?He.true:He.false},null(r,e,t,n){return He.null},undefined(r,e,t,n){return He.undefined},ArrayBuffer(r,e,t,n){return new p(f.bytes,new Uint8Array(r))},DataView(r,e,t,n){return new p(f.bytes,new Uint8Array(r.buffer,r.byteOffset,r.byteLength))},Array(r,e,t,n){if(!r.length)return t.addBreakTokens===!0?[He.emptyArray,new p(f.break)]:He.emptyArray;n=Pt.createCheck(n,r);let i=[],o=0;for(let s of r)i[o++]=kn(s,t,n);return t.addBreakTokens?[new p(f.array,r.length),i,new p(f.break)]:[new p(f.array,r.length),i]},Object(r,e,t,n){let i=e!=="Object",o=i?r.keys():Object.keys(r),s=i?r.size:o.length;if(!s)return t.addBreakTokens===!0?[He.emptyMap,new p(f.break)]:He.emptyMap;n=Pt.createCheck(n,r);let a=[],c=0;for(let u of o)a[c++]=[kn(u,t,n),kn(i?r.get(u):r[u],t,n)];return hd(a,t),t.addBreakTokens?[new p(f.map,s),a,new p(f.break)]:[new p(f.map,s),a]}};qe.Map=qe.Object;qe.Buffer=qe.Uint8Array;for(let r of"Uint8Clamped Uint16 Uint32 Int8 Int16 Int32 BigUint64 BigInt64 Float32 Float64".split(" "))qe[`${r}Array`]=qe.DataView;function kn(r,e={},t){let n=xc(r),i=e&&e.typeEncoders&&e.typeEncoders[n]||qe[n];if(typeof i=="function"){let s=i(r,n,e,t);if(s!=null)return s}let o=qe[n];if(!o)throw new Error(`${At} unsupported type: ${n}`);return o(r,n,e,t)}function hd(r,e){e.mapSorter&&r.sort(e.mapSorter)}function dd(r,e){let t=Array.isArray(r[0])?r[0][0]:r[0],n=Array.isArray(e[0])?e[0][0]:e[0];if(t.type!==n.type)return t.type.compare(n.type);let i=t.type.major,o=ku[i].compareTokens(t,n);return o===0&&console.warn("WARNING: complex key types used, CBOR key sorting guarantees are gone"),o}function Eu(r,e,t,n){if(Array.isArray(e))for(let i of e)Eu(r,i,t,n);else t[e.type.major](r,e,n)}function Tu(r,e,t){let n=kn(r,t);if(!Array.isArray(n)&&t.quickEncodeToken){let i=t.quickEncodeToken(n);if(i)return i;let o=e[n.type.major];if(o.encodedSize){let s=o.encodedSize(n,t),a=new or(s);if(o(a,n,t),a.chunks.length!==1)throw new Error(`Unexpected error: pre-calculated length for ${n} was wrong`);return ir(a.chunks[0])}}return so.reset(),Eu(so,n,e,t),so.toBytes(!0)}function En(r,e){return e=Object.assign({},ld,e),Tu(r,ku,e)}var pd={strict:!1,allowIndefinite:!0,allowUndefined:!0,allowBigInt:!0},ao=class{constructor(e,t={}){this.pos=0,this.data=e,this.options=t}done(){return this.pos>=this.data.length}next(){let e=this.data[this.pos],t=ye[e];if(t===void 0){let n=m[e];if(!n)throw new Error(`${w} no decoder for major type ${e>>>5} (byte 0x${e.toString(16).padStart(2,"0")})`);let i=e&31;t=n(this.data,this.pos,i,this.options)}return this.pos+=t.encodedLength,t}},ur=Symbol.for("DONE"),Tn=Symbol.for("BREAK");function md(r,e,t){let n=[];for(let i=0;i<r.value;i++){let o=lr(e,t);if(o===Tn){if(r.value===1/0)break;throw new Error(`${w} got unexpected break to lengthed array`)}if(o===ur)throw new Error(`${w} found array but not enough entries (got ${i}, expected ${r.value})`);n[i]=o}return n}function yd(r,e,t){let n=t.useMaps===!0,i=n?void 0:{},o=n?new Map:void 0;for(let s=0;s<r.value;s++){let a=lr(e,t);if(a===Tn){if(r.value===1/0)break;throw new Error(`${w} got unexpected break to lengthed map`)}if(a===ur)throw new Error(`${w} found map but not enough entries (got ${s} [no key], expected ${r.value})`);if(n!==!0&&typeof a!="string")throw new Error(`${w} non-string keys not supported (got ${typeof a})`);if(t.rejectDuplicateMapKeys===!0&&(n&&o.has(a)||!n&&a in i))throw new Error(`${w} found repeat map key "${a}"`);let c=lr(e,t);if(c===ur)throw new Error(`${w} found map but not enough entries (got ${s} [no value], expected ${r.value})`);n?o.set(a,c):i[a]=c}return n?o:i}function lr(r,e){if(r.done())return ur;let t=r.next();if(t.type===f.break)return Tn;if(t.type.terminal)return t.value;if(t.type===f.array)return md(t,r,e);if(t.type===f.map)return yd(t,r,e);if(t.type===f.tag){if(e.tags&&typeof e.tags[t.value]=="function"){let n=lr(r,e);return e.tags[t.value](n)}throw new Error(`${w} tag not supported (${t.value})`)}throw new Error("unsupported")}function Pe(r,e){if(!(r instanceof Uint8Array))throw new Error(`${w} data to decode must be a Uint8Array`);e=Object.assign({},pd,e);let t=e.tokenizer||new ao(r,e),n=lr(t,e);if(n===ur)throw new Error(`${w} did not find any content to decode`);if(n===Tn)throw new Error(`${w} got unexpected break`);if(!t.done())throw new Error(`${w} too many terminals, data makes no sense`);return n}function co(){let r={};return r.promise=new Promise((e,t)=>{r.resolve=e,r.reject=t}),r}var gd=new TextDecoder;function uo(r,e){let t=0;for(let n=0;;n+=7){if(n>=64)throw new Error("protobuf: varint overflow");if(e>=r.length)throw new Error("protobuf: unexpected end of data");let i=r[e++];if(t+=n<28?(i&127)<<n:(i&127)*2**n,i<128)break}return[t,e]}function Sn(r,e){let t;[t,e]=uo(r,e);let n=e+t;if(t<0||n<0)throw new Error("protobuf: invalid length");if(n>r.length)throw new Error("protobuf: unexpected end of data");return[r.subarray(e,n),n]}function Au(r,e){let t;return[t,e]=uo(r,e),[t&7,t>>3,e]}function wd(r){let e={},t=r.length,n=0;for(;n<t;){let i,o;if([i,o,n]=Au(r,n),o===1){if(e.Hash)throw new Error("protobuf: (PBLink) duplicate Hash section");if(i!==2)throw new Error(`protobuf: (PBLink) wrong wireType (${i}) 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]=Sn(r,n)}else if(o===2){if(e.Name!==void 0)throw new Error("protobuf: (PBLink) duplicate Name section");if(i!==2)throw new Error(`protobuf: (PBLink) wrong wireType (${i}) for Name`);if(e.Tsize!==void 0)throw new Error("protobuf: (PBLink) invalid order, found Tsize before Name");let s;[s,n]=Sn(r,n),e.Name=gd.decode(s)}else if(o===3){if(e.Tsize!==void 0)throw new Error("protobuf: (PBLink) duplicate Tsize section");if(i!==0)throw new Error(`protobuf: (PBLink) wrong wireType (${i}) for Tsize`);[e.Tsize,n]=uo(r,n)}else throw new Error(`protobuf: (PBLink) invalid fieldNumber, expected 1, 2 or 3, got ${o}`)}if(n>t)throw new Error("protobuf: (PBLink) unexpected end of data");return e}function Bu(r){let e=r.length,t=0,n,i=!1,o;for(;t<e;){let a,c;if([a,c,t]=Au(r,t),a!==2)throw new Error(`protobuf: (PBNode) invalid wireType, expected 2, got ${a}`);if(c===1){if(o)throw new Error("protobuf: (PBNode) duplicate Data section");[o,t]=Sn(r,t),n&&(i=!0)}else if(c===2){if(i)throw new Error("protobuf: (PBNode) duplicate Links section");n||(n=[]);let u;[u,t]=Sn(r,t),n.push(wd(u))}else throw new Error(`protobuf: (PBNode) invalid fieldNumber, expected 1 or 2, got ${c}`)}if(t>e)throw new Error("protobuf: (PBNode) unexpected end of data");let s={};return o&&(s.Data=o),s.Links=n||[],s}var kb=new TextEncoder,Eb=2**32,Tb=2**31;var Bb=new TextEncoder;var Cu=112;function Lu(r){let e=Bu(r),t={};return e.Data&&(t.Data=e.Data),e.Links&&(t.Links=e.Links.map(n=>{let i={};try{i.Hash=x.decode(n.Hash)}catch{}if(!i.Hash)throw new Error("Invalid Hash field found in link, expected CID");return n.Name!==void 0&&(i.Name=n.Name),n.Tsize!==void 0&&(i.Tsize=n.Tsize),i})),t}var Pu=class extends Array{constructor(){super(),this.inRecursive=[]}prefix(e){let t=this.inRecursive[this.inRecursive.length-1];t&&(t.type===f.array&&(t.elements++,t.elements!==1&&e.push([44])),t.type===f.map&&(t.elements++,t.elements!==1&&(t.elements%2===1?e.push([44]):e.push([58]))))}[f.uint.major](e,t){this.prefix(e);let n=String(t.value),i=[];for(let o=0;o<n.length;o++)i[o]=n.charCodeAt(o);e.push(i)}[f.negint.major](e,t){this[f.uint.major](e,t)}[f.bytes.major](e,t){throw new Error(`${At} unsupported type: Uint8Array`)}[f.string.major](e,t){this.prefix(e);let n=mn(JSON.stringify(t.value));e.push(n.length>32?ir(n):n)}[f.array.major](e,t){this.prefix(e),this.inRecursive.push({type:f.array,elements:0}),e.push([91])}[f.map.major](e,t){this.prefix(e),this.inRecursive.push({type:f.map,elements:0}),e.push([123])}[f.tag.major](e,t){}[f.float.major](e,t){if(t.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(t.value===void 0)throw new Error(`${At} unsupported type: undefined`);if(this.prefix(e),t.type.name==="true"){e.push([116,114,117,101]);return}else if(t.type.name==="false"){e.push([102,97,108,115,101]);return}else if(t.type.name==="null"){e.push([110,117,108,108]);return}let n=String(t.value),i=[],o=!1;for(let s=0;s<n.length;s++)i[s]=n.charCodeAt(s),!o&&(i[s]===46||i[s]===101||i[s]===69)&&(o=!0);o||(i.push(46),i.push(48)),e.push(i)}};var Nt=class{constructor(e,t={}){this.pos=0,this.data=e,this.options=t,this.modeStack=["value"],this.lastToken=""}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(`${w} unexpected end of input at position ${this.pos}`);for(let t=0;t<e.length;t++)if(this.data[this.pos++]!==e[t])throw new Error(`${w} unexpected token at position ${this.pos}, expected to find '${String.fromCharCode(...e)}'`)}parseNumber(){let e=this.pos,t=!1,n=!1,i=a=>{for(;!this.done();){let c=this.ch();if(a.includes(c))this.pos++;else break}};if(this.ch()===45&&(t=!0,this.pos++),this.ch()===48)if(this.pos++,this.ch()===46)this.pos++,n=!0;else return new p(f.uint,0,this.pos-e);if(i([48,49,50,51,52,53,54,55,56,57]),t&&this.pos===e+1)throw new Error(`${w} unexpected token at position ${this.pos}`);if(!this.done()&&this.ch()===46){if(n)throw new Error(`${w} unexpected token at position ${this.pos}`);n=!0,this.pos++,i([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++,i([48,49,50,51,52,53,54,55,56,57]));let o=String.fromCharCode.apply(null,this.data.subarray(e,this.pos)),s=parseFloat(o);return n?new p(f.float,s,this.pos-e):this.options.allowBigInt!==!0||Number.isSafeInteger(s)?new p(s>=0?f.uint:f.negint,s,this.pos-e):new p(s>=0?f.uint:f.negint,BigInt(o),this.pos-e)}parseString(){if(this.ch()!==34)throw new Error(`${w} unexpected character at position ${this.pos}; this shouldn't happen`);this.pos++;for(let o=this.pos,s=0;o<this.data.length&&s<65536;o++,s++){let a=this.data[o];if(a===92||a<32||a>=128)break;if(a===34){let c=String.fromCharCode.apply(null,this.data.subarray(this.pos,o));return this.pos=o+1,new p(f.string,c,s)}}let e=this.pos,t=[],n=()=>{if(this.pos+4>=this.data.length)throw new Error(`${w} unexpected end of unicode escape sequence at position ${this.pos}`);let o=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(`${w} unexpected unicode escape character at position ${this.pos}`);o=o*16+a,this.pos++}return o},i=()=>{let o=this.ch(),s=null,a=o>239?4:o>223?3:o>191?2:1;if(this.pos+a>this.data.length)throw new Error(`${w} unexpected unicode sequence at position ${this.pos}`);let c,u,l,h;switch(a){case 1:o<128&&(s=o);break;case 2:c=this.data[this.pos+1],(c&192)===128&&(h=(o&31)<<6|c&63,h>127&&(s=h));break;case 3:c=this.data[this.pos+1],u=this.data[this.pos+2],(c&192)===128&&(u&192)===128&&(h=(o&15)<<12|(c&63)<<6|u&63,h>2047&&(h<55296||h>57343)&&(s=h));break;case 4:c=this.data[this.pos+1],u=this.data[this.pos+2],l=this.data[this.pos+3],(c&192)===128&&(u&192)===128&&(l&192)===128&&(h=(o&15)<<18|(c&63)<<12|(u&63)<<6|l&63,h>65535&&h<1114112&&(s=h))}s===null?(s=65533,a=1):s>65535&&(s-=65536,t.push(s>>>10&1023|55296),s=56320|s&1023),t.push(s),this.pos+=a};for(;!this.done();){let o=this.ch(),s;switch(o){case 92:if(this.pos++,this.done())throw new Error(`${w} unexpected string termination at position ${this.pos}`);switch(s=this.ch(),this.pos++,s){case 34:case 39:case 92:case 47:t.push(s);break;case 98:t.push(8);break;case 116:t.push(9);break;case 110:t.push(10);break;case 102:t.push(12);break;case 114:t.push(13);break;case 117:t.push(n());break;default:throw new Error(`${w} unexpected string escape character at position ${this.pos}`)}break;case 34:return this.pos++,new p(f.string,to(t),this.pos-e);default:if(o<32)throw new Error(`${w} invalid control character at position ${this.pos}`);o<128?(t.push(o),this.pos++):i()}}throw new Error(`${w} unexpected end of string at position ${this.pos}`)}parseValue(){switch(this.ch()){case 123:return this.modeStack.push("obj-start"),this.pos++,new p(f.map,1/0,1);case 91:return this.modeStack.push("array-start"),this.pos++,new p(f.array,1/0,1);case 34:return this.parseString();case 110:return this.expect([110,117,108,108]),new p(f.null,null,4);case 102:return this.expect([102,97,108,115,101]),new p(f.false,!1,5);case 116:return this.expect([116,114,117,101]),new p(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(`${w} 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 p(f.break,void 0,1);if(this.ch()!==44)throw new Error(`${w} 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 p(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 p(f.break,void 0,1);if(this.ch()!==44)throw new Error(`${w} 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 p(f.break,void 0,1);let e=this.parseString();if(this.skipWhitespace(),this.ch()!==58)throw new Error(`${w} 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(`${w} unexpected parse state at position ${this.pos}; this shouldn't happen`)}}};function lo(r,e){return e=Object.assign({tokenizer:new Nt(r,e)},e),Pe(r,e)}var Nu={codec:Cu,async*walk(r){yield*Lu(r).Links.map(t=>t.Hash)}},Du={codec:Kr,async*walk(){}},Iu=42,Mu={codec:113,async*walk(r){let e=[],t=[];t[Iu]=n=>{if(n[0]!==0)throw new Error("Invalid CID for CBOR tag 42; expected leading 0x00");let i=x.decode(n.subarray(1));return e.push(i),i},Pe(r,{tags:t}),yield*e}},fo=class extends Nt{constructor(e,t){super(e,t),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 t=this._next();if(t.type===f.string&&t.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 p(f.tag,42,0)}if(n.type===f.map){let i=this._next();if(i.type===f.string&&i.value==="bytes"){let o=this._next();if(o.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=Rt.decode(`m${o.value}`);return new p(f.bytes,s,o.value.length)}this.tokenBuffer.push(o)}this.tokenBuffer.push(i)}this.tokenBuffer.push(n)}this.tokenBuffer.push(t)}return e}},Fu={codec:297,async*walk(r){let e=[],t=[];t[Iu]=n=>{let i=x.parse(n);return e.push(i),i},lo(r,{tags:t,tokenizer:new fo(r,{tags:t,allowIndefinite:!0,allowUndefined:!0,allowNaN:!0,allowInfinity:!0,allowBigInt:!0,strict:!1,rejectDuplicateMapKeys:!1})}),yield*e}};var An=function(r,e,t,n){if(t==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?r!==e||!n:!e.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?n:t==="a"?n.call(r):n?n.value:e.get(r)},Dt,ho,Uu,vd=[Du,Nu,Mu,Fu],zu="/pin/",$u="/pinned-block/",po=Qt,Ou=1;function Ru(r){return r.version===0&&(r=r.toV1()),new P(`${zu}${r.toString(po)}`)}var Bn=class{constructor(e,t,n){Dt.add(this),this.datastore=e,this.blockstore=t,this.dagWalkers={},[...vd,...n].forEach(i=>{this.dagWalkers[i.codec]=i})}async add(e,t={}){let n=Ru(e);if(await this.datastore.has(n))throw new Error("Already pinned");let i=Math.round(t.depth??1/0);if(i<0)throw new Error("Depth must be greater than or equal to 0");let o=new Be({concurrency:Ou});o.add(async()=>{await An(this,Dt,"m",ho).call(this,e,o,c=>{c.pinnedBy.find(u=>Qe(u,e.bytes))==null&&(c.pinCount++,c.pinnedBy.push(e.bytes))},{...t,depth:i})});let s=co();o.on("error",c=>{o.clear(),s.reject(c)}),await Promise.race([o.onIdle(),s.promise]);let a={depth:i,metadata:t.metadata??{}};return await this.datastore.put(n,En(a),t),{cid:e,...a}}async rm(e,t={}){let n=Ru(e),i=await this.datastore.get(n,t),o=Pe(i);await this.datastore.delete(n,t);let s=new Be({concurrency:Ou});return s.add(async()=>{await An(this,Dt,"m",ho).call(this,e,s,a=>{a.pinCount--,a.pinnedBy=a.pinnedBy.filter(c=>Qe(c,e.bytes))},{...t,depth:o.depth})}),await s.onIdle(),{cid:e,...o}}async*ls(e={}){for await(let{key:t,value:n}of this.datastore.query({prefix:zu+(e.cid!=null?`${e.cid.toString(Qt)}`:"")},e)){let i=x.parse(t.toString().substring(5),Qt),o=Pe(n);yield{cid:i,...o}}}async isPinned(e,t={}){let n=new P(`${$u}${po.encode(e.multihash.bytes)}`);return await this.datastore.has(n,t)}};Dt=new WeakSet,ho=async function r(e,t,n,i){if(i.depth===-1)return;let o=this.dagWalkers[e.code];if(o==null)throw new Error(`No dag walker found for cid codec ${e.code}`);let s=await this.blockstore.get(e);await An(this,Dt,"m",Uu).call(this,e,n,i);for await(let a of o.walk(s))t.add(async()=>{await An(this,Dt,"m",r).call(this,a,t,n,{...i,depth:i.depth-1})})},Uu=async function(e,t,n){let i=new P(`${$u}${po.encode(e.multihash.bytes)}`),o={pinCount:0,pinnedBy:[]};try{o=Pe(await this.datastore.get(i,n))}catch(s){if(s.code!=="ERR_NOT_FOUND")throw s}if(t(o),o.pinCount===0&&await this.datastore.has(i)){await this.datastore.delete(i);return}await this.datastore.put(i,En(o),n)};var mo=new P("/version"),Wu=1;async function Hu(r){if(!await r.has(mo)){await r.put(mo,hn(`${Wu}`));return}let e=await r.get(mo),t=st(e);if(parseInt(t,10)!==Wu)throw new Error("Unknown datastore version, a datastore migration may be required")}var qu=O(Mr(),1);function Cn(r){return r=r??new Error("Not Found"),(0,qu.default)(r,"ERR_NOT_FOUND")}var Vu="SHARDING";async function yo(r){let e=[];for await(let t of r)e.push(t);return e}async function*hr(r,e){yield*(await yo(r)).sort(e)}var Ne=class{async open(){}async close(){}async put(e,t,n){await Promise.reject(new Error(".put is not implemented"))}async get(e,t){return await Promise.reject(new Error(".get is not implemented"))}async has(e,t){return await Promise.reject(new Error(".has is not implemented"))}async delete(e,t){await Promise.reject(new Error(".delete is not implemented"))}async*putMany(e,t={}){for await(let{key:n,value:i}of e)await this.put(n,i,t),yield{key:n,value:i}}async*getMany(e,t={}){for await(let n of e)yield this.get(n,t)}async*deleteMany(e,t={}){for await(let n of e)await this.delete(n,t),yield n}batch(){let e=[],t=[];return{put(n,i){e.push({key:n,value:i})},delete(n){t.push(n)},commit:async n=>{await Se(this.putMany(e,n)),e=[],await Se(this.deleteMany(t,n)),t=[]}}}async*_all(e,t){throw new Error("._all is not implemented")}async*_allKeys(e,t){throw new Error("._allKeys is not implemented")}query(e,t){let n=this._all(e,t);if(e.prefix!=null){let i=e.prefix;n=de(n,o=>o.key.toString().startsWith(i))}if(Array.isArray(e.filters)&&(n=e.filters.reduce((i,o)=>de(i,o),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,o)=>hr(i,o),n)),e.offset!=null){let i=0,o=e.offset;n=de(n,()=>i++>=o)}return e.limit!=null&&(n=ot(n,e.limit)),n}queryKeys(e,t){let n=this._allKeys(e,t);if(e.prefix!=null){let i=e.prefix;n=de(n,o=>o.toString().startsWith(i))}if(Array.isArray(e.filters)&&(n=e.filters.reduce((i,o)=>de(i,o),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,o)=>hr(i,o),n)),e.offset!=null){let i=e.offset,o=0;n=de(n,()=>o++>=i)}return e.limit!=null&&(n=ot(n,e.limit)),n}};var dr=class extends Ne{constructor(){super(),this.data=new Map}async put(e,t){this.data.set(e.toString(),t)}async get(e){let t=this.data.get(e.toString());if(t==null)throw Cn();return t}async has(e){return this.data.has(e.toString())}async delete(e){this.data.delete(e.toString())}async*_all(){for(let[e,t]of this.data.entries())yield{key:new P(e),value:t}}async*_allKeys(){for(let e of this.data.keys())yield new P(e)}};var F0=new P(Vu);var Q0=bt("datastore:core:tiered");var Ln={};V(Ln,{abortedError:()=>Pd,closeFailedError:()=>Sd,deleteFailedError:()=>Cd,getFailedError:()=>Bd,hasFailedError:()=>Ld,notFoundError:()=>go,openFailedError:()=>Td,putFailedError:()=>Ad});var De=O(Mr(),1);function Td(r){return r=r??new Error("Open failed"),(0,De.default)(r,"ERR_OPEN_FAILED")}function Sd(r){return r=r??new Error("Close failed"),(0,De.default)(r,"ERR_CLOSE_FAILED")}function Ad(r){return r=r??new Error("Put failed"),(0,De.default)(r,"ERR_PUT_FAILED")}function Bd(r){return r=r??new Error("Get failed"),(0,De.default)(r,"ERR_GET_FAILED")}function Cd(r){return r=r??new Error("Delete failed"),(0,De.default)(r,"ERR_DELETE_FAILED")}function Ld(r){return r=r??new Error("Has failed"),(0,De.default)(r,"ERR_HAS_FAILED")}function go(r){return r=r??new Error("Not Found"),(0,De.default)(r,"ERR_NOT_FOUND")}function Pd(r){return r=r??new Error("Aborted"),(0,De.default)(r,"ERR_ABORTED")}var pr=class{async has(e,t){return await Promise.reject(new Error(".has is not implemented"))}async put(e,t,n){await Promise.reject(new Error(".put is not implemented"))}async*putMany(e,t){for await(let{cid:n,block:i}of e)await this.put(n,i,t),yield{cid:n,block:i}}async get(e,t){return await Promise.reject(new Error(".get is not implemented"))}async*getMany(e,t){for await(let n of e)yield this.get(n,t)}async delete(e,t){await Promise.reject(new Error(".delete is not implemented"))}async*deleteMany(e,t){for await(let n of e)await this.delete(n,t),yield n}async*getAll(e){throw new Error(".getAll is not implemented")}};var mr=class extends pr{constructor(){super(),this.data=new Map}async put(e,t){this.data.set(j.encode(e.multihash.bytes),t)}async get(e){let t=this.data.get(j.encode(e.multihash.bytes));if(t==null)throw go();return t}async has(e){return this.data.has(j.encode(e.multihash.bytes))}async delete(e){this.data.delete(j.encode(e.multihash.bytes))}async*getAll(){for(let[e,t]of this.data.entries())yield{cid:x.createV1(Kr,wr(j.decode(e))),block:t}}};var y1={...Ln};var Nd=function(r,e,t,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?r!==e||!i:!e.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(r,t):i?i.value=t:e.set(r,t),t},wo=function(r,e,t,n){if(t==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?r!==e||!n:!e.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?n:t==="a"?n.call(r):n?n.value:e.get(r)},It,bo=bt("helia"),Pn=class{constructor(e){It.set(this,void 0);let t=[je,Un,Dn,...e.hashers??[]],n=e.datastore??new dr,i=e.blockstore??new mr,o=e.libp2p??new Proxy({},{get(s,a){let c=()=>{};if(["start","stop"].includes(a.toString()))return c;if(a==="isProxy")return!0;throw new Error("Please configure Helia with a libp2p instance")},set(){throw new Error("Please configure Helia with a libp2p instance")}});e.libp2p!=null&&Nd(this,It,rc(o,i,{hashLoader:{getHasher:async s=>{let a=t.find(c=>c.code===s||c.name===s);if(a!=null)return await Promise.resolve(a);throw new Error(`Could not load hasher for code/name "${s}"`)}}}),"f"),this.pins=new Bn(n,i,e.dagWalkers??[]),this.libp2p=o,this.blockstore=new fn(i,this.pins,{bitswap:wo(this,It,"f"),holdGcLock:e.holdGcLock}),this.datastore=n}async start(){await Hu(this.datastore),await wo(this,It,"f")?.start(),await this.libp2p.start()}async stop(){await this.libp2p.stop(),await wo(this,It,"f")?.stop()}async gc(e={}){let t=await this.blockstore.lock.writeLock();try{let n=this,i=this.blockstore.unwrap();bo("gc start"),await Se(i.deleteMany(async function*(){for await(let{cid:o}of i.getAll())try{if(await n.pins.isPinned(o,e))continue;yield o,e.onProgress?.(new C("helia:gc:deleted",o))}catch(s){bo.error("Error during gc",s),e.onProgress?.(new C("helia:gc:error",s))}}()))}finally{t()}bo("gc finished")}};It=new WeakMap;async function Dd(r={}){let e=new Pn(r);return r.start!==!1&&await e.start(),e}return Zu(Id);})();
|
|
3
3
|
return Helia}));
|