libp2p 0.46.10 → 0.46.11
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/identify/consts.d.ts +1 -1
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.js +1 -1
- package/package.json +17 -17
- package/src/version.ts +1 -1
package/dist/index.min.js
CHANGED
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
END,
|
|
35
35
|
expire = ${s}
|
|
36
36
|
RETURNING points, expire;`,values:[e,r,o,Date.now()]})}_get(e){return this.tableCreated?new Promise((r,n)=>{this._query({name:"rlflx-get",text:`
|
|
37
|
-
SELECT points, expire FROM ${this.tableName} WHERE key = $1 AND (expire > $2 OR expire IS NULL);`,values:[e,Date.now()]}).then(i=>{i.rowCount===0&&(i=null),r(i)}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}_delete(e){return this.tableCreated?this._query({name:"rlflx-delete",text:`DELETE FROM ${this.tableName} WHERE key = $1`,values:[e]}).then(r=>r.rowCount>0):Promise.reject(Error("Table is not created yet"))}};Qy.exports=af});var Zy=O(()=>{});var Jy=O((G6,jy)=>{jy.exports=class{constructor(e,r,n=null){this.value=e,this.expiresAt=r,this.timeoutId=n}get value(){return this._value}set value(e){this._value=parseInt(e)}get expiresAt(){return this._expiresAt}set expiresAt(e){!(e instanceof Date)&&Number.isInteger(e)&&(e=new Date(e)),this._expiresAt=e}get timeoutId(){return this._timeoutId}set timeoutId(e){this._timeoutId=e}}});var tg=O((W6,eg)=>{var W_=Jy(),cf=Ct();eg.exports=class{constructor(){this._storage={}}incrby(e,r,n){if(this._storage[e]){let i=this._storage[e].expiresAt?this._storage[e].expiresAt.getTime()-new Date().getTime():-1;return i!==0?(this._storage[e].value=this._storage[e].value+r,new cf(0,i,this._storage[e].value,!1)):this.set(e,r,n)}return this.set(e,r,n)}set(e,r,n){let i=n*1e3;return this._storage[e]&&this._storage[e].timeoutId&&clearTimeout(this._storage[e].timeoutId),this._storage[e]=new W_(r,i>0?new Date(Date.now()+i):null),i>0&&(this._storage[e].timeoutId=setTimeout(()=>{delete this._storage[e]},i),this._storage[e].timeoutId.unref&&this._storage[e].timeoutId.unref()),new cf(0,i===0?-1:i,this._storage[e].value,!0)}get(e){if(this._storage[e]){let r=this._storage[e].expiresAt?this._storage[e].expiresAt.getTime()-new Date().getTime():-1;return new cf(0,r,this._storage[e].value,!1)}return null}delete(e){return this._storage[e]?(this._storage[e].timeoutId&&clearTimeout(this._storage[e].timeoutId),delete this._storage[e],!0):!1}}});var lf=O((Q6,ng)=>{var Q_=Po(),X_=tg(),rg=Ct(),uf=class extends Q_{constructor(e={}){super(e),this._memoryStorage=new X_}consume(e,r=1,n={}){return new Promise((i,o)=>{let s=this.getKey(e),a=this._getKeySecDuration(n),c=this._memoryStorage.incrby(s,r,a);if(c.remainingPoints=Math.max(this.points-c.consumedPoints,0),c.consumedPoints>this.points)this.blockDuration>0&&c.consumedPoints<=this.points+r&&(c=this._memoryStorage.set(s,c.consumedPoints,this.blockDuration)),o(c);else if(this.execEvenly&&c.msBeforeNext>0&&!c.isFirstInDuration){let u=Math.ceil(c.msBeforeNext/(c.remainingPoints+2));u<this.execEvenlyMinDelayMs&&(u=c.consumedPoints*this.execEvenlyMinDelayMs),setTimeout(i,u,c)}else i(c)})}penalty(e,r=1,n={}){let i=this.getKey(e);return new Promise(o=>{let s=this._getKeySecDuration(n),a=this._memoryStorage.incrby(i,r,s);a.remainingPoints=Math.max(this.points-a.consumedPoints,0),o(a)})}reward(e,r=1,n={}){let i=this.getKey(e);return new Promise(o=>{let s=this._getKeySecDuration(n),a=this._memoryStorage.incrby(i,-r,s);a.remainingPoints=Math.max(this.points-a.consumedPoints,0),o(a)})}block(e,r){let n=r*1e3,i=this.points+1;return this._memoryStorage.set(this.getKey(e),i,r),Promise.resolve(new rg(0,n===0?-1:n,i))}set(e,r,n){let i=(n>=0?n:this.duration)*1e3;return this._memoryStorage.set(this.getKey(e),r,n),Promise.resolve(new rg(0,i===0?-1:i,r))}get(e){let r=this._memoryStorage.get(this.getKey(e));return r!==null&&(r.remainingPoints=Math.max(this.points-r.consumedPoints,0)),Promise.resolve(r)}delete(e){return Promise.resolve(this._memoryStorage.delete(this.getKey(e)))}};ng.exports=uf});var lg=O((X6,ug)=>{var ig=Zy(),Z_=Wi(),j_=Po(),sg=lf(),J_=Ct(),kt="rate_limiter_flexible",Ui=null,og=function(t,e,r,n){let i;n===null||n===!0||n===!1?i=n:i={remainingPoints:n.remainingPoints,msBeforeNext:n.msBeforeNext,consumedPoints:n.consumedPoints,isFirstInDuration:n.isFirstInDuration},t.send({channel:kt,keyPrefix:e.keyPrefix,promiseId:e.promiseId,type:r,data:i})},ag=function(t){setTimeout(()=>{this._initiated?process.send(t):typeof this._promises[t.promiseId]<"u"&&ag.call(this,t)},30)},Oi=function(t,e,r,n,i){let o={channel:kt,keyPrefix:this.keyPrefix,func:t,promiseId:e,data:{key:r,arg:n,opts:i}};this._initiated?process.send(o):ag.call(this,o)},cg=function(t,e){if(!e||e.channel!==kt||typeof this._rateLimiters[e.keyPrefix]>"u")return!1;let r;switch(e.func){case"consume":r=this._rateLimiters[e.keyPrefix].consume(e.data.key,e.data.arg,e.data.opts);break;case"penalty":r=this._rateLimiters[e.keyPrefix].penalty(e.data.key,e.data.arg,e.data.opts);break;case"reward":r=this._rateLimiters[e.keyPrefix].reward(e.data.key,e.data.arg,e.data.opts);break;case"block":r=this._rateLimiters[e.keyPrefix].block(e.data.key,e.data.arg,e.data.opts);break;case"get":r=this._rateLimiters[e.keyPrefix].get(e.data.key,e.data.opts);break;case"delete":r=this._rateLimiters[e.keyPrefix].delete(e.data.key,e.data.opts);break;default:return!1}r&&r.then(n=>{og(t,e,"resolve",n)}).catch(n=>{og(t,e,"reject",n)})},eA=function(t){if(!t||t.channel!==kt||t.keyPrefix!==this.keyPrefix)return!1;if(this._promises[t.promiseId]){clearTimeout(this._promises[t.promiseId].timeoutId);let e;switch(t.data===null||t.data===!0||t.data===!1?e=t.data:e=new J_(t.data.remainingPoints,t.data.msBeforeNext,t.data.consumedPoints,t.data.isFirstInDuration),t.type){case"resolve":this._promises[t.promiseId].resolve(e);break;case"reject":this._promises[t.promiseId].reject(e);break;default:throw new Error(`RateLimiterCluster: no such message type '${t.type}'`)}delete this._promises[t.promiseId]}},tA=function(){return{points:this.points,duration:this.duration,blockDuration:this.blockDuration,execEvenly:this.execEvenly,execEvenlyMinDelayMs:this.execEvenlyMinDelayMs,keyPrefix:this.keyPrefix}},Mi=function(t,e){let r=process.hrtime(),n=r[0].toString()+r[1].toString();return typeof this._promises[n]<"u"&&(n+=Z_.randomBytes(12).toString("base64")),this._promises[n]={resolve:t,reject:e,timeoutId:setTimeout(()=>{delete this._promises[n],e(new Error("RateLimiterCluster timeout: no answer from master in time"))},this.timeoutMs)},n},ff=class{constructor(){if(Ui)return Ui;this._rateLimiters={},ig.setMaxListeners(0),ig.on("message",(e,r)=>{r&&r.channel===kt&&r.type==="init"?(typeof this._rateLimiters[r.opts.keyPrefix]>"u"&&(this._rateLimiters[r.opts.keyPrefix]=new sg(r.opts)),e.send({channel:kt,type:"init",keyPrefix:r.opts.keyPrefix})):cg.call(this,e,r)}),Ui=this}},hf=class{constructor(e){if(Ui)return Ui;this._rateLimiters={},e.launchBus((r,n)=>{n.on("process:msg",i=>{let o=i.raw;if(o&&o.channel===kt&&o.type==="init")typeof this._rateLimiters[o.opts.keyPrefix]>"u"&&(this._rateLimiters[o.opts.keyPrefix]=new sg(o.opts)),e.sendDataToProcessId(i.process.pm_id,{data:{},topic:kt,channel:kt,type:"init",keyPrefix:o.opts.keyPrefix},(s,a)=>{s&&console.log(s,a)});else{let s={send:a=>{let c=a;c.topic=kt,typeof c.data>"u"&&(c.data={}),e.sendDataToProcessId(i.process.pm_id,c,(u,l)=>{u&&console.log(u,l)})}};cg.call(this,s,o)}})}),Ui=this}},df=class extends j_{get timeoutMs(){return this._timeoutMs}set timeoutMs(e){this._timeoutMs=typeof e>"u"?5e3:Math.abs(parseInt(e))}constructor(e={}){super(e),process.setMaxListeners(0),this.timeoutMs=e.timeoutMs,this._initiated=!1,process.on("message",r=>{r&&r.channel===kt&&r.type==="init"&&r.keyPrefix===this.keyPrefix?this._initiated=!0:eA.call(this,r)}),process.send({channel:kt,type:"init",opts:tA.call(this)}),this._promises={}}consume(e,r=1,n={}){return new Promise((i,o)=>{let s=Mi.call(this,i,o);Oi.call(this,"consume",s,e,r,n)})}penalty(e,r=1,n={}){return new Promise((i,o)=>{let s=Mi.call(this,i,o);Oi.call(this,"penalty",s,e,r,n)})}reward(e,r=1,n={}){return new Promise((i,o)=>{let s=Mi.call(this,i,o);Oi.call(this,"reward",s,e,r,n)})}block(e,r,n={}){return new Promise((i,o)=>{let s=Mi.call(this,i,o);Oi.call(this,"block",s,e,r,n)})}get(e,r={}){return new Promise((n,i)=>{let o=Mi.call(this,n,i);Oi.call(this,"get",o,e,r)})}delete(e,r={}){return new Promise((n,i)=>{let o=Mi.call(this,n,i);Oi.call(this,"delete",o,e,r)})}};ug.exports={RateLimiterClusterMaster:ff,RateLimiterClusterMasterPM2:hf,RateLimiterCluster:df}});var hg=O((Z6,fg)=>{var rA=ki(),nA=Ct(),pf=class extends rA{constructor(e){super(e),this.client=e.storeClient}_getRateLimiterRes(e,r,n){let i=new nA;return i.consumedPoints=parseInt(n.consumedPoints),i.isFirstInDuration=n.consumedPoints===r,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=n.msBeforeNext,i}_upsert(e,r,n,i=!1,o={}){return new Promise((s,a)=>{let c=Date.now(),u=Math.floor(n/1e3);i?this.client.set(e,r,u,l=>{l?a(l):this.client.set(`${e}_expire`,u>0?c+u*1e3:-1,u,()=>{let f={consumedPoints:r,msBeforeNext:u>0?u*1e3:-1};s(f)})}):this.client.incr(e,r,(l,f)=>{l||f===!1?this.client.add(e,r,u,(h,p)=>{if(h||!p)if(typeof o.attemptNumber>"u"||o.attemptNumber<3){let d=Object.assign({},o);d.attemptNumber=d.attemptNumber?d.attemptNumber+1:1,this._upsert(e,r,n,i,d).then(m=>s(m)).catch(m=>a(m))}else a(new Error("Can not add key"));else this.client.add(`${e}_expire`,u>0?c+u*1e3:-1,u,()=>{let d={consumedPoints:r,msBeforeNext:u>0?u*1e3:-1};s(d)})}):this.client.get(`${e}_expire`,(h,p)=>{if(h)a(h);else{let d=p===!1?0:p,m={consumedPoints:f,msBeforeNext:d>=0?Math.max(d-c,0):-1};s(m)}})})})}_get(e){return new Promise((r,n)=>{let i=Date.now();this.client.get(e,(o,s)=>{s?this.client.get(`${e}_expire`,(a,c)=>{if(a)n(a);else{let u=c===!1?0:c,l={consumedPoints:s,msBeforeNext:u>=0?Math.max(u-i,0):-1};r(l)}}):r(null)})})}_delete(e){return new Promise((r,n)=>{this.client.del(e,(i,o)=>{i?n(i):o===!1?r(o):this.client.del(`${e}_expire`,s=>{s?n(s):r(o)})})})}};fg.exports=pf});var mg=O((J6,pg)=>{var dg=Ct();pg.exports=class{constructor(e={}){this.limiter=e.limiter,this.blackList=e.blackList,this.whiteList=e.whiteList,this.isBlackListed=e.isBlackListed,this.isWhiteListed=e.isWhiteListed,this.runActionAnyway=e.runActionAnyway}get limiter(){return this._limiter}set limiter(e){if(typeof e>"u")throw new Error("limiter is not set");this._limiter=e}get runActionAnyway(){return this._runActionAnyway}set runActionAnyway(e){this._runActionAnyway=typeof e>"u"?!1:e}get blackList(){return this._blackList}set blackList(e){this._blackList=Array.isArray(e)?e:[]}get isBlackListed(){return this._isBlackListed}set isBlackListed(e){if(typeof e>"u"&&(e=()=>!1),typeof e!="function")throw new Error("isBlackListed must be function");this._isBlackListed=e}get whiteList(){return this._whiteList}set whiteList(e){this._whiteList=Array.isArray(e)?e:[]}get isWhiteListed(){return this._isWhiteListed}set isWhiteListed(e){if(typeof e>"u"&&(e=()=>!1),typeof e!="function")throw new Error("isWhiteListed must be function");this._isWhiteListed=e}isBlackListedSomewhere(e){return this.blackList.indexOf(e)>=0||this.isBlackListed(e)}isWhiteListedSomewhere(e){return this.whiteList.indexOf(e)>=0||this.isWhiteListed(e)}getBlackRes(){return new dg(0,Number.MAX_SAFE_INTEGER,0,!1)}getWhiteRes(){return new dg(Number.MAX_SAFE_INTEGER,0,0,!1)}rejectBlack(){return Promise.reject(this.getBlackRes())}resolveBlack(){return Promise.resolve(this.getBlackRes())}resolveWhite(){return Promise.resolve(this.getWhiteRes())}consume(e,r=1){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.rejectBlack()),typeof n>"u"?this.limiter.consume(e,r):(this.runActionAnyway&&this.limiter.consume(e,r).catch(()=>{}),n)}block(e,r){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.block(e,r):(this.runActionAnyway&&this.limiter.block(e,r).catch(()=>{}),n)}penalty(e,r){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.penalty(e,r):(this.runActionAnyway&&this.limiter.penalty(e,r).catch(()=>{}),n)}reward(e,r){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.reward(e,r):(this.runActionAnyway&&this.limiter.reward(e,r).catch(()=>{}),n)}get(e){let r;return this.isWhiteListedSomewhere(e)?r=this.resolveWhite():this.isBlackListedSomewhere(e)&&(r=this.resolveBlack()),typeof r>"u"||this.runActionAnyway?this.limiter.get(e):r}delete(e){return this.limiter.delete(e)}}});var gg=O((tP,yg)=>{var iA=Po();yg.exports=class{constructor(...e){if(e.length<1)throw new Error("RateLimiterUnion: at least one limiter have to be passed");e.forEach(r=>{if(!(r instanceof iA))throw new Error("RateLimiterUnion: all limiters have to be instance of RateLimiterAbstract")}),this._limiters=e}consume(e,r=1){return new Promise((n,i)=>{let o=[];this._limiters.forEach(s=>{o.push(s.consume(e,r).catch(a=>({rejected:!0,rej:a})))}),Promise.all(o).then(s=>{let a={},c=!1;s.forEach(u=>{u.rejected===!0&&(c=!0)});for(let u=0;u<s.length;u++)c&&s[u].rejected===!0?a[this._limiters[u].keyPrefix]=s[u].rej:c||(a[this._limiters[u].keyPrefix]=s[u]);c?i(a):n(a)})})}}});var Eg=O((nP,xg)=>{xg.exports=class extends Error{constructor(e,r){super(),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor),this.name="CustomError",this.message=e,r&&(this.extra=r)}}});var _g=O((oP,vg)=>{var wg=Eg(),bg=4294967295,mf="limiter";vg.exports=class{constructor(e,r={maxQueueSize:bg}){this._queueLimiters={KEY_DEFAULT:new Aa(e,r)},this._limiterFlexible=e,this._maxQueueSize=r.maxQueueSize}getTokensRemaining(e=mf){return this._queueLimiters[e]?this._queueLimiters[e].getTokensRemaining():Promise.resolve(this._limiterFlexible.points)}removeTokens(e,r=mf){return this._queueLimiters[r]||(this._queueLimiters[r]=new Aa(this._limiterFlexible,{key:r,maxQueueSize:this._maxQueueSize})),this._queueLimiters[r].removeTokens(e)}};var Aa=class{constructor(e,r={maxQueueSize:bg,key:mf}){this._key=r.key,this._waitTimeout=null,this._queue=[],this._limiterFlexible=e,this._maxQueueSize=r.maxQueueSize}getTokensRemaining(){return this._limiterFlexible.get(this._key).then(e=>e!==null?e.remainingPoints:this._limiterFlexible.points)}removeTokens(e){let r=this;return new Promise((n,i)=>{if(e>r._limiterFlexible.points){i(new wg(`Requested tokens ${e} exceeds maximum ${r._limiterFlexible.points} tokens per interval`));return}r._queue.length>0?r._queueRequest.call(r,n,i,e):r._limiterFlexible.consume(r._key,e).then(o=>{n(o.remainingPoints)}).catch(o=>{o instanceof Error?i(o):(r._queueRequest.call(r,n,i,e),r._waitTimeout===null&&(r._waitTimeout=setTimeout(r._processFIFO.bind(r),o.msBeforeNext)))})})}_queueRequest(e,r,n){let i=this;i._queue.length<i._maxQueueSize?i._queue.push({resolve:e,reject:r,tokens:n}):r(new wg(`Number of requests reached it's maximum ${i._maxQueueSize}`))}_processFIFO(){let e=this;if(e._waitTimeout!==null&&(clearTimeout(e._waitTimeout),e._waitTimeout=null),e._queue.length===0)return;let r=e._queue.shift();e._limiterFlexible.consume(e._key,r.tokens).then(n=>{r.resolve(n.remainingPoints),e._processFIFO.call(e)}).catch(n=>{n instanceof Error?(r.reject(n),e._processFIFO.call(e)):(e._queue.unshift(r),e._waitTimeout===null&&(e._waitTimeout=setTimeout(e._processFIFO.bind(e),n.msBeforeNext)))})}}});var Sg=O((aP,Ag)=>{var yf=Ct();Ag.exports=class{constructor(e,r){this._rateLimiter=e,this._burstLimiter=r}_combineRes(e,r){return e?new yf(e.remainingPoints,Math.min(e.msBeforeNext,r?r.msBeforeNext:0),e.consumedPoints,e.isFirstInDuration):null}consume(e,r=1,n={}){return this._rateLimiter.consume(e,r,n).catch(i=>i instanceof yf?this._burstLimiter.consume(e,r,n).then(o=>Promise.resolve(this._combineRes(i,o))).catch(o=>o instanceof yf?Promise.reject(this._combineRes(i,o)):Promise.reject(o)):Promise.reject(i))}get(e){return Promise.all([this._rateLimiter.get(e),this._burstLimiter.get(e)]).then(([r,n])=>this._combineRes(r,n))}get points(){return this._rateLimiter.points}}});var Rg=O((cP,Ig)=>{var oA=$y(),sA=Gy(),aA=Wy(),cA=Xy(),{RateLimiterClusterMaster:uA,RateLimiterClusterMasterPM2:lA,RateLimiterCluster:fA}=lg(),hA=lf(),dA=hg(),pA=mg(),mA=gg(),yA=_g(),gA=Sg(),xA=Ct();Ig.exports={RateLimiterRedis:oA,RateLimiterMongo:sA,RateLimiterMySQL:aA,RateLimiterPostgres:cA,RateLimiterMemory:hA,RateLimiterMemcache:dA,RateLimiterClusterMaster:uA,RateLimiterClusterMasterPM2:lA,RateLimiterCluster:fA,RLWrapperBlackAndWhite:pA,RateLimiterUnion:mA,RateLimiterQueue:yA,BurstyRateLimiter:gA,RateLimiterRes:xA}});var XA={};We(XA,{createLibp2p:()=>QA});var Gg=te(Xn(),1);var S8=te(Yi(),1),I8=te(gh(),1);var ti=class t extends Error{code;type;constructor(e="The operation was aborted"){super(e),this.code=t.code,this.type=t.type}static code="ABORT_ERR";static type="aborted"},b=class extends Error{code;props;constructor(e,r,n){super(e),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var Ns=te(ye(),1);function pn(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}var Ac={};We(Ac,{base10:()=>$2});function U2(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<t.length;i++){var o=t.charAt(i),s=o.charCodeAt(0);if(r[s]!==255)throw new TypeError(o+" is ambiguous");r[s]=i}var a=t.length,c=t.charAt(0),u=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function f(d){if(d instanceof Uint8Array||(ArrayBuffer.isView(d)?d=new Uint8Array(d.buffer,d.byteOffset,d.byteLength):Array.isArray(d)&&(d=Uint8Array.from(d))),!(d instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(d.length===0)return"";for(var m=0,y=0,g=0,x=d.length;g!==x&&d[g]===0;)g++,m++;for(var w=(x-g)*l+1>>>0,C=new Uint8Array(w);g!==x;){for(var _=d[g],A=0,P=w-1;(_!==0||A<y)&&P!==-1;P--,A++)_+=256*C[P]>>>0,C[P]=_%a>>>0,_=_/a>>>0;if(_!==0)throw new Error("Non-zero carry");y=A,g++}for(var D=w-y;D!==w&&C[D]===0;)D++;for(var W=c.repeat(m);D<w;++D)W+=t.charAt(C[D]);return W}function h(d){if(typeof d!="string")throw new TypeError("Expected String");if(d.length===0)return new Uint8Array;var m=0;if(d[m]!==" "){for(var y=0,g=0;d[m]===c;)y++,m++;for(var x=(d.length-m)*u+1>>>0,w=new Uint8Array(x);d[m];){var C=r[d.charCodeAt(m)];if(C===255)return;for(var _=0,A=x-1;(C!==0||_<g)&&A!==-1;A--,_++)C+=a*w[A]>>>0,w[A]=C%256>>>0,C=C/256>>>0;if(C!==0)throw new Error("Non-zero carry");g=_,m++}if(d[m]!==" "){for(var P=x-g;P!==x&&w[P]===0;)P++;for(var D=new Uint8Array(y+(x-P)),W=y;P!==x;)D[W++]=w[P++];return D}}}function p(d){var m=h(d);if(m)return m;throw new Error(`Non-${e} character`)}return{encode:f,decodeUnsafe:h,decode:p}}var F2=U2,K2=F2,xh=K2;var RS=new Uint8Array(0);var Eh=(t,e)=>{if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0},gr=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")};var wh=t=>new TextEncoder().encode(t),bh=t=>new TextDecoder().decode(t);var wc=class{constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},bc=class{constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.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 _h(this,e)}},vc=class{constructor(e){this.decoders=e}or(e){return _h(this,e)}decode(e){let r=e[0],n=this.decoders[r];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`)}},_h=(t,e)=>new vc({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),_c=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new wc(e,r,n),this.decoder=new bc(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},ri=({name:t,prefix:e,encode:r,decode:n})=>new _c(t,e,r,n),Ur=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=xh(r,e);return ri({prefix:t,name:e,encode:n,decode:o=>gr(i(o))})},q2=(t,e,r,n)=>{let i={};for(let l=0;l<e.length;++l)i[e[l]]=l;let o=t.length;for(;t[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,c=0,u=0;for(let l=0;l<o;++l){let f=i[t[l]];if(f===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|f,a+=r,a>=8&&(a-=8,s[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s},V2=(t,e,r)=>{let n=e[e.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],s+=8;s>r;)s-=r,o+=e[i&a>>s];if(s&&(o+=e[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o},ke=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>ri({prefix:e,name:t,encode(i){return V2(i,n,r)},decode(i){return q2(i,n,r,t)}});var $2=Ur({prefix:"9",name:"base10",alphabet:"0123456789"});var Sc={};We(Sc,{base16:()=>H2,base16upper:()=>z2});var H2=ke({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),z2=ke({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Ic={};We(Ic,{base2:()=>G2});var G2=ke({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Rc={};We(Rc,{base256emoji:()=>Z2});var Ah=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}"),Y2=Ah.reduce((t,e,r)=>(t[r]=e,t),[]),W2=Ah.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function Q2(t){return t.reduce((e,r)=>(e+=Y2[r],e),"")}function X2(t){let e=[];for(let r of t){let n=W2[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var Z2=ri({prefix:"\u{1F680}",name:"base256emoji",encode:Q2,decode:X2});var Cc={};We(Cc,{base32:()=>bt,base32hex:()=>tE,base32hexpad:()=>nE,base32hexpadupper:()=>iE,base32hexupper:()=>rE,base32pad:()=>J2,base32padupper:()=>eE,base32upper:()=>j2,base32z:()=>oE});var bt=ke({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),j2=ke({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),J2=ke({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),eE=ke({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),tE=ke({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),rE=ke({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),nE=ke({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),iE=ke({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),oE=ke({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Tc={};We(Tc,{base36:()=>sE,base36upper:()=>aE});var sE=Ur({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),aE=Ur({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Bc={};We(Bc,{base58btc:()=>Le,base58flickr:()=>cE});var Le=Ur({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),cE=Ur({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Pc={};We(Pc,{base64:()=>mn,base64pad:()=>uE,base64url:()=>Lc,base64urlpad:()=>lE});var mn=ke({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),uE=ke({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Lc=ke({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),lE=ke({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Dc={};We(Dc,{base8:()=>fE});var fE=ke({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Nc={};We(Nc,{identity:()=>hE});var hE=ri({prefix:"\0",name:"identity",encode:t=>bh(t),decode:t=>wh(t)});var VS=new TextEncoder,$S=new TextDecoder;var Oc={};We(Oc,{identity:()=>Fr});var mE=Rh,Sh=128,yE=127,gE=~yE,xE=Math.pow(2,31);function Rh(t,e,r){e=e||[],r=r||0;for(var n=r;t>=xE;)e[r++]=t&255|Sh,t/=128;for(;t≧)e[r++]=t&255|Sh,t>>>=7;return e[r]=t|0,Rh.bytes=r-n+1,e}var EE=kc,wE=128,Ih=127;function kc(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a)throw kc.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&Ih)<<i:(s&Ih)*Math.pow(2,i),i+=7}while(s>=wE);return kc.bytes=o-n,r}var bE=Math.pow(2,7),vE=Math.pow(2,14),_E=Math.pow(2,21),AE=Math.pow(2,28),SE=Math.pow(2,35),IE=Math.pow(2,42),RE=Math.pow(2,49),CE=Math.pow(2,56),TE=Math.pow(2,63),BE=function(t){return t<bE?1:t<vE?2:t<_E?3:t<AE?4:t<SE?5:t<IE?6:t<RE?7:t<CE?8:t<TE?9:10},LE={encode:mE,decode:EE,encodingLength:BE},PE=LE,Zi=PE;var ji=(t,e=0)=>[Zi.decode(t,e),Zi.decode.bytes],ni=(t,e,r=0)=>(Zi.encode(t,e,r),e),ii=t=>Zi.encodingLength(t);var nr=(t,e)=>{let r=e.byteLength,n=ii(t),i=n+ii(r),o=new Uint8Array(i+r);return ni(t,o,0),ni(r,o,n),o.set(e,i),new oi(t,r,e,o)},yn=t=>{let e=gr(t),[r,n]=ji(e),[i,o]=ji(e.subarray(n)),s=e.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new oi(r,i,s,e)},Ch=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&Eh(t.bytes,r.bytes)}},oi=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var Th=0,DE="identity",Bh=gr,NE=t=>nr(Th,Bh(t)),Fr={code:Th,name:DE,encode:Bh,digest:NE};var Fc={};We(Fc,{sha256:()=>ot,sha512:()=>kE});var Uc=({name:t,code:e,encode:r})=>new Mc(t,e,r),Mc=class{constructor(e,r,n){this.name=e,this.code=r,this.encode=n}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);return r instanceof Uint8Array?nr(this.code,r):r.then(n=>nr(this.code,n))}else throw Error("Unknown type, must be binary type")}};var Ph=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),ot=Uc({name:"sha2-256",code:18,encode:Ph("SHA-256")}),kE=Uc({name:"sha2-512",code:19,encode:Ph("SHA-512")});var Dh=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return ME(r,Kc(t),e||Le.encoder);default:return UE(r,Kc(t),e||bt.encoder)}};var Nh=new WeakMap,Kc=t=>{let e=Nh.get(t);if(e==null){let r=new Map;return Nh.set(t,r),r}return e},Ut=class t{constructor(e,r,n,i){this.code=r,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:r}=this;if(e!==Ji)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==FE)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return t.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:r}=this.multihash,n=nr(e,r);return t.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return t.equals(this,e)}static equals(e,r){let n=r;return n&&e.code===n.code&&e.version===n.version&&Ch(e.multihash,n.multihash)}toString(e){return Dh(this,e)}toJSON(){return{"/":Dh(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 r=e;if(r instanceof t)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:o,bytes:s}=r;return new t(n,i,o,s||kh(n,i,o.bytes))}else if(r[KE]===!0){let{version:n,multihash:i,code:o}=r,s=yn(i);return t.create(n,o,s)}else return null}static create(e,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(r!==Ji)throw new Error(`Version 0 CID must use dag-pb (code: ${Ji}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let i=kh(e,r,n.bytes);return new t(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,Ji,e)}static createV1(e,r){return t.create(1,e,r)}static decode(e){let[r,n]=t.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=t.inspectBytes(e),n=r.size-r.multihashSize,i=gr(e.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let o=i.subarray(r.multihashSize-r.digestSize),s=new oi(r.multihashCode,r.digestSize,o,i);return[r.version===0?t.createV0(s):t.createV1(r.codec,s),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[f,h]=ji(e.subarray(r));return r+=h,f},i=n(),o=Ji;if(i===18?(i=0,r=0):o=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=r,a=n(),c=n(),u=r+c,l=u-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:l,size:u}}static parse(e,r){let[n,i]=OE(e,r),o=t.decode(i);if(o.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Kc(o).set(n,e),o}},OE=(t,e)=>{switch(t[0]){case"Q":{let r=e||Le;return[Le.prefix,r.decode(`${Le.prefix}${t}`)]}case Le.prefix:{let r=e||Le;return[Le.prefix,r.decode(t)]}case bt.prefix:{let r=e||bt;return[bt.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}},ME=(t,e,r)=>{let{prefix:n}=r;if(n!==Le.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=e.get(n);if(i==null){let o=r.encode(t).slice(1);return e.set(n,o),o}else return i},UE=(t,e,r)=>{let{prefix:n}=r,i=e.get(n);if(i==null){let o=r.encode(t);return e.set(n,o),o}else return i},Ji=112,FE=18,kh=(t,e,r)=>{let n=ii(t),i=n+ii(e),o=new Uint8Array(i+r.byteLength);return ni(t,o,0),ni(e,o,n),o.set(r,i),o},KE=Symbol.for("@ipld/js-cid/CID");var Kr={...Nc,...Ic,...Dc,...Ac,...Sc,...Cc,...Tc,...Bc,...Pc,...Rc},oI={...Fc,...Oc};function xr(t=0){return globalThis.Buffer?.alloc!=null?pn(globalThis.Buffer.alloc(t)):new Uint8Array(t)}function Ft(t=0){return globalThis.Buffer?.allocUnsafe!=null?pn(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function Mh(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var Oh=Mh("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),qc=Mh("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);let e=Ft(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),qE={utf8:Oh,"utf-8":Oh,hex:Kr.base16,latin1:qc,ascii:qc,binary:qc,...Kr},ls=qE;function G(t,e="utf8"){let r=ls[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?pn(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}var _u={};We(_u,{Ed25519PrivateKey:()=>An,Ed25519PublicKey:()=>oo,generateKeyPair:()=>ob,generateKeyPairFromSeed:()=>jd,unmarshalEd25519PrivateKey:()=>nb,unmarshalEd25519PublicKey:()=>ib});function Pe(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}function Uh(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(`Wrong positive integer: ${t}`)}function Vc(t,...e){if(!(t instanceof Uint8Array))throw new Error("Expected Uint8Array");if(e.length>0&&!e.includes(t.length))throw new Error(`Expected Uint8Array of length ${e}, not of length=${t.length}`)}function Fh(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");Uh(t.outputLen),Uh(t.blockLen)}function si(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function Kh(t,e){Vc(t);let r=e.outputLen;if(t.length<r)throw new Error(`digestInto() expects output buffer of length at least ${r}`)}var fs=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;var qh=t=>t instanceof Uint8Array;var hs=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),Kt=(t,e)=>t<<32-e|t>>>e,VE=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!VE)throw new Error("Non little-endian hardware is not supported");function $c(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function eo(t){if(typeof t=="string"&&(t=$c(t)),!qh(t))throw new Error(`expected Uint8Array, got ${typeof t}`);return t}function ds(...t){let e=new Uint8Array(t.reduce((n,i)=>n+i.length,0)),r=0;return t.forEach(n=>{if(!qh(n))throw new Error("Uint8Array expected");e.set(n,r),r+=n.length}),e}var ai=class{clone(){return this._cloneInto()}},EI={}.toString;function ps(t){let e=n=>t().update(eo(n)).digest(),r=t();return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=()=>t(),e}function ci(t=32){if(fs&&typeof fs.getRandomValues=="function")return fs.getRandomValues(new Uint8Array(t));throw new Error("crypto.getRandomValues must be defined")}function $E(t,e,r,n){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,r,n);let i=BigInt(32),o=BigInt(4294967295),s=Number(r>>i&o),a=Number(r&o),c=n?4:0,u=n?0:4;t.setUint32(e+c,s,n),t.setUint32(e+u,a,n)}var ui=class extends ai{constructor(e,r,n,i){super(),this.blockLen=e,this.outputLen=r,this.padOffset=n,this.isLE=i,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=hs(this.buffer)}update(e){si(this);let{view:r,buffer:n,blockLen:i}=this;e=eo(e);let o=e.length;for(let s=0;s<o;){let a=Math.min(i-this.pos,o-s);if(a===i){let c=hs(e);for(;i<=o-s;s+=i)this.process(c,s);continue}n.set(e.subarray(s,s+a),this.pos),this.pos+=a,s+=a,this.pos===i&&(this.process(r,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){si(this),Kh(e,this),this.finished=!0;let{buffer:r,view:n,blockLen:i,isLE:o}=this,{pos:s}=this;r[s++]=128,this.buffer.subarray(s).fill(0),this.padOffset>i-s&&(this.process(n,0),s=0);for(let f=s;f<i;f++)r[f]=0;$E(n,i-8,BigInt(this.length*8),o),this.process(n,0);let a=hs(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let u=c/4,l=this.get();if(u>l.length)throw new Error("_sha2: outputLen bigger than state");for(let f=0;f<u;f++)a.setUint32(4*f,l[f],o)}digest(){let{buffer:e,outputLen:r}=this;this.digestInto(e);let n=e.slice(0,r);return this.destroy(),n}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:r,buffer:n,length:i,finished:o,destroyed:s,pos:a}=this;return e.length=i,e.pos=a,e.finished=o,e.destroyed=s,i%r&&e.buffer.set(n),e}};var ms=BigInt(4294967295),Hc=BigInt(32);function Vh(t,e=!1){return e?{h:Number(t&ms),l:Number(t>>Hc&ms)}:{h:Number(t>>Hc&ms)|0,l:Number(t&ms)|0}}function HE(t,e=!1){let r=new Uint32Array(t.length),n=new Uint32Array(t.length);for(let i=0;i<t.length;i++){let{h:o,l:s}=Vh(t[i],e);[r[i],n[i]]=[o,s]}return[r,n]}var zE=(t,e)=>BigInt(t>>>0)<<Hc|BigInt(e>>>0),GE=(t,e,r)=>t>>>r,YE=(t,e,r)=>t<<32-r|e>>>r,WE=(t,e,r)=>t>>>r|e<<32-r,QE=(t,e,r)=>t<<32-r|e>>>r,XE=(t,e,r)=>t<<64-r|e>>>r-32,ZE=(t,e,r)=>t>>>r-32|e<<64-r,jE=(t,e)=>e,JE=(t,e)=>t,ew=(t,e,r)=>t<<r|e>>>32-r,tw=(t,e,r)=>e<<r|t>>>32-r,rw=(t,e,r)=>e<<r-32|t>>>64-r,nw=(t,e,r)=>t<<r-32|e>>>64-r;function iw(t,e,r,n){let i=(e>>>0)+(n>>>0);return{h:t+r+(i/2**32|0)|0,l:i|0}}var ow=(t,e,r)=>(t>>>0)+(e>>>0)+(r>>>0),sw=(t,e,r,n)=>e+r+n+(t/2**32|0)|0,aw=(t,e,r,n)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0),cw=(t,e,r,n,i)=>e+r+n+i+(t/2**32|0)|0,uw=(t,e,r,n,i)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0)+(i>>>0),lw=(t,e,r,n,i,o)=>e+r+n+i+o+(t/2**32|0)|0;var fw={fromBig:Vh,split:HE,toBig:zE,shrSH:GE,shrSL:YE,rotrSH:WE,rotrSL:QE,rotrBH:XE,rotrBL:ZE,rotr32H:jE,rotr32L:JE,rotlSH:ew,rotlSL:tw,rotlBH:rw,rotlBL:nw,add:iw,add3L:ow,add3H:sw,add4L:aw,add4H:cw,add5H:lw,add5L:uw},J=fw;var[hw,dw]=(()=>J.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(t=>BigInt(t))))(),qr=new Uint32Array(80),Vr=new Uint32Array(80),zc=class extends ui{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){let{Ah:e,Al:r,Bh:n,Bl:i,Ch:o,Cl:s,Dh:a,Dl:c,Eh:u,El:l,Fh:f,Fl:h,Gh:p,Gl:d,Hh:m,Hl:y}=this;return[e,r,n,i,o,s,a,c,u,l,f,h,p,d,m,y]}set(e,r,n,i,o,s,a,c,u,l,f,h,p,d,m,y){this.Ah=e|0,this.Al=r|0,this.Bh=n|0,this.Bl=i|0,this.Ch=o|0,this.Cl=s|0,this.Dh=a|0,this.Dl=c|0,this.Eh=u|0,this.El=l|0,this.Fh=f|0,this.Fl=h|0,this.Gh=p|0,this.Gl=d|0,this.Hh=m|0,this.Hl=y|0}process(e,r){for(let w=0;w<16;w++,r+=4)qr[w]=e.getUint32(r),Vr[w]=e.getUint32(r+=4);for(let w=16;w<80;w++){let C=qr[w-15]|0,_=Vr[w-15]|0,A=J.rotrSH(C,_,1)^J.rotrSH(C,_,8)^J.shrSH(C,_,7),P=J.rotrSL(C,_,1)^J.rotrSL(C,_,8)^J.shrSL(C,_,7),D=qr[w-2]|0,W=Vr[w-2]|0,Q=J.rotrSH(D,W,19)^J.rotrBH(D,W,61)^J.shrSH(D,W,6),z=J.rotrSL(D,W,19)^J.rotrBL(D,W,61)^J.shrSL(D,W,6),ne=J.add4L(P,z,Vr[w-7],Vr[w-16]),ge=J.add4H(ne,A,Q,qr[w-7],qr[w-16]);qr[w]=ge|0,Vr[w]=ne|0}let{Ah:n,Al:i,Bh:o,Bl:s,Ch:a,Cl:c,Dh:u,Dl:l,Eh:f,El:h,Fh:p,Fl:d,Gh:m,Gl:y,Hh:g,Hl:x}=this;for(let w=0;w<80;w++){let C=J.rotrSH(f,h,14)^J.rotrSH(f,h,18)^J.rotrBH(f,h,41),_=J.rotrSL(f,h,14)^J.rotrSL(f,h,18)^J.rotrBL(f,h,41),A=f&p^~f&m,P=h&d^~h&y,D=J.add5L(x,_,P,dw[w],Vr[w]),W=J.add5H(D,g,C,A,hw[w],qr[w]),Q=D|0,z=J.rotrSH(n,i,28)^J.rotrBH(n,i,34)^J.rotrBH(n,i,39),ne=J.rotrSL(n,i,28)^J.rotrBL(n,i,34)^J.rotrBL(n,i,39),ge=n&o^n&a^o&a,rt=i&s^i&c^s&c;g=m|0,x=y|0,m=p|0,y=d|0,p=f|0,d=h|0,{h:f,l:h}=J.add(u|0,l|0,W|0,Q|0),u=a|0,l=c|0,a=o|0,c=s|0,o=n|0,s=i|0;let T=J.add3L(Q,ne,rt);n=J.add3H(T,W,z,ge),i=T|0}({h:n,l:i}=J.add(this.Ah|0,this.Al|0,n|0,i|0)),{h:o,l:s}=J.add(this.Bh|0,this.Bl|0,o|0,s|0),{h:a,l:c}=J.add(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l}=J.add(this.Dh|0,this.Dl|0,u|0,l|0),{h:f,l:h}=J.add(this.Eh|0,this.El|0,f|0,h|0),{h:p,l:d}=J.add(this.Fh|0,this.Fl|0,p|0,d|0),{h:m,l:y}=J.add(this.Gh|0,this.Gl|0,m|0,y|0),{h:g,l:x}=J.add(this.Hh|0,this.Hl|0,g|0,x|0),this.set(n,i,o,s,a,c,u,l,f,h,p,d,m,y,g,x)}roundClean(){qr.fill(0),Vr.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var Gc=ps(()=>new zc);var xs={};We(xs,{bitGet:()=>ww,bitLen:()=>Ew,bitMask:()=>to,bitSet:()=>bw,bytesToHex:()=>Er,bytesToNumberBE:()=>wr,bytesToNumberLE:()=>$r,concatBytes:()=>br,createHmacDrbg:()=>Qc,ensureBytes:()=>Oe,equalBytes:()=>gw,hexToBytes:()=>xn,hexToNumber:()=>Wc,numberToBytesBE:()=>Hr,numberToBytesLE:()=>En,numberToHexUnpadded:()=>zh,numberToVarBytesBE:()=>yw,utf8ToBytes:()=>xw,validateObject:()=>ir});var Hh=BigInt(0),ys=BigInt(1),pw=BigInt(2),gs=t=>t instanceof Uint8Array,mw=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function Er(t){if(!gs(t))throw new Error("Uint8Array expected");let e="";for(let r=0;r<t.length;r++)e+=mw[t[r]];return e}function zh(t){let e=t.toString(16);return e.length&1?`0${e}`:e}function Wc(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);return BigInt(t===""?"0":`0x${t}`)}function xn(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);let e=t.length;if(e%2)throw new Error("padded hex string expected, got unpadded hex of length "+e);let r=new Uint8Array(e/2);for(let n=0;n<r.length;n++){let i=n*2,o=t.slice(i,i+2),s=Number.parseInt(o,16);if(Number.isNaN(s)||s<0)throw new Error("Invalid byte sequence");r[n]=s}return r}function wr(t){return Wc(Er(t))}function $r(t){if(!gs(t))throw new Error("Uint8Array expected");return Wc(Er(Uint8Array.from(t).reverse()))}function Hr(t,e){return xn(t.toString(16).padStart(e*2,"0"))}function En(t,e){return Hr(t,e).reverse()}function yw(t){return xn(zh(t))}function Oe(t,e,r){let n;if(typeof e=="string")try{n=xn(e)}catch(o){throw new Error(`${t} must be valid hex string, got "${e}". Cause: ${o}`)}else if(gs(e))n=Uint8Array.from(e);else throw new Error(`${t} must be hex string or Uint8Array`);let i=n.length;if(typeof r=="number"&&i!==r)throw new Error(`${t} expected ${r} bytes, got ${i}`);return n}function br(...t){let e=new Uint8Array(t.reduce((n,i)=>n+i.length,0)),r=0;return t.forEach(n=>{if(!gs(n))throw new Error("Uint8Array expected");e.set(n,r),r+=n.length}),e}function gw(t,e){if(t.length!==e.length)return!1;for(let r=0;r<t.length;r++)if(t[r]!==e[r])return!1;return!0}function xw(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function Ew(t){let e;for(e=0;t>Hh;t>>=ys,e+=1);return e}function ww(t,e){return t>>BigInt(e)&ys}var bw=(t,e,r)=>t|(r?ys:Hh)<<BigInt(e),to=t=>(pw<<BigInt(t-1))-ys,Yc=t=>new Uint8Array(t),$h=t=>Uint8Array.from(t);function Qc(t,e,r){if(typeof t!="number"||t<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");if(typeof r!="function")throw new Error("hmacFn must be a function");let n=Yc(t),i=Yc(t),o=0,s=()=>{n.fill(1),i.fill(0),o=0},a=(...f)=>r(i,n,...f),c=(f=Yc())=>{i=a($h([0]),f),n=a(),f.length!==0&&(i=a($h([1]),f),n=a())},u=()=>{if(o++>=1e3)throw new Error("drbg: tried 1000 values");let f=0,h=[];for(;f<e;){n=a();let p=n.slice();h.push(p),f+=n.length}return br(...h)};return(f,h)=>{s(),c(f);let p;for(;!(p=h(u()));)c();return s(),p}}var vw={bigint:t=>typeof t=="bigint",function:t=>typeof t=="function",boolean:t=>typeof t=="boolean",string:t=>typeof t=="string",stringOrUint8Array:t=>typeof t=="string"||t instanceof Uint8Array,isSafeInteger:t=>Number.isSafeInteger(t),array:t=>Array.isArray(t),field:(t,e)=>e.Fp.isValid(t),hash:t=>typeof t=="function"&&Number.isSafeInteger(t.outputLen)};function ir(t,e,r={}){let n=(i,o,s)=>{let a=vw[o];if(typeof a!="function")throw new Error(`Invalid validator "${o}", expected function`);let c=t[i];if(!(s&&c===void 0)&&!a(c,t))throw new Error(`Invalid param ${String(i)}=${c} (${typeof c}), expected ${o}`)};for(let[i,o]of Object.entries(e))n(i,o,!1);for(let[i,o]of Object.entries(r))n(i,o,!0);return t}var Ge=BigInt(0),Re=BigInt(1),wn=BigInt(2),_w=BigInt(3),Xc=BigInt(4),Gh=BigInt(5),Yh=BigInt(8),Aw=BigInt(9),Sw=BigInt(16);function Ee(t,e){let r=t%e;return r>=Ge?r:e+r}function Iw(t,e,r){if(r<=Ge||e<Ge)throw new Error("Expected power/modulo > 0");if(r===Re)return Ge;let n=Re;for(;e>Ge;)e&Re&&(n=n*t%r),t=t*t%r,e>>=Re;return n}function Ce(t,e,r){let n=t;for(;e-- >Ge;)n*=n,n%=r;return n}function Es(t,e){if(t===Ge||e<=Ge)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=Ee(t,e),n=e,i=Ge,o=Re,s=Re,a=Ge;for(;r!==Ge;){let u=n/r,l=n%r,f=i-s*u,h=o-a*u;n=r,r=l,i=s,o=a,s=f,a=h}if(n!==Re)throw new Error("invert: does not exist");return Ee(i,e)}function Rw(t){let e=(t-Re)/wn,r,n,i;for(r=t-Re,n=0;r%wn===Ge;r/=wn,n++);for(i=wn;i<t&&Iw(i,e,t)!==t-Re;i++);if(n===1){let s=(t+Re)/Xc;return function(c,u){let l=c.pow(u,s);if(!c.eql(c.sqr(l),u))throw new Error("Cannot find square root");return l}}let o=(r+Re)/wn;return function(a,c){if(a.pow(c,e)===a.neg(a.ONE))throw new Error("Cannot find square root");let u=n,l=a.pow(a.mul(a.ONE,i),r),f=a.pow(c,o),h=a.pow(c,r);for(;!a.eql(h,a.ONE);){if(a.eql(h,a.ZERO))return a.ZERO;let p=1;for(let m=a.sqr(h);p<u&&!a.eql(m,a.ONE);p++)m=a.sqr(m);let d=a.pow(l,Re<<BigInt(u-p-1));l=a.sqr(d),f=a.mul(f,d),h=a.mul(h,l),u=p}return f}}function Cw(t){if(t%Xc===_w){let e=(t+Re)/Xc;return function(n,i){let o=n.pow(i,e);if(!n.eql(n.sqr(o),i))throw new Error("Cannot find square root");return o}}if(t%Yh===Gh){let e=(t-Gh)/Yh;return function(n,i){let o=n.mul(i,wn),s=n.pow(o,e),a=n.mul(i,s),c=n.mul(n.mul(a,wn),s),u=n.mul(a,n.sub(c,n.ONE));if(!n.eql(n.sqr(u),i))throw new Error("Cannot find square root");return u}}return t%Sw,Rw(t)}var Wh=(t,e)=>(Ee(t,e)&Re)===Re,Tw=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Zc(t){let e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},r=Tw.reduce((n,i)=>(n[i]="function",n),e);return ir(t,r)}function Bw(t,e,r){if(r<Ge)throw new Error("Expected power > 0");if(r===Ge)return t.ONE;if(r===Re)return e;let n=t.ONE,i=e;for(;r>Ge;)r&Re&&(n=t.mul(n,i)),i=t.sqr(i),r>>=Re;return n}function Lw(t,e){let r=new Array(e.length),n=e.reduce((o,s,a)=>t.is0(s)?o:(r[a]=o,t.mul(o,s)),t.ONE),i=t.inv(n);return e.reduceRight((o,s,a)=>t.is0(s)?o:(r[a]=t.mul(o,r[a]),t.mul(o,s)),i),r}function jc(t,e){let r=e!==void 0?e:t.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function ws(t,e,r=!1,n={}){if(t<=Ge)throw new Error(`Expected Field ORDER > 0, got ${t}`);let{nBitLength:i,nByteLength:o}=jc(t,e);if(o>2048)throw new Error("Field lengths over 2048 bytes are not supported");let s=Cw(t),a=Object.freeze({ORDER:t,BITS:i,BYTES:o,MASK:to(i),ZERO:Ge,ONE:Re,create:c=>Ee(c,t),isValid:c=>{if(typeof c!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof c}`);return Ge<=c&&c<t},is0:c=>c===Ge,isOdd:c=>(c&Re)===Re,neg:c=>Ee(-c,t),eql:(c,u)=>c===u,sqr:c=>Ee(c*c,t),add:(c,u)=>Ee(c+u,t),sub:(c,u)=>Ee(c-u,t),mul:(c,u)=>Ee(c*u,t),pow:(c,u)=>Bw(a,c,u),div:(c,u)=>Ee(c*Es(u,t),t),sqrN:c=>c*c,addN:(c,u)=>c+u,subN:(c,u)=>c-u,mulN:(c,u)=>c*u,inv:c=>Es(c,t),sqrt:n.sqrt||(c=>s(a,c)),invertBatch:c=>Lw(a,c),cmov:(c,u,l)=>l?u:c,toBytes:c=>r?En(c,o):Hr(c,o),fromBytes:c=>{if(c.length!==o)throw new Error(`Fp.fromBytes: expected ${o}, got ${c.length}`);return r?$r(c):wr(c)}});return Object.freeze(a)}function Qh(t,e){if(!t.isOdd)throw new Error("Field doesn't have isOdd");let r=t.sqrt(e);return t.isOdd(r)?t.neg(r):r}function Xh(t){if(typeof t!="bigint")throw new Error("field order must be bigint");let e=t.toString(2).length;return Math.ceil(e/8)}function Jc(t){let e=Xh(t);return e+Math.ceil(e/2)}function Zh(t,e,r=!1){let n=t.length,i=Xh(e),o=Jc(e);if(n<16||n<o||n>1024)throw new Error(`expected ${o}-1024 bytes of input, got ${n}`);let s=r?wr(t):$r(t),a=Ee(s,e-Re)+Re;return r?En(a,i):Hr(a,i)}var Dw=BigInt(0),eu=BigInt(1);function bs(t,e){let r=(i,o)=>{let s=o.negate();return i?s:o},n=i=>{let o=Math.ceil(e/i)+1,s=2**(i-1);return{windows:o,windowSize:s}};return{constTimeNegate:r,unsafeLadder(i,o){let s=t.ZERO,a=i;for(;o>Dw;)o&eu&&(s=s.add(a)),a=a.double(),o>>=eu;return s},precomputeWindow(i,o){let{windows:s,windowSize:a}=n(o),c=[],u=i,l=u;for(let f=0;f<s;f++){l=u,c.push(l);for(let h=1;h<a;h++)l=l.add(u),c.push(l);u=l.double()}return c},wNAF(i,o,s){let{windows:a,windowSize:c}=n(i),u=t.ZERO,l=t.BASE,f=BigInt(2**i-1),h=2**i,p=BigInt(i);for(let d=0;d<a;d++){let m=d*c,y=Number(s&f);s>>=p,y>c&&(y-=h,s+=eu);let g=m,x=m+Math.abs(y)-1,w=d%2!==0,C=y<0;y===0?l=l.add(r(w,o[g])):u=u.add(r(C,o[x]))}return{p:u,f:l}},wNAFCached(i,o,s,a){let c=i._WINDOW_SIZE||1,u=o.get(i);return u||(u=this.precomputeWindow(i,c),c!==1&&o.set(i,a(u))),this.wNAF(c,u,s)}}}function ro(t){return Zc(t.Fp),ir(t,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...jc(t.n,t.nBitLength),...t,p:t.Fp.ORDER})}var qt=BigInt(0),vt=BigInt(1),vs=BigInt(2),Nw=BigInt(8),kw={zip215:!0};function Ow(t){let e=ro(t);return ir(t,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...e})}function _s(t){let e=Ow(t),{Fp:r,n,prehash:i,hash:o,randomBytes:s,nByteLength:a,h:c}=e,u=vs<<BigInt(a*8)-vt,l=r.create,f=e.uvRatio||((N,I)=>{try{return{isValid:!0,value:r.sqrt(N*r.inv(I))}}catch{return{isValid:!1,value:qt}}}),h=e.adjustScalarBytes||(N=>N),p=e.domain||((N,I,K)=>{if(I.length||K)throw new Error("Contexts/pre-hash are not supported");return N}),d=N=>typeof N=="bigint"&&qt<N,m=(N,I)=>d(N)&&d(I)&&N<I,y=N=>N===qt||m(N,u);function g(N,I){if(m(N,I))return N;throw new Error(`Expected valid scalar < ${I}, got ${typeof N} ${N}`)}function x(N){return N===qt?N:g(N,n)}let w=new Map;function C(N){if(!(N instanceof _))throw new Error("ExtendedPoint expected")}class _{constructor(I,K,V,Y){if(this.ex=I,this.ey=K,this.ez=V,this.et=Y,!y(I))throw new Error("x required");if(!y(K))throw new Error("y required");if(!y(V))throw new Error("z required");if(!y(Y))throw new Error("t required")}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(I){if(I instanceof _)throw new Error("extended point not allowed");let{x:K,y:V}=I||{};if(!y(K)||!y(V))throw new Error("invalid affine point");return new _(K,V,vt,l(K*V))}static normalizeZ(I){let K=r.invertBatch(I.map(V=>V.ez));return I.map((V,Y)=>V.toAffine(K[Y])).map(_.fromAffine)}_setWindowSize(I){this._WINDOW_SIZE=I,w.delete(this)}assertValidity(){let{a:I,d:K}=e;if(this.is0())throw new Error("bad point: ZERO");let{ex:V,ey:Y,ez:ee,et:oe}=this,me=l(V*V),se=l(Y*Y),fe=l(ee*ee),Ve=l(fe*fe),Ne=l(me*I),nt=l(fe*l(Ne+se)),it=l(Ve+l(K*l(me*se)));if(nt!==it)throw new Error("bad point: equation left != right (1)");let ze=l(V*Y),ft=l(ee*oe);if(ze!==ft)throw new Error("bad point: equation left != right (2)")}equals(I){C(I);let{ex:K,ey:V,ez:Y}=this,{ex:ee,ey:oe,ez:me}=I,se=l(K*me),fe=l(ee*Y),Ve=l(V*me),Ne=l(oe*Y);return se===fe&&Ve===Ne}is0(){return this.equals(_.ZERO)}negate(){return new _(l(-this.ex),this.ey,this.ez,l(-this.et))}double(){let{a:I}=e,{ex:K,ey:V,ez:Y}=this,ee=l(K*K),oe=l(V*V),me=l(vs*l(Y*Y)),se=l(I*ee),fe=K+V,Ve=l(l(fe*fe)-ee-oe),Ne=se+oe,nt=Ne-me,it=se-oe,ze=l(Ve*nt),ft=l(Ne*it),dr=l(Ve*it),cn=l(nt*Ne);return new _(ze,ft,cn,dr)}add(I){C(I);let{a:K,d:V}=e,{ex:Y,ey:ee,ez:oe,et:me}=this,{ex:se,ey:fe,ez:Ve,et:Ne}=I;if(K===BigInt(-1)){let Ff=l((ee-Y)*(fe+se)),Kf=l((ee+Y)*(fe-se)),Xa=l(Kf-Ff);if(Xa===qt)return this.double();let qf=l(oe*vs*Ne),Vf=l(me*vs*Ve),$f=Vf+qf,Hf=Kf+Ff,zf=Vf-qf,jg=l($f*Xa),Jg=l(Hf*zf),e1=l($f*zf),t1=l(Xa*Hf);return new _(jg,Jg,t1,e1)}let nt=l(Y*se),it=l(ee*fe),ze=l(me*V*Ne),ft=l(oe*Ve),dr=l((Y+ee)*(se+fe)-nt-it),cn=ft-ze,$i=ft+ze,Uf=l(it-K*nt),Wg=l(dr*cn),Qg=l($i*Uf),Xg=l(dr*Uf),Zg=l(cn*$i);return new _(Wg,Qg,Zg,Xg)}subtract(I){return this.add(I.negate())}wNAF(I){return D.wNAFCached(this,w,I,_.normalizeZ)}multiply(I){let{p:K,f:V}=this.wNAF(g(I,n));return _.normalizeZ([K,V])[0]}multiplyUnsafe(I){let K=x(I);return K===qt?P:this.equals(P)||K===vt?this:this.equals(A)?this.wNAF(K).p:D.unsafeLadder(this,K)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return D.unsafeLadder(this,n).is0()}toAffine(I){let{ex:K,ey:V,ez:Y}=this,ee=this.is0();I==null&&(I=ee?Nw:r.inv(Y));let oe=l(K*I),me=l(V*I),se=l(Y*I);if(ee)return{x:qt,y:vt};if(se!==vt)throw new Error("invZ was invalid");return{x:oe,y:me}}clearCofactor(){let{h:I}=e;return I===vt?this:this.multiplyUnsafe(I)}static fromHex(I,K=!1){let{d:V,a:Y}=e,ee=r.BYTES;I=Oe("pointHex",I,ee);let oe=I.slice(),me=I[ee-1];oe[ee-1]=me&-129;let se=$r(oe);se===qt||(K?g(se,u):g(se,r.ORDER));let fe=l(se*se),Ve=l(fe-vt),Ne=l(V*fe-Y),{isValid:nt,value:it}=f(Ve,Ne);if(!nt)throw new Error("Point.fromHex: invalid y coordinate");let ze=(it&vt)===vt,ft=(me&128)!==0;if(!K&&it===qt&&ft)throw new Error("Point.fromHex: x=0 and x_0=1");return ft!==ze&&(it=l(-it)),_.fromAffine({x:it,y:se})}static fromPrivateKey(I){return z(I).point}toRawBytes(){let{x:I,y:K}=this.toAffine(),V=En(K,r.BYTES);return V[V.length-1]|=I&vt?128:0,V}toHex(){return Er(this.toRawBytes())}}_.BASE=new _(e.Gx,e.Gy,vt,l(e.Gx*e.Gy)),_.ZERO=new _(qt,vt,vt,qt);let{BASE:A,ZERO:P}=_,D=bs(_,a*8);function W(N){return Ee(N,n)}function Q(N){return W($r(N))}function z(N){let I=a;N=Oe("private key",N,I);let K=Oe("hashed private key",o(N),2*I),V=h(K.slice(0,I)),Y=K.slice(I,2*I),ee=Q(V),oe=A.multiply(ee),me=oe.toRawBytes();return{head:V,prefix:Y,scalar:ee,point:oe,pointBytes:me}}function ne(N){return z(N).pointBytes}function ge(N=new Uint8Array,...I){let K=br(...I);return Q(o(p(K,Oe("context",N),!!i)))}function rt(N,I,K={}){N=Oe("message",N),i&&(N=i(N));let{prefix:V,scalar:Y,pointBytes:ee}=z(I),oe=ge(K.context,V,N),me=A.multiply(oe).toRawBytes(),se=ge(K.context,me,ee,N),fe=W(oe+se*Y);x(fe);let Ve=br(me,En(fe,r.BYTES));return Oe("result",Ve,a*2)}let T=kw;function k(N,I,K,V=T){let{context:Y,zip215:ee}=V,oe=r.BYTES;N=Oe("signature",N,2*oe),I=Oe("message",I),i&&(I=i(I));let me=$r(N.slice(oe,2*oe)),se,fe,Ve;try{se=_.fromHex(K,ee),fe=_.fromHex(N.slice(0,oe),ee),Ve=A.multiplyUnsafe(me)}catch{return!1}if(!ee&&se.isSmallOrder())return!1;let Ne=ge(Y,fe.toRawBytes(),se.toRawBytes(),I);return fe.add(se.multiplyUnsafe(Ne)).subtract(Ve).clearCofactor().equals(_.ZERO)}return A._setWindowSize(8),{CURVE:e,getPublicKey:ne,sign:rt,verify:k,ExtendedPoint:_,utils:{getExtendedPublicKey:z,randomPrivateKey:()=>s(r.BYTES),precompute(N=8,I=_.BASE){return I._setWindowSize(N),I.multiply(BigInt(3)),I}}}}var ru=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),jh=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),qI=BigInt(0),Mw=BigInt(1),tu=BigInt(2),Uw=BigInt(5),Jh=BigInt(10),Fw=BigInt(20),Kw=BigInt(40),ed=BigInt(80);function qw(t){let e=ru,n=t*t%e*t%e,i=Ce(n,tu,e)*n%e,o=Ce(i,Mw,e)*t%e,s=Ce(o,Uw,e)*o%e,a=Ce(s,Jh,e)*s%e,c=Ce(a,Fw,e)*a%e,u=Ce(c,Kw,e)*c%e,l=Ce(u,ed,e)*u%e,f=Ce(l,ed,e)*u%e,h=Ce(f,Jh,e)*s%e;return{pow_p_5_8:Ce(h,tu,e)*t%e,b2:n}}function Vw(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}function $w(t,e){let r=ru,n=Ee(e*e*e,r),i=Ee(n*n*e,r),o=qw(t*i).pow_p_5_8,s=Ee(t*n*o,r),a=Ee(e*s*s,r),c=s,u=Ee(s*jh,r),l=a===t,f=a===Ee(-t,r),h=a===Ee(-t*jh,r);return l&&(s=c),(f||h)&&(s=u),Wh(s,r)&&(s=Ee(-s,r)),{isValid:l||f,value:s}}var vr=ws(ru,void 0,!0),nu={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:vr,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:Gc,randomBytes:ci,adjustScalarBytes:Vw,uvRatio:$w},li=_s(nu);function td(t,e,r){if(e.length>255)throw new Error("Context is too big");return ds($c("SigEd25519 no Ed25519 collisions"),new Uint8Array([r?1:0,e.length]),e,t)}var VI=_s({...nu,domain:td}),$I=_s({...nu,domain:td,prehash:Gc});var Hw=(vr.ORDER+BigInt(3))/BigInt(8),HI=vr.pow(tu,Hw),zI=vr.sqrt(vr.neg(vr.ONE)),GI=(vr.ORDER-BigInt(5))/BigInt(8),YI=BigInt(486662);var WI=Qh(vr,vr.neg(BigInt(486664)));var QI=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),XI=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),ZI=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),jI=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952");var JI=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");var fi=32,_r=64,As=32;async function rd(){let t=li.utils.randomPrivateKey(),e=li.getPublicKey(t);return{privateKey:sd(t,e),publicKey:e}}async function nd(t){if(t.length!==As)throw new TypeError('"seed" must be 32 bytes in length.');if(!(t instanceof Uint8Array))throw new TypeError('"seed" must be a node.js Buffer, or Uint8Array.');let e=t,r=li.getPublicKey(e);return{privateKey:sd(e,r),publicKey:r}}async function id(t,e){let r=t.subarray(0,As);return li.sign(e,r)}async function od(t,e,r){return li.verify(e,r,t)}function sd(t,e){let r=new Uint8Array(_r);for(let n=0;n<As;n++)r[n]=t[n],r[As+n]=e[n];return r}function Ue(t,e){e==null&&(e=t.reduce((i,o)=>i+o.length,0));let r=Ft(e),n=0;for(let i of t)r.set(i,n),n+=i.length;return pn(r)}var xt={get(t=globalThis){let e=t.crypto;if(e==null||e.subtle==null)throw Object.assign(new Error("Missing Web Crypto API. The most likely cause of this error is that this page is being accessed from an insecure context (i.e. not HTTPS). For more information and possible resolutions see https://github.com/libp2p/js-libp2p-crypto/blob/master/README.md#web-crypto-api"),{code:"ERR_MISSING_WEB_CRYPTO"});return e}};var iu={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function Ss(t){let e=t?.algorithm??"AES-GCM",r=t?.keyLength??16,n=t?.nonceLength??12,i=t?.digest??"SHA-256",o=t?.saltLength??16,s=t?.iterations??32767,a=xt.get();r*=8;async function c(f,h){let p=a.getRandomValues(new Uint8Array(o)),d=a.getRandomValues(new Uint8Array(n)),m={name:e,iv:d};typeof h=="string"&&(h=G(h));let y;if(h.length===0){y=await a.subtle.importKey("jwk",iu,{name:"AES-GCM"},!0,["encrypt"]);try{let x={name:"PBKDF2",salt:p,iterations:s,hash:{name:i}},w=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(x,w,{name:e,length:r},!0,["encrypt"])}catch{y=await a.subtle.importKey("jwk",iu,{name:"AES-GCM"},!0,["encrypt"])}}else{let x={name:"PBKDF2",salt:p,iterations:s,hash:{name:i}},w=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(x,w,{name:e,length:r},!0,["encrypt"])}let g=await a.subtle.encrypt(m,y,f);return Ue([p,m.iv,new Uint8Array(g)])}async function u(f,h){let p=f.subarray(0,o),d=f.subarray(o,o+n),m=f.subarray(o+n),y={name:e,iv:d};typeof h=="string"&&(h=G(h));let g;if(h.length===0)try{let w={name:"PBKDF2",salt:p,iterations:s,hash:{name:i}},C=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(w,C,{name:e,length:r},!0,["decrypt"])}catch{g=await a.subtle.importKey("jwk",iu,{name:"AES-GCM"},!0,["decrypt"])}else{let w={name:"PBKDF2",salt:p,iterations:s,hash:{name:i}},C=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(w,C,{name:e,length:r},!0,["decrypt"])}let x=await a.subtle.decrypt(y,g,m);return new Uint8Array(x)}return{encrypt:c,decrypt:u}}async function hi(t,e){let n=await Ss().encrypt(t,e);return mn.encode(n)}var gu=te(uu(),1),Wd=te(Kd(),1),Qd=te(vn(),1),xu=te(yu(),1),Xd=te(Yd(),1);function eb(){Qd.default._configure(),gu.default._configure(Wd.default),xu.default._configure(Xd.default)}eb();var Zd=["uint64","int64","sint64","fixed64","sfixed64"];function tb(t){for(let e of Zd){if(t[e]==null)continue;let r=t[e];t[e]=function(){return BigInt(r.call(this).toString())}}return t}function Eu(t){return tb(new gu.default(t))}function rb(t){for(let e of Zd){if(t[e]==null)continue;let r=t[e];t[e]=function(n){return r.call(this,n.toString())}}return t}function wu(){return rb(xu.default.create())}function st(t,e){let r=Eu(t instanceof Uint8Array?t:t.subarray());return e.decode(r)}function at(t,e){let r=wu();return e.encode(t,r,{lengthDelimited:!1}),r.finish()}var pi;(function(t){t[t.VARINT=0]="VARINT",t[t.BIT64=1]="BIT64",t[t.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",t[t.START_GROUP=3]="START_GROUP",t[t.END_GROUP=4]="END_GROUP",t[t.BIT32=5]="BIT32"})(pi||(pi={}));function Bs(t,e,r,n){return{name:t,type:e,encode:r,decode:n}}function bu(t){function e(i){if(t[i.toString()]==null)throw new Error("Invalid enum value");return t[i]}let r=function(o,s){let a=e(o);s.int32(a)},n=function(o){let s=o.int32();return e(s)};return Bs("enum",pi.VARINT,r,n)}function ct(t,e){return Bs("message",pi.LENGTH_DELIMITED,t,e)}var Te;(function(t){t.RSA="RSA",t.Ed25519="Ed25519",t.Secp256k1="Secp256k1"})(Te||(Te={}));var vu;(function(t){t[t.RSA=0]="RSA",t[t.Ed25519=1]="Ed25519",t[t.Secp256k1=2]="Secp256k1"})(vu||(vu={}));(function(t){t.codec=()=>bu(vu)})(Te||(Te={}));var sr;(function(t){let e;t.codec=()=>(e==null&&(e=ct((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),Te.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.Type=Te.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>at(r,t.codec()),t.decode=r=>st(r,t.codec())})(sr||(sr={}));var ar;(function(t){let e;t.codec=()=>(e==null&&(e=ct((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),Te.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.Type=Te.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>at(r,t.codec()),t.decode=r=>st(r,t.codec())})(ar||(ar={}));var oo=class{_key;constructor(e){this._key=mi(e,fi)}async verify(e,r){return od(this._key,r,e)}marshal(){return this._key}get bytes(){return sr.encode({Type:Te.Ed25519,Data:this.marshal()}).subarray()}equals(e){return Pe(this.bytes,e.bytes)}async hash(){let{bytes:e}=await ot.digest(this.bytes);return e}},An=class{_key;_publicKey;constructor(e,r){this._key=mi(e,_r),this._publicKey=mi(r,fi)}async sign(e){return id(this._key,e)}get public(){return new oo(this._publicKey)}marshal(){return this._key}get bytes(){return ar.encode({Type:Te.Ed25519,Data:this.marshal()}).subarray()}equals(e){return Pe(this.bytes,e.bytes)}async hash(){let{bytes:e}=await ot.digest(this.bytes);return e}async id(){let e=Fr.digest(this.public.bytes);return Le.encode(e.bytes).substring(1)}async export(e,r="libp2p-key"){if(r==="libp2p-key")return hi(this.bytes,e);throw new b(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function nb(t){if(t.length>_r){t=mi(t,_r+fi);let n=t.subarray(0,_r),i=t.subarray(_r,t.length);return new An(n,i)}t=mi(t,_r);let e=t.subarray(0,_r),r=t.subarray(fi);return new An(e,r)}function ib(t){return t=mi(t,fi),new oo(t)}async function ob(){let{privateKey:t,publicKey:e}=await rd();return new An(t,e)}async function jd(t){let{privateKey:e,publicKey:r}=await nd(t);return new An(e,r)}function mi(t,e){if(t=Uint8Array.from(t??[]),t.length!==e)throw new b(`Key must be a Uint8Array of length ${e}, got ${t.length}`,"ERR_INVALID_KEY_TYPE");return t}function Z(t,e="utf8"){let r=ls[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("utf8"):r.encoder.encode(t).substring(1)}var WR=te(Me(),1),QR=te(os(),1),Jd=te(ye(),1);function zt(t,e){let r=Uint8Array.from(t.abs().toByteArray());if(r=r[0]===0?r.subarray(1):r,e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=Ue([new Uint8Array(e-r.length),r])}return Z(r,"base64url")}function _t(t){let e=ep(t);return new Jd.default.jsbn.BigInteger(Z(e,"base16"),16)}function ep(t,e){let r=G(t,"base64urlpad");if(e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=Ue([new Uint8Array(e-r.length),r])}return r}var sb={"P-256":256,"P-384":384,"P-521":521},ab=Object.keys(sb),s4=ab.join(" / ");async function tp(t,e){let r=mn.decode(t);return Ss().decrypt(r,e)}var Cu={};We(Cu,{MAX_KEY_SIZE:()=>uo,RsaPrivateKey:()=>yi,RsaPublicKey:()=>co,fromJwk:()=>gb,generateKeyPair:()=>xb,unmarshalRsaPrivateKey:()=>mb,unmarshalRsaPublicKey:()=>yb});var ao=te(ye(),1);var H4=te(ap(),1);function In(t){if(isNaN(t)||t<=0)throw new b("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return ci(t)}var I4=te(cs(),1),Iu=te(ye(),1);function cp(t,e){return e.map(r=>_t(t[r]))}function up(t){return Iu.default.pki.setRsaPrivateKey(...cp(t,["n","e","d","p","q","dp","dq","qi"]))}function lp(t){return Iu.default.pki.setRsaPublicKey(...cp(t,["n","e"]))}var Rn={};We(Rn,{jwkToPkcs1:()=>lb,jwkToPkix:()=>hb,pkcs1ToJwk:()=>ub,pkixToJwk:()=>fb});var T4=te(Yi(),1),B4=te(cs(),1);var Ar=te(ye(),1);function ub(t){let e=Ar.default.asn1.fromDer(Z(t,"ascii")),r=Ar.default.pki.privateKeyFromAsn1(e);return{kty:"RSA",n:zt(r.n),e:zt(r.e),d:zt(r.d),p:zt(r.p),q:zt(r.q),dp:zt(r.dP),dq:zt(r.dQ),qi:zt(r.qInv),alg:"RS256"}}function lb(t){if(t.n==null||t.e==null||t.d==null||t.p==null||t.q==null||t.dp==null||t.dq==null||t.qi==null)throw new b("JWK was missing components","ERR_INVALID_PARAMETERS");let e=Ar.default.pki.privateKeyToAsn1({n:_t(t.n),e:_t(t.e),d:_t(t.d),p:_t(t.p),q:_t(t.q),dP:_t(t.dp),dQ:_t(t.dq),qInv:_t(t.qi)});return G(Ar.default.asn1.toDer(e).getBytes(),"ascii")}function fb(t){let e=Ar.default.asn1.fromDer(Z(t,"ascii")),r=Ar.default.pki.publicKeyFromAsn1(e);return{kty:"RSA",n:zt(r.n),e:zt(r.e)}}function hb(t){if(t.n==null||t.e==null)throw new b("JWK was missing components","ERR_INVALID_PARAMETERS");let e=Ar.default.pki.publicKeyToAsn1({n:_t(t.n),e:_t(t.e)});return G(Ar.default.asn1.toDer(e).getBytes(),"ascii")}async function fp(t){let e=await xt.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),r=await pp(e);return{privateKey:r[0],publicKey:r[1]}}async function Ru(t){let r=[await xt.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await db(t)],n=await pp({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function hp(t,e){let r=await xt.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await xt.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,Uint8Array.from(e));return new Uint8Array(n,0,n.byteLength)}async function dp(t,e,r){let n=await xt.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return xt.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,e,r)}async function pp(t){if(t.privateKey==null||t.publicKey==null)throw new b("Private and public key are required","ERR_INVALID_PARAMETERS");return Promise.all([xt.get().subtle.exportKey("jwk",t.privateKey),xt.get().subtle.exportKey("jwk",t.publicKey)])}async function db(t){return xt.get().subtle.importKey("jwk",{kty:t.kty,n:t.n,e:t.e},{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["verify"])}function mp(t,e,r,n){let i=e?lp(t):up(t),o=Z(Uint8Array.from(r),"ascii"),s=n(o,i);return G(s,"ascii")}function yp(t,e){return mp(t,!0,e,(r,n)=>n.encrypt(r))}function gp(t,e){return mp(t,!1,e,(r,n)=>n.decrypt(r))}function Ps(t){if(t.kty!=="RSA")throw new b("invalid key type","ERR_INVALID_KEY_TYPE");if(t.n==null)throw new b("invalid key modulus","ERR_INVALID_KEY_MODULUS");return G(t.n,"base64url").length*8}var uo=8192,co=class{_key;constructor(e){this._key=e}async verify(e,r){return dp(this._key,r,e)}marshal(){return Rn.jwkToPkix(this._key)}get bytes(){return sr.encode({Type:Te.RSA,Data:this.marshal()}).subarray()}encrypt(e){return yp(this._key,e)}equals(e){return Pe(this.bytes,e.bytes)}async hash(){let{bytes:e}=await ot.digest(this.bytes);return e}},yi=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r}genSecret(){return In(16)}async sign(e){return hp(this._key,e)}get public(){if(this._publicKey==null)throw new b("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new co(this._publicKey)}decrypt(e){return gp(this._key,e)}marshal(){return Rn.jwkToPkcs1(this._key)}get bytes(){return ar.encode({Type:Te.RSA,Data:this.marshal()}).subarray()}equals(e){return Pe(this.bytes,e.bytes)}async hash(){let{bytes:e}=await ot.digest(this.bytes);return e}async id(){let e=await this.public.hash();return Z(e,"base58btc")}async export(e,r="pkcs-8"){if(r==="pkcs-8"){let n=new ao.default.util.ByteBuffer(this.marshal()),i=ao.default.asn1.fromDer(n),o=ao.default.pki.privateKeyFromAsn1(i),s={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return ao.default.pki.encryptRsaPrivateKey(o,e,s)}else{if(r==="libp2p-key")return hi(this.bytes,e);throw new b(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function mb(t){let e=Rn.pkcs1ToJwk(t);if(Ps(e)>uo)throw new b("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let r=await Ru(e);return new yi(r.privateKey,r.publicKey)}function yb(t){let e=Rn.pkixToJwk(t);if(Ps(e)>uo)throw new b("key size is too large","ERR_KEY_SIZE_TOO_LARGE");return new co(e)}async function gb(t){if(Ps(t)>uo)throw new b("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await Ru(t);return new yi(e.privateKey,e.publicKey)}async function xb(t){if(t>uo)throw new b("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await fp(t);return new yi(e.privateKey,e.publicKey)}var Nu={};We(Nu,{Secp256k1PrivateKey:()=>fo,Secp256k1PublicKey:()=>lo,generateKeyPair:()=>Db,unmarshalSecp256k1PrivateKey:()=>Lb,unmarshalSecp256k1PublicKey:()=>Pb});var Eb=(t,e,r)=>t&e^~t&r,wb=(t,e,r)=>t&e^t&r^e&r,bb=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Yr=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Wr=new Uint32Array(64),Tu=class extends ui{constructor(){super(64,32,8,!1),this.A=Yr[0]|0,this.B=Yr[1]|0,this.C=Yr[2]|0,this.D=Yr[3]|0,this.E=Yr[4]|0,this.F=Yr[5]|0,this.G=Yr[6]|0,this.H=Yr[7]|0}get(){let{A:e,B:r,C:n,D:i,E:o,F:s,G:a,H:c}=this;return[e,r,n,i,o,s,a,c]}set(e,r,n,i,o,s,a,c){this.A=e|0,this.B=r|0,this.C=n|0,this.D=i|0,this.E=o|0,this.F=s|0,this.G=a|0,this.H=c|0}process(e,r){for(let f=0;f<16;f++,r+=4)Wr[f]=e.getUint32(r,!1);for(let f=16;f<64;f++){let h=Wr[f-15],p=Wr[f-2],d=Kt(h,7)^Kt(h,18)^h>>>3,m=Kt(p,17)^Kt(p,19)^p>>>10;Wr[f]=m+Wr[f-7]+d+Wr[f-16]|0}let{A:n,B:i,C:o,D:s,E:a,F:c,G:u,H:l}=this;for(let f=0;f<64;f++){let h=Kt(a,6)^Kt(a,11)^Kt(a,25),p=l+h+Eb(a,c,u)+bb[f]+Wr[f]|0,m=(Kt(n,2)^Kt(n,13)^Kt(n,22))+wb(n,i,o)|0;l=u,u=c,c=a,a=s+p|0,s=o,o=i,i=n,n=p+m|0}n=n+this.A|0,i=i+this.B|0,o=o+this.C|0,s=s+this.D|0,a=a+this.E|0,c=c+this.F|0,u=u+this.G|0,l=l+this.H|0,this.set(n,i,o,s,a,c,u,l)}roundClean(){Wr.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var xp=ps(()=>new Tu);function vb(t){let e=ro(t);ir(e,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:r,Fp:n,a:i}=e;if(r){if(!n.eql(i,n.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if(typeof r!="object"||typeof r.beta!="bigint"||typeof r.splitScalar!="function")throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...e})}var{bytesToNumberBE:_b,hexToBytes:Ab}=xs,Cn={Err:class extends Error{constructor(e=""){super(e)}},_parseInt(t){let{Err:e}=Cn;if(t.length<2||t[0]!==2)throw new e("Invalid signature integer tag");let r=t[1],n=t.subarray(2,r+2);if(!r||n.length!==r)throw new e("Invalid signature integer: wrong length");if(n[0]&128)throw new e("Invalid signature integer: negative");if(n[0]===0&&!(n[1]&128))throw new e("Invalid signature integer: unnecessary leading zero");return{d:_b(n),l:t.subarray(r+2)}},toSig(t){let{Err:e}=Cn,r=typeof t=="string"?Ab(t):t;if(!(r instanceof Uint8Array))throw new Error("ui8a expected");let n=r.length;if(n<2||r[0]!=48)throw new e("Invalid signature tag");if(r[1]!==n-2)throw new e("Invalid signature: incorrect length");let{d:i,l:o}=Cn._parseInt(r.subarray(2)),{d:s,l:a}=Cn._parseInt(o);if(a.length)throw new e("Invalid signature: left bytes after parsing");return{r:i,s}},hexFromSig(t){let e=u=>Number.parseInt(u[0],16)&8?"00"+u:u,r=u=>{let l=u.toString(16);return l.length&1?`0${l}`:l},n=e(r(t.s)),i=e(r(t.r)),o=n.length/2,s=i.length/2,a=r(o),c=r(s);return`30${r(s+o+4)}02${c}${i}02${a}${n}`}},Sr=BigInt(0),Dt=BigInt(1),J4=BigInt(2),Ep=BigInt(3),e8=BigInt(4);function Sb(t){let e=vb(t),{Fp:r}=e,n=e.toBytes||((d,m,y)=>{let g=m.toAffine();return br(Uint8Array.from([4]),r.toBytes(g.x),r.toBytes(g.y))}),i=e.fromBytes||(d=>{let m=d.subarray(1),y=r.fromBytes(m.subarray(0,r.BYTES)),g=r.fromBytes(m.subarray(r.BYTES,2*r.BYTES));return{x:y,y:g}});function o(d){let{a:m,b:y}=e,g=r.sqr(d),x=r.mul(g,d);return r.add(r.add(x,r.mul(d,m)),y)}if(!r.eql(r.sqr(e.Gy),o(e.Gx)))throw new Error("bad generator point: equation left != right");function s(d){return typeof d=="bigint"&&Sr<d&&d<e.n}function a(d){if(!s(d))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function c(d){let{allowedPrivateKeyLengths:m,nByteLength:y,wrapPrivateKey:g,n:x}=e;if(m&&typeof d!="bigint"){if(d instanceof Uint8Array&&(d=Er(d)),typeof d!="string"||!m.includes(d.length))throw new Error("Invalid key");d=d.padStart(y*2,"0")}let w;try{w=typeof d=="bigint"?d:wr(Oe("private key",d,y))}catch{throw new Error(`private key must be ${y} bytes, hex or bigint, not ${typeof d}`)}return g&&(w=Ee(w,x)),a(w),w}let u=new Map;function l(d){if(!(d instanceof f))throw new Error("ProjectivePoint expected")}class f{constructor(m,y,g){if(this.px=m,this.py=y,this.pz=g,m==null||!r.isValid(m))throw new Error("x required");if(y==null||!r.isValid(y))throw new Error("y required");if(g==null||!r.isValid(g))throw new Error("z required")}static fromAffine(m){let{x:y,y:g}=m||{};if(!m||!r.isValid(y)||!r.isValid(g))throw new Error("invalid affine point");if(m instanceof f)throw new Error("projective point not allowed");let x=w=>r.eql(w,r.ZERO);return x(y)&&x(g)?f.ZERO:new f(y,g,r.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(m){let y=r.invertBatch(m.map(g=>g.pz));return m.map((g,x)=>g.toAffine(y[x])).map(f.fromAffine)}static fromHex(m){let y=f.fromAffine(i(Oe("pointHex",m)));return y.assertValidity(),y}static fromPrivateKey(m){return f.BASE.multiply(c(m))}_setWindowSize(m){this._WINDOW_SIZE=m,u.delete(this)}assertValidity(){if(this.is0()){if(e.allowInfinityPoint&&!r.is0(this.py))return;throw new Error("bad point: ZERO")}let{x:m,y}=this.toAffine();if(!r.isValid(m)||!r.isValid(y))throw new Error("bad point: x or y not FE");let g=r.sqr(y),x=o(m);if(!r.eql(g,x))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:m}=this.toAffine();if(r.isOdd)return!r.isOdd(m);throw new Error("Field doesn't support isOdd")}equals(m){l(m);let{px:y,py:g,pz:x}=this,{px:w,py:C,pz:_}=m,A=r.eql(r.mul(y,_),r.mul(w,x)),P=r.eql(r.mul(g,_),r.mul(C,x));return A&&P}negate(){return new f(this.px,r.neg(this.py),this.pz)}double(){let{a:m,b:y}=e,g=r.mul(y,Ep),{px:x,py:w,pz:C}=this,_=r.ZERO,A=r.ZERO,P=r.ZERO,D=r.mul(x,x),W=r.mul(w,w),Q=r.mul(C,C),z=r.mul(x,w);return z=r.add(z,z),P=r.mul(x,C),P=r.add(P,P),_=r.mul(m,P),A=r.mul(g,Q),A=r.add(_,A),_=r.sub(W,A),A=r.add(W,A),A=r.mul(_,A),_=r.mul(z,_),P=r.mul(g,P),Q=r.mul(m,Q),z=r.sub(D,Q),z=r.mul(m,z),z=r.add(z,P),P=r.add(D,D),D=r.add(P,D),D=r.add(D,Q),D=r.mul(D,z),A=r.add(A,D),Q=r.mul(w,C),Q=r.add(Q,Q),D=r.mul(Q,z),_=r.sub(_,D),P=r.mul(Q,W),P=r.add(P,P),P=r.add(P,P),new f(_,A,P)}add(m){l(m);let{px:y,py:g,pz:x}=this,{px:w,py:C,pz:_}=m,A=r.ZERO,P=r.ZERO,D=r.ZERO,W=e.a,Q=r.mul(e.b,Ep),z=r.mul(y,w),ne=r.mul(g,C),ge=r.mul(x,_),rt=r.add(y,g),T=r.add(w,C);rt=r.mul(rt,T),T=r.add(z,ne),rt=r.sub(rt,T),T=r.add(y,x);let k=r.add(w,_);return T=r.mul(T,k),k=r.add(z,ge),T=r.sub(T,k),k=r.add(g,x),A=r.add(C,_),k=r.mul(k,A),A=r.add(ne,ge),k=r.sub(k,A),D=r.mul(W,T),A=r.mul(Q,ge),D=r.add(A,D),A=r.sub(ne,D),D=r.add(ne,D),P=r.mul(A,D),ne=r.add(z,z),ne=r.add(ne,z),ge=r.mul(W,ge),T=r.mul(Q,T),ne=r.add(ne,ge),ge=r.sub(z,ge),ge=r.mul(W,ge),T=r.add(T,ge),z=r.mul(ne,T),P=r.add(P,z),z=r.mul(k,T),A=r.mul(rt,A),A=r.sub(A,z),z=r.mul(rt,ne),D=r.mul(k,D),D=r.add(D,z),new f(A,P,D)}subtract(m){return this.add(m.negate())}is0(){return this.equals(f.ZERO)}wNAF(m){return p.wNAFCached(this,u,m,y=>{let g=r.invertBatch(y.map(x=>x.pz));return y.map((x,w)=>x.toAffine(g[w])).map(f.fromAffine)})}multiplyUnsafe(m){let y=f.ZERO;if(m===Sr)return y;if(a(m),m===Dt)return this;let{endo:g}=e;if(!g)return p.unsafeLadder(this,m);let{k1neg:x,k1:w,k2neg:C,k2:_}=g.splitScalar(m),A=y,P=y,D=this;for(;w>Sr||_>Sr;)w&Dt&&(A=A.add(D)),_&Dt&&(P=P.add(D)),D=D.double(),w>>=Dt,_>>=Dt;return x&&(A=A.negate()),C&&(P=P.negate()),P=new f(r.mul(P.px,g.beta),P.py,P.pz),A.add(P)}multiply(m){a(m);let y=m,g,x,{endo:w}=e;if(w){let{k1neg:C,k1:_,k2neg:A,k2:P}=w.splitScalar(y),{p:D,f:W}=this.wNAF(_),{p:Q,f:z}=this.wNAF(P);D=p.constTimeNegate(C,D),Q=p.constTimeNegate(A,Q),Q=new f(r.mul(Q.px,w.beta),Q.py,Q.pz),g=D.add(Q),x=W.add(z)}else{let{p:C,f:_}=this.wNAF(y);g=C,x=_}return f.normalizeZ([g,x])[0]}multiplyAndAddUnsafe(m,y,g){let x=f.BASE,w=(_,A)=>A===Sr||A===Dt||!_.equals(x)?_.multiplyUnsafe(A):_.multiply(A),C=w(this,y).add(w(m,g));return C.is0()?void 0:C}toAffine(m){let{px:y,py:g,pz:x}=this,w=this.is0();m==null&&(m=w?r.ONE:r.inv(x));let C=r.mul(y,m),_=r.mul(g,m),A=r.mul(x,m);if(w)return{x:r.ZERO,y:r.ZERO};if(!r.eql(A,r.ONE))throw new Error("invZ was invalid");return{x:C,y:_}}isTorsionFree(){let{h:m,isTorsionFree:y}=e;if(m===Dt)return!0;if(y)return y(f,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:m,clearCofactor:y}=e;return m===Dt?this:y?y(f,this):this.multiplyUnsafe(e.h)}toRawBytes(m=!0){return this.assertValidity(),n(f,this,m)}toHex(m=!0){return Er(this.toRawBytes(m))}}f.BASE=new f(e.Gx,e.Gy,r.ONE),f.ZERO=new f(r.ZERO,r.ONE,r.ZERO);let h=e.nBitLength,p=bs(f,e.endo?Math.ceil(h/2):h);return{CURVE:e,ProjectivePoint:f,normPrivateKeyToScalar:c,weierstrassEquation:o,isWithinCurveOrder:s}}function Ib(t){let e=ro(t);return ir(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}function wp(t){let e=Ib(t),{Fp:r,n}=e,i=r.BYTES+1,o=2*r.BYTES+1;function s(T){return Sr<T&&T<r.ORDER}function a(T){return Ee(T,n)}function c(T){return Es(T,n)}let{ProjectivePoint:u,normPrivateKeyToScalar:l,weierstrassEquation:f,isWithinCurveOrder:h}=Sb({...e,toBytes(T,k,L){let N=k.toAffine(),I=r.toBytes(N.x),K=br;return L?K(Uint8Array.from([k.hasEvenY()?2:3]),I):K(Uint8Array.from([4]),I,r.toBytes(N.y))},fromBytes(T){let k=T.length,L=T[0],N=T.subarray(1);if(k===i&&(L===2||L===3)){let I=wr(N);if(!s(I))throw new Error("Point is not on curve");let K=f(I),V=r.sqrt(K),Y=(V&Dt)===Dt;return(L&1)===1!==Y&&(V=r.neg(V)),{x:I,y:V}}else if(k===o&&L===4){let I=r.fromBytes(N.subarray(0,r.BYTES)),K=r.fromBytes(N.subarray(r.BYTES,2*r.BYTES));return{x:I,y:K}}else throw new Error(`Point of length ${k} was invalid. Expected ${i} compressed bytes or ${o} uncompressed bytes`)}}),p=T=>Er(Hr(T,e.nByteLength));function d(T){let k=n>>Dt;return T>k}function m(T){return d(T)?a(-T):T}let y=(T,k,L)=>wr(T.slice(k,L));class g{constructor(k,L,N){this.r=k,this.s=L,this.recovery=N,this.assertValidity()}static fromCompact(k){let L=e.nByteLength;return k=Oe("compactSignature",k,L*2),new g(y(k,0,L),y(k,L,2*L))}static fromDER(k){let{r:L,s:N}=Cn.toSig(Oe("DER",k));return new g(L,N)}assertValidity(){if(!h(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!h(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(k){return new g(this.r,this.s,k)}recoverPublicKey(k){let{r:L,s:N,recovery:I}=this,K=P(Oe("msgHash",k));if(I==null||![0,1,2,3].includes(I))throw new Error("recovery id invalid");let V=I===2||I===3?L+e.n:L;if(V>=r.ORDER)throw new Error("recovery id 2 or 3 invalid");let Y=I&1?"03":"02",ee=u.fromHex(Y+p(V)),oe=c(V),me=a(-K*oe),se=a(N*oe),fe=u.BASE.multiplyAndAddUnsafe(ee,me,se);if(!fe)throw new Error("point at infinify");return fe.assertValidity(),fe}hasHighS(){return d(this.s)}normalizeS(){return this.hasHighS()?new g(this.r,a(-this.s),this.recovery):this}toDERRawBytes(){return xn(this.toDERHex())}toDERHex(){return Cn.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return xn(this.toCompactHex())}toCompactHex(){return p(this.r)+p(this.s)}}let x={isValidPrivateKey(T){try{return l(T),!0}catch{return!1}},normPrivateKeyToScalar:l,randomPrivateKey:()=>{let T=Jc(e.n);return Zh(e.randomBytes(T),e.n)},precompute(T=8,k=u.BASE){return k._setWindowSize(T),k.multiply(BigInt(3)),k}};function w(T,k=!0){return u.fromPrivateKey(T).toRawBytes(k)}function C(T){let k=T instanceof Uint8Array,L=typeof T=="string",N=(k||L)&&T.length;return k?N===i||N===o:L?N===2*i||N===2*o:T instanceof u}function _(T,k,L=!0){if(C(T))throw new Error("first arg must be private key");if(!C(k))throw new Error("second arg must be public key");return u.fromHex(k).multiply(l(T)).toRawBytes(L)}let A=e.bits2int||function(T){let k=wr(T),L=T.length*8-e.nBitLength;return L>0?k>>BigInt(L):k},P=e.bits2int_modN||function(T){return a(A(T))},D=to(e.nBitLength);function W(T){if(typeof T!="bigint")throw new Error("bigint expected");if(!(Sr<=T&&T<D))throw new Error(`bigint expected < 2^${e.nBitLength}`);return Hr(T,e.nByteLength)}function Q(T,k,L=z){if(["recovered","canonical"].some(Ne=>Ne in L))throw new Error("sign() legacy options not supported");let{hash:N,randomBytes:I}=e,{lowS:K,prehash:V,extraEntropy:Y}=L;K==null&&(K=!0),T=Oe("msgHash",T),V&&(T=Oe("prehashed msgHash",N(T)));let ee=P(T),oe=l(k),me=[W(oe),W(ee)];if(Y!=null){let Ne=Y===!0?I(r.BYTES):Y;me.push(Oe("extraEntropy",Ne))}let se=br(...me),fe=ee;function Ve(Ne){let nt=A(Ne);if(!h(nt))return;let it=c(nt),ze=u.BASE.multiply(nt).toAffine(),ft=a(ze.x);if(ft===Sr)return;let dr=a(it*a(fe+ft*oe));if(dr===Sr)return;let cn=(ze.x===ft?0:2)|Number(ze.y&Dt),$i=dr;return K&&d(dr)&&($i=m(dr),cn^=1),new g(ft,$i,cn)}return{seed:se,k2sig:Ve}}let z={lowS:e.lowS,prehash:!1},ne={lowS:e.lowS,prehash:!1};function ge(T,k,L=z){let{seed:N,k2sig:I}=Q(T,k,L),K=e;return Qc(K.hash.outputLen,K.nByteLength,K.hmac)(N,I)}u.BASE._setWindowSize(8);function rt(T,k,L,N=ne){let I=T;if(k=Oe("msgHash",k),L=Oe("publicKey",L),"strict"in N)throw new Error("options.strict was renamed to lowS");let{lowS:K,prehash:V}=N,Y,ee;try{if(typeof I=="string"||I instanceof Uint8Array)try{Y=g.fromDER(I)}catch(ze){if(!(ze instanceof Cn.Err))throw ze;Y=g.fromCompact(I)}else if(typeof I=="object"&&typeof I.r=="bigint"&&typeof I.s=="bigint"){let{r:ze,s:ft}=I;Y=new g(ze,ft)}else throw new Error("PARSE");ee=u.fromHex(L)}catch(ze){if(ze.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(K&&Y.hasHighS())return!1;V&&(k=e.hash(k));let{r:oe,s:me}=Y,se=P(k),fe=c(me),Ve=a(se*fe),Ne=a(oe*fe),nt=u.BASE.multiplyAndAddUnsafe(ee,Ve,Ne)?.toAffine();return nt?a(nt.x)===oe:!1}return{CURVE:e,getPublicKey:w,getSharedSecret:_,sign:ge,verify:rt,ProjectivePoint:u,Signature:g,utils:x}}var Ds=class extends ai{constructor(e,r){super(),this.finished=!1,this.destroyed=!1,Fh(e);let n=eo(r);if(this.iHash=e.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let i=this.blockLen,o=new Uint8Array(i);o.set(n.length>i?e.create().update(n).digest():n);for(let s=0;s<o.length;s++)o[s]^=54;this.iHash.update(o),this.oHash=e.create();for(let s=0;s<o.length;s++)o[s]^=106;this.oHash.update(o),o.fill(0)}update(e){return si(this),this.iHash.update(e),this}digestInto(e){si(this),Vc(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));let{oHash:r,iHash:n,finished:i,destroyed:o,blockLen:s,outputLen:a}=this;return e=e,e.finished=i,e.destroyed=o,e.blockLen=s,e.outputLen=a,e.oHash=r._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},Bu=(t,e,r)=>new Ds(t,e).update(r).digest();Bu.create=(t,e)=>new Ds(t,e);function Rb(t){return{hash:t,hmac:(e,...r)=>Bu(t,e,ds(...r)),randomBytes:ci}}function bp(t,e){let r=n=>wp({...t,...Rb(n)});return Object.freeze({...r(e),create:r})}var Ap=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),vp=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),Cb=BigInt(1),Lu=BigInt(2),_p=(t,e)=>(t+e/Lu)/e;function Tb(t){let e=Ap,r=BigInt(3),n=BigInt(6),i=BigInt(11),o=BigInt(22),s=BigInt(23),a=BigInt(44),c=BigInt(88),u=t*t*t%e,l=u*u*t%e,f=Ce(l,r,e)*l%e,h=Ce(f,r,e)*l%e,p=Ce(h,Lu,e)*u%e,d=Ce(p,i,e)*p%e,m=Ce(d,o,e)*d%e,y=Ce(m,a,e)*m%e,g=Ce(y,c,e)*y%e,x=Ce(g,a,e)*m%e,w=Ce(x,r,e)*l%e,C=Ce(w,s,e)*d%e,_=Ce(C,n,e)*u%e,A=Ce(_,Lu,e);if(!Pu.eql(Pu.sqr(A),t))throw new Error("Cannot find square root");return A}var Pu=ws(Ap,void 0,void 0,{sqrt:Tb}),Ir=bp({a:BigInt(0),b:BigInt(7),Fp:Pu,n:vp,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:t=>{let e=vp,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-Cb*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),o=r,s=BigInt("0x100000000000000000000000000000000"),a=_p(o*t,e),c=_p(-n*t,e),u=Ee(t-a*r-c*i,e),l=Ee(-a*n-c*o,e),f=u>s,h=l>s;if(f&&(u=e-u),h&&(l=e-l),u>s||l>s)throw new Error("splitScalar: Endomorphism failed, k="+t);return{k1neg:f,k1:u,k2neg:h,k2:l}}}},xp),h8=BigInt(0);var d8=Ir.ProjectivePoint;function Sp(){return Ir.utils.randomPrivateKey()}async function Ip(t,e){let{digest:r}=await ot.digest(e);try{return Ir.sign(r,t).toDERRawBytes()}catch(n){throw new b(String(n),"ERR_INVALID_INPUT")}}async function Rp(t,e,r){try{let{digest:n}=await ot.digest(r);return Ir.verify(e,n,t)}catch(n){throw new b(String(n),"ERR_INVALID_INPUT")}}function Cp(t){return Ir.ProjectivePoint.fromHex(t).toRawBytes(!0)}function Tp(t){try{Ir.getPublicKey(t,!0)}catch(e){throw new b(String(e),"ERR_INVALID_PRIVATE_KEY")}}function Du(t){try{Ir.ProjectivePoint.fromHex(t)}catch(e){throw new b(String(e),"ERR_INVALID_PUBLIC_KEY")}}function Bp(t){try{return Ir.getPublicKey(t,!0)}catch(e){throw new b(String(e),"ERR_INVALID_PRIVATE_KEY")}}var lo=class{_key;constructor(e){Du(e),this._key=e}async verify(e,r){return Rp(this._key,r,e)}marshal(){return Cp(this._key)}get bytes(){return sr.encode({Type:Te.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return Pe(this.bytes,e.bytes)}async hash(){let{bytes:e}=await ot.digest(this.bytes);return e}},fo=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r??Bp(e),Tp(this._key),Du(this._publicKey)}async sign(e){return Ip(this._key,e)}get public(){return new lo(this._publicKey)}marshal(){return this._key}get bytes(){return ar.encode({Type:Te.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return Pe(this.bytes,e.bytes)}async hash(){let{bytes:e}=await ot.digest(this.bytes);return e}async id(){let e=await this.public.hash();return Z(e,"base58btc")}async export(e,r="libp2p-key"){if(r==="libp2p-key")return hi(this.bytes,e);throw new b(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function Lb(t){return new fo(t)}function Pb(t){return new lo(t)}async function Db(){let t=Sp();return new fo(t)}var Rr={rsa:Cu,ed25519:_u,secp256k1:Nu};function ku(t){let e=Object.keys(Rr).join(" / ");return new b(`invalid or unsupported key type ${t}. Must be ${e}`,"ERR_UNSUPPORTED_KEY_TYPE")}function Ou(t){if(t=t.toLowerCase(),t==="rsa"||t==="ed25519"||t==="secp256k1")return Rr[t];throw ku(t)}async function ks(t,e){return Ou(t).generateKeyPair(e??2048)}function ho(t){let e=sr.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case Te.RSA:return Rr.rsa.unmarshalRsaPublicKey(r);case Te.Ed25519:return Rr.ed25519.unmarshalEd25519PublicKey(r);case Te.Secp256k1:return Rr.secp256k1.unmarshalSecp256k1PublicKey(r);default:throw ku(e.Type??"RSA")}}function Lp(t,e){return e=(e??"rsa").toLowerCase(),Ou(e),t.bytes}async function gi(t){let e=ar.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case Te.RSA:return Rr.rsa.unmarshalRsaPrivateKey(r);case Te.Ed25519:return Rr.ed25519.unmarshalEd25519PrivateKey(r);case Te.Secp256k1:return Rr.secp256k1.unmarshalSecp256k1PrivateKey(r);default:throw ku(e.Type??"RSA")}}function Pp(t,e){return e=(e??"rsa").toLowerCase(),Ou(e),t.bytes}async function po(t,e){try{let i=await tp(t,e);return await gi(i)}catch{}let r=Ns.default.pki.decryptRsaPrivateKey(t,e);if(r===null)throw new b("Cannot read the key, most likely the password is wrong or not a RSA key","ERR_CANNOT_DECRYPT_PEM");let n=Ns.default.asn1.toDer(Ns.default.pki.privateKeyToAsn1(r));return n=G(n.getBytes(),"ascii"),Rr.rsa.unmarshalRsaPrivateKey(n)}var Mu=Symbol.for("@libp2p/content-routing");var mo=class extends EventTarget{#e=new Map;listenerCount(e){let r=this.#e.get(e);return r==null?0:r.length}addEventListener(e,r,n){super.addEventListener(e,r,n);let i=this.#e.get(e);i==null&&(i=[],this.#e.set(e,i)),i.push({callback:r,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(e,r,n){super.removeEventListener(e.toString(),r??null,n);let i=this.#e.get(e);i!=null&&(i=i.filter(({callback:o})=>o!==r),this.#e.set(e,i))}dispatchEvent(e){let r=super.dispatchEvent(e),n=this.#e.get(e.type);return n==null||(n=n.filter(({once:i})=>!i),this.#e.set(e.type,n)),r}safeDispatchEvent(e,r){return this.dispatchEvent(new Fu(e,r))}},Uu=class extends Event{detail;constructor(e,r){super(e,r),this.detail=r?.detail}},Fu=globalThis.CustomEvent??Uu;var Ku=Symbol.for("@libp2p/peer-discovery");var qu=Symbol.for("@libp2p/peer-routing");var U8=te(Zo(),1),kb=te(ye(),1);var Np=te(lc(),1),kp=te(Me(),1),Dp={sha1:"sha1","sha2-256":"sha256","sha2-512":"sha512"};function yo(t,e,r,n,i){if(i!=="sha1"&&i!=="sha2-256"&&i!=="sha2-512"){let a=Object.keys(Dp).join(" / ");throw new b(`Hash '${i}' is unknown or not supported. Must be ${a}`,"ERR_UNSUPPORTED_HASH_TYPE")}let o=Dp[i],s=(0,Np.default)(t,e,r,n,o);return kp.default.encode64(s,null)}var St=te($u(),1);St.default.formatters.b=t=>t==null?"undefined":Le.baseEncode(t);St.default.formatters.t=t=>t==null?"undefined":bt.baseEncode(t);St.default.formatters.m=t=>t==null?"undefined":mn.baseEncode(t);St.default.formatters.p=t=>t==null?"undefined":t.toString();St.default.formatters.c=t=>t==null?"undefined":t.toString();St.default.formatters.k=t=>t==null?"undefined":t.toString();St.default.formatters.a=t=>t==null?"undefined":t.toString();function Xb(t){let e=()=>{};return e.enabled=!1,e.color="",e.diff=0,e.log=()=>{},e.namespace=t,e.destroy=()=>!0,e.extend=()=>e,e}function ie(t){let e=Xb(`${t}:trace`);return St.default.enabled(`${t}:trace`)&&St.default.names.map(r=>r.toString()).find(r=>r.includes(":trace"))!=null&&(e=(0,St.default)(`${t}:trace`)),Object.assign((0,St.default)(t),{error:(0,St.default)(`${t}:error`),trace:e})}var Hu=Symbol.for("@libp2p/peer-id");function Us(t){return t!=null&&!!t[Hu]}var Zb=Symbol.for("nodejs.util.inspect.custom"),Fp=Object.values(Kr).map(t=>t.decoder).reduce((t,e)=>t.or(e),Kr.identity.decoder),Kp=114,zu=36,Gu=37,go=class{type;multihash;privateKey;publicKey;string;constructor(e){this.type=e.type,this.multihash=e.multihash,this.privateKey=e.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[Hu]=!0;toString(){return this.string==null&&(this.string=Le.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return Ut.createV1(Kp,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(e){if(e instanceof Uint8Array)return Pe(this.multihash.bytes,e);if(typeof e=="string")return de(e).equals(this);if(e?.multihash?.bytes!=null)return Pe(this.multihash.bytes,e.multihash.bytes);throw new Error("not valid Id")}[Zb](){return`PeerId(${this.toString()})`}},Bn=class extends go{type="RSA";publicKey;constructor(e){super({...e,type:"RSA"}),this.publicKey=e.publicKey}},Ln=class extends go{type="Ed25519";publicKey;constructor(e){super({...e,type:"Ed25519"}),this.publicKey=e.multihash.digest}},Pn=class extends go{type="secp256k1";publicKey;constructor(e){super({...e,type:"secp256k1"}),this.publicKey=e.multihash.digest}};function qp(t){if(t.type==="RSA")return new Bn(t);if(t.type==="Ed25519")return new Ln(t);if(t.type==="secp256k1")return new Pn(t);throw new b("Not a PeerId","ERR_INVALID_PARAMETERS")}function de(t,e){if(e=e??Fp,t.charAt(0)==="1"||t.charAt(0)==="Q"){let r=yn(Le.decode(`z${t}`));return t.startsWith("12D")?new Ln({multihash:r}):t.startsWith("16U")?new Pn({multihash:r}):new Bn({multihash:r})}return bi(Fp.decode(t))}function bi(t){try{let e=yn(t);if(e.code===Fr.code){if(e.digest.length===zu)return new Ln({multihash:e});if(e.digest.length===Gu)return new Pn({multihash:e})}if(e.code===ot.code)return new Bn({multihash:e})}catch{return jb(Ut.decode(t))}throw new Error("Supplied PeerID CID is invalid")}function jb(t){if(t==null||t.multihash==null||t.version==null||t.version===1&&t.code!==Kp)throw new Error("Supplied PeerID CID is invalid");let e=t.multihash;if(e.code===ot.code)return new Bn({multihash:t.multihash});if(e.code===Fr.code){if(e.digest.length===zu)return new Ln({multihash:t.multihash});if(e.digest.length===Gu)return new Pn({multihash:t.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function vi(t,e){return t.length===zu?new Ln({multihash:nr(Fr.code,t),privateKey:e}):t.length===Gu?new Pn({multihash:nr(Fr.code,t),privateKey:e}):new Bn({multihash:await ot.digest(t),publicKey:t,privateKey:e})}var Fs=(t=21)=>crypto.getRandomValues(new Uint8Array(t)).reduce((e,r)=>(r&=63,r<36?e+=r.toString(36):r<62?e+=(r-26).toString(36).toUpperCase():r>62?e+="-":e+="_",e),"");var Cr="/",Vp=new TextEncoder().encode(Cr),Ks=Vp[0],cr=class t{_buf;constructor(e,r){if(typeof e=="string")this._buf=G(e);else if(e instanceof Uint8Array)this._buf=e;else throw new Error("Invalid key, should be String of Uint8Array");if(r==null&&(r=!0),r&&this.clean(),this._buf.byteLength===0||this._buf[0]!==Ks)throw new Error("Invalid key")}toString(e="utf8"){return Z(this._buf,e)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(e){return new t(e.join(Cr))}static random(){return new t(Fs().replace(/-/g,""))}static asKey(e){return e instanceof Uint8Array||typeof e=="string"?new t(e):typeof e.uint8Array=="function"?new t(e.uint8Array()):null}clean(){if((this._buf==null||this._buf.byteLength===0)&&(this._buf=Vp),this._buf[0]!==Ks){let e=new Uint8Array(this._buf.byteLength+1);e.fill(Ks,0,1),e.set(this._buf,1),this._buf=e}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===Ks;)this._buf=this._buf.subarray(0,-1)}less(e){let r=this.list(),n=e.list();for(let i=0;i<r.length;i++){if(n.length<i+1)return!1;let o=r[i],s=n[i];if(o<s)return!0;if(o>s)return!1}return r.length<n.length}reverse(){return t.withNamespaces(this.list().slice().reverse())}namespaces(){return this.list()}baseNamespace(){let e=this.namespaces();return e[e.length-1]}list(){return this.toString().split(Cr).slice(1)}type(){return Jb(this.baseNamespace())}name(){return ev(this.baseNamespace())}instance(e){return new t(this.toString()+":"+e)}path(){let e=this.parent().toString();return e.endsWith(Cr)||(e+=Cr),e+=this.type(),new t(e)}parent(){let e=this.list();return e.length===1?new t(Cr):new t(e.slice(0,-1).join(Cr))}child(e){return this.toString()===Cr?e:e.toString()===Cr?this:new t(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 t.withNamespaces([...this.namespaces(),...tv(e.map(r=>r.namespaces()))])}};function Jb(t){let e=t.split(":");return e.length<2?"":e.slice(0,-1).join(":")}function ev(t){let e=t.split(":");return e[e.length-1]}function tv(t){return[].concat(...t)}var Zp=te(Xp(),1),Qr=Zp.default;var am=te(sm(),1);var ce;(function(t){t.ERR_INVALID_PARAMETERS="ERR_INVALID_PARAMETERS",t.ERR_INVALID_KEY_NAME="ERR_INVALID_KEY_NAME",t.ERR_INVALID_KEY_TYPE="ERR_INVALID_KEY_TYPE",t.ERR_KEY_ALREADY_EXISTS="ERR_KEY_ALREADY_EXISTS",t.ERR_INVALID_KEY_SIZE="ERR_INVALID_KEY_SIZE",t.ERR_KEY_NOT_FOUND="ERR_KEY_NOT_FOUND",t.ERR_OLD_KEY_NAME_INVALID="ERR_OLD_KEY_NAME_INVALID",t.ERR_NEW_KEY_NAME_INVALID="ERR_NEW_KEY_NAME_INVALID",t.ERR_PASSWORD_REQUIRED="ERR_PASSWORD_REQUIRED",t.ERR_PEM_REQUIRED="ERR_PEM_REQUIRED",t.ERR_CANNOT_READ_KEY="ERR_CANNOT_READ_KEY",t.ERR_MISSING_PRIVATE_KEY="ERR_MISSING_PRIVATE_KEY",t.ERR_INVALID_OLD_PASS_TYPE="ERR_INVALID_OLD_PASS_TYPE",t.ERR_INVALID_NEW_PASS_TYPE="ERR_INVALID_NEW_PASS_TYPE",t.ERR_INVALID_PASS_LENGTH="ERR_INVALID_PASS_LENGTH"})(ce||(ce={}));var $s=ie("libp2p:keychain"),Ev="/pkcs8/",cm="/info/",Dn=new WeakMap,Nn={minKeyLength:112/8,minSaltLength:128/8,minIterationCount:1e3},Wu={dek:{keyLength:512/8,iterationCount:1e4,salt:"you should override this value with a crypto secure random number",hash:"sha2-512"}};function Tr(t){return t==null||typeof t!="string"?!1:t===(0,am.default)(t.trim())&&t.length>0}async function we(){let r=Math.random()*800+200;await new Promise(n=>setTimeout(n,r))}function ur(t){return new cr(Ev+t)}function Xr(t){return new cr(cm+t)}var kn=class{components;init;constructor(e,r){if(this.components=e,this.init=Qr(Wu,r),this.init.pass!=null&&this.init.pass?.length<20)throw new Error("pass must be least 20 characters");if(this.init.dek?.keyLength!=null&&this.init.dek.keyLength<Nn.minKeyLength)throw new Error(`dek.keyLength must be least ${Nn.minKeyLength} bytes`);if(this.init.dek?.salt?.length!=null&&this.init.dek.salt.length<Nn.minSaltLength)throw new Error(`dek.saltLength must be least ${Nn.minSaltLength} bytes`);if(this.init.dek?.iterationCount!=null&&this.init.dek.iterationCount<Nn.minIterationCount)throw new Error(`dek.iterationCount must be least ${Nn.minIterationCount}`);let n=this.init.pass!=null&&this.init.dek?.salt!=null?yo(this.init.pass,this.init.dek?.salt,this.init.dek?.iterationCount,this.init.dek?.keyLength,this.init.dek?.hash):"";Dn.set(this,{dek:n})}static generateOptions(){let e=Object.assign({},Wu),r=Math.ceil(Nn.minSaltLength/3)*3;return e.dek.salt=Z(In(r),"base64"),e}static get options(){return Wu}async createKey(e,r,n=2048){if(!Tr(e)||e==="self")throw await we(),new b("Invalid key name",ce.ERR_INVALID_KEY_NAME);if(typeof r!="string")throw await we(),new b("Invalid key type",ce.ERR_INVALID_KEY_TYPE);let i=ur(e);if(await this.components.datastore.has(i))throw await we(),new b("Key name already exists",ce.ERR_KEY_ALREADY_EXISTS);switch(r.toLowerCase()){case"rsa":if(!Number.isSafeInteger(n)||n<2048)throw await we(),new b("Invalid RSA key size",ce.ERR_INVALID_KEY_SIZE);break;default:break}let s;try{let a=await ks(r,n),c=await a.id(),u=Dn.get(this);if(u==null)throw new b("dek missing",ce.ERR_INVALID_PARAMETERS);let l=u.dek,f=await a.export(l);s={name:e,id:c};let h=this.components.datastore.batch();h.put(i,G(f)),h.put(Xr(e),G(JSON.stringify(s))),await h.commit()}catch(a){throw await we(),a}return s}async listKeys(){let e={prefix:cm},r=[];for await(let n of this.components.datastore.query(e))r.push(JSON.parse(Z(n.value)));return r}async findKeyById(e){try{let n=(await this.listKeys()).find(i=>i.id===e);if(n==null)throw new b(`Key with id '${e}' does not exist.`,ce.ERR_KEY_NOT_FOUND);return n}catch(r){throw await we(),r}}async findKeyByName(e){if(!Tr(e))throw await we(),new b(`Invalid key name '${e}'`,ce.ERR_INVALID_KEY_NAME);let r=Xr(e);try{let n=await this.components.datastore.get(r);return JSON.parse(Z(n))}catch(n){throw await we(),$s.error(n),new b(`Key '${e}' does not exist.`,ce.ERR_KEY_NOT_FOUND)}}async removeKey(e){if(!Tr(e)||e==="self")throw await we(),new b(`Invalid key name '${e}'`,ce.ERR_INVALID_KEY_NAME);let r=ur(e),n=await this.findKeyByName(e),i=this.components.datastore.batch();return i.delete(r),i.delete(Xr(e)),await i.commit(),n}async renameKey(e,r){if(!Tr(e)||e==="self")throw await we(),new b(`Invalid old key name '${e}'`,ce.ERR_OLD_KEY_NAME_INVALID);if(!Tr(r)||r==="self")throw await we(),new b(`Invalid new key name '${r}'`,ce.ERR_NEW_KEY_NAME_INVALID);let n=ur(e),i=ur(r),o=Xr(e),s=Xr(r);if(await this.components.datastore.has(i))throw await we(),new b(`Key '${r}' already exists`,ce.ERR_KEY_ALREADY_EXISTS);try{let c=await this.components.datastore.get(n),u=await this.components.datastore.get(o),l=JSON.parse(Z(u));l.name=r;let f=this.components.datastore.batch();return f.put(i,c),f.put(s,G(JSON.stringify(l))),f.delete(n),f.delete(o),await f.commit(),l}catch(c){throw await we(),c}}async exportKey(e,r){if(!Tr(e))throw await we(),new b(`Invalid key name '${e}'`,ce.ERR_INVALID_KEY_NAME);if(r==null)throw await we(),new b("Password is required",ce.ERR_PASSWORD_REQUIRED);let n=ur(e);try{let i=await this.components.datastore.get(n),o=Z(i),s=Dn.get(this);if(s==null)throw new b("dek missing",ce.ERR_INVALID_PARAMETERS);let a=s.dek;return await(await po(o,a)).export(r)}catch(i){throw await we(),i}}async exportPeerId(e){let r="temporary-password",n=await this.exportKey(e,r),i=await po(n,r);return vi(i.public.bytes,i.bytes)}async importKey(e,r,n){if(!Tr(e)||e==="self")throw await we(),new b(`Invalid key name '${e}'`,ce.ERR_INVALID_KEY_NAME);if(r==null)throw await we(),new b("PEM encoded key is required",ce.ERR_PEM_REQUIRED);let i=ur(e);if(await this.components.datastore.has(i))throw await we(),new b(`Key '${e}' already exists`,ce.ERR_KEY_ALREADY_EXISTS);let s;try{s=await po(r,n)}catch{throw await we(),new b("Cannot read the key, most likely the password is wrong",ce.ERR_CANNOT_READ_KEY)}let a;try{a=await s.id();let l=Dn.get(this);if(l==null)throw new b("dek missing",ce.ERR_INVALID_PARAMETERS);let f=l.dek;r=await s.export(f)}catch(l){throw await we(),l}let c={name:e,id:a},u=this.components.datastore.batch();return u.put(i,G(r)),u.put(Xr(e),G(JSON.stringify(c))),await u.commit(),c}async importPeer(e,r){try{if(!Tr(e))throw new b(`Invalid key name '${e}'`,ce.ERR_INVALID_KEY_NAME);if(r==null)throw new b("PeerId is required",ce.ERR_MISSING_PRIVATE_KEY);if(r.privateKey==null)throw new b("PeerId.privKey is required",ce.ERR_MISSING_PRIVATE_KEY);let n=await gi(r.privateKey),i=ur(e);if(await this.components.datastore.has(i))throw await we(),new b(`Key '${e}' already exists`,ce.ERR_KEY_ALREADY_EXISTS);let s=Dn.get(this);if(s==null)throw new b("dek missing",ce.ERR_INVALID_PARAMETERS);let a=s.dek,c=await n.export(a),u={name:e,id:r.toString()},l=this.components.datastore.batch();return l.put(i,G(c)),l.put(Xr(e),G(JSON.stringify(u))),await l.commit(),u}catch(n){throw await we(),n}}async getPrivateKey(e){if(!Tr(e))throw await we(),new b(`Invalid key name '${e}'`,ce.ERR_INVALID_KEY_NAME);try{let r=ur(e),n=await this.components.datastore.get(r);return Z(n)}catch(r){throw await we(),$s.error(r),new b(`Key '${e}' does not exist.`,ce.ERR_KEY_NOT_FOUND)}}async rotateKeychainPass(e,r){if(typeof e!="string")throw await we(),new b(`Invalid old pass type '${typeof e}'`,ce.ERR_INVALID_OLD_PASS_TYPE);if(typeof r!="string")throw await we(),new b(`Invalid new pass type '${typeof r}'`,ce.ERR_INVALID_NEW_PASS_TYPE);if(r.length<20)throw await we(),new b(`Invalid pass length ${r.length}`,ce.ERR_INVALID_PASS_LENGTH);$s("recreating keychain");let n=Dn.get(this);if(n==null)throw new b("dek missing",ce.ERR_INVALID_PARAMETERS);let i=n.dek;this.init.pass=r;let o=r!=null&&this.init.dek?.salt!=null?yo(r,this.init.dek.salt,this.init.dek?.iterationCount,this.init.dek?.keyLength,this.init.dek?.hash):"";Dn.set(this,{dek:o});let s=await this.listKeys();for(let a of s){let c=await this.components.datastore.get(ur(a.name)),u=Z(c),l=await po(u,i),f=o.toString(),h=await l.export(f),p=this.components.datastore.batch(),d={name:a.name,id:a.id};p.put(ur(a.name),G(h)),p.put(Xr(a.name),G(JSON.stringify(d))),await p.commit()}$s("keychain reconstructed")}};function Br(t,e){let r={[Symbol.iterator]:()=>r,next:()=>{let n=t.next(),i=n.value;return n.done===!0||i==null?{done:!0,value:void 0}:{done:!1,value:e(i)}}};return r}var Gt=class{map;constructor(e){if(this.map=new Map,e!=null)for(let[r,n]of e.entries())this.map.set(r.toString(),n)}[Symbol.iterator](){return this.entries()}clear(){this.map.clear()}delete(e){this.map.delete(e.toString())}entries(){return Br(this.map.entries(),e=>[de(e[0]),e[1]])}forEach(e){this.map.forEach((r,n)=>{e(r,de(n),this)})}get(e){return this.map.get(e.toString())}has(e){return this.map.has(e.toString())}set(e,r){this.map.set(e.toString(),r)}keys(){return Br(this.map.keys(),e=>de(e))}values(){return this.map.values()}get size(){return this.map.size}};var On=class t{set;constructor(e){if(this.set=new Set,e!=null)for(let r of e)this.set.add(r.toString())}get size(){return this.set.size}[Symbol.iterator](){return this.values()}add(e){this.set.add(e.toString())}clear(){this.set.clear()}delete(e){this.set.delete(e.toString())}entries(){return Br(this.set.entries(),e=>{let r=de(e[0]);return[r,r]})}forEach(e){this.set.forEach(r=>{let n=de(r);e(n,n,this)})}has(e){return this.set.has(e.toString())}values(){return Br(this.set.values(),e=>de(e))}intersection(e){let r=new t;for(let n of e)this.has(n)&&r.add(n);return r}difference(e){let r=new t;for(let n of this)e.has(n)||r.add(n);return r}union(e){let r=new t;for(let n of e)r.add(n);for(let n of this)r.add(n);return r}};var Qu=class t{list;constructor(e){if(this.list=[],e!=null)for(let r of e)this.list.push(r.toString())}[Symbol.iterator](){return Br(this.list.entries(),e=>de(e[1]))}concat(e){let r=new t(this);for(let n of e)r.push(n);return r}entries(){return Br(this.list.entries(),e=>[e[0],de(e[1])])}every(e){return this.list.every((r,n)=>e(de(r),n,this))}filter(e){let r=new t;return this.list.forEach((n,i)=>{let o=de(n);e(o,i,this)&&r.push(o)}),r}find(e){let r=this.list.find((n,i)=>e(de(n),i,this));if(r!=null)return de(r)}findIndex(e){return this.list.findIndex((r,n)=>e(de(r),n,this))}forEach(e){this.list.forEach((r,n)=>{e(de(r),n,this)})}includes(e){return this.list.includes(e.toString())}indexOf(e){return this.list.indexOf(e.toString())}pop(){let e=this.list.pop();if(e!=null)return de(e)}push(...e){for(let r of e)this.list.push(r.toString())}shift(){let e=this.list.shift();if(e!=null)return de(e)}unshift(...e){let r=this.list.length;for(let n=e.length-1;n>-1;n--)r=this.list.unshift(e[n].toString());return r}get length(){return this.list.length}};var Xu;(function(t){let e;t.codec=()=>(e==null&&(e=ct((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.id!=null&&(n.uint32(10),n.bytes(r.id)),r.pubKey!=null&&(n.uint32(18),n.bytes(r.pubKey)),r.privKey!=null&&(n.uint32(26),n.bytes(r.privKey)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.id=r.bytes();break;case 2:i.pubKey=r.bytes();break;case 3:i.privKey=r.bytes();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>at(r,t.codec()),t.decode=r=>st(r,t.codec())})(Xu||(Xu={}));var um=async()=>{let t=await ks("Ed25519"),e=await wv(t);if(e.type==="Ed25519")return e;throw new Error(`Generated unexpected PeerId type "${e.type}"`)};async function wv(t){return vi(Lp(t.public),Pp(t))}var bv=Math.pow(2,7),vv=Math.pow(2,14),_v=Math.pow(2,21),Zu=Math.pow(2,28),ju=Math.pow(2,35),Ju=Math.pow(2,42),el=Math.pow(2,49),pe=128,ht=127;function Et(t){if(t<bv)return 1;if(t<vv)return 2;if(t<_v)return 3;if(t<Zu)return 4;if(t<ju)return 5;if(t<Ju)return 6;if(t<el)return 7;if(Number.MAX_SAFE_INTEGER!=null&&t>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Av(t,e,r=0){switch(Et(t)){case 8:e[r++]=t&255|pe,t/=128;case 7:e[r++]=t&255|pe,t/=128;case 6:e[r++]=t&255|pe,t/=128;case 5:e[r++]=t&255|pe,t/=128;case 4:e[r++]=t&255|pe,t>>>=7;case 3:e[r++]=t&255|pe,t>>>=7;case 2:e[r++]=t&255|pe,t>>>=7;case 1:{e[r++]=t&255,t>>>=7;break}default:throw new Error("unreachable")}return e}function Sv(t,e,r=0){switch(Et(t)){case 8:e.set(r++,t&255|pe),t/=128;case 7:e.set(r++,t&255|pe),t/=128;case 6:e.set(r++,t&255|pe),t/=128;case 5:e.set(r++,t&255|pe),t/=128;case 4:e.set(r++,t&255|pe),t>>>=7;case 3:e.set(r++,t&255|pe),t>>>=7;case 2:e.set(r++,t&255|pe),t>>>=7;case 1:{e.set(r++,t&255),t>>>=7;break}default:throw new Error("unreachable")}return e}function Iv(t,e){let r=t[e],n=0;if(n+=r&ht,r<pe||(r=t[e+1],n+=(r&ht)<<7,r<pe)||(r=t[e+2],n+=(r&ht)<<14,r<pe)||(r=t[e+3],n+=(r&ht)<<21,r<pe)||(r=t[e+4],n+=(r&ht)*Zu,r<pe)||(r=t[e+5],n+=(r&ht)*ju,r<pe)||(r=t[e+6],n+=(r&ht)*Ju,r<pe)||(r=t[e+7],n+=(r&ht)*el,r<pe))return n;throw new RangeError("Could not decode varint")}function Rv(t,e){let r=t.get(e),n=0;if(n+=r&ht,r<pe||(r=t.get(e+1),n+=(r&ht)<<7,r<pe)||(r=t.get(e+2),n+=(r&ht)<<14,r<pe)||(r=t.get(e+3),n+=(r&ht)<<21,r<pe)||(r=t.get(e+4),n+=(r&ht)*Zu,r<pe)||(r=t.get(e+5),n+=(r&ht)*ju,r<pe)||(r=t.get(e+6),n+=(r&ht)*Ju,r<pe)||(r=t.get(e+7),n+=(r&ht)*el,r<pe))return n;throw new RangeError("Could not decode varint")}function Nt(t,e,r=0){return e==null&&(e=Ft(Et(t))),e instanceof Uint8Array?Av(t,e,r):Sv(t,e,r)}function Lr(t,e=0){return t instanceof Uint8Array?Iv(t,e):Rv(t,e)}var fm=Symbol.for("@achingbrain/uint8arraylist");function lm(t,e){if(e==null||e<0)throw new RangeError("index is out of bounds");let r=0;for(let n of t){let i=r+n.byteLength;if(e<i)return{buf:n,index:e-r};r=i}throw new RangeError("index is out of bounds")}function Hs(t){return!!t?.[fm]}var Je=class t{constructor(...e){Object.defineProperty(this,fm,{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 r=0;for(let n of e)if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.push(n);else if(Hs(n))r+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}prepend(...e){this.prependAll(e)}prependAll(e){let r=0;for(let n of e.reverse())if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.unshift(n);else if(Hs(n))r+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}get(e){let r=lm(this.bufs,e);return r.buf[r.index]}set(e,r){let n=lm(this.bufs,e);n.buf[n.index]=r}write(e,r=0){if(e instanceof Uint8Array)for(let n=0;n<e.length;n++)this.set(r+n,e[n]);else if(Hs(e))for(let n=0;n<e.length;n++)this.set(r+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,r){let{bufs:n,length:i}=this._subList(e,r);return Ue(n,i)}subarray(e,r){let{bufs:n,length:i}=this._subList(e,r);return n.length===1?n[0]:Ue(n,i)}sublist(e,r){let{bufs:n,length:i}=this._subList(e,r),o=new t;return o.length=i,o.bufs=n,o}_subList(e,r){if(e=e??0,r=r??this.length,e<0&&(e=this.length+e),r<0&&(r=this.length+r),e<0||r>this.length)throw new RangeError("index is out of bounds");if(e===r)return{bufs:[],length:0};if(e===0&&r===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=r>a&&r<=c;if(u&&l){if(e===a&&r===c){n.push(s);break}let f=e-a;n.push(s.subarray(f,f+(r-e)));break}if(u){if(e===0){n.push(s);continue}n.push(s.subarray(e-a));continue}if(l){if(r===c){n.push(s);break}n.push(s.subarray(0,r-a));break}n.push(s)}return{bufs:n,length:r-e}}indexOf(e,r=0){if(!Hs(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(r=Number(r??0),isNaN(r)&&(r=0),r<0&&(r=this.length+r),r<0&&(r=0),e.length===0)return r>this.length?this.length:r;let i=n.byteLength;if(i===0)throw new TypeError("search must be at least 1 byte long");let o=256,s=new Int32Array(o);for(let f=0;f<o;f++)s[f]=-1;for(let f=0;f<i;f++)s[n[f]]=f;let a=s,c=this.byteLength-n.byteLength,u=n.byteLength-1,l;for(let f=r;f<=c;f+=l){l=0;for(let h=u;h>=0;h--){let p=this.get(f+h);if(n[h]!==p){l=Math.max(1,h-a[p]);break}}if(l===0)return f}return-1}getInt8(e){let r=this.subarray(e,e+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt8(0)}setInt8(e,r){let n=Ft(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,r),this.write(n,e)}getInt16(e,r){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,r)}setInt16(e,r,n){let i=xr(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt16(0,r,n),this.write(i,e)}getInt32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,r)}setInt32(e,r,n){let i=xr(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt32(0,r,n),this.write(i,e)}getBigInt64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,r)}setBigInt64(e,r,n){let i=xr(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigInt64(0,r,n),this.write(i,e)}getUint8(e){let r=this.subarray(e,e+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint8(0)}setUint8(e,r){let n=Ft(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,r),this.write(n,e)}getUint16(e,r){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,r)}setUint16(e,r,n){let i=xr(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint16(0,r,n),this.write(i,e)}getUint32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,r)}setUint32(e,r,n){let i=xr(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,r,n),this.write(i,e)}getBigUint64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,r)}setBigUint64(e,r,n){let i=xr(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigUint64(0,r,n),this.write(i,e)}getFloat32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,r)}setFloat32(e,r,n){let i=xr(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat32(0,r,n),this.write(i,e)}getFloat64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,r)}setFloat64(e,r,n){let i=xr(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,r,n),this.write(i,e)}equals(e){if(e==null||!(e instanceof t)||e.bufs.length!==this.bufs.length)return!1;for(let r=0;r<this.bufs.length;r++)if(!Pe(this.bufs[r],e.bufs[r]))return!1;return!0}static fromUint8Arrays(e,r){let n=new t;return n.bufs=e,r==null&&(r=e.reduce((i,o)=>i+o.byteLength,0)),n.length=r,n}};var hm={ERR_SIGNATURE_NOT_VALID:"ERR_SIGNATURE_NOT_VALID"};var Eo;(function(t){let e;t.codec=()=>(e==null&&(e=ct((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.publicKey!=null&&r.publicKey.byteLength>0&&(n.uint32(10),n.bytes(r.publicKey)),r.payloadType!=null&&r.payloadType.byteLength>0&&(n.uint32(18),n.bytes(r.payloadType)),r.payload!=null&&r.payload.byteLength>0&&(n.uint32(26),n.bytes(r.payload)),r.signature!=null&&r.signature.byteLength>0&&(n.uint32(42),n.bytes(r.signature)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={publicKey:new Uint8Array(0),payloadType:new Uint8Array(0),payload:new Uint8Array(0),signature:new Uint8Array(0)},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.publicKey=r.bytes();break;case 2:i.payloadType=r.bytes();break;case 3:i.payload=r.bytes();break;case 5:i.signature=r.bytes();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>at(r,t.codec()),t.decode=r=>st(r,t.codec())})(Eo||(Eo={}));var Si=class t{static createFromProtobuf=async e=>{let r=Eo.decode(e),n=await vi(r.publicKey);return new t({peerId:n,payloadType:r.payloadType,payload:r.payload,signature:r.signature})};static seal=async(e,r)=>{if(r.privateKey==null)throw new Error("Missing private key");let n=e.domain,i=e.codec,o=e.marshal(),s=dm(n,i,o),c=await(await gi(r.privateKey)).sign(s.subarray());return new t({peerId:r,payloadType:i,payload:o,signature:c})};static openAndCertify=async(e,r)=>{let n=await t.createFromProtobuf(e);if(!await n.validate(r))throw new b("envelope signature is not valid for the given domain",hm.ERR_SIGNATURE_NOT_VALID);return n};peerId;payloadType;payload;signature;marshaled;constructor(e){let{peerId:r,payloadType:n,payload:i,signature:o}=e;this.peerId=r,this.payloadType=n,this.payload=i,this.signature=o}marshal(){if(this.peerId.publicKey==null)throw new Error("Missing public key");return this.marshaled==null&&(this.marshaled=Eo.encode({publicKey:this.peerId.publicKey,payloadType:this.payloadType,payload:this.payload.subarray(),signature:this.signature})),this.marshaled}equals(e){return Pe(this.marshal(),e.marshal())}async validate(e){let r=dm(e,this.payloadType,this.payload);if(this.peerId.publicKey==null)throw new Error("Missing public key");return ho(this.peerId.publicKey).verify(r.subarray(),this.signature)}},dm=(t,e,r)=>{let n=G(t),i=Nt(n.byteLength),o=Nt(e.length),s=Nt(r.length);return new Je(i,n,o,e,s,r)};function pm(t,e){let r=(n,i)=>n.toString().localeCompare(i.toString());return t.length!==e.length?!1:(e.sort(r),t.sort(r).every((n,i)=>e[i].equals(n)))}var zs=class{index=0;input="";new(e){return this.index=0,this.input=e,this}readAtomically(e){let r=this.index,n=e();return n===void 0&&(this.index=r),n}parseWith(e){let r=e();if(this.index===this.input.length)return r}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(e){return this.readAtomically(()=>{let r=this.readChar();if(r===e)return r})}readSeparator(e,r,n){return this.readAtomically(()=>{if(!(r>0&&this.readGivenChar(e)===void 0))return n()})}readNumber(e,r,n,i){return this.readAtomically(()=>{let o=0,s=0,a=this.peekChar();if(a===void 0)return;let c=a==="0",u=2**(8*i)-1;for(;;){let l=this.readAtomically(()=>{let f=this.readChar();if(f===void 0)return;let h=Number.parseInt(f,e);if(!Number.isNaN(h))return h});if(l===void 0)break;if(o*=e,o+=l,o>u||(s+=1,r!==void 0&&s>r))return}if(s!==0)return!n&&c&&s>1?void 0:o})}readIPv4Addr(){return this.readAtomically(()=>{let e=new Uint8Array(4);for(let r=0;r<e.length;r++){let n=this.readSeparator(".",r,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;e[r]=n}return e})}readIPv6Addr(){let e=r=>{for(let n=0;n<r.length/2;n++){let i=n*2;if(n<r.length-3){let s=this.readSeparator(":",n,()=>this.readIPv4Addr());if(s!==void 0)return r[i]=s[0],r[i+1]=s[1],r[i+2]=s[2],r[i+3]=s[3],[i+4,!0]}let o=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(o===void 0)return[i,!1];r[i]=o>>8,r[i+1]=o&255}return[r.length,!1]};return this.readAtomically(()=>{let r=new Uint8Array(16),[n,i]=e(r);if(n===16)return r;if(i||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let o=new Uint8Array(14),s=16-(n+2),[a]=e(o.subarray(0,s));return r.set(o.subarray(0,a),16-a),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var mm=45,Cv=15,Ii=new zs;function tl(t){if(!(t.length>Cv))return Ii.new(t).parseWith(()=>Ii.readIPv4Addr())}function rl(t){if(t.includes("%")&&(t=t.split("%")[0]),!(t.length>mm))return Ii.new(t).parseWith(()=>Ii.readIPv6Addr())}function Gs(t){if(t.includes("%")&&(t=t.split("%")[0]),!(t.length>mm))return Ii.new(t).parseWith(()=>Ii.readIPAddr())}var TT=parseInt("0xFFFF",16),BT=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function Ys(t){return!!tl(t)}function Ws(t){return!!rl(t)}function Ri(t){return!!Gs(t)}var xm=Ys,Dv=Ws,nl=function(t){let e=0;if(t=t.toString().trim(),xm(t)){let r=new Uint8Array(e+4);return t.split(/\./g).forEach(n=>{r[e++]=parseInt(n,10)&255}),r}if(Dv(t)){let r=t.split(":",8),n;for(n=0;n<r.length;n++){let o=xm(r[n]),s;o&&(s=nl(r[n]),r[n]=Z(s.slice(0,2),"base16")),s!=null&&++n<8&&r.splice(n,0,Z(s.slice(2,4),"base16"))}if(r[0]==="")for(;r.length<8;)r.unshift("0");else if(r[r.length-1]==="")for(;r.length<8;)r.push("0");else if(r.length<8){for(n=0;n<r.length&&r[n]!=="";n++);let o=[n,1];for(n=9-r.length;n>0;n--)o.push("0");r.splice.apply(r,o)}let i=new Uint8Array(e+16);for(n=0;n<r.length;n++){let o=parseInt(r[n],16);i[e++]=o>>8&255,i[e++]=o&255}return i}throw new Error("invalid ip address")},Em=function(t,e=0,r){e=~~e,r=r??t.length-e;let n=new DataView(t.buffer);if(r===4){let i=[];for(let o=0;o<r;o++)i.push(t[e+o]);return i.join(".")}if(r===16){let i=[];for(let o=0;o<r;o+=2)i.push(n.getUint16(e+o).toString(16));return i.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var Ci={},il={},kv=[[4,32,"ip4"],[6,16,"tcp"],[33,16,"dccp"],[41,128,"ip6"],[42,-1,"ip6zone"],[43,8,"ipcidr"],[53,-1,"dns",!0],[54,-1,"dns4",!0],[55,-1,"dns6",!0],[56,-1,"dnsaddr",!0],[132,16,"sctp"],[273,16,"udp"],[275,0,"p2p-webrtc-star"],[276,0,"p2p-webrtc-direct"],[277,0,"p2p-stardust"],[280,0,"webrtc-direct"],[281,0,"webrtc"],[290,0,"p2p-circuit"],[301,0,"udt"],[302,0,"utp"],[400,-1,"unix",!1,!0],[421,-1,"ipfs"],[421,-1,"p2p"],[443,0,"https"],[444,96,"onion"],[445,296,"onion3"],[446,-1,"garlic64"],[448,0,"tls"],[449,-1,"sni"],[460,0,"quic"],[461,0,"quic-v1"],[465,0,"webtransport"],[466,-1,"certhash"],[477,0,"ws"],[478,0,"wss"],[479,0,"p2p-websocket-star"],[480,0,"http"],[777,-1,"memory"]];kv.forEach(t=>{let e=Ov(...t);il[e.code]=e,Ci[e.name]=e});function Ov(t,e,r,n,i){return{code:t,size:e,name:r,resolvable:!!n,path:!!i}}function be(t){if(typeof t=="number"){if(il[t]!=null)return il[t];throw new Error(`no protocol with code: ${t}`)}else if(typeof t=="string"){if(Ci[t]!=null)return Ci[t];throw new Error(`no protocol with name: ${t}`)}throw new Error(`invalid protocol id type: ${typeof t}`)}var d3=be("ip4"),p3=be("ip6"),m3=be("ipcidr");function sl(t,e){switch(be(t).code){case 4:case 41:return Uv(e);case 42:return vm(e);case 6:case 273:case 33:case 132:return Am(e).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return vm(e);case 421:return Vv(e);case 444:return _m(e);case 445:return _m(e);case 466:return qv(e);default:return Z(e,"base16")}}function al(t,e){switch(be(t).code){case 4:return wm(e);case 41:return wm(e);case 42:return bm(e);case 6:case 273:case 33:case 132:return cl(parseInt(e,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return bm(e);case 421:return Fv(e);case 444:return $v(e);case 445:return Hv(e);case 466:return Kv(e);default:return G(e,"base16")}}var ol=Object.values(Kr).map(t=>t.decoder),Mv=function(){let t=ol[0].or(ol[1]);return ol.slice(2).forEach(e=>t=t.or(e)),t}();function wm(t){if(!Ri(t))throw new Error("invalid ip address");return nl(t)}function Uv(t){let e=Em(t,0,t.length);if(e==null)throw new Error("ipBuff is required");if(!Ri(e))throw new Error("invalid ip address");return e}function cl(t){let e=new ArrayBuffer(2);return new DataView(e).setUint16(0,t),new Uint8Array(e)}function Am(t){return new DataView(t.buffer).getUint16(t.byteOffset)}function bm(t){let e=G(t),r=Uint8Array.from(Nt(e.length));return Ue([r,e],r.length+e.length)}function vm(t){let e=Lr(t);if(t=t.slice(Et(e)),t.length!==e)throw new Error("inconsistent lengths");return Z(t)}function Fv(t){let e;t[0]==="Q"||t[0]==="1"?e=yn(Le.decode(`z${t}`)).bytes:e=Ut.parse(t).multihash.bytes;let r=Uint8Array.from(Nt(e.length));return Ue([r,e],r.length+e.length)}function Kv(t){let e=Mv.decode(t),r=Uint8Array.from(Nt(e.length));return Ue([r,e],r.length+e.length)}function qv(t){let e=Lr(t),r=t.slice(Et(e));if(r.length!==e)throw new Error("inconsistent lengths");return"u"+Z(r,"base64url")}function Vv(t){let e=Lr(t),r=t.slice(Et(e));if(r.length!==e)throw new Error("inconsistent lengths");return Z(r,"base58btc")}function $v(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==16)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion address.`);let r=bt.decode("b"+e[0]),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=cl(n);return Ue([r,i],r.length+i.length)}function Hv(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==56)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion3 address.`);let r=bt.decode(`b${e[0]}`),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=cl(n);return Ue([r,i],r.length+i.length)}function _m(t){let e=t.slice(0,t.length-2),r=t.slice(t.length-2),n=Z(e,"base32"),i=Am(r);return`${n}:${i}`}function Sm(t){t=ul(t);let e=[],r=[],n=null,i=t.split("/").slice(1);if(i.length===1&&i[0]==="")return{bytes:new Uint8Array,string:"/",tuples:[],stringTuples:[],path:null};for(let o=0;o<i.length;o++){let s=i[o],a=be(s);if(a.size===0){e.push([a.code]),r.push([a.code]);continue}if(o++,o>=i.length)throw Rm("invalid address: "+t);if(a.path===!0){n=ul(i.slice(o).join("/")),e.push([a.code,al(a.code,n)]),r.push([a.code,n]);break}let c=al(a.code,i[o]);e.push([a.code,c]),r.push([a.code,sl(a.code,c)])}return{string:Im(r),bytes:fl(e),tuples:e,stringTuples:r,path:n}}function ll(t){let e=[],r=[],n=null,i=0;for(;i<t.length;){let o=Lr(t,i),s=Et(o),a=be(o),c=zv(a,t.slice(i+s));if(c===0){e.push([o]),r.push([o]),i+=s;continue}let u=t.slice(i+s,i+s+c);if(i+=c+s,i>t.length)throw Rm("Invalid address Uint8Array: "+Z(t,"base16"));e.push([o,u]);let l=sl(o,u);if(r.push([o,l]),a.path===!0){n=l;break}}return{bytes:Uint8Array.from(t),string:Im(r),tuples:e,stringTuples:r,path:n}}function Im(t){let e=[];return t.map(r=>{let n=be(r[0]);return e.push(n.name),r.length>1&&r[1]!=null&&e.push(r[1]),null}),ul(e.join("/"))}function fl(t){return Ue(t.map(e=>{let r=be(e[0]),n=Uint8Array.from(Nt(r.code));return e.length>1&&e[1]!=null&&(n=Ue([n,e[1]])),n}))}function zv(t,e){if(t.size>0)return t.size/8;if(t.size===0)return 0;{let r=Lr(e instanceof Uint8Array?e:Uint8Array.from(e));return r+Et(r)}}function ul(t){return"/"+t.trim().split("/").filter(e=>e).join("/")}function Rm(t){return new Error("Error parsing address: "+t)}var Gv=Symbol.for("nodejs.util.inspect.custom"),Yv=[be("dns").code,be("dns4").code,be("dns6").code,be("dnsaddr").code],dl=new Map,Cm=Symbol.for("@multiformats/js-multiaddr/multiaddr");function Mn(t){return!!t?.[Cm]}var hl=class t{bytes;#e;#t;#r;#n;[Cm]=!0;constructor(e){e==null&&(e="");let r;if(e instanceof Uint8Array)r=ll(e);else if(typeof e=="string"){if(e.length>0&&e.charAt(0)!=="/")throw new Error(`multiaddr "${e}" must start with a "/"`);r=Sm(e)}else if(Mn(e))r=ll(e.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=r.bytes,this.#e=r.string,this.#t=r.tuples,this.#r=r.stringTuples,this.#n=r.path}toString(){return this.#e}toJSON(){return this.toString()}toOptions(){let e,r,n,i,o="",s=be("tcp"),a=be("udp"),c=be("ip4"),u=be("ip6"),l=be("dns6"),f=be("ip6zone");for(let[p,d]of this.stringTuples())p===f.code&&(o=`%${d??""}`),Yv.includes(p)&&(r=s.name,i=443,n=`${d??""}${o}`,e=p===l.code?6:4),(p===s.code||p===a.code)&&(r=be(p).name,i=parseInt(d??"")),(p===c.code||p===u.code)&&(r=be(p).name,n=`${d??""}${o}`,e=p===u.code?6:4);if(e==null||r==null||n==null||i==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:e,host:n,transport:r,port:i}}protos(){return this.#t.map(([e])=>Object.assign({},be(e)))}protoCodes(){return this.#t.map(([e])=>e)}protoNames(){return this.#t.map(([e])=>be(e).name)}tuples(){return this.#t}stringTuples(){return this.#r}encapsulate(e){return e=new t(e),new t(this.toString()+e.toString())}decapsulate(e){let r=e.toString(),n=this.toString(),i=n.lastIndexOf(r);if(i<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${e.toString()}`);return new t(n.slice(0,i))}decapsulateCode(e){let r=this.tuples();for(let n=r.length-1;n>=0;n--)if(r[n][0]===e)return new t(fl(r.slice(0,n)));return this}getPeerId(){try{let e=[];this.stringTuples().forEach(([n,i])=>{n===Ci.p2p.code&&e.push([n,i]),n===Ci["p2p-circuit"].code&&(e=[])});let r=e.pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?Z(Le.decode(`z${n}`),"base58btc"):Z(Ut.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#n}equals(e){return Pe(this.bytes,e.bytes)}async resolve(e){let r=this.protos().find(o=>o.resolvable);if(r==null)return[this];let n=dl.get(r.name);if(n==null)throw new b(`no available resolver for ${r.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,e)).map(o=>new t(o))}nodeAddress(){let e=this.toOptions();if(e.transport!=="tcp"&&e.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${e.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:e.family,address:e.host,port:e.port}}isThinWaistAddress(e){let r=(e??this).protos();return!(r.length!==2||r[0].code!==4&&r[0].code!==41||r[1].code!==6&&r[1].code!==273)}[Gv](){return`Multiaddr(${this.#e})`}};function Ye(t){return new hl(t)}var Tm="libp2p-peer-record",Bm=Uint8Array.from([3,1]);var wo;(function(t){let e;(function(n){let i;n.codec=()=>(i==null&&(i=ct((o,s,a={})=>{a.lengthDelimited!==!1&&s.fork(),o.multiaddr!=null&&o.multiaddr.byteLength>0&&(s.uint32(10),s.bytes(o.multiaddr)),a.lengthDelimited!==!1&&s.ldelim()},(o,s)=>{let a={multiaddr:new Uint8Array(0)},c=s==null?o.len:o.pos+s;for(;o.pos<c;){let u=o.uint32();switch(u>>>3){case 1:a.multiaddr=o.bytes();break;default:o.skipType(u&7);break}}return a})),i),n.encode=o=>at(o,n.codec()),n.decode=o=>st(o,n.codec())})(e=t.AddressInfo||(t.AddressInfo={}));let r;t.codec=()=>(r==null&&(r=ct((n,i,o={})=>{if(o.lengthDelimited!==!1&&i.fork(),n.peerId!=null&&n.peerId.byteLength>0&&(i.uint32(10),i.bytes(n.peerId)),n.seq!=null&&n.seq!==0n&&(i.uint32(16),i.uint64(n.seq)),n.addresses!=null)for(let s of n.addresses)i.uint32(26),t.AddressInfo.codec().encode(s,i);o.lengthDelimited!==!1&&i.ldelim()},(n,i)=>{let o={peerId:new Uint8Array(0),seq:0n,addresses:[]},s=i==null?n.len:n.pos+i;for(;n.pos<s;){let a=n.uint32();switch(a>>>3){case 1:o.peerId=n.bytes();break;case 2:o.seq=n.uint64();break;case 3:o.addresses.push(t.AddressInfo.codec().decode(n,n.uint32()));break;default:n.skipType(a&7);break}}return o})),r),t.encode=n=>at(n,t.codec()),t.decode=n=>st(n,t.codec())})(wo||(wo={}));var Un=class t{static createFromProtobuf=e=>{let r=wo.decode(e),n=bi(r.peerId),i=(r.addresses??[]).map(s=>Ye(s.multiaddr)),o=r.seq;return new t({peerId:n,multiaddrs:i,seqNumber:o})};static DOMAIN=Tm;static CODEC=Bm;peerId;multiaddrs;seqNumber;domain=t.DOMAIN;codec=t.CODEC;marshaled;constructor(e){let{peerId:r,multiaddrs:n,seqNumber:i}=e;this.peerId=r,this.multiaddrs=n??[],this.seqNumber=i??BigInt(Date.now())}marshal(){return this.marshaled==null&&(this.marshaled=wo.encode({peerId:this.peerId.toBytes(),seq:BigInt(this.seqNumber),addresses:this.multiaddrs.map(e=>({multiaddr:e.bytes}))})),this.marshaled}equals(e){return!(!(e instanceof t)||!this.peerId.equals(e.peerId)||this.seqNumber!==e.seqNumber||!pm(this.multiaddrs,e.multiaddrs))}};function Wv(t){return t[Symbol.asyncIterator]!=null}function Qv(t){if(Wv(t))return(async()=>{let r=[];for await(let n of t)r.push(n);return r})();let e=[];for(let r of t)e.push(r);return e}var bo=Qv;var ml=te(Pm(),1);var _o=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},yl=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},Dm=t=>globalThis.DOMException===void 0?new yl(t):new DOMException(t),Nm=t=>{let e=t.reason===void 0?Dm("This operation was aborted."):t.reason;return e instanceof Error?e:Dm(e)};function gl(t,e,r,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(t);return}if(n={customTimers:{setTimeout,clearTimeout},...n},n.signal){let{signal:c}=n;c.aborted&&a(Nm(c)),c.addEventListener("abort",()=>{a(Nm(c))})}i=n.customTimers.setTimeout.call(void 0,()=>{if(typeof r=="function"){try{s(r())}catch(l){a(l)}return}let c=typeof r=="string"?r:`Promise timed out after ${e} milliseconds`,u=r instanceof Error?r:new _o(c);typeof t.cancel=="function"&&t.cancel(),a(u)},e),(async()=>{try{s(await t)}catch(c){a(c)}finally{n.customTimers.clearTimeout.call(void 0,i)}})()});return o.clear=()=>{clearTimeout(i),i=void 0},o}function xl(t,e,r){let n=0,i=t.length;for(;i>0;){let o=Math.trunc(i/2),s=n+o;r(t[s],e)<=0?(n=++s,i-=o+1):i=o}return n}var Fn=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},Pr,El=class{constructor(){Pr.set(this,[])}enqueue(e,r){r={priority:0,...r};let n={priority:r.priority,run:e};if(this.size&&Fn(this,Pr,"f")[this.size-1].priority>=r.priority){Fn(this,Pr,"f").push(n);return}let i=xl(Fn(this,Pr,"f"),n,(o,s)=>s.priority-o.priority);Fn(this,Pr,"f").splice(i,0,n)}dequeue(){let e=Fn(this,Pr,"f").shift();return e?.run}filter(e){return Fn(this,Pr,"f").filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return Fn(this,Pr,"f").length}};Pr=new WeakMap;var km=El;var De=function(t,e,r,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"?t!==e||!i:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(t,r):i?i.value=r:e.set(t,r),r},q=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},Ke,So,Io,jr,ta,Ro,Xs,Yt,Ao,It,Zs,Rt,Co,Zr,js,Om,Mm,Km,Um,Fm,Js,wl,bl,ra,qm,ea,na=class extends Error{},vl=class extends ml.default{constructor(e){var r,n,i,o;if(super(),Ke.add(this),So.set(this,void 0),Io.set(this,void 0),jr.set(this,0),ta.set(this,void 0),Ro.set(this,void 0),Xs.set(this,0),Yt.set(this,void 0),Ao.set(this,void 0),It.set(this,void 0),Zs.set(this,void 0),Rt.set(this,0),Co.set(this,void 0),Zr.set(this,void 0),js.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:km,...e},!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(n=(r=e.intervalCap)===null||r===void 0?void 0:r.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})`);De(this,So,e.carryoverConcurrencyCount,"f"),De(this,Io,e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,"f"),De(this,ta,e.intervalCap,"f"),De(this,Ro,e.interval,"f"),De(this,It,new e.queueClass,"f"),De(this,Zs,e.queueClass,"f"),this.concurrency=e.concurrency,this.timeout=e.timeout,De(this,js,e.throwOnTimeout===!0,"f"),De(this,Zr,e.autoStart===!1,"f")}get concurrency(){return q(this,Co,"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})`);De(this,Co,e,"f"),q(this,Ke,"m",ra).call(this)}async add(e,r={}){return r={timeout:this.timeout,throwOnTimeout:q(this,js,"f"),...r},new Promise((n,i)=>{q(this,It,"f").enqueue(async()=>{var o,s,a;De(this,Rt,(s=q(this,Rt,"f"),s++,s),"f"),De(this,jr,(a=q(this,jr,"f"),a++,a),"f");try{if(!((o=r.signal)===null||o===void 0)&&o.aborted)throw new na("The task was aborted.");let c=e({signal:r.signal});r.timeout&&(c=gl(Promise.resolve(c),r.timeout)),r.signal&&(c=Promise.race([c,q(this,Ke,"m",qm).call(this,r.signal)]));let u=await c;n(u),this.emit("completed",u)}catch(c){if(c instanceof _o&&!r.throwOnTimeout){n();return}i(c),this.emit("error",c)}finally{q(this,Ke,"m",Km).call(this)}},r),this.emit("add"),q(this,Ke,"m",Js).call(this)})}async addAll(e,r){return Promise.all(e.map(async n=>this.add(n,r)))}start(){return q(this,Zr,"f")?(De(this,Zr,!1,"f"),q(this,Ke,"m",ra).call(this),this):this}pause(){De(this,Zr,!0,"f")}clear(){De(this,It,new(q(this,Zs,"f")),"f")}async onEmpty(){q(this,It,"f").size!==0&&await q(this,Ke,"m",ea).call(this,"empty")}async onSizeLessThan(e){q(this,It,"f").size<e||await q(this,Ke,"m",ea).call(this,"next",()=>q(this,It,"f").size<e)}async onIdle(){q(this,Rt,"f")===0&&q(this,It,"f").size===0||await q(this,Ke,"m",ea).call(this,"idle")}get size(){return q(this,It,"f").size}sizeBy(e){return q(this,It,"f").filter(e).length}get pending(){return q(this,Rt,"f")}get isPaused(){return q(this,Zr,"f")}};So=new WeakMap,Io=new WeakMap,jr=new WeakMap,ta=new WeakMap,Ro=new WeakMap,Xs=new WeakMap,Yt=new WeakMap,Ao=new WeakMap,It=new WeakMap,Zs=new WeakMap,Rt=new WeakMap,Co=new WeakMap,Zr=new WeakMap,js=new WeakMap,Ke=new WeakSet,Om=function(){return q(this,Io,"f")||q(this,jr,"f")<q(this,ta,"f")},Mm=function(){return q(this,Rt,"f")<q(this,Co,"f")},Km=function(){var e;De(this,Rt,(e=q(this,Rt,"f"),e--,e),"f"),q(this,Ke,"m",Js).call(this),this.emit("next")},Um=function(){q(this,Ke,"m",bl).call(this),q(this,Ke,"m",wl).call(this),De(this,Ao,void 0,"f")},Fm=function(){let e=Date.now();if(q(this,Yt,"f")===void 0){let r=q(this,Xs,"f")-e;if(r<0)De(this,jr,q(this,So,"f")?q(this,Rt,"f"):0,"f");else return q(this,Ao,"f")===void 0&&De(this,Ao,setTimeout(()=>{q(this,Ke,"m",Um).call(this)},r),"f"),!0}return!1},Js=function(){if(q(this,It,"f").size===0)return q(this,Yt,"f")&&clearInterval(q(this,Yt,"f")),De(this,Yt,void 0,"f"),this.emit("empty"),q(this,Rt,"f")===0&&this.emit("idle"),!1;if(!q(this,Zr,"f")){let e=!q(this,Ke,"a",Fm);if(q(this,Ke,"a",Om)&&q(this,Ke,"a",Mm)){let r=q(this,It,"f").dequeue();return r?(this.emit("active"),r(),e&&q(this,Ke,"m",wl).call(this),!0):!1}}return!1},wl=function(){q(this,Io,"f")||q(this,Yt,"f")!==void 0||(De(this,Yt,setInterval(()=>{q(this,Ke,"m",bl).call(this)},q(this,Ro,"f")),"f"),De(this,Xs,Date.now()+q(this,Ro,"f"),"f"))},bl=function(){q(this,jr,"f")===0&&q(this,Rt,"f")===0&&q(this,Yt,"f")&&(clearInterval(q(this,Yt,"f")),De(this,Yt,void 0,"f")),De(this,jr,q(this,So,"f")?q(this,Rt,"f"):0,"f"),q(this,Ke,"m",ra).call(this)},ra=function(){for(;q(this,Ke,"m",Js).call(this););},qm=async function(e){return new Promise((r,n)=>{e.addEventListener("abort",()=>{n(new na("The task was aborted."))},{once:!0})})},ea=async function(e,r){return new Promise(n=>{let i=()=>{r&&!r()||(this.off(e,i),n())};this.on(e,i)})};var Jr=vl;var _l=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},Al=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},Vm=t=>globalThis.DOMException===void 0?new Al(t):new DOMException(t),$m=t=>{let e=t.reason===void 0?Vm("This operation was aborted."):t.reason;return e instanceof Error?e:Vm(e)};function Sl(t,e){let{milliseconds:r,fallback:n,message:i,customTimers:o={setTimeout,clearTimeout}}=e,s,c=new Promise((u,l)=>{if(typeof r!="number"||Math.sign(r)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${r}\``);if(e.signal){let{signal:h}=e;h.aborted&&l($m(h)),h.addEventListener("abort",()=>{l($m(h))})}if(r===Number.POSITIVE_INFINITY){t.then(u,l);return}let f=new _l;s=o.setTimeout.call(void 0,()=>{if(n){try{u(n())}catch(h){l(h)}return}typeof t.cancel=="function"&&t.cancel(),i===!1?u():i instanceof Error?l(i):(f.message=i??`Promise timed out after ${r} milliseconds`,l(f))},r),(async()=>{try{u(await t)}catch(h){l(h)}})()}).finally(()=>{c.clear()});return c.clear=()=>{o.clearTimeout.call(void 0,s),s=void 0},c}var Il="lock:worker:request-read",Rl="lock:worker:release-read",Cl="lock:master:grant-read",Tl="lock:worker:request-write",Bl="lock:worker:release-write",Ll="lock:master:grant-write";var en={},Ti=t=>{t.addEventListener("message",e=>{Ti.dispatchEvent("message",t,e)}),t.port!=null&&t.port.addEventListener("message",e=>{Ti.dispatchEvent("message",t,e)})};Ti.addEventListener=(t,e)=>{en[t]==null&&(en[t]=[]),en[t].push(e)};Ti.removeEventListener=(t,e)=>{en[t]!=null&&(en[t]=en[t].filter(r=>r===e))};Ti.dispatchEvent=function(t,e,r){en[t]!=null&&en[t].forEach(n=>n(e,r))};var Pl=Ti;var Hm=(t,e,r,n,i)=>(o,s)=>{if(s.data.type!==r)return;let a={type:s.data.type,name:s.data.name,identifier:s.data.identifier};t.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 f={type:l.data.type,name:l.data.name,identifier:l.data.identifier};f.type===n&&f.identifier===a.identifier&&(o.removeEventListener("message",u),c())};o.addEventListener("message",u)}))}}))},zm=(t,e,r,n)=>async()=>{let i=Fs();return globalThis.postMessage({type:e,identifier:i,name:t}),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===r&&c.identifier===i&&(globalThis.removeEventListener("message",s),o(()=>{globalThis.postMessage({type:n,identifier:i,name:t})}))};globalThis.addEventListener("message",s)})},jv={singleProcess:!1},Gm=t=>{if(t=Object.assign({},jv,t),!!globalThis.document||t.singleProcess){let r=new EventTarget;return Pl.addEventListener("message",Hm(r,"requestReadLock",Il,Rl,Cl)),Pl.addEventListener("message",Hm(r,"requestWriteLock",Tl,Bl,Ll)),r}return{isWorker:!0,readLock:r=>zm(r,Il,Cl,Rl),writeLock:r=>zm(r,Tl,Ll,Bl)}};var Kn={},tn;async function Dl(t,e){let r,n=new Promise(i=>{r=i});return t.add(async()=>await Sl((async()=>await new Promise(i=>{r(()=>{i()})}))(),{milliseconds:e.timeout})),await n}var Jv=(t,e)=>{if(tn.isWorker===!0)return{readLock:tn.readLock(t,e),writeLock:tn.writeLock(t,e)};let r=new Jr({concurrency:1}),n;return{async readLock(){if(n!=null)return await Dl(n,e);n=new Jr({concurrency:e.concurrency,autoStart:!1});let i=n,o=Dl(n,e);return r.add(async()=>(i.start(),await i.onIdle().then(()=>{n===i&&(n=null)}))),await o},async writeLock(){return n=null,await Dl(r,e)}}},e_={name:"lock",concurrency:1/0,timeout:846e5,singleProcess:!1};function Nl(t){let e=Object.assign({},e_,t);return tn==null&&(tn=Gm(e),tn.isWorker!==!0&&(tn.addEventListener("requestReadLock",r=>{Kn[r.data.name]!=null&&Kn[r.data.name].readLock().then(async n=>await r.data.handler().finally(()=>n()))}),tn.addEventListener("requestWriteLock",async r=>{Kn[r.data.name]!=null&&Kn[r.data.name].writeLock().then(async n=>await r.data.handler().finally(()=>n()))}))),Kn[e.name]==null&&(Kn[e.name]=Jv(e.name,e)),Kn[e.name]}var ut={ERR_INVALID_PARAMETERS:"ERR_INVALID_PARAMETERS"};var Bi;(function(t){let e;(function(i){let o;i.codec=()=>(o==null&&(o=ct((s,a,c={})=>{c.lengthDelimited!==!1&&a.fork(),s.key!=null&&s.key!==""&&(a.uint32(10),a.string(s.key)),s.value!=null&&s.value.byteLength>0&&(a.uint32(18),a.bytes(s.value)),c.lengthDelimited!==!1&&a.ldelim()},(s,a)=>{let c={key:"",value:new Uint8Array(0)},u=a==null?s.len:s.pos+a;for(;s.pos<u;){let l=s.uint32();switch(l>>>3){case 1:c.key=s.string();break;case 2:c.value=s.bytes();break;default:s.skipType(l&7);break}}return c})),o),i.encode=s=>at(s,i.codec()),i.decode=s=>st(s,i.codec())})(e=t.Peer$metadataEntry||(t.Peer$metadataEntry={}));let r;(function(i){let o;i.codec=()=>(o==null&&(o=ct((s,a,c={})=>{c.lengthDelimited!==!1&&a.fork(),s.key!=null&&s.key!==""&&(a.uint32(10),a.string(s.key)),s.value!=null&&(a.uint32(18),oa.codec().encode(s.value,a)),c.lengthDelimited!==!1&&a.ldelim()},(s,a)=>{let c={key:""},u=a==null?s.len:s.pos+a;for(;s.pos<u;){let l=s.uint32();switch(l>>>3){case 1:c.key=s.string();break;case 2:c.value=oa.codec().decode(s,s.uint32());break;default:s.skipType(l&7);break}}return c})),o),i.encode=s=>at(s,i.codec()),i.decode=s=>st(s,i.codec())})(r=t.Peer$tagsEntry||(t.Peer$tagsEntry={}));let n;t.codec=()=>(n==null&&(n=ct((i,o,s={})=>{if(s.lengthDelimited!==!1&&o.fork(),i.addresses!=null)for(let a of i.addresses)o.uint32(10),ia.codec().encode(a,o);if(i.protocols!=null)for(let a of i.protocols)o.uint32(18),o.string(a);if(i.publicKey!=null&&(o.uint32(34),o.bytes(i.publicKey)),i.peerRecordEnvelope!=null&&(o.uint32(42),o.bytes(i.peerRecordEnvelope)),i.metadata!=null&&i.metadata.size!==0)for(let[a,c]of i.metadata.entries())o.uint32(50),t.Peer$metadataEntry.codec().encode({key:a,value:c},o);if(i.tags!=null&&i.tags.size!==0)for(let[a,c]of i.tags.entries())o.uint32(58),t.Peer$tagsEntry.codec().encode({key:a,value:c},o);s.lengthDelimited!==!1&&o.ldelim()},(i,o)=>{let s={addresses:[],protocols:[],metadata:new Map,tags:new Map},a=o==null?i.len:i.pos+o;for(;i.pos<a;){let c=i.uint32();switch(c>>>3){case 1:s.addresses.push(ia.codec().decode(i,i.uint32()));break;case 2:s.protocols.push(i.string());break;case 4:s.publicKey=i.bytes();break;case 5:s.peerRecordEnvelope=i.bytes();break;case 6:{let u=t.Peer$metadataEntry.codec().decode(i,i.uint32());s.metadata.set(u.key,u.value);break}case 7:{let u=t.Peer$tagsEntry.codec().decode(i,i.uint32());s.tags.set(u.key,u.value);break}default:i.skipType(c&7);break}}return s})),n),t.encode=i=>at(i,t.codec()),t.decode=i=>st(i,t.codec())})(Bi||(Bi={}));var ia;(function(t){let e;t.codec=()=>(e==null&&(e=ct((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.multiaddr!=null&&r.multiaddr.byteLength>0&&(n.uint32(10),n.bytes(r.multiaddr)),r.isCertified!=null&&(n.uint32(16),n.bool(r.isCertified)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={multiaddr:new Uint8Array(0)},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.multiaddr=r.bytes();break;case 2:i.isCertified=r.bool();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>at(r,t.codec()),t.decode=r=>st(r,t.codec())})(ia||(ia={}));var oa;(function(t){let e;t.codec=()=>(e==null&&(e=ct((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.value!=null&&r.value!==0&&(n.uint32(8),n.uint32(r.value)),r.expiry!=null&&(n.uint32(16),n.uint64(r.expiry)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={value:0},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.value=r.uint32();break;case 2:i.expiry=r.uint64();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>at(r,t.codec()),t.decode=r=>st(r,t.codec())})(oa||(oa={}));function Li(t,e){let r=Bi.decode(e);r.publicKey!=null&&t.publicKey==null&&(t=qp({...t,publicKey:t.publicKey}));let n=new Map,i=BigInt(Date.now());for(let[o,s]of r.tags.entries())s.expiry!=null&&s.expiry<i||n.set(o,s);return{...r,id:t,addresses:r.addresses.map(({multiaddr:o,isCertified:s})=>({multiaddr:Ye(o),isCertified:s??!1})),metadata:r.metadata,peerRecordEnvelope:r.peerRecordEnvelope??void 0,tags:n}}var kl="/peers/";function Pi(t){if(!Us(t)||t.type==null)throw new b("Invalid PeerId",ut.ERR_INVALID_PARAMETERS);let e=t.toCID().toString();return new cr(`${kl}${e}`)}async function Ym(t,e,r){let n=new Map;for(let i of r){if(i==null)continue;if(i.multiaddr instanceof Uint8Array&&(i.multiaddr=Ye(i.multiaddr)),!Mn(i.multiaddr))throw new b("Multiaddr was invalid",ut.ERR_INVALID_PARAMETERS);if(!await e(t,i.multiaddr))continue;let o=i.isCertified??!1,s=i.multiaddr.toString(),a=n.get(s);a!=null?i.isCertified=a.isCertified||o:n.set(s,{multiaddr:i.multiaddr,isCertified:o})}return[...n.values()].sort((i,o)=>i.multiaddr.toString().localeCompare(o.multiaddr.toString())).map(({isCertified:i,multiaddr:o})=>({isCertified:i,multiaddr:o.bytes}))}async function aa(t,e,r,n){if(e==null)throw new b("Invalid PeerData",ut.ERR_INVALID_PARAMETERS);if(e.publicKey!=null&&t.publicKey!=null&&!Pe(e.publicKey,t.publicKey))throw new b("publicKey bytes do not match peer id publicKey bytes",ut.ERR_INVALID_PARAMETERS);let i=n.existingPeer;if(i!=null&&!t.equals(i.id))throw new b("peer id did not match existing peer id",ut.ERR_INVALID_PARAMETERS);let o=i?.addresses??[],s=new Set(i?.protocols??[]),a=i?.metadata??new Map,c=i?.tags??new Map,u=i?.peerRecordEnvelope;if(r==="patch"){if((e.multiaddrs!=null||e.addresses!=null)&&(o=[],e.multiaddrs!=null&&o.push(...e.multiaddrs.map(f=>({isCertified:!1,multiaddr:f}))),e.addresses!=null&&o.push(...e.addresses)),e.protocols!=null&&(s=new Set(e.protocols)),e.metadata!=null){let f=e.metadata instanceof Map?[...e.metadata.entries()]:Object.entries(e.metadata);a=sa(f,{validate:Wm})}if(e.tags!=null){let f=e.tags instanceof Map?[...e.tags.entries()]:Object.entries(e.tags);c=sa(f,{validate:Qm,map:Xm})}e.peerRecordEnvelope!=null&&(u=e.peerRecordEnvelope)}if(r==="merge"){if(e.multiaddrs!=null&&o.push(...e.multiaddrs.map(f=>({isCertified:!1,multiaddr:f}))),e.addresses!=null&&o.push(...e.addresses),e.protocols!=null&&(s=new Set([...s,...e.protocols])),e.metadata!=null){let f=e.metadata instanceof Map?[...e.metadata.entries()]:Object.entries(e.metadata);for(let[h,p]of f)p==null?a.delete(h):a.set(h,p);a=sa([...a.entries()],{validate:Wm})}if(e.tags!=null){let f=e.tags instanceof Map?[...e.tags.entries()]:Object.entries(e.tags),h=new Map(c);for(let[p,d]of f)d==null?h.delete(p):h.set(p,d);c=sa([...h.entries()],{validate:Qm,map:Xm})}e.peerRecordEnvelope!=null&&(u=e.peerRecordEnvelope)}let l={addresses:await Ym(t,n.addressFilter??(async()=>!0),o),protocols:[...s.values()].sort((f,h)=>f.localeCompare(h)),metadata:a,tags:c,publicKey:i?.id.publicKey??e.publicKey??t.publicKey,peerRecordEnvelope:u};return t.type!=="RSA"&&delete l.publicKey,l}function sa(t,e){let r=new Map;for(let[n,i]of t)i!=null&&e.validate(n,i);for(let[n,i]of t.sort(([o],[s])=>o.localeCompare(s)))i!=null&&r.set(n,e.map?.(n,i)??i);return r}function Wm(t,e){if(typeof t!="string")throw new b("Metadata key must be a string",ut.ERR_INVALID_PARAMETERS);if(!(e instanceof Uint8Array))throw new b("Metadata value must be a Uint8Array",ut.ERR_INVALID_PARAMETERS)}function Qm(t,e){if(typeof t!="string")throw new b("Tag name must be a string",ut.ERR_INVALID_PARAMETERS);if(e.value!=null){if(parseInt(`${e.value}`,10)!==e.value)throw new b("Tag value must be an integer",ut.ERR_INVALID_PARAMETERS);if(e.value<0||e.value>100)throw new b("Tag value must be between 0-100",ut.ERR_INVALID_PARAMETERS)}if(e.ttl!=null){if(parseInt(`${e.ttl}`,10)!==e.ttl)throw new b("Tag ttl must be an integer",ut.ERR_INVALID_PARAMETERS);if(e.ttl<0)throw new b("Tag ttl must be between greater than 0",ut.ERR_INVALID_PARAMETERS)}}function Xm(t,e){let r;return e.expiry!=null&&(r=e.expiry),e.ttl!=null&&(r=BigInt(Date.now()+Number(e.ttl))),{value:e.value??0,expiry:r}}function ca(t,e,r){let n=t.toString().split("/")[2],i=bt.decode(n),o=bi(i),s=r.get(o);if(s!=null)return s;let a=Li(o,e);return r.set(o,a),a}function t_(t,e){return t==null?{}:{prefix:kl,filters:(t.filters??[]).map(r=>({key:n,value:i})=>r(ca(n,i,e))),orders:(t.orders??[]).map(r=>(n,i)=>r(ca(n.key,n.value,e),ca(i.key,i.value,e)))}}var ua=class{peerId;datastore;lock;addressFilter;constructor(e,r={}){this.peerId=e.peerId,this.datastore=e.datastore,this.addressFilter=r.addressFilter,this.lock=Nl({name:"peer-store",singleProcess:!0})}async has(e){return this.datastore.has(Pi(e))}async delete(e){if(this.peerId.equals(e))throw new b("Cannot delete self peer",ut.ERR_INVALID_PARAMETERS);await this.datastore.delete(Pi(e))}async load(e){let r=await this.datastore.get(Pi(e));return Li(e,r)}async save(e,r){let{existingBuf:n,existingPeer:i}=await this.#e(e),o=await aa(e,r,"patch",{addressFilter:this.addressFilter});return this.#t(e,o,n,i)}async patch(e,r){let{existingBuf:n,existingPeer:i}=await this.#e(e),o=await aa(e,r,"patch",{addressFilter:this.addressFilter,existingPeer:i});return this.#t(e,o,n,i)}async merge(e,r){let{existingBuf:n,existingPeer:i}=await this.#e(e),o=await aa(e,r,"merge",{addressFilter:this.addressFilter,existingPeer:i});return this.#t(e,o,n,i)}async*all(e){let r=new Gt;for await(let{key:n,value:i}of this.datastore.query(t_(e??{},r))){let o=ca(n,i,r);o.id.equals(this.peerId)||(yield o)}}async#e(e){try{let r=await this.datastore.get(Pi(e)),n=Li(e,r);return{existingBuf:r,existingPeer:n}}catch(r){if(r.code!=="ERR_NOT_FOUND")throw r}return{}}async#t(e,r,n,i){let o=Bi.encode(r);return n!=null&&Pe(o,n)?{peer:Li(e,o),previous:i,updated:!1}:(await this.datastore.put(Pi(e),o),{peer:Li(e,o),previous:i,updated:!0})}};var _e=ie("libp2p:peer-store"),la=class{store;events;peerId;constructor(e,r={}){this.events=e.events,this.peerId=e.peerId,this.store=new ua(e,r)}async forEach(e,r){_e.trace("forEach await read lock");let n=await this.store.lock.readLock();_e.trace("forEach got read lock");try{for await(let i of this.store.all(r))e(i)}finally{_e.trace("forEach release read lock"),n()}}async all(e){_e.trace("all await read lock");let r=await this.store.lock.readLock();_e.trace("all got read lock");try{return await bo(this.store.all(e))}finally{_e.trace("all release read lock"),r()}}async delete(e){_e.trace("delete await write lock");let r=await this.store.lock.writeLock();_e.trace("delete got write lock");try{await this.store.delete(e)}finally{_e.trace("delete release write lock"),r()}}async has(e){_e.trace("has await read lock");let r=await this.store.lock.readLock();_e.trace("has got read lock");try{return await this.store.has(e)}finally{_e.trace("has release read lock"),r()}}async get(e){_e.trace("get await read lock");let r=await this.store.lock.readLock();_e.trace("get got read lock");try{return await this.store.load(e)}finally{_e.trace("get release read lock"),r()}}async save(e,r){_e.trace("save await write lock");let n=await this.store.lock.writeLock();_e.trace("save got write lock");try{let i=await this.store.save(e,r);return this.#e(e,i),i.peer}finally{_e.trace("save release write lock"),n()}}async patch(e,r){_e.trace("patch await write lock");let n=await this.store.lock.writeLock();_e.trace("patch got write lock");try{let i=await this.store.patch(e,r);return this.#e(e,i),i.peer}finally{_e.trace("patch release write lock"),n()}}async merge(e,r){_e.trace("merge await write lock");let n=await this.store.lock.writeLock();_e.trace("merge got write lock");try{let i=await this.store.merge(e,r);return this.#e(e,i),i.peer}finally{_e.trace("merge release write lock"),n()}}async consumePeerRecord(e,r){let n=await Si.openAndCertify(e,Un.DOMAIN);if(r?.equals(n.peerId)===!1)return _e("envelope peer id was not the expected peer id - expected: %p received: %p",r,n.peerId),!1;let i=Un.createFromProtobuf(n.payload),o;try{o=await this.get(n.peerId)}catch(s){if(s.code!=="ERR_NOT_FOUND")throw s}if(o?.peerRecordEnvelope!=null){let s=await Si.createFromProtobuf(o.peerRecordEnvelope),a=Un.createFromProtobuf(s.payload);if(a.seqNumber>=i.seqNumber)return _e("sequence number was lower or equal to existing sequence number - stored: %d received: %d",a.seqNumber,i.seqNumber),!1}return await this.patch(i.peerId,{peerRecordEnvelope:e,addresses:i.multiaddrs.map(s=>({isCertified:!0,multiaddr:s}))}),!0}#e(e,r){r.updated&&(this.peerId.equals(e)?this.events.safeDispatchEvent("self:peer:update",{detail:r}):this.events.safeDispatchEvent("peer:update",{detail:r}))}};function r_(t){return t[Symbol.asyncIterator]!=null}function n_(t){if(r_(t))return(async()=>{for await(let e of t);})();for(let e of t);}var Ol=n_;function i_(t){let[e,r]=t[Symbol.asyncIterator]!=null?[t[Symbol.asyncIterator](),Symbol.asyncIterator]:[t[Symbol.iterator](),Symbol.iterator],n=[];return{peek:()=>e.next(),push:i=>{n.push(i)},next:()=>n.length>0?{done:!1,value:n.shift()}:e.next(),[r](){return this}}}var fa=i_;function o_(t){return t[Symbol.asyncIterator]!=null}function s_(t,e){if(o_(t))return async function*(){for await(let a of t)await e(a)&&(yield a)}();let r=fa(t),{value:n,done:i}=r.next();if(i===!0)return function*(){}();let o=e(n);if(typeof o.then=="function")return async function*(){await o&&(yield n);for await(let a of r)await e(a)&&(yield a)}();let s=e;return function*(){o===!0&&(yield n);for(let a of r)s(a)&&(yield a)}()}var Wt=s_;function a_(t){return t[Symbol.asyncIterator]!=null}function c_(t,e){return a_(t)?async function*(){yield*(await bo(t)).sort(e)}():function*(){yield*bo(t).sort(e)}()}var Ml=c_;function u_(t){return t[Symbol.asyncIterator]!=null}function l_(t,e){return u_(t)?async function*(){let r=0;if(!(e<1)){for await(let n of t)if(yield n,r++,r===e)return}}():function*(){let r=0;if(!(e<1)){for(let n of t)if(yield n,r++,r===e)return}}()}var Ul=l_;var ha=class{put(e,r,n){return Promise.reject(new Error(".put is not implemented"))}get(e,r){return Promise.reject(new Error(".get is not implemented"))}has(e,r){return Promise.reject(new Error(".has is not implemented"))}delete(e,r){return Promise.reject(new Error(".delete is not implemented"))}async*putMany(e,r={}){for await(let{key:n,value:i}of e)await this.put(n,i,r),yield n}async*getMany(e,r={}){for await(let n of e)yield{key:n,value:await this.get(n,r)}}async*deleteMany(e,r={}){for await(let n of e)await this.delete(n,r),yield n}batch(){let e=[],r=[];return{put(n,i){e.push({key:n,value:i})},delete(n){r.push(n)},commit:async n=>{await Ol(this.putMany(e,n)),e=[],await Ol(this.deleteMany(r,n)),r=[]}}}async*_all(e,r){throw new Error("._all is not implemented")}async*_allKeys(e,r){throw new Error("._allKeys is not implemented")}query(e,r){let n=this._all(e,r);if(e.prefix!=null){let i=e.prefix;n=Wt(n,o=>o.key.toString().startsWith(i))}if(Array.isArray(e.filters)&&(n=e.filters.reduce((i,o)=>Wt(i,o),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,o)=>Ml(i,o),n)),e.offset!=null){let i=0,o=e.offset;n=Wt(n,()=>i++>=o)}return e.limit!=null&&(n=Ul(n,e.limit)),n}queryKeys(e,r){let n=this._allKeys(e,r);if(e.prefix!=null){let i=e.prefix;n=Wt(n,o=>o.toString().startsWith(i))}if(Array.isArray(e.filters)&&(n=e.filters.reduce((i,o)=>Wt(i,o),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,o)=>Ml(i,o),n)),e.offset!=null){let i=e.offset,o=0;n=Wt(n,()=>o++>=i)}return e.limit!=null&&(n=Ul(n,e.limit)),n}};var Jm=te(Fl(),1);function ey(t){return t=t??new Error("Not Found"),(0,Jm.default)(t,"ERR_NOT_FOUND")}var da=class extends ha{data;constructor(){super(),this.data=new Map}put(e,r){return this.data.set(e.toString(),r),e}get(e){let r=this.data.get(e.toString());if(r==null)throw ey();return r}has(e){return this.data.has(e.toString())}delete(e){this.data.delete(e.toString())}*_all(){for(let[e,r]of this.data.entries())yield{key:new cr(e),value:r}}*_allKeys(){for(let e of this.data.keys())yield new cr(e)}};function ty(t,e){let r;return function(){let n=function(){r=void 0,t()};clearTimeout(r),r=setTimeout(n,e)}}var d_=ie("libp2p:address-manager"),p_=t=>t;function Kl(t,e){let r=t.getPeerId();return r!=null&&de(r).equals(e)&&(t=t.decapsulate(Ye(`/p2p/${e.toString()}`))),t}var pa=class{components;listen;announce;observed;announceFilter;constructor(e,r={}){let{listen:n=[],announce:i=[]}=r;this.components=e,this.listen=n.map(o=>o.toString()),this.announce=new Set(i.map(o=>o.toString())),this.observed=new Map,this.announceFilter=r.announceFilter??p_,this._updatePeerStoreAddresses=ty(this._updatePeerStoreAddresses.bind(this),1e3),e.events.addEventListener("transport:listening",()=>{this._updatePeerStoreAddresses()}),e.events.addEventListener("transport:close",()=>{this._updatePeerStoreAddresses()})}_updatePeerStoreAddresses(){let e=this.getAnnounceAddrs().concat(this.components.transportManager.getAddrs()).concat([...this.observed.entries()].filter(([r,n])=>n.confident).map(([r])=>Ye(r))).map(r=>r.getPeerId()===this.components.peerId.toString()?r.decapsulate(`/p2p/${this.components.peerId.toString()}`):r);this.components.peerStore.patch(this.components.peerId,{multiaddrs:e}).catch(r=>{d_.error("error updating addresses",r)})}getListenAddrs(){return Array.from(this.listen).map(e=>Ye(e))}getAnnounceAddrs(){return Array.from(this.announce).map(e=>Ye(e))}getObservedAddrs(){return Array.from(this.observed).map(([e])=>Ye(e))}addObservedAddr(e){e=Kl(e,this.components.peerId);let r=e.toString();this.observed.has(r)||this.observed.set(r,{confident:!1})}confirmObservedAddr(e){e=Kl(e,this.components.peerId);let r=e.toString(),i=(this.observed.get(r)??{confident:!1}).confident;this.observed.set(r,{confident:!0}),i||this._updatePeerStoreAddresses()}removeObservedAddr(e){e=Kl(e,this.components.peerId);let r=e.toString();this.observed.delete(r)}getAddresses(){let e=this.getAnnounceAddrs().map(n=>n.toString());e.length===0&&(e=this.components.transportManager.getAddrs().map(n=>n.toString())),e=e.concat(Array.from(this.observed).filter(([n,i])=>i.confident).map(([n])=>n));let r=new Set(e);return this.announceFilter(Array.from(r).map(n=>Ye(n))).map(n=>n.protos().pop()?.path===!0||n.getPeerId()===this.components.peerId.toString()?n:n.encapsulate(`/p2p/${this.components.peerId.toString()}`))}};function ry(t){return t!=null&&typeof t.start=="function"&&typeof t.stop=="function"}var ql=class{components={};_started=!1;constructor(e={}){this.components={};for(let[r,n]of Object.entries(e))this.components[r]=n}isStarted(){return this._started}async _invokeStartableMethod(e){await Promise.all(Object.values(this.components).filter(r=>ry(r)).map(async r=>{await r[e]?.()}))}async beforeStart(){await this._invokeStartableMethod("beforeStart")}async start(){await this._invokeStartableMethod("start"),this._started=!0}async afterStart(){await this._invokeStartableMethod("afterStart")}async beforeStop(){await this._invokeStartableMethod("beforeStop")}async stop(){await this._invokeStartableMethod("stop"),this._started=!1}async afterStop(){await this._invokeStartableMethod("afterStop")}},m_=["metrics","connectionProtector"],y_=["components","isStarted","beforeStart","start","afterStart","beforeStop","stop","afterStop","then","_invokeStartableMethod"];function ny(t={}){let e=new ql(t);return new Proxy(e,{get(n,i,o){if(typeof i=="string"&&!y_.includes(i)){let s=e.components[i];if(s==null&&!m_.includes(i))throw new b(`${i} not set`,"ERR_SERVICE_MISSING");return s}return Reflect.get(n,i,o)},set(n,i,o){return typeof i=="string"?e.components[i]=o:Reflect.set(n,i,o),!0}})}var ly=te(iy(),1);var oy="[a-fA-F\\d:]",rn=t=>t&&t.includeBoundaries?`(?:(?<=\\s|^)(?=${oy})|(?<=${oy})(?=\\s|$))`:"",Qt="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",$e="[a-fA-F\\d]{1,4}",ma=`
|
|
37
|
+
SELECT points, expire FROM ${this.tableName} WHERE key = $1 AND (expire > $2 OR expire IS NULL);`,values:[e,Date.now()]}).then(i=>{i.rowCount===0&&(i=null),r(i)}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}_delete(e){return this.tableCreated?this._query({name:"rlflx-delete",text:`DELETE FROM ${this.tableName} WHERE key = $1`,values:[e]}).then(r=>r.rowCount>0):Promise.reject(Error("Table is not created yet"))}};Qy.exports=af});var Zy=O(()=>{});var Jy=O((G6,jy)=>{jy.exports=class{constructor(e,r,n=null){this.value=e,this.expiresAt=r,this.timeoutId=n}get value(){return this._value}set value(e){this._value=parseInt(e)}get expiresAt(){return this._expiresAt}set expiresAt(e){!(e instanceof Date)&&Number.isInteger(e)&&(e=new Date(e)),this._expiresAt=e}get timeoutId(){return this._timeoutId}set timeoutId(e){this._timeoutId=e}}});var tg=O((W6,eg)=>{var W_=Jy(),cf=Ct();eg.exports=class{constructor(){this._storage={}}incrby(e,r,n){if(this._storage[e]){let i=this._storage[e].expiresAt?this._storage[e].expiresAt.getTime()-new Date().getTime():-1;return i!==0?(this._storage[e].value=this._storage[e].value+r,new cf(0,i,this._storage[e].value,!1)):this.set(e,r,n)}return this.set(e,r,n)}set(e,r,n){let i=n*1e3;return this._storage[e]&&this._storage[e].timeoutId&&clearTimeout(this._storage[e].timeoutId),this._storage[e]=new W_(r,i>0?new Date(Date.now()+i):null),i>0&&(this._storage[e].timeoutId=setTimeout(()=>{delete this._storage[e]},i),this._storage[e].timeoutId.unref&&this._storage[e].timeoutId.unref()),new cf(0,i===0?-1:i,this._storage[e].value,!0)}get(e){if(this._storage[e]){let r=this._storage[e].expiresAt?this._storage[e].expiresAt.getTime()-new Date().getTime():-1;return new cf(0,r,this._storage[e].value,!1)}return null}delete(e){return this._storage[e]?(this._storage[e].timeoutId&&clearTimeout(this._storage[e].timeoutId),delete this._storage[e],!0):!1}}});var lf=O((Q6,ng)=>{var Q_=Po(),X_=tg(),rg=Ct(),uf=class extends Q_{constructor(e={}){super(e),this._memoryStorage=new X_}consume(e,r=1,n={}){return new Promise((i,o)=>{let s=this.getKey(e),a=this._getKeySecDuration(n),c=this._memoryStorage.incrby(s,r,a);if(c.remainingPoints=Math.max(this.points-c.consumedPoints,0),c.consumedPoints>this.points)this.blockDuration>0&&c.consumedPoints<=this.points+r&&(c=this._memoryStorage.set(s,c.consumedPoints,this.blockDuration)),o(c);else if(this.execEvenly&&c.msBeforeNext>0&&!c.isFirstInDuration){let u=Math.ceil(c.msBeforeNext/(c.remainingPoints+2));u<this.execEvenlyMinDelayMs&&(u=c.consumedPoints*this.execEvenlyMinDelayMs),setTimeout(i,u,c)}else i(c)})}penalty(e,r=1,n={}){let i=this.getKey(e);return new Promise(o=>{let s=this._getKeySecDuration(n),a=this._memoryStorage.incrby(i,r,s);a.remainingPoints=Math.max(this.points-a.consumedPoints,0),o(a)})}reward(e,r=1,n={}){let i=this.getKey(e);return new Promise(o=>{let s=this._getKeySecDuration(n),a=this._memoryStorage.incrby(i,-r,s);a.remainingPoints=Math.max(this.points-a.consumedPoints,0),o(a)})}block(e,r){let n=r*1e3,i=this.points+1;return this._memoryStorage.set(this.getKey(e),i,r),Promise.resolve(new rg(0,n===0?-1:n,i))}set(e,r,n){let i=(n>=0?n:this.duration)*1e3;return this._memoryStorage.set(this.getKey(e),r,n),Promise.resolve(new rg(0,i===0?-1:i,r))}get(e){let r=this._memoryStorage.get(this.getKey(e));return r!==null&&(r.remainingPoints=Math.max(this.points-r.consumedPoints,0)),Promise.resolve(r)}delete(e){return Promise.resolve(this._memoryStorage.delete(this.getKey(e)))}};ng.exports=uf});var lg=O((X6,ug)=>{var ig=Zy(),Z_=Wi(),j_=Po(),sg=lf(),J_=Ct(),kt="rate_limiter_flexible",Ui=null,og=function(t,e,r,n){let i;n===null||n===!0||n===!1?i=n:i={remainingPoints:n.remainingPoints,msBeforeNext:n.msBeforeNext,consumedPoints:n.consumedPoints,isFirstInDuration:n.isFirstInDuration},t.send({channel:kt,keyPrefix:e.keyPrefix,promiseId:e.promiseId,type:r,data:i})},ag=function(t){setTimeout(()=>{this._initiated?process.send(t):typeof this._promises[t.promiseId]<"u"&&ag.call(this,t)},30)},Oi=function(t,e,r,n,i){let o={channel:kt,keyPrefix:this.keyPrefix,func:t,promiseId:e,data:{key:r,arg:n,opts:i}};this._initiated?process.send(o):ag.call(this,o)},cg=function(t,e){if(!e||e.channel!==kt||typeof this._rateLimiters[e.keyPrefix]>"u")return!1;let r;switch(e.func){case"consume":r=this._rateLimiters[e.keyPrefix].consume(e.data.key,e.data.arg,e.data.opts);break;case"penalty":r=this._rateLimiters[e.keyPrefix].penalty(e.data.key,e.data.arg,e.data.opts);break;case"reward":r=this._rateLimiters[e.keyPrefix].reward(e.data.key,e.data.arg,e.data.opts);break;case"block":r=this._rateLimiters[e.keyPrefix].block(e.data.key,e.data.arg,e.data.opts);break;case"get":r=this._rateLimiters[e.keyPrefix].get(e.data.key,e.data.opts);break;case"delete":r=this._rateLimiters[e.keyPrefix].delete(e.data.key,e.data.opts);break;default:return!1}r&&r.then(n=>{og(t,e,"resolve",n)}).catch(n=>{og(t,e,"reject",n)})},eA=function(t){if(!t||t.channel!==kt||t.keyPrefix!==this.keyPrefix)return!1;if(this._promises[t.promiseId]){clearTimeout(this._promises[t.promiseId].timeoutId);let e;switch(t.data===null||t.data===!0||t.data===!1?e=t.data:e=new J_(t.data.remainingPoints,t.data.msBeforeNext,t.data.consumedPoints,t.data.isFirstInDuration),t.type){case"resolve":this._promises[t.promiseId].resolve(e);break;case"reject":this._promises[t.promiseId].reject(e);break;default:throw new Error(`RateLimiterCluster: no such message type '${t.type}'`)}delete this._promises[t.promiseId]}},tA=function(){return{points:this.points,duration:this.duration,blockDuration:this.blockDuration,execEvenly:this.execEvenly,execEvenlyMinDelayMs:this.execEvenlyMinDelayMs,keyPrefix:this.keyPrefix}},Mi=function(t,e){let r=process.hrtime(),n=r[0].toString()+r[1].toString();return typeof this._promises[n]<"u"&&(n+=Z_.randomBytes(12).toString("base64")),this._promises[n]={resolve:t,reject:e,timeoutId:setTimeout(()=>{delete this._promises[n],e(new Error("RateLimiterCluster timeout: no answer from master in time"))},this.timeoutMs)},n},ff=class{constructor(){if(Ui)return Ui;this._rateLimiters={},ig.setMaxListeners(0),ig.on("message",(e,r)=>{r&&r.channel===kt&&r.type==="init"?(typeof this._rateLimiters[r.opts.keyPrefix]>"u"&&(this._rateLimiters[r.opts.keyPrefix]=new sg(r.opts)),e.send({channel:kt,type:"init",keyPrefix:r.opts.keyPrefix})):cg.call(this,e,r)}),Ui=this}},hf=class{constructor(e){if(Ui)return Ui;this._rateLimiters={},e.launchBus((r,n)=>{n.on("process:msg",i=>{let o=i.raw;if(o&&o.channel===kt&&o.type==="init")typeof this._rateLimiters[o.opts.keyPrefix]>"u"&&(this._rateLimiters[o.opts.keyPrefix]=new sg(o.opts)),e.sendDataToProcessId(i.process.pm_id,{data:{},topic:kt,channel:kt,type:"init",keyPrefix:o.opts.keyPrefix},(s,a)=>{s&&console.log(s,a)});else{let s={send:a=>{let c=a;c.topic=kt,typeof c.data>"u"&&(c.data={}),e.sendDataToProcessId(i.process.pm_id,c,(u,l)=>{u&&console.log(u,l)})}};cg.call(this,s,o)}})}),Ui=this}},df=class extends j_{get timeoutMs(){return this._timeoutMs}set timeoutMs(e){this._timeoutMs=typeof e>"u"?5e3:Math.abs(parseInt(e))}constructor(e={}){super(e),process.setMaxListeners(0),this.timeoutMs=e.timeoutMs,this._initiated=!1,process.on("message",r=>{r&&r.channel===kt&&r.type==="init"&&r.keyPrefix===this.keyPrefix?this._initiated=!0:eA.call(this,r)}),process.send({channel:kt,type:"init",opts:tA.call(this)}),this._promises={}}consume(e,r=1,n={}){return new Promise((i,o)=>{let s=Mi.call(this,i,o);Oi.call(this,"consume",s,e,r,n)})}penalty(e,r=1,n={}){return new Promise((i,o)=>{let s=Mi.call(this,i,o);Oi.call(this,"penalty",s,e,r,n)})}reward(e,r=1,n={}){return new Promise((i,o)=>{let s=Mi.call(this,i,o);Oi.call(this,"reward",s,e,r,n)})}block(e,r,n={}){return new Promise((i,o)=>{let s=Mi.call(this,i,o);Oi.call(this,"block",s,e,r,n)})}get(e,r={}){return new Promise((n,i)=>{let o=Mi.call(this,n,i);Oi.call(this,"get",o,e,r)})}delete(e,r={}){return new Promise((n,i)=>{let o=Mi.call(this,n,i);Oi.call(this,"delete",o,e,r)})}};ug.exports={RateLimiterClusterMaster:ff,RateLimiterClusterMasterPM2:hf,RateLimiterCluster:df}});var hg=O((Z6,fg)=>{var rA=ki(),nA=Ct(),pf=class extends rA{constructor(e){super(e),this.client=e.storeClient}_getRateLimiterRes(e,r,n){let i=new nA;return i.consumedPoints=parseInt(n.consumedPoints),i.isFirstInDuration=n.consumedPoints===r,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=n.msBeforeNext,i}_upsert(e,r,n,i=!1,o={}){return new Promise((s,a)=>{let c=Date.now(),u=Math.floor(n/1e3);i?this.client.set(e,r,u,l=>{l?a(l):this.client.set(`${e}_expire`,u>0?c+u*1e3:-1,u,()=>{let f={consumedPoints:r,msBeforeNext:u>0?u*1e3:-1};s(f)})}):this.client.incr(e,r,(l,f)=>{l||f===!1?this.client.add(e,r,u,(h,p)=>{if(h||!p)if(typeof o.attemptNumber>"u"||o.attemptNumber<3){let d=Object.assign({},o);d.attemptNumber=d.attemptNumber?d.attemptNumber+1:1,this._upsert(e,r,n,i,d).then(m=>s(m)).catch(m=>a(m))}else a(new Error("Can not add key"));else this.client.add(`${e}_expire`,u>0?c+u*1e3:-1,u,()=>{let d={consumedPoints:r,msBeforeNext:u>0?u*1e3:-1};s(d)})}):this.client.get(`${e}_expire`,(h,p)=>{if(h)a(h);else{let d=p===!1?0:p,m={consumedPoints:f,msBeforeNext:d>=0?Math.max(d-c,0):-1};s(m)}})})})}_get(e){return new Promise((r,n)=>{let i=Date.now();this.client.get(e,(o,s)=>{s?this.client.get(`${e}_expire`,(a,c)=>{if(a)n(a);else{let u=c===!1?0:c,l={consumedPoints:s,msBeforeNext:u>=0?Math.max(u-i,0):-1};r(l)}}):r(null)})})}_delete(e){return new Promise((r,n)=>{this.client.del(e,(i,o)=>{i?n(i):o===!1?r(o):this.client.del(`${e}_expire`,s=>{s?n(s):r(o)})})})}};fg.exports=pf});var mg=O((J6,pg)=>{var dg=Ct();pg.exports=class{constructor(e={}){this.limiter=e.limiter,this.blackList=e.blackList,this.whiteList=e.whiteList,this.isBlackListed=e.isBlackListed,this.isWhiteListed=e.isWhiteListed,this.runActionAnyway=e.runActionAnyway}get limiter(){return this._limiter}set limiter(e){if(typeof e>"u")throw new Error("limiter is not set");this._limiter=e}get runActionAnyway(){return this._runActionAnyway}set runActionAnyway(e){this._runActionAnyway=typeof e>"u"?!1:e}get blackList(){return this._blackList}set blackList(e){this._blackList=Array.isArray(e)?e:[]}get isBlackListed(){return this._isBlackListed}set isBlackListed(e){if(typeof e>"u"&&(e=()=>!1),typeof e!="function")throw new Error("isBlackListed must be function");this._isBlackListed=e}get whiteList(){return this._whiteList}set whiteList(e){this._whiteList=Array.isArray(e)?e:[]}get isWhiteListed(){return this._isWhiteListed}set isWhiteListed(e){if(typeof e>"u"&&(e=()=>!1),typeof e!="function")throw new Error("isWhiteListed must be function");this._isWhiteListed=e}isBlackListedSomewhere(e){return this.blackList.indexOf(e)>=0||this.isBlackListed(e)}isWhiteListedSomewhere(e){return this.whiteList.indexOf(e)>=0||this.isWhiteListed(e)}getBlackRes(){return new dg(0,Number.MAX_SAFE_INTEGER,0,!1)}getWhiteRes(){return new dg(Number.MAX_SAFE_INTEGER,0,0,!1)}rejectBlack(){return Promise.reject(this.getBlackRes())}resolveBlack(){return Promise.resolve(this.getBlackRes())}resolveWhite(){return Promise.resolve(this.getWhiteRes())}consume(e,r=1){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.rejectBlack()),typeof n>"u"?this.limiter.consume(e,r):(this.runActionAnyway&&this.limiter.consume(e,r).catch(()=>{}),n)}block(e,r){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.block(e,r):(this.runActionAnyway&&this.limiter.block(e,r).catch(()=>{}),n)}penalty(e,r){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.penalty(e,r):(this.runActionAnyway&&this.limiter.penalty(e,r).catch(()=>{}),n)}reward(e,r){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.reward(e,r):(this.runActionAnyway&&this.limiter.reward(e,r).catch(()=>{}),n)}get(e){let r;return this.isWhiteListedSomewhere(e)?r=this.resolveWhite():this.isBlackListedSomewhere(e)&&(r=this.resolveBlack()),typeof r>"u"||this.runActionAnyway?this.limiter.get(e):r}delete(e){return this.limiter.delete(e)}}});var gg=O((tP,yg)=>{var iA=Po();yg.exports=class{constructor(...e){if(e.length<1)throw new Error("RateLimiterUnion: at least one limiter have to be passed");e.forEach(r=>{if(!(r instanceof iA))throw new Error("RateLimiterUnion: all limiters have to be instance of RateLimiterAbstract")}),this._limiters=e}consume(e,r=1){return new Promise((n,i)=>{let o=[];this._limiters.forEach(s=>{o.push(s.consume(e,r).catch(a=>({rejected:!0,rej:a})))}),Promise.all(o).then(s=>{let a={},c=!1;s.forEach(u=>{u.rejected===!0&&(c=!0)});for(let u=0;u<s.length;u++)c&&s[u].rejected===!0?a[this._limiters[u].keyPrefix]=s[u].rej:c||(a[this._limiters[u].keyPrefix]=s[u]);c?i(a):n(a)})})}}});var Eg=O((nP,xg)=>{xg.exports=class extends Error{constructor(e,r){super(),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor),this.name="CustomError",this.message=e,r&&(this.extra=r)}}});var _g=O((oP,vg)=>{var wg=Eg(),bg=4294967295,mf="limiter";vg.exports=class{constructor(e,r={maxQueueSize:bg}){this._queueLimiters={KEY_DEFAULT:new Aa(e,r)},this._limiterFlexible=e,this._maxQueueSize=r.maxQueueSize}getTokensRemaining(e=mf){return this._queueLimiters[e]?this._queueLimiters[e].getTokensRemaining():Promise.resolve(this._limiterFlexible.points)}removeTokens(e,r=mf){return this._queueLimiters[r]||(this._queueLimiters[r]=new Aa(this._limiterFlexible,{key:r,maxQueueSize:this._maxQueueSize})),this._queueLimiters[r].removeTokens(e)}};var Aa=class{constructor(e,r={maxQueueSize:bg,key:mf}){this._key=r.key,this._waitTimeout=null,this._queue=[],this._limiterFlexible=e,this._maxQueueSize=r.maxQueueSize}getTokensRemaining(){return this._limiterFlexible.get(this._key).then(e=>e!==null?e.remainingPoints:this._limiterFlexible.points)}removeTokens(e){let r=this;return new Promise((n,i)=>{if(e>r._limiterFlexible.points){i(new wg(`Requested tokens ${e} exceeds maximum ${r._limiterFlexible.points} tokens per interval`));return}r._queue.length>0?r._queueRequest.call(r,n,i,e):r._limiterFlexible.consume(r._key,e).then(o=>{n(o.remainingPoints)}).catch(o=>{o instanceof Error?i(o):(r._queueRequest.call(r,n,i,e),r._waitTimeout===null&&(r._waitTimeout=setTimeout(r._processFIFO.bind(r),o.msBeforeNext)))})})}_queueRequest(e,r,n){let i=this;i._queue.length<i._maxQueueSize?i._queue.push({resolve:e,reject:r,tokens:n}):r(new wg(`Number of requests reached it's maximum ${i._maxQueueSize}`))}_processFIFO(){let e=this;if(e._waitTimeout!==null&&(clearTimeout(e._waitTimeout),e._waitTimeout=null),e._queue.length===0)return;let r=e._queue.shift();e._limiterFlexible.consume(e._key,r.tokens).then(n=>{r.resolve(n.remainingPoints),e._processFIFO.call(e)}).catch(n=>{n instanceof Error?(r.reject(n),e._processFIFO.call(e)):(e._queue.unshift(r),e._waitTimeout===null&&(e._waitTimeout=setTimeout(e._processFIFO.bind(e),n.msBeforeNext)))})}}});var Sg=O((aP,Ag)=>{var yf=Ct();Ag.exports=class{constructor(e,r){this._rateLimiter=e,this._burstLimiter=r}_combineRes(e,r){return e?new yf(e.remainingPoints,Math.min(e.msBeforeNext,r?r.msBeforeNext:0),e.consumedPoints,e.isFirstInDuration):null}consume(e,r=1,n={}){return this._rateLimiter.consume(e,r,n).catch(i=>i instanceof yf?this._burstLimiter.consume(e,r,n).then(o=>Promise.resolve(this._combineRes(i,o))).catch(o=>o instanceof yf?Promise.reject(this._combineRes(i,o)):Promise.reject(o)):Promise.reject(i))}get(e){return Promise.all([this._rateLimiter.get(e),this._burstLimiter.get(e)]).then(([r,n])=>this._combineRes(r,n))}get points(){return this._rateLimiter.points}}});var Rg=O((cP,Ig)=>{var oA=$y(),sA=Gy(),aA=Wy(),cA=Xy(),{RateLimiterClusterMaster:uA,RateLimiterClusterMasterPM2:lA,RateLimiterCluster:fA}=lg(),hA=lf(),dA=hg(),pA=mg(),mA=gg(),yA=_g(),gA=Sg(),xA=Ct();Ig.exports={RateLimiterRedis:oA,RateLimiterMongo:sA,RateLimiterMySQL:aA,RateLimiterPostgres:cA,RateLimiterMemory:hA,RateLimiterMemcache:dA,RateLimiterClusterMaster:uA,RateLimiterClusterMasterPM2:lA,RateLimiterCluster:fA,RLWrapperBlackAndWhite:pA,RateLimiterUnion:mA,RateLimiterQueue:yA,BurstyRateLimiter:gA,RateLimiterRes:xA}});var XA={};We(XA,{createLibp2p:()=>QA});var Gg=te(Xn(),1);var S8=te(Yi(),1),I8=te(gh(),1);var ti=class t extends Error{code;type;constructor(e="The operation was aborted"){super(e),this.code=t.code,this.type=t.type}static code="ABORT_ERR";static type="aborted"},b=class extends Error{code;props;constructor(e,r,n){super(e),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var Ns=te(ye(),1);function pn(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}var Ac={};We(Ac,{base10:()=>$2});function U2(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<t.length;i++){var o=t.charAt(i),s=o.charCodeAt(0);if(r[s]!==255)throw new TypeError(o+" is ambiguous");r[s]=i}var a=t.length,c=t.charAt(0),u=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function f(d){if(d instanceof Uint8Array||(ArrayBuffer.isView(d)?d=new Uint8Array(d.buffer,d.byteOffset,d.byteLength):Array.isArray(d)&&(d=Uint8Array.from(d))),!(d instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(d.length===0)return"";for(var m=0,y=0,g=0,x=d.length;g!==x&&d[g]===0;)g++,m++;for(var w=(x-g)*l+1>>>0,C=new Uint8Array(w);g!==x;){for(var _=d[g],A=0,P=w-1;(_!==0||A<y)&&P!==-1;P--,A++)_+=256*C[P]>>>0,C[P]=_%a>>>0,_=_/a>>>0;if(_!==0)throw new Error("Non-zero carry");y=A,g++}for(var D=w-y;D!==w&&C[D]===0;)D++;for(var W=c.repeat(m);D<w;++D)W+=t.charAt(C[D]);return W}function h(d){if(typeof d!="string")throw new TypeError("Expected String");if(d.length===0)return new Uint8Array;var m=0;if(d[m]!==" "){for(var y=0,g=0;d[m]===c;)y++,m++;for(var x=(d.length-m)*u+1>>>0,w=new Uint8Array(x);d[m];){var C=r[d.charCodeAt(m)];if(C===255)return;for(var _=0,A=x-1;(C!==0||_<g)&&A!==-1;A--,_++)C+=a*w[A]>>>0,w[A]=C%256>>>0,C=C/256>>>0;if(C!==0)throw new Error("Non-zero carry");g=_,m++}if(d[m]!==" "){for(var P=x-g;P!==x&&w[P]===0;)P++;for(var D=new Uint8Array(y+(x-P)),W=y;P!==x;)D[W++]=w[P++];return D}}}function p(d){var m=h(d);if(m)return m;throw new Error(`Non-${e} character`)}return{encode:f,decodeUnsafe:h,decode:p}}var F2=U2,K2=F2,xh=K2;var RS=new Uint8Array(0);var Eh=(t,e)=>{if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0},gr=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")};var wh=t=>new TextEncoder().encode(t),bh=t=>new TextDecoder().decode(t);var wc=class{constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},bc=class{constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.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 _h(this,e)}},vc=class{constructor(e){this.decoders=e}or(e){return _h(this,e)}decode(e){let r=e[0],n=this.decoders[r];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`)}},_h=(t,e)=>new vc({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),_c=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new wc(e,r,n),this.decoder=new bc(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},ri=({name:t,prefix:e,encode:r,decode:n})=>new _c(t,e,r,n),Ur=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=xh(r,e);return ri({prefix:t,name:e,encode:n,decode:o=>gr(i(o))})},q2=(t,e,r,n)=>{let i={};for(let l=0;l<e.length;++l)i[e[l]]=l;let o=t.length;for(;t[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,c=0,u=0;for(let l=0;l<o;++l){let f=i[t[l]];if(f===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|f,a+=r,a>=8&&(a-=8,s[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s},V2=(t,e,r)=>{let n=e[e.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],s+=8;s>r;)s-=r,o+=e[i&a>>s];if(s&&(o+=e[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o},ke=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>ri({prefix:e,name:t,encode(i){return V2(i,n,r)},decode(i){return q2(i,n,r,t)}});var $2=Ur({prefix:"9",name:"base10",alphabet:"0123456789"});var Sc={};We(Sc,{base16:()=>H2,base16upper:()=>z2});var H2=ke({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),z2=ke({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Ic={};We(Ic,{base2:()=>G2});var G2=ke({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Rc={};We(Rc,{base256emoji:()=>Z2});var Ah=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}"),Y2=Ah.reduce((t,e,r)=>(t[r]=e,t),[]),W2=Ah.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function Q2(t){return t.reduce((e,r)=>(e+=Y2[r],e),"")}function X2(t){let e=[];for(let r of t){let n=W2[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var Z2=ri({prefix:"\u{1F680}",name:"base256emoji",encode:Q2,decode:X2});var Cc={};We(Cc,{base32:()=>bt,base32hex:()=>tE,base32hexpad:()=>nE,base32hexpadupper:()=>iE,base32hexupper:()=>rE,base32pad:()=>J2,base32padupper:()=>eE,base32upper:()=>j2,base32z:()=>oE});var bt=ke({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),j2=ke({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),J2=ke({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),eE=ke({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),tE=ke({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),rE=ke({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),nE=ke({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),iE=ke({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),oE=ke({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Tc={};We(Tc,{base36:()=>sE,base36upper:()=>aE});var sE=Ur({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),aE=Ur({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Bc={};We(Bc,{base58btc:()=>Le,base58flickr:()=>cE});var Le=Ur({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),cE=Ur({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Pc={};We(Pc,{base64:()=>mn,base64pad:()=>uE,base64url:()=>Lc,base64urlpad:()=>lE});var mn=ke({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),uE=ke({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Lc=ke({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),lE=ke({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Dc={};We(Dc,{base8:()=>fE});var fE=ke({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Nc={};We(Nc,{identity:()=>hE});var hE=ri({prefix:"\0",name:"identity",encode:t=>bh(t),decode:t=>wh(t)});var VS=new TextEncoder,$S=new TextDecoder;var Oc={};We(Oc,{identity:()=>Fr});var mE=Rh,Sh=128,yE=127,gE=~yE,xE=Math.pow(2,31);function Rh(t,e,r){e=e||[],r=r||0;for(var n=r;t>=xE;)e[r++]=t&255|Sh,t/=128;for(;t≧)e[r++]=t&255|Sh,t>>>=7;return e[r]=t|0,Rh.bytes=r-n+1,e}var EE=kc,wE=128,Ih=127;function kc(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a)throw kc.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&Ih)<<i:(s&Ih)*Math.pow(2,i),i+=7}while(s>=wE);return kc.bytes=o-n,r}var bE=Math.pow(2,7),vE=Math.pow(2,14),_E=Math.pow(2,21),AE=Math.pow(2,28),SE=Math.pow(2,35),IE=Math.pow(2,42),RE=Math.pow(2,49),CE=Math.pow(2,56),TE=Math.pow(2,63),BE=function(t){return t<bE?1:t<vE?2:t<_E?3:t<AE?4:t<SE?5:t<IE?6:t<RE?7:t<CE?8:t<TE?9:10},LE={encode:mE,decode:EE,encodingLength:BE},PE=LE,Zi=PE;var ji=(t,e=0)=>[Zi.decode(t,e),Zi.decode.bytes],ni=(t,e,r=0)=>(Zi.encode(t,e,r),e),ii=t=>Zi.encodingLength(t);var nr=(t,e)=>{let r=e.byteLength,n=ii(t),i=n+ii(r),o=new Uint8Array(i+r);return ni(t,o,0),ni(r,o,n),o.set(e,i),new oi(t,r,e,o)},yn=t=>{let e=gr(t),[r,n]=ji(e),[i,o]=ji(e.subarray(n)),s=e.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new oi(r,i,s,e)},Ch=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&Eh(t.bytes,r.bytes)}},oi=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var Th=0,DE="identity",Bh=gr,NE=t=>nr(Th,Bh(t)),Fr={code:Th,name:DE,encode:Bh,digest:NE};var Fc={};We(Fc,{sha256:()=>ot,sha512:()=>kE});var Uc=({name:t,code:e,encode:r})=>new Mc(t,e,r),Mc=class{constructor(e,r,n){this.name=e,this.code=r,this.encode=n}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);return r instanceof Uint8Array?nr(this.code,r):r.then(n=>nr(this.code,n))}else throw Error("Unknown type, must be binary type")}};var Ph=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),ot=Uc({name:"sha2-256",code:18,encode:Ph("SHA-256")}),kE=Uc({name:"sha2-512",code:19,encode:Ph("SHA-512")});var Dh=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return ME(r,Kc(t),e||Le.encoder);default:return UE(r,Kc(t),e||bt.encoder)}};var Nh=new WeakMap,Kc=t=>{let e=Nh.get(t);if(e==null){let r=new Map;return Nh.set(t,r),r}return e},Ut=class t{constructor(e,r,n,i){this.code=r,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:r}=this;if(e!==Ji)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==FE)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return t.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:r}=this.multihash,n=nr(e,r);return t.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return t.equals(this,e)}static equals(e,r){let n=r;return n&&e.code===n.code&&e.version===n.version&&Ch(e.multihash,n.multihash)}toString(e){return Dh(this,e)}toJSON(){return{"/":Dh(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 r=e;if(r instanceof t)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:o,bytes:s}=r;return new t(n,i,o,s||kh(n,i,o.bytes))}else if(r[KE]===!0){let{version:n,multihash:i,code:o}=r,s=yn(i);return t.create(n,o,s)}else return null}static create(e,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(r!==Ji)throw new Error(`Version 0 CID must use dag-pb (code: ${Ji}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let i=kh(e,r,n.bytes);return new t(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,Ji,e)}static createV1(e,r){return t.create(1,e,r)}static decode(e){let[r,n]=t.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=t.inspectBytes(e),n=r.size-r.multihashSize,i=gr(e.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let o=i.subarray(r.multihashSize-r.digestSize),s=new oi(r.multihashCode,r.digestSize,o,i);return[r.version===0?t.createV0(s):t.createV1(r.codec,s),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[f,h]=ji(e.subarray(r));return r+=h,f},i=n(),o=Ji;if(i===18?(i=0,r=0):o=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=r,a=n(),c=n(),u=r+c,l=u-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:l,size:u}}static parse(e,r){let[n,i]=OE(e,r),o=t.decode(i);if(o.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Kc(o).set(n,e),o}},OE=(t,e)=>{switch(t[0]){case"Q":{let r=e||Le;return[Le.prefix,r.decode(`${Le.prefix}${t}`)]}case Le.prefix:{let r=e||Le;return[Le.prefix,r.decode(t)]}case bt.prefix:{let r=e||bt;return[bt.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}},ME=(t,e,r)=>{let{prefix:n}=r;if(n!==Le.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=e.get(n);if(i==null){let o=r.encode(t).slice(1);return e.set(n,o),o}else return i},UE=(t,e,r)=>{let{prefix:n}=r,i=e.get(n);if(i==null){let o=r.encode(t);return e.set(n,o),o}else return i},Ji=112,FE=18,kh=(t,e,r)=>{let n=ii(t),i=n+ii(e),o=new Uint8Array(i+r.byteLength);return ni(t,o,0),ni(e,o,n),o.set(r,i),o},KE=Symbol.for("@ipld/js-cid/CID");var Kr={...Nc,...Ic,...Dc,...Ac,...Sc,...Cc,...Tc,...Bc,...Pc,...Rc},oI={...Fc,...Oc};function xr(t=0){return globalThis.Buffer?.alloc!=null?pn(globalThis.Buffer.alloc(t)):new Uint8Array(t)}function Ft(t=0){return globalThis.Buffer?.allocUnsafe!=null?pn(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function Mh(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var Oh=Mh("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),qc=Mh("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);let e=Ft(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),qE={utf8:Oh,"utf-8":Oh,hex:Kr.base16,latin1:qc,ascii:qc,binary:qc,...Kr},ls=qE;function G(t,e="utf8"){let r=ls[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?pn(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}var _u={};We(_u,{Ed25519PrivateKey:()=>An,Ed25519PublicKey:()=>oo,generateKeyPair:()=>ob,generateKeyPairFromSeed:()=>jd,unmarshalEd25519PrivateKey:()=>nb,unmarshalEd25519PublicKey:()=>ib});function Pe(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}function Uh(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(`Wrong positive integer: ${t}`)}function Vc(t,...e){if(!(t instanceof Uint8Array))throw new Error("Expected Uint8Array");if(e.length>0&&!e.includes(t.length))throw new Error(`Expected Uint8Array of length ${e}, not of length=${t.length}`)}function Fh(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");Uh(t.outputLen),Uh(t.blockLen)}function si(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function Kh(t,e){Vc(t);let r=e.outputLen;if(t.length<r)throw new Error(`digestInto() expects output buffer of length at least ${r}`)}var fs=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;var qh=t=>t instanceof Uint8Array;var hs=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),Kt=(t,e)=>t<<32-e|t>>>e,VE=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!VE)throw new Error("Non little-endian hardware is not supported");function $c(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function eo(t){if(typeof t=="string"&&(t=$c(t)),!qh(t))throw new Error(`expected Uint8Array, got ${typeof t}`);return t}function ds(...t){let e=new Uint8Array(t.reduce((n,i)=>n+i.length,0)),r=0;return t.forEach(n=>{if(!qh(n))throw new Error("Uint8Array expected");e.set(n,r),r+=n.length}),e}var ai=class{clone(){return this._cloneInto()}},EI={}.toString;function ps(t){let e=n=>t().update(eo(n)).digest(),r=t();return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=()=>t(),e}function ci(t=32){if(fs&&typeof fs.getRandomValues=="function")return fs.getRandomValues(new Uint8Array(t));throw new Error("crypto.getRandomValues must be defined")}function $E(t,e,r,n){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,r,n);let i=BigInt(32),o=BigInt(4294967295),s=Number(r>>i&o),a=Number(r&o),c=n?4:0,u=n?0:4;t.setUint32(e+c,s,n),t.setUint32(e+u,a,n)}var ui=class extends ai{constructor(e,r,n,i){super(),this.blockLen=e,this.outputLen=r,this.padOffset=n,this.isLE=i,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=hs(this.buffer)}update(e){si(this);let{view:r,buffer:n,blockLen:i}=this;e=eo(e);let o=e.length;for(let s=0;s<o;){let a=Math.min(i-this.pos,o-s);if(a===i){let c=hs(e);for(;i<=o-s;s+=i)this.process(c,s);continue}n.set(e.subarray(s,s+a),this.pos),this.pos+=a,s+=a,this.pos===i&&(this.process(r,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){si(this),Kh(e,this),this.finished=!0;let{buffer:r,view:n,blockLen:i,isLE:o}=this,{pos:s}=this;r[s++]=128,this.buffer.subarray(s).fill(0),this.padOffset>i-s&&(this.process(n,0),s=0);for(let f=s;f<i;f++)r[f]=0;$E(n,i-8,BigInt(this.length*8),o),this.process(n,0);let a=hs(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let u=c/4,l=this.get();if(u>l.length)throw new Error("_sha2: outputLen bigger than state");for(let f=0;f<u;f++)a.setUint32(4*f,l[f],o)}digest(){let{buffer:e,outputLen:r}=this;this.digestInto(e);let n=e.slice(0,r);return this.destroy(),n}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:r,buffer:n,length:i,finished:o,destroyed:s,pos:a}=this;return e.length=i,e.pos=a,e.finished=o,e.destroyed=s,i%r&&e.buffer.set(n),e}};var ms=BigInt(4294967295),Hc=BigInt(32);function Vh(t,e=!1){return e?{h:Number(t&ms),l:Number(t>>Hc&ms)}:{h:Number(t>>Hc&ms)|0,l:Number(t&ms)|0}}function HE(t,e=!1){let r=new Uint32Array(t.length),n=new Uint32Array(t.length);for(let i=0;i<t.length;i++){let{h:o,l:s}=Vh(t[i],e);[r[i],n[i]]=[o,s]}return[r,n]}var zE=(t,e)=>BigInt(t>>>0)<<Hc|BigInt(e>>>0),GE=(t,e,r)=>t>>>r,YE=(t,e,r)=>t<<32-r|e>>>r,WE=(t,e,r)=>t>>>r|e<<32-r,QE=(t,e,r)=>t<<32-r|e>>>r,XE=(t,e,r)=>t<<64-r|e>>>r-32,ZE=(t,e,r)=>t>>>r-32|e<<64-r,jE=(t,e)=>e,JE=(t,e)=>t,ew=(t,e,r)=>t<<r|e>>>32-r,tw=(t,e,r)=>e<<r|t>>>32-r,rw=(t,e,r)=>e<<r-32|t>>>64-r,nw=(t,e,r)=>t<<r-32|e>>>64-r;function iw(t,e,r,n){let i=(e>>>0)+(n>>>0);return{h:t+r+(i/2**32|0)|0,l:i|0}}var ow=(t,e,r)=>(t>>>0)+(e>>>0)+(r>>>0),sw=(t,e,r,n)=>e+r+n+(t/2**32|0)|0,aw=(t,e,r,n)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0),cw=(t,e,r,n,i)=>e+r+n+i+(t/2**32|0)|0,uw=(t,e,r,n,i)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0)+(i>>>0),lw=(t,e,r,n,i,o)=>e+r+n+i+o+(t/2**32|0)|0;var fw={fromBig:Vh,split:HE,toBig:zE,shrSH:GE,shrSL:YE,rotrSH:WE,rotrSL:QE,rotrBH:XE,rotrBL:ZE,rotr32H:jE,rotr32L:JE,rotlSH:ew,rotlSL:tw,rotlBH:rw,rotlBL:nw,add:iw,add3L:ow,add3H:sw,add4L:aw,add4H:cw,add5H:lw,add5L:uw},J=fw;var[hw,dw]=(()=>J.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(t=>BigInt(t))))(),qr=new Uint32Array(80),Vr=new Uint32Array(80),zc=class extends ui{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){let{Ah:e,Al:r,Bh:n,Bl:i,Ch:o,Cl:s,Dh:a,Dl:c,Eh:u,El:l,Fh:f,Fl:h,Gh:p,Gl:d,Hh:m,Hl:y}=this;return[e,r,n,i,o,s,a,c,u,l,f,h,p,d,m,y]}set(e,r,n,i,o,s,a,c,u,l,f,h,p,d,m,y){this.Ah=e|0,this.Al=r|0,this.Bh=n|0,this.Bl=i|0,this.Ch=o|0,this.Cl=s|0,this.Dh=a|0,this.Dl=c|0,this.Eh=u|0,this.El=l|0,this.Fh=f|0,this.Fl=h|0,this.Gh=p|0,this.Gl=d|0,this.Hh=m|0,this.Hl=y|0}process(e,r){for(let w=0;w<16;w++,r+=4)qr[w]=e.getUint32(r),Vr[w]=e.getUint32(r+=4);for(let w=16;w<80;w++){let C=qr[w-15]|0,_=Vr[w-15]|0,A=J.rotrSH(C,_,1)^J.rotrSH(C,_,8)^J.shrSH(C,_,7),P=J.rotrSL(C,_,1)^J.rotrSL(C,_,8)^J.shrSL(C,_,7),D=qr[w-2]|0,W=Vr[w-2]|0,Q=J.rotrSH(D,W,19)^J.rotrBH(D,W,61)^J.shrSH(D,W,6),z=J.rotrSL(D,W,19)^J.rotrBL(D,W,61)^J.shrSL(D,W,6),ne=J.add4L(P,z,Vr[w-7],Vr[w-16]),ge=J.add4H(ne,A,Q,qr[w-7],qr[w-16]);qr[w]=ge|0,Vr[w]=ne|0}let{Ah:n,Al:i,Bh:o,Bl:s,Ch:a,Cl:c,Dh:u,Dl:l,Eh:f,El:h,Fh:p,Fl:d,Gh:m,Gl:y,Hh:g,Hl:x}=this;for(let w=0;w<80;w++){let C=J.rotrSH(f,h,14)^J.rotrSH(f,h,18)^J.rotrBH(f,h,41),_=J.rotrSL(f,h,14)^J.rotrSL(f,h,18)^J.rotrBL(f,h,41),A=f&p^~f&m,P=h&d^~h&y,D=J.add5L(x,_,P,dw[w],Vr[w]),W=J.add5H(D,g,C,A,hw[w],qr[w]),Q=D|0,z=J.rotrSH(n,i,28)^J.rotrBH(n,i,34)^J.rotrBH(n,i,39),ne=J.rotrSL(n,i,28)^J.rotrBL(n,i,34)^J.rotrBL(n,i,39),ge=n&o^n&a^o&a,rt=i&s^i&c^s&c;g=m|0,x=y|0,m=p|0,y=d|0,p=f|0,d=h|0,{h:f,l:h}=J.add(u|0,l|0,W|0,Q|0),u=a|0,l=c|0,a=o|0,c=s|0,o=n|0,s=i|0;let T=J.add3L(Q,ne,rt);n=J.add3H(T,W,z,ge),i=T|0}({h:n,l:i}=J.add(this.Ah|0,this.Al|0,n|0,i|0)),{h:o,l:s}=J.add(this.Bh|0,this.Bl|0,o|0,s|0),{h:a,l:c}=J.add(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l}=J.add(this.Dh|0,this.Dl|0,u|0,l|0),{h:f,l:h}=J.add(this.Eh|0,this.El|0,f|0,h|0),{h:p,l:d}=J.add(this.Fh|0,this.Fl|0,p|0,d|0),{h:m,l:y}=J.add(this.Gh|0,this.Gl|0,m|0,y|0),{h:g,l:x}=J.add(this.Hh|0,this.Hl|0,g|0,x|0),this.set(n,i,o,s,a,c,u,l,f,h,p,d,m,y,g,x)}roundClean(){qr.fill(0),Vr.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var Gc=ps(()=>new zc);var xs={};We(xs,{bitGet:()=>ww,bitLen:()=>Ew,bitMask:()=>to,bitSet:()=>bw,bytesToHex:()=>Er,bytesToNumberBE:()=>wr,bytesToNumberLE:()=>$r,concatBytes:()=>br,createHmacDrbg:()=>Qc,ensureBytes:()=>Oe,equalBytes:()=>gw,hexToBytes:()=>xn,hexToNumber:()=>Wc,numberToBytesBE:()=>Hr,numberToBytesLE:()=>En,numberToHexUnpadded:()=>zh,numberToVarBytesBE:()=>yw,utf8ToBytes:()=>xw,validateObject:()=>ir});var Hh=BigInt(0),ys=BigInt(1),pw=BigInt(2),gs=t=>t instanceof Uint8Array,mw=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function Er(t){if(!gs(t))throw new Error("Uint8Array expected");let e="";for(let r=0;r<t.length;r++)e+=mw[t[r]];return e}function zh(t){let e=t.toString(16);return e.length&1?`0${e}`:e}function Wc(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);return BigInt(t===""?"0":`0x${t}`)}function xn(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);let e=t.length;if(e%2)throw new Error("padded hex string expected, got unpadded hex of length "+e);let r=new Uint8Array(e/2);for(let n=0;n<r.length;n++){let i=n*2,o=t.slice(i,i+2),s=Number.parseInt(o,16);if(Number.isNaN(s)||s<0)throw new Error("Invalid byte sequence");r[n]=s}return r}function wr(t){return Wc(Er(t))}function $r(t){if(!gs(t))throw new Error("Uint8Array expected");return Wc(Er(Uint8Array.from(t).reverse()))}function Hr(t,e){return xn(t.toString(16).padStart(e*2,"0"))}function En(t,e){return Hr(t,e).reverse()}function yw(t){return xn(zh(t))}function Oe(t,e,r){let n;if(typeof e=="string")try{n=xn(e)}catch(o){throw new Error(`${t} must be valid hex string, got "${e}". Cause: ${o}`)}else if(gs(e))n=Uint8Array.from(e);else throw new Error(`${t} must be hex string or Uint8Array`);let i=n.length;if(typeof r=="number"&&i!==r)throw new Error(`${t} expected ${r} bytes, got ${i}`);return n}function br(...t){let e=new Uint8Array(t.reduce((n,i)=>n+i.length,0)),r=0;return t.forEach(n=>{if(!gs(n))throw new Error("Uint8Array expected");e.set(n,r),r+=n.length}),e}function gw(t,e){if(t.length!==e.length)return!1;for(let r=0;r<t.length;r++)if(t[r]!==e[r])return!1;return!0}function xw(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function Ew(t){let e;for(e=0;t>Hh;t>>=ys,e+=1);return e}function ww(t,e){return t>>BigInt(e)&ys}var bw=(t,e,r)=>t|(r?ys:Hh)<<BigInt(e),to=t=>(pw<<BigInt(t-1))-ys,Yc=t=>new Uint8Array(t),$h=t=>Uint8Array.from(t);function Qc(t,e,r){if(typeof t!="number"||t<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");if(typeof r!="function")throw new Error("hmacFn must be a function");let n=Yc(t),i=Yc(t),o=0,s=()=>{n.fill(1),i.fill(0),o=0},a=(...f)=>r(i,n,...f),c=(f=Yc())=>{i=a($h([0]),f),n=a(),f.length!==0&&(i=a($h([1]),f),n=a())},u=()=>{if(o++>=1e3)throw new Error("drbg: tried 1000 values");let f=0,h=[];for(;f<e;){n=a();let p=n.slice();h.push(p),f+=n.length}return br(...h)};return(f,h)=>{s(),c(f);let p;for(;!(p=h(u()));)c();return s(),p}}var vw={bigint:t=>typeof t=="bigint",function:t=>typeof t=="function",boolean:t=>typeof t=="boolean",string:t=>typeof t=="string",stringOrUint8Array:t=>typeof t=="string"||t instanceof Uint8Array,isSafeInteger:t=>Number.isSafeInteger(t),array:t=>Array.isArray(t),field:(t,e)=>e.Fp.isValid(t),hash:t=>typeof t=="function"&&Number.isSafeInteger(t.outputLen)};function ir(t,e,r={}){let n=(i,o,s)=>{let a=vw[o];if(typeof a!="function")throw new Error(`Invalid validator "${o}", expected function`);let c=t[i];if(!(s&&c===void 0)&&!a(c,t))throw new Error(`Invalid param ${String(i)}=${c} (${typeof c}), expected ${o}`)};for(let[i,o]of Object.entries(e))n(i,o,!1);for(let[i,o]of Object.entries(r))n(i,o,!0);return t}var Ge=BigInt(0),Re=BigInt(1),wn=BigInt(2),_w=BigInt(3),Xc=BigInt(4),Gh=BigInt(5),Yh=BigInt(8),Aw=BigInt(9),Sw=BigInt(16);function Ee(t,e){let r=t%e;return r>=Ge?r:e+r}function Iw(t,e,r){if(r<=Ge||e<Ge)throw new Error("Expected power/modulo > 0");if(r===Re)return Ge;let n=Re;for(;e>Ge;)e&Re&&(n=n*t%r),t=t*t%r,e>>=Re;return n}function Ce(t,e,r){let n=t;for(;e-- >Ge;)n*=n,n%=r;return n}function Es(t,e){if(t===Ge||e<=Ge)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=Ee(t,e),n=e,i=Ge,o=Re,s=Re,a=Ge;for(;r!==Ge;){let u=n/r,l=n%r,f=i-s*u,h=o-a*u;n=r,r=l,i=s,o=a,s=f,a=h}if(n!==Re)throw new Error("invert: does not exist");return Ee(i,e)}function Rw(t){let e=(t-Re)/wn,r,n,i;for(r=t-Re,n=0;r%wn===Ge;r/=wn,n++);for(i=wn;i<t&&Iw(i,e,t)!==t-Re;i++);if(n===1){let s=(t+Re)/Xc;return function(c,u){let l=c.pow(u,s);if(!c.eql(c.sqr(l),u))throw new Error("Cannot find square root");return l}}let o=(r+Re)/wn;return function(a,c){if(a.pow(c,e)===a.neg(a.ONE))throw new Error("Cannot find square root");let u=n,l=a.pow(a.mul(a.ONE,i),r),f=a.pow(c,o),h=a.pow(c,r);for(;!a.eql(h,a.ONE);){if(a.eql(h,a.ZERO))return a.ZERO;let p=1;for(let m=a.sqr(h);p<u&&!a.eql(m,a.ONE);p++)m=a.sqr(m);let d=a.pow(l,Re<<BigInt(u-p-1));l=a.sqr(d),f=a.mul(f,d),h=a.mul(h,l),u=p}return f}}function Cw(t){if(t%Xc===_w){let e=(t+Re)/Xc;return function(n,i){let o=n.pow(i,e);if(!n.eql(n.sqr(o),i))throw new Error("Cannot find square root");return o}}if(t%Yh===Gh){let e=(t-Gh)/Yh;return function(n,i){let o=n.mul(i,wn),s=n.pow(o,e),a=n.mul(i,s),c=n.mul(n.mul(a,wn),s),u=n.mul(a,n.sub(c,n.ONE));if(!n.eql(n.sqr(u),i))throw new Error("Cannot find square root");return u}}return t%Sw,Rw(t)}var Wh=(t,e)=>(Ee(t,e)&Re)===Re,Tw=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Zc(t){let e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},r=Tw.reduce((n,i)=>(n[i]="function",n),e);return ir(t,r)}function Bw(t,e,r){if(r<Ge)throw new Error("Expected power > 0");if(r===Ge)return t.ONE;if(r===Re)return e;let n=t.ONE,i=e;for(;r>Ge;)r&Re&&(n=t.mul(n,i)),i=t.sqr(i),r>>=Re;return n}function Lw(t,e){let r=new Array(e.length),n=e.reduce((o,s,a)=>t.is0(s)?o:(r[a]=o,t.mul(o,s)),t.ONE),i=t.inv(n);return e.reduceRight((o,s,a)=>t.is0(s)?o:(r[a]=t.mul(o,r[a]),t.mul(o,s)),i),r}function jc(t,e){let r=e!==void 0?e:t.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function ws(t,e,r=!1,n={}){if(t<=Ge)throw new Error(`Expected Field ORDER > 0, got ${t}`);let{nBitLength:i,nByteLength:o}=jc(t,e);if(o>2048)throw new Error("Field lengths over 2048 bytes are not supported");let s=Cw(t),a=Object.freeze({ORDER:t,BITS:i,BYTES:o,MASK:to(i),ZERO:Ge,ONE:Re,create:c=>Ee(c,t),isValid:c=>{if(typeof c!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof c}`);return Ge<=c&&c<t},is0:c=>c===Ge,isOdd:c=>(c&Re)===Re,neg:c=>Ee(-c,t),eql:(c,u)=>c===u,sqr:c=>Ee(c*c,t),add:(c,u)=>Ee(c+u,t),sub:(c,u)=>Ee(c-u,t),mul:(c,u)=>Ee(c*u,t),pow:(c,u)=>Bw(a,c,u),div:(c,u)=>Ee(c*Es(u,t),t),sqrN:c=>c*c,addN:(c,u)=>c+u,subN:(c,u)=>c-u,mulN:(c,u)=>c*u,inv:c=>Es(c,t),sqrt:n.sqrt||(c=>s(a,c)),invertBatch:c=>Lw(a,c),cmov:(c,u,l)=>l?u:c,toBytes:c=>r?En(c,o):Hr(c,o),fromBytes:c=>{if(c.length!==o)throw new Error(`Fp.fromBytes: expected ${o}, got ${c.length}`);return r?$r(c):wr(c)}});return Object.freeze(a)}function Qh(t,e){if(!t.isOdd)throw new Error("Field doesn't have isOdd");let r=t.sqrt(e);return t.isOdd(r)?t.neg(r):r}function Xh(t){if(typeof t!="bigint")throw new Error("field order must be bigint");let e=t.toString(2).length;return Math.ceil(e/8)}function Jc(t){let e=Xh(t);return e+Math.ceil(e/2)}function Zh(t,e,r=!1){let n=t.length,i=Xh(e),o=Jc(e);if(n<16||n<o||n>1024)throw new Error(`expected ${o}-1024 bytes of input, got ${n}`);let s=r?wr(t):$r(t),a=Ee(s,e-Re)+Re;return r?En(a,i):Hr(a,i)}var Dw=BigInt(0),eu=BigInt(1);function bs(t,e){let r=(i,o)=>{let s=o.negate();return i?s:o},n=i=>{let o=Math.ceil(e/i)+1,s=2**(i-1);return{windows:o,windowSize:s}};return{constTimeNegate:r,unsafeLadder(i,o){let s=t.ZERO,a=i;for(;o>Dw;)o&eu&&(s=s.add(a)),a=a.double(),o>>=eu;return s},precomputeWindow(i,o){let{windows:s,windowSize:a}=n(o),c=[],u=i,l=u;for(let f=0;f<s;f++){l=u,c.push(l);for(let h=1;h<a;h++)l=l.add(u),c.push(l);u=l.double()}return c},wNAF(i,o,s){let{windows:a,windowSize:c}=n(i),u=t.ZERO,l=t.BASE,f=BigInt(2**i-1),h=2**i,p=BigInt(i);for(let d=0;d<a;d++){let m=d*c,y=Number(s&f);s>>=p,y>c&&(y-=h,s+=eu);let g=m,x=m+Math.abs(y)-1,w=d%2!==0,C=y<0;y===0?l=l.add(r(w,o[g])):u=u.add(r(C,o[x]))}return{p:u,f:l}},wNAFCached(i,o,s,a){let c=i._WINDOW_SIZE||1,u=o.get(i);return u||(u=this.precomputeWindow(i,c),c!==1&&o.set(i,a(u))),this.wNAF(c,u,s)}}}function ro(t){return Zc(t.Fp),ir(t,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...jc(t.n,t.nBitLength),...t,p:t.Fp.ORDER})}var qt=BigInt(0),vt=BigInt(1),vs=BigInt(2),Nw=BigInt(8),kw={zip215:!0};function Ow(t){let e=ro(t);return ir(t,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...e})}function _s(t){let e=Ow(t),{Fp:r,n,prehash:i,hash:o,randomBytes:s,nByteLength:a,h:c}=e,u=vs<<BigInt(a*8)-vt,l=r.create,f=e.uvRatio||((N,I)=>{try{return{isValid:!0,value:r.sqrt(N*r.inv(I))}}catch{return{isValid:!1,value:qt}}}),h=e.adjustScalarBytes||(N=>N),p=e.domain||((N,I,K)=>{if(I.length||K)throw new Error("Contexts/pre-hash are not supported");return N}),d=N=>typeof N=="bigint"&&qt<N,m=(N,I)=>d(N)&&d(I)&&N<I,y=N=>N===qt||m(N,u);function g(N,I){if(m(N,I))return N;throw new Error(`Expected valid scalar < ${I}, got ${typeof N} ${N}`)}function x(N){return N===qt?N:g(N,n)}let w=new Map;function C(N){if(!(N instanceof _))throw new Error("ExtendedPoint expected")}class _{constructor(I,K,V,Y){if(this.ex=I,this.ey=K,this.ez=V,this.et=Y,!y(I))throw new Error("x required");if(!y(K))throw new Error("y required");if(!y(V))throw new Error("z required");if(!y(Y))throw new Error("t required")}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(I){if(I instanceof _)throw new Error("extended point not allowed");let{x:K,y:V}=I||{};if(!y(K)||!y(V))throw new Error("invalid affine point");return new _(K,V,vt,l(K*V))}static normalizeZ(I){let K=r.invertBatch(I.map(V=>V.ez));return I.map((V,Y)=>V.toAffine(K[Y])).map(_.fromAffine)}_setWindowSize(I){this._WINDOW_SIZE=I,w.delete(this)}assertValidity(){let{a:I,d:K}=e;if(this.is0())throw new Error("bad point: ZERO");let{ex:V,ey:Y,ez:ee,et:oe}=this,me=l(V*V),se=l(Y*Y),fe=l(ee*ee),Ve=l(fe*fe),Ne=l(me*I),nt=l(fe*l(Ne+se)),it=l(Ve+l(K*l(me*se)));if(nt!==it)throw new Error("bad point: equation left != right (1)");let ze=l(V*Y),ft=l(ee*oe);if(ze!==ft)throw new Error("bad point: equation left != right (2)")}equals(I){C(I);let{ex:K,ey:V,ez:Y}=this,{ex:ee,ey:oe,ez:me}=I,se=l(K*me),fe=l(ee*Y),Ve=l(V*me),Ne=l(oe*Y);return se===fe&&Ve===Ne}is0(){return this.equals(_.ZERO)}negate(){return new _(l(-this.ex),this.ey,this.ez,l(-this.et))}double(){let{a:I}=e,{ex:K,ey:V,ez:Y}=this,ee=l(K*K),oe=l(V*V),me=l(vs*l(Y*Y)),se=l(I*ee),fe=K+V,Ve=l(l(fe*fe)-ee-oe),Ne=se+oe,nt=Ne-me,it=se-oe,ze=l(Ve*nt),ft=l(Ne*it),dr=l(Ve*it),cn=l(nt*Ne);return new _(ze,ft,cn,dr)}add(I){C(I);let{a:K,d:V}=e,{ex:Y,ey:ee,ez:oe,et:me}=this,{ex:se,ey:fe,ez:Ve,et:Ne}=I;if(K===BigInt(-1)){let Ff=l((ee-Y)*(fe+se)),Kf=l((ee+Y)*(fe-se)),Xa=l(Kf-Ff);if(Xa===qt)return this.double();let qf=l(oe*vs*Ne),Vf=l(me*vs*Ve),$f=Vf+qf,Hf=Kf+Ff,zf=Vf-qf,jg=l($f*Xa),Jg=l(Hf*zf),e1=l($f*zf),t1=l(Xa*Hf);return new _(jg,Jg,t1,e1)}let nt=l(Y*se),it=l(ee*fe),ze=l(me*V*Ne),ft=l(oe*Ve),dr=l((Y+ee)*(se+fe)-nt-it),cn=ft-ze,$i=ft+ze,Uf=l(it-K*nt),Wg=l(dr*cn),Qg=l($i*Uf),Xg=l(dr*Uf),Zg=l(cn*$i);return new _(Wg,Qg,Zg,Xg)}subtract(I){return this.add(I.negate())}wNAF(I){return D.wNAFCached(this,w,I,_.normalizeZ)}multiply(I){let{p:K,f:V}=this.wNAF(g(I,n));return _.normalizeZ([K,V])[0]}multiplyUnsafe(I){let K=x(I);return K===qt?P:this.equals(P)||K===vt?this:this.equals(A)?this.wNAF(K).p:D.unsafeLadder(this,K)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return D.unsafeLadder(this,n).is0()}toAffine(I){let{ex:K,ey:V,ez:Y}=this,ee=this.is0();I==null&&(I=ee?Nw:r.inv(Y));let oe=l(K*I),me=l(V*I),se=l(Y*I);if(ee)return{x:qt,y:vt};if(se!==vt)throw new Error("invZ was invalid");return{x:oe,y:me}}clearCofactor(){let{h:I}=e;return I===vt?this:this.multiplyUnsafe(I)}static fromHex(I,K=!1){let{d:V,a:Y}=e,ee=r.BYTES;I=Oe("pointHex",I,ee);let oe=I.slice(),me=I[ee-1];oe[ee-1]=me&-129;let se=$r(oe);se===qt||(K?g(se,u):g(se,r.ORDER));let fe=l(se*se),Ve=l(fe-vt),Ne=l(V*fe-Y),{isValid:nt,value:it}=f(Ve,Ne);if(!nt)throw new Error("Point.fromHex: invalid y coordinate");let ze=(it&vt)===vt,ft=(me&128)!==0;if(!K&&it===qt&&ft)throw new Error("Point.fromHex: x=0 and x_0=1");return ft!==ze&&(it=l(-it)),_.fromAffine({x:it,y:se})}static fromPrivateKey(I){return z(I).point}toRawBytes(){let{x:I,y:K}=this.toAffine(),V=En(K,r.BYTES);return V[V.length-1]|=I&vt?128:0,V}toHex(){return Er(this.toRawBytes())}}_.BASE=new _(e.Gx,e.Gy,vt,l(e.Gx*e.Gy)),_.ZERO=new _(qt,vt,vt,qt);let{BASE:A,ZERO:P}=_,D=bs(_,a*8);function W(N){return Ee(N,n)}function Q(N){return W($r(N))}function z(N){let I=a;N=Oe("private key",N,I);let K=Oe("hashed private key",o(N),2*I),V=h(K.slice(0,I)),Y=K.slice(I,2*I),ee=Q(V),oe=A.multiply(ee),me=oe.toRawBytes();return{head:V,prefix:Y,scalar:ee,point:oe,pointBytes:me}}function ne(N){return z(N).pointBytes}function ge(N=new Uint8Array,...I){let K=br(...I);return Q(o(p(K,Oe("context",N),!!i)))}function rt(N,I,K={}){N=Oe("message",N),i&&(N=i(N));let{prefix:V,scalar:Y,pointBytes:ee}=z(I),oe=ge(K.context,V,N),me=A.multiply(oe).toRawBytes(),se=ge(K.context,me,ee,N),fe=W(oe+se*Y);x(fe);let Ve=br(me,En(fe,r.BYTES));return Oe("result",Ve,a*2)}let T=kw;function k(N,I,K,V=T){let{context:Y,zip215:ee}=V,oe=r.BYTES;N=Oe("signature",N,2*oe),I=Oe("message",I),i&&(I=i(I));let me=$r(N.slice(oe,2*oe)),se,fe,Ve;try{se=_.fromHex(K,ee),fe=_.fromHex(N.slice(0,oe),ee),Ve=A.multiplyUnsafe(me)}catch{return!1}if(!ee&&se.isSmallOrder())return!1;let Ne=ge(Y,fe.toRawBytes(),se.toRawBytes(),I);return fe.add(se.multiplyUnsafe(Ne)).subtract(Ve).clearCofactor().equals(_.ZERO)}return A._setWindowSize(8),{CURVE:e,getPublicKey:ne,sign:rt,verify:k,ExtendedPoint:_,utils:{getExtendedPublicKey:z,randomPrivateKey:()=>s(r.BYTES),precompute(N=8,I=_.BASE){return I._setWindowSize(N),I.multiply(BigInt(3)),I}}}}var ru=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),jh=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),qI=BigInt(0),Mw=BigInt(1),tu=BigInt(2),Uw=BigInt(5),Jh=BigInt(10),Fw=BigInt(20),Kw=BigInt(40),ed=BigInt(80);function qw(t){let e=ru,n=t*t%e*t%e,i=Ce(n,tu,e)*n%e,o=Ce(i,Mw,e)*t%e,s=Ce(o,Uw,e)*o%e,a=Ce(s,Jh,e)*s%e,c=Ce(a,Fw,e)*a%e,u=Ce(c,Kw,e)*c%e,l=Ce(u,ed,e)*u%e,f=Ce(l,ed,e)*u%e,h=Ce(f,Jh,e)*s%e;return{pow_p_5_8:Ce(h,tu,e)*t%e,b2:n}}function Vw(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}function $w(t,e){let r=ru,n=Ee(e*e*e,r),i=Ee(n*n*e,r),o=qw(t*i).pow_p_5_8,s=Ee(t*n*o,r),a=Ee(e*s*s,r),c=s,u=Ee(s*jh,r),l=a===t,f=a===Ee(-t,r),h=a===Ee(-t*jh,r);return l&&(s=c),(f||h)&&(s=u),Wh(s,r)&&(s=Ee(-s,r)),{isValid:l||f,value:s}}var vr=ws(ru,void 0,!0),nu={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:vr,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:Gc,randomBytes:ci,adjustScalarBytes:Vw,uvRatio:$w},li=_s(nu);function td(t,e,r){if(e.length>255)throw new Error("Context is too big");return ds($c("SigEd25519 no Ed25519 collisions"),new Uint8Array([r?1:0,e.length]),e,t)}var VI=_s({...nu,domain:td}),$I=_s({...nu,domain:td,prehash:Gc});var Hw=(vr.ORDER+BigInt(3))/BigInt(8),HI=vr.pow(tu,Hw),zI=vr.sqrt(vr.neg(vr.ONE)),GI=(vr.ORDER-BigInt(5))/BigInt(8),YI=BigInt(486662);var WI=Qh(vr,vr.neg(BigInt(486664)));var QI=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),XI=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),ZI=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),jI=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952");var JI=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");var fi=32,_r=64,As=32;async function rd(){let t=li.utils.randomPrivateKey(),e=li.getPublicKey(t);return{privateKey:sd(t,e),publicKey:e}}async function nd(t){if(t.length!==As)throw new TypeError('"seed" must be 32 bytes in length.');if(!(t instanceof Uint8Array))throw new TypeError('"seed" must be a node.js Buffer, or Uint8Array.');let e=t,r=li.getPublicKey(e);return{privateKey:sd(e,r),publicKey:r}}async function id(t,e){let r=t.subarray(0,As);return li.sign(e,r)}async function od(t,e,r){return li.verify(e,r,t)}function sd(t,e){let r=new Uint8Array(_r);for(let n=0;n<As;n++)r[n]=t[n],r[As+n]=e[n];return r}function Ue(t,e){e==null&&(e=t.reduce((i,o)=>i+o.length,0));let r=Ft(e),n=0;for(let i of t)r.set(i,n),n+=i.length;return pn(r)}var xt={get(t=globalThis){let e=t.crypto;if(e==null||e.subtle==null)throw Object.assign(new Error("Missing Web Crypto API. The most likely cause of this error is that this page is being accessed from an insecure context (i.e. not HTTPS). For more information and possible resolutions see https://github.com/libp2p/js-libp2p-crypto/blob/master/README.md#web-crypto-api"),{code:"ERR_MISSING_WEB_CRYPTO"});return e}};var iu={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function Ss(t){let e=t?.algorithm??"AES-GCM",r=t?.keyLength??16,n=t?.nonceLength??12,i=t?.digest??"SHA-256",o=t?.saltLength??16,s=t?.iterations??32767,a=xt.get();r*=8;async function c(f,h){let p=a.getRandomValues(new Uint8Array(o)),d=a.getRandomValues(new Uint8Array(n)),m={name:e,iv:d};typeof h=="string"&&(h=G(h));let y;if(h.length===0){y=await a.subtle.importKey("jwk",iu,{name:"AES-GCM"},!0,["encrypt"]);try{let x={name:"PBKDF2",salt:p,iterations:s,hash:{name:i}},w=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(x,w,{name:e,length:r},!0,["encrypt"])}catch{y=await a.subtle.importKey("jwk",iu,{name:"AES-GCM"},!0,["encrypt"])}}else{let x={name:"PBKDF2",salt:p,iterations:s,hash:{name:i}},w=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(x,w,{name:e,length:r},!0,["encrypt"])}let g=await a.subtle.encrypt(m,y,f);return Ue([p,m.iv,new Uint8Array(g)])}async function u(f,h){let p=f.subarray(0,o),d=f.subarray(o,o+n),m=f.subarray(o+n),y={name:e,iv:d};typeof h=="string"&&(h=G(h));let g;if(h.length===0)try{let w={name:"PBKDF2",salt:p,iterations:s,hash:{name:i}},C=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(w,C,{name:e,length:r},!0,["decrypt"])}catch{g=await a.subtle.importKey("jwk",iu,{name:"AES-GCM"},!0,["decrypt"])}else{let w={name:"PBKDF2",salt:p,iterations:s,hash:{name:i}},C=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(w,C,{name:e,length:r},!0,["decrypt"])}let x=await a.subtle.decrypt(y,g,m);return new Uint8Array(x)}return{encrypt:c,decrypt:u}}async function hi(t,e){let n=await Ss().encrypt(t,e);return mn.encode(n)}var gu=te(uu(),1),Wd=te(Kd(),1),Qd=te(vn(),1),xu=te(yu(),1),Xd=te(Yd(),1);function eb(){Qd.default._configure(),gu.default._configure(Wd.default),xu.default._configure(Xd.default)}eb();var Zd=["uint64","int64","sint64","fixed64","sfixed64"];function tb(t){for(let e of Zd){if(t[e]==null)continue;let r=t[e];t[e]=function(){return BigInt(r.call(this).toString())}}return t}function Eu(t){return tb(new gu.default(t))}function rb(t){for(let e of Zd){if(t[e]==null)continue;let r=t[e];t[e]=function(n){return r.call(this,n.toString())}}return t}function wu(){return rb(xu.default.create())}function st(t,e){let r=Eu(t instanceof Uint8Array?t:t.subarray());return e.decode(r)}function at(t,e){let r=wu();return e.encode(t,r,{lengthDelimited:!1}),r.finish()}var pi;(function(t){t[t.VARINT=0]="VARINT",t[t.BIT64=1]="BIT64",t[t.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",t[t.START_GROUP=3]="START_GROUP",t[t.END_GROUP=4]="END_GROUP",t[t.BIT32=5]="BIT32"})(pi||(pi={}));function Bs(t,e,r,n){return{name:t,type:e,encode:r,decode:n}}function bu(t){function e(i){if(t[i.toString()]==null)throw new Error("Invalid enum value");return t[i]}let r=function(o,s){let a=e(o);s.int32(a)},n=function(o){let s=o.int32();return e(s)};return Bs("enum",pi.VARINT,r,n)}function ct(t,e){return Bs("message",pi.LENGTH_DELIMITED,t,e)}var Te;(function(t){t.RSA="RSA",t.Ed25519="Ed25519",t.Secp256k1="Secp256k1"})(Te||(Te={}));var vu;(function(t){t[t.RSA=0]="RSA",t[t.Ed25519=1]="Ed25519",t[t.Secp256k1=2]="Secp256k1"})(vu||(vu={}));(function(t){t.codec=()=>bu(vu)})(Te||(Te={}));var sr;(function(t){let e;t.codec=()=>(e==null&&(e=ct((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),Te.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.Type=Te.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>at(r,t.codec()),t.decode=r=>st(r,t.codec())})(sr||(sr={}));var ar;(function(t){let e;t.codec=()=>(e==null&&(e=ct((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),Te.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.Type=Te.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>at(r,t.codec()),t.decode=r=>st(r,t.codec())})(ar||(ar={}));var oo=class{_key;constructor(e){this._key=mi(e,fi)}async verify(e,r){return od(this._key,r,e)}marshal(){return this._key}get bytes(){return sr.encode({Type:Te.Ed25519,Data:this.marshal()}).subarray()}equals(e){return Pe(this.bytes,e.bytes)}async hash(){let{bytes:e}=await ot.digest(this.bytes);return e}},An=class{_key;_publicKey;constructor(e,r){this._key=mi(e,_r),this._publicKey=mi(r,fi)}async sign(e){return id(this._key,e)}get public(){return new oo(this._publicKey)}marshal(){return this._key}get bytes(){return ar.encode({Type:Te.Ed25519,Data:this.marshal()}).subarray()}equals(e){return Pe(this.bytes,e.bytes)}async hash(){let{bytes:e}=await ot.digest(this.bytes);return e}async id(){let e=Fr.digest(this.public.bytes);return Le.encode(e.bytes).substring(1)}async export(e,r="libp2p-key"){if(r==="libp2p-key")return hi(this.bytes,e);throw new b(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function nb(t){if(t.length>_r){t=mi(t,_r+fi);let n=t.subarray(0,_r),i=t.subarray(_r,t.length);return new An(n,i)}t=mi(t,_r);let e=t.subarray(0,_r),r=t.subarray(fi);return new An(e,r)}function ib(t){return t=mi(t,fi),new oo(t)}async function ob(){let{privateKey:t,publicKey:e}=await rd();return new An(t,e)}async function jd(t){let{privateKey:e,publicKey:r}=await nd(t);return new An(e,r)}function mi(t,e){if(t=Uint8Array.from(t??[]),t.length!==e)throw new b(`Key must be a Uint8Array of length ${e}, got ${t.length}`,"ERR_INVALID_KEY_TYPE");return t}function Z(t,e="utf8"){let r=ls[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("utf8"):r.encoder.encode(t).substring(1)}var WR=te(Me(),1),QR=te(os(),1),Jd=te(ye(),1);function zt(t,e){let r=Uint8Array.from(t.abs().toByteArray());if(r=r[0]===0?r.subarray(1):r,e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=Ue([new Uint8Array(e-r.length),r])}return Z(r,"base64url")}function _t(t){let e=ep(t);return new Jd.default.jsbn.BigInteger(Z(e,"base16"),16)}function ep(t,e){let r=G(t,"base64urlpad");if(e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=Ue([new Uint8Array(e-r.length),r])}return r}var sb={"P-256":256,"P-384":384,"P-521":521},ab=Object.keys(sb),s4=ab.join(" / ");async function tp(t,e){let r=mn.decode(t);return Ss().decrypt(r,e)}var Cu={};We(Cu,{MAX_KEY_SIZE:()=>uo,RsaPrivateKey:()=>yi,RsaPublicKey:()=>co,fromJwk:()=>gb,generateKeyPair:()=>xb,unmarshalRsaPrivateKey:()=>mb,unmarshalRsaPublicKey:()=>yb});var ao=te(ye(),1);var H4=te(ap(),1);function In(t){if(isNaN(t)||t<=0)throw new b("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return ci(t)}var I4=te(cs(),1),Iu=te(ye(),1);function cp(t,e){return e.map(r=>_t(t[r]))}function up(t){return Iu.default.pki.setRsaPrivateKey(...cp(t,["n","e","d","p","q","dp","dq","qi"]))}function lp(t){return Iu.default.pki.setRsaPublicKey(...cp(t,["n","e"]))}var Rn={};We(Rn,{jwkToPkcs1:()=>lb,jwkToPkix:()=>hb,pkcs1ToJwk:()=>ub,pkixToJwk:()=>fb});var T4=te(Yi(),1),B4=te(cs(),1);var Ar=te(ye(),1);function ub(t){let e=Ar.default.asn1.fromDer(Z(t,"ascii")),r=Ar.default.pki.privateKeyFromAsn1(e);return{kty:"RSA",n:zt(r.n),e:zt(r.e),d:zt(r.d),p:zt(r.p),q:zt(r.q),dp:zt(r.dP),dq:zt(r.dQ),qi:zt(r.qInv),alg:"RS256"}}function lb(t){if(t.n==null||t.e==null||t.d==null||t.p==null||t.q==null||t.dp==null||t.dq==null||t.qi==null)throw new b("JWK was missing components","ERR_INVALID_PARAMETERS");let e=Ar.default.pki.privateKeyToAsn1({n:_t(t.n),e:_t(t.e),d:_t(t.d),p:_t(t.p),q:_t(t.q),dP:_t(t.dp),dQ:_t(t.dq),qInv:_t(t.qi)});return G(Ar.default.asn1.toDer(e).getBytes(),"ascii")}function fb(t){let e=Ar.default.asn1.fromDer(Z(t,"ascii")),r=Ar.default.pki.publicKeyFromAsn1(e);return{kty:"RSA",n:zt(r.n),e:zt(r.e)}}function hb(t){if(t.n==null||t.e==null)throw new b("JWK was missing components","ERR_INVALID_PARAMETERS");let e=Ar.default.pki.publicKeyToAsn1({n:_t(t.n),e:_t(t.e)});return G(Ar.default.asn1.toDer(e).getBytes(),"ascii")}async function fp(t){let e=await xt.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),r=await pp(e);return{privateKey:r[0],publicKey:r[1]}}async function Ru(t){let r=[await xt.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await db(t)],n=await pp({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function hp(t,e){let r=await xt.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await xt.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,Uint8Array.from(e));return new Uint8Array(n,0,n.byteLength)}async function dp(t,e,r){let n=await xt.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return xt.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,e,r)}async function pp(t){if(t.privateKey==null||t.publicKey==null)throw new b("Private and public key are required","ERR_INVALID_PARAMETERS");return Promise.all([xt.get().subtle.exportKey("jwk",t.privateKey),xt.get().subtle.exportKey("jwk",t.publicKey)])}async function db(t){return xt.get().subtle.importKey("jwk",{kty:t.kty,n:t.n,e:t.e},{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["verify"])}function mp(t,e,r,n){let i=e?lp(t):up(t),o=Z(Uint8Array.from(r),"ascii"),s=n(o,i);return G(s,"ascii")}function yp(t,e){return mp(t,!0,e,(r,n)=>n.encrypt(r))}function gp(t,e){return mp(t,!1,e,(r,n)=>n.decrypt(r))}function Ps(t){if(t.kty!=="RSA")throw new b("invalid key type","ERR_INVALID_KEY_TYPE");if(t.n==null)throw new b("invalid key modulus","ERR_INVALID_KEY_MODULUS");return G(t.n,"base64url").length*8}var uo=8192,co=class{_key;constructor(e){this._key=e}async verify(e,r){return dp(this._key,r,e)}marshal(){return Rn.jwkToPkix(this._key)}get bytes(){return sr.encode({Type:Te.RSA,Data:this.marshal()}).subarray()}encrypt(e){return yp(this._key,e)}equals(e){return Pe(this.bytes,e.bytes)}async hash(){let{bytes:e}=await ot.digest(this.bytes);return e}},yi=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r}genSecret(){return In(16)}async sign(e){return hp(this._key,e)}get public(){if(this._publicKey==null)throw new b("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new co(this._publicKey)}decrypt(e){return gp(this._key,e)}marshal(){return Rn.jwkToPkcs1(this._key)}get bytes(){return ar.encode({Type:Te.RSA,Data:this.marshal()}).subarray()}equals(e){return Pe(this.bytes,e.bytes)}async hash(){let{bytes:e}=await ot.digest(this.bytes);return e}async id(){let e=await this.public.hash();return Z(e,"base58btc")}async export(e,r="pkcs-8"){if(r==="pkcs-8"){let n=new ao.default.util.ByteBuffer(this.marshal()),i=ao.default.asn1.fromDer(n),o=ao.default.pki.privateKeyFromAsn1(i),s={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return ao.default.pki.encryptRsaPrivateKey(o,e,s)}else{if(r==="libp2p-key")return hi(this.bytes,e);throw new b(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function mb(t){let e=Rn.pkcs1ToJwk(t);if(Ps(e)>uo)throw new b("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let r=await Ru(e);return new yi(r.privateKey,r.publicKey)}function yb(t){let e=Rn.pkixToJwk(t);if(Ps(e)>uo)throw new b("key size is too large","ERR_KEY_SIZE_TOO_LARGE");return new co(e)}async function gb(t){if(Ps(t)>uo)throw new b("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await Ru(t);return new yi(e.privateKey,e.publicKey)}async function xb(t){if(t>uo)throw new b("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await fp(t);return new yi(e.privateKey,e.publicKey)}var Nu={};We(Nu,{Secp256k1PrivateKey:()=>fo,Secp256k1PublicKey:()=>lo,generateKeyPair:()=>Db,unmarshalSecp256k1PrivateKey:()=>Lb,unmarshalSecp256k1PublicKey:()=>Pb});var Eb=(t,e,r)=>t&e^~t&r,wb=(t,e,r)=>t&e^t&r^e&r,bb=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Yr=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Wr=new Uint32Array(64),Tu=class extends ui{constructor(){super(64,32,8,!1),this.A=Yr[0]|0,this.B=Yr[1]|0,this.C=Yr[2]|0,this.D=Yr[3]|0,this.E=Yr[4]|0,this.F=Yr[5]|0,this.G=Yr[6]|0,this.H=Yr[7]|0}get(){let{A:e,B:r,C:n,D:i,E:o,F:s,G:a,H:c}=this;return[e,r,n,i,o,s,a,c]}set(e,r,n,i,o,s,a,c){this.A=e|0,this.B=r|0,this.C=n|0,this.D=i|0,this.E=o|0,this.F=s|0,this.G=a|0,this.H=c|0}process(e,r){for(let f=0;f<16;f++,r+=4)Wr[f]=e.getUint32(r,!1);for(let f=16;f<64;f++){let h=Wr[f-15],p=Wr[f-2],d=Kt(h,7)^Kt(h,18)^h>>>3,m=Kt(p,17)^Kt(p,19)^p>>>10;Wr[f]=m+Wr[f-7]+d+Wr[f-16]|0}let{A:n,B:i,C:o,D:s,E:a,F:c,G:u,H:l}=this;for(let f=0;f<64;f++){let h=Kt(a,6)^Kt(a,11)^Kt(a,25),p=l+h+Eb(a,c,u)+bb[f]+Wr[f]|0,m=(Kt(n,2)^Kt(n,13)^Kt(n,22))+wb(n,i,o)|0;l=u,u=c,c=a,a=s+p|0,s=o,o=i,i=n,n=p+m|0}n=n+this.A|0,i=i+this.B|0,o=o+this.C|0,s=s+this.D|0,a=a+this.E|0,c=c+this.F|0,u=u+this.G|0,l=l+this.H|0,this.set(n,i,o,s,a,c,u,l)}roundClean(){Wr.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var xp=ps(()=>new Tu);function vb(t){let e=ro(t);ir(e,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:r,Fp:n,a:i}=e;if(r){if(!n.eql(i,n.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if(typeof r!="object"||typeof r.beta!="bigint"||typeof r.splitScalar!="function")throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...e})}var{bytesToNumberBE:_b,hexToBytes:Ab}=xs,Cn={Err:class extends Error{constructor(e=""){super(e)}},_parseInt(t){let{Err:e}=Cn;if(t.length<2||t[0]!==2)throw new e("Invalid signature integer tag");let r=t[1],n=t.subarray(2,r+2);if(!r||n.length!==r)throw new e("Invalid signature integer: wrong length");if(n[0]&128)throw new e("Invalid signature integer: negative");if(n[0]===0&&!(n[1]&128))throw new e("Invalid signature integer: unnecessary leading zero");return{d:_b(n),l:t.subarray(r+2)}},toSig(t){let{Err:e}=Cn,r=typeof t=="string"?Ab(t):t;if(!(r instanceof Uint8Array))throw new Error("ui8a expected");let n=r.length;if(n<2||r[0]!=48)throw new e("Invalid signature tag");if(r[1]!==n-2)throw new e("Invalid signature: incorrect length");let{d:i,l:o}=Cn._parseInt(r.subarray(2)),{d:s,l:a}=Cn._parseInt(o);if(a.length)throw new e("Invalid signature: left bytes after parsing");return{r:i,s}},hexFromSig(t){let e=u=>Number.parseInt(u[0],16)&8?"00"+u:u,r=u=>{let l=u.toString(16);return l.length&1?`0${l}`:l},n=e(r(t.s)),i=e(r(t.r)),o=n.length/2,s=i.length/2,a=r(o),c=r(s);return`30${r(s+o+4)}02${c}${i}02${a}${n}`}},Sr=BigInt(0),Dt=BigInt(1),J4=BigInt(2),Ep=BigInt(3),e8=BigInt(4);function Sb(t){let e=vb(t),{Fp:r}=e,n=e.toBytes||((d,m,y)=>{let g=m.toAffine();return br(Uint8Array.from([4]),r.toBytes(g.x),r.toBytes(g.y))}),i=e.fromBytes||(d=>{let m=d.subarray(1),y=r.fromBytes(m.subarray(0,r.BYTES)),g=r.fromBytes(m.subarray(r.BYTES,2*r.BYTES));return{x:y,y:g}});function o(d){let{a:m,b:y}=e,g=r.sqr(d),x=r.mul(g,d);return r.add(r.add(x,r.mul(d,m)),y)}if(!r.eql(r.sqr(e.Gy),o(e.Gx)))throw new Error("bad generator point: equation left != right");function s(d){return typeof d=="bigint"&&Sr<d&&d<e.n}function a(d){if(!s(d))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function c(d){let{allowedPrivateKeyLengths:m,nByteLength:y,wrapPrivateKey:g,n:x}=e;if(m&&typeof d!="bigint"){if(d instanceof Uint8Array&&(d=Er(d)),typeof d!="string"||!m.includes(d.length))throw new Error("Invalid key");d=d.padStart(y*2,"0")}let w;try{w=typeof d=="bigint"?d:wr(Oe("private key",d,y))}catch{throw new Error(`private key must be ${y} bytes, hex or bigint, not ${typeof d}`)}return g&&(w=Ee(w,x)),a(w),w}let u=new Map;function l(d){if(!(d instanceof f))throw new Error("ProjectivePoint expected")}class f{constructor(m,y,g){if(this.px=m,this.py=y,this.pz=g,m==null||!r.isValid(m))throw new Error("x required");if(y==null||!r.isValid(y))throw new Error("y required");if(g==null||!r.isValid(g))throw new Error("z required")}static fromAffine(m){let{x:y,y:g}=m||{};if(!m||!r.isValid(y)||!r.isValid(g))throw new Error("invalid affine point");if(m instanceof f)throw new Error("projective point not allowed");let x=w=>r.eql(w,r.ZERO);return x(y)&&x(g)?f.ZERO:new f(y,g,r.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(m){let y=r.invertBatch(m.map(g=>g.pz));return m.map((g,x)=>g.toAffine(y[x])).map(f.fromAffine)}static fromHex(m){let y=f.fromAffine(i(Oe("pointHex",m)));return y.assertValidity(),y}static fromPrivateKey(m){return f.BASE.multiply(c(m))}_setWindowSize(m){this._WINDOW_SIZE=m,u.delete(this)}assertValidity(){if(this.is0()){if(e.allowInfinityPoint&&!r.is0(this.py))return;throw new Error("bad point: ZERO")}let{x:m,y}=this.toAffine();if(!r.isValid(m)||!r.isValid(y))throw new Error("bad point: x or y not FE");let g=r.sqr(y),x=o(m);if(!r.eql(g,x))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:m}=this.toAffine();if(r.isOdd)return!r.isOdd(m);throw new Error("Field doesn't support isOdd")}equals(m){l(m);let{px:y,py:g,pz:x}=this,{px:w,py:C,pz:_}=m,A=r.eql(r.mul(y,_),r.mul(w,x)),P=r.eql(r.mul(g,_),r.mul(C,x));return A&&P}negate(){return new f(this.px,r.neg(this.py),this.pz)}double(){let{a:m,b:y}=e,g=r.mul(y,Ep),{px:x,py:w,pz:C}=this,_=r.ZERO,A=r.ZERO,P=r.ZERO,D=r.mul(x,x),W=r.mul(w,w),Q=r.mul(C,C),z=r.mul(x,w);return z=r.add(z,z),P=r.mul(x,C),P=r.add(P,P),_=r.mul(m,P),A=r.mul(g,Q),A=r.add(_,A),_=r.sub(W,A),A=r.add(W,A),A=r.mul(_,A),_=r.mul(z,_),P=r.mul(g,P),Q=r.mul(m,Q),z=r.sub(D,Q),z=r.mul(m,z),z=r.add(z,P),P=r.add(D,D),D=r.add(P,D),D=r.add(D,Q),D=r.mul(D,z),A=r.add(A,D),Q=r.mul(w,C),Q=r.add(Q,Q),D=r.mul(Q,z),_=r.sub(_,D),P=r.mul(Q,W),P=r.add(P,P),P=r.add(P,P),new f(_,A,P)}add(m){l(m);let{px:y,py:g,pz:x}=this,{px:w,py:C,pz:_}=m,A=r.ZERO,P=r.ZERO,D=r.ZERO,W=e.a,Q=r.mul(e.b,Ep),z=r.mul(y,w),ne=r.mul(g,C),ge=r.mul(x,_),rt=r.add(y,g),T=r.add(w,C);rt=r.mul(rt,T),T=r.add(z,ne),rt=r.sub(rt,T),T=r.add(y,x);let k=r.add(w,_);return T=r.mul(T,k),k=r.add(z,ge),T=r.sub(T,k),k=r.add(g,x),A=r.add(C,_),k=r.mul(k,A),A=r.add(ne,ge),k=r.sub(k,A),D=r.mul(W,T),A=r.mul(Q,ge),D=r.add(A,D),A=r.sub(ne,D),D=r.add(ne,D),P=r.mul(A,D),ne=r.add(z,z),ne=r.add(ne,z),ge=r.mul(W,ge),T=r.mul(Q,T),ne=r.add(ne,ge),ge=r.sub(z,ge),ge=r.mul(W,ge),T=r.add(T,ge),z=r.mul(ne,T),P=r.add(P,z),z=r.mul(k,T),A=r.mul(rt,A),A=r.sub(A,z),z=r.mul(rt,ne),D=r.mul(k,D),D=r.add(D,z),new f(A,P,D)}subtract(m){return this.add(m.negate())}is0(){return this.equals(f.ZERO)}wNAF(m){return p.wNAFCached(this,u,m,y=>{let g=r.invertBatch(y.map(x=>x.pz));return y.map((x,w)=>x.toAffine(g[w])).map(f.fromAffine)})}multiplyUnsafe(m){let y=f.ZERO;if(m===Sr)return y;if(a(m),m===Dt)return this;let{endo:g}=e;if(!g)return p.unsafeLadder(this,m);let{k1neg:x,k1:w,k2neg:C,k2:_}=g.splitScalar(m),A=y,P=y,D=this;for(;w>Sr||_>Sr;)w&Dt&&(A=A.add(D)),_&Dt&&(P=P.add(D)),D=D.double(),w>>=Dt,_>>=Dt;return x&&(A=A.negate()),C&&(P=P.negate()),P=new f(r.mul(P.px,g.beta),P.py,P.pz),A.add(P)}multiply(m){a(m);let y=m,g,x,{endo:w}=e;if(w){let{k1neg:C,k1:_,k2neg:A,k2:P}=w.splitScalar(y),{p:D,f:W}=this.wNAF(_),{p:Q,f:z}=this.wNAF(P);D=p.constTimeNegate(C,D),Q=p.constTimeNegate(A,Q),Q=new f(r.mul(Q.px,w.beta),Q.py,Q.pz),g=D.add(Q),x=W.add(z)}else{let{p:C,f:_}=this.wNAF(y);g=C,x=_}return f.normalizeZ([g,x])[0]}multiplyAndAddUnsafe(m,y,g){let x=f.BASE,w=(_,A)=>A===Sr||A===Dt||!_.equals(x)?_.multiplyUnsafe(A):_.multiply(A),C=w(this,y).add(w(m,g));return C.is0()?void 0:C}toAffine(m){let{px:y,py:g,pz:x}=this,w=this.is0();m==null&&(m=w?r.ONE:r.inv(x));let C=r.mul(y,m),_=r.mul(g,m),A=r.mul(x,m);if(w)return{x:r.ZERO,y:r.ZERO};if(!r.eql(A,r.ONE))throw new Error("invZ was invalid");return{x:C,y:_}}isTorsionFree(){let{h:m,isTorsionFree:y}=e;if(m===Dt)return!0;if(y)return y(f,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:m,clearCofactor:y}=e;return m===Dt?this:y?y(f,this):this.multiplyUnsafe(e.h)}toRawBytes(m=!0){return this.assertValidity(),n(f,this,m)}toHex(m=!0){return Er(this.toRawBytes(m))}}f.BASE=new f(e.Gx,e.Gy,r.ONE),f.ZERO=new f(r.ZERO,r.ONE,r.ZERO);let h=e.nBitLength,p=bs(f,e.endo?Math.ceil(h/2):h);return{CURVE:e,ProjectivePoint:f,normPrivateKeyToScalar:c,weierstrassEquation:o,isWithinCurveOrder:s}}function Ib(t){let e=ro(t);return ir(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}function wp(t){let e=Ib(t),{Fp:r,n}=e,i=r.BYTES+1,o=2*r.BYTES+1;function s(T){return Sr<T&&T<r.ORDER}function a(T){return Ee(T,n)}function c(T){return Es(T,n)}let{ProjectivePoint:u,normPrivateKeyToScalar:l,weierstrassEquation:f,isWithinCurveOrder:h}=Sb({...e,toBytes(T,k,L){let N=k.toAffine(),I=r.toBytes(N.x),K=br;return L?K(Uint8Array.from([k.hasEvenY()?2:3]),I):K(Uint8Array.from([4]),I,r.toBytes(N.y))},fromBytes(T){let k=T.length,L=T[0],N=T.subarray(1);if(k===i&&(L===2||L===3)){let I=wr(N);if(!s(I))throw new Error("Point is not on curve");let K=f(I),V=r.sqrt(K),Y=(V&Dt)===Dt;return(L&1)===1!==Y&&(V=r.neg(V)),{x:I,y:V}}else if(k===o&&L===4){let I=r.fromBytes(N.subarray(0,r.BYTES)),K=r.fromBytes(N.subarray(r.BYTES,2*r.BYTES));return{x:I,y:K}}else throw new Error(`Point of length ${k} was invalid. Expected ${i} compressed bytes or ${o} uncompressed bytes`)}}),p=T=>Er(Hr(T,e.nByteLength));function d(T){let k=n>>Dt;return T>k}function m(T){return d(T)?a(-T):T}let y=(T,k,L)=>wr(T.slice(k,L));class g{constructor(k,L,N){this.r=k,this.s=L,this.recovery=N,this.assertValidity()}static fromCompact(k){let L=e.nByteLength;return k=Oe("compactSignature",k,L*2),new g(y(k,0,L),y(k,L,2*L))}static fromDER(k){let{r:L,s:N}=Cn.toSig(Oe("DER",k));return new g(L,N)}assertValidity(){if(!h(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!h(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(k){return new g(this.r,this.s,k)}recoverPublicKey(k){let{r:L,s:N,recovery:I}=this,K=P(Oe("msgHash",k));if(I==null||![0,1,2,3].includes(I))throw new Error("recovery id invalid");let V=I===2||I===3?L+e.n:L;if(V>=r.ORDER)throw new Error("recovery id 2 or 3 invalid");let Y=I&1?"03":"02",ee=u.fromHex(Y+p(V)),oe=c(V),me=a(-K*oe),se=a(N*oe),fe=u.BASE.multiplyAndAddUnsafe(ee,me,se);if(!fe)throw new Error("point at infinify");return fe.assertValidity(),fe}hasHighS(){return d(this.s)}normalizeS(){return this.hasHighS()?new g(this.r,a(-this.s),this.recovery):this}toDERRawBytes(){return xn(this.toDERHex())}toDERHex(){return Cn.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return xn(this.toCompactHex())}toCompactHex(){return p(this.r)+p(this.s)}}let x={isValidPrivateKey(T){try{return l(T),!0}catch{return!1}},normPrivateKeyToScalar:l,randomPrivateKey:()=>{let T=Jc(e.n);return Zh(e.randomBytes(T),e.n)},precompute(T=8,k=u.BASE){return k._setWindowSize(T),k.multiply(BigInt(3)),k}};function w(T,k=!0){return u.fromPrivateKey(T).toRawBytes(k)}function C(T){let k=T instanceof Uint8Array,L=typeof T=="string",N=(k||L)&&T.length;return k?N===i||N===o:L?N===2*i||N===2*o:T instanceof u}function _(T,k,L=!0){if(C(T))throw new Error("first arg must be private key");if(!C(k))throw new Error("second arg must be public key");return u.fromHex(k).multiply(l(T)).toRawBytes(L)}let A=e.bits2int||function(T){let k=wr(T),L=T.length*8-e.nBitLength;return L>0?k>>BigInt(L):k},P=e.bits2int_modN||function(T){return a(A(T))},D=to(e.nBitLength);function W(T){if(typeof T!="bigint")throw new Error("bigint expected");if(!(Sr<=T&&T<D))throw new Error(`bigint expected < 2^${e.nBitLength}`);return Hr(T,e.nByteLength)}function Q(T,k,L=z){if(["recovered","canonical"].some(Ne=>Ne in L))throw new Error("sign() legacy options not supported");let{hash:N,randomBytes:I}=e,{lowS:K,prehash:V,extraEntropy:Y}=L;K==null&&(K=!0),T=Oe("msgHash",T),V&&(T=Oe("prehashed msgHash",N(T)));let ee=P(T),oe=l(k),me=[W(oe),W(ee)];if(Y!=null){let Ne=Y===!0?I(r.BYTES):Y;me.push(Oe("extraEntropy",Ne))}let se=br(...me),fe=ee;function Ve(Ne){let nt=A(Ne);if(!h(nt))return;let it=c(nt),ze=u.BASE.multiply(nt).toAffine(),ft=a(ze.x);if(ft===Sr)return;let dr=a(it*a(fe+ft*oe));if(dr===Sr)return;let cn=(ze.x===ft?0:2)|Number(ze.y&Dt),$i=dr;return K&&d(dr)&&($i=m(dr),cn^=1),new g(ft,$i,cn)}return{seed:se,k2sig:Ve}}let z={lowS:e.lowS,prehash:!1},ne={lowS:e.lowS,prehash:!1};function ge(T,k,L=z){let{seed:N,k2sig:I}=Q(T,k,L),K=e;return Qc(K.hash.outputLen,K.nByteLength,K.hmac)(N,I)}u.BASE._setWindowSize(8);function rt(T,k,L,N=ne){let I=T;if(k=Oe("msgHash",k),L=Oe("publicKey",L),"strict"in N)throw new Error("options.strict was renamed to lowS");let{lowS:K,prehash:V}=N,Y,ee;try{if(typeof I=="string"||I instanceof Uint8Array)try{Y=g.fromDER(I)}catch(ze){if(!(ze instanceof Cn.Err))throw ze;Y=g.fromCompact(I)}else if(typeof I=="object"&&typeof I.r=="bigint"&&typeof I.s=="bigint"){let{r:ze,s:ft}=I;Y=new g(ze,ft)}else throw new Error("PARSE");ee=u.fromHex(L)}catch(ze){if(ze.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(K&&Y.hasHighS())return!1;V&&(k=e.hash(k));let{r:oe,s:me}=Y,se=P(k),fe=c(me),Ve=a(se*fe),Ne=a(oe*fe),nt=u.BASE.multiplyAndAddUnsafe(ee,Ve,Ne)?.toAffine();return nt?a(nt.x)===oe:!1}return{CURVE:e,getPublicKey:w,getSharedSecret:_,sign:ge,verify:rt,ProjectivePoint:u,Signature:g,utils:x}}var Ds=class extends ai{constructor(e,r){super(),this.finished=!1,this.destroyed=!1,Fh(e);let n=eo(r);if(this.iHash=e.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let i=this.blockLen,o=new Uint8Array(i);o.set(n.length>i?e.create().update(n).digest():n);for(let s=0;s<o.length;s++)o[s]^=54;this.iHash.update(o),this.oHash=e.create();for(let s=0;s<o.length;s++)o[s]^=106;this.oHash.update(o),o.fill(0)}update(e){return si(this),this.iHash.update(e),this}digestInto(e){si(this),Vc(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));let{oHash:r,iHash:n,finished:i,destroyed:o,blockLen:s,outputLen:a}=this;return e=e,e.finished=i,e.destroyed=o,e.blockLen=s,e.outputLen=a,e.oHash=r._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},Bu=(t,e,r)=>new Ds(t,e).update(r).digest();Bu.create=(t,e)=>new Ds(t,e);function Rb(t){return{hash:t,hmac:(e,...r)=>Bu(t,e,ds(...r)),randomBytes:ci}}function bp(t,e){let r=n=>wp({...t,...Rb(n)});return Object.freeze({...r(e),create:r})}var Ap=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),vp=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),Cb=BigInt(1),Lu=BigInt(2),_p=(t,e)=>(t+e/Lu)/e;function Tb(t){let e=Ap,r=BigInt(3),n=BigInt(6),i=BigInt(11),o=BigInt(22),s=BigInt(23),a=BigInt(44),c=BigInt(88),u=t*t*t%e,l=u*u*t%e,f=Ce(l,r,e)*l%e,h=Ce(f,r,e)*l%e,p=Ce(h,Lu,e)*u%e,d=Ce(p,i,e)*p%e,m=Ce(d,o,e)*d%e,y=Ce(m,a,e)*m%e,g=Ce(y,c,e)*y%e,x=Ce(g,a,e)*m%e,w=Ce(x,r,e)*l%e,C=Ce(w,s,e)*d%e,_=Ce(C,n,e)*u%e,A=Ce(_,Lu,e);if(!Pu.eql(Pu.sqr(A),t))throw new Error("Cannot find square root");return A}var Pu=ws(Ap,void 0,void 0,{sqrt:Tb}),Ir=bp({a:BigInt(0),b:BigInt(7),Fp:Pu,n:vp,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:t=>{let e=vp,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-Cb*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),o=r,s=BigInt("0x100000000000000000000000000000000"),a=_p(o*t,e),c=_p(-n*t,e),u=Ee(t-a*r-c*i,e),l=Ee(-a*n-c*o,e),f=u>s,h=l>s;if(f&&(u=e-u),h&&(l=e-l),u>s||l>s)throw new Error("splitScalar: Endomorphism failed, k="+t);return{k1neg:f,k1:u,k2neg:h,k2:l}}}},xp),h8=BigInt(0);var d8=Ir.ProjectivePoint;function Sp(){return Ir.utils.randomPrivateKey()}async function Ip(t,e){let{digest:r}=await ot.digest(e);try{return Ir.sign(r,t).toDERRawBytes()}catch(n){throw new b(String(n),"ERR_INVALID_INPUT")}}async function Rp(t,e,r){try{let{digest:n}=await ot.digest(r);return Ir.verify(e,n,t)}catch(n){throw new b(String(n),"ERR_INVALID_INPUT")}}function Cp(t){return Ir.ProjectivePoint.fromHex(t).toRawBytes(!0)}function Tp(t){try{Ir.getPublicKey(t,!0)}catch(e){throw new b(String(e),"ERR_INVALID_PRIVATE_KEY")}}function Du(t){try{Ir.ProjectivePoint.fromHex(t)}catch(e){throw new b(String(e),"ERR_INVALID_PUBLIC_KEY")}}function Bp(t){try{return Ir.getPublicKey(t,!0)}catch(e){throw new b(String(e),"ERR_INVALID_PRIVATE_KEY")}}var lo=class{_key;constructor(e){Du(e),this._key=e}async verify(e,r){return Rp(this._key,r,e)}marshal(){return Cp(this._key)}get bytes(){return sr.encode({Type:Te.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return Pe(this.bytes,e.bytes)}async hash(){let{bytes:e}=await ot.digest(this.bytes);return e}},fo=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r??Bp(e),Tp(this._key),Du(this._publicKey)}async sign(e){return Ip(this._key,e)}get public(){return new lo(this._publicKey)}marshal(){return this._key}get bytes(){return ar.encode({Type:Te.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return Pe(this.bytes,e.bytes)}async hash(){let{bytes:e}=await ot.digest(this.bytes);return e}async id(){let e=await this.public.hash();return Z(e,"base58btc")}async export(e,r="libp2p-key"){if(r==="libp2p-key")return hi(this.bytes,e);throw new b(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function Lb(t){return new fo(t)}function Pb(t){return new lo(t)}async function Db(){let t=Sp();return new fo(t)}var Rr={rsa:Cu,ed25519:_u,secp256k1:Nu};function ku(t){let e=Object.keys(Rr).join(" / ");return new b(`invalid or unsupported key type ${t}. Must be ${e}`,"ERR_UNSUPPORTED_KEY_TYPE")}function Ou(t){if(t=t.toLowerCase(),t==="rsa"||t==="ed25519"||t==="secp256k1")return Rr[t];throw ku(t)}async function ks(t,e){return Ou(t).generateKeyPair(e??2048)}function ho(t){let e=sr.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case Te.RSA:return Rr.rsa.unmarshalRsaPublicKey(r);case Te.Ed25519:return Rr.ed25519.unmarshalEd25519PublicKey(r);case Te.Secp256k1:return Rr.secp256k1.unmarshalSecp256k1PublicKey(r);default:throw ku(e.Type??"unknown")}}function Lp(t,e){return e=(e??"rsa").toLowerCase(),Ou(e),t.bytes}async function gi(t){let e=ar.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case Te.RSA:return Rr.rsa.unmarshalRsaPrivateKey(r);case Te.Ed25519:return Rr.ed25519.unmarshalEd25519PrivateKey(r);case Te.Secp256k1:return Rr.secp256k1.unmarshalSecp256k1PrivateKey(r);default:throw ku(e.Type??"RSA")}}function Pp(t,e){return e=(e??"rsa").toLowerCase(),Ou(e),t.bytes}async function po(t,e){try{let i=await tp(t,e);return await gi(i)}catch{}let r=Ns.default.pki.decryptRsaPrivateKey(t,e);if(r===null)throw new b("Cannot read the key, most likely the password is wrong or not a RSA key","ERR_CANNOT_DECRYPT_PEM");let n=Ns.default.asn1.toDer(Ns.default.pki.privateKeyToAsn1(r));return n=G(n.getBytes(),"ascii"),Rr.rsa.unmarshalRsaPrivateKey(n)}var Mu=Symbol.for("@libp2p/content-routing");var mo=class extends EventTarget{#e=new Map;listenerCount(e){let r=this.#e.get(e);return r==null?0:r.length}addEventListener(e,r,n){super.addEventListener(e,r,n);let i=this.#e.get(e);i==null&&(i=[],this.#e.set(e,i)),i.push({callback:r,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(e,r,n){super.removeEventListener(e.toString(),r??null,n);let i=this.#e.get(e);i!=null&&(i=i.filter(({callback:o})=>o!==r),this.#e.set(e,i))}dispatchEvent(e){let r=super.dispatchEvent(e),n=this.#e.get(e.type);return n==null||(n=n.filter(({once:i})=>!i),this.#e.set(e.type,n)),r}safeDispatchEvent(e,r){return this.dispatchEvent(new Fu(e,r))}},Uu=class extends Event{detail;constructor(e,r){super(e,r),this.detail=r?.detail}},Fu=globalThis.CustomEvent??Uu;var Ku=Symbol.for("@libp2p/peer-discovery");var qu=Symbol.for("@libp2p/peer-routing");var U8=te(Zo(),1),kb=te(ye(),1);var Np=te(lc(),1),kp=te(Me(),1),Dp={sha1:"sha1","sha2-256":"sha256","sha2-512":"sha512"};function yo(t,e,r,n,i){if(i!=="sha1"&&i!=="sha2-256"&&i!=="sha2-512"){let a=Object.keys(Dp).join(" / ");throw new b(`Hash '${i}' is unknown or not supported. Must be ${a}`,"ERR_UNSUPPORTED_HASH_TYPE")}let o=Dp[i],s=(0,Np.default)(t,e,r,n,o);return kp.default.encode64(s,null)}var St=te($u(),1);St.default.formatters.b=t=>t==null?"undefined":Le.baseEncode(t);St.default.formatters.t=t=>t==null?"undefined":bt.baseEncode(t);St.default.formatters.m=t=>t==null?"undefined":mn.baseEncode(t);St.default.formatters.p=t=>t==null?"undefined":t.toString();St.default.formatters.c=t=>t==null?"undefined":t.toString();St.default.formatters.k=t=>t==null?"undefined":t.toString();St.default.formatters.a=t=>t==null?"undefined":t.toString();function Xb(t){let e=()=>{};return e.enabled=!1,e.color="",e.diff=0,e.log=()=>{},e.namespace=t,e.destroy=()=>!0,e.extend=()=>e,e}function ie(t){let e=Xb(`${t}:trace`);return St.default.enabled(`${t}:trace`)&&St.default.names.map(r=>r.toString()).find(r=>r.includes(":trace"))!=null&&(e=(0,St.default)(`${t}:trace`)),Object.assign((0,St.default)(t),{error:(0,St.default)(`${t}:error`),trace:e})}var Hu=Symbol.for("@libp2p/peer-id");function Us(t){return t!=null&&!!t[Hu]}var Zb=Symbol.for("nodejs.util.inspect.custom"),Fp=Object.values(Kr).map(t=>t.decoder).reduce((t,e)=>t.or(e),Kr.identity.decoder),Kp=114,zu=36,Gu=37,go=class{type;multihash;privateKey;publicKey;string;constructor(e){this.type=e.type,this.multihash=e.multihash,this.privateKey=e.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[Hu]=!0;toString(){return this.string==null&&(this.string=Le.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return Ut.createV1(Kp,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(e){if(e instanceof Uint8Array)return Pe(this.multihash.bytes,e);if(typeof e=="string")return de(e).equals(this);if(e?.multihash?.bytes!=null)return Pe(this.multihash.bytes,e.multihash.bytes);throw new Error("not valid Id")}[Zb](){return`PeerId(${this.toString()})`}},Bn=class extends go{type="RSA";publicKey;constructor(e){super({...e,type:"RSA"}),this.publicKey=e.publicKey}},Ln=class extends go{type="Ed25519";publicKey;constructor(e){super({...e,type:"Ed25519"}),this.publicKey=e.multihash.digest}},Pn=class extends go{type="secp256k1";publicKey;constructor(e){super({...e,type:"secp256k1"}),this.publicKey=e.multihash.digest}};function qp(t){if(t.type==="RSA")return new Bn(t);if(t.type==="Ed25519")return new Ln(t);if(t.type==="secp256k1")return new Pn(t);throw new b("Not a PeerId","ERR_INVALID_PARAMETERS")}function de(t,e){if(e=e??Fp,t.charAt(0)==="1"||t.charAt(0)==="Q"){let r=yn(Le.decode(`z${t}`));return t.startsWith("12D")?new Ln({multihash:r}):t.startsWith("16U")?new Pn({multihash:r}):new Bn({multihash:r})}return bi(Fp.decode(t))}function bi(t){try{let e=yn(t);if(e.code===Fr.code){if(e.digest.length===zu)return new Ln({multihash:e});if(e.digest.length===Gu)return new Pn({multihash:e})}if(e.code===ot.code)return new Bn({multihash:e})}catch{return jb(Ut.decode(t))}throw new Error("Supplied PeerID CID is invalid")}function jb(t){if(t==null||t.multihash==null||t.version==null||t.version===1&&t.code!==Kp)throw new Error("Supplied PeerID CID is invalid");let e=t.multihash;if(e.code===ot.code)return new Bn({multihash:t.multihash});if(e.code===Fr.code){if(e.digest.length===zu)return new Ln({multihash:t.multihash});if(e.digest.length===Gu)return new Pn({multihash:t.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function vi(t,e){return t.length===zu?new Ln({multihash:nr(Fr.code,t),privateKey:e}):t.length===Gu?new Pn({multihash:nr(Fr.code,t),privateKey:e}):new Bn({multihash:await ot.digest(t),publicKey:t,privateKey:e})}var Fs=(t=21)=>crypto.getRandomValues(new Uint8Array(t)).reduce((e,r)=>(r&=63,r<36?e+=r.toString(36):r<62?e+=(r-26).toString(36).toUpperCase():r>62?e+="-":e+="_",e),"");var Cr="/",Vp=new TextEncoder().encode(Cr),Ks=Vp[0],cr=class t{_buf;constructor(e,r){if(typeof e=="string")this._buf=G(e);else if(e instanceof Uint8Array)this._buf=e;else throw new Error("Invalid key, should be String of Uint8Array");if(r==null&&(r=!0),r&&this.clean(),this._buf.byteLength===0||this._buf[0]!==Ks)throw new Error("Invalid key")}toString(e="utf8"){return Z(this._buf,e)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(e){return new t(e.join(Cr))}static random(){return new t(Fs().replace(/-/g,""))}static asKey(e){return e instanceof Uint8Array||typeof e=="string"?new t(e):typeof e.uint8Array=="function"?new t(e.uint8Array()):null}clean(){if((this._buf==null||this._buf.byteLength===0)&&(this._buf=Vp),this._buf[0]!==Ks){let e=new Uint8Array(this._buf.byteLength+1);e.fill(Ks,0,1),e.set(this._buf,1),this._buf=e}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===Ks;)this._buf=this._buf.subarray(0,-1)}less(e){let r=this.list(),n=e.list();for(let i=0;i<r.length;i++){if(n.length<i+1)return!1;let o=r[i],s=n[i];if(o<s)return!0;if(o>s)return!1}return r.length<n.length}reverse(){return t.withNamespaces(this.list().slice().reverse())}namespaces(){return this.list()}baseNamespace(){let e=this.namespaces();return e[e.length-1]}list(){return this.toString().split(Cr).slice(1)}type(){return Jb(this.baseNamespace())}name(){return ev(this.baseNamespace())}instance(e){return new t(this.toString()+":"+e)}path(){let e=this.parent().toString();return e.endsWith(Cr)||(e+=Cr),e+=this.type(),new t(e)}parent(){let e=this.list();return e.length===1?new t(Cr):new t(e.slice(0,-1).join(Cr))}child(e){return this.toString()===Cr?e:e.toString()===Cr?this:new t(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 t.withNamespaces([...this.namespaces(),...tv(e.map(r=>r.namespaces()))])}};function Jb(t){let e=t.split(":");return e.length<2?"":e.slice(0,-1).join(":")}function ev(t){let e=t.split(":");return e[e.length-1]}function tv(t){return[].concat(...t)}var Zp=te(Xp(),1),Qr=Zp.default;var am=te(sm(),1);var ce;(function(t){t.ERR_INVALID_PARAMETERS="ERR_INVALID_PARAMETERS",t.ERR_INVALID_KEY_NAME="ERR_INVALID_KEY_NAME",t.ERR_INVALID_KEY_TYPE="ERR_INVALID_KEY_TYPE",t.ERR_KEY_ALREADY_EXISTS="ERR_KEY_ALREADY_EXISTS",t.ERR_INVALID_KEY_SIZE="ERR_INVALID_KEY_SIZE",t.ERR_KEY_NOT_FOUND="ERR_KEY_NOT_FOUND",t.ERR_OLD_KEY_NAME_INVALID="ERR_OLD_KEY_NAME_INVALID",t.ERR_NEW_KEY_NAME_INVALID="ERR_NEW_KEY_NAME_INVALID",t.ERR_PASSWORD_REQUIRED="ERR_PASSWORD_REQUIRED",t.ERR_PEM_REQUIRED="ERR_PEM_REQUIRED",t.ERR_CANNOT_READ_KEY="ERR_CANNOT_READ_KEY",t.ERR_MISSING_PRIVATE_KEY="ERR_MISSING_PRIVATE_KEY",t.ERR_INVALID_OLD_PASS_TYPE="ERR_INVALID_OLD_PASS_TYPE",t.ERR_INVALID_NEW_PASS_TYPE="ERR_INVALID_NEW_PASS_TYPE",t.ERR_INVALID_PASS_LENGTH="ERR_INVALID_PASS_LENGTH"})(ce||(ce={}));var $s=ie("libp2p:keychain"),Ev="/pkcs8/",cm="/info/",Dn=new WeakMap,Nn={minKeyLength:112/8,minSaltLength:128/8,minIterationCount:1e3},Wu={dek:{keyLength:512/8,iterationCount:1e4,salt:"you should override this value with a crypto secure random number",hash:"sha2-512"}};function Tr(t){return t==null||typeof t!="string"?!1:t===(0,am.default)(t.trim())&&t.length>0}async function we(){let r=Math.random()*800+200;await new Promise(n=>setTimeout(n,r))}function ur(t){return new cr(Ev+t)}function Xr(t){return new cr(cm+t)}var kn=class{components;init;constructor(e,r){if(this.components=e,this.init=Qr(Wu,r),this.init.pass!=null&&this.init.pass?.length<20)throw new Error("pass must be least 20 characters");if(this.init.dek?.keyLength!=null&&this.init.dek.keyLength<Nn.minKeyLength)throw new Error(`dek.keyLength must be least ${Nn.minKeyLength} bytes`);if(this.init.dek?.salt?.length!=null&&this.init.dek.salt.length<Nn.minSaltLength)throw new Error(`dek.saltLength must be least ${Nn.minSaltLength} bytes`);if(this.init.dek?.iterationCount!=null&&this.init.dek.iterationCount<Nn.minIterationCount)throw new Error(`dek.iterationCount must be least ${Nn.minIterationCount}`);let n=this.init.pass!=null&&this.init.dek?.salt!=null?yo(this.init.pass,this.init.dek?.salt,this.init.dek?.iterationCount,this.init.dek?.keyLength,this.init.dek?.hash):"";Dn.set(this,{dek:n})}static generateOptions(){let e=Object.assign({},Wu),r=Math.ceil(Nn.minSaltLength/3)*3;return e.dek.salt=Z(In(r),"base64"),e}static get options(){return Wu}async createKey(e,r,n=2048){if(!Tr(e)||e==="self")throw await we(),new b("Invalid key name",ce.ERR_INVALID_KEY_NAME);if(typeof r!="string")throw await we(),new b("Invalid key type",ce.ERR_INVALID_KEY_TYPE);let i=ur(e);if(await this.components.datastore.has(i))throw await we(),new b("Key name already exists",ce.ERR_KEY_ALREADY_EXISTS);switch(r.toLowerCase()){case"rsa":if(!Number.isSafeInteger(n)||n<2048)throw await we(),new b("Invalid RSA key size",ce.ERR_INVALID_KEY_SIZE);break;default:break}let s;try{let a=await ks(r,n),c=await a.id(),u=Dn.get(this);if(u==null)throw new b("dek missing",ce.ERR_INVALID_PARAMETERS);let l=u.dek,f=await a.export(l);s={name:e,id:c};let h=this.components.datastore.batch();h.put(i,G(f)),h.put(Xr(e),G(JSON.stringify(s))),await h.commit()}catch(a){throw await we(),a}return s}async listKeys(){let e={prefix:cm},r=[];for await(let n of this.components.datastore.query(e))r.push(JSON.parse(Z(n.value)));return r}async findKeyById(e){try{let n=(await this.listKeys()).find(i=>i.id===e);if(n==null)throw new b(`Key with id '${e}' does not exist.`,ce.ERR_KEY_NOT_FOUND);return n}catch(r){throw await we(),r}}async findKeyByName(e){if(!Tr(e))throw await we(),new b(`Invalid key name '${e}'`,ce.ERR_INVALID_KEY_NAME);let r=Xr(e);try{let n=await this.components.datastore.get(r);return JSON.parse(Z(n))}catch(n){throw await we(),$s.error(n),new b(`Key '${e}' does not exist.`,ce.ERR_KEY_NOT_FOUND)}}async removeKey(e){if(!Tr(e)||e==="self")throw await we(),new b(`Invalid key name '${e}'`,ce.ERR_INVALID_KEY_NAME);let r=ur(e),n=await this.findKeyByName(e),i=this.components.datastore.batch();return i.delete(r),i.delete(Xr(e)),await i.commit(),n}async renameKey(e,r){if(!Tr(e)||e==="self")throw await we(),new b(`Invalid old key name '${e}'`,ce.ERR_OLD_KEY_NAME_INVALID);if(!Tr(r)||r==="self")throw await we(),new b(`Invalid new key name '${r}'`,ce.ERR_NEW_KEY_NAME_INVALID);let n=ur(e),i=ur(r),o=Xr(e),s=Xr(r);if(await this.components.datastore.has(i))throw await we(),new b(`Key '${r}' already exists`,ce.ERR_KEY_ALREADY_EXISTS);try{let c=await this.components.datastore.get(n),u=await this.components.datastore.get(o),l=JSON.parse(Z(u));l.name=r;let f=this.components.datastore.batch();return f.put(i,c),f.put(s,G(JSON.stringify(l))),f.delete(n),f.delete(o),await f.commit(),l}catch(c){throw await we(),c}}async exportKey(e,r){if(!Tr(e))throw await we(),new b(`Invalid key name '${e}'`,ce.ERR_INVALID_KEY_NAME);if(r==null)throw await we(),new b("Password is required",ce.ERR_PASSWORD_REQUIRED);let n=ur(e);try{let i=await this.components.datastore.get(n),o=Z(i),s=Dn.get(this);if(s==null)throw new b("dek missing",ce.ERR_INVALID_PARAMETERS);let a=s.dek;return await(await po(o,a)).export(r)}catch(i){throw await we(),i}}async exportPeerId(e){let r="temporary-password",n=await this.exportKey(e,r),i=await po(n,r);return vi(i.public.bytes,i.bytes)}async importKey(e,r,n){if(!Tr(e)||e==="self")throw await we(),new b(`Invalid key name '${e}'`,ce.ERR_INVALID_KEY_NAME);if(r==null)throw await we(),new b("PEM encoded key is required",ce.ERR_PEM_REQUIRED);let i=ur(e);if(await this.components.datastore.has(i))throw await we(),new b(`Key '${e}' already exists`,ce.ERR_KEY_ALREADY_EXISTS);let s;try{s=await po(r,n)}catch{throw await we(),new b("Cannot read the key, most likely the password is wrong",ce.ERR_CANNOT_READ_KEY)}let a;try{a=await s.id();let l=Dn.get(this);if(l==null)throw new b("dek missing",ce.ERR_INVALID_PARAMETERS);let f=l.dek;r=await s.export(f)}catch(l){throw await we(),l}let c={name:e,id:a},u=this.components.datastore.batch();return u.put(i,G(r)),u.put(Xr(e),G(JSON.stringify(c))),await u.commit(),c}async importPeer(e,r){try{if(!Tr(e))throw new b(`Invalid key name '${e}'`,ce.ERR_INVALID_KEY_NAME);if(r==null)throw new b("PeerId is required",ce.ERR_MISSING_PRIVATE_KEY);if(r.privateKey==null)throw new b("PeerId.privKey is required",ce.ERR_MISSING_PRIVATE_KEY);let n=await gi(r.privateKey),i=ur(e);if(await this.components.datastore.has(i))throw await we(),new b(`Key '${e}' already exists`,ce.ERR_KEY_ALREADY_EXISTS);let s=Dn.get(this);if(s==null)throw new b("dek missing",ce.ERR_INVALID_PARAMETERS);let a=s.dek,c=await n.export(a),u={name:e,id:r.toString()},l=this.components.datastore.batch();return l.put(i,G(c)),l.put(Xr(e),G(JSON.stringify(u))),await l.commit(),u}catch(n){throw await we(),n}}async getPrivateKey(e){if(!Tr(e))throw await we(),new b(`Invalid key name '${e}'`,ce.ERR_INVALID_KEY_NAME);try{let r=ur(e),n=await this.components.datastore.get(r);return Z(n)}catch(r){throw await we(),$s.error(r),new b(`Key '${e}' does not exist.`,ce.ERR_KEY_NOT_FOUND)}}async rotateKeychainPass(e,r){if(typeof e!="string")throw await we(),new b(`Invalid old pass type '${typeof e}'`,ce.ERR_INVALID_OLD_PASS_TYPE);if(typeof r!="string")throw await we(),new b(`Invalid new pass type '${typeof r}'`,ce.ERR_INVALID_NEW_PASS_TYPE);if(r.length<20)throw await we(),new b(`Invalid pass length ${r.length}`,ce.ERR_INVALID_PASS_LENGTH);$s("recreating keychain");let n=Dn.get(this);if(n==null)throw new b("dek missing",ce.ERR_INVALID_PARAMETERS);let i=n.dek;this.init.pass=r;let o=r!=null&&this.init.dek?.salt!=null?yo(r,this.init.dek.salt,this.init.dek?.iterationCount,this.init.dek?.keyLength,this.init.dek?.hash):"";Dn.set(this,{dek:o});let s=await this.listKeys();for(let a of s){let c=await this.components.datastore.get(ur(a.name)),u=Z(c),l=await po(u,i),f=o.toString(),h=await l.export(f),p=this.components.datastore.batch(),d={name:a.name,id:a.id};p.put(ur(a.name),G(h)),p.put(Xr(a.name),G(JSON.stringify(d))),await p.commit()}$s("keychain reconstructed")}};function Br(t,e){let r={[Symbol.iterator]:()=>r,next:()=>{let n=t.next(),i=n.value;return n.done===!0||i==null?{done:!0,value:void 0}:{done:!1,value:e(i)}}};return r}var Gt=class{map;constructor(e){if(this.map=new Map,e!=null)for(let[r,n]of e.entries())this.map.set(r.toString(),n)}[Symbol.iterator](){return this.entries()}clear(){this.map.clear()}delete(e){this.map.delete(e.toString())}entries(){return Br(this.map.entries(),e=>[de(e[0]),e[1]])}forEach(e){this.map.forEach((r,n)=>{e(r,de(n),this)})}get(e){return this.map.get(e.toString())}has(e){return this.map.has(e.toString())}set(e,r){this.map.set(e.toString(),r)}keys(){return Br(this.map.keys(),e=>de(e))}values(){return this.map.values()}get size(){return this.map.size}};var On=class t{set;constructor(e){if(this.set=new Set,e!=null)for(let r of e)this.set.add(r.toString())}get size(){return this.set.size}[Symbol.iterator](){return this.values()}add(e){this.set.add(e.toString())}clear(){this.set.clear()}delete(e){this.set.delete(e.toString())}entries(){return Br(this.set.entries(),e=>{let r=de(e[0]);return[r,r]})}forEach(e){this.set.forEach(r=>{let n=de(r);e(n,n,this)})}has(e){return this.set.has(e.toString())}values(){return Br(this.set.values(),e=>de(e))}intersection(e){let r=new t;for(let n of e)this.has(n)&&r.add(n);return r}difference(e){let r=new t;for(let n of this)e.has(n)||r.add(n);return r}union(e){let r=new t;for(let n of e)r.add(n);for(let n of this)r.add(n);return r}};var Qu=class t{list;constructor(e){if(this.list=[],e!=null)for(let r of e)this.list.push(r.toString())}[Symbol.iterator](){return Br(this.list.entries(),e=>de(e[1]))}concat(e){let r=new t(this);for(let n of e)r.push(n);return r}entries(){return Br(this.list.entries(),e=>[e[0],de(e[1])])}every(e){return this.list.every((r,n)=>e(de(r),n,this))}filter(e){let r=new t;return this.list.forEach((n,i)=>{let o=de(n);e(o,i,this)&&r.push(o)}),r}find(e){let r=this.list.find((n,i)=>e(de(n),i,this));if(r!=null)return de(r)}findIndex(e){return this.list.findIndex((r,n)=>e(de(r),n,this))}forEach(e){this.list.forEach((r,n)=>{e(de(r),n,this)})}includes(e){return this.list.includes(e.toString())}indexOf(e){return this.list.indexOf(e.toString())}pop(){let e=this.list.pop();if(e!=null)return de(e)}push(...e){for(let r of e)this.list.push(r.toString())}shift(){let e=this.list.shift();if(e!=null)return de(e)}unshift(...e){let r=this.list.length;for(let n=e.length-1;n>-1;n--)r=this.list.unshift(e[n].toString());return r}get length(){return this.list.length}};var Xu;(function(t){let e;t.codec=()=>(e==null&&(e=ct((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.id!=null&&(n.uint32(10),n.bytes(r.id)),r.pubKey!=null&&(n.uint32(18),n.bytes(r.pubKey)),r.privKey!=null&&(n.uint32(26),n.bytes(r.privKey)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.id=r.bytes();break;case 2:i.pubKey=r.bytes();break;case 3:i.privKey=r.bytes();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>at(r,t.codec()),t.decode=r=>st(r,t.codec())})(Xu||(Xu={}));var um=async()=>{let t=await ks("Ed25519"),e=await wv(t);if(e.type==="Ed25519")return e;throw new Error(`Generated unexpected PeerId type "${e.type}"`)};async function wv(t){return vi(Lp(t.public),Pp(t))}var bv=Math.pow(2,7),vv=Math.pow(2,14),_v=Math.pow(2,21),Zu=Math.pow(2,28),ju=Math.pow(2,35),Ju=Math.pow(2,42),el=Math.pow(2,49),pe=128,ht=127;function Et(t){if(t<bv)return 1;if(t<vv)return 2;if(t<_v)return 3;if(t<Zu)return 4;if(t<ju)return 5;if(t<Ju)return 6;if(t<el)return 7;if(Number.MAX_SAFE_INTEGER!=null&&t>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Av(t,e,r=0){switch(Et(t)){case 8:e[r++]=t&255|pe,t/=128;case 7:e[r++]=t&255|pe,t/=128;case 6:e[r++]=t&255|pe,t/=128;case 5:e[r++]=t&255|pe,t/=128;case 4:e[r++]=t&255|pe,t>>>=7;case 3:e[r++]=t&255|pe,t>>>=7;case 2:e[r++]=t&255|pe,t>>>=7;case 1:{e[r++]=t&255,t>>>=7;break}default:throw new Error("unreachable")}return e}function Sv(t,e,r=0){switch(Et(t)){case 8:e.set(r++,t&255|pe),t/=128;case 7:e.set(r++,t&255|pe),t/=128;case 6:e.set(r++,t&255|pe),t/=128;case 5:e.set(r++,t&255|pe),t/=128;case 4:e.set(r++,t&255|pe),t>>>=7;case 3:e.set(r++,t&255|pe),t>>>=7;case 2:e.set(r++,t&255|pe),t>>>=7;case 1:{e.set(r++,t&255),t>>>=7;break}default:throw new Error("unreachable")}return e}function Iv(t,e){let r=t[e],n=0;if(n+=r&ht,r<pe||(r=t[e+1],n+=(r&ht)<<7,r<pe)||(r=t[e+2],n+=(r&ht)<<14,r<pe)||(r=t[e+3],n+=(r&ht)<<21,r<pe)||(r=t[e+4],n+=(r&ht)*Zu,r<pe)||(r=t[e+5],n+=(r&ht)*ju,r<pe)||(r=t[e+6],n+=(r&ht)*Ju,r<pe)||(r=t[e+7],n+=(r&ht)*el,r<pe))return n;throw new RangeError("Could not decode varint")}function Rv(t,e){let r=t.get(e),n=0;if(n+=r&ht,r<pe||(r=t.get(e+1),n+=(r&ht)<<7,r<pe)||(r=t.get(e+2),n+=(r&ht)<<14,r<pe)||(r=t.get(e+3),n+=(r&ht)<<21,r<pe)||(r=t.get(e+4),n+=(r&ht)*Zu,r<pe)||(r=t.get(e+5),n+=(r&ht)*ju,r<pe)||(r=t.get(e+6),n+=(r&ht)*Ju,r<pe)||(r=t.get(e+7),n+=(r&ht)*el,r<pe))return n;throw new RangeError("Could not decode varint")}function Nt(t,e,r=0){return e==null&&(e=Ft(Et(t))),e instanceof Uint8Array?Av(t,e,r):Sv(t,e,r)}function Lr(t,e=0){return t instanceof Uint8Array?Iv(t,e):Rv(t,e)}var fm=Symbol.for("@achingbrain/uint8arraylist");function lm(t,e){if(e==null||e<0)throw new RangeError("index is out of bounds");let r=0;for(let n of t){let i=r+n.byteLength;if(e<i)return{buf:n,index:e-r};r=i}throw new RangeError("index is out of bounds")}function Hs(t){return!!t?.[fm]}var Je=class t{constructor(...e){Object.defineProperty(this,fm,{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 r=0;for(let n of e)if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.push(n);else if(Hs(n))r+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}prepend(...e){this.prependAll(e)}prependAll(e){let r=0;for(let n of e.reverse())if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.unshift(n);else if(Hs(n))r+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}get(e){let r=lm(this.bufs,e);return r.buf[r.index]}set(e,r){let n=lm(this.bufs,e);n.buf[n.index]=r}write(e,r=0){if(e instanceof Uint8Array)for(let n=0;n<e.length;n++)this.set(r+n,e[n]);else if(Hs(e))for(let n=0;n<e.length;n++)this.set(r+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,r){let{bufs:n,length:i}=this._subList(e,r);return Ue(n,i)}subarray(e,r){let{bufs:n,length:i}=this._subList(e,r);return n.length===1?n[0]:Ue(n,i)}sublist(e,r){let{bufs:n,length:i}=this._subList(e,r),o=new t;return o.length=i,o.bufs=n,o}_subList(e,r){if(e=e??0,r=r??this.length,e<0&&(e=this.length+e),r<0&&(r=this.length+r),e<0||r>this.length)throw new RangeError("index is out of bounds");if(e===r)return{bufs:[],length:0};if(e===0&&r===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=r>a&&r<=c;if(u&&l){if(e===a&&r===c){n.push(s);break}let f=e-a;n.push(s.subarray(f,f+(r-e)));break}if(u){if(e===0){n.push(s);continue}n.push(s.subarray(e-a));continue}if(l){if(r===c){n.push(s);break}n.push(s.subarray(0,r-a));break}n.push(s)}return{bufs:n,length:r-e}}indexOf(e,r=0){if(!Hs(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(r=Number(r??0),isNaN(r)&&(r=0),r<0&&(r=this.length+r),r<0&&(r=0),e.length===0)return r>this.length?this.length:r;let i=n.byteLength;if(i===0)throw new TypeError("search must be at least 1 byte long");let o=256,s=new Int32Array(o);for(let f=0;f<o;f++)s[f]=-1;for(let f=0;f<i;f++)s[n[f]]=f;let a=s,c=this.byteLength-n.byteLength,u=n.byteLength-1,l;for(let f=r;f<=c;f+=l){l=0;for(let h=u;h>=0;h--){let p=this.get(f+h);if(n[h]!==p){l=Math.max(1,h-a[p]);break}}if(l===0)return f}return-1}getInt8(e){let r=this.subarray(e,e+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt8(0)}setInt8(e,r){let n=Ft(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,r),this.write(n,e)}getInt16(e,r){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,r)}setInt16(e,r,n){let i=xr(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt16(0,r,n),this.write(i,e)}getInt32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,r)}setInt32(e,r,n){let i=xr(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt32(0,r,n),this.write(i,e)}getBigInt64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,r)}setBigInt64(e,r,n){let i=xr(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigInt64(0,r,n),this.write(i,e)}getUint8(e){let r=this.subarray(e,e+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint8(0)}setUint8(e,r){let n=Ft(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,r),this.write(n,e)}getUint16(e,r){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,r)}setUint16(e,r,n){let i=xr(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint16(0,r,n),this.write(i,e)}getUint32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,r)}setUint32(e,r,n){let i=xr(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,r,n),this.write(i,e)}getBigUint64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,r)}setBigUint64(e,r,n){let i=xr(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigUint64(0,r,n),this.write(i,e)}getFloat32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,r)}setFloat32(e,r,n){let i=xr(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat32(0,r,n),this.write(i,e)}getFloat64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,r)}setFloat64(e,r,n){let i=xr(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,r,n),this.write(i,e)}equals(e){if(e==null||!(e instanceof t)||e.bufs.length!==this.bufs.length)return!1;for(let r=0;r<this.bufs.length;r++)if(!Pe(this.bufs[r],e.bufs[r]))return!1;return!0}static fromUint8Arrays(e,r){let n=new t;return n.bufs=e,r==null&&(r=e.reduce((i,o)=>i+o.byteLength,0)),n.length=r,n}};var hm={ERR_SIGNATURE_NOT_VALID:"ERR_SIGNATURE_NOT_VALID"};var Eo;(function(t){let e;t.codec=()=>(e==null&&(e=ct((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.publicKey!=null&&r.publicKey.byteLength>0&&(n.uint32(10),n.bytes(r.publicKey)),r.payloadType!=null&&r.payloadType.byteLength>0&&(n.uint32(18),n.bytes(r.payloadType)),r.payload!=null&&r.payload.byteLength>0&&(n.uint32(26),n.bytes(r.payload)),r.signature!=null&&r.signature.byteLength>0&&(n.uint32(42),n.bytes(r.signature)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={publicKey:new Uint8Array(0),payloadType:new Uint8Array(0),payload:new Uint8Array(0),signature:new Uint8Array(0)},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.publicKey=r.bytes();break;case 2:i.payloadType=r.bytes();break;case 3:i.payload=r.bytes();break;case 5:i.signature=r.bytes();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>at(r,t.codec()),t.decode=r=>st(r,t.codec())})(Eo||(Eo={}));var Si=class t{static createFromProtobuf=async e=>{let r=Eo.decode(e),n=await vi(r.publicKey);return new t({peerId:n,payloadType:r.payloadType,payload:r.payload,signature:r.signature})};static seal=async(e,r)=>{if(r.privateKey==null)throw new Error("Missing private key");let n=e.domain,i=e.codec,o=e.marshal(),s=dm(n,i,o),c=await(await gi(r.privateKey)).sign(s.subarray());return new t({peerId:r,payloadType:i,payload:o,signature:c})};static openAndCertify=async(e,r)=>{let n=await t.createFromProtobuf(e);if(!await n.validate(r))throw new b("envelope signature is not valid for the given domain",hm.ERR_SIGNATURE_NOT_VALID);return n};peerId;payloadType;payload;signature;marshaled;constructor(e){let{peerId:r,payloadType:n,payload:i,signature:o}=e;this.peerId=r,this.payloadType=n,this.payload=i,this.signature=o}marshal(){if(this.peerId.publicKey==null)throw new Error("Missing public key");return this.marshaled==null&&(this.marshaled=Eo.encode({publicKey:this.peerId.publicKey,payloadType:this.payloadType,payload:this.payload.subarray(),signature:this.signature})),this.marshaled}equals(e){return Pe(this.marshal(),e.marshal())}async validate(e){let r=dm(e,this.payloadType,this.payload);if(this.peerId.publicKey==null)throw new Error("Missing public key");return ho(this.peerId.publicKey).verify(r.subarray(),this.signature)}},dm=(t,e,r)=>{let n=G(t),i=Nt(n.byteLength),o=Nt(e.length),s=Nt(r.length);return new Je(i,n,o,e,s,r)};function pm(t,e){let r=(n,i)=>n.toString().localeCompare(i.toString());return t.length!==e.length?!1:(e.sort(r),t.sort(r).every((n,i)=>e[i].equals(n)))}var zs=class{index=0;input="";new(e){return this.index=0,this.input=e,this}readAtomically(e){let r=this.index,n=e();return n===void 0&&(this.index=r),n}parseWith(e){let r=e();if(this.index===this.input.length)return r}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(e){return this.readAtomically(()=>{let r=this.readChar();if(r===e)return r})}readSeparator(e,r,n){return this.readAtomically(()=>{if(!(r>0&&this.readGivenChar(e)===void 0))return n()})}readNumber(e,r,n,i){return this.readAtomically(()=>{let o=0,s=0,a=this.peekChar();if(a===void 0)return;let c=a==="0",u=2**(8*i)-1;for(;;){let l=this.readAtomically(()=>{let f=this.readChar();if(f===void 0)return;let h=Number.parseInt(f,e);if(!Number.isNaN(h))return h});if(l===void 0)break;if(o*=e,o+=l,o>u||(s+=1,r!==void 0&&s>r))return}if(s!==0)return!n&&c&&s>1?void 0:o})}readIPv4Addr(){return this.readAtomically(()=>{let e=new Uint8Array(4);for(let r=0;r<e.length;r++){let n=this.readSeparator(".",r,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;e[r]=n}return e})}readIPv6Addr(){let e=r=>{for(let n=0;n<r.length/2;n++){let i=n*2;if(n<r.length-3){let s=this.readSeparator(":",n,()=>this.readIPv4Addr());if(s!==void 0)return r[i]=s[0],r[i+1]=s[1],r[i+2]=s[2],r[i+3]=s[3],[i+4,!0]}let o=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(o===void 0)return[i,!1];r[i]=o>>8,r[i+1]=o&255}return[r.length,!1]};return this.readAtomically(()=>{let r=new Uint8Array(16),[n,i]=e(r);if(n===16)return r;if(i||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let o=new Uint8Array(14),s=16-(n+2),[a]=e(o.subarray(0,s));return r.set(o.subarray(0,a),16-a),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var mm=45,Cv=15,Ii=new zs;function tl(t){if(!(t.length>Cv))return Ii.new(t).parseWith(()=>Ii.readIPv4Addr())}function rl(t){if(t.includes("%")&&(t=t.split("%")[0]),!(t.length>mm))return Ii.new(t).parseWith(()=>Ii.readIPv6Addr())}function Gs(t){if(t.includes("%")&&(t=t.split("%")[0]),!(t.length>mm))return Ii.new(t).parseWith(()=>Ii.readIPAddr())}var TT=parseInt("0xFFFF",16),BT=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function Ys(t){return!!tl(t)}function Ws(t){return!!rl(t)}function Ri(t){return!!Gs(t)}var xm=Ys,Dv=Ws,nl=function(t){let e=0;if(t=t.toString().trim(),xm(t)){let r=new Uint8Array(e+4);return t.split(/\./g).forEach(n=>{r[e++]=parseInt(n,10)&255}),r}if(Dv(t)){let r=t.split(":",8),n;for(n=0;n<r.length;n++){let o=xm(r[n]),s;o&&(s=nl(r[n]),r[n]=Z(s.slice(0,2),"base16")),s!=null&&++n<8&&r.splice(n,0,Z(s.slice(2,4),"base16"))}if(r[0]==="")for(;r.length<8;)r.unshift("0");else if(r[r.length-1]==="")for(;r.length<8;)r.push("0");else if(r.length<8){for(n=0;n<r.length&&r[n]!=="";n++);let o=[n,1];for(n=9-r.length;n>0;n--)o.push("0");r.splice.apply(r,o)}let i=new Uint8Array(e+16);for(n=0;n<r.length;n++){let o=parseInt(r[n],16);i[e++]=o>>8&255,i[e++]=o&255}return i}throw new Error("invalid ip address")},Em=function(t,e=0,r){e=~~e,r=r??t.length-e;let n=new DataView(t.buffer);if(r===4){let i=[];for(let o=0;o<r;o++)i.push(t[e+o]);return i.join(".")}if(r===16){let i=[];for(let o=0;o<r;o+=2)i.push(n.getUint16(e+o).toString(16));return i.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var Ci={},il={},kv=[[4,32,"ip4"],[6,16,"tcp"],[33,16,"dccp"],[41,128,"ip6"],[42,-1,"ip6zone"],[43,8,"ipcidr"],[53,-1,"dns",!0],[54,-1,"dns4",!0],[55,-1,"dns6",!0],[56,-1,"dnsaddr",!0],[132,16,"sctp"],[273,16,"udp"],[275,0,"p2p-webrtc-star"],[276,0,"p2p-webrtc-direct"],[277,0,"p2p-stardust"],[280,0,"webrtc-direct"],[281,0,"webrtc"],[290,0,"p2p-circuit"],[301,0,"udt"],[302,0,"utp"],[400,-1,"unix",!1,!0],[421,-1,"ipfs"],[421,-1,"p2p"],[443,0,"https"],[444,96,"onion"],[445,296,"onion3"],[446,-1,"garlic64"],[448,0,"tls"],[449,-1,"sni"],[460,0,"quic"],[461,0,"quic-v1"],[465,0,"webtransport"],[466,-1,"certhash"],[477,0,"ws"],[478,0,"wss"],[479,0,"p2p-websocket-star"],[480,0,"http"],[777,-1,"memory"]];kv.forEach(t=>{let e=Ov(...t);il[e.code]=e,Ci[e.name]=e});function Ov(t,e,r,n,i){return{code:t,size:e,name:r,resolvable:!!n,path:!!i}}function be(t){if(typeof t=="number"){if(il[t]!=null)return il[t];throw new Error(`no protocol with code: ${t}`)}else if(typeof t=="string"){if(Ci[t]!=null)return Ci[t];throw new Error(`no protocol with name: ${t}`)}throw new Error(`invalid protocol id type: ${typeof t}`)}var d3=be("ip4"),p3=be("ip6"),m3=be("ipcidr");function sl(t,e){switch(be(t).code){case 4:case 41:return Uv(e);case 42:return vm(e);case 6:case 273:case 33:case 132:return Am(e).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return vm(e);case 421:return Vv(e);case 444:return _m(e);case 445:return _m(e);case 466:return qv(e);default:return Z(e,"base16")}}function al(t,e){switch(be(t).code){case 4:return wm(e);case 41:return wm(e);case 42:return bm(e);case 6:case 273:case 33:case 132:return cl(parseInt(e,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return bm(e);case 421:return Fv(e);case 444:return $v(e);case 445:return Hv(e);case 466:return Kv(e);default:return G(e,"base16")}}var ol=Object.values(Kr).map(t=>t.decoder),Mv=function(){let t=ol[0].or(ol[1]);return ol.slice(2).forEach(e=>t=t.or(e)),t}();function wm(t){if(!Ri(t))throw new Error("invalid ip address");return nl(t)}function Uv(t){let e=Em(t,0,t.length);if(e==null)throw new Error("ipBuff is required");if(!Ri(e))throw new Error("invalid ip address");return e}function cl(t){let e=new ArrayBuffer(2);return new DataView(e).setUint16(0,t),new Uint8Array(e)}function Am(t){return new DataView(t.buffer).getUint16(t.byteOffset)}function bm(t){let e=G(t),r=Uint8Array.from(Nt(e.length));return Ue([r,e],r.length+e.length)}function vm(t){let e=Lr(t);if(t=t.slice(Et(e)),t.length!==e)throw new Error("inconsistent lengths");return Z(t)}function Fv(t){let e;t[0]==="Q"||t[0]==="1"?e=yn(Le.decode(`z${t}`)).bytes:e=Ut.parse(t).multihash.bytes;let r=Uint8Array.from(Nt(e.length));return Ue([r,e],r.length+e.length)}function Kv(t){let e=Mv.decode(t),r=Uint8Array.from(Nt(e.length));return Ue([r,e],r.length+e.length)}function qv(t){let e=Lr(t),r=t.slice(Et(e));if(r.length!==e)throw new Error("inconsistent lengths");return"u"+Z(r,"base64url")}function Vv(t){let e=Lr(t),r=t.slice(Et(e));if(r.length!==e)throw new Error("inconsistent lengths");return Z(r,"base58btc")}function $v(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==16)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion address.`);let r=bt.decode("b"+e[0]),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=cl(n);return Ue([r,i],r.length+i.length)}function Hv(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==56)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion3 address.`);let r=bt.decode(`b${e[0]}`),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=cl(n);return Ue([r,i],r.length+i.length)}function _m(t){let e=t.slice(0,t.length-2),r=t.slice(t.length-2),n=Z(e,"base32"),i=Am(r);return`${n}:${i}`}function Sm(t){t=ul(t);let e=[],r=[],n=null,i=t.split("/").slice(1);if(i.length===1&&i[0]==="")return{bytes:new Uint8Array,string:"/",tuples:[],stringTuples:[],path:null};for(let o=0;o<i.length;o++){let s=i[o],a=be(s);if(a.size===0){e.push([a.code]),r.push([a.code]);continue}if(o++,o>=i.length)throw Rm("invalid address: "+t);if(a.path===!0){n=ul(i.slice(o).join("/")),e.push([a.code,al(a.code,n)]),r.push([a.code,n]);break}let c=al(a.code,i[o]);e.push([a.code,c]),r.push([a.code,sl(a.code,c)])}return{string:Im(r),bytes:fl(e),tuples:e,stringTuples:r,path:n}}function ll(t){let e=[],r=[],n=null,i=0;for(;i<t.length;){let o=Lr(t,i),s=Et(o),a=be(o),c=zv(a,t.slice(i+s));if(c===0){e.push([o]),r.push([o]),i+=s;continue}let u=t.slice(i+s,i+s+c);if(i+=c+s,i>t.length)throw Rm("Invalid address Uint8Array: "+Z(t,"base16"));e.push([o,u]);let l=sl(o,u);if(r.push([o,l]),a.path===!0){n=l;break}}return{bytes:Uint8Array.from(t),string:Im(r),tuples:e,stringTuples:r,path:n}}function Im(t){let e=[];return t.map(r=>{let n=be(r[0]);return e.push(n.name),r.length>1&&r[1]!=null&&e.push(r[1]),null}),ul(e.join("/"))}function fl(t){return Ue(t.map(e=>{let r=be(e[0]),n=Uint8Array.from(Nt(r.code));return e.length>1&&e[1]!=null&&(n=Ue([n,e[1]])),n}))}function zv(t,e){if(t.size>0)return t.size/8;if(t.size===0)return 0;{let r=Lr(e instanceof Uint8Array?e:Uint8Array.from(e));return r+Et(r)}}function ul(t){return"/"+t.trim().split("/").filter(e=>e).join("/")}function Rm(t){return new Error("Error parsing address: "+t)}var Gv=Symbol.for("nodejs.util.inspect.custom"),Yv=[be("dns").code,be("dns4").code,be("dns6").code,be("dnsaddr").code],dl=new Map,Cm=Symbol.for("@multiformats/js-multiaddr/multiaddr");function Mn(t){return!!t?.[Cm]}var hl=class t{bytes;#e;#t;#r;#n;[Cm]=!0;constructor(e){e==null&&(e="");let r;if(e instanceof Uint8Array)r=ll(e);else if(typeof e=="string"){if(e.length>0&&e.charAt(0)!=="/")throw new Error(`multiaddr "${e}" must start with a "/"`);r=Sm(e)}else if(Mn(e))r=ll(e.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=r.bytes,this.#e=r.string,this.#t=r.tuples,this.#r=r.stringTuples,this.#n=r.path}toString(){return this.#e}toJSON(){return this.toString()}toOptions(){let e,r,n,i,o="",s=be("tcp"),a=be("udp"),c=be("ip4"),u=be("ip6"),l=be("dns6"),f=be("ip6zone");for(let[p,d]of this.stringTuples())p===f.code&&(o=`%${d??""}`),Yv.includes(p)&&(r=s.name,i=443,n=`${d??""}${o}`,e=p===l.code?6:4),(p===s.code||p===a.code)&&(r=be(p).name,i=parseInt(d??"")),(p===c.code||p===u.code)&&(r=be(p).name,n=`${d??""}${o}`,e=p===u.code?6:4);if(e==null||r==null||n==null||i==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:e,host:n,transport:r,port:i}}protos(){return this.#t.map(([e])=>Object.assign({},be(e)))}protoCodes(){return this.#t.map(([e])=>e)}protoNames(){return this.#t.map(([e])=>be(e).name)}tuples(){return this.#t}stringTuples(){return this.#r}encapsulate(e){return e=new t(e),new t(this.toString()+e.toString())}decapsulate(e){let r=e.toString(),n=this.toString(),i=n.lastIndexOf(r);if(i<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${e.toString()}`);return new t(n.slice(0,i))}decapsulateCode(e){let r=this.tuples();for(let n=r.length-1;n>=0;n--)if(r[n][0]===e)return new t(fl(r.slice(0,n)));return this}getPeerId(){try{let e=[];this.stringTuples().forEach(([n,i])=>{n===Ci.p2p.code&&e.push([n,i]),n===Ci["p2p-circuit"].code&&(e=[])});let r=e.pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?Z(Le.decode(`z${n}`),"base58btc"):Z(Ut.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#n}equals(e){return Pe(this.bytes,e.bytes)}async resolve(e){let r=this.protos().find(o=>o.resolvable);if(r==null)return[this];let n=dl.get(r.name);if(n==null)throw new b(`no available resolver for ${r.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,e)).map(o=>new t(o))}nodeAddress(){let e=this.toOptions();if(e.transport!=="tcp"&&e.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${e.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:e.family,address:e.host,port:e.port}}isThinWaistAddress(e){let r=(e??this).protos();return!(r.length!==2||r[0].code!==4&&r[0].code!==41||r[1].code!==6&&r[1].code!==273)}[Gv](){return`Multiaddr(${this.#e})`}};function Ye(t){return new hl(t)}var Tm="libp2p-peer-record",Bm=Uint8Array.from([3,1]);var wo;(function(t){let e;(function(n){let i;n.codec=()=>(i==null&&(i=ct((o,s,a={})=>{a.lengthDelimited!==!1&&s.fork(),o.multiaddr!=null&&o.multiaddr.byteLength>0&&(s.uint32(10),s.bytes(o.multiaddr)),a.lengthDelimited!==!1&&s.ldelim()},(o,s)=>{let a={multiaddr:new Uint8Array(0)},c=s==null?o.len:o.pos+s;for(;o.pos<c;){let u=o.uint32();switch(u>>>3){case 1:a.multiaddr=o.bytes();break;default:o.skipType(u&7);break}}return a})),i),n.encode=o=>at(o,n.codec()),n.decode=o=>st(o,n.codec())})(e=t.AddressInfo||(t.AddressInfo={}));let r;t.codec=()=>(r==null&&(r=ct((n,i,o={})=>{if(o.lengthDelimited!==!1&&i.fork(),n.peerId!=null&&n.peerId.byteLength>0&&(i.uint32(10),i.bytes(n.peerId)),n.seq!=null&&n.seq!==0n&&(i.uint32(16),i.uint64(n.seq)),n.addresses!=null)for(let s of n.addresses)i.uint32(26),t.AddressInfo.codec().encode(s,i);o.lengthDelimited!==!1&&i.ldelim()},(n,i)=>{let o={peerId:new Uint8Array(0),seq:0n,addresses:[]},s=i==null?n.len:n.pos+i;for(;n.pos<s;){let a=n.uint32();switch(a>>>3){case 1:o.peerId=n.bytes();break;case 2:o.seq=n.uint64();break;case 3:o.addresses.push(t.AddressInfo.codec().decode(n,n.uint32()));break;default:n.skipType(a&7);break}}return o})),r),t.encode=n=>at(n,t.codec()),t.decode=n=>st(n,t.codec())})(wo||(wo={}));var Un=class t{static createFromProtobuf=e=>{let r=wo.decode(e),n=bi(r.peerId),i=(r.addresses??[]).map(s=>Ye(s.multiaddr)),o=r.seq;return new t({peerId:n,multiaddrs:i,seqNumber:o})};static DOMAIN=Tm;static CODEC=Bm;peerId;multiaddrs;seqNumber;domain=t.DOMAIN;codec=t.CODEC;marshaled;constructor(e){let{peerId:r,multiaddrs:n,seqNumber:i}=e;this.peerId=r,this.multiaddrs=n??[],this.seqNumber=i??BigInt(Date.now())}marshal(){return this.marshaled==null&&(this.marshaled=wo.encode({peerId:this.peerId.toBytes(),seq:BigInt(this.seqNumber),addresses:this.multiaddrs.map(e=>({multiaddr:e.bytes}))})),this.marshaled}equals(e){return!(!(e instanceof t)||!this.peerId.equals(e.peerId)||this.seqNumber!==e.seqNumber||!pm(this.multiaddrs,e.multiaddrs))}};function Wv(t){return t[Symbol.asyncIterator]!=null}function Qv(t){if(Wv(t))return(async()=>{let r=[];for await(let n of t)r.push(n);return r})();let e=[];for(let r of t)e.push(r);return e}var bo=Qv;var ml=te(Pm(),1);var _o=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},yl=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},Dm=t=>globalThis.DOMException===void 0?new yl(t):new DOMException(t),Nm=t=>{let e=t.reason===void 0?Dm("This operation was aborted."):t.reason;return e instanceof Error?e:Dm(e)};function gl(t,e,r,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(t);return}if(n={customTimers:{setTimeout,clearTimeout},...n},n.signal){let{signal:c}=n;c.aborted&&a(Nm(c)),c.addEventListener("abort",()=>{a(Nm(c))})}i=n.customTimers.setTimeout.call(void 0,()=>{if(typeof r=="function"){try{s(r())}catch(l){a(l)}return}let c=typeof r=="string"?r:`Promise timed out after ${e} milliseconds`,u=r instanceof Error?r:new _o(c);typeof t.cancel=="function"&&t.cancel(),a(u)},e),(async()=>{try{s(await t)}catch(c){a(c)}finally{n.customTimers.clearTimeout.call(void 0,i)}})()});return o.clear=()=>{clearTimeout(i),i=void 0},o}function xl(t,e,r){let n=0,i=t.length;for(;i>0;){let o=Math.trunc(i/2),s=n+o;r(t[s],e)<=0?(n=++s,i-=o+1):i=o}return n}var Fn=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},Pr,El=class{constructor(){Pr.set(this,[])}enqueue(e,r){r={priority:0,...r};let n={priority:r.priority,run:e};if(this.size&&Fn(this,Pr,"f")[this.size-1].priority>=r.priority){Fn(this,Pr,"f").push(n);return}let i=xl(Fn(this,Pr,"f"),n,(o,s)=>s.priority-o.priority);Fn(this,Pr,"f").splice(i,0,n)}dequeue(){let e=Fn(this,Pr,"f").shift();return e?.run}filter(e){return Fn(this,Pr,"f").filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return Fn(this,Pr,"f").length}};Pr=new WeakMap;var km=El;var De=function(t,e,r,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"?t!==e||!i:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(t,r):i?i.value=r:e.set(t,r),r},q=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},Ke,So,Io,jr,ta,Ro,Xs,Yt,Ao,It,Zs,Rt,Co,Zr,js,Om,Mm,Km,Um,Fm,Js,wl,bl,ra,qm,ea,na=class extends Error{},vl=class extends ml.default{constructor(e){var r,n,i,o;if(super(),Ke.add(this),So.set(this,void 0),Io.set(this,void 0),jr.set(this,0),ta.set(this,void 0),Ro.set(this,void 0),Xs.set(this,0),Yt.set(this,void 0),Ao.set(this,void 0),It.set(this,void 0),Zs.set(this,void 0),Rt.set(this,0),Co.set(this,void 0),Zr.set(this,void 0),js.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:km,...e},!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(n=(r=e.intervalCap)===null||r===void 0?void 0:r.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})`);De(this,So,e.carryoverConcurrencyCount,"f"),De(this,Io,e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,"f"),De(this,ta,e.intervalCap,"f"),De(this,Ro,e.interval,"f"),De(this,It,new e.queueClass,"f"),De(this,Zs,e.queueClass,"f"),this.concurrency=e.concurrency,this.timeout=e.timeout,De(this,js,e.throwOnTimeout===!0,"f"),De(this,Zr,e.autoStart===!1,"f")}get concurrency(){return q(this,Co,"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})`);De(this,Co,e,"f"),q(this,Ke,"m",ra).call(this)}async add(e,r={}){return r={timeout:this.timeout,throwOnTimeout:q(this,js,"f"),...r},new Promise((n,i)=>{q(this,It,"f").enqueue(async()=>{var o,s,a;De(this,Rt,(s=q(this,Rt,"f"),s++,s),"f"),De(this,jr,(a=q(this,jr,"f"),a++,a),"f");try{if(!((o=r.signal)===null||o===void 0)&&o.aborted)throw new na("The task was aborted.");let c=e({signal:r.signal});r.timeout&&(c=gl(Promise.resolve(c),r.timeout)),r.signal&&(c=Promise.race([c,q(this,Ke,"m",qm).call(this,r.signal)]));let u=await c;n(u),this.emit("completed",u)}catch(c){if(c instanceof _o&&!r.throwOnTimeout){n();return}i(c),this.emit("error",c)}finally{q(this,Ke,"m",Km).call(this)}},r),this.emit("add"),q(this,Ke,"m",Js).call(this)})}async addAll(e,r){return Promise.all(e.map(async n=>this.add(n,r)))}start(){return q(this,Zr,"f")?(De(this,Zr,!1,"f"),q(this,Ke,"m",ra).call(this),this):this}pause(){De(this,Zr,!0,"f")}clear(){De(this,It,new(q(this,Zs,"f")),"f")}async onEmpty(){q(this,It,"f").size!==0&&await q(this,Ke,"m",ea).call(this,"empty")}async onSizeLessThan(e){q(this,It,"f").size<e||await q(this,Ke,"m",ea).call(this,"next",()=>q(this,It,"f").size<e)}async onIdle(){q(this,Rt,"f")===0&&q(this,It,"f").size===0||await q(this,Ke,"m",ea).call(this,"idle")}get size(){return q(this,It,"f").size}sizeBy(e){return q(this,It,"f").filter(e).length}get pending(){return q(this,Rt,"f")}get isPaused(){return q(this,Zr,"f")}};So=new WeakMap,Io=new WeakMap,jr=new WeakMap,ta=new WeakMap,Ro=new WeakMap,Xs=new WeakMap,Yt=new WeakMap,Ao=new WeakMap,It=new WeakMap,Zs=new WeakMap,Rt=new WeakMap,Co=new WeakMap,Zr=new WeakMap,js=new WeakMap,Ke=new WeakSet,Om=function(){return q(this,Io,"f")||q(this,jr,"f")<q(this,ta,"f")},Mm=function(){return q(this,Rt,"f")<q(this,Co,"f")},Km=function(){var e;De(this,Rt,(e=q(this,Rt,"f"),e--,e),"f"),q(this,Ke,"m",Js).call(this),this.emit("next")},Um=function(){q(this,Ke,"m",bl).call(this),q(this,Ke,"m",wl).call(this),De(this,Ao,void 0,"f")},Fm=function(){let e=Date.now();if(q(this,Yt,"f")===void 0){let r=q(this,Xs,"f")-e;if(r<0)De(this,jr,q(this,So,"f")?q(this,Rt,"f"):0,"f");else return q(this,Ao,"f")===void 0&&De(this,Ao,setTimeout(()=>{q(this,Ke,"m",Um).call(this)},r),"f"),!0}return!1},Js=function(){if(q(this,It,"f").size===0)return q(this,Yt,"f")&&clearInterval(q(this,Yt,"f")),De(this,Yt,void 0,"f"),this.emit("empty"),q(this,Rt,"f")===0&&this.emit("idle"),!1;if(!q(this,Zr,"f")){let e=!q(this,Ke,"a",Fm);if(q(this,Ke,"a",Om)&&q(this,Ke,"a",Mm)){let r=q(this,It,"f").dequeue();return r?(this.emit("active"),r(),e&&q(this,Ke,"m",wl).call(this),!0):!1}}return!1},wl=function(){q(this,Io,"f")||q(this,Yt,"f")!==void 0||(De(this,Yt,setInterval(()=>{q(this,Ke,"m",bl).call(this)},q(this,Ro,"f")),"f"),De(this,Xs,Date.now()+q(this,Ro,"f"),"f"))},bl=function(){q(this,jr,"f")===0&&q(this,Rt,"f")===0&&q(this,Yt,"f")&&(clearInterval(q(this,Yt,"f")),De(this,Yt,void 0,"f")),De(this,jr,q(this,So,"f")?q(this,Rt,"f"):0,"f"),q(this,Ke,"m",ra).call(this)},ra=function(){for(;q(this,Ke,"m",Js).call(this););},qm=async function(e){return new Promise((r,n)=>{e.addEventListener("abort",()=>{n(new na("The task was aborted."))},{once:!0})})},ea=async function(e,r){return new Promise(n=>{let i=()=>{r&&!r()||(this.off(e,i),n())};this.on(e,i)})};var Jr=vl;var _l=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},Al=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},Vm=t=>globalThis.DOMException===void 0?new Al(t):new DOMException(t),$m=t=>{let e=t.reason===void 0?Vm("This operation was aborted."):t.reason;return e instanceof Error?e:Vm(e)};function Sl(t,e){let{milliseconds:r,fallback:n,message:i,customTimers:o={setTimeout,clearTimeout}}=e,s,c=new Promise((u,l)=>{if(typeof r!="number"||Math.sign(r)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${r}\``);if(e.signal){let{signal:h}=e;h.aborted&&l($m(h)),h.addEventListener("abort",()=>{l($m(h))})}if(r===Number.POSITIVE_INFINITY){t.then(u,l);return}let f=new _l;s=o.setTimeout.call(void 0,()=>{if(n){try{u(n())}catch(h){l(h)}return}typeof t.cancel=="function"&&t.cancel(),i===!1?u():i instanceof Error?l(i):(f.message=i??`Promise timed out after ${r} milliseconds`,l(f))},r),(async()=>{try{u(await t)}catch(h){l(h)}})()}).finally(()=>{c.clear()});return c.clear=()=>{o.clearTimeout.call(void 0,s),s=void 0},c}var Il="lock:worker:request-read",Rl="lock:worker:release-read",Cl="lock:master:grant-read",Tl="lock:worker:request-write",Bl="lock:worker:release-write",Ll="lock:master:grant-write";var en={},Ti=t=>{t.addEventListener("message",e=>{Ti.dispatchEvent("message",t,e)}),t.port!=null&&t.port.addEventListener("message",e=>{Ti.dispatchEvent("message",t,e)})};Ti.addEventListener=(t,e)=>{en[t]==null&&(en[t]=[]),en[t].push(e)};Ti.removeEventListener=(t,e)=>{en[t]!=null&&(en[t]=en[t].filter(r=>r===e))};Ti.dispatchEvent=function(t,e,r){en[t]!=null&&en[t].forEach(n=>n(e,r))};var Pl=Ti;var Hm=(t,e,r,n,i)=>(o,s)=>{if(s.data.type!==r)return;let a={type:s.data.type,name:s.data.name,identifier:s.data.identifier};t.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 f={type:l.data.type,name:l.data.name,identifier:l.data.identifier};f.type===n&&f.identifier===a.identifier&&(o.removeEventListener("message",u),c())};o.addEventListener("message",u)}))}}))},zm=(t,e,r,n)=>async()=>{let i=Fs();return globalThis.postMessage({type:e,identifier:i,name:t}),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===r&&c.identifier===i&&(globalThis.removeEventListener("message",s),o(()=>{globalThis.postMessage({type:n,identifier:i,name:t})}))};globalThis.addEventListener("message",s)})},jv={singleProcess:!1},Gm=t=>{if(t=Object.assign({},jv,t),!!globalThis.document||t.singleProcess){let r=new EventTarget;return Pl.addEventListener("message",Hm(r,"requestReadLock",Il,Rl,Cl)),Pl.addEventListener("message",Hm(r,"requestWriteLock",Tl,Bl,Ll)),r}return{isWorker:!0,readLock:r=>zm(r,Il,Cl,Rl),writeLock:r=>zm(r,Tl,Ll,Bl)}};var Kn={},tn;async function Dl(t,e){let r,n=new Promise(i=>{r=i});return t.add(async()=>await Sl((async()=>await new Promise(i=>{r(()=>{i()})}))(),{milliseconds:e.timeout})),await n}var Jv=(t,e)=>{if(tn.isWorker===!0)return{readLock:tn.readLock(t,e),writeLock:tn.writeLock(t,e)};let r=new Jr({concurrency:1}),n;return{async readLock(){if(n!=null)return await Dl(n,e);n=new Jr({concurrency:e.concurrency,autoStart:!1});let i=n,o=Dl(n,e);return r.add(async()=>(i.start(),await i.onIdle().then(()=>{n===i&&(n=null)}))),await o},async writeLock(){return n=null,await Dl(r,e)}}},e_={name:"lock",concurrency:1/0,timeout:846e5,singleProcess:!1};function Nl(t){let e=Object.assign({},e_,t);return tn==null&&(tn=Gm(e),tn.isWorker!==!0&&(tn.addEventListener("requestReadLock",r=>{Kn[r.data.name]!=null&&Kn[r.data.name].readLock().then(async n=>await r.data.handler().finally(()=>n()))}),tn.addEventListener("requestWriteLock",async r=>{Kn[r.data.name]!=null&&Kn[r.data.name].writeLock().then(async n=>await r.data.handler().finally(()=>n()))}))),Kn[e.name]==null&&(Kn[e.name]=Jv(e.name,e)),Kn[e.name]}var ut={ERR_INVALID_PARAMETERS:"ERR_INVALID_PARAMETERS"};var Bi;(function(t){let e;(function(i){let o;i.codec=()=>(o==null&&(o=ct((s,a,c={})=>{c.lengthDelimited!==!1&&a.fork(),s.key!=null&&s.key!==""&&(a.uint32(10),a.string(s.key)),s.value!=null&&s.value.byteLength>0&&(a.uint32(18),a.bytes(s.value)),c.lengthDelimited!==!1&&a.ldelim()},(s,a)=>{let c={key:"",value:new Uint8Array(0)},u=a==null?s.len:s.pos+a;for(;s.pos<u;){let l=s.uint32();switch(l>>>3){case 1:c.key=s.string();break;case 2:c.value=s.bytes();break;default:s.skipType(l&7);break}}return c})),o),i.encode=s=>at(s,i.codec()),i.decode=s=>st(s,i.codec())})(e=t.Peer$metadataEntry||(t.Peer$metadataEntry={}));let r;(function(i){let o;i.codec=()=>(o==null&&(o=ct((s,a,c={})=>{c.lengthDelimited!==!1&&a.fork(),s.key!=null&&s.key!==""&&(a.uint32(10),a.string(s.key)),s.value!=null&&(a.uint32(18),oa.codec().encode(s.value,a)),c.lengthDelimited!==!1&&a.ldelim()},(s,a)=>{let c={key:""},u=a==null?s.len:s.pos+a;for(;s.pos<u;){let l=s.uint32();switch(l>>>3){case 1:c.key=s.string();break;case 2:c.value=oa.codec().decode(s,s.uint32());break;default:s.skipType(l&7);break}}return c})),o),i.encode=s=>at(s,i.codec()),i.decode=s=>st(s,i.codec())})(r=t.Peer$tagsEntry||(t.Peer$tagsEntry={}));let n;t.codec=()=>(n==null&&(n=ct((i,o,s={})=>{if(s.lengthDelimited!==!1&&o.fork(),i.addresses!=null)for(let a of i.addresses)o.uint32(10),ia.codec().encode(a,o);if(i.protocols!=null)for(let a of i.protocols)o.uint32(18),o.string(a);if(i.publicKey!=null&&(o.uint32(34),o.bytes(i.publicKey)),i.peerRecordEnvelope!=null&&(o.uint32(42),o.bytes(i.peerRecordEnvelope)),i.metadata!=null&&i.metadata.size!==0)for(let[a,c]of i.metadata.entries())o.uint32(50),t.Peer$metadataEntry.codec().encode({key:a,value:c},o);if(i.tags!=null&&i.tags.size!==0)for(let[a,c]of i.tags.entries())o.uint32(58),t.Peer$tagsEntry.codec().encode({key:a,value:c},o);s.lengthDelimited!==!1&&o.ldelim()},(i,o)=>{let s={addresses:[],protocols:[],metadata:new Map,tags:new Map},a=o==null?i.len:i.pos+o;for(;i.pos<a;){let c=i.uint32();switch(c>>>3){case 1:s.addresses.push(ia.codec().decode(i,i.uint32()));break;case 2:s.protocols.push(i.string());break;case 4:s.publicKey=i.bytes();break;case 5:s.peerRecordEnvelope=i.bytes();break;case 6:{let u=t.Peer$metadataEntry.codec().decode(i,i.uint32());s.metadata.set(u.key,u.value);break}case 7:{let u=t.Peer$tagsEntry.codec().decode(i,i.uint32());s.tags.set(u.key,u.value);break}default:i.skipType(c&7);break}}return s})),n),t.encode=i=>at(i,t.codec()),t.decode=i=>st(i,t.codec())})(Bi||(Bi={}));var ia;(function(t){let e;t.codec=()=>(e==null&&(e=ct((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.multiaddr!=null&&r.multiaddr.byteLength>0&&(n.uint32(10),n.bytes(r.multiaddr)),r.isCertified!=null&&(n.uint32(16),n.bool(r.isCertified)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={multiaddr:new Uint8Array(0)},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.multiaddr=r.bytes();break;case 2:i.isCertified=r.bool();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>at(r,t.codec()),t.decode=r=>st(r,t.codec())})(ia||(ia={}));var oa;(function(t){let e;t.codec=()=>(e==null&&(e=ct((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.value!=null&&r.value!==0&&(n.uint32(8),n.uint32(r.value)),r.expiry!=null&&(n.uint32(16),n.uint64(r.expiry)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={value:0},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.value=r.uint32();break;case 2:i.expiry=r.uint64();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>at(r,t.codec()),t.decode=r=>st(r,t.codec())})(oa||(oa={}));function Li(t,e){let r=Bi.decode(e);r.publicKey!=null&&t.publicKey==null&&(t=qp({...t,publicKey:t.publicKey}));let n=new Map,i=BigInt(Date.now());for(let[o,s]of r.tags.entries())s.expiry!=null&&s.expiry<i||n.set(o,s);return{...r,id:t,addresses:r.addresses.map(({multiaddr:o,isCertified:s})=>({multiaddr:Ye(o),isCertified:s??!1})),metadata:r.metadata,peerRecordEnvelope:r.peerRecordEnvelope??void 0,tags:n}}var kl="/peers/";function Pi(t){if(!Us(t)||t.type==null)throw new b("Invalid PeerId",ut.ERR_INVALID_PARAMETERS);let e=t.toCID().toString();return new cr(`${kl}${e}`)}async function Ym(t,e,r){let n=new Map;for(let i of r){if(i==null)continue;if(i.multiaddr instanceof Uint8Array&&(i.multiaddr=Ye(i.multiaddr)),!Mn(i.multiaddr))throw new b("Multiaddr was invalid",ut.ERR_INVALID_PARAMETERS);if(!await e(t,i.multiaddr))continue;let o=i.isCertified??!1,s=i.multiaddr.toString(),a=n.get(s);a!=null?i.isCertified=a.isCertified||o:n.set(s,{multiaddr:i.multiaddr,isCertified:o})}return[...n.values()].sort((i,o)=>i.multiaddr.toString().localeCompare(o.multiaddr.toString())).map(({isCertified:i,multiaddr:o})=>({isCertified:i,multiaddr:o.bytes}))}async function aa(t,e,r,n){if(e==null)throw new b("Invalid PeerData",ut.ERR_INVALID_PARAMETERS);if(e.publicKey!=null&&t.publicKey!=null&&!Pe(e.publicKey,t.publicKey))throw new b("publicKey bytes do not match peer id publicKey bytes",ut.ERR_INVALID_PARAMETERS);let i=n.existingPeer;if(i!=null&&!t.equals(i.id))throw new b("peer id did not match existing peer id",ut.ERR_INVALID_PARAMETERS);let o=i?.addresses??[],s=new Set(i?.protocols??[]),a=i?.metadata??new Map,c=i?.tags??new Map,u=i?.peerRecordEnvelope;if(r==="patch"){if((e.multiaddrs!=null||e.addresses!=null)&&(o=[],e.multiaddrs!=null&&o.push(...e.multiaddrs.map(f=>({isCertified:!1,multiaddr:f}))),e.addresses!=null&&o.push(...e.addresses)),e.protocols!=null&&(s=new Set(e.protocols)),e.metadata!=null){let f=e.metadata instanceof Map?[...e.metadata.entries()]:Object.entries(e.metadata);a=sa(f,{validate:Wm})}if(e.tags!=null){let f=e.tags instanceof Map?[...e.tags.entries()]:Object.entries(e.tags);c=sa(f,{validate:Qm,map:Xm})}e.peerRecordEnvelope!=null&&(u=e.peerRecordEnvelope)}if(r==="merge"){if(e.multiaddrs!=null&&o.push(...e.multiaddrs.map(f=>({isCertified:!1,multiaddr:f}))),e.addresses!=null&&o.push(...e.addresses),e.protocols!=null&&(s=new Set([...s,...e.protocols])),e.metadata!=null){let f=e.metadata instanceof Map?[...e.metadata.entries()]:Object.entries(e.metadata);for(let[h,p]of f)p==null?a.delete(h):a.set(h,p);a=sa([...a.entries()],{validate:Wm})}if(e.tags!=null){let f=e.tags instanceof Map?[...e.tags.entries()]:Object.entries(e.tags),h=new Map(c);for(let[p,d]of f)d==null?h.delete(p):h.set(p,d);c=sa([...h.entries()],{validate:Qm,map:Xm})}e.peerRecordEnvelope!=null&&(u=e.peerRecordEnvelope)}let l={addresses:await Ym(t,n.addressFilter??(async()=>!0),o),protocols:[...s.values()].sort((f,h)=>f.localeCompare(h)),metadata:a,tags:c,publicKey:i?.id.publicKey??e.publicKey??t.publicKey,peerRecordEnvelope:u};return t.type!=="RSA"&&delete l.publicKey,l}function sa(t,e){let r=new Map;for(let[n,i]of t)i!=null&&e.validate(n,i);for(let[n,i]of t.sort(([o],[s])=>o.localeCompare(s)))i!=null&&r.set(n,e.map?.(n,i)??i);return r}function Wm(t,e){if(typeof t!="string")throw new b("Metadata key must be a string",ut.ERR_INVALID_PARAMETERS);if(!(e instanceof Uint8Array))throw new b("Metadata value must be a Uint8Array",ut.ERR_INVALID_PARAMETERS)}function Qm(t,e){if(typeof t!="string")throw new b("Tag name must be a string",ut.ERR_INVALID_PARAMETERS);if(e.value!=null){if(parseInt(`${e.value}`,10)!==e.value)throw new b("Tag value must be an integer",ut.ERR_INVALID_PARAMETERS);if(e.value<0||e.value>100)throw new b("Tag value must be between 0-100",ut.ERR_INVALID_PARAMETERS)}if(e.ttl!=null){if(parseInt(`${e.ttl}`,10)!==e.ttl)throw new b("Tag ttl must be an integer",ut.ERR_INVALID_PARAMETERS);if(e.ttl<0)throw new b("Tag ttl must be between greater than 0",ut.ERR_INVALID_PARAMETERS)}}function Xm(t,e){let r;return e.expiry!=null&&(r=e.expiry),e.ttl!=null&&(r=BigInt(Date.now()+Number(e.ttl))),{value:e.value??0,expiry:r}}function ca(t,e,r){let n=t.toString().split("/")[2],i=bt.decode(n),o=bi(i),s=r.get(o);if(s!=null)return s;let a=Li(o,e);return r.set(o,a),a}function t_(t,e){return t==null?{}:{prefix:kl,filters:(t.filters??[]).map(r=>({key:n,value:i})=>r(ca(n,i,e))),orders:(t.orders??[]).map(r=>(n,i)=>r(ca(n.key,n.value,e),ca(i.key,i.value,e)))}}var ua=class{peerId;datastore;lock;addressFilter;constructor(e,r={}){this.peerId=e.peerId,this.datastore=e.datastore,this.addressFilter=r.addressFilter,this.lock=Nl({name:"peer-store",singleProcess:!0})}async has(e){return this.datastore.has(Pi(e))}async delete(e){if(this.peerId.equals(e))throw new b("Cannot delete self peer",ut.ERR_INVALID_PARAMETERS);await this.datastore.delete(Pi(e))}async load(e){let r=await this.datastore.get(Pi(e));return Li(e,r)}async save(e,r){let{existingBuf:n,existingPeer:i}=await this.#e(e),o=await aa(e,r,"patch",{addressFilter:this.addressFilter});return this.#t(e,o,n,i)}async patch(e,r){let{existingBuf:n,existingPeer:i}=await this.#e(e),o=await aa(e,r,"patch",{addressFilter:this.addressFilter,existingPeer:i});return this.#t(e,o,n,i)}async merge(e,r){let{existingBuf:n,existingPeer:i}=await this.#e(e),o=await aa(e,r,"merge",{addressFilter:this.addressFilter,existingPeer:i});return this.#t(e,o,n,i)}async*all(e){let r=new Gt;for await(let{key:n,value:i}of this.datastore.query(t_(e??{},r))){let o=ca(n,i,r);o.id.equals(this.peerId)||(yield o)}}async#e(e){try{let r=await this.datastore.get(Pi(e)),n=Li(e,r);return{existingBuf:r,existingPeer:n}}catch(r){if(r.code!=="ERR_NOT_FOUND")throw r}return{}}async#t(e,r,n,i){let o=Bi.encode(r);return n!=null&&Pe(o,n)?{peer:Li(e,o),previous:i,updated:!1}:(await this.datastore.put(Pi(e),o),{peer:Li(e,o),previous:i,updated:!0})}};var _e=ie("libp2p:peer-store"),la=class{store;events;peerId;constructor(e,r={}){this.events=e.events,this.peerId=e.peerId,this.store=new ua(e,r)}async forEach(e,r){_e.trace("forEach await read lock");let n=await this.store.lock.readLock();_e.trace("forEach got read lock");try{for await(let i of this.store.all(r))e(i)}finally{_e.trace("forEach release read lock"),n()}}async all(e){_e.trace("all await read lock");let r=await this.store.lock.readLock();_e.trace("all got read lock");try{return await bo(this.store.all(e))}finally{_e.trace("all release read lock"),r()}}async delete(e){_e.trace("delete await write lock");let r=await this.store.lock.writeLock();_e.trace("delete got write lock");try{await this.store.delete(e)}finally{_e.trace("delete release write lock"),r()}}async has(e){_e.trace("has await read lock");let r=await this.store.lock.readLock();_e.trace("has got read lock");try{return await this.store.has(e)}finally{_e.trace("has release read lock"),r()}}async get(e){_e.trace("get await read lock");let r=await this.store.lock.readLock();_e.trace("get got read lock");try{return await this.store.load(e)}finally{_e.trace("get release read lock"),r()}}async save(e,r){_e.trace("save await write lock");let n=await this.store.lock.writeLock();_e.trace("save got write lock");try{let i=await this.store.save(e,r);return this.#e(e,i),i.peer}finally{_e.trace("save release write lock"),n()}}async patch(e,r){_e.trace("patch await write lock");let n=await this.store.lock.writeLock();_e.trace("patch got write lock");try{let i=await this.store.patch(e,r);return this.#e(e,i),i.peer}finally{_e.trace("patch release write lock"),n()}}async merge(e,r){_e.trace("merge await write lock");let n=await this.store.lock.writeLock();_e.trace("merge got write lock");try{let i=await this.store.merge(e,r);return this.#e(e,i),i.peer}finally{_e.trace("merge release write lock"),n()}}async consumePeerRecord(e,r){let n=await Si.openAndCertify(e,Un.DOMAIN);if(r?.equals(n.peerId)===!1)return _e("envelope peer id was not the expected peer id - expected: %p received: %p",r,n.peerId),!1;let i=Un.createFromProtobuf(n.payload),o;try{o=await this.get(n.peerId)}catch(s){if(s.code!=="ERR_NOT_FOUND")throw s}if(o?.peerRecordEnvelope!=null){let s=await Si.createFromProtobuf(o.peerRecordEnvelope),a=Un.createFromProtobuf(s.payload);if(a.seqNumber>=i.seqNumber)return _e("sequence number was lower or equal to existing sequence number - stored: %d received: %d",a.seqNumber,i.seqNumber),!1}return await this.patch(i.peerId,{peerRecordEnvelope:e,addresses:i.multiaddrs.map(s=>({isCertified:!0,multiaddr:s}))}),!0}#e(e,r){r.updated&&(this.peerId.equals(e)?this.events.safeDispatchEvent("self:peer:update",{detail:r}):this.events.safeDispatchEvent("peer:update",{detail:r}))}};function r_(t){return t[Symbol.asyncIterator]!=null}function n_(t){if(r_(t))return(async()=>{for await(let e of t);})();for(let e of t);}var Ol=n_;function i_(t){let[e,r]=t[Symbol.asyncIterator]!=null?[t[Symbol.asyncIterator](),Symbol.asyncIterator]:[t[Symbol.iterator](),Symbol.iterator],n=[];return{peek:()=>e.next(),push:i=>{n.push(i)},next:()=>n.length>0?{done:!1,value:n.shift()}:e.next(),[r](){return this}}}var fa=i_;function o_(t){return t[Symbol.asyncIterator]!=null}function s_(t,e){if(o_(t))return async function*(){for await(let a of t)await e(a)&&(yield a)}();let r=fa(t),{value:n,done:i}=r.next();if(i===!0)return function*(){}();let o=e(n);if(typeof o.then=="function")return async function*(){await o&&(yield n);for await(let a of r)await e(a)&&(yield a)}();let s=e;return function*(){o===!0&&(yield n);for(let a of r)s(a)&&(yield a)}()}var Wt=s_;function a_(t){return t[Symbol.asyncIterator]!=null}function c_(t,e){return a_(t)?async function*(){yield*(await bo(t)).sort(e)}():function*(){yield*bo(t).sort(e)}()}var Ml=c_;function u_(t){return t[Symbol.asyncIterator]!=null}function l_(t,e){return u_(t)?async function*(){let r=0;if(!(e<1)){for await(let n of t)if(yield n,r++,r===e)return}}():function*(){let r=0;if(!(e<1)){for(let n of t)if(yield n,r++,r===e)return}}()}var Ul=l_;var ha=class{put(e,r,n){return Promise.reject(new Error(".put is not implemented"))}get(e,r){return Promise.reject(new Error(".get is not implemented"))}has(e,r){return Promise.reject(new Error(".has is not implemented"))}delete(e,r){return Promise.reject(new Error(".delete is not implemented"))}async*putMany(e,r={}){for await(let{key:n,value:i}of e)await this.put(n,i,r),yield n}async*getMany(e,r={}){for await(let n of e)yield{key:n,value:await this.get(n,r)}}async*deleteMany(e,r={}){for await(let n of e)await this.delete(n,r),yield n}batch(){let e=[],r=[];return{put(n,i){e.push({key:n,value:i})},delete(n){r.push(n)},commit:async n=>{await Ol(this.putMany(e,n)),e=[],await Ol(this.deleteMany(r,n)),r=[]}}}async*_all(e,r){throw new Error("._all is not implemented")}async*_allKeys(e,r){throw new Error("._allKeys is not implemented")}query(e,r){let n=this._all(e,r);if(e.prefix!=null){let i=e.prefix;n=Wt(n,o=>o.key.toString().startsWith(i))}if(Array.isArray(e.filters)&&(n=e.filters.reduce((i,o)=>Wt(i,o),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,o)=>Ml(i,o),n)),e.offset!=null){let i=0,o=e.offset;n=Wt(n,()=>i++>=o)}return e.limit!=null&&(n=Ul(n,e.limit)),n}queryKeys(e,r){let n=this._allKeys(e,r);if(e.prefix!=null){let i=e.prefix;n=Wt(n,o=>o.toString().startsWith(i))}if(Array.isArray(e.filters)&&(n=e.filters.reduce((i,o)=>Wt(i,o),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,o)=>Ml(i,o),n)),e.offset!=null){let i=e.offset,o=0;n=Wt(n,()=>o++>=i)}return e.limit!=null&&(n=Ul(n,e.limit)),n}};var Jm=te(Fl(),1);function ey(t){return t=t??new Error("Not Found"),(0,Jm.default)(t,"ERR_NOT_FOUND")}var da=class extends ha{data;constructor(){super(),this.data=new Map}put(e,r){return this.data.set(e.toString(),r),e}get(e){let r=this.data.get(e.toString());if(r==null)throw ey();return r}has(e){return this.data.has(e.toString())}delete(e){this.data.delete(e.toString())}*_all(){for(let[e,r]of this.data.entries())yield{key:new cr(e),value:r}}*_allKeys(){for(let e of this.data.keys())yield new cr(e)}};function ty(t,e){let r;return function(){let n=function(){r=void 0,t()};clearTimeout(r),r=setTimeout(n,e)}}var d_=ie("libp2p:address-manager"),p_=t=>t;function Kl(t,e){let r=t.getPeerId();return r!=null&&de(r).equals(e)&&(t=t.decapsulate(Ye(`/p2p/${e.toString()}`))),t}var pa=class{components;listen;announce;observed;announceFilter;constructor(e,r={}){let{listen:n=[],announce:i=[]}=r;this.components=e,this.listen=n.map(o=>o.toString()),this.announce=new Set(i.map(o=>o.toString())),this.observed=new Map,this.announceFilter=r.announceFilter??p_,this._updatePeerStoreAddresses=ty(this._updatePeerStoreAddresses.bind(this),1e3),e.events.addEventListener("transport:listening",()=>{this._updatePeerStoreAddresses()}),e.events.addEventListener("transport:close",()=>{this._updatePeerStoreAddresses()})}_updatePeerStoreAddresses(){let e=this.getAnnounceAddrs().concat(this.components.transportManager.getAddrs()).concat([...this.observed.entries()].filter(([r,n])=>n.confident).map(([r])=>Ye(r))).map(r=>r.getPeerId()===this.components.peerId.toString()?r.decapsulate(`/p2p/${this.components.peerId.toString()}`):r);this.components.peerStore.patch(this.components.peerId,{multiaddrs:e}).catch(r=>{d_.error("error updating addresses",r)})}getListenAddrs(){return Array.from(this.listen).map(e=>Ye(e))}getAnnounceAddrs(){return Array.from(this.announce).map(e=>Ye(e))}getObservedAddrs(){return Array.from(this.observed).map(([e])=>Ye(e))}addObservedAddr(e){e=Kl(e,this.components.peerId);let r=e.toString();this.observed.has(r)||this.observed.set(r,{confident:!1})}confirmObservedAddr(e){e=Kl(e,this.components.peerId);let r=e.toString(),i=(this.observed.get(r)??{confident:!1}).confident;this.observed.set(r,{confident:!0}),i||this._updatePeerStoreAddresses()}removeObservedAddr(e){e=Kl(e,this.components.peerId);let r=e.toString();this.observed.delete(r)}getAddresses(){let e=this.getAnnounceAddrs().map(n=>n.toString());e.length===0&&(e=this.components.transportManager.getAddrs().map(n=>n.toString())),e=e.concat(Array.from(this.observed).filter(([n,i])=>i.confident).map(([n])=>n));let r=new Set(e);return this.announceFilter(Array.from(r).map(n=>Ye(n))).map(n=>n.protos().pop()?.path===!0||n.getPeerId()===this.components.peerId.toString()?n:n.encapsulate(`/p2p/${this.components.peerId.toString()}`))}};function ry(t){return t!=null&&typeof t.start=="function"&&typeof t.stop=="function"}var ql=class{components={};_started=!1;constructor(e={}){this.components={};for(let[r,n]of Object.entries(e))this.components[r]=n}isStarted(){return this._started}async _invokeStartableMethod(e){await Promise.all(Object.values(this.components).filter(r=>ry(r)).map(async r=>{await r[e]?.()}))}async beforeStart(){await this._invokeStartableMethod("beforeStart")}async start(){await this._invokeStartableMethod("start"),this._started=!0}async afterStart(){await this._invokeStartableMethod("afterStart")}async beforeStop(){await this._invokeStartableMethod("beforeStop")}async stop(){await this._invokeStartableMethod("stop"),this._started=!1}async afterStop(){await this._invokeStartableMethod("afterStop")}},m_=["metrics","connectionProtector"],y_=["components","isStarted","beforeStart","start","afterStart","beforeStop","stop","afterStop","then","_invokeStartableMethod"];function ny(t={}){let e=new ql(t);return new Proxy(e,{get(n,i,o){if(typeof i=="string"&&!y_.includes(i)){let s=e.components[i];if(s==null&&!m_.includes(i))throw new b(`${i} not set`,"ERR_SERVICE_MISSING");return s}return Reflect.get(n,i,o)},set(n,i,o){return typeof i=="string"?e.components[i]=o:Reflect.set(n,i,o),!0}})}var ly=te(iy(),1);var oy="[a-fA-F\\d:]",rn=t=>t&&t.includeBoundaries?`(?:(?<=\\s|^)(?=${oy})|(?<=${oy})(?=\\s|$))`:"",Qt="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",$e="[a-fA-F\\d]{1,4}",ma=`
|
|
38
38
|
(?:
|
|
39
39
|
(?:${$e}:){7}(?:${$e}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
|
|
40
40
|
(?:${$e}:){6}(?:${Qt}|:${$e}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare const PROTOCOL_VERSION = "ipfs/0.1.0";
|
|
2
|
-
export declare const AGENT_VERSION = "js-libp2p/0.46.
|
|
2
|
+
export declare const AGENT_VERSION = "js-libp2p/0.46.11";
|
|
3
3
|
export declare const MULTICODEC_IDENTIFY = "/ipfs/id/1.0.0";
|
|
4
4
|
export declare const MULTICODEC_IDENTIFY_PUSH = "/ipfs/id/push/1.0.0";
|
|
5
5
|
export declare const IDENTIFY_PROTOCOL_VERSION = "0.1.0";
|
package/dist/src/version.d.ts
CHANGED
package/dist/src/version.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "libp2p",
|
|
3
|
-
"version": "0.46.
|
|
3
|
+
"version": "0.46.11",
|
|
4
4
|
"description": "JavaScript implementation of libp2p, a modular peer to peer network stack",
|
|
5
5
|
"license": "Apache-2.0 OR MIT",
|
|
6
6
|
"homepage": "https://github.com/libp2p/js-libp2p/tree/master/packages/libp2p#readme",
|
|
@@ -120,17 +120,17 @@
|
|
|
120
120
|
},
|
|
121
121
|
"dependencies": {
|
|
122
122
|
"@achingbrain/nat-port-mapper": "^1.0.9",
|
|
123
|
-
"@libp2p/crypto": "^2.0.
|
|
123
|
+
"@libp2p/crypto": "^2.0.4",
|
|
124
124
|
"@libp2p/interface": "^0.1.2",
|
|
125
|
-
"@libp2p/interface-internal": "^0.1.
|
|
126
|
-
"@libp2p/keychain": "^3.0.
|
|
125
|
+
"@libp2p/interface-internal": "^0.1.5",
|
|
126
|
+
"@libp2p/keychain": "^3.0.4",
|
|
127
127
|
"@libp2p/logger": "^3.0.2",
|
|
128
128
|
"@libp2p/multistream-select": "^4.0.2",
|
|
129
|
-
"@libp2p/peer-collections": "^4.0.
|
|
129
|
+
"@libp2p/peer-collections": "^4.0.4",
|
|
130
130
|
"@libp2p/peer-id": "^3.0.2",
|
|
131
|
-
"@libp2p/peer-id-factory": "^3.0.
|
|
132
|
-
"@libp2p/peer-record": "^6.0.
|
|
133
|
-
"@libp2p/peer-store": "^9.0.
|
|
131
|
+
"@libp2p/peer-id-factory": "^3.0.4",
|
|
132
|
+
"@libp2p/peer-record": "^6.0.5",
|
|
133
|
+
"@libp2p/peer-store": "^9.0.5",
|
|
134
134
|
"@libp2p/utils": "^4.0.3",
|
|
135
135
|
"@multiformats/mafmt": "^12.1.2",
|
|
136
136
|
"@multiformats/multiaddr": "^12.1.5",
|
|
@@ -169,17 +169,17 @@
|
|
|
169
169
|
"@chainsafe/libp2p-gossipsub": "^10.0.0",
|
|
170
170
|
"@chainsafe/libp2p-noise": "^13.0.0",
|
|
171
171
|
"@chainsafe/libp2p-yamux": "^5.0.0",
|
|
172
|
-
"@libp2p/bootstrap": "^9.0.
|
|
172
|
+
"@libp2p/bootstrap": "^9.0.6",
|
|
173
173
|
"@libp2p/daemon-client": "^7.0.0",
|
|
174
174
|
"@libp2p/daemon-server": "^6.0.0",
|
|
175
|
-
"@libp2p/floodsub": "^8.0.
|
|
176
|
-
"@libp2p/interface-compliance-tests": "^4.0.
|
|
175
|
+
"@libp2p/floodsub": "^8.0.7",
|
|
176
|
+
"@libp2p/interface-compliance-tests": "^4.0.6",
|
|
177
177
|
"@libp2p/interop": "^9.0.0",
|
|
178
|
-
"@libp2p/kad-dht": "^10.0.
|
|
179
|
-
"@libp2p/mdns": "^9.0.
|
|
180
|
-
"@libp2p/mplex": "^9.0.
|
|
181
|
-
"@libp2p/tcp": "^8.0.
|
|
182
|
-
"@libp2p/websockets": "^7.0.
|
|
178
|
+
"@libp2p/kad-dht": "^10.0.7",
|
|
179
|
+
"@libp2p/mdns": "^9.0.8",
|
|
180
|
+
"@libp2p/mplex": "^9.0.6",
|
|
181
|
+
"@libp2p/tcp": "^8.0.7",
|
|
182
|
+
"@libp2p/websockets": "^7.0.7",
|
|
183
183
|
"@types/xsalsa20": "^1.1.0",
|
|
184
184
|
"aegir": "^40.0.8",
|
|
185
185
|
"execa": "^8.0.1",
|
|
@@ -191,7 +191,7 @@
|
|
|
191
191
|
"p-times": "^4.0.0",
|
|
192
192
|
"p-wait-for": "^5.0.2",
|
|
193
193
|
"protons": "^7.0.2",
|
|
194
|
-
"sinon": "^
|
|
194
|
+
"sinon": "^16.0.0",
|
|
195
195
|
"sinon-ts": "^1.0.0"
|
|
196
196
|
},
|
|
197
197
|
"browser": {
|
package/src/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const version = '0.46.
|
|
1
|
+
export const version = '0.46.11'
|
|
2
2
|
export const name = 'libp2p'
|