@libp2p/peer-store 11.0.12-8a9258a24 → 11.0.12-a0c8ceb99

Sign up to get free protection for your applications and to get access to all the features.
package/README.md CHANGED
@@ -34,7 +34,7 @@ $ npm i @libp2p/peer-store
34
34
 
35
35
  ## Browser `<script>` tag
36
36
 
37
- Loading this module through a script tag will make it's exports available as `Libp2pPeerStore` in the global namespace.
37
+ Loading this module through a script tag will make its exports available as `Libp2pPeerStore` in the global namespace.
38
38
 
39
39
  ```html
40
40
  <script src="https://unpkg.com/@libp2p/peer-store/dist/index.min.js"></script>
package/dist/index.min.js CHANGED
@@ -3,7 +3,7 @@
3
3
  `).map(s=>` ${s}`).join(`
4
4
  `));let e=this.idBlock.tagClass===3?`[${this.idBlock.tagNumber}]`:this.constructor.NAME;return t.length?`${e} :
5
5
  ${t.join(`
6
- `)}`:`${e} :`}};pc=Se;B.Constructed=pc;Se.NAME="CONSTRUCTED";var Pn=class extends yt{fromBER(t,e,n){return e}toBER(t){return Kt}};Pn.override="EndOfContentValueBlock";var gc,Mn=class extends ht{constructor(t={}){super(t,Pn),this.idBlock.tagClass=1,this.idBlock.tagNumber=0}};gc=Mn;B.EndOfContent=gc;Mn.NAME=Vr;var mc,or=class extends ht{constructor(t={}){super(t,yt),this.idBlock.tagClass=1,this.idBlock.tagNumber=5}fromBER(t,e,n){return this.lenBlock.length>0&&this.warnings.push("Non-zero length of value block for Null type"),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.blockLength+=n,e+n>t.byteLength?(this.error="End of input reached before message was fully decoded (inconsistent offset and length values)",-1):e+n}toBER(t,e){let n=new ArrayBuffer(2);if(!t){let s=new Uint8Array(n);s[0]=5,s[1]=0}return e&&e.write(n),n}onAsciiEncoding(){return`${this.constructor.NAME}`}};mc=or;B.Null=mc;or.NAME="NULL";var Hn=class extends le(yt){constructor({value:t,...e}={}){super(e),e.valueHex?this.valueHexView=M.BufferSourceConverter.toUint8Array(e.valueHex):this.valueHexView=new Uint8Array(1),t&&(this.value=t)}get value(){for(let t of this.valueHexView)if(t>0)return!0;return!1}set value(t){this.valueHexView[0]=t?255:0}fromBER(t,e,n){let s=M.BufferSourceConverter.toUint8Array(t);return ce(this,s,e,n)?(this.valueHexView=s.subarray(e,e+n),n>1&&this.warnings.push("Boolean value encoded in more then 1 octet"),this.isHexOnly=!0,to.call(this),this.blockLength=n,e+n):-1}toBER(){return this.valueHexView.slice()}toJSON(){return{...super.toJSON(),value:this.value}}};Hn.NAME="BooleanValueBlock";var yc,Fn=class extends ht{constructor(t={}){super(t,Hn),this.idBlock.tagClass=1,this.idBlock.tagNumber=1}getValue(){return this.valueBlock.value}setValue(t){this.valueBlock.value=t}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.getValue}`}};yc=Fn;B.Boolean=yc;Fn.NAME="BOOLEAN";var Kn=class extends le(Zt){constructor({isConstructed:t=!1,...e}={}){super(e),this.isConstructed=t}fromBER(t,e,n){let s=0;if(this.isConstructed){if(this.isHexOnly=!1,s=Zt.prototype.fromBER.call(this,t,e,n),s===-1)return s;for(let i=0;i<this.value.length;i++){let o=this.value[i].constructor.NAME;if(o===Vr){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, OCTET STRING may consists of OCTET STRINGs only",-1}if(o!==uc)return this.error="OCTET STRING may consists of OCTET STRINGs only",-1}}else this.isHexOnly=!0,s=super.fromBER(t,e,n),this.blockLength=n;return s}toBER(t,e){return this.isConstructed?Zt.prototype.toBER.call(this,t,e):t?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),isConstructed:this.isConstructed}}};Kn.NAME="OctetStringValueBlock";var bc,qn=class r extends ht{constructor({idBlock:t={},lenBlock:e={},...n}={}){var s,i;(s=n.isConstructed)!==null&&s!==void 0||(n.isConstructed=!!(!((i=n.value)===null||i===void 0)&&i.length)),super({idBlock:{isConstructed:n.isConstructed,...t},lenBlock:{...e,isIndefiniteForm:!!n.isIndefiniteForm},...n},Kn),this.idBlock.tagClass=1,this.idBlock.tagNumber=4}fromBER(t,e,n){if(this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,n===0)return this.idBlock.error.length===0&&(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length===0&&(this.blockLength+=this.lenBlock.blockLength),e;if(!this.valueBlock.isConstructed){let i=(t instanceof ArrayBuffer?new Uint8Array(t):t).subarray(e,e+n);try{if(i.byteLength){let o=ys(i,0,i.byteLength);o.offset!==-1&&o.offset===n&&(this.valueBlock.value=[o.result])}}catch{}}return super.fromBER(t,e,n)}onAsciiEncoding(){return this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length?Se.prototype.onAsciiEncoding.call(this):`${this.constructor.NAME} : ${M.Convert.ToHex(this.valueBlock.valueHexView)}`}getValue(){if(!this.idBlock.isConstructed)return this.valueBlock.valueHexView.slice().buffer;let t=[];for(let e of this.valueBlock.value)e instanceof r&&t.push(e.valueBlock.valueHexView);return M.BufferSourceConverter.concat(t)}};bc=qn;B.OctetString=bc;qn.NAME=uc;var zn=class extends le(Zt){constructor({unusedBits:t=0,isConstructed:e=!1,...n}={}){super(n),this.unusedBits=t,this.isConstructed=e,this.blockLength=this.valueHexView.byteLength}fromBER(t,e,n){if(!n)return e;let s=-1;if(this.isConstructed){if(s=Zt.prototype.fromBER.call(this,t,e,n),s===-1)return s;for(let a of this.value){let c=a.constructor.NAME;if(c===Vr){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, BIT STRING may consists of BIT STRINGs only",-1}if(c!==fc)return this.error="BIT STRING may consists of BIT STRINGs only",-1;let f=a.valueBlock;if(this.unusedBits>0&&f.unusedBits>0)return this.error='Using of "unused bits" inside constructive BIT STRING allowed for least one only',-1;this.unusedBits=f.unusedBits}return s}let i=M.BufferSourceConverter.toUint8Array(t);if(!ce(this,i,e,n))return-1;let o=i.subarray(e,e+n);if(this.unusedBits=o[0],this.unusedBits>7)return this.error="Unused bits for BitString must be in range 0-7",-1;if(!this.unusedBits){let a=o.subarray(1);try{if(a.byteLength){let c=ys(a,0,a.byteLength);c.offset!==-1&&c.offset===n-1&&(this.value=[c.result])}}catch{}}return this.valueHexView=o.subarray(1),this.blockLength=o.length,e+n}toBER(t,e){if(this.isConstructed)return Zt.prototype.toBER.call(this,t,e);if(t)return new ArrayBuffer(this.valueHexView.byteLength+1);if(!this.valueHexView.byteLength)return Kt;let n=new Uint8Array(this.valueHexView.length+1);return n[0]=this.unusedBits,n.set(this.valueHexView,1),n.buffer}toJSON(){return{...super.toJSON(),unusedBits:this.unusedBits,isConstructed:this.isConstructed}}};zn.NAME="BitStringValueBlock";var wc,ar=class extends ht{constructor({idBlock:t={},lenBlock:e={},...n}={}){var s,i;(s=n.isConstructed)!==null&&s!==void 0||(n.isConstructed=!!(!((i=n.value)===null||i===void 0)&&i.length)),super({idBlock:{isConstructed:n.isConstructed,...t},lenBlock:{...e,isIndefiniteForm:!!n.isIndefiniteForm},...n},zn),this.idBlock.tagClass=1,this.idBlock.tagNumber=3}fromBER(t,e,n){return this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,super.fromBER(t,e,n)}onAsciiEncoding(){if(this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length)return Se.prototype.onAsciiEncoding.call(this);{let t=[],e=this.valueBlock.valueHexView;for(let s of e)t.push(s.toString(2).padStart(8,"0"));let n=t.join("");return`${this.constructor.NAME} : ${n.substring(0,n.length-this.valueBlock.unusedBits)}`}}};wc=ar;B.BitString=wc;ar.NAME=fc;var xc;function Yh(r,t){let e=new Uint8Array([0]),n=new Uint8Array(r),s=new Uint8Array(t),i=n.slice(0),o=i.length-1,a=s.slice(0),c=a.length-1,f=0,u=c<o?o:c,l=0;for(let h=u;h>=0;h--,l++){switch(!0){case l<a.length:f=i[o-l]+a[c-l]+e[0];break;default:f=i[o-l]+e[0]}switch(e[0]=f/10,!0){case l>=i.length:i=Ln(new Uint8Array([f%10]),i);break;default:i[o-l]=f%10}}return e[0]>0&&(i=Ln(e,i)),i}function lc(r){if(r>=Rr.length)for(let t=Rr.length;t<=r;t++){let e=new Uint8Array([0]),n=Rr[t-1].slice(0);for(let s=n.length-1;s>=0;s--){let i=new Uint8Array([(n[s]<<1)+e[0]]);e[0]=i[0]/10,n[s]=i[0]%10}e[0]>0&&(n=Ln(e,n)),Rr.push(n)}return Rr[r]}function Jh(r,t){let e=0,n=new Uint8Array(r),s=new Uint8Array(t),i=n.slice(0),o=i.length-1,a=s.slice(0),c=a.length-1,f,u=0;for(let l=c;l>=0;l--,u++)switch(f=i[o-u]-a[c-u]-e,!0){case f<0:e=1,i[o-u]=f+10;break;default:e=0,i[o-u]=f}if(e>0)for(let l=o-c+1;l>=0;l--,u++)if(f=i[o-u]-e,f<0)e=1,i[o-u]=f+10;else{e=0,i[o-u]=f;break}return i.slice()}var Or=class extends le(yt){constructor({value:t,...e}={}){super(e),this._valueDec=0,e.valueHex&&this.setValueHex(),t!==void 0&&(this.valueDec=t)}setValueHex(){this.valueHexView.length>=4?(this.warnings.push("Too big Integer for decoding, hex only"),this.isHexOnly=!0,this._valueDec=0):(this.isHexOnly=!1,this.valueHexView.length>0&&(this._valueDec=to.call(this)))}set valueDec(t){this._valueDec=t,this.isHexOnly=!1,this.valueHexView=new Uint8Array(oc(t))}get valueDec(){return this._valueDec}fromDER(t,e,n,s=0){let i=this.fromBER(t,e,n);if(i===-1)return i;let o=this.valueHexView;return o[0]===0&&o[1]&128?this.valueHexView=o.subarray(1):s!==0&&o.length<s&&(s-o.length>1&&(s=o.length+1),this.valueHexView=o.subarray(s-o.length)),i}toDER(t=!1){let e=this.valueHexView;switch(!0){case(e[0]&128)!==0:{let n=new Uint8Array(this.valueHexView.length+1);n[0]=0,n.set(e,1),this.valueHexView=n}break;case(e[0]===0&&(e[1]&128)===0):this.valueHexView=this.valueHexView.subarray(1);break}return this.toBER(t)}fromBER(t,e,n){let s=super.fromBER(t,e,n);return s===-1||this.setValueHex(),s}toBER(t){return t?new ArrayBuffer(this.valueHexView.length):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}toString(){let t=this.valueHexView.length*8-1,e=new Uint8Array(this.valueHexView.length*8/3),n=0,s,i=this.valueHexView,o="",a=!1;for(let c=i.byteLength-1;c>=0;c--){s=i[c];for(let f=0;f<8;f++){if((s&1)===1)switch(n){case t:e=Jh(lc(n),e),o="-";break;default:e=Yh(e,lc(n))}n++,s>>=1}}for(let c=0;c<e.length;c++)e[c]&&(a=!0),a&&(o+=cc.charAt(e[c]));return a===!1&&(o+=cc.charAt(0)),o}};xc=Or;Or.NAME="IntegerValueBlock";Object.defineProperty(xc.prototype,"valueHex",{set:function(r){this.valueHexView=new Uint8Array(r),this.setValueHex()},get:function(){return this.valueHexView.slice().buffer}});var vc,dt=class r extends ht{constructor(t={}){super(t,Or),this.idBlock.tagClass=1,this.idBlock.tagNumber=2}toBigInt(){return Un(),BigInt(this.valueBlock.toString())}static fromBigInt(t){Un();let e=BigInt(t),n=new _r,s=e.toString(16).replace(/^-/,""),i=new Uint8Array(M.Convert.FromHex(s));if(e<0){let a=new Uint8Array(i.length+(i[0]&128?1:0));a[0]|=128;let f=BigInt(`0x${M.Convert.ToHex(a)}`)+e,u=M.BufferSourceConverter.toUint8Array(M.Convert.FromHex(f.toString(16)));u[0]|=128,n.write(u)}else i[0]&128&&n.write(new Uint8Array([0])),n.write(i);return new r({valueHex:n.final()})}convertToDER(){let t=new r({valueHex:this.valueBlock.valueHexView});return t.valueBlock.toDER(),t}convertFromDER(){return new r({valueHex:this.valueBlock.valueHexView[0]===0?this.valueBlock.valueHexView.subarray(1):this.valueBlock.valueHexView})}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()}`}};vc=dt;B.Integer=vc;dt.NAME="INTEGER";var Ec,$n=class extends dt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=10}};Ec=$n;B.Enumerated=Ec;$n.NAME="ENUMERATED";var Dr=class extends le(yt){constructor({valueDec:t=-1,isFirstSid:e=!1,...n}={}){super(n),this.valueDec=t,this.isFirstSid=e}fromBER(t,e,n){if(!n)return e;let s=M.BufferSourceConverter.toUint8Array(t);if(!ce(this,s,e,n))return-1;let i=s.subarray(e,e+n);this.valueHexView=new Uint8Array(n);for(let a=0;a<n&&(this.valueHexView[a]=i[a]&127,this.blockLength++,!!(i[a]&128));a++);let o=new Uint8Array(this.blockLength);for(let a=0;a<this.blockLength;a++)o[a]=this.valueHexView[a];return this.valueHexView=o,i[this.blockLength-1]&128?(this.error="End of input reached before message was fully decoded",-1):(this.valueHexView[0]===0&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=ze(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),e+this.blockLength)}set valueBigInt(t){Un();let e=BigInt(t).toString(2);for(;e.length%7;)e="0"+e;let n=new Uint8Array(e.length/7);for(let s=0;s<n.length;s++)n[s]=parseInt(e.slice(s*7,s*7+7),2)+(s+1<n.length?128:0);this.fromBER(n.buffer,0,n.length)}toBER(t){if(this.isHexOnly){if(t)return new ArrayBuffer(this.valueHexView.byteLength);let s=this.valueHexView,i=new Uint8Array(this.blockLength);for(let o=0;o<this.blockLength-1;o++)i[o]=s[o]|128;return i[this.blockLength-1]=s[this.blockLength-1],i.buffer}let e=ke(this.valueDec,7);if(e.byteLength===0)return this.error="Error during encoding SID value",Kt;let n=new Uint8Array(e.byteLength);if(!t){let s=new Uint8Array(e),i=e.byteLength-1;for(let o=0;o<i;o++)n[o]=s[o]|128;n[i]=s[i]}return n}toString(){let t="";if(this.isHexOnly)t=M.Convert.ToHex(this.valueHexView);else if(this.isFirstSid){let e=this.valueDec;this.valueDec<=39?t="0.":this.valueDec<=79?(t="1.",e-=40):(t="2.",e-=80),t+=e.toString()}else t=this.valueDec.toString();return t}toJSON(){return{...super.toJSON(),valueDec:this.valueDec,isFirstSid:this.isFirstSid}}};Dr.NAME="sidBlock";var Gn=class extends yt{constructor({value:t=lr,...e}={}){super(e),this.value=[],t&&this.fromString(t)}fromBER(t,e,n){let s=e;for(;n>0;){let i=new Dr;if(s=i.fromBER(t,s,n),s===-1)return this.blockLength=0,this.error=i.error,s;this.value.length===0&&(i.isFirstSid=!0),this.blockLength+=i.blockLength,n-=i.blockLength,this.value.push(i)}return s}toBER(t){let e=[];for(let n=0;n<this.value.length;n++){let s=this.value[n].toBER(t);if(s.byteLength===0)return this.error=this.value[n].error,Kt;e.push(s)}return eo(e)}fromString(t){this.value=[];let e=0,n=0,s="",i=!1;do if(n=t.indexOf(".",e),n===-1?s=t.substring(e):s=t.substring(e,n),e=n+1,i){let o=this.value[0],a=0;switch(o.valueDec){case 0:break;case 1:a=40;break;case 2:a=80;break;default:this.value=[];return}let c=parseInt(s,10);if(isNaN(c))return;o.valueDec=c+a,i=!1}else{let o=new Dr;if(s>Number.MAX_SAFE_INTEGER){Un();let a=BigInt(s);o.valueBigInt=a}else if(o.valueDec=parseInt(s,10),isNaN(o.valueDec))return;this.value.length||(o.isFirstSid=!0,i=!0),this.value.push(o)}while(n!==-1)}toString(){let t="",e=!1;for(let n=0;n<this.value.length;n++){e=this.value[n].isHexOnly;let s=this.value[n].toString();n!==0&&(t=`${t}.`),e?(s=`{${s}}`,this.value[n].isFirstSid?t=`2.{${s} - 80}`:t+=s):t+=s}return t}toJSON(){let t={...super.toJSON(),value:this.toString(),sidArray:[]};for(let e=0;e<this.value.length;e++)t.sidArray.push(this.value[e].toJSON());return t}};Gn.NAME="ObjectIdentifierValueBlock";var Bc,cr=class extends ht{constructor(t={}){super(t,Gn),this.idBlock.tagClass=1,this.idBlock.tagNumber=6}getValue(){return this.valueBlock.toString()}setValue(t){this.valueBlock.fromString(t)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return{...super.toJSON(),value:this.getValue()}}};Bc=cr;B.ObjectIdentifier=Bc;cr.NAME="OBJECT IDENTIFIER";var Pr=class extends le(ie){constructor({valueDec:t=0,...e}={}){super(e),this.valueDec=t}fromBER(t,e,n){if(n===0)return e;let s=M.BufferSourceConverter.toUint8Array(t);if(!ce(this,s,e,n))return-1;let i=s.subarray(e,e+n);this.valueHexView=new Uint8Array(n);for(let a=0;a<n&&(this.valueHexView[a]=i[a]&127,this.blockLength++,!!(i[a]&128));a++);let o=new Uint8Array(this.blockLength);for(let a=0;a<this.blockLength;a++)o[a]=this.valueHexView[a];return this.valueHexView=o,i[this.blockLength-1]&128?(this.error="End of input reached before message was fully decoded",-1):(this.valueHexView[0]===0&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=ze(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),e+this.blockLength)}toBER(t){if(this.isHexOnly){if(t)return new ArrayBuffer(this.valueHexView.byteLength);let s=this.valueHexView,i=new Uint8Array(this.blockLength);for(let o=0;o<this.blockLength-1;o++)i[o]=s[o]|128;return i[this.blockLength-1]=s[this.blockLength-1],i.buffer}let e=ke(this.valueDec,7);if(e.byteLength===0)return this.error="Error during encoding SID value",Kt;let n=new Uint8Array(e.byteLength);if(!t){let s=new Uint8Array(e),i=e.byteLength-1;for(let o=0;o<i;o++)n[o]=s[o]|128;n[i]=s[i]}return n.buffer}toString(){let t="";return this.isHexOnly?t=M.Convert.ToHex(this.valueHexView):t=this.valueDec.toString(),t}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}};Pr.NAME="relativeSidBlock";var Wn=class extends yt{constructor({value:t=lr,...e}={}){super(e),this.value=[],t&&this.fromString(t)}fromBER(t,e,n){let s=e;for(;n>0;){let i=new Pr;if(s=i.fromBER(t,s,n),s===-1)return this.blockLength=0,this.error=i.error,s;this.blockLength+=i.blockLength,n-=i.blockLength,this.value.push(i)}return s}toBER(t,e){let n=[];for(let s=0;s<this.value.length;s++){let i=this.value[s].toBER(t);if(i.byteLength===0)return this.error=this.value[s].error,Kt;n.push(i)}return eo(n)}fromString(t){this.value=[];let e=0,n=0,s="";do{n=t.indexOf(".",e),n===-1?s=t.substring(e):s=t.substring(e,n),e=n+1;let i=new Pr;if(i.valueDec=parseInt(s,10),isNaN(i.valueDec))return!0;this.value.push(i)}while(n!==-1);return!0}toString(){let t="",e=!1;for(let n=0;n<this.value.length;n++){e=this.value[n].isHexOnly;let s=this.value[n].toString();n!==0&&(t=`${t}.`),e&&(s=`{${s}}`),t+=s}return t}toJSON(){let t={...super.toJSON(),value:this.toString(),sidArray:[]};for(let e=0;e<this.value.length;e++)t.sidArray.push(this.value[e].toJSON());return t}};Wn.NAME="RelativeObjectIdentifierValueBlock";var Ac,Zn=class extends ht{constructor(t={}){super(t,Wn),this.idBlock.tagClass=1,this.idBlock.tagNumber=13}getValue(){return this.valueBlock.toString()}setValue(t){this.valueBlock.fromString(t)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return{...super.toJSON(),value:this.getValue()}}};Ac=Zn;B.RelativeObjectIdentifier=Ac;Zn.NAME="RelativeObjectIdentifier";var kc,oe=class extends Se{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=16}};kc=oe;B.Sequence=kc;oe.NAME="SEQUENCE";var Sc,jn=class extends Se{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=17}};Sc=jn;B.Set=Sc;jn.NAME="SET";var Yn=class extends le(yt){constructor({...t}={}){super(t),this.isHexOnly=!0,this.value=lr}toJSON(){return{...super.toJSON(),value:this.value}}};Yn.NAME="StringValueBlock";var Jn=class extends Yn{};Jn.NAME="SimpleStringValueBlock";var At=class extends Vn{constructor({...t}={}){super(t,Jn)}fromBuffer(t){this.valueBlock.value=String.fromCharCode.apply(null,M.BufferSourceConverter.toUint8Array(t))}fromString(t){let e=t.length,n=this.valueBlock.valueHexView=new Uint8Array(e);for(let s=0;s<e;s++)n[s]=t.charCodeAt(s);this.valueBlock.value=t}};At.NAME="SIMPLE STRING";var Xn=class extends At{fromBuffer(t){this.valueBlock.valueHexView=M.BufferSourceConverter.toUint8Array(t);try{this.valueBlock.value=M.Convert.ToUtf8String(t)}catch(e){this.warnings.push(`Error during "decodeURIComponent": ${e}, using raw string`),this.valueBlock.value=M.Convert.ToBinary(t)}}fromString(t){this.valueBlock.valueHexView=new Uint8Array(M.Convert.FromUtf8String(t)),this.valueBlock.value=t}};Xn.NAME="Utf8StringValueBlock";var Ic,ae=class extends Xn{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=12}};Ic=ae;B.Utf8String=Ic;ae.NAME="UTF8String";var Qn=class extends At{fromBuffer(t){this.valueBlock.value=M.Convert.ToUtf16String(t),this.valueBlock.valueHexView=M.BufferSourceConverter.toUint8Array(t)}fromString(t){this.valueBlock.value=t,this.valueBlock.valueHexView=new Uint8Array(M.Convert.FromUtf16String(t))}};Qn.NAME="BmpStringValueBlock";var Tc,ts=class extends Qn{constructor({...t}={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=30}};Tc=ts;B.BmpString=Tc;ts.NAME="BMPString";var es=class extends At{fromBuffer(t){let e=ArrayBuffer.isView(t)?t.slice().buffer:t.slice(0),n=new Uint8Array(e);for(let s=0;s<n.length;s+=4)n[s]=n[s+3],n[s+1]=n[s+2],n[s+2]=0,n[s+3]=0;this.valueBlock.value=String.fromCharCode.apply(null,new Uint32Array(e))}fromString(t){let e=t.length,n=this.valueBlock.valueHexView=new Uint8Array(e*4);for(let s=0;s<e;s++){let i=ke(t.charCodeAt(s),8),o=new Uint8Array(i);if(o.length>4)continue;let a=4-o.length;for(let c=o.length-1;c>=0;c--)n[s*4+c+a]=o[c]}this.valueBlock.value=t}};es.NAME="UniversalStringValueBlock";var Cc,rs=class extends es{constructor({...t}={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=28}};Cc=rs;B.UniversalString=Cc;rs.NAME="UniversalString";var Nc,ns=class extends At{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=18}};Nc=ns;B.NumericString=Nc;ns.NAME="NumericString";var Lc,ss=class extends At{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=19}};Lc=ss;B.PrintableString=Lc;ss.NAME="PrintableString";var Uc,is=class extends At{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=20}};Uc=is;B.TeletexString=Uc;is.NAME="TeletexString";var Rc,os=class extends At{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=21}};Rc=os;B.VideotexString=Rc;os.NAME="VideotexString";var _c,as=class extends At{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=22}};_c=as;B.IA5String=_c;as.NAME="IA5String";var Vc,cs=class extends At{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=25}};Vc=cs;B.GraphicString=Vc;cs.NAME="GraphicString";var Oc,Mr=class extends At{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=26}};Oc=Mr;B.VisibleString=Oc;Mr.NAME="VisibleString";var Dc,ls=class extends At{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=27}};Dc=ls;B.GeneralString=Dc;ls.NAME="GeneralString";var Pc,us=class extends At{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=29}};Pc=us;B.CharacterString=Pc;us.NAME="CharacterString";var Mc,Hr=class extends Mr{constructor({value:t,valueDate:e,...n}={}){if(super(n),this.year=0,this.month=0,this.day=0,this.hour=0,this.minute=0,this.second=0,t){this.fromString(t),this.valueBlock.valueHexView=new Uint8Array(t.length);for(let s=0;s<t.length;s++)this.valueBlock.valueHexView[s]=t.charCodeAt(s)}e&&(this.fromDate(e),this.valueBlock.valueHexView=new Uint8Array(this.toBuffer())),this.idBlock.tagClass=1,this.idBlock.tagNumber=23}fromBuffer(t){this.fromString(String.fromCharCode.apply(null,M.BufferSourceConverter.toUint8Array(t)))}toBuffer(){let t=this.toString(),e=new ArrayBuffer(t.length),n=new Uint8Array(e);for(let s=0;s<t.length;s++)n[s]=t.charCodeAt(s);return e}fromDate(t){this.year=t.getUTCFullYear(),this.month=t.getUTCMonth()+1,this.day=t.getUTCDate(),this.hour=t.getUTCHours(),this.minute=t.getUTCMinutes(),this.second=t.getUTCSeconds()}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second))}fromString(t){let n=/(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})Z/ig.exec(t);if(n===null){this.error="Wrong input string for conversion";return}let s=parseInt(n[1],10);s>=50?this.year=1900+s:this.year=2e3+s,this.month=parseInt(n[2],10),this.day=parseInt(n[3],10),this.hour=parseInt(n[4],10),this.minute=parseInt(n[5],10),this.second=parseInt(n[6],10)}toString(t="iso"){if(t==="iso"){let e=new Array(7);return e[0]=Lt(this.year<2e3?this.year-1900:this.year-2e3,2),e[1]=Lt(this.month,2),e[2]=Lt(this.day,2),e[3]=Lt(this.hour,2),e[4]=Lt(this.minute,2),e[5]=Lt(this.second,2),e[6]="Z",e.join("")}return super.toString(t)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.toDate().toISOString()}`}toJSON(){return{...super.toJSON(),year:this.year,month:this.month,day:this.day,hour:this.hour,minute:this.minute,second:this.second}}};Mc=Hr;B.UTCTime=Mc;Hr.NAME="UTCTime";var Hc,fs=class extends Hr{constructor(t={}){var e;super(t),(e=this.millisecond)!==null&&e!==void 0||(this.millisecond=0),this.idBlock.tagClass=1,this.idBlock.tagNumber=24}fromDate(t){super.fromDate(t),this.millisecond=t.getUTCMilliseconds()}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second,this.millisecond))}fromString(t){let e=!1,n="",s="",i=0,o,a=0,c=0;if(t[t.length-1]==="Z")n=t.substring(0,t.length-1),e=!0;else{let l=new Number(t[t.length-1]);if(isNaN(l.valueOf()))throw new Error("Wrong input string for conversion");n=t}if(e){if(n.indexOf("+")!==-1)throw new Error("Wrong input string for conversion");if(n.indexOf("-")!==-1)throw new Error("Wrong input string for conversion")}else{let l=1,h=n.indexOf("+"),d="";if(h===-1&&(h=n.indexOf("-"),l=-1),h!==-1){if(d=n.substring(h+1),n=n.substring(0,h),d.length!==2&&d.length!==4)throw new Error("Wrong input string for conversion");let b=parseInt(d.substring(0,2),10);if(isNaN(b.valueOf()))throw new Error("Wrong input string for conversion");if(a=l*b,d.length===4){if(b=parseInt(d.substring(2,4),10),isNaN(b.valueOf()))throw new Error("Wrong input string for conversion");c=l*b}}}let f=n.indexOf(".");if(f===-1&&(f=n.indexOf(",")),f!==-1){let l=new Number(`0${n.substring(f)}`);if(isNaN(l.valueOf()))throw new Error("Wrong input string for conversion");i=l.valueOf(),s=n.substring(0,f)}else s=n;switch(!0){case s.length===8:if(o=/(\d{4})(\d{2})(\d{2})/ig,f!==-1)throw new Error("Wrong input string for conversion");break;case s.length===10:if(o=/(\d{4})(\d{2})(\d{2})(\d{2})/ig,f!==-1){let l=60*i;this.minute=Math.floor(l),l=60*(l-this.minute),this.second=Math.floor(l),l=1e3*(l-this.second),this.millisecond=Math.floor(l)}break;case s.length===12:if(o=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})/ig,f!==-1){let l=60*i;this.second=Math.floor(l),l=1e3*(l-this.second),this.millisecond=Math.floor(l)}break;case s.length===14:if(o=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/ig,f!==-1){let l=1e3*i;this.millisecond=Math.floor(l)}break;default:throw new Error("Wrong input string for conversion")}let u=o.exec(s);if(u===null)throw new Error("Wrong input string for conversion");for(let l=1;l<u.length;l++)switch(l){case 1:this.year=parseInt(u[l],10);break;case 2:this.month=parseInt(u[l],10);break;case 3:this.day=parseInt(u[l],10);break;case 4:this.hour=parseInt(u[l],10)+a;break;case 5:this.minute=parseInt(u[l],10)+c;break;case 6:this.second=parseInt(u[l],10);break;default:throw new Error("Wrong input string for conversion")}if(e===!1){let l=new Date(this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond);this.year=l.getUTCFullYear(),this.month=l.getUTCMonth(),this.day=l.getUTCDay(),this.hour=l.getUTCHours(),this.minute=l.getUTCMinutes(),this.second=l.getUTCSeconds(),this.millisecond=l.getUTCMilliseconds()}}toString(t="iso"){if(t==="iso"){let e=[];return e.push(Lt(this.year,4)),e.push(Lt(this.month,2)),e.push(Lt(this.day,2)),e.push(Lt(this.hour,2)),e.push(Lt(this.minute,2)),e.push(Lt(this.second,2)),this.millisecond!==0&&(e.push("."),e.push(Lt(this.millisecond,3))),e.push("Z"),e.join("")}return super.toString(t)}toJSON(){return{...super.toJSON(),millisecond:this.millisecond}}};Hc=fs;B.GeneralizedTime=Hc;fs.NAME="GeneralizedTime";var Fc,hs=class extends ae{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=31}};Fc=hs;B.DATE=Fc;hs.NAME="DATE";var Kc,ds=class extends ae{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=32}};Kc=ds;B.TimeOfDay=Kc;ds.NAME="TimeOfDay";var qc,ps=class extends ae{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=33}};qc=ps;B.DateTime=qc;ps.NAME="DateTime";var zc,gs=class extends ae{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=34}};zc=gs;B.Duration=zc;gs.NAME="Duration";var $c,ms=class extends ae{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=14}};$c=ms;B.TIME=$c;ms.NAME="TIME";function tt(r,t="utf8"){let e=En[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return e.encoder.encode(r).substring(1)}var Fr=class extends Error{constructor(t="An error occurred while verifying a message"){super(t),this.name="VerificationError"}},bs=class extends Error{constructor(t="Missing Web Crypto API"){super(t),this.name="WebCryptoMissingError"}};var Gc={get(r=globalThis){let t=r.crypto;if(t?.subtle==null)throw new bs("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/blob/main/packages/crypto/README.md#web-crypto-api");return t}};var Ie=Gc;async function Wc(r){let t=await Ie.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:r,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),e=await Qh(t);return{privateKey:e[0],publicKey:e[1]}}async function Zc(r,t){let e=await Ie.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await Ie.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},e,t instanceof Uint8Array?t:t.subarray());return new Uint8Array(n,0,n.byteLength)}async function jc(r,t,e){let n=await Ie.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return Ie.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,t,e instanceof Uint8Array?e:e.subarray())}async function Qh(r){if(r.privateKey==null||r.publicKey==null)throw new K("Private and public key are required");return Promise.all([Ie.get().subtle.exportKey("jwk",r.privateKey),Ie.get().subtle.exportKey("jwk",r.publicKey)])}function so(r){if(r.kty!=="RSA")throw new K("invalid key type");if(r.n==null)throw new K("invalid key modulus");return Z(r.n,"base64url").length*8}var ur=class{type="RSA";_key;_raw;_multihash;constructor(t,e){this._key=t,this._multihash=e}get raw(){return this._raw==null&&(this._raw=Kr.jwkToPkix(this._key)),this._raw}toMultihash(){return this._multihash}toCID(){return st.createV1(114,this._multihash)}toString(){return X.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:lt(this.raw,t.raw)}verify(t,e){return jc(this._key,e,t)}},qr=class{type="RSA";_key;_raw;publicKey;constructor(t,e){this._key=t,this.publicKey=e}get raw(){return this._raw==null&&(this._raw=Kr.jwkToPkcs1(this._key)),this._raw}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:lt(this.raw,t.raw)}sign(t){return Zc(this._key,t)}};var ws=8192,io=18;function Yc(r){let{result:t}=no(r),e=t.valueBlock.value;return{n:jt(e[1]),e:jt(e[2]),d:jt(e[3]),p:jt(e[4]),q:jt(e[5]),dp:jt(e[6]),dq:jt(e[7]),qi:jt(e[8]),kty:"RSA",alg:"RS256"}}function td(r){if(r.n==null||r.e==null||r.d==null||r.p==null||r.q==null||r.dp==null||r.dq==null||r.qi==null)throw new K("JWK was missing components");let e=new oe({value:[new dt({value:0}),dt.fromBigInt(Yt(Z(r.n,"base64url"))),dt.fromBigInt(Yt(Z(r.e,"base64url"))),dt.fromBigInt(Yt(Z(r.d,"base64url"))),dt.fromBigInt(Yt(Z(r.p,"base64url"))),dt.fromBigInt(Yt(Z(r.q,"base64url"))),dt.fromBigInt(Yt(Z(r.dp,"base64url"))),dt.fromBigInt(Yt(Z(r.dq,"base64url"))),dt.fromBigInt(Yt(Z(r.qi,"base64url")))]}).toBER();return new Uint8Array(e,0,e.byteLength)}function Jc(r){let{result:t}=no(r),e=t.valueBlock.value[1].valueBlock.value[0].valueBlock.value;return{kty:"RSA",n:jt(e[0]),e:jt(e[1])}}function oo(r){if(r.n==null||r.e==null)throw new K("JWK was missing components");let e=new oe({value:[new oe({value:[new cr({value:"1.2.840.113549.1.1.1"}),new or]}),new ar({valueHex:new oe({value:[dt.fromBigInt(Yt(Z(r.n,"base64url"))),dt.fromBigInt(Yt(Z(r.e,"base64url")))]}).toBER()})]}).toBER();return new Uint8Array(e,0,e.byteLength)}function jt(r){let t=r.valueBlock.valueHexView;for(;t[0]===0;)t=t.subarray(1);return tt(t,"base64url")}function Yt(r){let t=[];return r.forEach(function(e){let n=e.toString(16);n.length%2>0&&(n=`0${n}`),t.push(n)}),BigInt("0x"+t.join(""))}function Xc(r){let t=Yc(r);return Qc(t)}function ao(r){let t=Jc(r);if(so(t)>ws)throw new Ze("Key size is too large");let e=Tn(Wt.encode({Type:ot.RSA,Data:r})),n=Ot(io,e);return new ur(t,n)}function Qc(r){if(so(r)>ws)throw new K("Key size is too large");let t=el(r),e=Tn(Wt.encode({Type:ot.RSA,Data:oo(t.publicKey)})),n=Ot(io,e);return new qr(t.privateKey,new ur(t.publicKey,n))}async function tl(r){if(r>ws)throw new K("Key size is too large");let t=await Wc(r),e=Tn(Wt.encode({Type:ot.RSA,Data:oo(t.publicKey)})),n=Ot(io,e);return new qr(t.privateKey,new ur(t.publicKey,n))}function el(r){if(r==null)throw new K("Missing key parameter");return{privateKey:r,publicKey:{kty:r.kty,n:r.n,e:r.e}}}var ed=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]),Te=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Ce=new Uint32Array(64),co=class extends rr{constructor(){super(64,32,8,!1),this.A=Te[0]|0,this.B=Te[1]|0,this.C=Te[2]|0,this.D=Te[3]|0,this.E=Te[4]|0,this.F=Te[5]|0,this.G=Te[6]|0,this.H=Te[7]|0}get(){let{A:t,B:e,C:n,D:s,E:i,F:o,G:a,H:c}=this;return[t,e,n,s,i,o,a,c]}set(t,e,n,s,i,o,a,c){this.A=t|0,this.B=e|0,this.C=n|0,this.D=s|0,this.E=i|0,this.F=o|0,this.G=a|0,this.H=c|0}process(t,e){for(let l=0;l<16;l++,e+=4)Ce[l]=t.getUint32(e,!1);for(let l=16;l<64;l++){let h=Ce[l-15],d=Ce[l-2],b=Dt(h,7)^Dt(h,18)^h>>>3,w=Dt(d,17)^Dt(d,19)^d>>>10;Ce[l]=w+Ce[l-7]+b+Ce[l-16]|0}let{A:n,B:s,C:i,D:o,E:a,F:c,G:f,H:u}=this;for(let l=0;l<64;l++){let h=Dt(a,6)^Dt(a,11)^Dt(a,25),d=u+h+va(a,c,f)+ed[l]+Ce[l]|0,w=(Dt(n,2)^Dt(n,13)^Dt(n,22))+Ea(n,s,i)|0;u=f,f=c,c=a,a=o+d|0,o=i,i=s,s=n,n=d+w|0}n=n+this.A|0,s=s+this.B|0,i=i+this.C|0,o=o+this.D|0,a=a+this.E|0,c=c+this.F|0,f=f+this.G|0,u=u+this.H|0,this.set(n,s,i,o,a,c,f,u)}roundClean(){Ce.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var rl=cn(()=>new co);var xs=class extends er{constructor(t,e){super(),this.finished=!1,this.destroyed=!1,ba(t);let n=Ar(e);if(this.iHash=t.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 s=this.blockLen,i=new Uint8Array(s);i.set(n.length>s?t.create().update(n).digest():n);for(let o=0;o<i.length;o++)i[o]^=54;this.iHash.update(i),this.oHash=t.create();for(let o=0;o<i.length;o++)i[o]^=106;this.oHash.update(i),i.fill(0)}update(t){return tr(this),this.iHash.update(t),this}digestInto(t){tr(this),Qe(t,this.outputLen),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){let t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));let{oHash:e,iHash:n,finished:s,destroyed:i,blockLen:o,outputLen:a}=this;return t=t,t.finished=s,t.destroyed=i,t.blockLen=o,t.outputLen=a,t.oHash=e._cloneInto(t.oHash),t.iHash=n._cloneInto(t.iHash),t}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},lo=(r,t,e)=>new xs(r,t).update(e).digest();lo.create=(r,t)=>new xs(r,t);function nl(r){r.lowS!==void 0&&Pt("lowS",r.lowS),r.prehash!==void 0&&Pt("prehash",r.prehash)}function rd(r){let t=Ir(r);zt(t,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:e,Fp:n,a:s}=t;if(e){if(!n.eql(s,n.ZERO))throw new Error("invalid endomorphism, can only be defined for Koblitz curves that have a=0");if(typeof e!="object"||typeof e.beta!="bigint"||typeof e.splitScalar!="function")throw new Error("invalid endomorphism, expected beta: bigint and splitScalar: function")}return Object.freeze({...t})}var{bytesToNumberBE:nd,hexToBytes:sd}=dn,ue={Err:class extends Error{constructor(t=""){super(t)}},_tlv:{encode:(r,t)=>{let{Err:e}=ue;if(r<0||r>256)throw new e("tlv.encode: wrong tag");if(t.length&1)throw new e("tlv.encode: unpadded data");let n=t.length/2,s=Ve(n);if(s.length/2&128)throw new e("tlv.encode: long form length too big");let i=n>127?Ve(s.length/2|128):"";return Ve(r)+i+s+t},decode(r,t){let{Err:e}=ue,n=0;if(r<0||r>256)throw new e("tlv.encode: wrong tag");if(t.length<2||t[n++]!==r)throw new e("tlv.decode: wrong tlv");let s=t[n++],i=!!(s&128),o=0;if(!i)o=s;else{let c=s&127;if(!c)throw new e("tlv.decode(long): indefinite length not supported");if(c>4)throw new e("tlv.decode(long): byte length is too big");let f=t.subarray(n,n+c);if(f.length!==c)throw new e("tlv.decode: length bytes not complete");if(f[0]===0)throw new e("tlv.decode(long): zero leftmost byte");for(let u of f)o=o<<8|u;if(n+=c,o<128)throw new e("tlv.decode(long): not minimal encoding")}let a=t.subarray(n,n+o);if(a.length!==o)throw new e("tlv.decode: wrong value length");return{v:a,l:t.subarray(n+o)}}},_int:{encode(r){let{Err:t}=ue;if(r<fe)throw new t("integer: negative integers are not allowed");let e=Ve(r);if(Number.parseInt(e[0],16)&8&&(e="00"+e),e.length&1)throw new t("unexpected DER parsing assertion: unpadded hex");return e},decode(r){let{Err:t}=ue;if(r[0]&128)throw new t("invalid signature integer: negative");if(r[0]===0&&!(r[1]&128))throw new t("invalid signature integer: unnecessary leading zero");return nd(r)}},toSig(r){let{Err:t,_int:e,_tlv:n}=ue,s=typeof r=="string"?sd(r):r;nr(s);let{v:i,l:o}=n.decode(48,s);if(o.length)throw new t("invalid signature: left bytes after parsing");let{v:a,l:c}=n.decode(2,i),{v:f,l:u}=n.decode(2,c);if(u.length)throw new t("invalid signature: left bytes after parsing");return{r:e.decode(a),s:e.decode(f)}},hexFromSig(r){let{_tlv:t,_int:e}=ue,n=t.encode(2,e.encode(r.r)),s=t.encode(2,e.encode(r.s)),i=n+s;return t.encode(48,i)}},fe=BigInt(0),ut=BigInt(1),om=BigInt(2),sl=BigInt(3),am=BigInt(4);function id(r){let t=rd(r),{Fp:e}=t,n=ve(t.n,t.nBitLength),s=t.toBytes||((w,p,v)=>{let A=p.toAffine();return ne(Uint8Array.from([4]),e.toBytes(A.x),e.toBytes(A.y))}),i=t.fromBytes||(w=>{let p=w.subarray(1),v=e.fromBytes(p.subarray(0,e.BYTES)),A=e.fromBytes(p.subarray(e.BYTES,2*e.BYTES));return{x:v,y:A}});function o(w){let{a:p,b:v}=t,A=e.sqr(w),m=e.mul(A,w);return e.add(e.add(m,e.mul(w,p)),v)}if(!e.eql(e.sqr(t.Gy),o(t.Gx)))throw new Error("bad generator point: equation left != right");function a(w){return kr(w,ut,t.n)}function c(w){let{allowedPrivateKeyLengths:p,nByteLength:v,wrapPrivateKey:A,n:m}=t;if(p&&typeof w!="bigint"){if(be(w)&&(w=ee(w)),typeof w!="string"||!p.includes(w.length))throw new Error("invalid private key");w=w.padStart(v*2,"0")}let S;try{S=typeof w=="bigint"?w:re(Q("private key",w,v))}catch{throw new Error("invalid private key, expected hex or "+v+" bytes, got "+typeof w)}return A&&(S=$(S,m)),It("private key",S,ut,m),S}function f(w){if(!(w instanceof h))throw new Error("ProjectivePoint expected")}let u=Pe((w,p)=>{let{px:v,py:A,pz:m}=w;if(e.eql(m,e.ONE))return{x:v,y:A};let S=w.is0();p==null&&(p=S?e.ONE:e.inv(m));let U=e.mul(v,p),L=e.mul(A,p),I=e.mul(m,p);if(S)return{x:e.ZERO,y:e.ZERO};if(!e.eql(I,e.ONE))throw new Error("invZ was invalid");return{x:U,y:L}}),l=Pe(w=>{if(w.is0()){if(t.allowInfinityPoint&&!e.is0(w.py))return;throw new Error("bad point: ZERO")}let{x:p,y:v}=w.toAffine();if(!e.isValid(p)||!e.isValid(v))throw new Error("bad point: x or y not FE");let A=e.sqr(v),m=o(p);if(!e.eql(A,m))throw new Error("bad point: equation left != right");if(!w.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});class h{constructor(p,v,A){if(this.px=p,this.py=v,this.pz=A,p==null||!e.isValid(p))throw new Error("x required");if(v==null||!e.isValid(v))throw new Error("y required");if(A==null||!e.isValid(A))throw new Error("z required");Object.freeze(this)}static fromAffine(p){let{x:v,y:A}=p||{};if(!p||!e.isValid(v)||!e.isValid(A))throw new Error("invalid affine point");if(p instanceof h)throw new Error("projective point not allowed");let m=S=>e.eql(S,e.ZERO);return m(v)&&m(A)?h.ZERO:new h(v,A,e.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(p){let v=e.invertBatch(p.map(A=>A.pz));return p.map((A,m)=>A.toAffine(v[m])).map(h.fromAffine)}static fromHex(p){let v=h.fromAffine(i(Q("pointHex",p)));return v.assertValidity(),v}static fromPrivateKey(p){return h.BASE.multiply(c(p))}static msm(p,v){return yn(h,n,p,v)}_setWindowSize(p){b.setWindowSize(this,p)}assertValidity(){l(this)}hasEvenY(){let{y:p}=this.toAffine();if(e.isOdd)return!e.isOdd(p);throw new Error("Field doesn't support isOdd")}equals(p){f(p);let{px:v,py:A,pz:m}=this,{px:S,py:U,pz:L}=p,I=e.eql(e.mul(v,L),e.mul(S,m)),N=e.eql(e.mul(A,L),e.mul(U,m));return I&&N}negate(){return new h(this.px,e.neg(this.py),this.pz)}double(){let{a:p,b:v}=t,A=e.mul(v,sl),{px:m,py:S,pz:U}=this,L=e.ZERO,I=e.ZERO,N=e.ZERO,T=e.mul(m,m),j=e.mul(S,S),F=e.mul(U,U),P=e.mul(m,S);return P=e.add(P,P),N=e.mul(m,U),N=e.add(N,N),L=e.mul(p,N),I=e.mul(A,F),I=e.add(L,I),L=e.sub(j,I),I=e.add(j,I),I=e.mul(L,I),L=e.mul(P,L),N=e.mul(A,N),F=e.mul(p,F),P=e.sub(T,F),P=e.mul(p,P),P=e.add(P,N),N=e.add(T,T),T=e.add(N,T),T=e.add(T,F),T=e.mul(T,P),I=e.add(I,T),F=e.mul(S,U),F=e.add(F,F),T=e.mul(F,P),L=e.sub(L,T),N=e.mul(F,j),N=e.add(N,N),N=e.add(N,N),new h(L,I,N)}add(p){f(p);let{px:v,py:A,pz:m}=this,{px:S,py:U,pz:L}=p,I=e.ZERO,N=e.ZERO,T=e.ZERO,j=t.a,F=e.mul(t.b,sl),P=e.mul(v,S),nt=e.mul(A,U),E=e.mul(m,L),C=e.add(v,A),y=e.add(S,U);C=e.mul(C,y),y=e.add(P,nt),C=e.sub(C,y),y=e.add(v,m);let g=e.add(S,L);return y=e.mul(y,g),g=e.add(P,E),y=e.sub(y,g),g=e.add(A,m),I=e.add(U,L),g=e.mul(g,I),I=e.add(nt,E),g=e.sub(g,I),T=e.mul(j,y),I=e.mul(F,E),T=e.add(I,T),I=e.sub(nt,T),T=e.add(nt,T),N=e.mul(I,T),nt=e.add(P,P),nt=e.add(nt,P),E=e.mul(j,E),y=e.mul(F,y),nt=e.add(nt,E),E=e.sub(P,E),E=e.mul(j,E),y=e.add(y,E),P=e.mul(nt,y),N=e.add(N,P),P=e.mul(g,y),I=e.mul(C,I),I=e.sub(I,P),P=e.mul(C,nt),T=e.mul(g,T),T=e.add(T,P),new h(I,N,T)}subtract(p){return this.add(p.negate())}is0(){return this.equals(h.ZERO)}wNAF(p){return b.wNAFCached(this,p,h.normalizeZ)}multiplyUnsafe(p){let{endo:v,n:A}=t;It("scalar",p,fe,A);let m=h.ZERO;if(p===fe)return m;if(this.is0()||p===ut)return this;if(!v||b.hasPrecomputes(this))return b.wNAFCachedUnsafe(this,p,h.normalizeZ);let{k1neg:S,k1:U,k2neg:L,k2:I}=v.splitScalar(p),N=m,T=m,j=this;for(;U>fe||I>fe;)U&ut&&(N=N.add(j)),I&ut&&(T=T.add(j)),j=j.double(),U>>=ut,I>>=ut;return S&&(N=N.negate()),L&&(T=T.negate()),T=new h(e.mul(T.px,v.beta),T.py,T.pz),N.add(T)}multiply(p){let{endo:v,n:A}=t;It("scalar",p,ut,A);let m,S;if(v){let{k1neg:U,k1:L,k2neg:I,k2:N}=v.splitScalar(p),{p:T,f:j}=this.wNAF(L),{p:F,f:P}=this.wNAF(N);T=b.constTimeNegate(U,T),F=b.constTimeNegate(I,F),F=new h(e.mul(F.px,v.beta),F.py,F.pz),m=T.add(F),S=j.add(P)}else{let{p:U,f:L}=this.wNAF(p);m=U,S=L}return h.normalizeZ([m,S])[0]}multiplyAndAddUnsafe(p,v,A){let m=h.BASE,S=(L,I)=>I===fe||I===ut||!L.equals(m)?L.multiplyUnsafe(I):L.multiply(I),U=S(this,v).add(S(p,A));return U.is0()?void 0:U}toAffine(p){return u(this,p)}isTorsionFree(){let{h:p,isTorsionFree:v}=t;if(p===ut)return!0;if(v)return v(h,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:p,clearCofactor:v}=t;return p===ut?this:v?v(h,this):this.multiplyUnsafe(t.h)}toRawBytes(p=!0){return Pt("isCompressed",p),this.assertValidity(),s(h,this,p)}toHex(p=!0){return Pt("isCompressed",p),ee(this.toRawBytes(p))}}h.BASE=new h(t.Gx,t.Gy,e.ONE),h.ZERO=new h(e.ZERO,e.ONE,e.ZERO);let d=t.nBitLength,b=mn(h,t.endo?Math.ceil(d/2):d);return{CURVE:t,ProjectivePoint:h,normPrivateKeyToScalar:c,weierstrassEquation:o,isWithinCurveOrder:a}}function od(r){let t=Ir(r);return zt(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}function il(r){let t=od(r),{Fp:e,n}=t,s=e.BYTES+1,i=2*e.BYTES+1;function o(E){return $(E,n)}function a(E){return pn(E,n)}let{ProjectivePoint:c,normPrivateKeyToScalar:f,weierstrassEquation:u,isWithinCurveOrder:l}=id({...t,toBytes(E,C,y){let g=C.toAffine(),x=e.toBytes(g.x),k=ne;return Pt("isCompressed",y),y?k(Uint8Array.from([C.hasEvenY()?2:3]),x):k(Uint8Array.from([4]),x,e.toBytes(g.y))},fromBytes(E){let C=E.length,y=E[0],g=E.subarray(1);if(C===s&&(y===2||y===3)){let x=re(g);if(!kr(x,ut,e.ORDER))throw new Error("Point is not on curve");let k=u(x),R;try{R=e.sqrt(k)}catch(H){let V=H instanceof Error?": "+H.message:"";throw new Error("Point is not on curve"+V)}let _=(R&ut)===ut;return(y&1)===1!==_&&(R=e.neg(R)),{x,y:R}}else if(C===i&&y===4){let x=e.fromBytes(g.subarray(0,e.BYTES)),k=e.fromBytes(g.subarray(e.BYTES,2*e.BYTES));return{x,y:k}}else{let x=s,k=i;throw new Error("invalid Point, expected length of "+x+", or uncompressed "+k+", got "+C)}}}),h=E=>ee(xe(E,t.nByteLength));function d(E){let C=n>>ut;return E>C}function b(E){return d(E)?o(-E):E}let w=(E,C,y)=>re(E.slice(C,y));class p{constructor(C,y,g){this.r=C,this.s=y,this.recovery=g,this.assertValidity()}static fromCompact(C){let y=t.nByteLength;return C=Q("compactSignature",C,y*2),new p(w(C,0,y),w(C,y,2*y))}static fromDER(C){let{r:y,s:g}=ue.toSig(Q("DER",C));return new p(y,g)}assertValidity(){It("r",this.r,ut,n),It("s",this.s,ut,n)}addRecoveryBit(C){return new p(this.r,this.s,C)}recoverPublicKey(C){let{r:y,s:g,recovery:x}=this,k=L(Q("msgHash",C));if(x==null||![0,1,2,3].includes(x))throw new Error("recovery id invalid");let R=x===2||x===3?y+t.n:y;if(R>=e.ORDER)throw new Error("recovery id 2 or 3 invalid");let _=x&1?"03":"02",D=c.fromHex(_+h(R)),H=a(R),V=o(-k*H),z=o(g*H),W=c.BASE.multiplyAndAddUnsafe(D,V,z);if(!W)throw new Error("point at infinify");return W.assertValidity(),W}hasHighS(){return d(this.s)}normalizeS(){return this.hasHighS()?new p(this.r,o(-this.s),this.recovery):this}toDERRawBytes(){return Oe(this.toDERHex())}toDERHex(){return ue.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return Oe(this.toCompactHex())}toCompactHex(){return h(this.r)+h(this.s)}}let v={isValidPrivateKey(E){try{return f(E),!0}catch{return!1}},normPrivateKeyToScalar:f,randomPrivateKey:()=>{let E=li(t.n);return La(t.randomBytes(E),t.n)},precompute(E=8,C=c.BASE){return C._setWindowSize(E),C.multiply(BigInt(3)),C}};function A(E,C=!0){return c.fromPrivateKey(E).toRawBytes(C)}function m(E){let C=be(E),y=typeof E=="string",g=(C||y)&&E.length;return C?g===s||g===i:y?g===2*s||g===2*i:E instanceof c}function S(E,C,y=!0){if(m(E))throw new Error("first arg must be private key");if(!m(C))throw new Error("second arg must be public key");return c.fromHex(C).multiply(f(E)).toRawBytes(y)}let U=t.bits2int||function(E){if(E.length>8192)throw new Error("input is too large");let C=re(E),y=E.length*8-t.nBitLength;return y>0?C>>BigInt(y):C},L=t.bits2int_modN||function(E){return o(U(E))},I=Sr(t.nBitLength);function N(E){return It("num < 2^"+t.nBitLength,E,fe,I),xe(E,t.nByteLength)}function T(E,C,y=j){if(["recovered","canonical"].some(ct=>ct in y))throw new Error("sign() legacy options not supported");let{hash:g,randomBytes:x}=t,{lowS:k,prehash:R,extraEntropy:_}=y;k==null&&(k=!0),E=Q("msgHash",E),nl(y),R&&(E=Q("prehashed msgHash",g(E)));let D=L(E),H=f(C),V=[N(H),N(D)];if(_!=null&&_!==!1){let ct=_===!0?x(e.BYTES):_;V.push(Q("extraEntropy",ct))}let z=ne(...V),W=D;function at(ct){let ft=U(ct);if(!l(ft))return;let pt=a(ft),St=c.BASE.multiply(ft).toAffine(),wt=o(St.x);if(wt===fe)return;let qt=o(pt*o(W+wt*H));if(qt===fe)return;let Jt=(St.x===wt?0:2)|Number(St.y&ut),wr=qt;return k&&d(qt)&&(wr=b(qt),Jt^=1),new p(wt,wr,Jt)}return{seed:z,k2sig:at}}let j={lowS:t.lowS,prehash:!1},F={lowS:t.lowS,prehash:!1};function P(E,C,y=j){let{seed:g,k2sig:x}=T(E,C,y),k=t;return ii(k.hash.outputLen,k.nByteLength,k.hmac)(g,x)}c.BASE._setWindowSize(8);function nt(E,C,y,g=F){let x=E;C=Q("msgHash",C),y=Q("publicKey",y);let{lowS:k,prehash:R,format:_}=g;if(nl(g),"strict"in g)throw new Error("options.strict was renamed to lowS");if(_!==void 0&&_!=="compact"&&_!=="der")throw new Error("format must be compact or der");let D=typeof x=="string"||be(x),H=!D&&!_&&typeof x=="object"&&x!==null&&typeof x.r=="bigint"&&typeof x.s=="bigint";if(!D&&!H)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");let V,z;try{if(H&&(V=new p(x.r,x.s)),D){try{_!=="compact"&&(V=p.fromDER(x))}catch(Jt){if(!(Jt instanceof ue.Err))throw Jt}!V&&_!=="der"&&(V=p.fromCompact(x))}z=c.fromHex(y)}catch{return!1}if(!V||k&&V.hasHighS())return!1;R&&(C=t.hash(C));let{r:W,s:at}=V,ct=L(C),ft=a(at),pt=o(ct*ft),St=o(W*ft),wt=c.BASE.multiplyAndAddUnsafe(z,pt,St)?.toAffine();return wt?o(wt.x)===W:!1}return{CURVE:t,getPublicKey:A,getSharedSecret:S,sign:P,verify:nt,ProjectivePoint:c,Signature:p,utils:v}}function ad(r){return{hash:r,hmac:(t,...e)=>lo(r,t,Xs(...e)),randomBytes:ln}}function ol(r,t){let e=n=>il({...r,...ad(n)});return Object.freeze({...e(t),create:e})}var ll=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),al=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),cd=BigInt(1),uo=BigInt(2),cl=(r,t)=>(r+t/uo)/t;function ld(r){let t=ll,e=BigInt(3),n=BigInt(6),s=BigInt(11),i=BigInt(22),o=BigInt(23),a=BigInt(44),c=BigInt(88),f=r*r*r%t,u=f*f*r%t,l=J(u,e,t)*u%t,h=J(l,e,t)*u%t,d=J(h,uo,t)*f%t,b=J(d,s,t)*d%t,w=J(b,i,t)*b%t,p=J(w,a,t)*w%t,v=J(p,c,t)*p%t,A=J(v,a,t)*w%t,m=J(A,e,t)*u%t,S=J(m,o,t)*b%t,U=J(S,n,t)*f%t,L=J(U,uo,t);if(!fo.eql(fo.sqr(L),r))throw new Error("Cannot find square root");return L}var fo=ve(ll,void 0,void 0,{sqrt:ld}),$e=ol({a:BigInt(0),b:BigInt(7),Fp:fo,n:al,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:r=>{let t=al,e=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-cd*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),s=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),i=e,o=BigInt("0x100000000000000000000000000000000"),a=cl(i*r,t),c=cl(-n*r,t),f=$(r-a*e-c*s,t),u=$(-a*n-c*i,t),l=f>o,h=u>o;if(l&&(f=t-f),h&&(u=t-u),f>o||u>o)throw new Error("splitScalar: Endomorphism failed, k="+r);return{k1neg:l,k1:f,k2neg:h,k2:u}}}},rl),mm=BigInt(0);var ym=$e.ProjectivePoint;function Rt(r,t){t==null&&(t=r.reduce((s,i)=>s+i.length,0));let e=Ct(t),n=0;for(let s of r)e.set(s,n),n+=s.length;return e}function ul(r){return r==null?!1:typeof r.then=="function"&&typeof r.catch=="function"&&typeof r.finally=="function"}function fl(r,t,e){let n=Tr.digest(e instanceof Uint8Array?e:e.subarray());if(ul(n))return n.then(({digest:s})=>$e.verify(t,s,r)).catch(s=>{throw new Fr(String(s))});try{return $e.verify(t,n.digest,r)}catch(s){throw new Fr(String(s))}}var vs=class{type="secp256k1";raw;_key;constructor(t){this._key=dl(t),this.raw=hl(this._key)}toMultihash(){return Qt.digest($t(this))}toCID(){return st.createV1(114,this.toMultihash())}toString(){return X.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:lt(this.raw,t.raw)}verify(t,e){return fl(this._key,e,t)}};function ho(r){return new vs(r)}function hl(r){return $e.ProjectivePoint.fromHex(r).toRawBytes(!0)}function dl(r){try{return $e.ProjectivePoint.fromHex(r),r}catch(t){throw new Ze(String(t))}}function Es(r){let{Type:t,Data:e}=Wt.decode(r),n=e??new Uint8Array;switch(t){case ot.RSA:return ao(n);case ot.Ed25519:return mi(n);case ot.secp256k1:return ho(n);default:throw new Ue}}function pl(r){let{Type:t,Data:e}=Wt.decode(r.digest),n=e??new Uint8Array;switch(t){case ot.Ed25519:return mi(n);case ot.secp256k1:return ho(n);default:throw new Ue}}function $t(r){return Wt.encode({Type:ot[r.type],Data:r.raw})}var gl=Symbol.for("nodejs.util.inspect.custom"),ud=114,zr=class{type;multihash;publicKey;string;constructor(t){this.type=t.type,this.multihash=t.multihash,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[rn]=!0;toString(){return this.string==null&&(this.string=X.encode(this.multihash.bytes).slice(1)),this.string}toMultihash(){return this.multihash}toCID(){return st.createV1(ud,this.multihash)}toJSON(){return this.toString()}equals(t){if(t==null)return!1;if(t instanceof Uint8Array)return lt(this.multihash.bytes,t);if(typeof t=="string")return this.toString()===t;if(t?.toMultihash()?.bytes!=null)return lt(this.multihash.bytes,t.toMultihash().bytes);throw new Error("not valid Id")}[gl](){return`PeerId(${this.toString()})`}},$r=class extends zr{type="RSA";publicKey;constructor(t){super({...t,type:"RSA"}),this.publicKey=t.publicKey}},Gr=class extends zr{type="Ed25519";publicKey;constructor(t){super({...t,type:"Ed25519"}),this.publicKey=t.publicKey}},Wr=class extends zr{type="secp256k1";publicKey;constructor(t){super({...t,type:"secp256k1"}),this.publicKey=t.publicKey}},fd=2336,Zr=class{type="url";multihash;publicKey;url;constructor(t){this.url=t.toString(),this.multihash=Qt.digest(Z(this.url))}[gl](){return`PeerId(${this.url})`}[rn]=!0;toString(){return this.toCID().toString()}toMultihash(){return this.multihash}toCID(){return st.createV1(fd,this.toMultihash())}toJSON(){return this.toString()}equals(t){return t==null?!1:(t instanceof Uint8Array&&(t=tt(t)),t.toString()===this.toString())}};var hd=114,ml=2336;function yl(r){if(r.type==="Ed25519")return new Gr({multihash:r.toCID().multihash,publicKey:r});if(r.type==="secp256k1")return new Wr({multihash:r.toCID().multihash,publicKey:r});if(r.type==="RSA")return new $r({multihash:r.toCID().multihash,publicKey:r});throw new Ue}function po(r){if(pd(r))return new $r({multihash:r});if(dd(r))try{let t=pl(r);if(t.type==="Ed25519")return new Gr({multihash:r,publicKey:t});if(t.type==="secp256k1")return new Wr({multihash:r,publicKey:t})}catch{let e=tt(r.digest);return new Zr(new URL(e))}throw new sn("Supplied PeerID Multihash is invalid")}function Bs(r){if(r?.multihash==null||r.version==null||r.version===1&&r.code!==hd&&r.code!==ml)throw new nn("Supplied PeerID CID is invalid");if(r.code===ml){let t=tt(r.multihash.digest);return new Zr(new URL(t))}return po(r.multihash)}function dd(r){return r.code===Qt.code}function pd(r){return r.code===Tr.code}var wl=Symbol.for("@achingbrain/uint8arraylist");function bl(r,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let e=0;for(let n of r){let s=e+n.byteLength;if(t<s)return{buf:n,index:t-e};e=s}throw new RangeError("index is out of bounds")}function As(r){return!!r?.[wl]}var ks=class r{bufs;length;[wl]=!0;constructor(...t){this.bufs=[],this.length=0,t.length>0&&this.appendAll(t)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...t){this.appendAll(t)}appendAll(t){let e=0;for(let n of t)if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.push(n);else if(As(n))e+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}prepend(...t){this.prependAll(t)}prependAll(t){let e=0;for(let n of t.reverse())if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.unshift(n);else if(As(n))e+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}get(t){let e=bl(this.bufs,t);return e.buf[e.index]}set(t,e){let n=bl(this.bufs,t);n.buf[n.index]=e}write(t,e=0){if(t instanceof Uint8Array)for(let n=0;n<t.length;n++)this.set(e+n,t[n]);else if(As(t))for(let n=0;n<t.length;n++)this.set(e+n,t.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(t){if(t=Math.trunc(t),!(Number.isNaN(t)||t<=0)){if(t===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(t>=this.bufs[0].byteLength)t-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(t),this.length-=t;break}}}slice(t,e){let{bufs:n,length:s}=this._subList(t,e);return Rt(n,s)}subarray(t,e){let{bufs:n,length:s}=this._subList(t,e);return n.length===1?n[0]:Rt(n,s)}sublist(t,e){let{bufs:n,length:s}=this._subList(t,e),i=new r;return i.length=s,i.bufs=[...n],i}_subList(t,e){if(t=t??0,e=e??this.length,t<0&&(t=this.length+t),e<0&&(e=this.length+e),t<0||e>this.length)throw new RangeError("index is out of bounds");if(t===e)return{bufs:[],length:0};if(t===0&&e===this.length)return{bufs:this.bufs,length:this.length};let n=[],s=0;for(let i=0;i<this.bufs.length;i++){let o=this.bufs[i],a=s,c=a+o.byteLength;if(s=c,t>=c)continue;let f=t>=a&&t<c,u=e>a&&e<=c;if(f&&u){if(t===a&&e===c){n.push(o);break}let l=t-a;n.push(o.subarray(l,l+(e-t)));break}if(f){if(t===0){n.push(o);continue}n.push(o.subarray(t-a));continue}if(u){if(e===c){n.push(o);break}n.push(o.subarray(0,e-a));break}n.push(o)}return{bufs:n,length:e-t}}indexOf(t,e=0){if(!As(t)&&!(t instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=t instanceof Uint8Array?t:t.subarray();if(e=Number(e??0),isNaN(e)&&(e=0),e<0&&(e=this.length+e),e<0&&(e=0),t.length===0)return e>this.length?this.length:e;let s=n.byteLength;if(s===0)throw new TypeError("search must be at least 1 byte long");let i=256,o=new Int32Array(i);for(let l=0;l<i;l++)o[l]=-1;for(let l=0;l<s;l++)o[n[l]]=l;let a=o,c=this.byteLength-n.byteLength,f=n.byteLength-1,u;for(let l=e;l<=c;l+=u){u=0;for(let h=f;h>=0;h--){let d=this.get(l+h);if(n[h]!==d){u=Math.max(1,h-a[d]);break}}if(u===0)return l}return-1}getInt8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getInt8(0)}setInt8(t,e){let n=Ct(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,e),this.write(n,t)}getInt16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,e)}setInt16(t,e,n){let s=rt(2);new DataView(s.buffer,s.byteOffset,s.byteLength).setInt16(0,e,n),this.write(s,t)}getInt32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,e)}setInt32(t,e,n){let s=rt(4);new DataView(s.buffer,s.byteOffset,s.byteLength).setInt32(0,e,n),this.write(s,t)}getBigInt64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,e)}setBigInt64(t,e,n){let s=rt(8);new DataView(s.buffer,s.byteOffset,s.byteLength).setBigInt64(0,e,n),this.write(s,t)}getUint8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getUint8(0)}setUint8(t,e){let n=Ct(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,e),this.write(n,t)}getUint16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,e)}setUint16(t,e,n){let s=rt(2);new DataView(s.buffer,s.byteOffset,s.byteLength).setUint16(0,e,n),this.write(s,t)}getUint32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,e)}setUint32(t,e,n){let s=rt(4);new DataView(s.buffer,s.byteOffset,s.byteLength).setUint32(0,e,n),this.write(s,t)}getBigUint64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,e)}setBigUint64(t,e,n){let s=rt(8);new DataView(s.buffer,s.byteOffset,s.byteLength).setBigUint64(0,e,n),this.write(s,t)}getFloat32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,e)}setFloat32(t,e,n){let s=rt(4);new DataView(s.buffer,s.byteOffset,s.byteLength).setFloat32(0,e,n),this.write(s,t)}getFloat64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,e)}setFloat64(t,e,n){let s=rt(8);new DataView(s.buffer,s.byteOffset,s.byteLength).setFloat64(0,e,n),this.write(s,t)}equals(t){if(t==null||!(t instanceof r)||t.bufs.length!==this.bufs.length)return!1;for(let e=0;e<this.bufs.length;e++)if(!lt(this.bufs[e],t.bufs[e]))return!1;return!0}static fromUint8Arrays(t,e){let n=new r;return n.bufs=t,e==null&&(e=t.reduce((s,i)=>s+i.byteLength,0)),n.length=e,n}};var jr;(function(r){let t;r.codec=()=>(t==null&&(t=Bt((e,n,s={})=>{s.lengthDelimited!==!1&&n.fork(),e.publicKey!=null&&e.publicKey.byteLength>0&&(n.uint32(10),n.bytes(e.publicKey)),e.payloadType!=null&&e.payloadType.byteLength>0&&(n.uint32(18),n.bytes(e.payloadType)),e.payload!=null&&e.payload.byteLength>0&&(n.uint32(26),n.bytes(e.payload)),e.signature!=null&&e.signature.byteLength>0&&(n.uint32(42),n.bytes(e.signature)),s.lengthDelimited!==!1&&n.ldelim()},(e,n,s={})=>{let i={publicKey:rt(0),payloadType:rt(0),payload:rt(0),signature:rt(0)},o=n==null?e.len:e.pos+n;for(;e.pos<o;){let a=e.uint32();switch(a>>>3){case 1:{i.publicKey=e.bytes();break}case 2:{i.payloadType=e.bytes();break}case 3:{i.payload=e.bytes();break}case 5:{i.signature=e.bytes();break}default:{e.skipType(a&7);break}}}return i})),t),r.encode=e=>Et(e,r.codec()),r.decode=(e,n)=>vt(e,r.codec(),n)})(jr||(jr={}));var Ss=class extends Error{constructor(t="Invalid signature"){super(t),this.name="InvalidSignatureError"}};var fr=class r{static createFromProtobuf=async t=>{let e=jr.decode(t),n=Es(e.publicKey);return new r({publicKey:n,payloadType:e.payloadType,payload:e.payload,signature:e.signature})};static seal=async(t,e)=>{if(e==null)throw new Error("Missing private key");let n=t.domain,s=t.codec,i=t.marshal(),o=xl(n,s,i),a=await e.sign(o.subarray());return new r({publicKey:e.publicKey,payloadType:s,payload:i,signature:a})};static openAndCertify=async(t,e)=>{let n=await r.createFromProtobuf(t);if(!await n.validate(e))throw new Ss("Envelope signature is not valid for the given domain");return n};publicKey;payloadType;payload;signature;marshaled;constructor(t){let{publicKey:e,payloadType:n,payload:s,signature:i}=t;this.publicKey=e,this.payloadType=n,this.payload=s,this.signature=i}marshal(){return this.marshaled==null&&(this.marshaled=jr.encode({publicKey:$t(this.publicKey),payloadType:this.payloadType,payload:this.payload.subarray(),signature:this.signature})),this.marshaled}equals(t){return lt(this.marshal(),t.marshal())}async validate(t){let e=xl(t,this.payloadType,this.payload);return this.publicKey.verify(e.subarray(),this.signature)}},xl=(r,t,e)=>{let n=Z(r),s=Gt(n.byteLength),i=Gt(t.length),o=Gt(e.length);return new ks(s,n,i,t,o,e)};function vl(r,t){let e=(n,s)=>n.toString().localeCompare(s.toString());return r.length!==t.length?!1:(t.sort(e),r.sort(e).every((n,s)=>t[s].equals(n)))}var Is=class{index=0;input="";new(t){return this.index=0,this.input=t,this}readAtomically(t){let e=this.index,n=t();return n===void 0&&(this.index=e),n}parseWith(t){let e=t();if(this.index===this.input.length)return e}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(t){return this.readAtomically(()=>{let e=this.readChar();if(e===t)return e})}readSeparator(t,e,n){return this.readAtomically(()=>{if(!(e>0&&this.readGivenChar(t)===void 0))return n()})}readNumber(t,e,n,s){return this.readAtomically(()=>{let i=0,o=0,a=this.peekChar();if(a===void 0)return;let c=a==="0",f=2**(8*s)-1;for(;;){let u=this.readAtomically(()=>{let l=this.readChar();if(l===void 0)return;let h=Number.parseInt(l,t);if(!Number.isNaN(h))return h});if(u===void 0)break;if(i*=t,i+=u,i>f||(o+=1,e!==void 0&&o>e))return}if(o!==0)return!n&&c&&o>1?void 0:i})}readIPv4Addr(){return this.readAtomically(()=>{let t=new Uint8Array(4);for(let e=0;e<t.length;e++){let n=this.readSeparator(".",e,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;t[e]=n}return t})}readIPv6Addr(){let t=e=>{for(let n=0;n<e.length/2;n++){let s=n*2;if(n<e.length-3){let o=this.readSeparator(":",n,()=>this.readIPv4Addr());if(o!==void 0)return e[s]=o[0],e[s+1]=o[1],e[s+2]=o[2],e[s+3]=o[3],[s+4,!0]}let i=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(i===void 0)return[s,!1];e[s]=i>>8,e[s+1]=i&255}return[e.length,!1]};return this.readAtomically(()=>{let e=new Uint8Array(16),[n,s]=t(e);if(n===16)return e;if(s||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let i=new Uint8Array(14),o=16-(n+2),[a]=t(i.subarray(0,o));return e.set(i.subarray(0,a),16-a),e})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var El=45,gd=15,hr=new Is;function go(r){if(!(r.length>gd))return hr.new(r).parseWith(()=>hr.readIPv4Addr())}function mo(r){if(r.includes("%")&&(r=r.split("%")[0]),!(r.length>El))return hr.new(r).parseWith(()=>hr.readIPv6Addr())}function Ts(r){if(r.includes("%")&&(r=r.split("%")[0]),!(r.length>El))return hr.new(r).parseWith(()=>hr.readIPAddr())}var Zy=parseInt("0xFFFF",16),jy=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function kl(r){return!!go(r)}function Sl(r){return!!mo(r)}function Cs(r){return!!Ts(r)}var Il=kl,xd=Sl,yo=function(r){let t=0;if(r=r.toString().trim(),Il(r)){let e=new Uint8Array(t+4);return r.split(/\./g).forEach(n=>{e[t++]=parseInt(n,10)&255}),e}if(xd(r)){let e=r.split(":",8),n;for(n=0;n<e.length;n++){let i=Il(e[n]),o;i&&(o=yo(e[n]),e[n]=tt(o.slice(0,2),"base16")),o!=null&&++n<8&&e.splice(n,0,tt(o.slice(2,4),"base16"))}if(e[0]==="")for(;e.length<8;)e.unshift("0");else if(e[e.length-1]==="")for(;e.length<8;)e.push("0");else if(e.length<8){for(n=0;n<e.length&&e[n]!=="";n++);let i=[n,1];for(n=9-e.length;n>0;n--)i.push("0");e.splice.apply(e,i)}let s=new Uint8Array(t+16);for(n=0;n<e.length;n++){let i=parseInt(e[n],16);s[t++]=i>>8&255,s[t++]=i&255}return s}throw new Error("invalid ip address")},Tl=function(r,t=0,e){t=~~t,e=e??r.length-t;let n=new DataView(r.buffer);if(e===4){let s=[];for(let i=0;i<e;i++)s.push(r[t+i]);return s.join(".")}if(e===16){let s=[];for(let i=0;i<e;i+=2)s.push(n.getUint16(t+i).toString(16));return s.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var dr={},bo={},Ed=[[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"],[481,-1,"http-path"],[777,-1,"memory"]];Ed.forEach(r=>{let t=Bd(...r);bo[t.code]=t,dr[t.name]=t});function Bd(r,t,e,n,s){return{code:r,size:t,name:e,resolvable:!!n,path:!!s}}function G(r){if(typeof r=="number"){if(bo[r]!=null)return bo[r];throw new Error(`no protocol with code: ${r}`)}else if(typeof r=="string"){if(dr[r]!=null)return dr[r];throw new Error(`no protocol with name: ${r}`)}throw new Error(`invalid protocol id type: ${typeof r}`)}var Ub=G("ip4"),Rb=G("ip6"),_b=G("ipcidr");function Eo(r,t){switch(G(r).code){case 4:case 41:return kd(t);case 42:return vo(t);case 6:case 273:case 33:case 132:return Ll(t).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return vo(t);case 421:return Cd(t);case 444:return Nl(t);case 445:return Nl(t);case 466:return Td(t);case 481:return globalThis.encodeURIComponent(vo(t));default:return tt(t,"base16")}}function Bo(r,t){switch(G(r).code){case 4:return Cl(t);case 41:return Cl(t);case 42:return xo(t);case 6:case 273:case 33:case 132:return Ao(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return xo(t);case 421:return Sd(t);case 444:return Nd(t);case 445:return Ld(t);case 466:return Id(t);case 481:return xo(globalThis.decodeURIComponent(t));default:return Z(t,"base16")}}var wo=Object.values(Cr).map(r=>r.decoder),Ad=function(){let r=wo[0].or(wo[1]);return wo.slice(2).forEach(t=>r=r.or(t)),r}();function Cl(r){if(!Cs(r))throw new Error("invalid ip address");return yo(r)}function kd(r){let t=Tl(r,0,r.length);if(t==null)throw new Error("ipBuff is required");if(!Cs(t))throw new Error("invalid ip address");return t}function Ao(r){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,r),new Uint8Array(t)}function Ll(r){return new DataView(r.buffer).getUint16(r.byteOffset)}function xo(r){let t=Z(r),e=Uint8Array.from(Gt(t.length));return Rt([e,t],e.length+t.length)}function vo(r){let t=He(r);if(r=r.slice(Nt(t)),r.length!==t)throw new Error("inconsistent lengths");return tt(r)}function Sd(r){let t;r[0]==="Q"||r[0]==="1"?t=Re(X.decode(`z${r}`)).bytes:t=st.parse(r).multihash.bytes;let e=Uint8Array.from(Gt(t.length));return Rt([e,t],e.length+t.length)}function Id(r){let t=Ad.decode(r),e=Uint8Array.from(Gt(t.length));return Rt([e,t],e.length+t.length)}function Td(r){let t=He(r),e=r.slice(Nt(t));if(e.length!==t)throw new Error("inconsistent lengths");return"u"+tt(e,"base64url")}function Cd(r){let t=He(r),e=r.slice(Nt(t));if(e.length!==t)throw new Error("inconsistent lengths");return tt(e,"base58btc")}function Nd(r){let t=r.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==16)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion address.`);let e=Vt.decode("b"+t[0]),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let s=Ao(n);return Rt([e,s],e.length+s.length)}function Ld(r){let t=r.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==56)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion3 address.`);let e=Vt.decode(`b${t[0]}`),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let s=Ao(n);return Rt([e,s],e.length+s.length)}function Nl(r){let t=r.slice(0,r.length-2),e=r.slice(r.length-2),n=tt(t,"base32"),s=Ll(e);return`${n}:${s}`}function Ul(r){r=ko(r);let t=[],e=[],n=null,s=r.split("/").slice(1);if(s.length===1&&s[0]==="")return{bytes:new Uint8Array,string:"/",tuples:[],stringTuples:[],path:null};for(let i=0;i<s.length;i++){let o=s[i],a=G(o);if(a.size===0){t.push([a.code]),e.push([a.code]);continue}if(i++,i>=s.length)throw _l("invalid address: "+r);if(a.path===!0){n=ko(s.slice(i).join("/")),t.push([a.code,Bo(a.code,n)]),e.push([a.code,n]);break}let c=Bo(a.code,s[i]);t.push([a.code,c]),e.push([a.code,Eo(a.code,c)])}return{string:Rl(e),bytes:Io(t),tuples:t,stringTuples:e,path:n}}function So(r){let t=[],e=[],n=null,s=0;for(;s<r.length;){let i=He(r,s),o=Nt(i),a=G(i),c=Ud(a,r.slice(s+o));if(c===0){t.push([i]),e.push([i]),s+=o;continue}let f=r.slice(s+o,s+o+c);if(s+=c+o,s>r.length)throw _l("Invalid address Uint8Array: "+tt(r,"base16"));t.push([i,f]);let u=Eo(i,f);if(e.push([i,u]),a.path===!0){n=u;break}}return{bytes:Uint8Array.from(r),string:Rl(e),tuples:t,stringTuples:e,path:n}}function Rl(r){let t=[];return r.map(e=>{let n=G(e[0]);return t.push(n.name),e.length>1&&e[1]!=null&&t.push(e[1]),null}),ko(t.join("/"))}function Io(r){return Rt(r.map(t=>{let e=G(t[0]),n=Uint8Array.from(Gt(e.code));return t.length>1&&t[1]!=null&&(n=Rt([n,t[1]])),n}))}function Ud(r,t){if(r.size>0)return r.size/8;if(r.size===0)return 0;{let e=He(t instanceof Uint8Array?t:Uint8Array.from(t));return e+Nt(e)}}function ko(r){return"/"+r.trim().split("/").filter(t=>t).join("/")}function _l(r){return new Error("Error parsing address: "+r)}var Rd=Symbol.for("nodejs.util.inspect.custom"),Co=Symbol.for("@multiformats/js-multiaddr/multiaddr"),_d=[G("dns").code,G("dns4").code,G("dns6").code,G("dnsaddr").code],To=class extends Error{constructor(t="No available resolver"){super(t),this.name="NoAvailableResolverError"}},Ns=class r{bytes;#t;#e;#i;#a;[Co]=!0;constructor(t){t==null&&(t="");let e;if(t instanceof Uint8Array)e=So(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);e=Ul(t)}else if(Ls(t))e=So(t.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=e.bytes,this.#t=e.string,this.#e=e.tuples,this.#i=e.stringTuples,this.#a=e.path}toString(){return this.#t}toJSON(){return this.toString()}toOptions(){let t,e,n,s,i="",o=G("tcp"),a=G("udp"),c=G("ip4"),f=G("ip6"),u=G("dns6"),l=G("ip6zone");for(let[d,b]of this.stringTuples())d===l.code&&(i=`%${b??""}`),_d.includes(d)&&(e=o.name,s=443,n=`${b??""}${i}`,t=d===u.code?6:4),(d===o.code||d===a.code)&&(e=G(d).name,s=parseInt(b??"")),(d===c.code||d===f.code)&&(e=G(d).name,n=`${b??""}${i}`,t=d===f.code?6:4);if(t==null||e==null||n==null||s==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:t,host:n,transport:e,port:s}}protos(){return this.#e.map(([t])=>Object.assign({},G(t)))}protoCodes(){return this.#e.map(([t])=>t)}protoNames(){return this.#e.map(([t])=>G(t).name)}tuples(){return this.#e.map(([t,e])=>e==null?[t]:[t,e])}stringTuples(){return this.#i.map(([t,e])=>e==null?[t]:[t,e])}encapsulate(t){return t=new r(t),new r(this.toString()+t.toString())}decapsulate(t){let e=t.toString(),n=this.toString(),s=n.lastIndexOf(e);if(s<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${t.toString()}`);return new r(n.slice(0,s))}decapsulateCode(t){let e=this.tuples();for(let n=e.length-1;n>=0;n--)if(e[n][0]===t)return new r(Io(e.slice(0,n)));return this}getPeerId(){try{let t=[];this.stringTuples().forEach(([n,s])=>{n===dr.p2p.code&&t.push([n,s]),n===dr["p2p-circuit"].code&&(t=[])});let e=t.pop();if(e?.[1]!=null){let n=e[1];return n[0]==="Q"||n[0]==="1"?tt(X.decode(`z${n}`),"base58btc"):tt(st.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#a}equals(t){return lt(this.bytes,t.bytes)}async resolve(t){let e=this.protos().find(i=>i.resolvable);if(e==null)return[this];let n=Vl.get(e.name);if(n==null)throw new To(`no available resolver for ${e.name}`);return(await n(this,t)).map(i=>he(i))}nodeAddress(){let t=this.toOptions();if(t.transport!=="tcp"&&t.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${t.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:t.family,address:t.host,port:t.port}}isThinWaistAddress(t){let e=(t??this).protos();return!(e.length!==2||e[0].code!==4&&e[0].code!==41||e[1].code!==6&&e[1].code!==273)}[Rd](){return`Multiaddr(${this.#t})`}};var Vl=new Map;function Ls(r){return!!r?.[Co]}function he(r){return new Ns(r)}var Ol="libp2p-peer-record",Dl=Uint8Array.from([3,1]);var Yr;(function(r){let t;(function(n){let s;n.codec=()=>(s==null&&(s=Bt((i,o,a={})=>{a.lengthDelimited!==!1&&o.fork(),i.multiaddr!=null&&i.multiaddr.byteLength>0&&(o.uint32(10),o.bytes(i.multiaddr)),a.lengthDelimited!==!1&&o.ldelim()},(i,o,a={})=>{let c={multiaddr:rt(0)},f=o==null?i.len:i.pos+o;for(;i.pos<f;){let u=i.uint32();switch(u>>>3){case 1:{c.multiaddr=i.bytes();break}default:{i.skipType(u&7);break}}}return c})),s),n.encode=i=>Et(i,n.codec()),n.decode=(i,o)=>vt(i,n.codec(),o)})(t=r.AddressInfo||(r.AddressInfo={}));let e;r.codec=()=>(e==null&&(e=Bt((n,s,i={})=>{if(i.lengthDelimited!==!1&&s.fork(),n.peerId!=null&&n.peerId.byteLength>0&&(s.uint32(10),s.bytes(n.peerId)),n.seq!=null&&n.seq!==0n&&(s.uint32(16),s.uint64(n.seq)),n.addresses!=null)for(let o of n.addresses)s.uint32(26),r.AddressInfo.codec().encode(o,s);i.lengthDelimited!==!1&&s.ldelim()},(n,s,i={})=>{let o={peerId:rt(0),seq:0n,addresses:[]},a=s==null?n.len:n.pos+s;for(;n.pos<a;){let c=n.uint32();switch(c>>>3){case 1:{o.peerId=n.bytes();break}case 2:{o.seq=n.uint64();break}case 3:{if(i.limits?.addresses!=null&&o.addresses.length===i.limits.addresses)throw new qe('Decode error - map field "addresses" had too many elements');o.addresses.push(r.AddressInfo.codec().decode(n,n.uint32(),{limits:i.limits?.addresses$}));break}default:{n.skipType(c&7);break}}}return o})),e),r.encode=n=>Et(n,r.codec()),r.decode=(n,s)=>vt(n,r.codec(),s)})(Yr||(Yr={}));var Ge=class r{static createFromProtobuf=t=>{let e=Yr.decode(t),n=po(Re(e.peerId)),s=(e.addresses??[]).map(o=>he(o.multiaddr)),i=e.seq;return new r({peerId:n,multiaddrs:s,seqNumber:i})};static DOMAIN=Ol;static CODEC=Dl;peerId;multiaddrs;seqNumber;domain=r.DOMAIN;codec=r.CODEC;marshaled;constructor(t){let{peerId:e,multiaddrs:n,seqNumber:s}=t;this.peerId=e,this.multiaddrs=n??[],this.seqNumber=s??BigInt(Date.now())}marshal(){return this.marshaled==null&&(this.marshaled=Yr.encode({peerId:this.peerId.toMultihash().bytes,seq:BigInt(this.seqNumber),addresses:this.multiaddrs.map(t=>({multiaddr:t.bytes}))})),this.marshaled}equals(t){return!(!(t instanceof r)||!this.peerId.equals(t.peerId)||this.seqNumber!==t.seqNumber||!vl(this.multiaddrs,t.multiaddrs))}};function Vd(r){return r[Symbol.asyncIterator]!=null}function Od(r){if(Vd(r))return(async()=>{let e=[];for await(let n of r)e.push(n);return e})();let t=[];for(let e of r)t.push(e);return t}var Pl=Od;var Lo=ta(Hl(),1);var Xr=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},Uo=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t}},Fl=r=>globalThis.DOMException===void 0?new Uo(r):new DOMException(r),Kl=r=>{let t=r.reason===void 0?Fl("This operation was aborted."):r.reason;return t instanceof Error?t:Fl(t)};function Qr(r,t){let{milliseconds:e,fallback:n,message:s,customTimers:i={setTimeout,clearTimeout}}=t,o,c=new Promise((f,u)=>{if(typeof e!="number"||Math.sign(e)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${e}\``);if(t.signal){let{signal:h}=t;h.aborted&&u(Kl(h));let d=()=>{u(Kl(h))};h.addEventListener("abort",d,{once:!0}),r.finally(()=>{h.removeEventListener("abort",d)})}if(e===Number.POSITIVE_INFINITY){r.then(f,u);return}let l=new Xr;o=i.setTimeout.call(void 0,()=>{if(n){try{f(n())}catch(h){u(h)}return}typeof r.cancel=="function"&&r.cancel(),s===!1?f():s instanceof Error?u(s):(l.message=s??`Promise timed out after ${e} milliseconds`,u(l))},e),(async()=>{try{f(await r)}catch(h){u(h)}})()}).finally(()=>{c.clear()});return c.clear=()=>{i.clearTimeout.call(void 0,o),o=void 0},c}function Ro(r,t,e){let n=0,s=r.length;for(;s>0;){let i=Math.trunc(s/2),o=n+i;e(r[o],t)<=0?(n=++o,s-=i+1):s=i}return n}var tn=class{#t=[];enqueue(t,e){e={priority:0,...e};let n={priority:e.priority,run:t};if(this.size&&this.#t[this.size-1].priority>=e.priority){this.#t.push(n);return}let s=Ro(this.#t,n,(i,o)=>o.priority-i.priority);this.#t.splice(s,0,n)}dequeue(){return this.#t.shift()?.run}filter(t){return this.#t.filter(e=>e.priority===t.priority).map(e=>e.run)}get size(){return this.#t.length}};var pr=class extends Lo.default{#t;#e;#i=0;#a;#c;#p=0;#n;#l;#r;#g;#s=0;#u;#o;#m;timeout;constructor(t){if(super(),t={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:tn,...t},!(typeof t.intervalCap=="number"&&t.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${t.intervalCap?.toString()??""}\` (${typeof t.intervalCap})`);if(t.interval===void 0||!(Number.isFinite(t.interval)&&t.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${t.interval?.toString()??""}\` (${typeof t.interval})`);this.#t=t.carryoverConcurrencyCount,this.#e=t.intervalCap===Number.POSITIVE_INFINITY||t.interval===0,this.#a=t.intervalCap,this.#c=t.interval,this.#r=new t.queueClass,this.#g=t.queueClass,this.concurrency=t.concurrency,this.timeout=t.timeout,this.#m=t.throwOnTimeout===!0,this.#o=t.autoStart===!1}get#w(){return this.#e||this.#i<this.#a}get#x(){return this.#s<this.#u}#v(){this.#s--,this.#f(),this.emit("next")}#E(){this.#b(),this.#y(),this.#l=void 0}get#B(){let t=Date.now();if(this.#n===void 0){let e=this.#p-t;if(e<0)this.#i=this.#t?this.#s:0;else return this.#l===void 0&&(this.#l=setTimeout(()=>{this.#E()},e)),!0}return!1}#f(){if(this.#r.size===0)return this.#n&&clearInterval(this.#n),this.#n=void 0,this.emit("empty"),this.#s===0&&this.emit("idle"),!1;if(!this.#o){let t=!this.#B;if(this.#w&&this.#x){let e=this.#r.dequeue();return e?(this.emit("active"),e(),t&&this.#y(),!0):!1}}return!1}#y(){this.#e||this.#n!==void 0||(this.#n=setInterval(()=>{this.#b()},this.#c),this.#p=Date.now()+this.#c)}#b(){this.#i===0&&this.#s===0&&this.#n&&(clearInterval(this.#n),this.#n=void 0),this.#i=this.#t?this.#s:0,this.#h()}#h(){for(;this.#f(););}get concurrency(){return this.#u}set concurrency(t){if(!(typeof t=="number"&&t>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${t}\` (${typeof t})`);this.#u=t,this.#h()}async#A(t){return new Promise((e,n)=>{t.addEventListener("abort",()=>{n(t.reason)},{once:!0})})}async add(t,e={}){return e={timeout:this.timeout,throwOnTimeout:this.#m,...e},new Promise((n,s)=>{this.#r.enqueue(async()=>{this.#s++,this.#i++;try{e.signal?.throwIfAborted();let i=t({signal:e.signal});e.timeout&&(i=Qr(Promise.resolve(i),{milliseconds:e.timeout})),e.signal&&(i=Promise.race([i,this.#A(e.signal)]));let o=await i;n(o),this.emit("completed",o)}catch(i){if(i instanceof Xr&&!e.throwOnTimeout){n();return}s(i),this.emit("error",i)}finally{this.#v()}},e),this.emit("add"),this.#f()})}async addAll(t,e){return Promise.all(t.map(async n=>this.add(n,e)))}start(){return this.#o?(this.#o=!1,this.#h(),this):this}pause(){this.#o=!0}clear(){this.#r=new this.#g}async onEmpty(){this.#r.size!==0&&await this.#d("empty")}async onSizeLessThan(t){this.#r.size<t||await this.#d("next",()=>this.#r.size<t)}async onIdle(){this.#s===0&&this.#r.size===0||await this.#d("idle")}async#d(t,e){return new Promise(n=>{let s=()=>{e&&!e()||(this.off(t,s),n())};this.on(t,s)})}get size(){return this.#r.size}sizeBy(t){return this.#r.filter(t).length}get pending(){return this.#s}get isPaused(){return this.#o}};var Ne={},gr=r=>{r.addEventListener("message",t=>{gr.dispatchEvent("message",r,t)}),r.port!=null&&r.port.addEventListener("message",t=>{gr.dispatchEvent("message",r,t)})};gr.addEventListener=(r,t)=>{Ne[r]==null&&(Ne[r]=[]),Ne[r].push(t)};gr.removeEventListener=(r,t)=>{Ne[r]!=null&&(Ne[r]=Ne[r].filter(e=>e===t))};gr.dispatchEvent=function(r,t,e){Ne[r]!=null&&Ne[r].forEach(n=>n(t,e))};var _o=gr;var Vo="lock:worker:request-read",Oo="lock:worker:release-read",Do="lock:master:grant-read",Po="lock:worker:request-write",Mo="lock:worker:release-write",Ho="lock:master:grant-write";var ql=(r=21)=>Math.random().toString().substring(2);var zl=(r,t,e,n,s)=>(i,o)=>{if(o.data.type!==e)return;let a={type:o.data.type,name:o.data.name,identifier:o.data.identifier};r.dispatchEvent(new MessageEvent(t,{data:{name:a.name,handler:async()=>{i.postMessage({type:s,name:a.name,identifier:a.identifier}),await new Promise(c=>{let f=u=>{if(u?.data==null)return;let l={type:u.data.type,name:u.data.name,identifier:u.data.identifier};l.type===n&&l.identifier===a.identifier&&(i.removeEventListener("message",f),c())};i.addEventListener("message",f)})}}}))},$l=(r,t,e,n)=>async()=>{let s=ql();return globalThis.postMessage({type:t,identifier:s,name:r}),new Promise(i=>{let o=a=>{if(a?.data==null)return;let c={type:a.data.type,identifier:a.data.identifier};c.type===e&&c.identifier===s&&(globalThis.removeEventListener("message",o),i(()=>{globalThis.postMessage({type:n,identifier:s,name:r})}))};globalThis.addEventListener("message",o)})},Md={singleProcess:!1},Gl=r=>{if(r=Object.assign({},Md,r),!!globalThis.document||r.singleProcess){let e=new EventTarget;return _o.addEventListener("message",zl(e,"requestReadLock",Vo,Oo,Do)),_o.addEventListener("message",zl(e,"requestWriteLock",Po,Mo,Ho)),e}return{isWorker:!0,readLock:e=>$l(e,Vo,Do,Oo),writeLock:e=>$l(e,Po,Ho,Mo)}};var We={},Le;async function Fo(r,t){let e,n=new Promise(s=>{e=s});return r.add(async()=>Qr((async()=>{await new Promise(s=>{e(()=>{s()})})})(),{milliseconds:t.timeout})),n}var Hd=(r,t)=>{if(Le.isWorker===!0)return{readLock:Le.readLock(r,t),writeLock:Le.writeLock(r,t)};let e=new pr({concurrency:1}),n;return{async readLock(){if(n!=null)return Fo(n,t);n=new pr({concurrency:t.concurrency,autoStart:!1});let s=n,i=Fo(n,t);return e.add(async()=>{s.start(),await s.onIdle().then(()=>{n===s&&(n=null)})}),i},async writeLock(){return n=null,Fo(e,t)}}},Fd={name:"lock",concurrency:1/0,timeout:846e5,singleProcess:!1};function Ko(r){let t=Object.assign({},Fd,r);return Le==null&&(Le=Gl(t),Le.isWorker!==!0&&(Le.addEventListener("requestReadLock",e=>{We[e.data.name]!=null&&We[e.data.name].readLock().then(async n=>e.data.handler().finally(()=>{n()}))}),Le.addEventListener("requestWriteLock",async e=>{We[e.data.name]!=null&&We[e.data.name].writeLock().then(async n=>e.data.handler().finally(()=>{n()}))}))),We[t.name]==null&&(We[t.name]=Hd(t.name,t)),We[t.name]}var mr;(function(r){let t;(function(s){let i;s.codec=()=>(i==null&&(i=Bt((o,a,c={})=>{c.lengthDelimited!==!1&&a.fork(),o.key!=null&&o.key!==""&&(a.uint32(10),a.string(o.key)),o.value!=null&&o.value.byteLength>0&&(a.uint32(18),a.bytes(o.value)),c.lengthDelimited!==!1&&a.ldelim()},(o,a,c={})=>{let f={key:"",value:rt(0)},u=a==null?o.len:o.pos+a;for(;o.pos<u;){let l=o.uint32();switch(l>>>3){case 1:{f.key=o.string();break}case 2:{f.value=o.bytes();break}default:{o.skipType(l&7);break}}}return f})),i),s.encode=o=>Et(o,s.codec()),s.decode=(o,a)=>vt(o,s.codec(),a)})(t=r.Peer$metadataEntry||(r.Peer$metadataEntry={}));let e;(function(s){let i;s.codec=()=>(i==null&&(i=Bt((o,a,c={})=>{c.lengthDelimited!==!1&&a.fork(),o.key!=null&&o.key!==""&&(a.uint32(10),a.string(o.key)),o.value!=null&&(a.uint32(18),_s.codec().encode(o.value,a)),c.lengthDelimited!==!1&&a.ldelim()},(o,a,c={})=>{let f={key:""},u=a==null?o.len:o.pos+a;for(;o.pos<u;){let l=o.uint32();switch(l>>>3){case 1:{f.key=o.string();break}case 2:{f.value=_s.codec().decode(o,o.uint32(),{limits:c.limits?.value});break}default:{o.skipType(l&7);break}}}return f})),i),s.encode=o=>Et(o,s.codec()),s.decode=(o,a)=>vt(o,s.codec(),a)})(e=r.Peer$tagsEntry||(r.Peer$tagsEntry={}));let n;r.codec=()=>(n==null&&(n=Bt((s,i,o={})=>{if(o.lengthDelimited!==!1&&i.fork(),s.addresses!=null)for(let a of s.addresses)i.uint32(10),Rs.codec().encode(a,i);if(s.protocols!=null)for(let a of s.protocols)i.uint32(18),i.string(a);if(s.publicKey!=null&&(i.uint32(34),i.bytes(s.publicKey)),s.peerRecordEnvelope!=null&&(i.uint32(42),i.bytes(s.peerRecordEnvelope)),s.metadata!=null&&s.metadata.size!==0)for(let[a,c]of s.metadata.entries())i.uint32(50),r.Peer$metadataEntry.codec().encode({key:a,value:c},i);if(s.tags!=null&&s.tags.size!==0)for(let[a,c]of s.tags.entries())i.uint32(58),r.Peer$tagsEntry.codec().encode({key:a,value:c},i);o.lengthDelimited!==!1&&i.ldelim()},(s,i,o={})=>{let a={addresses:[],protocols:[],metadata:new Map,tags:new Map},c=i==null?s.len:s.pos+i;for(;s.pos<c;){let f=s.uint32();switch(f>>>3){case 1:{if(o.limits?.addresses!=null&&a.addresses.length===o.limits.addresses)throw new qe('Decode error - map field "addresses" had too many elements');a.addresses.push(Rs.codec().decode(s,s.uint32(),{limits:o.limits?.addresses$}));break}case 2:{if(o.limits?.protocols!=null&&a.protocols.length===o.limits.protocols)throw new qe('Decode error - map field "protocols" had too many elements');a.protocols.push(s.string());break}case 4:{a.publicKey=s.bytes();break}case 5:{a.peerRecordEnvelope=s.bytes();break}case 6:{if(o.limits?.metadata!=null&&a.metadata.size===o.limits.metadata)throw new Ur('Decode error - map field "metadata" had too many elements');let u=r.Peer$metadataEntry.codec().decode(s,s.uint32());a.metadata.set(u.key,u.value);break}case 7:{if(o.limits?.tags!=null&&a.tags.size===o.limits.tags)throw new Ur('Decode error - map field "tags" had too many elements');let u=r.Peer$tagsEntry.codec().decode(s,s.uint32(),{limits:{value:o.limits?.tags$value}});a.tags.set(u.key,u.value);break}default:{s.skipType(f&7);break}}}return a})),n),r.encode=s=>Et(s,r.codec()),r.decode=(s,i)=>vt(s,r.codec(),i)})(mr||(mr={}));var Rs;(function(r){let t;r.codec=()=>(t==null&&(t=Bt((e,n,s={})=>{s.lengthDelimited!==!1&&n.fork(),e.multiaddr!=null&&e.multiaddr.byteLength>0&&(n.uint32(10),n.bytes(e.multiaddr)),e.isCertified!=null&&(n.uint32(16),n.bool(e.isCertified)),s.lengthDelimited!==!1&&n.ldelim()},(e,n,s={})=>{let i={multiaddr:rt(0)},o=n==null?e.len:e.pos+n;for(;e.pos<o;){let a=e.uint32();switch(a>>>3){case 1:{i.multiaddr=e.bytes();break}case 2:{i.isCertified=e.bool();break}default:{e.skipType(a&7);break}}}return i})),t),r.encode=e=>Et(e,r.codec()),r.decode=(e,n)=>vt(e,r.codec(),n)})(Rs||(Rs={}));var _s;(function(r){let t;r.codec=()=>(t==null&&(t=Bt((e,n,s={})=>{s.lengthDelimited!==!1&&n.fork(),e.value!=null&&e.value!==0&&(n.uint32(8),n.uint32(e.value)),e.expiry!=null&&(n.uint32(16),n.uint64(e.expiry)),s.lengthDelimited!==!1&&n.ldelim()},(e,n,s={})=>{let i={value:0},o=n==null?e.len:e.pos+n;for(;e.pos<o;){let a=e.uint32();switch(a>>>3){case 1:{i.value=e.uint32();break}case 2:{i.expiry=e.uint64();break}default:{e.skipType(a&7);break}}}return i})),t),r.encode=e=>Et(e,r.codec()),r.decode=(e,n)=>vt(e,r.codec(),n)})(_s||(_s={}));function yr(r,t){let e=mr.decode(t);if(e.publicKey!=null&&r.publicKey==null){let i=Es(e.publicKey);r=yl(i)}let n=new Map,s=BigInt(Date.now());for(let[i,o]of e.tags.entries())o.expiry!=null&&o.expiry<s||n.set(i,o);return{...e,id:r,addresses:e.addresses.map(({multiaddr:i,isCertified:o})=>({multiaddr:he(i),isCertified:o??!1})),metadata:e.metadata,peerRecordEnvelope:e.peerRecordEnvelope??void 0,tags:n}}var de="/",Wl=new TextEncoder().encode(de),Vs=Wl[0],Os=class r{_buf;constructor(t,e){if(typeof t=="string")this._buf=Z(t);else if(t instanceof Uint8Array)this._buf=t;else throw new Error("Invalid key, should be String of Uint8Array");if(e==null&&(e=!0),e&&this.clean(),this._buf.byteLength===0||this._buf[0]!==Vs)throw new Error("Invalid key")}toString(t="utf8"){return tt(this._buf,t)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(t){return new r(t.join(de))}static random(){return new r(Math.random().toString().substring(2))}static asKey(t){return t instanceof Uint8Array||typeof t=="string"?new r(t):typeof t.uint8Array=="function"?new r(t.uint8Array()):null}clean(){if((this._buf==null||this._buf.byteLength===0)&&(this._buf=Wl),this._buf[0]!==Vs){let t=new Uint8Array(this._buf.byteLength+1);t.fill(Vs,0,1),t.set(this._buf,1),this._buf=t}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===Vs;)this._buf=this._buf.subarray(0,-1)}less(t){let e=this.list(),n=t.list();for(let s=0;s<e.length;s++){if(n.length<s+1)return!1;let i=e[s],o=n[s];if(i<o)return!0;if(i>o)return!1}return e.length<n.length}reverse(){return r.withNamespaces(this.list().slice().reverse())}namespaces(){return this.list()}baseNamespace(){let t=this.namespaces();return t[t.length-1]}list(){return this.toString().split(de).slice(1)}type(){return Kd(this.baseNamespace())}name(){return qd(this.baseNamespace())}instance(t){return new r(this.toString()+":"+t)}path(){let t=this.parent().toString();return t.endsWith(de)||(t+=de),t+=this.type(),new r(t)}parent(){let t=this.list();return t.length===1?new r(de):new r(t.slice(0,-1).join(de))}child(t){return this.toString()===de?t:t.toString()===de?this:new r(this.toString()+t.toString(),!1)}isAncestorOf(t){return t.toString()===this.toString()?!1:t.toString().startsWith(this.toString())}isDecendantOf(t){return t.toString()===this.toString()?!1:this.toString().startsWith(t.toString())}isTopLevel(){return this.list().length===1}concat(...t){return r.withNamespaces([...this.namespaces(),...zd(t.map(e=>e.namespaces()))])}};function Kd(r){let t=r.split(":");return t.length<2?"":t.slice(0,-1).join(":")}function qd(r){let t=r.split(":");return t[t.length-1]}function zd(r){return[].concat(...r)}var qo="/peers/";function br(r){if(!ea(r)||r.type==null)throw new K("Invalid PeerId");let t=r.toCID().toString();return new Os(`${qo}${t}`)}async function Zl(r,t,e){let n=new Map;for(let s of e){if(s==null)continue;if(s.multiaddr instanceof Uint8Array&&(s.multiaddr=he(s.multiaddr)),!Ls(s.multiaddr))throw new K("Multiaddr was invalid");if(!await t(r,s.multiaddr))continue;let i=s.isCertified??!1,o=s.multiaddr.toString(),a=n.get(o);a!=null?s.isCertified=a.isCertified||i:n.set(o,{multiaddr:s.multiaddr,isCertified:i})}return[...n.values()].sort((s,i)=>s.multiaddr.toString().localeCompare(i.multiaddr.toString())).map(({isCertified:s,multiaddr:i})=>({isCertified:s,multiaddr:i.bytes}))}async function Ps(r,t,e,n){if(t==null)throw new K("Invalid PeerData");if(t.publicKey!=null&&r.publicKey!=null&&!t.publicKey.equals(r.publicKey))throw new K("publicKey bytes do not match peer id publicKey bytes");let s=n.existingPeer;if(s!=null&&!r.equals(s.id))throw new K("peer id did not match existing peer id");let i=s?.addresses??[],o=new Set(s?.protocols??[]),a=s?.metadata??new Map,c=s?.tags??new Map,f=s?.peerRecordEnvelope;if(e==="patch"){if((t.multiaddrs!=null||t.addresses!=null)&&(i=[],t.multiaddrs!=null&&i.push(...t.multiaddrs.map(h=>({isCertified:!1,multiaddr:h}))),t.addresses!=null&&i.push(...t.addresses)),t.protocols!=null&&(o=new Set(t.protocols)),t.metadata!=null){let h=t.metadata instanceof Map?[...t.metadata.entries()]:Object.entries(t.metadata);a=Ds(h,{validate:jl})}if(t.tags!=null){let h=t.tags instanceof Map?[...t.tags.entries()]:Object.entries(t.tags);c=Ds(h,{validate:Yl,map:Jl})}t.peerRecordEnvelope!=null&&(f=t.peerRecordEnvelope)}if(e==="merge"){if(t.multiaddrs!=null&&i.push(...t.multiaddrs.map(h=>({isCertified:!1,multiaddr:h}))),t.addresses!=null&&i.push(...t.addresses),t.protocols!=null&&(o=new Set([...o,...t.protocols])),t.metadata!=null){let h=t.metadata instanceof Map?[...t.metadata.entries()]:Object.entries(t.metadata);for(let[d,b]of h)b==null?a.delete(d):a.set(d,b);a=Ds([...a.entries()],{validate:jl})}if(t.tags!=null){let h=t.tags instanceof Map?[...t.tags.entries()]:Object.entries(t.tags),d=new Map(c);for(let[b,w]of h)w==null?d.delete(b):d.set(b,w);c=Ds([...d.entries()],{validate:Yl,map:Jl})}t.peerRecordEnvelope!=null&&(f=t.peerRecordEnvelope)}let u;s?.id.publicKey!=null?u=$t(s.id.publicKey):t.publicKey!=null?u=$t(t.publicKey):r.publicKey!=null&&(u=$t(r.publicKey));let l={addresses:await Zl(r,n.addressFilter??(async()=>!0),i),protocols:[...o.values()].sort((h,d)=>h.localeCompare(d)),metadata:a,tags:c,publicKey:u,peerRecordEnvelope:f};return r.type!=="RSA"&&delete l.publicKey,l}function Ds(r,t){let e=new Map;for(let[n,s]of r)s!=null&&t.validate(n,s);for(let[n,s]of r.sort(([i],[o])=>i.localeCompare(o)))s!=null&&e.set(n,t.map?.(n,s)??s);return e}function jl(r,t){if(typeof r!="string")throw new K("Metadata key must be a string");if(!(t instanceof Uint8Array))throw new K("Metadata value must be a Uint8Array")}function Yl(r,t){if(typeof r!="string")throw new K("Tag name must be a string");if(t.value!=null){if(parseInt(`${t.value}`,10)!==t.value)throw new K("Tag value must be an integer");if(t.value<0||t.value>100)throw new K("Tag value must be between 0-100")}if(t.ttl!=null){if(parseInt(`${t.ttl}`,10)!==t.ttl)throw new K("Tag ttl must be an integer");if(t.ttl<0)throw new K("Tag ttl must be between greater than 0")}}function Jl(r,t){let e;return t.expiry!=null&&(e=t.expiry),t.ttl!=null&&(e=BigInt(Date.now()+Number(t.ttl))),{value:t.value??0,expiry:e}}function Ms(r,t){let e=r.toString().split("/")[2],n=st.parse(e,Vt),s=Bs(n);return yr(s,t)}function $d(r){return r==null?{}:{prefix:qo,filters:(r.filters??[]).map(t=>({key:e,value:n})=>t(Ms(e,n))),orders:(r.orders??[]).map(t=>(e,n)=>t(Ms(e.key,e.value),Ms(n.key,n.value)))}}var Hs=class{peerId;datastore;lock;addressFilter;constructor(t,e={}){this.peerId=t.peerId,this.datastore=t.datastore,this.addressFilter=e.addressFilter,this.lock=Ko({name:"peer-store",singleProcess:!0})}async has(t){return this.datastore.has(br(t))}async delete(t){if(this.peerId.equals(t))throw new K("Cannot delete self peer");await this.datastore.delete(br(t))}async load(t){let e=await this.datastore.get(br(t));return yr(t,e)}async save(t,e){let{existingBuf:n,existingPeer:s}=await this.#t(t),i=await Ps(t,e,"patch",{addressFilter:this.addressFilter});return this.#e(t,i,n,s)}async patch(t,e){let{existingBuf:n,existingPeer:s}=await this.#t(t),i=await Ps(t,e,"patch",{addressFilter:this.addressFilter,existingPeer:s});return this.#e(t,i,n,s)}async merge(t,e){let{existingBuf:n,existingPeer:s}=await this.#t(t),i=await Ps(t,e,"merge",{addressFilter:this.addressFilter,existingPeer:s});return this.#e(t,i,n,s)}async*all(t){for await(let{key:e,value:n}of this.datastore.query($d(t??{}))){let s=Ms(e,n);s.id.equals(this.peerId)||(yield s)}}async#t(t){try{let e=await this.datastore.get(br(t)),n=yr(t,e);return{existingBuf:e,existingPeer:n}}catch(e){if(e.name!=="NotFoundError")throw e}return{}}async#e(t,e,n,s){let i=mr.encode(e);return n!=null&&lt(i,n)?{peer:yr(t,i),previous:s,updated:!1}:(await this.datastore.put(br(t),i),{peer:yr(t,i),previous:s,updated:!0})}};var zo=class{store;events;peerId;log;constructor(t,e={}){this.log=t.logger.forComponent("libp2p:peer-store"),this.events=t.events,this.peerId=t.peerId,this.store=new Hs(t,e)}[Symbol.toStringTag]="@libp2p/peer-store";async forEach(t,e){this.log.trace("forEach await read lock");let n=await this.store.lock.readLock();this.log.trace("forEach got read lock");try{for await(let s of this.store.all(e))t(s)}finally{this.log.trace("forEach release read lock"),n()}}async all(t){this.log.trace("all await read lock");let e=await this.store.lock.readLock();this.log.trace("all got read lock");try{return await Pl(this.store.all(t))}finally{this.log.trace("all release read lock"),e()}}async delete(t){this.log.trace("delete await write lock");let e=await this.store.lock.writeLock();this.log.trace("delete got write lock");try{await this.store.delete(t)}finally{this.log.trace("delete release write lock"),e()}}async has(t){this.log.trace("has await read lock");let e=await this.store.lock.readLock();this.log.trace("has got read lock");try{return await this.store.has(t)}finally{this.log.trace("has release read lock"),e()}}async get(t){this.log.trace("get await read lock");let e=await this.store.lock.readLock();this.log.trace("get got read lock");try{return await this.store.load(t)}finally{this.log.trace("get release read lock"),e()}}async save(t,e){this.log.trace("save await write lock");let n=await this.store.lock.writeLock();this.log.trace("save got write lock");try{let s=await this.store.save(t,e);return this.#t(t,s),s.peer}finally{this.log.trace("save release write lock"),n()}}async patch(t,e){this.log.trace("patch await write lock");let n=await this.store.lock.writeLock();this.log.trace("patch got write lock");try{let s=await this.store.patch(t,e);return this.#t(t,s),s.peer}finally{this.log.trace("patch release write lock"),n()}}async merge(t,e){this.log.trace("merge await write lock");let n=await this.store.lock.writeLock();this.log.trace("merge got write lock");try{let s=await this.store.merge(t,e);return this.#t(t,s),s.peer}finally{this.log.trace("merge release write lock"),n()}}async consumePeerRecord(t,e){let n=await fr.openAndCertify(t,Ge.DOMAIN),s=Bs(n.publicKey.toCID());if(e?.equals(s)===!1)return this.log("envelope peer id was not the expected peer id - expected: %p received: %p",e,s),!1;let i=Ge.createFromProtobuf(n.payload),o;try{o=await this.get(s)}catch(a){if(a.name!=="NotFoundError")throw a}if(o?.peerRecordEnvelope!=null){let a=await fr.createFromProtobuf(o.peerRecordEnvelope),c=Ge.createFromProtobuf(a.payload);if(c.seqNumber>=i.seqNumber)return this.log("sequence number was lower or equal to existing sequence number - stored: %d received: %d",c.seqNumber,i.seqNumber),!1}return await this.patch(i.peerId,{peerRecordEnvelope:t,addresses:i.multiaddrs.map(a=>({isCertified:!0,multiaddr:a}))}),!0}#t(t,e){e.updated&&(this.peerId.equals(t)?this.events.safeDispatchEvent("self:peer:update",{detail:e}):this.events.safeDispatchEvent("peer:update",{detail:e}))}};function Gd(r,t={}){return new zo(r,t)}return fu(Wd);})();
6
+ `)}`:`${e} :`}};pc=Se;B.Constructed=pc;Se.NAME="CONSTRUCTED";var Pn=class extends yt{fromBER(t,e,n){return e}toBER(t){return Kt}};Pn.override="EndOfContentValueBlock";var gc,Mn=class extends ht{constructor(t={}){super(t,Pn),this.idBlock.tagClass=1,this.idBlock.tagNumber=0}};gc=Mn;B.EndOfContent=gc;Mn.NAME=Vr;var mc,or=class extends ht{constructor(t={}){super(t,yt),this.idBlock.tagClass=1,this.idBlock.tagNumber=5}fromBER(t,e,n){return this.lenBlock.length>0&&this.warnings.push("Non-zero length of value block for Null type"),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.blockLength+=n,e+n>t.byteLength?(this.error="End of input reached before message was fully decoded (inconsistent offset and length values)",-1):e+n}toBER(t,e){let n=new ArrayBuffer(2);if(!t){let s=new Uint8Array(n);s[0]=5,s[1]=0}return e&&e.write(n),n}onAsciiEncoding(){return`${this.constructor.NAME}`}};mc=or;B.Null=mc;or.NAME="NULL";var Hn=class extends le(yt){constructor({value:t,...e}={}){super(e),e.valueHex?this.valueHexView=M.BufferSourceConverter.toUint8Array(e.valueHex):this.valueHexView=new Uint8Array(1),t&&(this.value=t)}get value(){for(let t of this.valueHexView)if(t>0)return!0;return!1}set value(t){this.valueHexView[0]=t?255:0}fromBER(t,e,n){let s=M.BufferSourceConverter.toUint8Array(t);return ce(this,s,e,n)?(this.valueHexView=s.subarray(e,e+n),n>1&&this.warnings.push("Boolean value encoded in more then 1 octet"),this.isHexOnly=!0,to.call(this),this.blockLength=n,e+n):-1}toBER(){return this.valueHexView.slice()}toJSON(){return{...super.toJSON(),value:this.value}}};Hn.NAME="BooleanValueBlock";var yc,Fn=class extends ht{constructor(t={}){super(t,Hn),this.idBlock.tagClass=1,this.idBlock.tagNumber=1}getValue(){return this.valueBlock.value}setValue(t){this.valueBlock.value=t}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.getValue}`}};yc=Fn;B.Boolean=yc;Fn.NAME="BOOLEAN";var Kn=class extends le(Zt){constructor({isConstructed:t=!1,...e}={}){super(e),this.isConstructed=t}fromBER(t,e,n){let s=0;if(this.isConstructed){if(this.isHexOnly=!1,s=Zt.prototype.fromBER.call(this,t,e,n),s===-1)return s;for(let i=0;i<this.value.length;i++){let o=this.value[i].constructor.NAME;if(o===Vr){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, OCTET STRING may consists of OCTET STRINGs only",-1}if(o!==uc)return this.error="OCTET STRING may consists of OCTET STRINGs only",-1}}else this.isHexOnly=!0,s=super.fromBER(t,e,n),this.blockLength=n;return s}toBER(t,e){return this.isConstructed?Zt.prototype.toBER.call(this,t,e):t?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),isConstructed:this.isConstructed}}};Kn.NAME="OctetStringValueBlock";var bc,qn=class r extends ht{constructor({idBlock:t={},lenBlock:e={},...n}={}){var s,i;(s=n.isConstructed)!==null&&s!==void 0||(n.isConstructed=!!(!((i=n.value)===null||i===void 0)&&i.length)),super({idBlock:{isConstructed:n.isConstructed,...t},lenBlock:{...e,isIndefiniteForm:!!n.isIndefiniteForm},...n},Kn),this.idBlock.tagClass=1,this.idBlock.tagNumber=4}fromBER(t,e,n){if(this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,n===0)return this.idBlock.error.length===0&&(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length===0&&(this.blockLength+=this.lenBlock.blockLength),e;if(!this.valueBlock.isConstructed){let i=(t instanceof ArrayBuffer?new Uint8Array(t):t).subarray(e,e+n);try{if(i.byteLength){let o=ys(i,0,i.byteLength);o.offset!==-1&&o.offset===n&&(this.valueBlock.value=[o.result])}}catch{}}return super.fromBER(t,e,n)}onAsciiEncoding(){return this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length?Se.prototype.onAsciiEncoding.call(this):`${this.constructor.NAME} : ${M.Convert.ToHex(this.valueBlock.valueHexView)}`}getValue(){if(!this.idBlock.isConstructed)return this.valueBlock.valueHexView.slice().buffer;let t=[];for(let e of this.valueBlock.value)e instanceof r&&t.push(e.valueBlock.valueHexView);return M.BufferSourceConverter.concat(t)}};bc=qn;B.OctetString=bc;qn.NAME=uc;var zn=class extends le(Zt){constructor({unusedBits:t=0,isConstructed:e=!1,...n}={}){super(n),this.unusedBits=t,this.isConstructed=e,this.blockLength=this.valueHexView.byteLength}fromBER(t,e,n){if(!n)return e;let s=-1;if(this.isConstructed){if(s=Zt.prototype.fromBER.call(this,t,e,n),s===-1)return s;for(let a of this.value){let c=a.constructor.NAME;if(c===Vr){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, BIT STRING may consists of BIT STRINGs only",-1}if(c!==fc)return this.error="BIT STRING may consists of BIT STRINGs only",-1;let f=a.valueBlock;if(this.unusedBits>0&&f.unusedBits>0)return this.error='Using of "unused bits" inside constructive BIT STRING allowed for least one only',-1;this.unusedBits=f.unusedBits}return s}let i=M.BufferSourceConverter.toUint8Array(t);if(!ce(this,i,e,n))return-1;let o=i.subarray(e,e+n);if(this.unusedBits=o[0],this.unusedBits>7)return this.error="Unused bits for BitString must be in range 0-7",-1;if(!this.unusedBits){let a=o.subarray(1);try{if(a.byteLength){let c=ys(a,0,a.byteLength);c.offset!==-1&&c.offset===n-1&&(this.value=[c.result])}}catch{}}return this.valueHexView=o.subarray(1),this.blockLength=o.length,e+n}toBER(t,e){if(this.isConstructed)return Zt.prototype.toBER.call(this,t,e);if(t)return new ArrayBuffer(this.valueHexView.byteLength+1);if(!this.valueHexView.byteLength)return Kt;let n=new Uint8Array(this.valueHexView.length+1);return n[0]=this.unusedBits,n.set(this.valueHexView,1),n.buffer}toJSON(){return{...super.toJSON(),unusedBits:this.unusedBits,isConstructed:this.isConstructed}}};zn.NAME="BitStringValueBlock";var wc,ar=class extends ht{constructor({idBlock:t={},lenBlock:e={},...n}={}){var s,i;(s=n.isConstructed)!==null&&s!==void 0||(n.isConstructed=!!(!((i=n.value)===null||i===void 0)&&i.length)),super({idBlock:{isConstructed:n.isConstructed,...t},lenBlock:{...e,isIndefiniteForm:!!n.isIndefiniteForm},...n},zn),this.idBlock.tagClass=1,this.idBlock.tagNumber=3}fromBER(t,e,n){return this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,super.fromBER(t,e,n)}onAsciiEncoding(){if(this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length)return Se.prototype.onAsciiEncoding.call(this);{let t=[],e=this.valueBlock.valueHexView;for(let s of e)t.push(s.toString(2).padStart(8,"0"));let n=t.join("");return`${this.constructor.NAME} : ${n.substring(0,n.length-this.valueBlock.unusedBits)}`}}};wc=ar;B.BitString=wc;ar.NAME=fc;var xc;function Yh(r,t){let e=new Uint8Array([0]),n=new Uint8Array(r),s=new Uint8Array(t),i=n.slice(0),o=i.length-1,a=s.slice(0),c=a.length-1,f=0,u=c<o?o:c,l=0;for(let h=u;h>=0;h--,l++){switch(!0){case l<a.length:f=i[o-l]+a[c-l]+e[0];break;default:f=i[o-l]+e[0]}switch(e[0]=f/10,!0){case l>=i.length:i=Ln(new Uint8Array([f%10]),i);break;default:i[o-l]=f%10}}return e[0]>0&&(i=Ln(e,i)),i}function lc(r){if(r>=Rr.length)for(let t=Rr.length;t<=r;t++){let e=new Uint8Array([0]),n=Rr[t-1].slice(0);for(let s=n.length-1;s>=0;s--){let i=new Uint8Array([(n[s]<<1)+e[0]]);e[0]=i[0]/10,n[s]=i[0]%10}e[0]>0&&(n=Ln(e,n)),Rr.push(n)}return Rr[r]}function Jh(r,t){let e=0,n=new Uint8Array(r),s=new Uint8Array(t),i=n.slice(0),o=i.length-1,a=s.slice(0),c=a.length-1,f,u=0;for(let l=c;l>=0;l--,u++)switch(f=i[o-u]-a[c-u]-e,!0){case f<0:e=1,i[o-u]=f+10;break;default:e=0,i[o-u]=f}if(e>0)for(let l=o-c+1;l>=0;l--,u++)if(f=i[o-u]-e,f<0)e=1,i[o-u]=f+10;else{e=0,i[o-u]=f;break}return i.slice()}var Or=class extends le(yt){constructor({value:t,...e}={}){super(e),this._valueDec=0,e.valueHex&&this.setValueHex(),t!==void 0&&(this.valueDec=t)}setValueHex(){this.valueHexView.length>=4?(this.warnings.push("Too big Integer for decoding, hex only"),this.isHexOnly=!0,this._valueDec=0):(this.isHexOnly=!1,this.valueHexView.length>0&&(this._valueDec=to.call(this)))}set valueDec(t){this._valueDec=t,this.isHexOnly=!1,this.valueHexView=new Uint8Array(oc(t))}get valueDec(){return this._valueDec}fromDER(t,e,n,s=0){let i=this.fromBER(t,e,n);if(i===-1)return i;let o=this.valueHexView;return o[0]===0&&o[1]&128?this.valueHexView=o.subarray(1):s!==0&&o.length<s&&(s-o.length>1&&(s=o.length+1),this.valueHexView=o.subarray(s-o.length)),i}toDER(t=!1){let e=this.valueHexView;switch(!0){case(e[0]&128)!==0:{let n=new Uint8Array(this.valueHexView.length+1);n[0]=0,n.set(e,1),this.valueHexView=n}break;case(e[0]===0&&(e[1]&128)===0):this.valueHexView=this.valueHexView.subarray(1);break}return this.toBER(t)}fromBER(t,e,n){let s=super.fromBER(t,e,n);return s===-1||this.setValueHex(),s}toBER(t){return t?new ArrayBuffer(this.valueHexView.length):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}toString(){let t=this.valueHexView.length*8-1,e=new Uint8Array(this.valueHexView.length*8/3),n=0,s,i=this.valueHexView,o="",a=!1;for(let c=i.byteLength-1;c>=0;c--){s=i[c];for(let f=0;f<8;f++){if((s&1)===1)switch(n){case t:e=Jh(lc(n),e),o="-";break;default:e=Yh(e,lc(n))}n++,s>>=1}}for(let c=0;c<e.length;c++)e[c]&&(a=!0),a&&(o+=cc.charAt(e[c]));return a===!1&&(o+=cc.charAt(0)),o}};xc=Or;Or.NAME="IntegerValueBlock";Object.defineProperty(xc.prototype,"valueHex",{set:function(r){this.valueHexView=new Uint8Array(r),this.setValueHex()},get:function(){return this.valueHexView.slice().buffer}});var vc,dt=class r extends ht{constructor(t={}){super(t,Or),this.idBlock.tagClass=1,this.idBlock.tagNumber=2}toBigInt(){return Un(),BigInt(this.valueBlock.toString())}static fromBigInt(t){Un();let e=BigInt(t),n=new _r,s=e.toString(16).replace(/^-/,""),i=new Uint8Array(M.Convert.FromHex(s));if(e<0){let a=new Uint8Array(i.length+(i[0]&128?1:0));a[0]|=128;let f=BigInt(`0x${M.Convert.ToHex(a)}`)+e,u=M.BufferSourceConverter.toUint8Array(M.Convert.FromHex(f.toString(16)));u[0]|=128,n.write(u)}else i[0]&128&&n.write(new Uint8Array([0])),n.write(i);return new r({valueHex:n.final()})}convertToDER(){let t=new r({valueHex:this.valueBlock.valueHexView});return t.valueBlock.toDER(),t}convertFromDER(){return new r({valueHex:this.valueBlock.valueHexView[0]===0?this.valueBlock.valueHexView.subarray(1):this.valueBlock.valueHexView})}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()}`}};vc=dt;B.Integer=vc;dt.NAME="INTEGER";var Ec,$n=class extends dt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=10}};Ec=$n;B.Enumerated=Ec;$n.NAME="ENUMERATED";var Dr=class extends le(yt){constructor({valueDec:t=-1,isFirstSid:e=!1,...n}={}){super(n),this.valueDec=t,this.isFirstSid=e}fromBER(t,e,n){if(!n)return e;let s=M.BufferSourceConverter.toUint8Array(t);if(!ce(this,s,e,n))return-1;let i=s.subarray(e,e+n);this.valueHexView=new Uint8Array(n);for(let a=0;a<n&&(this.valueHexView[a]=i[a]&127,this.blockLength++,!!(i[a]&128));a++);let o=new Uint8Array(this.blockLength);for(let a=0;a<this.blockLength;a++)o[a]=this.valueHexView[a];return this.valueHexView=o,i[this.blockLength-1]&128?(this.error="End of input reached before message was fully decoded",-1):(this.valueHexView[0]===0&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=ze(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),e+this.blockLength)}set valueBigInt(t){Un();let e=BigInt(t).toString(2);for(;e.length%7;)e="0"+e;let n=new Uint8Array(e.length/7);for(let s=0;s<n.length;s++)n[s]=parseInt(e.slice(s*7,s*7+7),2)+(s+1<n.length?128:0);this.fromBER(n.buffer,0,n.length)}toBER(t){if(this.isHexOnly){if(t)return new ArrayBuffer(this.valueHexView.byteLength);let s=this.valueHexView,i=new Uint8Array(this.blockLength);for(let o=0;o<this.blockLength-1;o++)i[o]=s[o]|128;return i[this.blockLength-1]=s[this.blockLength-1],i.buffer}let e=ke(this.valueDec,7);if(e.byteLength===0)return this.error="Error during encoding SID value",Kt;let n=new Uint8Array(e.byteLength);if(!t){let s=new Uint8Array(e),i=e.byteLength-1;for(let o=0;o<i;o++)n[o]=s[o]|128;n[i]=s[i]}return n}toString(){let t="";if(this.isHexOnly)t=M.Convert.ToHex(this.valueHexView);else if(this.isFirstSid){let e=this.valueDec;this.valueDec<=39?t="0.":this.valueDec<=79?(t="1.",e-=40):(t="2.",e-=80),t+=e.toString()}else t=this.valueDec.toString();return t}toJSON(){return{...super.toJSON(),valueDec:this.valueDec,isFirstSid:this.isFirstSid}}};Dr.NAME="sidBlock";var Gn=class extends yt{constructor({value:t=lr,...e}={}){super(e),this.value=[],t&&this.fromString(t)}fromBER(t,e,n){let s=e;for(;n>0;){let i=new Dr;if(s=i.fromBER(t,s,n),s===-1)return this.blockLength=0,this.error=i.error,s;this.value.length===0&&(i.isFirstSid=!0),this.blockLength+=i.blockLength,n-=i.blockLength,this.value.push(i)}return s}toBER(t){let e=[];for(let n=0;n<this.value.length;n++){let s=this.value[n].toBER(t);if(s.byteLength===0)return this.error=this.value[n].error,Kt;e.push(s)}return eo(e)}fromString(t){this.value=[];let e=0,n=0,s="",i=!1;do if(n=t.indexOf(".",e),n===-1?s=t.substring(e):s=t.substring(e,n),e=n+1,i){let o=this.value[0],a=0;switch(o.valueDec){case 0:break;case 1:a=40;break;case 2:a=80;break;default:this.value=[];return}let c=parseInt(s,10);if(isNaN(c))return;o.valueDec=c+a,i=!1}else{let o=new Dr;if(s>Number.MAX_SAFE_INTEGER){Un();let a=BigInt(s);o.valueBigInt=a}else if(o.valueDec=parseInt(s,10),isNaN(o.valueDec))return;this.value.length||(o.isFirstSid=!0,i=!0),this.value.push(o)}while(n!==-1)}toString(){let t="",e=!1;for(let n=0;n<this.value.length;n++){e=this.value[n].isHexOnly;let s=this.value[n].toString();n!==0&&(t=`${t}.`),e?(s=`{${s}}`,this.value[n].isFirstSid?t=`2.{${s} - 80}`:t+=s):t+=s}return t}toJSON(){let t={...super.toJSON(),value:this.toString(),sidArray:[]};for(let e=0;e<this.value.length;e++)t.sidArray.push(this.value[e].toJSON());return t}};Gn.NAME="ObjectIdentifierValueBlock";var Bc,cr=class extends ht{constructor(t={}){super(t,Gn),this.idBlock.tagClass=1,this.idBlock.tagNumber=6}getValue(){return this.valueBlock.toString()}setValue(t){this.valueBlock.fromString(t)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return{...super.toJSON(),value:this.getValue()}}};Bc=cr;B.ObjectIdentifier=Bc;cr.NAME="OBJECT IDENTIFIER";var Pr=class extends le(ie){constructor({valueDec:t=0,...e}={}){super(e),this.valueDec=t}fromBER(t,e,n){if(n===0)return e;let s=M.BufferSourceConverter.toUint8Array(t);if(!ce(this,s,e,n))return-1;let i=s.subarray(e,e+n);this.valueHexView=new Uint8Array(n);for(let a=0;a<n&&(this.valueHexView[a]=i[a]&127,this.blockLength++,!!(i[a]&128));a++);let o=new Uint8Array(this.blockLength);for(let a=0;a<this.blockLength;a++)o[a]=this.valueHexView[a];return this.valueHexView=o,i[this.blockLength-1]&128?(this.error="End of input reached before message was fully decoded",-1):(this.valueHexView[0]===0&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=ze(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),e+this.blockLength)}toBER(t){if(this.isHexOnly){if(t)return new ArrayBuffer(this.valueHexView.byteLength);let s=this.valueHexView,i=new Uint8Array(this.blockLength);for(let o=0;o<this.blockLength-1;o++)i[o]=s[o]|128;return i[this.blockLength-1]=s[this.blockLength-1],i.buffer}let e=ke(this.valueDec,7);if(e.byteLength===0)return this.error="Error during encoding SID value",Kt;let n=new Uint8Array(e.byteLength);if(!t){let s=new Uint8Array(e),i=e.byteLength-1;for(let o=0;o<i;o++)n[o]=s[o]|128;n[i]=s[i]}return n.buffer}toString(){let t="";return this.isHexOnly?t=M.Convert.ToHex(this.valueHexView):t=this.valueDec.toString(),t}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}};Pr.NAME="relativeSidBlock";var Wn=class extends yt{constructor({value:t=lr,...e}={}){super(e),this.value=[],t&&this.fromString(t)}fromBER(t,e,n){let s=e;for(;n>0;){let i=new Pr;if(s=i.fromBER(t,s,n),s===-1)return this.blockLength=0,this.error=i.error,s;this.blockLength+=i.blockLength,n-=i.blockLength,this.value.push(i)}return s}toBER(t,e){let n=[];for(let s=0;s<this.value.length;s++){let i=this.value[s].toBER(t);if(i.byteLength===0)return this.error=this.value[s].error,Kt;n.push(i)}return eo(n)}fromString(t){this.value=[];let e=0,n=0,s="";do{n=t.indexOf(".",e),n===-1?s=t.substring(e):s=t.substring(e,n),e=n+1;let i=new Pr;if(i.valueDec=parseInt(s,10),isNaN(i.valueDec))return!0;this.value.push(i)}while(n!==-1);return!0}toString(){let t="",e=!1;for(let n=0;n<this.value.length;n++){e=this.value[n].isHexOnly;let s=this.value[n].toString();n!==0&&(t=`${t}.`),e&&(s=`{${s}}`),t+=s}return t}toJSON(){let t={...super.toJSON(),value:this.toString(),sidArray:[]};for(let e=0;e<this.value.length;e++)t.sidArray.push(this.value[e].toJSON());return t}};Wn.NAME="RelativeObjectIdentifierValueBlock";var Ac,Zn=class extends ht{constructor(t={}){super(t,Wn),this.idBlock.tagClass=1,this.idBlock.tagNumber=13}getValue(){return this.valueBlock.toString()}setValue(t){this.valueBlock.fromString(t)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return{...super.toJSON(),value:this.getValue()}}};Ac=Zn;B.RelativeObjectIdentifier=Ac;Zn.NAME="RelativeObjectIdentifier";var kc,oe=class extends Se{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=16}};kc=oe;B.Sequence=kc;oe.NAME="SEQUENCE";var Sc,jn=class extends Se{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=17}};Sc=jn;B.Set=Sc;jn.NAME="SET";var Yn=class extends le(yt){constructor({...t}={}){super(t),this.isHexOnly=!0,this.value=lr}toJSON(){return{...super.toJSON(),value:this.value}}};Yn.NAME="StringValueBlock";var Jn=class extends Yn{};Jn.NAME="SimpleStringValueBlock";var At=class extends Vn{constructor({...t}={}){super(t,Jn)}fromBuffer(t){this.valueBlock.value=String.fromCharCode.apply(null,M.BufferSourceConverter.toUint8Array(t))}fromString(t){let e=t.length,n=this.valueBlock.valueHexView=new Uint8Array(e);for(let s=0;s<e;s++)n[s]=t.charCodeAt(s);this.valueBlock.value=t}};At.NAME="SIMPLE STRING";var Xn=class extends At{fromBuffer(t){this.valueBlock.valueHexView=M.BufferSourceConverter.toUint8Array(t);try{this.valueBlock.value=M.Convert.ToUtf8String(t)}catch(e){this.warnings.push(`Error during "decodeURIComponent": ${e}, using raw string`),this.valueBlock.value=M.Convert.ToBinary(t)}}fromString(t){this.valueBlock.valueHexView=new Uint8Array(M.Convert.FromUtf8String(t)),this.valueBlock.value=t}};Xn.NAME="Utf8StringValueBlock";var Ic,ae=class extends Xn{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=12}};Ic=ae;B.Utf8String=Ic;ae.NAME="UTF8String";var Qn=class extends At{fromBuffer(t){this.valueBlock.value=M.Convert.ToUtf16String(t),this.valueBlock.valueHexView=M.BufferSourceConverter.toUint8Array(t)}fromString(t){this.valueBlock.value=t,this.valueBlock.valueHexView=new Uint8Array(M.Convert.FromUtf16String(t))}};Qn.NAME="BmpStringValueBlock";var Tc,ts=class extends Qn{constructor({...t}={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=30}};Tc=ts;B.BmpString=Tc;ts.NAME="BMPString";var es=class extends At{fromBuffer(t){let e=ArrayBuffer.isView(t)?t.slice().buffer:t.slice(0),n=new Uint8Array(e);for(let s=0;s<n.length;s+=4)n[s]=n[s+3],n[s+1]=n[s+2],n[s+2]=0,n[s+3]=0;this.valueBlock.value=String.fromCharCode.apply(null,new Uint32Array(e))}fromString(t){let e=t.length,n=this.valueBlock.valueHexView=new Uint8Array(e*4);for(let s=0;s<e;s++){let i=ke(t.charCodeAt(s),8),o=new Uint8Array(i);if(o.length>4)continue;let a=4-o.length;for(let c=o.length-1;c>=0;c--)n[s*4+c+a]=o[c]}this.valueBlock.value=t}};es.NAME="UniversalStringValueBlock";var Cc,rs=class extends es{constructor({...t}={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=28}};Cc=rs;B.UniversalString=Cc;rs.NAME="UniversalString";var Nc,ns=class extends At{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=18}};Nc=ns;B.NumericString=Nc;ns.NAME="NumericString";var Lc,ss=class extends At{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=19}};Lc=ss;B.PrintableString=Lc;ss.NAME="PrintableString";var Uc,is=class extends At{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=20}};Uc=is;B.TeletexString=Uc;is.NAME="TeletexString";var Rc,os=class extends At{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=21}};Rc=os;B.VideotexString=Rc;os.NAME="VideotexString";var _c,as=class extends At{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=22}};_c=as;B.IA5String=_c;as.NAME="IA5String";var Vc,cs=class extends At{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=25}};Vc=cs;B.GraphicString=Vc;cs.NAME="GraphicString";var Oc,Mr=class extends At{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=26}};Oc=Mr;B.VisibleString=Oc;Mr.NAME="VisibleString";var Dc,ls=class extends At{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=27}};Dc=ls;B.GeneralString=Dc;ls.NAME="GeneralString";var Pc,us=class extends At{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=29}};Pc=us;B.CharacterString=Pc;us.NAME="CharacterString";var Mc,Hr=class extends Mr{constructor({value:t,valueDate:e,...n}={}){if(super(n),this.year=0,this.month=0,this.day=0,this.hour=0,this.minute=0,this.second=0,t){this.fromString(t),this.valueBlock.valueHexView=new Uint8Array(t.length);for(let s=0;s<t.length;s++)this.valueBlock.valueHexView[s]=t.charCodeAt(s)}e&&(this.fromDate(e),this.valueBlock.valueHexView=new Uint8Array(this.toBuffer())),this.idBlock.tagClass=1,this.idBlock.tagNumber=23}fromBuffer(t){this.fromString(String.fromCharCode.apply(null,M.BufferSourceConverter.toUint8Array(t)))}toBuffer(){let t=this.toString(),e=new ArrayBuffer(t.length),n=new Uint8Array(e);for(let s=0;s<t.length;s++)n[s]=t.charCodeAt(s);return e}fromDate(t){this.year=t.getUTCFullYear(),this.month=t.getUTCMonth()+1,this.day=t.getUTCDate(),this.hour=t.getUTCHours(),this.minute=t.getUTCMinutes(),this.second=t.getUTCSeconds()}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second))}fromString(t){let n=/(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})Z/ig.exec(t);if(n===null){this.error="Wrong input string for conversion";return}let s=parseInt(n[1],10);s>=50?this.year=1900+s:this.year=2e3+s,this.month=parseInt(n[2],10),this.day=parseInt(n[3],10),this.hour=parseInt(n[4],10),this.minute=parseInt(n[5],10),this.second=parseInt(n[6],10)}toString(t="iso"){if(t==="iso"){let e=new Array(7);return e[0]=Lt(this.year<2e3?this.year-1900:this.year-2e3,2),e[1]=Lt(this.month,2),e[2]=Lt(this.day,2),e[3]=Lt(this.hour,2),e[4]=Lt(this.minute,2),e[5]=Lt(this.second,2),e[6]="Z",e.join("")}return super.toString(t)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.toDate().toISOString()}`}toJSON(){return{...super.toJSON(),year:this.year,month:this.month,day:this.day,hour:this.hour,minute:this.minute,second:this.second}}};Mc=Hr;B.UTCTime=Mc;Hr.NAME="UTCTime";var Hc,fs=class extends Hr{constructor(t={}){var e;super(t),(e=this.millisecond)!==null&&e!==void 0||(this.millisecond=0),this.idBlock.tagClass=1,this.idBlock.tagNumber=24}fromDate(t){super.fromDate(t),this.millisecond=t.getUTCMilliseconds()}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second,this.millisecond))}fromString(t){let e=!1,n="",s="",i=0,o,a=0,c=0;if(t[t.length-1]==="Z")n=t.substring(0,t.length-1),e=!0;else{let l=new Number(t[t.length-1]);if(isNaN(l.valueOf()))throw new Error("Wrong input string for conversion");n=t}if(e){if(n.indexOf("+")!==-1)throw new Error("Wrong input string for conversion");if(n.indexOf("-")!==-1)throw new Error("Wrong input string for conversion")}else{let l=1,h=n.indexOf("+"),d="";if(h===-1&&(h=n.indexOf("-"),l=-1),h!==-1){if(d=n.substring(h+1),n=n.substring(0,h),d.length!==2&&d.length!==4)throw new Error("Wrong input string for conversion");let b=parseInt(d.substring(0,2),10);if(isNaN(b.valueOf()))throw new Error("Wrong input string for conversion");if(a=l*b,d.length===4){if(b=parseInt(d.substring(2,4),10),isNaN(b.valueOf()))throw new Error("Wrong input string for conversion");c=l*b}}}let f=n.indexOf(".");if(f===-1&&(f=n.indexOf(",")),f!==-1){let l=new Number(`0${n.substring(f)}`);if(isNaN(l.valueOf()))throw new Error("Wrong input string for conversion");i=l.valueOf(),s=n.substring(0,f)}else s=n;switch(!0){case s.length===8:if(o=/(\d{4})(\d{2})(\d{2})/ig,f!==-1)throw new Error("Wrong input string for conversion");break;case s.length===10:if(o=/(\d{4})(\d{2})(\d{2})(\d{2})/ig,f!==-1){let l=60*i;this.minute=Math.floor(l),l=60*(l-this.minute),this.second=Math.floor(l),l=1e3*(l-this.second),this.millisecond=Math.floor(l)}break;case s.length===12:if(o=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})/ig,f!==-1){let l=60*i;this.second=Math.floor(l),l=1e3*(l-this.second),this.millisecond=Math.floor(l)}break;case s.length===14:if(o=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/ig,f!==-1){let l=1e3*i;this.millisecond=Math.floor(l)}break;default:throw new Error("Wrong input string for conversion")}let u=o.exec(s);if(u===null)throw new Error("Wrong input string for conversion");for(let l=1;l<u.length;l++)switch(l){case 1:this.year=parseInt(u[l],10);break;case 2:this.month=parseInt(u[l],10);break;case 3:this.day=parseInt(u[l],10);break;case 4:this.hour=parseInt(u[l],10)+a;break;case 5:this.minute=parseInt(u[l],10)+c;break;case 6:this.second=parseInt(u[l],10);break;default:throw new Error("Wrong input string for conversion")}if(e===!1){let l=new Date(this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond);this.year=l.getUTCFullYear(),this.month=l.getUTCMonth(),this.day=l.getUTCDay(),this.hour=l.getUTCHours(),this.minute=l.getUTCMinutes(),this.second=l.getUTCSeconds(),this.millisecond=l.getUTCMilliseconds()}}toString(t="iso"){if(t==="iso"){let e=[];return e.push(Lt(this.year,4)),e.push(Lt(this.month,2)),e.push(Lt(this.day,2)),e.push(Lt(this.hour,2)),e.push(Lt(this.minute,2)),e.push(Lt(this.second,2)),this.millisecond!==0&&(e.push("."),e.push(Lt(this.millisecond,3))),e.push("Z"),e.join("")}return super.toString(t)}toJSON(){return{...super.toJSON(),millisecond:this.millisecond}}};Hc=fs;B.GeneralizedTime=Hc;fs.NAME="GeneralizedTime";var Fc,hs=class extends ae{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=31}};Fc=hs;B.DATE=Fc;hs.NAME="DATE";var Kc,ds=class extends ae{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=32}};Kc=ds;B.TimeOfDay=Kc;ds.NAME="TimeOfDay";var qc,ps=class extends ae{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=33}};qc=ps;B.DateTime=qc;ps.NAME="DateTime";var zc,gs=class extends ae{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=34}};zc=gs;B.Duration=zc;gs.NAME="Duration";var $c,ms=class extends ae{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=14}};$c=ms;B.TIME=$c;ms.NAME="TIME";function tt(r,t="utf8"){let e=En[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return e.encoder.encode(r).substring(1)}var Fr=class extends Error{constructor(t="An error occurred while verifying a message"){super(t),this.name="VerificationError"}},bs=class extends Error{constructor(t="Missing Web Crypto API"){super(t),this.name="WebCryptoMissingError"}};var Gc={get(r=globalThis){let t=r.crypto;if(t?.subtle==null)throw new bs("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/blob/main/packages/crypto/README.md#web-crypto-api");return t}};var Ie=Gc;async function Wc(r){let t=await Ie.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:r,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),e=await Qh(t);return{privateKey:e[0],publicKey:e[1]}}async function Zc(r,t){let e=await Ie.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await Ie.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},e,t instanceof Uint8Array?t:t.subarray());return new Uint8Array(n,0,n.byteLength)}async function jc(r,t,e){let n=await Ie.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return Ie.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,t,e instanceof Uint8Array?e:e.subarray())}async function Qh(r){if(r.privateKey==null||r.publicKey==null)throw new K("Private and public key are required");return Promise.all([Ie.get().subtle.exportKey("jwk",r.privateKey),Ie.get().subtle.exportKey("jwk",r.publicKey)])}function so(r){if(r.kty!=="RSA")throw new K("invalid key type");if(r.n==null)throw new K("invalid key modulus");return Z(r.n,"base64url").length*8}var ur=class{type="RSA";_key;_raw;_multihash;constructor(t,e){this._key=t,this._multihash=e}get raw(){return this._raw==null&&(this._raw=Kr.jwkToPkix(this._key)),this._raw}toMultihash(){return this._multihash}toCID(){return st.createV1(114,this._multihash)}toString(){return X.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:lt(this.raw,t.raw)}verify(t,e){return jc(this._key,e,t)}},qr=class{type="RSA";_key;_raw;publicKey;constructor(t,e){this._key=t,this.publicKey=e}get raw(){return this._raw==null&&(this._raw=Kr.jwkToPkcs1(this._key)),this._raw}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:lt(this.raw,t.raw)}sign(t){return Zc(this._key,t)}};var ws=8192,io=18;function Yc(r){let{result:t}=no(r),e=t.valueBlock.value;return{n:jt(e[1]),e:jt(e[2]),d:jt(e[3]),p:jt(e[4]),q:jt(e[5]),dp:jt(e[6]),dq:jt(e[7]),qi:jt(e[8]),kty:"RSA",alg:"RS256"}}function td(r){if(r.n==null||r.e==null||r.d==null||r.p==null||r.q==null||r.dp==null||r.dq==null||r.qi==null)throw new K("JWK was missing components");let e=new oe({value:[new dt({value:0}),dt.fromBigInt(Yt(Z(r.n,"base64url"))),dt.fromBigInt(Yt(Z(r.e,"base64url"))),dt.fromBigInt(Yt(Z(r.d,"base64url"))),dt.fromBigInt(Yt(Z(r.p,"base64url"))),dt.fromBigInt(Yt(Z(r.q,"base64url"))),dt.fromBigInt(Yt(Z(r.dp,"base64url"))),dt.fromBigInt(Yt(Z(r.dq,"base64url"))),dt.fromBigInt(Yt(Z(r.qi,"base64url")))]}).toBER();return new Uint8Array(e,0,e.byteLength)}function Jc(r){let{result:t}=no(r),e=t.valueBlock.value[1].valueBlock.value[0].valueBlock.value;return{kty:"RSA",n:jt(e[0]),e:jt(e[1])}}function oo(r){if(r.n==null||r.e==null)throw new K("JWK was missing components");let e=new oe({value:[new oe({value:[new cr({value:"1.2.840.113549.1.1.1"}),new or]}),new ar({valueHex:new oe({value:[dt.fromBigInt(Yt(Z(r.n,"base64url"))),dt.fromBigInt(Yt(Z(r.e,"base64url")))]}).toBER()})]}).toBER();return new Uint8Array(e,0,e.byteLength)}function jt(r){let t=r.valueBlock.valueHexView;for(;t[0]===0;)t=t.subarray(1);return tt(t,"base64url")}function Yt(r){let t=[];return r.forEach(function(e){let n=e.toString(16);n.length%2>0&&(n=`0${n}`),t.push(n)}),BigInt("0x"+t.join(""))}function Xc(r){let t=Yc(r);return Qc(t)}function ao(r){let t=Jc(r);if(so(t)>ws)throw new Ze("Key size is too large");let e=Tn(Wt.encode({Type:ot.RSA,Data:r})),n=Ot(io,e);return new ur(t,n)}function Qc(r){if(so(r)>ws)throw new K("Key size is too large");let t=el(r),e=Tn(Wt.encode({Type:ot.RSA,Data:oo(t.publicKey)})),n=Ot(io,e);return new qr(t.privateKey,new ur(t.publicKey,n))}async function tl(r){if(r>ws)throw new K("Key size is too large");let t=await Wc(r),e=Tn(Wt.encode({Type:ot.RSA,Data:oo(t.publicKey)})),n=Ot(io,e);return new qr(t.privateKey,new ur(t.publicKey,n))}function el(r){if(r==null)throw new K("Missing key parameter");return{privateKey:r,publicKey:{kty:r.kty,n:r.n,e:r.e}}}var ed=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]),Te=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Ce=new Uint32Array(64),co=class extends rr{constructor(){super(64,32,8,!1),this.A=Te[0]|0,this.B=Te[1]|0,this.C=Te[2]|0,this.D=Te[3]|0,this.E=Te[4]|0,this.F=Te[5]|0,this.G=Te[6]|0,this.H=Te[7]|0}get(){let{A:t,B:e,C:n,D:s,E:i,F:o,G:a,H:c}=this;return[t,e,n,s,i,o,a,c]}set(t,e,n,s,i,o,a,c){this.A=t|0,this.B=e|0,this.C=n|0,this.D=s|0,this.E=i|0,this.F=o|0,this.G=a|0,this.H=c|0}process(t,e){for(let l=0;l<16;l++,e+=4)Ce[l]=t.getUint32(e,!1);for(let l=16;l<64;l++){let h=Ce[l-15],d=Ce[l-2],b=Dt(h,7)^Dt(h,18)^h>>>3,w=Dt(d,17)^Dt(d,19)^d>>>10;Ce[l]=w+Ce[l-7]+b+Ce[l-16]|0}let{A:n,B:s,C:i,D:o,E:a,F:c,G:f,H:u}=this;for(let l=0;l<64;l++){let h=Dt(a,6)^Dt(a,11)^Dt(a,25),d=u+h+va(a,c,f)+ed[l]+Ce[l]|0,w=(Dt(n,2)^Dt(n,13)^Dt(n,22))+Ea(n,s,i)|0;u=f,f=c,c=a,a=o+d|0,o=i,i=s,s=n,n=d+w|0}n=n+this.A|0,s=s+this.B|0,i=i+this.C|0,o=o+this.D|0,a=a+this.E|0,c=c+this.F|0,f=f+this.G|0,u=u+this.H|0,this.set(n,s,i,o,a,c,f,u)}roundClean(){Ce.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var rl=cn(()=>new co);var xs=class extends er{constructor(t,e){super(),this.finished=!1,this.destroyed=!1,ba(t);let n=Ar(e);if(this.iHash=t.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 s=this.blockLen,i=new Uint8Array(s);i.set(n.length>s?t.create().update(n).digest():n);for(let o=0;o<i.length;o++)i[o]^=54;this.iHash.update(i),this.oHash=t.create();for(let o=0;o<i.length;o++)i[o]^=106;this.oHash.update(i),i.fill(0)}update(t){return tr(this),this.iHash.update(t),this}digestInto(t){tr(this),Qe(t,this.outputLen),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){let t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));let{oHash:e,iHash:n,finished:s,destroyed:i,blockLen:o,outputLen:a}=this;return t=t,t.finished=s,t.destroyed=i,t.blockLen=o,t.outputLen=a,t.oHash=e._cloneInto(t.oHash),t.iHash=n._cloneInto(t.iHash),t}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},lo=(r,t,e)=>new xs(r,t).update(e).digest();lo.create=(r,t)=>new xs(r,t);function nl(r){r.lowS!==void 0&&Pt("lowS",r.lowS),r.prehash!==void 0&&Pt("prehash",r.prehash)}function rd(r){let t=Ir(r);zt(t,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:e,Fp:n,a:s}=t;if(e){if(!n.eql(s,n.ZERO))throw new Error("invalid endomorphism, can only be defined for Koblitz curves that have a=0");if(typeof e!="object"||typeof e.beta!="bigint"||typeof e.splitScalar!="function")throw new Error("invalid endomorphism, expected beta: bigint and splitScalar: function")}return Object.freeze({...t})}var{bytesToNumberBE:nd,hexToBytes:sd}=dn,ue={Err:class extends Error{constructor(t=""){super(t)}},_tlv:{encode:(r,t)=>{let{Err:e}=ue;if(r<0||r>256)throw new e("tlv.encode: wrong tag");if(t.length&1)throw new e("tlv.encode: unpadded data");let n=t.length/2,s=Ve(n);if(s.length/2&128)throw new e("tlv.encode: long form length too big");let i=n>127?Ve(s.length/2|128):"";return Ve(r)+i+s+t},decode(r,t){let{Err:e}=ue,n=0;if(r<0||r>256)throw new e("tlv.encode: wrong tag");if(t.length<2||t[n++]!==r)throw new e("tlv.decode: wrong tlv");let s=t[n++],i=!!(s&128),o=0;if(!i)o=s;else{let c=s&127;if(!c)throw new e("tlv.decode(long): indefinite length not supported");if(c>4)throw new e("tlv.decode(long): byte length is too big");let f=t.subarray(n,n+c);if(f.length!==c)throw new e("tlv.decode: length bytes not complete");if(f[0]===0)throw new e("tlv.decode(long): zero leftmost byte");for(let u of f)o=o<<8|u;if(n+=c,o<128)throw new e("tlv.decode(long): not minimal encoding")}let a=t.subarray(n,n+o);if(a.length!==o)throw new e("tlv.decode: wrong value length");return{v:a,l:t.subarray(n+o)}}},_int:{encode(r){let{Err:t}=ue;if(r<fe)throw new t("integer: negative integers are not allowed");let e=Ve(r);if(Number.parseInt(e[0],16)&8&&(e="00"+e),e.length&1)throw new t("unexpected DER parsing assertion: unpadded hex");return e},decode(r){let{Err:t}=ue;if(r[0]&128)throw new t("invalid signature integer: negative");if(r[0]===0&&!(r[1]&128))throw new t("invalid signature integer: unnecessary leading zero");return nd(r)}},toSig(r){let{Err:t,_int:e,_tlv:n}=ue,s=typeof r=="string"?sd(r):r;nr(s);let{v:i,l:o}=n.decode(48,s);if(o.length)throw new t("invalid signature: left bytes after parsing");let{v:a,l:c}=n.decode(2,i),{v:f,l:u}=n.decode(2,c);if(u.length)throw new t("invalid signature: left bytes after parsing");return{r:e.decode(a),s:e.decode(f)}},hexFromSig(r){let{_tlv:t,_int:e}=ue,n=t.encode(2,e.encode(r.r)),s=t.encode(2,e.encode(r.s)),i=n+s;return t.encode(48,i)}},fe=BigInt(0),ut=BigInt(1),om=BigInt(2),sl=BigInt(3),am=BigInt(4);function id(r){let t=rd(r),{Fp:e}=t,n=ve(t.n,t.nBitLength),s=t.toBytes||((w,p,v)=>{let A=p.toAffine();return ne(Uint8Array.from([4]),e.toBytes(A.x),e.toBytes(A.y))}),i=t.fromBytes||(w=>{let p=w.subarray(1),v=e.fromBytes(p.subarray(0,e.BYTES)),A=e.fromBytes(p.subarray(e.BYTES,2*e.BYTES));return{x:v,y:A}});function o(w){let{a:p,b:v}=t,A=e.sqr(w),m=e.mul(A,w);return e.add(e.add(m,e.mul(w,p)),v)}if(!e.eql(e.sqr(t.Gy),o(t.Gx)))throw new Error("bad generator point: equation left != right");function a(w){return kr(w,ut,t.n)}function c(w){let{allowedPrivateKeyLengths:p,nByteLength:v,wrapPrivateKey:A,n:m}=t;if(p&&typeof w!="bigint"){if(be(w)&&(w=ee(w)),typeof w!="string"||!p.includes(w.length))throw new Error("invalid private key");w=w.padStart(v*2,"0")}let S;try{S=typeof w=="bigint"?w:re(Q("private key",w,v))}catch{throw new Error("invalid private key, expected hex or "+v+" bytes, got "+typeof w)}return A&&(S=$(S,m)),It("private key",S,ut,m),S}function f(w){if(!(w instanceof h))throw new Error("ProjectivePoint expected")}let u=Pe((w,p)=>{let{px:v,py:A,pz:m}=w;if(e.eql(m,e.ONE))return{x:v,y:A};let S=w.is0();p==null&&(p=S?e.ONE:e.inv(m));let U=e.mul(v,p),L=e.mul(A,p),I=e.mul(m,p);if(S)return{x:e.ZERO,y:e.ZERO};if(!e.eql(I,e.ONE))throw new Error("invZ was invalid");return{x:U,y:L}}),l=Pe(w=>{if(w.is0()){if(t.allowInfinityPoint&&!e.is0(w.py))return;throw new Error("bad point: ZERO")}let{x:p,y:v}=w.toAffine();if(!e.isValid(p)||!e.isValid(v))throw new Error("bad point: x or y not FE");let A=e.sqr(v),m=o(p);if(!e.eql(A,m))throw new Error("bad point: equation left != right");if(!w.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});class h{constructor(p,v,A){if(this.px=p,this.py=v,this.pz=A,p==null||!e.isValid(p))throw new Error("x required");if(v==null||!e.isValid(v))throw new Error("y required");if(A==null||!e.isValid(A))throw new Error("z required");Object.freeze(this)}static fromAffine(p){let{x:v,y:A}=p||{};if(!p||!e.isValid(v)||!e.isValid(A))throw new Error("invalid affine point");if(p instanceof h)throw new Error("projective point not allowed");let m=S=>e.eql(S,e.ZERO);return m(v)&&m(A)?h.ZERO:new h(v,A,e.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(p){let v=e.invertBatch(p.map(A=>A.pz));return p.map((A,m)=>A.toAffine(v[m])).map(h.fromAffine)}static fromHex(p){let v=h.fromAffine(i(Q("pointHex",p)));return v.assertValidity(),v}static fromPrivateKey(p){return h.BASE.multiply(c(p))}static msm(p,v){return yn(h,n,p,v)}_setWindowSize(p){b.setWindowSize(this,p)}assertValidity(){l(this)}hasEvenY(){let{y:p}=this.toAffine();if(e.isOdd)return!e.isOdd(p);throw new Error("Field doesn't support isOdd")}equals(p){f(p);let{px:v,py:A,pz:m}=this,{px:S,py:U,pz:L}=p,I=e.eql(e.mul(v,L),e.mul(S,m)),N=e.eql(e.mul(A,L),e.mul(U,m));return I&&N}negate(){return new h(this.px,e.neg(this.py),this.pz)}double(){let{a:p,b:v}=t,A=e.mul(v,sl),{px:m,py:S,pz:U}=this,L=e.ZERO,I=e.ZERO,N=e.ZERO,T=e.mul(m,m),j=e.mul(S,S),F=e.mul(U,U),P=e.mul(m,S);return P=e.add(P,P),N=e.mul(m,U),N=e.add(N,N),L=e.mul(p,N),I=e.mul(A,F),I=e.add(L,I),L=e.sub(j,I),I=e.add(j,I),I=e.mul(L,I),L=e.mul(P,L),N=e.mul(A,N),F=e.mul(p,F),P=e.sub(T,F),P=e.mul(p,P),P=e.add(P,N),N=e.add(T,T),T=e.add(N,T),T=e.add(T,F),T=e.mul(T,P),I=e.add(I,T),F=e.mul(S,U),F=e.add(F,F),T=e.mul(F,P),L=e.sub(L,T),N=e.mul(F,j),N=e.add(N,N),N=e.add(N,N),new h(L,I,N)}add(p){f(p);let{px:v,py:A,pz:m}=this,{px:S,py:U,pz:L}=p,I=e.ZERO,N=e.ZERO,T=e.ZERO,j=t.a,F=e.mul(t.b,sl),P=e.mul(v,S),nt=e.mul(A,U),E=e.mul(m,L),C=e.add(v,A),y=e.add(S,U);C=e.mul(C,y),y=e.add(P,nt),C=e.sub(C,y),y=e.add(v,m);let g=e.add(S,L);return y=e.mul(y,g),g=e.add(P,E),y=e.sub(y,g),g=e.add(A,m),I=e.add(U,L),g=e.mul(g,I),I=e.add(nt,E),g=e.sub(g,I),T=e.mul(j,y),I=e.mul(F,E),T=e.add(I,T),I=e.sub(nt,T),T=e.add(nt,T),N=e.mul(I,T),nt=e.add(P,P),nt=e.add(nt,P),E=e.mul(j,E),y=e.mul(F,y),nt=e.add(nt,E),E=e.sub(P,E),E=e.mul(j,E),y=e.add(y,E),P=e.mul(nt,y),N=e.add(N,P),P=e.mul(g,y),I=e.mul(C,I),I=e.sub(I,P),P=e.mul(C,nt),T=e.mul(g,T),T=e.add(T,P),new h(I,N,T)}subtract(p){return this.add(p.negate())}is0(){return this.equals(h.ZERO)}wNAF(p){return b.wNAFCached(this,p,h.normalizeZ)}multiplyUnsafe(p){let{endo:v,n:A}=t;It("scalar",p,fe,A);let m=h.ZERO;if(p===fe)return m;if(this.is0()||p===ut)return this;if(!v||b.hasPrecomputes(this))return b.wNAFCachedUnsafe(this,p,h.normalizeZ);let{k1neg:S,k1:U,k2neg:L,k2:I}=v.splitScalar(p),N=m,T=m,j=this;for(;U>fe||I>fe;)U&ut&&(N=N.add(j)),I&ut&&(T=T.add(j)),j=j.double(),U>>=ut,I>>=ut;return S&&(N=N.negate()),L&&(T=T.negate()),T=new h(e.mul(T.px,v.beta),T.py,T.pz),N.add(T)}multiply(p){let{endo:v,n:A}=t;It("scalar",p,ut,A);let m,S;if(v){let{k1neg:U,k1:L,k2neg:I,k2:N}=v.splitScalar(p),{p:T,f:j}=this.wNAF(L),{p:F,f:P}=this.wNAF(N);T=b.constTimeNegate(U,T),F=b.constTimeNegate(I,F),F=new h(e.mul(F.px,v.beta),F.py,F.pz),m=T.add(F),S=j.add(P)}else{let{p:U,f:L}=this.wNAF(p);m=U,S=L}return h.normalizeZ([m,S])[0]}multiplyAndAddUnsafe(p,v,A){let m=h.BASE,S=(L,I)=>I===fe||I===ut||!L.equals(m)?L.multiplyUnsafe(I):L.multiply(I),U=S(this,v).add(S(p,A));return U.is0()?void 0:U}toAffine(p){return u(this,p)}isTorsionFree(){let{h:p,isTorsionFree:v}=t;if(p===ut)return!0;if(v)return v(h,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:p,clearCofactor:v}=t;return p===ut?this:v?v(h,this):this.multiplyUnsafe(t.h)}toRawBytes(p=!0){return Pt("isCompressed",p),this.assertValidity(),s(h,this,p)}toHex(p=!0){return Pt("isCompressed",p),ee(this.toRawBytes(p))}}h.BASE=new h(t.Gx,t.Gy,e.ONE),h.ZERO=new h(e.ZERO,e.ONE,e.ZERO);let d=t.nBitLength,b=mn(h,t.endo?Math.ceil(d/2):d);return{CURVE:t,ProjectivePoint:h,normPrivateKeyToScalar:c,weierstrassEquation:o,isWithinCurveOrder:a}}function od(r){let t=Ir(r);return zt(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}function il(r){let t=od(r),{Fp:e,n}=t,s=e.BYTES+1,i=2*e.BYTES+1;function o(E){return $(E,n)}function a(E){return pn(E,n)}let{ProjectivePoint:c,normPrivateKeyToScalar:f,weierstrassEquation:u,isWithinCurveOrder:l}=id({...t,toBytes(E,C,y){let g=C.toAffine(),x=e.toBytes(g.x),k=ne;return Pt("isCompressed",y),y?k(Uint8Array.from([C.hasEvenY()?2:3]),x):k(Uint8Array.from([4]),x,e.toBytes(g.y))},fromBytes(E){let C=E.length,y=E[0],g=E.subarray(1);if(C===s&&(y===2||y===3)){let x=re(g);if(!kr(x,ut,e.ORDER))throw new Error("Point is not on curve");let k=u(x),R;try{R=e.sqrt(k)}catch(H){let V=H instanceof Error?": "+H.message:"";throw new Error("Point is not on curve"+V)}let _=(R&ut)===ut;return(y&1)===1!==_&&(R=e.neg(R)),{x,y:R}}else if(C===i&&y===4){let x=e.fromBytes(g.subarray(0,e.BYTES)),k=e.fromBytes(g.subarray(e.BYTES,2*e.BYTES));return{x,y:k}}else{let x=s,k=i;throw new Error("invalid Point, expected length of "+x+", or uncompressed "+k+", got "+C)}}}),h=E=>ee(xe(E,t.nByteLength));function d(E){let C=n>>ut;return E>C}function b(E){return d(E)?o(-E):E}let w=(E,C,y)=>re(E.slice(C,y));class p{constructor(C,y,g){this.r=C,this.s=y,this.recovery=g,this.assertValidity()}static fromCompact(C){let y=t.nByteLength;return C=Q("compactSignature",C,y*2),new p(w(C,0,y),w(C,y,2*y))}static fromDER(C){let{r:y,s:g}=ue.toSig(Q("DER",C));return new p(y,g)}assertValidity(){It("r",this.r,ut,n),It("s",this.s,ut,n)}addRecoveryBit(C){return new p(this.r,this.s,C)}recoverPublicKey(C){let{r:y,s:g,recovery:x}=this,k=L(Q("msgHash",C));if(x==null||![0,1,2,3].includes(x))throw new Error("recovery id invalid");let R=x===2||x===3?y+t.n:y;if(R>=e.ORDER)throw new Error("recovery id 2 or 3 invalid");let _=x&1?"03":"02",D=c.fromHex(_+h(R)),H=a(R),V=o(-k*H),z=o(g*H),W=c.BASE.multiplyAndAddUnsafe(D,V,z);if(!W)throw new Error("point at infinify");return W.assertValidity(),W}hasHighS(){return d(this.s)}normalizeS(){return this.hasHighS()?new p(this.r,o(-this.s),this.recovery):this}toDERRawBytes(){return Oe(this.toDERHex())}toDERHex(){return ue.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return Oe(this.toCompactHex())}toCompactHex(){return h(this.r)+h(this.s)}}let v={isValidPrivateKey(E){try{return f(E),!0}catch{return!1}},normPrivateKeyToScalar:f,randomPrivateKey:()=>{let E=li(t.n);return La(t.randomBytes(E),t.n)},precompute(E=8,C=c.BASE){return C._setWindowSize(E),C.multiply(BigInt(3)),C}};function A(E,C=!0){return c.fromPrivateKey(E).toRawBytes(C)}function m(E){let C=be(E),y=typeof E=="string",g=(C||y)&&E.length;return C?g===s||g===i:y?g===2*s||g===2*i:E instanceof c}function S(E,C,y=!0){if(m(E))throw new Error("first arg must be private key");if(!m(C))throw new Error("second arg must be public key");return c.fromHex(C).multiply(f(E)).toRawBytes(y)}let U=t.bits2int||function(E){if(E.length>8192)throw new Error("input is too large");let C=re(E),y=E.length*8-t.nBitLength;return y>0?C>>BigInt(y):C},L=t.bits2int_modN||function(E){return o(U(E))},I=Sr(t.nBitLength);function N(E){return It("num < 2^"+t.nBitLength,E,fe,I),xe(E,t.nByteLength)}function T(E,C,y=j){if(["recovered","canonical"].some(ct=>ct in y))throw new Error("sign() legacy options not supported");let{hash:g,randomBytes:x}=t,{lowS:k,prehash:R,extraEntropy:_}=y;k==null&&(k=!0),E=Q("msgHash",E),nl(y),R&&(E=Q("prehashed msgHash",g(E)));let D=L(E),H=f(C),V=[N(H),N(D)];if(_!=null&&_!==!1){let ct=_===!0?x(e.BYTES):_;V.push(Q("extraEntropy",ct))}let z=ne(...V),W=D;function at(ct){let ft=U(ct);if(!l(ft))return;let pt=a(ft),St=c.BASE.multiply(ft).toAffine(),wt=o(St.x);if(wt===fe)return;let qt=o(pt*o(W+wt*H));if(qt===fe)return;let Jt=(St.x===wt?0:2)|Number(St.y&ut),wr=qt;return k&&d(qt)&&(wr=b(qt),Jt^=1),new p(wt,wr,Jt)}return{seed:z,k2sig:at}}let j={lowS:t.lowS,prehash:!1},F={lowS:t.lowS,prehash:!1};function P(E,C,y=j){let{seed:g,k2sig:x}=T(E,C,y),k=t;return ii(k.hash.outputLen,k.nByteLength,k.hmac)(g,x)}c.BASE._setWindowSize(8);function nt(E,C,y,g=F){let x=E;C=Q("msgHash",C),y=Q("publicKey",y);let{lowS:k,prehash:R,format:_}=g;if(nl(g),"strict"in g)throw new Error("options.strict was renamed to lowS");if(_!==void 0&&_!=="compact"&&_!=="der")throw new Error("format must be compact or der");let D=typeof x=="string"||be(x),H=!D&&!_&&typeof x=="object"&&x!==null&&typeof x.r=="bigint"&&typeof x.s=="bigint";if(!D&&!H)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");let V,z;try{if(H&&(V=new p(x.r,x.s)),D){try{_!=="compact"&&(V=p.fromDER(x))}catch(Jt){if(!(Jt instanceof ue.Err))throw Jt}!V&&_!=="der"&&(V=p.fromCompact(x))}z=c.fromHex(y)}catch{return!1}if(!V||k&&V.hasHighS())return!1;R&&(C=t.hash(C));let{r:W,s:at}=V,ct=L(C),ft=a(at),pt=o(ct*ft),St=o(W*ft),wt=c.BASE.multiplyAndAddUnsafe(z,pt,St)?.toAffine();return wt?o(wt.x)===W:!1}return{CURVE:t,getPublicKey:A,getSharedSecret:S,sign:P,verify:nt,ProjectivePoint:c,Signature:p,utils:v}}function ad(r){return{hash:r,hmac:(t,...e)=>lo(r,t,Xs(...e)),randomBytes:ln}}function ol(r,t){let e=n=>il({...r,...ad(n)});return Object.freeze({...e(t),create:e})}var ll=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),al=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),cd=BigInt(1),uo=BigInt(2),cl=(r,t)=>(r+t/uo)/t;function ld(r){let t=ll,e=BigInt(3),n=BigInt(6),s=BigInt(11),i=BigInt(22),o=BigInt(23),a=BigInt(44),c=BigInt(88),f=r*r*r%t,u=f*f*r%t,l=J(u,e,t)*u%t,h=J(l,e,t)*u%t,d=J(h,uo,t)*f%t,b=J(d,s,t)*d%t,w=J(b,i,t)*b%t,p=J(w,a,t)*w%t,v=J(p,c,t)*p%t,A=J(v,a,t)*w%t,m=J(A,e,t)*u%t,S=J(m,o,t)*b%t,U=J(S,n,t)*f%t,L=J(U,uo,t);if(!fo.eql(fo.sqr(L),r))throw new Error("Cannot find square root");return L}var fo=ve(ll,void 0,void 0,{sqrt:ld}),$e=ol({a:BigInt(0),b:BigInt(7),Fp:fo,n:al,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:r=>{let t=al,e=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-cd*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),s=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),i=e,o=BigInt("0x100000000000000000000000000000000"),a=cl(i*r,t),c=cl(-n*r,t),f=$(r-a*e-c*s,t),u=$(-a*n-c*i,t),l=f>o,h=u>o;if(l&&(f=t-f),h&&(u=t-u),f>o||u>o)throw new Error("splitScalar: Endomorphism failed, k="+r);return{k1neg:l,k1:f,k2neg:h,k2:u}}}},rl),mm=BigInt(0);var ym=$e.ProjectivePoint;function Rt(r,t){t==null&&(t=r.reduce((s,i)=>s+i.length,0));let e=Ct(t),n=0;for(let s of r)e.set(s,n),n+=s.length;return e}function ul(r){return r==null?!1:typeof r.then=="function"&&typeof r.catch=="function"&&typeof r.finally=="function"}function fl(r,t,e){let n=Tr.digest(e instanceof Uint8Array?e:e.subarray());if(ul(n))return n.then(({digest:s})=>$e.verify(t,s,r)).catch(s=>{throw new Fr(String(s))});try{return $e.verify(t,n.digest,r)}catch(s){throw new Fr(String(s))}}var vs=class{type="secp256k1";raw;_key;constructor(t){this._key=dl(t),this.raw=hl(this._key)}toMultihash(){return Qt.digest($t(this))}toCID(){return st.createV1(114,this.toMultihash())}toString(){return X.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:lt(this.raw,t.raw)}verify(t,e){return fl(this._key,e,t)}};function ho(r){return new vs(r)}function hl(r){return $e.ProjectivePoint.fromHex(r).toRawBytes(!0)}function dl(r){try{return $e.ProjectivePoint.fromHex(r),r}catch(t){throw new Ze(String(t))}}function Es(r){let{Type:t,Data:e}=Wt.decode(r),n=e??new Uint8Array;switch(t){case ot.RSA:return ao(n);case ot.Ed25519:return mi(n);case ot.secp256k1:return ho(n);default:throw new Ue}}function pl(r){let{Type:t,Data:e}=Wt.decode(r.digest),n=e??new Uint8Array;switch(t){case ot.Ed25519:return mi(n);case ot.secp256k1:return ho(n);default:throw new Ue}}function $t(r){return Wt.encode({Type:ot[r.type],Data:r.raw})}var gl=Symbol.for("nodejs.util.inspect.custom"),ud=114,zr=class{type;multihash;publicKey;string;constructor(t){this.type=t.type,this.multihash=t.multihash,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[rn]=!0;toString(){return this.string==null&&(this.string=X.encode(this.multihash.bytes).slice(1)),this.string}toMultihash(){return this.multihash}toCID(){return st.createV1(ud,this.multihash)}toJSON(){return this.toString()}equals(t){if(t==null)return!1;if(t instanceof Uint8Array)return lt(this.multihash.bytes,t);if(typeof t=="string")return this.toString()===t;if(t?.toMultihash()?.bytes!=null)return lt(this.multihash.bytes,t.toMultihash().bytes);throw new Error("not valid Id")}[gl](){return`PeerId(${this.toString()})`}},$r=class extends zr{type="RSA";publicKey;constructor(t){super({...t,type:"RSA"}),this.publicKey=t.publicKey}},Gr=class extends zr{type="Ed25519";publicKey;constructor(t){super({...t,type:"Ed25519"}),this.publicKey=t.publicKey}},Wr=class extends zr{type="secp256k1";publicKey;constructor(t){super({...t,type:"secp256k1"}),this.publicKey=t.publicKey}},fd=2336,Zr=class{type="url";multihash;publicKey;url;constructor(t){this.url=t.toString(),this.multihash=Qt.digest(Z(this.url))}[gl](){return`PeerId(${this.url})`}[rn]=!0;toString(){return this.toCID().toString()}toMultihash(){return this.multihash}toCID(){return st.createV1(fd,this.toMultihash())}toJSON(){return this.toString()}equals(t){return t==null?!1:(t instanceof Uint8Array&&(t=tt(t)),t.toString()===this.toString())}};var hd=114,ml=2336;function yl(r){if(r.type==="Ed25519")return new Gr({multihash:r.toCID().multihash,publicKey:r});if(r.type==="secp256k1")return new Wr({multihash:r.toCID().multihash,publicKey:r});if(r.type==="RSA")return new $r({multihash:r.toCID().multihash,publicKey:r});throw new Ue}function po(r){if(pd(r))return new $r({multihash:r});if(dd(r))try{let t=pl(r);if(t.type==="Ed25519")return new Gr({multihash:r,publicKey:t});if(t.type==="secp256k1")return new Wr({multihash:r,publicKey:t})}catch{let e=tt(r.digest);return new Zr(new URL(e))}throw new sn("Supplied PeerID Multihash is invalid")}function Bs(r){if(r?.multihash==null||r.version==null||r.version===1&&r.code!==hd&&r.code!==ml)throw new nn("Supplied PeerID CID is invalid");if(r.code===ml){let t=tt(r.multihash.digest);return new Zr(new URL(t))}return po(r.multihash)}function dd(r){return r.code===Qt.code}function pd(r){return r.code===Tr.code}var wl=Symbol.for("@achingbrain/uint8arraylist");function bl(r,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let e=0;for(let n of r){let s=e+n.byteLength;if(t<s)return{buf:n,index:t-e};e=s}throw new RangeError("index is out of bounds")}function As(r){return!!r?.[wl]}var ks=class r{bufs;length;[wl]=!0;constructor(...t){this.bufs=[],this.length=0,t.length>0&&this.appendAll(t)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...t){this.appendAll(t)}appendAll(t){let e=0;for(let n of t)if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.push(n);else if(As(n))e+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}prepend(...t){this.prependAll(t)}prependAll(t){let e=0;for(let n of t.reverse())if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.unshift(n);else if(As(n))e+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}get(t){let e=bl(this.bufs,t);return e.buf[e.index]}set(t,e){let n=bl(this.bufs,t);n.buf[n.index]=e}write(t,e=0){if(t instanceof Uint8Array)for(let n=0;n<t.length;n++)this.set(e+n,t[n]);else if(As(t))for(let n=0;n<t.length;n++)this.set(e+n,t.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(t){if(t=Math.trunc(t),!(Number.isNaN(t)||t<=0)){if(t===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(t>=this.bufs[0].byteLength)t-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(t),this.length-=t;break}}}slice(t,e){let{bufs:n,length:s}=this._subList(t,e);return Rt(n,s)}subarray(t,e){let{bufs:n,length:s}=this._subList(t,e);return n.length===1?n[0]:Rt(n,s)}sublist(t,e){let{bufs:n,length:s}=this._subList(t,e),i=new r;return i.length=s,i.bufs=[...n],i}_subList(t,e){if(t=t??0,e=e??this.length,t<0&&(t=this.length+t),e<0&&(e=this.length+e),t<0||e>this.length)throw new RangeError("index is out of bounds");if(t===e)return{bufs:[],length:0};if(t===0&&e===this.length)return{bufs:this.bufs,length:this.length};let n=[],s=0;for(let i=0;i<this.bufs.length;i++){let o=this.bufs[i],a=s,c=a+o.byteLength;if(s=c,t>=c)continue;let f=t>=a&&t<c,u=e>a&&e<=c;if(f&&u){if(t===a&&e===c){n.push(o);break}let l=t-a;n.push(o.subarray(l,l+(e-t)));break}if(f){if(t===0){n.push(o);continue}n.push(o.subarray(t-a));continue}if(u){if(e===c){n.push(o);break}n.push(o.subarray(0,e-a));break}n.push(o)}return{bufs:n,length:e-t}}indexOf(t,e=0){if(!As(t)&&!(t instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=t instanceof Uint8Array?t:t.subarray();if(e=Number(e??0),isNaN(e)&&(e=0),e<0&&(e=this.length+e),e<0&&(e=0),t.length===0)return e>this.length?this.length:e;let s=n.byteLength;if(s===0)throw new TypeError("search must be at least 1 byte long");let i=256,o=new Int32Array(i);for(let l=0;l<i;l++)o[l]=-1;for(let l=0;l<s;l++)o[n[l]]=l;let a=o,c=this.byteLength-n.byteLength,f=n.byteLength-1,u;for(let l=e;l<=c;l+=u){u=0;for(let h=f;h>=0;h--){let d=this.get(l+h);if(n[h]!==d){u=Math.max(1,h-a[d]);break}}if(u===0)return l}return-1}getInt8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getInt8(0)}setInt8(t,e){let n=Ct(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,e),this.write(n,t)}getInt16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,e)}setInt16(t,e,n){let s=rt(2);new DataView(s.buffer,s.byteOffset,s.byteLength).setInt16(0,e,n),this.write(s,t)}getInt32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,e)}setInt32(t,e,n){let s=rt(4);new DataView(s.buffer,s.byteOffset,s.byteLength).setInt32(0,e,n),this.write(s,t)}getBigInt64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,e)}setBigInt64(t,e,n){let s=rt(8);new DataView(s.buffer,s.byteOffset,s.byteLength).setBigInt64(0,e,n),this.write(s,t)}getUint8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getUint8(0)}setUint8(t,e){let n=Ct(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,e),this.write(n,t)}getUint16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,e)}setUint16(t,e,n){let s=rt(2);new DataView(s.buffer,s.byteOffset,s.byteLength).setUint16(0,e,n),this.write(s,t)}getUint32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,e)}setUint32(t,e,n){let s=rt(4);new DataView(s.buffer,s.byteOffset,s.byteLength).setUint32(0,e,n),this.write(s,t)}getBigUint64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,e)}setBigUint64(t,e,n){let s=rt(8);new DataView(s.buffer,s.byteOffset,s.byteLength).setBigUint64(0,e,n),this.write(s,t)}getFloat32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,e)}setFloat32(t,e,n){let s=rt(4);new DataView(s.buffer,s.byteOffset,s.byteLength).setFloat32(0,e,n),this.write(s,t)}getFloat64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,e)}setFloat64(t,e,n){let s=rt(8);new DataView(s.buffer,s.byteOffset,s.byteLength).setFloat64(0,e,n),this.write(s,t)}equals(t){if(t==null||!(t instanceof r)||t.bufs.length!==this.bufs.length)return!1;for(let e=0;e<this.bufs.length;e++)if(!lt(this.bufs[e],t.bufs[e]))return!1;return!0}static fromUint8Arrays(t,e){let n=new r;return n.bufs=t,e==null&&(e=t.reduce((s,i)=>s+i.byteLength,0)),n.length=e,n}};var jr;(function(r){let t;r.codec=()=>(t==null&&(t=Bt((e,n,s={})=>{s.lengthDelimited!==!1&&n.fork(),e.publicKey!=null&&e.publicKey.byteLength>0&&(n.uint32(10),n.bytes(e.publicKey)),e.payloadType!=null&&e.payloadType.byteLength>0&&(n.uint32(18),n.bytes(e.payloadType)),e.payload!=null&&e.payload.byteLength>0&&(n.uint32(26),n.bytes(e.payload)),e.signature!=null&&e.signature.byteLength>0&&(n.uint32(42),n.bytes(e.signature)),s.lengthDelimited!==!1&&n.ldelim()},(e,n,s={})=>{let i={publicKey:rt(0),payloadType:rt(0),payload:rt(0),signature:rt(0)},o=n==null?e.len:e.pos+n;for(;e.pos<o;){let a=e.uint32();switch(a>>>3){case 1:{i.publicKey=e.bytes();break}case 2:{i.payloadType=e.bytes();break}case 3:{i.payload=e.bytes();break}case 5:{i.signature=e.bytes();break}default:{e.skipType(a&7);break}}}return i})),t),r.encode=e=>Et(e,r.codec()),r.decode=(e,n)=>vt(e,r.codec(),n)})(jr||(jr={}));var Ss=class extends Error{constructor(t="Invalid signature"){super(t),this.name="InvalidSignatureError"}};var fr=class r{static createFromProtobuf=async t=>{let e=jr.decode(t),n=Es(e.publicKey);return new r({publicKey:n,payloadType:e.payloadType,payload:e.payload,signature:e.signature})};static seal=async(t,e)=>{if(e==null)throw new Error("Missing private key");let n=t.domain,s=t.codec,i=t.marshal(),o=xl(n,s,i),a=await e.sign(o.subarray());return new r({publicKey:e.publicKey,payloadType:s,payload:i,signature:a})};static openAndCertify=async(t,e)=>{let n=await r.createFromProtobuf(t);if(!await n.validate(e))throw new Ss("Envelope signature is not valid for the given domain");return n};publicKey;payloadType;payload;signature;marshaled;constructor(t){let{publicKey:e,payloadType:n,payload:s,signature:i}=t;this.publicKey=e,this.payloadType=n,this.payload=s,this.signature=i}marshal(){return this.marshaled==null&&(this.marshaled=jr.encode({publicKey:$t(this.publicKey),payloadType:this.payloadType,payload:this.payload.subarray(),signature:this.signature})),this.marshaled}equals(t){return lt(this.marshal(),t.marshal())}async validate(t){let e=xl(t,this.payloadType,this.payload);return this.publicKey.verify(e.subarray(),this.signature)}},xl=(r,t,e)=>{let n=Z(r),s=Gt(n.byteLength),i=Gt(t.length),o=Gt(e.length);return new ks(s,n,i,t,o,e)};function vl(r,t){let e=(n,s)=>n.toString().localeCompare(s.toString());return r.length!==t.length?!1:(t.sort(e),r.sort(e).every((n,s)=>t[s].equals(n)))}var Is=class{index=0;input="";new(t){return this.index=0,this.input=t,this}readAtomically(t){let e=this.index,n=t();return n===void 0&&(this.index=e),n}parseWith(t){let e=t();if(this.index===this.input.length)return e}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(t){return this.readAtomically(()=>{let e=this.readChar();if(e===t)return e})}readSeparator(t,e,n){return this.readAtomically(()=>{if(!(e>0&&this.readGivenChar(t)===void 0))return n()})}readNumber(t,e,n,s){return this.readAtomically(()=>{let i=0,o=0,a=this.peekChar();if(a===void 0)return;let c=a==="0",f=2**(8*s)-1;for(;;){let u=this.readAtomically(()=>{let l=this.readChar();if(l===void 0)return;let h=Number.parseInt(l,t);if(!Number.isNaN(h))return h});if(u===void 0)break;if(i*=t,i+=u,i>f||(o+=1,e!==void 0&&o>e))return}if(o!==0)return!n&&c&&o>1?void 0:i})}readIPv4Addr(){return this.readAtomically(()=>{let t=new Uint8Array(4);for(let e=0;e<t.length;e++){let n=this.readSeparator(".",e,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;t[e]=n}return t})}readIPv6Addr(){let t=e=>{for(let n=0;n<e.length/2;n++){let s=n*2;if(n<e.length-3){let o=this.readSeparator(":",n,()=>this.readIPv4Addr());if(o!==void 0)return e[s]=o[0],e[s+1]=o[1],e[s+2]=o[2],e[s+3]=o[3],[s+4,!0]}let i=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(i===void 0)return[s,!1];e[s]=i>>8,e[s+1]=i&255}return[e.length,!1]};return this.readAtomically(()=>{let e=new Uint8Array(16),[n,s]=t(e);if(n===16)return e;if(s||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let i=new Uint8Array(14),o=16-(n+2),[a]=t(i.subarray(0,o));return e.set(i.subarray(0,a),16-a),e})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var El=45,gd=15,hr=new Is;function go(r){if(!(r.length>gd))return hr.new(r).parseWith(()=>hr.readIPv4Addr())}function mo(r){if(r.includes("%")&&(r=r.split("%")[0]),!(r.length>El))return hr.new(r).parseWith(()=>hr.readIPv6Addr())}function Ts(r){if(r.includes("%")&&(r=r.split("%")[0]),!(r.length>El))return hr.new(r).parseWith(()=>hr.readIPAddr())}var Zy=parseInt("0xFFFF",16),jy=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function kl(r){return!!go(r)}function Sl(r){return!!mo(r)}function Cs(r){return!!Ts(r)}var Il=kl,xd=Sl,yo=function(r){let t=0;if(r=r.toString().trim(),Il(r)){let e=new Uint8Array(t+4);return r.split(/\./g).forEach(n=>{e[t++]=parseInt(n,10)&255}),e}if(xd(r)){let e=r.split(":",8),n;for(n=0;n<e.length;n++){let i=Il(e[n]),o;i&&(o=yo(e[n]),e[n]=tt(o.slice(0,2),"base16")),o!=null&&++n<8&&e.splice(n,0,tt(o.slice(2,4),"base16"))}if(e[0]==="")for(;e.length<8;)e.unshift("0");else if(e[e.length-1]==="")for(;e.length<8;)e.push("0");else if(e.length<8){for(n=0;n<e.length&&e[n]!=="";n++);let i=[n,1];for(n=9-e.length;n>0;n--)i.push("0");e.splice.apply(e,i)}let s=new Uint8Array(t+16);for(n=0;n<e.length;n++){let i=parseInt(e[n],16);s[t++]=i>>8&255,s[t++]=i&255}return s}throw new Error("invalid ip address")},Tl=function(r,t=0,e){t=~~t,e=e??r.length-t;let n=new DataView(r.buffer);if(e===4){let s=[];for(let i=0;i<e;i++)s.push(r[t+i]);return s.join(".")}if(e===16){let s=[];for(let i=0;i<e;i+=2)s.push(n.getUint16(t+i).toString(16));return s.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var dr={},bo={},Ed=[[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"],[481,-1,"http-path"],[777,-1,"memory"]];Ed.forEach(r=>{let t=Bd(...r);bo[t.code]=t,dr[t.name]=t});function Bd(r,t,e,n,s){return{code:r,size:t,name:e,resolvable:!!n,path:!!s}}function G(r){if(typeof r=="number"){if(bo[r]!=null)return bo[r];throw new Error(`no protocol with code: ${r}`)}else if(typeof r=="string"){if(dr[r]!=null)return dr[r];throw new Error(`no protocol with name: ${r}`)}throw new Error(`invalid protocol id type: ${typeof r}`)}var Ub=G("ip4"),Rb=G("ip6"),_b=G("ipcidr");function Eo(r,t){switch(G(r).code){case 4:case 41:return kd(t);case 42:return vo(t);case 6:case 273:case 33:case 132:return Ll(t).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return vo(t);case 421:return Cd(t);case 444:return Nl(t);case 445:return Nl(t);case 466:return Td(t);case 481:return globalThis.encodeURIComponent(vo(t));default:return tt(t,"base16")}}function Bo(r,t){switch(G(r).code){case 4:return Cl(t);case 41:return Cl(t);case 42:return xo(t);case 6:case 273:case 33:case 132:return Ao(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return xo(t);case 421:return Sd(t);case 444:return Nd(t);case 445:return Ld(t);case 466:return Id(t);case 481:return xo(globalThis.decodeURIComponent(t));default:return Z(t,"base16")}}var wo=Object.values(Cr).map(r=>r.decoder),Ad=function(){let r=wo[0].or(wo[1]);return wo.slice(2).forEach(t=>r=r.or(t)),r}();function Cl(r){if(!Cs(r))throw new Error("invalid ip address");return yo(r)}function kd(r){let t=Tl(r,0,r.length);if(t==null)throw new Error("ipBuff is required");if(!Cs(t))throw new Error("invalid ip address");return t}function Ao(r){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,r),new Uint8Array(t)}function Ll(r){return new DataView(r.buffer).getUint16(r.byteOffset)}function xo(r){let t=Z(r),e=Uint8Array.from(Gt(t.length));return Rt([e,t],e.length+t.length)}function vo(r){let t=He(r);if(r=r.slice(Nt(t)),r.length!==t)throw new Error("inconsistent lengths");return tt(r)}function Sd(r){let t;r[0]==="Q"||r[0]==="1"?t=Re(X.decode(`z${r}`)).bytes:t=st.parse(r).multihash.bytes;let e=Uint8Array.from(Gt(t.length));return Rt([e,t],e.length+t.length)}function Id(r){let t=Ad.decode(r),e=Uint8Array.from(Gt(t.length));return Rt([e,t],e.length+t.length)}function Td(r){let t=He(r),e=r.slice(Nt(t));if(e.length!==t)throw new Error("inconsistent lengths");return"u"+tt(e,"base64url")}function Cd(r){let t=He(r),e=r.slice(Nt(t));if(e.length!==t)throw new Error("inconsistent lengths");return tt(e,"base58btc")}function Nd(r){let t=r.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==16)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion address.`);let e=Vt.decode("b"+t[0]),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let s=Ao(n);return Rt([e,s],e.length+s.length)}function Ld(r){let t=r.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==56)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion3 address.`);let e=Vt.decode(`b${t[0]}`),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let s=Ao(n);return Rt([e,s],e.length+s.length)}function Nl(r){let t=r.slice(0,r.length-2),e=r.slice(r.length-2),n=tt(t,"base32"),s=Ll(e);return`${n}:${s}`}function Ul(r){r=ko(r);let t=[],e=[],n=null,s=r.split("/").slice(1);if(s.length===1&&s[0]==="")return{bytes:new Uint8Array,string:"/",tuples:[],stringTuples:[],path:null};for(let i=0;i<s.length;i++){let o=s[i],a=G(o);if(a.size===0){t.push([a.code]),e.push([a.code]);continue}if(i++,i>=s.length)throw _l("invalid address: "+r);if(a.path===!0){n=ko(s.slice(i).join("/")),t.push([a.code,Bo(a.code,n)]),e.push([a.code,n]);break}let c=Bo(a.code,s[i]);t.push([a.code,c]),e.push([a.code,Eo(a.code,c)])}return{string:Rl(e),bytes:Io(t),tuples:t,stringTuples:e,path:n}}function So(r){let t=[],e=[],n=null,s=0;for(;s<r.length;){let i=He(r,s),o=Nt(i),a=G(i),c=Ud(a,r.slice(s+o));if(c===0){t.push([i]),e.push([i]),s+=o;continue}let f=r.slice(s+o,s+o+c);if(s+=c+o,s>r.length)throw _l("Invalid address Uint8Array: "+tt(r,"base16"));t.push([i,f]);let u=Eo(i,f);if(e.push([i,u]),a.path===!0){n=u;break}}return{bytes:Uint8Array.from(r),string:Rl(e),tuples:t,stringTuples:e,path:n}}function Rl(r){let t=[];return r.map(e=>{let n=G(e[0]);return t.push(n.name),e.length>1&&e[1]!=null&&t.push(e[1]),null}),ko(t.join("/"))}function Io(r){return Rt(r.map(t=>{let e=G(t[0]),n=Uint8Array.from(Gt(e.code));return t.length>1&&t[1]!=null&&(n=Rt([n,t[1]])),n}))}function Ud(r,t){if(r.size>0)return r.size/8;if(r.size===0)return 0;{let e=He(t instanceof Uint8Array?t:Uint8Array.from(t));return e+Nt(e)}}function ko(r){return"/"+r.trim().split("/").filter(t=>t).join("/")}function _l(r){return new Error("Error parsing address: "+r)}var Rd=Symbol.for("nodejs.util.inspect.custom"),Co=Symbol.for("@multiformats/js-multiaddr/multiaddr"),_d=[G("dns").code,G("dns4").code,G("dns6").code,G("dnsaddr").code],To=class extends Error{constructor(t="No available resolver"){super(t),this.name="NoAvailableResolverError"}},Ns=class r{bytes;#t;#e;#i;#a;[Co]=!0;constructor(t){t==null&&(t="");let e;if(t instanceof Uint8Array)e=So(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);e=Ul(t)}else if(Ls(t))e=So(t.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=e.bytes,this.#t=e.string,this.#e=e.tuples,this.#i=e.stringTuples,this.#a=e.path}toString(){return this.#t}toJSON(){return this.toString()}toOptions(){let t,e,n,s,i="",o=G("tcp"),a=G("udp"),c=G("ip4"),f=G("ip6"),u=G("dns6"),l=G("ip6zone");for(let[d,b]of this.stringTuples())d===l.code&&(i=`%${b??""}`),_d.includes(d)&&(e=o.name,s=443,n=`${b??""}${i}`,t=d===u.code?6:4),(d===o.code||d===a.code)&&(e=G(d).name,s=parseInt(b??"")),(d===c.code||d===f.code)&&(e=G(d).name,n=`${b??""}${i}`,t=d===f.code?6:4);if(t==null||e==null||n==null||s==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:t,host:n,transport:e,port:s}}protos(){return this.#e.map(([t])=>Object.assign({},G(t)))}protoCodes(){return this.#e.map(([t])=>t)}protoNames(){return this.#e.map(([t])=>G(t).name)}tuples(){return this.#e.map(([t,e])=>e==null?[t]:[t,e])}stringTuples(){return this.#i.map(([t,e])=>e==null?[t]:[t,e])}encapsulate(t){return t=new r(t),new r(this.toString()+t.toString())}decapsulate(t){let e=t.toString(),n=this.toString(),s=n.lastIndexOf(e);if(s<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${t.toString()}`);return new r(n.slice(0,s))}decapsulateCode(t){let e=this.tuples();for(let n=e.length-1;n>=0;n--)if(e[n][0]===t)return new r(Io(e.slice(0,n)));return this}getPeerId(){try{let t=[];this.stringTuples().forEach(([n,s])=>{n===dr.p2p.code&&t.push([n,s]),n===dr["p2p-circuit"].code&&(t=[])});let e=t.pop();if(e?.[1]!=null){let n=e[1];return n[0]==="Q"||n[0]==="1"?tt(X.decode(`z${n}`),"base58btc"):tt(st.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#a}equals(t){return lt(this.bytes,t.bytes)}async resolve(t){let e=this.protos().find(i=>i.resolvable);if(e==null)return[this];let n=Vl.get(e.name);if(n==null)throw new To(`no available resolver for ${e.name}`);return(await n(this,t)).map(i=>he(i))}nodeAddress(){let t=this.toOptions();if(t.transport!=="tcp"&&t.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${t.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:t.family,address:t.host,port:t.port}}isThinWaistAddress(t){let e=(t??this).protos();return!(e.length!==2||e[0].code!==4&&e[0].code!==41||e[1].code!==6&&e[1].code!==273)}[Rd](){return`Multiaddr(${this.#t})`}};var Vl=new Map;function Ls(r){return!!r?.[Co]}function he(r){return new Ns(r)}var Ol="libp2p-peer-record",Dl=Uint8Array.from([3,1]);var Yr;(function(r){let t;(function(n){let s;n.codec=()=>(s==null&&(s=Bt((i,o,a={})=>{a.lengthDelimited!==!1&&o.fork(),i.multiaddr!=null&&i.multiaddr.byteLength>0&&(o.uint32(10),o.bytes(i.multiaddr)),a.lengthDelimited!==!1&&o.ldelim()},(i,o,a={})=>{let c={multiaddr:rt(0)},f=o==null?i.len:i.pos+o;for(;i.pos<f;){let u=i.uint32();switch(u>>>3){case 1:{c.multiaddr=i.bytes();break}default:{i.skipType(u&7);break}}}return c})),s),n.encode=i=>Et(i,n.codec()),n.decode=(i,o)=>vt(i,n.codec(),o)})(t=r.AddressInfo||(r.AddressInfo={}));let e;r.codec=()=>(e==null&&(e=Bt((n,s,i={})=>{if(i.lengthDelimited!==!1&&s.fork(),n.peerId!=null&&n.peerId.byteLength>0&&(s.uint32(10),s.bytes(n.peerId)),n.seq!=null&&n.seq!==0n&&(s.uint32(16),s.uint64(n.seq)),n.addresses!=null)for(let o of n.addresses)s.uint32(26),r.AddressInfo.codec().encode(o,s);i.lengthDelimited!==!1&&s.ldelim()},(n,s,i={})=>{let o={peerId:rt(0),seq:0n,addresses:[]},a=s==null?n.len:n.pos+s;for(;n.pos<a;){let c=n.uint32();switch(c>>>3){case 1:{o.peerId=n.bytes();break}case 2:{o.seq=n.uint64();break}case 3:{if(i.limits?.addresses!=null&&o.addresses.length===i.limits.addresses)throw new qe('Decode error - map field "addresses" had too many elements');o.addresses.push(r.AddressInfo.codec().decode(n,n.uint32(),{limits:i.limits?.addresses$}));break}default:{n.skipType(c&7);break}}}return o})),e),r.encode=n=>Et(n,r.codec()),r.decode=(n,s)=>vt(n,r.codec(),s)})(Yr||(Yr={}));var Ge=class r{static createFromProtobuf=t=>{let e=Yr.decode(t),n=po(Re(e.peerId)),s=(e.addresses??[]).map(o=>he(o.multiaddr)),i=e.seq;return new r({peerId:n,multiaddrs:s,seqNumber:i})};static DOMAIN=Ol;static CODEC=Dl;peerId;multiaddrs;seqNumber;domain=r.DOMAIN;codec=r.CODEC;marshaled;constructor(t){let{peerId:e,multiaddrs:n,seqNumber:s}=t;this.peerId=e,this.multiaddrs=n??[],this.seqNumber=s??BigInt(Date.now())}marshal(){return this.marshaled==null&&(this.marshaled=Yr.encode({peerId:this.peerId.toMultihash().bytes,seq:BigInt(this.seqNumber),addresses:this.multiaddrs.map(t=>({multiaddr:t.bytes}))})),this.marshaled}equals(t){return!(!(t instanceof r)||!this.peerId.equals(t.peerId)||this.seqNumber!==t.seqNumber||!vl(this.multiaddrs,t.multiaddrs))}};function Vd(r){return r[Symbol.asyncIterator]!=null}function Od(r){if(Vd(r))return(async()=>{let e=[];for await(let n of r)e.push(n);return e})();let t=[];for(let e of r)t.push(e);return t}var Pl=Od;var Lo=ta(Hl(),1);var Xr=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},Uo=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t}},Fl=r=>globalThis.DOMException===void 0?new Uo(r):new DOMException(r),Kl=r=>{let t=r.reason===void 0?Fl("This operation was aborted."):r.reason;return t instanceof Error?t:Fl(t)};function Qr(r,t){let{milliseconds:e,fallback:n,message:s,customTimers:i={setTimeout,clearTimeout}}=t,o,c=new Promise((f,u)=>{if(typeof e!="number"||Math.sign(e)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${e}\``);if(t.signal){let{signal:h}=t;h.aborted&&u(Kl(h));let d=()=>{u(Kl(h))};h.addEventListener("abort",d,{once:!0}),r.finally(()=>{h.removeEventListener("abort",d)})}if(e===Number.POSITIVE_INFINITY){r.then(f,u);return}let l=new Xr;o=i.setTimeout.call(void 0,()=>{if(n){try{f(n())}catch(h){u(h)}return}typeof r.cancel=="function"&&r.cancel(),s===!1?f():s instanceof Error?u(s):(l.message=s??`Promise timed out after ${e} milliseconds`,u(l))},e),(async()=>{try{f(await r)}catch(h){u(h)}})()}).finally(()=>{c.clear()});return c.clear=()=>{i.clearTimeout.call(void 0,o),o=void 0},c}function Ro(r,t,e){let n=0,s=r.length;for(;s>0;){let i=Math.trunc(s/2),o=n+i;e(r[o],t)<=0?(n=++o,s-=i+1):s=i}return n}var tn=class{#t=[];enqueue(t,e){e={priority:0,...e};let n={priority:e.priority,run:t};if(this.size&&this.#t[this.size-1].priority>=e.priority){this.#t.push(n);return}let s=Ro(this.#t,n,(i,o)=>o.priority-i.priority);this.#t.splice(s,0,n)}dequeue(){return this.#t.shift()?.run}filter(t){return this.#t.filter(e=>e.priority===t.priority).map(e=>e.run)}get size(){return this.#t.length}};var pr=class extends Lo.default{#t;#e;#i=0;#a;#c;#p=0;#n;#l;#r;#g;#s=0;#u;#o;#m;timeout;constructor(t){if(super(),t={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:tn,...t},!(typeof t.intervalCap=="number"&&t.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${t.intervalCap?.toString()??""}\` (${typeof t.intervalCap})`);if(t.interval===void 0||!(Number.isFinite(t.interval)&&t.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${t.interval?.toString()??""}\` (${typeof t.interval})`);this.#t=t.carryoverConcurrencyCount,this.#e=t.intervalCap===Number.POSITIVE_INFINITY||t.interval===0,this.#a=t.intervalCap,this.#c=t.interval,this.#r=new t.queueClass,this.#g=t.queueClass,this.concurrency=t.concurrency,this.timeout=t.timeout,this.#m=t.throwOnTimeout===!0,this.#o=t.autoStart===!1}get#w(){return this.#e||this.#i<this.#a}get#x(){return this.#s<this.#u}#v(){this.#s--,this.#f(),this.emit("next")}#E(){this.#b(),this.#y(),this.#l=void 0}get#B(){let t=Date.now();if(this.#n===void 0){let e=this.#p-t;if(e<0)this.#i=this.#t?this.#s:0;else return this.#l===void 0&&(this.#l=setTimeout(()=>{this.#E()},e)),!0}return!1}#f(){if(this.#r.size===0)return this.#n&&clearInterval(this.#n),this.#n=void 0,this.emit("empty"),this.#s===0&&this.emit("idle"),!1;if(!this.#o){let t=!this.#B;if(this.#w&&this.#x){let e=this.#r.dequeue();return e?(this.emit("active"),e(),t&&this.#y(),!0):!1}}return!1}#y(){this.#e||this.#n!==void 0||(this.#n=setInterval(()=>{this.#b()},this.#c),this.#p=Date.now()+this.#c)}#b(){this.#i===0&&this.#s===0&&this.#n&&(clearInterval(this.#n),this.#n=void 0),this.#i=this.#t?this.#s:0,this.#h()}#h(){for(;this.#f(););}get concurrency(){return this.#u}set concurrency(t){if(!(typeof t=="number"&&t>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${t}\` (${typeof t})`);this.#u=t,this.#h()}async#A(t){return new Promise((e,n)=>{t.addEventListener("abort",()=>{n(t.reason)},{once:!0})})}async add(t,e={}){return e={timeout:this.timeout,throwOnTimeout:this.#m,...e},new Promise((n,s)=>{this.#r.enqueue(async()=>{this.#s++,this.#i++;try{e.signal?.throwIfAborted();let i=t({signal:e.signal});e.timeout&&(i=Qr(Promise.resolve(i),{milliseconds:e.timeout})),e.signal&&(i=Promise.race([i,this.#A(e.signal)]));let o=await i;n(o),this.emit("completed",o)}catch(i){if(i instanceof Xr&&!e.throwOnTimeout){n();return}s(i),this.emit("error",i)}finally{this.#v()}},e),this.emit("add"),this.#f()})}async addAll(t,e){return Promise.all(t.map(async n=>this.add(n,e)))}start(){return this.#o?(this.#o=!1,this.#h(),this):this}pause(){this.#o=!0}clear(){this.#r=new this.#g}async onEmpty(){this.#r.size!==0&&await this.#d("empty")}async onSizeLessThan(t){this.#r.size<t||await this.#d("next",()=>this.#r.size<t)}async onIdle(){this.#s===0&&this.#r.size===0||await this.#d("idle")}async#d(t,e){return new Promise(n=>{let s=()=>{e&&!e()||(this.off(t,s),n())};this.on(t,s)})}get size(){return this.#r.size}sizeBy(t){return this.#r.filter(t).length}get pending(){return this.#s}get isPaused(){return this.#o}};var Ne={},gr=r=>{r.addEventListener("message",t=>{gr.dispatchEvent("message",r,t)}),r.port!=null&&r.port.addEventListener("message",t=>{gr.dispatchEvent("message",r,t)})};gr.addEventListener=(r,t)=>{Ne[r]==null&&(Ne[r]=[]),Ne[r].push(t)};gr.removeEventListener=(r,t)=>{Ne[r]!=null&&(Ne[r]=Ne[r].filter(e=>e===t))};gr.dispatchEvent=function(r,t,e){Ne[r]!=null&&Ne[r].forEach(n=>n(t,e))};var _o=gr;var Vo="lock:worker:request-read",Oo="lock:worker:release-read",Do="lock:master:grant-read",Po="lock:worker:request-write",Mo="lock:worker:release-write",Ho="lock:master:grant-write";var ql=(r=21)=>Math.random().toString().substring(2);var zl=(r,t,e,n,s)=>(i,o)=>{if(o.data.type!==e)return;let a={type:o.data.type,name:o.data.name,identifier:o.data.identifier};r.dispatchEvent(new MessageEvent(t,{data:{name:a.name,handler:async()=>{i.postMessage({type:s,name:a.name,identifier:a.identifier}),await new Promise(c=>{let f=u=>{if(u?.data==null)return;let l={type:u.data.type,name:u.data.name,identifier:u.data.identifier};l.type===n&&l.identifier===a.identifier&&(i.removeEventListener("message",f),c())};i.addEventListener("message",f)})}}}))},$l=(r,t,e,n)=>async()=>{let s=ql();return globalThis.postMessage({type:t,identifier:s,name:r}),new Promise(i=>{let o=a=>{if(a?.data==null)return;let c={type:a.data.type,identifier:a.data.identifier};c.type===e&&c.identifier===s&&(globalThis.removeEventListener("message",o),i(()=>{globalThis.postMessage({type:n,identifier:s,name:r})}))};globalThis.addEventListener("message",o)})},Md={singleProcess:!1},Gl=r=>{if(r=Object.assign({},Md,r),!!globalThis.document||r.singleProcess){let e=new EventTarget;return _o.addEventListener("message",zl(e,"requestReadLock",Vo,Oo,Do)),_o.addEventListener("message",zl(e,"requestWriteLock",Po,Mo,Ho)),e}return{isWorker:!0,readLock:e=>$l(e,Vo,Do,Oo),writeLock:e=>$l(e,Po,Ho,Mo)}};var We={},Le;async function Fo(r,t){let e,n=new Promise(s=>{e=s});return r.add(async()=>Qr((async()=>{await new Promise(s=>{e(()=>{s()})})})(),{milliseconds:t.timeout})),n}var Hd=(r,t)=>{if(Le.isWorker===!0)return{readLock:Le.readLock(r,t),writeLock:Le.writeLock(r,t)};let e=new pr({concurrency:1}),n;return{async readLock(){if(n!=null)return Fo(n,t);n=new pr({concurrency:t.concurrency,autoStart:!1});let s=n,i=Fo(n,t);return e.add(async()=>{s.start(),await s.onIdle().then(()=>{n===s&&(n=null)})}),i},async writeLock(){return n=null,Fo(e,t)}}},Fd={name:"lock",concurrency:1/0,timeout:846e5,singleProcess:!1};function Ko(r){let t=Object.assign({},Fd,r);return Le==null&&(Le=Gl(t),Le.isWorker!==!0&&(Le.addEventListener("requestReadLock",e=>{We[e.data.name]!=null&&We[e.data.name].readLock().then(async n=>e.data.handler().finally(()=>{n()}))}),Le.addEventListener("requestWriteLock",async e=>{We[e.data.name]!=null&&We[e.data.name].writeLock().then(async n=>e.data.handler().finally(()=>{n()}))}))),We[t.name]==null&&(We[t.name]=Hd(t.name,t)),We[t.name]}var mr;(function(r){let t;(function(s){let i;s.codec=()=>(i==null&&(i=Bt((o,a,c={})=>{c.lengthDelimited!==!1&&a.fork(),o.key!=null&&o.key!==""&&(a.uint32(10),a.string(o.key)),o.value!=null&&o.value.byteLength>0&&(a.uint32(18),a.bytes(o.value)),c.lengthDelimited!==!1&&a.ldelim()},(o,a,c={})=>{let f={key:"",value:rt(0)},u=a==null?o.len:o.pos+a;for(;o.pos<u;){let l=o.uint32();switch(l>>>3){case 1:{f.key=o.string();break}case 2:{f.value=o.bytes();break}default:{o.skipType(l&7);break}}}return f})),i),s.encode=o=>Et(o,s.codec()),s.decode=(o,a)=>vt(o,s.codec(),a)})(t=r.Peer$metadataEntry||(r.Peer$metadataEntry={}));let e;(function(s){let i;s.codec=()=>(i==null&&(i=Bt((o,a,c={})=>{c.lengthDelimited!==!1&&a.fork(),o.key!=null&&o.key!==""&&(a.uint32(10),a.string(o.key)),o.value!=null&&(a.uint32(18),_s.codec().encode(o.value,a)),c.lengthDelimited!==!1&&a.ldelim()},(o,a,c={})=>{let f={key:""},u=a==null?o.len:o.pos+a;for(;o.pos<u;){let l=o.uint32();switch(l>>>3){case 1:{f.key=o.string();break}case 2:{f.value=_s.codec().decode(o,o.uint32(),{limits:c.limits?.value});break}default:{o.skipType(l&7);break}}}return f})),i),s.encode=o=>Et(o,s.codec()),s.decode=(o,a)=>vt(o,s.codec(),a)})(e=r.Peer$tagsEntry||(r.Peer$tagsEntry={}));let n;r.codec=()=>(n==null&&(n=Bt((s,i,o={})=>{if(o.lengthDelimited!==!1&&i.fork(),s.addresses!=null)for(let a of s.addresses)i.uint32(10),Rs.codec().encode(a,i);if(s.protocols!=null)for(let a of s.protocols)i.uint32(18),i.string(a);if(s.publicKey!=null&&(i.uint32(34),i.bytes(s.publicKey)),s.peerRecordEnvelope!=null&&(i.uint32(42),i.bytes(s.peerRecordEnvelope)),s.metadata!=null&&s.metadata.size!==0)for(let[a,c]of s.metadata.entries())i.uint32(50),r.Peer$metadataEntry.codec().encode({key:a,value:c},i);if(s.tags!=null&&s.tags.size!==0)for(let[a,c]of s.tags.entries())i.uint32(58),r.Peer$tagsEntry.codec().encode({key:a,value:c},i);o.lengthDelimited!==!1&&i.ldelim()},(s,i,o={})=>{let a={addresses:[],protocols:[],metadata:new Map,tags:new Map},c=i==null?s.len:s.pos+i;for(;s.pos<c;){let f=s.uint32();switch(f>>>3){case 1:{if(o.limits?.addresses!=null&&a.addresses.length===o.limits.addresses)throw new qe('Decode error - map field "addresses" had too many elements');a.addresses.push(Rs.codec().decode(s,s.uint32(),{limits:o.limits?.addresses$}));break}case 2:{if(o.limits?.protocols!=null&&a.protocols.length===o.limits.protocols)throw new qe('Decode error - map field "protocols" had too many elements');a.protocols.push(s.string());break}case 4:{a.publicKey=s.bytes();break}case 5:{a.peerRecordEnvelope=s.bytes();break}case 6:{if(o.limits?.metadata!=null&&a.metadata.size===o.limits.metadata)throw new Ur('Decode error - map field "metadata" had too many elements');let u=r.Peer$metadataEntry.codec().decode(s,s.uint32());a.metadata.set(u.key,u.value);break}case 7:{if(o.limits?.tags!=null&&a.tags.size===o.limits.tags)throw new Ur('Decode error - map field "tags" had too many elements');let u=r.Peer$tagsEntry.codec().decode(s,s.uint32(),{limits:{value:o.limits?.tags$value}});a.tags.set(u.key,u.value);break}default:{s.skipType(f&7);break}}}return a})),n),r.encode=s=>Et(s,r.codec()),r.decode=(s,i)=>vt(s,r.codec(),i)})(mr||(mr={}));var Rs;(function(r){let t;r.codec=()=>(t==null&&(t=Bt((e,n,s={})=>{s.lengthDelimited!==!1&&n.fork(),e.multiaddr!=null&&e.multiaddr.byteLength>0&&(n.uint32(10),n.bytes(e.multiaddr)),e.isCertified!=null&&(n.uint32(16),n.bool(e.isCertified)),s.lengthDelimited!==!1&&n.ldelim()},(e,n,s={})=>{let i={multiaddr:rt(0)},o=n==null?e.len:e.pos+n;for(;e.pos<o;){let a=e.uint32();switch(a>>>3){case 1:{i.multiaddr=e.bytes();break}case 2:{i.isCertified=e.bool();break}default:{e.skipType(a&7);break}}}return i})),t),r.encode=e=>Et(e,r.codec()),r.decode=(e,n)=>vt(e,r.codec(),n)})(Rs||(Rs={}));var _s;(function(r){let t;r.codec=()=>(t==null&&(t=Bt((e,n,s={})=>{s.lengthDelimited!==!1&&n.fork(),e.value!=null&&e.value!==0&&(n.uint32(8),n.uint32(e.value)),e.expiry!=null&&(n.uint32(16),n.uint64(e.expiry)),s.lengthDelimited!==!1&&n.ldelim()},(e,n,s={})=>{let i={value:0},o=n==null?e.len:e.pos+n;for(;e.pos<o;){let a=e.uint32();switch(a>>>3){case 1:{i.value=e.uint32();break}case 2:{i.expiry=e.uint64();break}default:{e.skipType(a&7);break}}}return i})),t),r.encode=e=>Et(e,r.codec()),r.decode=(e,n)=>vt(e,r.codec(),n)})(_s||(_s={}));function yr(r,t){let e=mr.decode(t);if(e.publicKey!=null&&r.publicKey==null){let i=Es(e.publicKey);r=yl(i)}let n=new Map,s=BigInt(Date.now());for(let[i,o]of e.tags.entries())o.expiry!=null&&o.expiry<s||n.set(i,o);return{...e,id:r,addresses:e.addresses.map(({multiaddr:i,isCertified:o})=>({multiaddr:he(i),isCertified:o??!1})),metadata:e.metadata,peerRecordEnvelope:e.peerRecordEnvelope??void 0,tags:n}}var de="/",Wl=new TextEncoder().encode(de),Vs=Wl[0],Os=class r{_buf;constructor(t,e){if(typeof t=="string")this._buf=Z(t);else if(t instanceof Uint8Array)this._buf=t;else throw new Error("Invalid key, should be String of Uint8Array");if(e==null&&(e=!0),e&&this.clean(),this._buf.byteLength===0||this._buf[0]!==Vs)throw new Error("Invalid key")}toString(t="utf8"){return tt(this._buf,t)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(t){return new r(t.join(de))}static random(){return new r(Math.random().toString().substring(2))}static asKey(t){return t instanceof Uint8Array||typeof t=="string"?new r(t):typeof t.uint8Array=="function"?new r(t.uint8Array()):null}clean(){if((this._buf==null||this._buf.byteLength===0)&&(this._buf=Wl),this._buf[0]!==Vs){let t=new Uint8Array(this._buf.byteLength+1);t.fill(Vs,0,1),t.set(this._buf,1),this._buf=t}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===Vs;)this._buf=this._buf.subarray(0,-1)}less(t){let e=this.list(),n=t.list();for(let s=0;s<e.length;s++){if(n.length<s+1)return!1;let i=e[s],o=n[s];if(i<o)return!0;if(i>o)return!1}return e.length<n.length}reverse(){return r.withNamespaces(this.list().slice().reverse())}namespaces(){return this.list()}baseNamespace(){let t=this.namespaces();return t[t.length-1]}list(){return this.toString().split(de).slice(1)}type(){return Kd(this.baseNamespace())}name(){return qd(this.baseNamespace())}instance(t){return new r(this.toString()+":"+t)}path(){let t=this.parent().toString();return t.endsWith(de)||(t+=de),t+=this.type(),new r(t)}parent(){let t=this.list();return t.length===1?new r(de):new r(t.slice(0,-1).join(de))}child(t){return this.toString()===de?t:t.toString()===de?this:new r(this.toString()+t.toString(),!1)}isAncestorOf(t){return t.toString()===this.toString()?!1:t.toString().startsWith(this.toString())}isDecendantOf(t){return t.toString()===this.toString()?!1:this.toString().startsWith(t.toString())}isTopLevel(){return this.list().length===1}concat(...t){return r.withNamespaces([...this.namespaces(),...zd(t.map(e=>e.namespaces()))])}};function Kd(r){let t=r.split(":");return t.length<2?"":t.slice(0,-1).join(":")}function qd(r){let t=r.split(":");return t[t.length-1]}function zd(r){return[].concat(...r)}var qo="/peers/";function br(r){if(!ea(r)||r.type==null)throw new K("Invalid PeerId");let t=r.toCID().toString();return new Os(`${qo}${t}`)}async function Zl(r,t,e){let n=new Map;for(let s of e){if(s==null)continue;if(s.multiaddr instanceof Uint8Array&&(s.multiaddr=he(s.multiaddr)),!Ls(s.multiaddr))throw new K("Multiaddr was invalid");if(!await t(r,s.multiaddr))continue;let i=s.isCertified??!1,o=s.multiaddr.toString(),a=n.get(o);a!=null?s.isCertified=a.isCertified||i:n.set(o,{multiaddr:s.multiaddr,isCertified:i})}return[...n.values()].sort((s,i)=>s.multiaddr.toString().localeCompare(i.multiaddr.toString())).map(({isCertified:s,multiaddr:i})=>({isCertified:s,multiaddr:i.bytes}))}async function Ps(r,t,e,n){if(t==null)throw new K("Invalid PeerData");if(t.publicKey!=null&&r.publicKey!=null&&!t.publicKey.equals(r.publicKey))throw new K("publicKey bytes do not match peer id publicKey bytes");let s=n.existingPeer;if(s!=null&&!r.equals(s.id))throw new K("peer id did not match existing peer id");let i=s?.addresses??[],o=new Set(s?.protocols??[]),a=s?.metadata??new Map,c=s?.tags??new Map,f=s?.peerRecordEnvelope;if(e==="patch"){if((t.multiaddrs!=null||t.addresses!=null)&&(i=[],t.multiaddrs!=null&&i.push(...t.multiaddrs.map(h=>({isCertified:!1,multiaddr:h}))),t.addresses!=null&&i.push(...t.addresses)),t.protocols!=null&&(o=new Set(t.protocols)),t.metadata!=null){let h=t.metadata instanceof Map?[...t.metadata.entries()]:Object.entries(t.metadata);a=Ds(h,{validate:jl})}if(t.tags!=null){let h=t.tags instanceof Map?[...t.tags.entries()]:Object.entries(t.tags);c=Ds(h,{validate:Yl,map:Jl})}t.peerRecordEnvelope!=null&&(f=t.peerRecordEnvelope)}if(e==="merge"){if(t.multiaddrs!=null&&i.push(...t.multiaddrs.map(h=>({isCertified:!1,multiaddr:h}))),t.addresses!=null&&i.push(...t.addresses),t.protocols!=null&&(o=new Set([...o,...t.protocols])),t.metadata!=null){let h=t.metadata instanceof Map?[...t.metadata.entries()]:Object.entries(t.metadata);for(let[d,b]of h)b==null?a.delete(d):a.set(d,b);a=Ds([...a.entries()],{validate:jl})}if(t.tags!=null){let h=t.tags instanceof Map?[...t.tags.entries()]:Object.entries(t.tags),d=new Map(c);for(let[b,w]of h)w==null?d.delete(b):d.set(b,w);c=Ds([...d.entries()],{validate:Yl,map:Jl})}t.peerRecordEnvelope!=null&&(f=t.peerRecordEnvelope)}let u;s?.id.publicKey!=null?u=$t(s.id.publicKey):t.publicKey!=null?u=$t(t.publicKey):r.publicKey!=null&&(u=$t(r.publicKey));let l={addresses:await Zl(r,n.addressFilter??(async()=>!0),i),protocols:[...o.values()].sort((h,d)=>h.localeCompare(d)),metadata:a,tags:c,publicKey:u,peerRecordEnvelope:f};return r.type!=="RSA"&&delete l.publicKey,l}function Ds(r,t){let e=new Map;for(let[n,s]of r)s!=null&&t.validate(n,s);for(let[n,s]of r.sort(([i],[o])=>i.localeCompare(o)))s!=null&&e.set(n,t.map?.(n,s)??s);return e}function jl(r,t){if(typeof r!="string")throw new K("Metadata key must be a string");if(!(t instanceof Uint8Array))throw new K("Metadata value must be a Uint8Array")}function Yl(r,t){if(typeof r!="string")throw new K("Tag name must be a string");if(t.value!=null){if(parseInt(`${t.value}`,10)!==t.value)throw new K("Tag value must be an integer");if(t.value<0||t.value>100)throw new K("Tag value must be between 0-100")}if(t.ttl!=null){if(parseInt(`${t.ttl}`,10)!==t.ttl)throw new K("Tag ttl must be an integer");if(t.ttl<0)throw new K("Tag ttl must be between greater than 0")}}function Jl(r,t){let e;return t.expiry!=null&&(e=t.expiry),t.ttl!=null&&(e=BigInt(Date.now()+Number(t.ttl))),{value:t.value??0,expiry:e}}function Ms(r,t){let e=r.toString().split("/")[2],n=st.parse(e,Vt),s=Bs(n);return yr(s,t)}function $d(r){return r==null?{}:{prefix:qo,filters:(r.filters??[]).map(t=>({key:e,value:n})=>t(Ms(e,n))),orders:(r.orders??[]).map(t=>(e,n)=>t(Ms(e.key,e.value),Ms(n.key,n.value)))}}var Hs=class{peerId;datastore;lock;addressFilter;log;constructor(t,e={}){this.log=t.logger.forComponent("libp2p:peer-store"),this.peerId=t.peerId,this.datastore=t.datastore,this.addressFilter=e.addressFilter,this.lock=Ko({name:"peer-store",singleProcess:!0})}async has(t){return this.datastore.has(br(t))}async delete(t){if(this.peerId.equals(t))throw new K("Cannot delete self peer");await this.datastore.delete(br(t))}async load(t){let e=await this.datastore.get(br(t));return yr(t,e)}async save(t,e){let{existingBuf:n,existingPeer:s}=await this.#t(t),i=await Ps(t,e,"patch",{addressFilter:this.addressFilter});return this.#e(t,i,n,s)}async patch(t,e){let{existingBuf:n,existingPeer:s}=await this.#t(t),i=await Ps(t,e,"patch",{addressFilter:this.addressFilter,existingPeer:s});return this.#e(t,i,n,s)}async merge(t,e){let{existingBuf:n,existingPeer:s}=await this.#t(t),i=await Ps(t,e,"merge",{addressFilter:this.addressFilter,existingPeer:s});return this.#e(t,i,n,s)}async*all(t){for await(let{key:e,value:n}of this.datastore.query($d(t??{}))){let s=Ms(e,n);s.id.equals(this.peerId)||(yield s)}}async#t(t){try{let e=await this.datastore.get(br(t)),n=yr(t,e);return{existingBuf:e,existingPeer:n}}catch(e){e.name!=="NotFoundError"&&this.log.error("invalid peer data found in peer store - %e",e)}return{}}async#e(t,e,n,s){let i=mr.encode(e);return n!=null&&lt(i,n)?{peer:yr(t,i),previous:s,updated:!1}:(await this.datastore.put(br(t),i),{peer:yr(t,i),previous:s,updated:!0})}};var zo=class{store;events;peerId;log;constructor(t,e={}){this.log=t.logger.forComponent("libp2p:peer-store"),this.events=t.events,this.peerId=t.peerId,this.store=new Hs(t,e)}[Symbol.toStringTag]="@libp2p/peer-store";async forEach(t,e){this.log.trace("forEach await read lock");let n=await this.store.lock.readLock();this.log.trace("forEach got read lock");try{for await(let s of this.store.all(e))t(s)}finally{this.log.trace("forEach release read lock"),n()}}async all(t){this.log.trace("all await read lock");let e=await this.store.lock.readLock();this.log.trace("all got read lock");try{return await Pl(this.store.all(t))}finally{this.log.trace("all release read lock"),e()}}async delete(t){this.log.trace("delete await write lock");let e=await this.store.lock.writeLock();this.log.trace("delete got write lock");try{await this.store.delete(t)}finally{this.log.trace("delete release write lock"),e()}}async has(t){this.log.trace("has await read lock");let e=await this.store.lock.readLock();this.log.trace("has got read lock");try{return await this.store.has(t)}finally{this.log.trace("has release read lock"),e()}}async get(t){this.log.trace("get await read lock");let e=await this.store.lock.readLock();this.log.trace("get got read lock");try{return await this.store.load(t)}finally{this.log.trace("get release read lock"),e()}}async save(t,e){this.log.trace("save await write lock");let n=await this.store.lock.writeLock();this.log.trace("save got write lock");try{let s=await this.store.save(t,e);return this.#t(t,s),s.peer}finally{this.log.trace("save release write lock"),n()}}async patch(t,e){this.log.trace("patch await write lock");let n=await this.store.lock.writeLock();this.log.trace("patch got write lock");try{let s=await this.store.patch(t,e);return this.#t(t,s),s.peer}finally{this.log.trace("patch release write lock"),n()}}async merge(t,e){this.log.trace("merge await write lock");let n=await this.store.lock.writeLock();this.log.trace("merge got write lock");try{let s=await this.store.merge(t,e);return this.#t(t,s),s.peer}finally{this.log.trace("merge release write lock"),n()}}async consumePeerRecord(t,e){let n=await fr.openAndCertify(t,Ge.DOMAIN),s=Bs(n.publicKey.toCID());if(e?.equals(s)===!1)return this.log("envelope peer id was not the expected peer id - expected: %p received: %p",e,s),!1;let i=Ge.createFromProtobuf(n.payload),o;try{o=await this.get(s)}catch(a){if(a.name!=="NotFoundError")throw a}if(o?.peerRecordEnvelope!=null){let a=await fr.createFromProtobuf(o.peerRecordEnvelope),c=Ge.createFromProtobuf(a.payload);if(c.seqNumber>=i.seqNumber)return this.log("sequence number was lower or equal to existing sequence number - stored: %d received: %d",c.seqNumber,i.seqNumber),!1}return await this.patch(i.peerId,{peerRecordEnvelope:t,addresses:i.multiaddrs.map(a=>({isCertified:!0,multiaddr:a}))}),!0}#t(t,e){e.updated&&(this.peerId.equals(t)?this.events.safeDispatchEvent("self:peer:update",{detail:e}):this.events.safeDispatchEvent("peer:update",{detail:e}))}};function Gd(r,t={}){return new zo(r,t)}return fu(Wd);})();
7
7
  /*! Bundled license information:
8
8
 
9
9
  pvtsutils/build/index.js:
@@ -13,6 +13,7 @@ export declare class PersistentStore {
13
13
  private readonly datastore;
14
14
  readonly lock: Mortice;
15
15
  private readonly addressFilter?;
16
+ private readonly log;
16
17
  constructor(components: PersistentPeerStoreComponents, init?: PersistentPeerStoreInit);
17
18
  has(peerId: PeerId): Promise<boolean>;
18
19
  delete(peerId: PeerId): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/store.ts"],"names":[],"mappings":"AAEA,OAAgB,EAAE,KAAK,OAAO,EAAE,MAAM,SAAS,CAAA;AAQ/C,OAAO,KAAK,EAAiB,6BAA6B,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AACvG,OAAO,KAAK,EAAE,UAAU,IAAI,kBAAkB,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAG5G;;GAEG;AACH,MAAM,WAAW,UAAW,SAAQ,kBAAkB;IACpD,OAAO,EAAE,OAAO,CAAA;CACjB;AA2BD,qBAAa,eAAe;;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,SAAgB,IAAI,EAAE,OAAO,CAAA;IAC7B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAe;gBAEjC,UAAU,EAAE,6BAA6B,EAAE,IAAI,GAAE,uBAA4B;IAUpF,GAAG,CAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAItC,MAAM,CAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQtC,IAAI,CAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMpC,IAAI,CAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC;IAa1D,KAAK,CAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;IAcpE,KAAK,CAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC;IAczD,GAAG,CAAE,KAAK,CAAC,EAAE,SAAS,GAAG,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC;CAkDrE"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/store.ts"],"names":[],"mappings":"AAEA,OAAgB,EAAE,KAAK,OAAO,EAAE,MAAM,SAAS,CAAA;AAQ/C,OAAO,KAAK,EAAiB,6BAA6B,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AACvG,OAAO,KAAK,EAAE,UAAU,IAAI,kBAAkB,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAU,MAAM,mBAAmB,CAAA;AAGpH;;GAEG;AACH,MAAM,WAAW,UAAW,SAAQ,kBAAkB;IACpD,OAAO,EAAE,OAAO,CAAA;CACjB;AA2BD,qBAAa,eAAe;;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,SAAgB,IAAI,EAAE,OAAO,CAAA;IAC7B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAe;IAC9C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;gBAEf,UAAU,EAAE,6BAA6B,EAAE,IAAI,GAAE,uBAA4B;IAWpF,GAAG,CAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAItC,MAAM,CAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQtC,IAAI,CAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMpC,IAAI,CAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC;IAa1D,KAAK,CAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;IAcpE,KAAK,CAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC;IAczD,GAAG,CAAE,KAAK,CAAC,EAAE,SAAS,GAAG,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC;CAkDrE"}
package/dist/src/store.js CHANGED
@@ -34,7 +34,9 @@ export class PersistentStore {
34
34
  datastore;
35
35
  lock;
36
36
  addressFilter;
37
+ log;
37
38
  constructor(components, init = {}) {
39
+ this.log = components.logger.forComponent('libp2p:peer-store');
38
40
  this.peerId = components.peerId;
39
41
  this.datastore = components.datastore;
40
42
  this.addressFilter = init.addressFilter;
@@ -100,7 +102,7 @@ export class PersistentStore {
100
102
  }
101
103
  catch (err) {
102
104
  if (err.name !== 'NotFoundError') {
103
- throw err;
105
+ this.log.error('invalid peer data found in peer store - %e', err);
104
106
  }
105
107
  }
106
108
  return {};
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,OAAO,EAAE,EAAgB,MAAM,SAAS,CAAA;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAClD,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,EAAE,MAAM,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC/D,OAAO,EAAE,IAAI,IAAI,MAAM,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAA;AAC5F,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAYhD,SAAS,UAAU,CAAE,GAAQ,EAAE,KAAiB;IAC9C,wDAAwD;IACxD,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IAC9C,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;IACxC,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAA;IAEjC,OAAO,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;AACnC,CAAC;AAED,SAAS,QAAQ,CAAE,KAAgB;IACjC,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QAClB,OAAO,EAAE,CAAA;IACX,CAAC;IAED,OAAO;QACL,MAAM,EAAE,gBAAgB;QACxB,OAAO,EAAE,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE;YAC1D,OAAO,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAA;QACnC,CAAC,CAAC;QACF,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAC9C,OAAO,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;QACnE,CAAC,CAAC;KACH,CAAA;AACH,CAAC;AAED,MAAM,OAAO,eAAe;IACT,MAAM,CAAQ;IACd,SAAS,CAAW;IACrB,IAAI,CAAS;IACZ,aAAa,CAAgB;IAC7B,GAAG,CAAQ;IAE5B,YAAa,UAAyC,EAAE,OAAgC,EAAE;QACxF,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAA;QAC9D,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAA;QAC/B,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAA;QACrC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAA;QACvC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;YAClB,IAAI,EAAE,YAAY;YAClB,aAAa,EAAE,IAAI;SACpB,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,GAAG,CAAE,MAAc;QACvB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAA;IACzD,CAAC;IAED,KAAK,CAAC,MAAM,CAAE,MAAc;QAC1B,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,sBAAsB,CAAC,yBAAyB,CAAC,CAAA;QAC7D,CAAC;QAED,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAA;IAC3D,CAAC;IAED,KAAK,CAAC,IAAI,CAAE,MAAc;QACxB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAA;QAElE,OAAO,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACjC,CAAC;IAED,KAAK,CAAC,IAAI,CAAE,MAAc,EAAE,IAAc;QACxC,MAAM,EACJ,WAAW,EACX,YAAY,EACb,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAA;QAExC,MAAM,MAAM,GAAW,MAAM,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE;YAC3D,aAAa,EAAE,IAAI,CAAC,aAAa;SAClC,CAAC,CAAA;QAEF,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,CAAC,CAAA;IACzE,CAAC;IAED,KAAK,CAAC,KAAK,CAAE,MAAc,EAAE,IAAuB;QAClD,MAAM,EACJ,WAAW,EACX,YAAY,EACb,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAA;QAExC,MAAM,MAAM,GAAW,MAAM,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE;YAC3D,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,YAAY;SACb,CAAC,CAAA;QAEF,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,CAAC,CAAA;IACzE,CAAC;IAED,KAAK,CAAC,KAAK,CAAE,MAAc,EAAE,IAAc;QACzC,MAAM,EACJ,WAAW,EACX,YAAY,EACb,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAA;QAExC,MAAM,MAAM,GAAW,MAAM,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE;YAC3D,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,YAAY;SACb,CAAC,CAAA;QAEF,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,CAAC,CAAA;IACzE,CAAC;IAED,KAAK,CAAC,CAAE,GAAG,CAAE,KAAiB;QAC5B,IAAI,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;YAC/E,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;YAEnC,IAAI,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBAChC,4BAA4B;gBAC5B,SAAQ;YACV,CAAC;YAED,MAAM,IAAI,CAAA;QACZ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAE,MAAc;QACrC,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAA;YAC1E,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;YAErD,OAAO;gBACL,WAAW;gBACX,YAAY;aACb,CAAA;QACH,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAI,GAAG,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;gBACjC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,4CAA4C,EAAE,GAAG,CAAC,CAAA;YACnE,CAAC;QACH,CAAC;QAED,OAAO,EAAE,CAAA;IACX,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAE,MAAc,EAAE,IAAY,EAAE,WAAwB,EAAE,YAAmB;QACjG,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAE/B,IAAI,WAAW,IAAI,IAAI,IAAI,gBAAgB,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,CAAC;YAC9D,OAAO;gBACL,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC;gBAC9B,QAAQ,EAAE,YAAY;gBACtB,OAAO,EAAE,KAAK;aACf,CAAA;QACH,CAAC;QAED,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAA;QAE3D,OAAO;YACL,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC;YAC9B,QAAQ,EAAE,YAAY;YACtB,OAAO,EAAE,IAAI;SACd,CAAA;IACH,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@libp2p/peer-store",
3
- "version": "11.0.12-8a9258a24",
3
+ "version": "11.0.12-a0c8ceb99",
4
4
  "description": "Stores information about peers libp2p knows on the network",
5
5
  "license": "Apache-2.0 OR MIT",
6
6
  "homepage": "https://github.com/libp2p/js-libp2p/tree/main/packages/peer-store#readme",
@@ -59,29 +59,29 @@
59
59
  "test:electron-main": "aegir test -t electron-main"
60
60
  },
61
61
  "dependencies": {
62
- "@libp2p/crypto": "5.0.7-8a9258a24",
63
- "@libp2p/interface": "2.2.1-8a9258a24",
64
- "@libp2p/peer-id": "5.0.8-8a9258a24",
65
- "@libp2p/peer-record": "8.0.12-8a9258a24",
66
- "@multiformats/multiaddr": "^12.2.3",
67
- "interface-datastore": "^8.3.0",
62
+ "@libp2p/crypto": "5.0.7-a0c8ceb99",
63
+ "@libp2p/interface": "2.2.1-a0c8ceb99",
64
+ "@libp2p/peer-id": "5.0.8-a0c8ceb99",
65
+ "@libp2p/peer-record": "8.0.12-a0c8ceb99",
66
+ "@multiformats/multiaddr": "^12.3.3",
67
+ "interface-datastore": "^8.3.1",
68
68
  "it-all": "^3.0.6",
69
- "mortice": "^3.0.4",
70
- "multiformats": "^13.1.0",
71
- "protons-runtime": "^5.4.0",
69
+ "mortice": "^3.0.6",
70
+ "multiformats": "^13.3.1",
71
+ "protons-runtime": "^5.5.0",
72
72
  "uint8arraylist": "^2.4.8",
73
73
  "uint8arrays": "^5.1.0"
74
74
  },
75
75
  "devDependencies": {
76
- "@libp2p/logger": "5.1.4-8a9258a24",
76
+ "@libp2p/logger": "5.1.4-a0c8ceb99",
77
77
  "@types/sinon": "^17.0.3",
78
- "aegir": "^44.0.1",
79
- "datastore-core": "^10.0.0",
78
+ "aegir": "^45.0.5",
79
+ "datastore-core": "^10.0.2",
80
80
  "delay": "^6.0.0",
81
81
  "p-defer": "^4.0.1",
82
82
  "p-event": "^6.0.1",
83
- "protons": "^7.5.0",
84
- "sinon": "^18.0.0"
83
+ "protons": "^7.6.0",
84
+ "sinon": "^19.0.2"
85
85
  },
86
86
  "sideEffects": false
87
87
  }
package/src/store.ts CHANGED
@@ -9,7 +9,7 @@ import { bytesToPeer } from './utils/bytes-to-peer.js'
9
9
  import { NAMESPACE_COMMON, peerIdToDatastoreKey } from './utils/peer-id-to-datastore-key.js'
10
10
  import { toPeerPB } from './utils/to-peer-pb.js'
11
11
  import type { AddressFilter, PersistentPeerStoreComponents, PersistentPeerStoreInit } from './index.js'
12
- import type { PeerUpdate as PeerUpdateExternal, PeerId, Peer, PeerData, PeerQuery } from '@libp2p/interface'
12
+ import type { PeerUpdate as PeerUpdateExternal, PeerId, Peer, PeerData, PeerQuery, Logger } from '@libp2p/interface'
13
13
  import type { Datastore, Key, Query } from 'interface-datastore'
14
14
 
15
15
  /**
@@ -49,8 +49,10 @@ export class PersistentStore {
49
49
  private readonly datastore: Datastore
50
50
  public readonly lock: Mortice
51
51
  private readonly addressFilter?: AddressFilter
52
+ private readonly log: Logger
52
53
 
53
54
  constructor (components: PersistentPeerStoreComponents, init: PersistentPeerStoreInit = {}) {
55
+ this.log = components.logger.forComponent('libp2p:peer-store')
54
56
  this.peerId = components.peerId
55
57
  this.datastore = components.datastore
56
58
  this.addressFilter = init.addressFilter
@@ -143,7 +145,7 @@ export class PersistentStore {
143
145
  }
144
146
  } catch (err: any) {
145
147
  if (err.name !== 'NotFoundError') {
146
- throw err
148
+ this.log.error('invalid peer data found in peer store - %e', err)
147
149
  }
148
150
  }
149
151
 
package/LICENSE DELETED
@@ -1,4 +0,0 @@
1
- This project is dual licensed under MIT and Apache-2.0.
2
-
3
- MIT: https://www.opensource.org/licenses/mit
4
- Apache-2.0: https://www.apache.org/licenses/license-2.0