@libp2p/webrtc 3.1.9-c4eff4c5 → 3.1.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.min.js CHANGED
@@ -26,7 +26,7 @@ if (cid) {
26
26
  // Make sure to use cid instead of value
27
27
  doSomethingWithCID(cid)
28
28
  }
29
- `});var H1=ye(()=>{q1();Ts();Ur();Z0();Xi()});var j0,ZT,z1=ye(()=>{m1();x1();b1();w1();v1();M0();E1();H0();S1();A1();N1();O1();F1();K1();H1();j0={...N0,...P0,...U0,...O0,...F0,...K0,...V0,...q0,...z0,...G0},ZT={...X0,...Q0}});function oi(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}var Ls=ye(()=>{});function Ns(e=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?oi(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}var J0=ye(()=>{Ls()});function W1(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var G1,eu,F3,Ps,tu=ye(()=>{z1();J0();G1=W1("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),eu=W1("ascii","a",e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},e=>{e=e.substring(1);let t=Ns(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),F3={utf8:G1,"utf-8":G1,hex:j0.base16,latin1:eu,ascii:eu,binary:eu,...j0},Ps=F3});var $1={};ue($1,{toString:()=>K3});function K3(e,t="utf8"){let r=Ps[t];if(!r)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString("utf8"):r.encoder.encode(e).substring(1)}var Y1=ye(()=>{tu()});var Z1={};ue(Z1,{fromString:()=>M3});function M3(e,t="utf8"){let r=Ps[t];if(!r)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?oi(globalThis.Buffer.from(e,"utf-8")):r.decoder.decode(`${r.prefix}${e}`)}var X1=ye(()=>{tu();Ls()});var Q1={};ue(Q1,{concat:()=>V3});function V3(e,t){t||(t=e.reduce((i,o)=>i+o.length,0));let r=Ns(t),n=0;for(let i of e)r.set(i,n),n+=i.length;return oi(r)}var j1=ye(()=>{J0();Ls()});var nu=$((c_,i2)=>{"use strict";var J1=Xp(),si=a1(),{names:ji}=u1(),{toString:Us}=(Y1(),eo($1)),{fromString:q3}=(X1(),eo(Z1)),{concat:H3}=(j1(),eo(Q1)),ai={};for(let e in ji){let t=e;ai[ji[t]]=t}Object.freeze(ai);function z3(e){if(!(e instanceof Uint8Array))throw new Error("must be passed a Uint8Array");return Us(e,"base16")}function G3(e){return q3(e,"base16")}function W3(e){if(!(e instanceof Uint8Array))throw new Error("must be passed a Uint8Array");return Us(J1.encode("base58btc",e)).slice(1)}function $3(e){let t=e instanceof Uint8Array?Us(e):e;return J1.decode("z"+t)}function e2(e){if(!(e instanceof Uint8Array))throw new Error("multihash must be a Uint8Array");if(e.length<2)throw new Error("multihash too short. must be > 2 bytes.");let t=si.decode(e);if(!r2(t))throw new Error(`multihash unknown function code: 0x${t.toString(16)}`);e=e.slice(si.decode.bytes);let r=si.decode(e);if(r<0)throw new Error(`multihash invalid length: ${r}`);if(e=e.slice(si.decode.bytes),e.length!==r)throw new Error(`multihash length inconsistent: 0x${Us(e,"base16")}`);return{code:t,name:ai[t],length:r,digest:e}}function Y3(e,t,r){if(!e||t===void 0)throw new Error("multihash encode requires at least two args: digest, code");let n=t2(t);if(!(e instanceof Uint8Array))throw new Error("digest should be a Uint8Array");if(r==null&&(r=e.length),r&&e.length!==r)throw new Error("digest length should be equal to specified length.");let i=si.encode(n),o=si.encode(r);return H3([i,o,e],i.length+o.length+e.length)}function t2(e){let t=e;if(typeof e=="string"){if(ji[e]===void 0)throw new Error(`Unrecognized hash function named: ${e}`);t=ji[e]}if(typeof t!="number")throw new Error(`Hash function code should be a number. Got: ${t}`);if(ai[t]===void 0&&!ru(t))throw new Error(`Unrecognized function code: ${t}`);return t}function ru(e){return e>0&&e<16}function r2(e){return!!(ru(e)||ai[e])}function n2(e){e2(e)}function Z3(e){return n2(e),e.subarray(0,2)}i2.exports={names:ji,codes:ai,toHexString:z3,fromHexString:G3,toB58String:W3,fromB58String:$3,decode:e2,encode:Y3,coerceCode:t2,isAppCode:ru,validate:n2,prefix:Z3,isValidCode:r2}});var a4={};ue(a4,{webRTC:()=>s4,webRTCDirect:()=>o4});var Z=class extends Error{code;props;constructor(t,r,n){super(t),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}},ui=class e extends Error{code;constructor(t="Unexpected Peer"){super(t),this.code=e.code}static code="ERR_UNEXPECTED_PEER"},Kr=class e extends Error{code;constructor(t="Invalid crypto exchange"){super(t),this.code=e.code}static code="ERR_INVALID_CRYPTO_EXCHANGE"};var to=Symbol.for("@libp2p/transport");var xu;(function(e){e[e.FATAL_ALL=0]="FATAL_ALL",e[e.NO_FATAL=1]="NO_FATAL"})(xu||(xu={}));var ct=ke(Su(),1);var Gs={};ue(Gs,{base32:()=>Et,base32hex:()=>G2,base32hexpad:()=>$2,base32hexpadupper:()=>Y2,base32hexupper:()=>W2,base32pad:()=>H2,base32padupper:()=>z2,base32upper:()=>q2,base32z:()=>Z2});function O2(e,t){if(e.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<e.length;i++){var o=e.charAt(i),s=o.charCodeAt(0);if(r[s]!==255)throw new TypeError(o+" is ambiguous");r[s]=i}var a=e.length,c=e.charAt(0),u=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function l(d){if(d instanceof Uint8Array||(ArrayBuffer.isView(d)?d=new Uint8Array(d.buffer,d.byteOffset,d.byteLength):Array.isArray(d)&&(d=Uint8Array.from(d))),!(d instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(d.length===0)return"";for(var p=0,g=0,m=0,v=d.length;m!==v&&d[m]===0;)m++,p++;for(var x=(v-m)*f+1>>>0,A=new Uint8Array(x);m!==v;){for(var E=d[m],w=0,B=x-1;(E!==0||w<g)&&B!==-1;B--,w++)E+=256*A[B]>>>0,A[B]=E%a>>>0,E=E/a>>>0;if(E!==0)throw new Error("Non-zero carry");g=w,m++}for(var D=x-g;D!==x&&A[D]===0;)D++;for(var R=c.repeat(p);D<x;++D)R+=e.charAt(A[D]);return R}function h(d){if(typeof d!="string")throw new TypeError("Expected String");if(d.length===0)return new Uint8Array;var p=0;if(d[p]!==" "){for(var g=0,m=0;d[p]===c;)g++,p++;for(var v=(d.length-p)*u+1>>>0,x=new Uint8Array(v);d[p];){var A=r[d.charCodeAt(p)];if(A===255)return;for(var E=0,w=v-1;(A!==0||E<m)&&w!==-1;w--,E++)A+=a*x[w]>>>0,x[w]=A%256>>>0,A=A/256>>>0;if(A!==0)throw new Error("Non-zero carry");m=E,p++}if(d[p]!==" "){for(var B=v-m;B!==v&&x[B]===0;)B++;for(var D=new Uint8Array(g+(v-B)),R=g;B!==v;)D[R++]=x[B++];return D}}}function y(d){var p=h(d);if(p)return p;throw new Error(`Non-${t} character`)}return{encode:l,decodeUnsafe:h,decode:y}}var F2=O2,K2=F2,Cu=K2;var p4=new Uint8Array(0);var Au=(e,t)=>{if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0},jt=e=>{if(e instanceof Uint8Array&&e.constructor.name==="Uint8Array")return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw new Error("Unknown type, must be binary type")};var Du=e=>new TextEncoder().encode(e),Bu=e=>new TextDecoder().decode(e);var Vs=class{constructor(t,r,n){this.name=t,this.prefix=r,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},qs=class{constructor(t,r,n){if(this.name=t,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return Tu(this,t)}},Hs=class{constructor(t){this.decoders=t}or(t){return Tu(this,t)}decode(t){let r=t[0],n=this.decoders[r];if(n)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},Tu=(e,t)=>new Hs({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}}),zs=class{constructor(t,r,n,i){this.name=t,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new Vs(t,r,n),this.decoder=new qs(t,r,i)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}},wn=({name:e,prefix:t,encode:r,decode:n})=>new zs(e,t,r,n),mr=({prefix:e,name:t,alphabet:r})=>{let{encode:n,decode:i}=Cu(r,t);return wn({prefix:e,name:t,encode:n,decode:o=>jt(i(o))})},M2=(e,t,r,n)=>{let i={};for(let f=0;f<t.length;++f)i[t[f]]=f;let o=e.length;for(;e[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,c=0,u=0;for(let f=0;f<o;++f){let l=i[e[f]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|l,a+=r,a>=8&&(a-=8,s[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s},V2=(e,t,r)=>{let n=t[t.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let c=0;c<e.length;++c)for(a=a<<8|e[c],s+=8;s>r;)s-=r,o+=t[i&a>>s];if(s&&(o+=t[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o},Re=({name:e,prefix:t,bitsPerChar:r,alphabet:n})=>wn({prefix:t,name:e,encode(i){return V2(i,n,r)},decode(i){return M2(i,n,r,e)}});var Et=Re({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),q2=Re({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),H2=Re({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),z2=Re({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),G2=Re({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),W2=Re({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),$2=Re({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Y2=Re({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Z2=Re({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Ws={};ue(Ws,{base58btc:()=>Ne,base58flickr:()=>X2});var Ne=mr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),X2=mr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var $s={};ue($s,{base64:()=>vn,base64pad:()=>Q2,base64url:()=>j2,base64urlpad:()=>J2});var vn=Re({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Q2=Re({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),j2=Re({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),J2=Re({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});ct.default.formatters.b=e=>e==null?"undefined":Ne.baseEncode(e);ct.default.formatters.t=e=>e==null?"undefined":Et.baseEncode(e);ct.default.formatters.m=e=>e==null?"undefined":vn.baseEncode(e);ct.default.formatters.p=e=>e==null?"undefined":e.toString();ct.default.formatters.c=e=>e==null?"undefined":e.toString();ct.default.formatters.k=e=>e==null?"undefined":e.toString();ct.default.formatters.a=e=>e==null?"undefined":e.toString();function ey(e){let t=()=>{};return t.enabled=!1,t.color="",t.diff=0,t.log=()=>{},t.namespace=e,t.destroy=()=>!0,t.extend=()=>t,t}function Ye(e){let t=ey(`${e}:trace`);return ct.default.enabled(`${e}:trace`)&&ct.default.names.map(r=>r.toString()).find(r=>r.includes(":trace"))!=null&&(t=(0,ct.default)(`${e}:trace`)),Object.assign((0,ct.default)(e),{error:(0,ct.default)(`${e}:error`),trace:t})}var _u=Symbol.for("@libp2p/peer-id");var Ys={};ue(Ys,{base10:()=>ty});var ty=mr({prefix:"9",name:"base10",alphabet:"0123456789"});var Zs={};ue(Zs,{base16:()=>ry,base16upper:()=>ny});var ry=Re({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),ny=Re({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Xs={};ue(Xs,{base2:()=>iy});var iy=Re({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Qs={};ue(Qs,{base256emoji:()=>uy});var ku=Array.from("\u{1F680}\u{1FA90}\u2604\u{1F6F0}\u{1F30C}\u{1F311}\u{1F312}\u{1F313}\u{1F314}\u{1F315}\u{1F316}\u{1F317}\u{1F318}\u{1F30D}\u{1F30F}\u{1F30E}\u{1F409}\u2600\u{1F4BB}\u{1F5A5}\u{1F4BE}\u{1F4BF}\u{1F602}\u2764\u{1F60D}\u{1F923}\u{1F60A}\u{1F64F}\u{1F495}\u{1F62D}\u{1F618}\u{1F44D}\u{1F605}\u{1F44F}\u{1F601}\u{1F525}\u{1F970}\u{1F494}\u{1F496}\u{1F499}\u{1F622}\u{1F914}\u{1F606}\u{1F644}\u{1F4AA}\u{1F609}\u263A\u{1F44C}\u{1F917}\u{1F49C}\u{1F614}\u{1F60E}\u{1F607}\u{1F339}\u{1F926}\u{1F389}\u{1F49E}\u270C\u2728\u{1F937}\u{1F631}\u{1F60C}\u{1F338}\u{1F64C}\u{1F60B}\u{1F497}\u{1F49A}\u{1F60F}\u{1F49B}\u{1F642}\u{1F493}\u{1F929}\u{1F604}\u{1F600}\u{1F5A4}\u{1F603}\u{1F4AF}\u{1F648}\u{1F447}\u{1F3B6}\u{1F612}\u{1F92D}\u2763\u{1F61C}\u{1F48B}\u{1F440}\u{1F62A}\u{1F611}\u{1F4A5}\u{1F64B}\u{1F61E}\u{1F629}\u{1F621}\u{1F92A}\u{1F44A}\u{1F973}\u{1F625}\u{1F924}\u{1F449}\u{1F483}\u{1F633}\u270B\u{1F61A}\u{1F61D}\u{1F634}\u{1F31F}\u{1F62C}\u{1F643}\u{1F340}\u{1F337}\u{1F63B}\u{1F613}\u2B50\u2705\u{1F97A}\u{1F308}\u{1F608}\u{1F918}\u{1F4A6}\u2714\u{1F623}\u{1F3C3}\u{1F490}\u2639\u{1F38A}\u{1F498}\u{1F620}\u261D\u{1F615}\u{1F33A}\u{1F382}\u{1F33B}\u{1F610}\u{1F595}\u{1F49D}\u{1F64A}\u{1F639}\u{1F5E3}\u{1F4AB}\u{1F480}\u{1F451}\u{1F3B5}\u{1F91E}\u{1F61B}\u{1F534}\u{1F624}\u{1F33C}\u{1F62B}\u26BD\u{1F919}\u2615\u{1F3C6}\u{1F92B}\u{1F448}\u{1F62E}\u{1F646}\u{1F37B}\u{1F343}\u{1F436}\u{1F481}\u{1F632}\u{1F33F}\u{1F9E1}\u{1F381}\u26A1\u{1F31E}\u{1F388}\u274C\u270A\u{1F44B}\u{1F630}\u{1F928}\u{1F636}\u{1F91D}\u{1F6B6}\u{1F4B0}\u{1F353}\u{1F4A2}\u{1F91F}\u{1F641}\u{1F6A8}\u{1F4A8}\u{1F92C}\u2708\u{1F380}\u{1F37A}\u{1F913}\u{1F619}\u{1F49F}\u{1F331}\u{1F616}\u{1F476}\u{1F974}\u25B6\u27A1\u2753\u{1F48E}\u{1F4B8}\u2B07\u{1F628}\u{1F31A}\u{1F98B}\u{1F637}\u{1F57A}\u26A0\u{1F645}\u{1F61F}\u{1F635}\u{1F44E}\u{1F932}\u{1F920}\u{1F927}\u{1F4CC}\u{1F535}\u{1F485}\u{1F9D0}\u{1F43E}\u{1F352}\u{1F617}\u{1F911}\u{1F30A}\u{1F92F}\u{1F437}\u260E\u{1F4A7}\u{1F62F}\u{1F486}\u{1F446}\u{1F3A4}\u{1F647}\u{1F351}\u2744\u{1F334}\u{1F4A3}\u{1F438}\u{1F48C}\u{1F4CD}\u{1F940}\u{1F922}\u{1F445}\u{1F4A1}\u{1F4A9}\u{1F450}\u{1F4F8}\u{1F47B}\u{1F910}\u{1F92E}\u{1F3BC}\u{1F975}\u{1F6A9}\u{1F34E}\u{1F34A}\u{1F47C}\u{1F48D}\u{1F4E3}\u{1F942}"),oy=ku.reduce((e,t,r)=>(e[r]=t,e),[]),sy=ku.reduce((e,t,r)=>(e[t.codePointAt(0)]=r,e),[]);function ay(e){return e.reduce((t,r)=>(t+=oy[r],t),"")}function cy(e){let t=[];for(let r of e){let n=sy[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);t.push(n)}return new Uint8Array(t)}var uy=wn({prefix:"\u{1F680}",name:"base256emoji",encode:ay,decode:cy});var js={};ue(js,{base36:()=>fy,base36upper:()=>ly});var fy=mr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),ly=mr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Js={};ue(Js,{base8:()=>hy});var hy=Re({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var ea={};ue(ea,{identity:()=>dy});var dy=wn({prefix:"\0",name:"identity",encode:e=>Bu(e),decode:e=>Du(e)});var N4=new TextEncoder,P4=new TextDecoder;var ra={};ue(ra,{identity:()=>xr});var gy=Nu,Ru=128,my=127,xy=~my,by=Math.pow(2,31);function Nu(e,t,r){t=t||[],r=r||0;for(var n=r;e>=by;)t[r++]=e&255|Ru,e/=128;for(;e&xy;)t[r++]=e&255|Ru,e>>>=7;return t[r]=e|0,Nu.bytes=r-n+1,t}var wy=ta,vy=128,Lu=127;function ta(e,n){var r=0,n=n||0,i=0,o=n,s,a=e.length;do{if(o>=a)throw ta.bytes=0,new RangeError("Could not decode varint");s=e[o++],r+=i<28?(s&Lu)<<i:(s&Lu)*Math.pow(2,i),i+=7}while(s>=vy);return ta.bytes=o-n,r}var Ey=Math.pow(2,7),Sy=Math.pow(2,14),Cy=Math.pow(2,21),Ay=Math.pow(2,28),Dy=Math.pow(2,35),By=Math.pow(2,42),Iy=Math.pow(2,49),Ty=Math.pow(2,56),_y=Math.pow(2,63),ky=function(e){return e<Ey?1:e<Sy?2:e<Cy?3:e<Ay?4:e<Dy?5:e<By?6:e<Iy?7:e<Ty?8:e<_y?9:10},Ry={encode:gy,decode:wy,encodingLength:ky},Ly=Ry,fi=Ly;var li=(e,t=0)=>[fi.decode(e,t),fi.decode.bytes],En=(e,t,r=0)=>(fi.encode(e,t,r),t),Sn=e=>fi.encodingLength(e);var Ft=(e,t)=>{let r=t.byteLength,n=Sn(e),i=n+Sn(r),o=new Uint8Array(i+r);return En(e,o,0),En(r,o,n),o.set(t,i),new Cn(e,r,t,o)},Vr=e=>{let t=jt(e),[r,n]=li(t),[i,o]=li(t.subarray(n)),s=t.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new Cn(r,i,s,t)},Pu=(e,t)=>{if(e===t)return!0;{let r=t;return e.code===r.code&&e.size===r.size&&r.bytes instanceof Uint8Array&&Au(e.bytes,r.bytes)}},Cn=class{constructor(t,r,n,i){this.code=t,this.size=r,this.digest=n,this.bytes=i}};var Uu=0,Ny="identity",Ou=jt,Py=e=>Ft(Uu,Ou(e)),xr={code:Uu,name:Ny,encode:Ou,digest:Py};var oa={};ue(oa,{sha256:()=>Ze,sha512:()=>Uy});var ia=({name:e,code:t,encode:r})=>new na(e,t,r),na=class{constructor(t,r,n){this.name=t,this.code=r,this.encode=n}digest(t){if(t instanceof Uint8Array){let r=this.encode(t);return r instanceof Uint8Array?Ft(this.code,r):r.then(n=>Ft(this.code,n))}else throw Error("Unknown type, must be binary type")}};var Ku=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),Ze=ia({name:"sha2-256",code:18,encode:Ku("SHA-256")}),Uy=ia({name:"sha2-512",code:19,encode:Ku("SHA-512")});var Mu=(e,t)=>{let{bytes:r,version:n}=e;switch(n){case 0:return Fy(r,sa(e),t||Ne.encoder);default:return Ky(r,sa(e),t||Et.encoder)}};var Vu=new WeakMap,sa=e=>{let t=Vu.get(e);if(t==null){let r=new Map;return Vu.set(e,r),r}return t},St=class e{constructor(t,r,n,i){this.code=r,this.version=t,this.multihash=n,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:t,multihash:r}=this;if(t!==hi)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==My)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return e.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:t,digest:r}=this.multihash,n=Ft(t,r);return e.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(t){return e.equals(this,t)}static equals(t,r){let n=r;return n&&t.code===n.code&&t.version===n.version&&Pu(t.multihash,n.multihash)}toString(t){return Mu(this,t)}toJSON(){return{"/":Mu(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let r=t;if(r instanceof e)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:o,bytes:s}=r;return new e(n,i,o,s||qu(n,i,o.bytes))}else if(r[Vy]===!0){let{version:n,multihash:i,code:o}=r,s=Vr(i);return e.create(n,o,s)}else return null}static create(t,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(t){case 0:{if(r!==hi)throw new Error(`Version 0 CID must use dag-pb (code: ${hi}) block encoding`);return new e(t,r,n,n.bytes)}case 1:{let i=qu(t,r,n.bytes);return new e(t,r,n,i)}default:throw new Error("Invalid version")}}static createV0(t){return e.create(0,hi,t)}static createV1(t,r){return e.create(1,t,r)}static decode(t){let[r,n]=e.decodeFirst(t);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(t){let r=e.inspectBytes(t),n=r.size-r.multihashSize,i=jt(t.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let o=i.subarray(r.multihashSize-r.digestSize),s=new Cn(r.multihashCode,r.digestSize,o,i);return[r.version===0?e.createV0(s):e.createV1(r.codec,s),t.subarray(r.size)]}static inspectBytes(t){let r=0,n=()=>{let[l,h]=li(t.subarray(r));return r+=h,l},i=n(),o=hi;if(i===18?(i=0,r=0):o=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=r,a=n(),c=n(),u=r+c,f=u-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:f,size:u}}static parse(t,r){let[n,i]=Oy(t,r),o=e.decode(i);if(o.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return sa(o).set(n,t),o}},Oy=(e,t)=>{switch(e[0]){case"Q":{let r=t||Ne;return[Ne.prefix,r.decode(`${Ne.prefix}${e}`)]}case Ne.prefix:{let r=t||Ne;return[Ne.prefix,r.decode(e)]}case Et.prefix:{let r=t||Et;return[Et.prefix,r.decode(e)]}default:{if(t==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[e[0],t.decode(e)]}}},Fy=(e,t,r)=>{let{prefix:n}=r;if(n!==Ne.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=t.get(n);if(i==null){let o=r.encode(e).slice(1);return t.set(n,o),o}else return i},Ky=(e,t,r)=>{let{prefix:n}=r,i=t.get(n);if(i==null){let o=r.encode(e);return t.set(n,o),o}else return i},hi=112,My=18,qu=(e,t,r)=>{let n=Sn(e),i=n+Sn(t),o=new Uint8Array(i+r.byteLength);return En(e,o,0),En(t,o,n),o.set(r,i),o},Vy=Symbol.for("@ipld/js-cid/CID");var Kt={...ea,...Xs,...Js,...Ys,...Zs,...Gs,...js,...Ws,...$s,...Qs},Q4={...oa,...ra};function Oe(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}var qy=Symbol.for("nodejs.util.inspect.custom"),Hu=Object.values(Kt).map(e=>e.decoder).reduce((e,t)=>e.or(t),Kt.identity.decoder),zu=114,aa=36,ca=37,di=class{type;multihash;privateKey;publicKey;string;constructor(t){this.type=t.type,this.multihash=t.multihash,this.privateKey=t.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[_u]=!0;toString(){return this.string==null&&(this.string=Ne.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return St.createV1(zu,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(t){if(t instanceof Uint8Array)return Oe(this.multihash.bytes,t);if(typeof t=="string")return pi(t).equals(this);if(t?.multihash?.bytes!=null)return Oe(this.multihash.bytes,t.multihash.bytes);throw new Error("not valid Id")}[qy](){return`PeerId(${this.toString()})`}},An=class extends di{type="RSA";publicKey;constructor(t){super({...t,type:"RSA"}),this.publicKey=t.publicKey}},Dn=class extends di{type="Ed25519";publicKey;constructor(t){super({...t,type:"Ed25519"}),this.publicKey=t.multihash.digest}},Bn=class extends di{type="secp256k1";publicKey;constructor(t){super({...t,type:"secp256k1"}),this.publicKey=t.multihash.digest}};function pi(e,t){if(t=t??Hu,e.charAt(0)==="1"||e.charAt(0)==="Q"){let r=Vr(Ne.decode(`z${e}`));return e.startsWith("12D")?new Dn({multihash:r}):e.startsWith("16U")?new Bn({multihash:r}):new An({multihash:r})}return Hy(Hu.decode(e))}function Hy(e){try{let t=Vr(e);if(t.code===xr.code){if(t.digest.length===aa)return new Dn({multihash:t});if(t.digest.length===ca)return new Bn({multihash:t})}if(t.code===Ze.code)return new An({multihash:t})}catch{return zy(St.decode(e))}throw new Error("Supplied PeerID CID is invalid")}function zy(e){if(e==null||e.multihash==null||e.version==null||e.version===1&&e.code!==zu)throw new Error("Supplied PeerID CID is invalid");let t=e.multihash;if(t.code===Ze.code)return new An({multihash:e.multihash});if(t.code===xr.code){if(t.digest.length===aa)return new Dn({multihash:e.multihash});if(t.digest.length===ca)return new Bn({multihash:e.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function ua(e,t){return e.length===aa?new Dn({multihash:Ft(xr.code,e),privateKey:t}):e.length===ca?new Bn({multihash:Ft(xr.code,e),privateKey:t}):new An({multihash:await Ze.digest(e),publicKey:e,privateKey:t})}function br(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function Jt(e=0){return globalThis.Buffer?.alloc!=null?br(globalThis.Buffer.alloc(e)):new Uint8Array(e)}function dt(e=0){return globalThis.Buffer?.allocUnsafe!=null?br(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}function Wu(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var Gu=Wu("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),fa=Wu("ascii","a",e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},e=>{e=e.substring(1);let t=dt(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),Wy={utf8:Gu,"utf-8":Gu,hex:Kt.base16,latin1:fa,ascii:fa,binary:fa,...Kt},oo=Wy;function se(e,t="utf8"){let r=oo[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString("utf8"):r.encoder.encode(e).substring(1)}var $y=Math.pow(2,7),Yy=Math.pow(2,14),Zy=Math.pow(2,21),la=Math.pow(2,28),ha=Math.pow(2,35),da=Math.pow(2,42),pa=Math.pow(2,49),ge=128,et=127;function it(e){if(e<$y)return 1;if(e<Yy)return 2;if(e<Zy)return 3;if(e<la)return 4;if(e<ha)return 5;if(e<da)return 6;if(e<pa)return 7;if(Number.MAX_SAFE_INTEGER!=null&&e>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Xy(e,t,r=0){switch(it(e)){case 8:t[r++]=e&255|ge,e/=128;case 7:t[r++]=e&255|ge,e/=128;case 6:t[r++]=e&255|ge,e/=128;case 5:t[r++]=e&255|ge,e/=128;case 4:t[r++]=e&255|ge,e>>>=7;case 3:t[r++]=e&255|ge,e>>>=7;case 2:t[r++]=e&255|ge,e>>>=7;case 1:{t[r++]=e&255,e>>>=7;break}default:throw new Error("unreachable")}return t}function Qy(e,t,r=0){switch(it(e)){case 8:t.set(r++,e&255|ge),e/=128;case 7:t.set(r++,e&255|ge),e/=128;case 6:t.set(r++,e&255|ge),e/=128;case 5:t.set(r++,e&255|ge),e/=128;case 4:t.set(r++,e&255|ge),e>>>=7;case 3:t.set(r++,e&255|ge),e>>>=7;case 2:t.set(r++,e&255|ge),e>>>=7;case 1:{t.set(r++,e&255),e>>>=7;break}default:throw new Error("unreachable")}return t}function jy(e,t){let r=e[t],n=0;if(n+=r&et,r<ge||(r=e[t+1],n+=(r&et)<<7,r<ge)||(r=e[t+2],n+=(r&et)<<14,r<ge)||(r=e[t+3],n+=(r&et)<<21,r<ge)||(r=e[t+4],n+=(r&et)*la,r<ge)||(r=e[t+5],n+=(r&et)*ha,r<ge)||(r=e[t+6],n+=(r&et)*da,r<ge)||(r=e[t+7],n+=(r&et)*pa,r<ge))return n;throw new RangeError("Could not decode varint")}function Jy(e,t){let r=e.get(t),n=0;if(n+=r&et,r<ge||(r=e.get(t+1),n+=(r&et)<<7,r<ge)||(r=e.get(t+2),n+=(r&et)<<14,r<ge)||(r=e.get(t+3),n+=(r&et)<<21,r<ge)||(r=e.get(t+4),n+=(r&et)*la,r<ge)||(r=e.get(t+5),n+=(r&et)*ha,r<ge)||(r=e.get(t+6),n+=(r&et)*da,r<ge)||(r=e.get(t+7),n+=(r&et)*pa,r<ge))return n;throw new RangeError("Could not decode varint")}function wr(e,t,r=0){return t==null&&(t=dt(it(e))),t instanceof Uint8Array?Xy(e,t,r):Qy(e,t,r)}function Ct(e,t=0){return e instanceof Uint8Array?jy(e,t):Jy(e,t)}function me(e,t){t==null&&(t=e.reduce((i,o)=>i+o.length,0));let r=dt(t),n=0;for(let i of e)r.set(i,n),n+=i.length;return br(r)}var so=class{index=0;input="";new(t){return this.index=0,this.input=t,this}readAtomically(t){let r=this.index,n=t();return n===void 0&&(this.index=r),n}parseWith(t){let r=t();if(this.index===this.input.length)return r}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(t){return this.readAtomically(()=>{let r=this.readChar();if(r===t)return r})}readSeparator(t,r,n){return this.readAtomically(()=>{if(!(r>0&&this.readGivenChar(t)===void 0))return n()})}readNumber(t,r,n,i){return this.readAtomically(()=>{let o=0,s=0,a=this.peekChar();if(a===void 0)return;let c=a==="0",u=2**(8*i)-1;for(;;){let f=this.readAtomically(()=>{let l=this.readChar();if(l===void 0)return;let h=Number.parseInt(l,t);if(!Number.isNaN(h))return h});if(f===void 0)break;if(o*=t,o+=f,o>u||(s+=1,r!==void 0&&s>r))return}if(s!==0)return!n&&c&&s>1?void 0:o})}readIPv4Addr(){return this.readAtomically(()=>{let t=new Uint8Array(4);for(let r=0;r<t.length;r++){let n=this.readSeparator(".",r,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;t[r]=n}return t})}readIPv6Addr(){let t=r=>{for(let n=0;n<r.length/2;n++){let i=n*2;if(n<r.length-3){let s=this.readSeparator(":",n,()=>this.readIPv4Addr());if(s!==void 0)return r[i]=s[0],r[i+1]=s[1],r[i+2]=s[2],r[i+3]=s[3],[i+4,!0]}let o=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(o===void 0)return[i,!1];r[i]=o>>8,r[i+1]=o&255}return[r.length,!1]};return this.readAtomically(()=>{let r=new Uint8Array(16),[n,i]=t(r);if(n===16)return r;if(i||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let o=new Uint8Array(14),s=16-(n+2),[a]=t(o.subarray(0,s));return r.set(o.subarray(0,a),16-a),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var $u=45,eg=15,In=new so;function ya(e){if(!(e.length>eg))return In.new(e).parseWith(()=>In.readIPv4Addr())}function ga(e){if(e.includes("%")&&(e=e.split("%")[0]),!(e.length>$u))return In.new(e).parseWith(()=>In.readIPv6Addr())}function ao(e){if(e.includes("%")&&(e=e.split("%")[0]),!(e.length>$u))return In.new(e).parseWith(()=>In.readIPAddr())}var TE=parseInt("0xFFFF",16),_E=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function Be(e,t="utf8"){let r=oo[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?br(globalThis.Buffer.from(e,"utf-8")):r.decoder.decode(`${r.prefix}${e}`)}function Xu(e){return!!ya(e)}function Qu(e){return!!ga(e)}function co(e){return!!ao(e)}var ju=Xu,og=Qu,ma=function(e){let t=0;if(e=e.toString().trim(),ju(e)){let r=new Uint8Array(t+4);return e.split(/\./g).forEach(n=>{r[t++]=parseInt(n,10)&255}),r}if(og(e)){let r=e.split(":",8),n;for(n=0;n<r.length;n++){let o=ju(r[n]),s;o&&(s=ma(r[n]),r[n]=se(s.slice(0,2),"base16")),s!=null&&++n<8&&r.splice(n,0,se(s.slice(2,4),"base16"))}if(r[0]==="")for(;r.length<8;)r.unshift("0");else if(r[r.length-1]==="")for(;r.length<8;)r.push("0");else if(r.length<8){for(n=0;n<r.length&&r[n]!=="";n++);let o=[n,1];for(n=9-r.length;n>0;n--)o.push("0");r.splice.apply(r,o)}let i=new Uint8Array(t+16);for(n=0;n<r.length;n++){let o=parseInt(r[n],16);i[t++]=o>>8&255,i[t++]=o&255}return i}throw new Error("invalid ip address")},Ju=function(e,t=0,r){t=~~t,r=r??e.length-t;let n=new DataView(e.buffer);if(r===4){let i=[];for(let o=0;o<r;o++)i.push(e[t+o]);return i.join(".")}if(r===16){let i=[];for(let o=0;o<r;o+=2)i.push(n.getUint16(t+o).toString(16));return i.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var Tn={},xa={},ag=[[4,32,"ip4"],[6,16,"tcp"],[33,16,"dccp"],[41,128,"ip6"],[42,-1,"ip6zone"],[43,8,"ipcidr"],[53,-1,"dns",!0],[54,-1,"dns4",!0],[55,-1,"dns6",!0],[56,-1,"dnsaddr",!0],[132,16,"sctp"],[273,16,"udp"],[275,0,"p2p-webrtc-star"],[276,0,"p2p-webrtc-direct"],[277,0,"p2p-stardust"],[280,0,"webrtc-direct"],[281,0,"webrtc"],[290,0,"p2p-circuit"],[301,0,"udt"],[302,0,"utp"],[400,-1,"unix",!1,!0],[421,-1,"ipfs"],[421,-1,"p2p"],[443,0,"https"],[444,96,"onion"],[445,296,"onion3"],[446,-1,"garlic64"],[448,0,"tls"],[449,-1,"sni"],[460,0,"quic"],[461,0,"quic-v1"],[465,0,"webtransport"],[466,-1,"certhash"],[477,0,"ws"],[478,0,"wss"],[479,0,"p2p-websocket-star"],[480,0,"http"],[777,-1,"memory"]];ag.forEach(e=>{let t=cg(...e);xa[t.code]=t,Tn[t.name]=t});function cg(e,t,r,n,i){return{code:e,size:t,name:r,resolvable:!!n,path:!!i}}function he(e){if(typeof e=="number"){if(xa[e]!=null)return xa[e];throw new Error(`no protocol with code: ${e}`)}else if(typeof e=="string"){if(Tn[e]!=null)return Tn[e];throw new Error(`no protocol with name: ${e}`)}throw new Error(`invalid protocol id type: ${typeof e}`)}var gS=he("ip4"),mS=he("ip6"),xS=he("ipcidr");function wa(e,t){switch(he(e).code){case 4:case 41:return fg(t);case 42:return rf(t);case 6:case 273:case 33:case 132:return of(t).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return rf(t);case 421:return pg(t);case 444:return nf(t);case 445:return nf(t);case 466:return dg(t);default:return se(t,"base16")}}function va(e,t){switch(he(e).code){case 4:return ef(t);case 41:return ef(t);case 42:return tf(t);case 6:case 273:case 33:case 132:return Ea(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return tf(t);case 421:return lg(t);case 444:return yg(t);case 445:return gg(t);case 466:return hg(t);default:return Be(t,"base16")}}var ba=Object.values(Kt).map(e=>e.decoder),ug=function(){let e=ba[0].or(ba[1]);return ba.slice(2).forEach(t=>e=e.or(t)),e}();function ef(e){if(!co(e))throw new Error("invalid ip address");return ma(e)}function fg(e){let t=Ju(e,0,e.length);if(t==null)throw new Error("ipBuff is required");if(!co(t))throw new Error("invalid ip address");return t}function Ea(e){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,e),new Uint8Array(t)}function of(e){return new DataView(e.buffer).getUint16(e.byteOffset)}function tf(e){let t=Be(e),r=Uint8Array.from(wr(t.length));return me([r,t],r.length+t.length)}function rf(e){let t=Ct(e);if(e=e.slice(it(t)),e.length!==t)throw new Error("inconsistent lengths");return se(e)}function lg(e){let t;e[0]==="Q"||e[0]==="1"?t=Vr(Ne.decode(`z${e}`)).bytes:t=St.parse(e).multihash.bytes;let r=Uint8Array.from(wr(t.length));return me([r,t],r.length+t.length)}function hg(e){let t=ug.decode(e),r=Uint8Array.from(wr(t.length));return me([r,t],r.length+t.length)}function dg(e){let t=Ct(e),r=e.slice(it(t));if(r.length!==t)throw new Error("inconsistent lengths");return"u"+se(r,"base64url")}function pg(e){let t=Ct(e),r=e.slice(it(t));if(r.length!==t)throw new Error("inconsistent lengths");return se(r,"base58btc")}function yg(e){let t=e.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 r=Et.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 i=Ea(n);return me([r,i],r.length+i.length)}function gg(e){let t=e.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 r=Et.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 i=Ea(n);return me([r,i],r.length+i.length)}function nf(e){let t=e.slice(0,e.length-2),r=e.slice(e.length-2),n=se(t,"base32"),i=of(r);return`${n}:${i}`}function sf(e){e=Sa(e);let t=[],r=[],n=null,i=e.split("/").slice(1);if(i.length===1&&i[0]==="")return{bytes:new Uint8Array,string:"/",tuples:[],stringTuples:[],path:null};for(let o=0;o<i.length;o++){let s=i[o],a=he(s);if(a.size===0){t.push([a.code]),r.push([a.code]);continue}if(o++,o>=i.length)throw cf("invalid address: "+e);if(a.path===!0){n=Sa(i.slice(o).join("/")),t.push([a.code,va(a.code,n)]),r.push([a.code,n]);break}let c=va(a.code,i[o]);t.push([a.code,c]),r.push([a.code,wa(a.code,c)])}return{string:af(r),bytes:Aa(t),tuples:t,stringTuples:r,path:n}}function Ca(e){let t=[],r=[],n=null,i=0;for(;i<e.length;){let o=Ct(e,i),s=it(o),a=he(o),c=mg(a,e.slice(i+s));if(c===0){t.push([o]),r.push([o]),i+=s;continue}let u=e.slice(i+s,i+s+c);if(i+=c+s,i>e.length)throw cf("Invalid address Uint8Array: "+se(e,"base16"));t.push([o,u]);let f=wa(o,u);if(r.push([o,f]),a.path===!0){n=f;break}}return{bytes:Uint8Array.from(e),string:af(r),tuples:t,stringTuples:r,path:n}}function af(e){let t=[];return e.map(r=>{let n=he(r[0]);return t.push(n.name),r.length>1&&r[1]!=null&&t.push(r[1]),null}),Sa(t.join("/"))}function Aa(e){return me(e.map(t=>{let r=he(t[0]),n=Uint8Array.from(wr(r.code));return t.length>1&&t[1]!=null&&(n=me([n,t[1]])),n}))}function mg(e,t){if(e.size>0)return e.size/8;if(e.size===0)return 0;{let r=Ct(t instanceof Uint8Array?t:Uint8Array.from(t));return r+it(r)}}function Sa(e){return"/"+e.trim().split("/").filter(t=>t).join("/")}function cf(e){return new Error("Error parsing address: "+e)}var xg=Symbol.for("nodejs.util.inspect.custom"),bg=[he("dns").code,he("dns4").code,he("dns6").code,he("dnsaddr").code],wg=new Map,uf=Symbol.for("@multiformats/js-multiaddr/multiaddr");function vg(e){return!!e?.[uf]}var Da=class e{bytes;#e;#t;#r;#n;[uf]=!0;constructor(t){t==null&&(t="");let r;if(t instanceof Uint8Array)r=Ca(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);r=sf(t)}else if(vg(t))r=Ca(t.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=r.bytes,this.#e=r.string,this.#t=r.tuples,this.#r=r.stringTuples,this.#n=r.path}toString(){return this.#e}toJSON(){return this.toString()}toOptions(){let t,r,n,i,o="",s=he("tcp"),a=he("udp"),c=he("ip4"),u=he("ip6"),f=he("dns6"),l=he("ip6zone");for(let[y,d]of this.stringTuples())y===l.code&&(o=`%${d??""}`),bg.includes(y)&&(r=s.name,i=443,n=`${d??""}${o}`,t=y===f.code?6:4),(y===s.code||y===a.code)&&(r=he(y).name,i=parseInt(d??"")),(y===c.code||y===u.code)&&(r=he(y).name,n=`${d??""}${o}`,t=y===u.code?6:4);if(t==null||r==null||n==null||i==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:t,host:n,transport:r,port:i}}protos(){return this.#t.map(([t])=>Object.assign({},he(t)))}protoCodes(){return this.#t.map(([t])=>t)}protoNames(){return this.#t.map(([t])=>he(t).name)}tuples(){return this.#t}stringTuples(){return this.#r}encapsulate(t){return t=new e(t),new e(this.toString()+t.toString())}decapsulate(t){let r=t.toString(),n=this.toString(),i=n.lastIndexOf(r);if(i<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${t.toString()}`);return new e(n.slice(0,i))}decapsulateCode(t){let r=this.tuples();for(let n=r.length-1;n>=0;n--)if(r[n][0]===t)return new e(Aa(r.slice(0,n)));return this}getPeerId(){try{let t=[];this.stringTuples().forEach(([n,i])=>{n===Tn.p2p.code&&t.push([n,i]),n===Tn["p2p-circuit"].code&&(t=[])});let r=t.pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?se(Ne.decode(`z${n}`),"base58btc"):se(St.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#n}equals(t){return Oe(this.bytes,t.bytes)}async resolve(t){let r=this.protos().find(o=>o.resolvable);if(r==null)return[this];let n=wg.get(r.name);if(n==null)throw new Z(`no available resolver for ${r.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,t)).map(o=>new e(o))}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 r=(t??this).protos();return!(r.length!==2||r[0].code!==4&&r[0].code!==41||r[1].code!==6&&r[1].code!==273)}[xg](){return`Multiaddr(${this.#e})`}};function er(e){return new Da(e)}var ut;(function(e){e.ERR_ALREADY_ABORTED="ERR_ALREADY_ABORTED",e.ERR_DATA_CHANNEL="ERR_DATA_CHANNEL",e.ERR_CONNECTION_CLOSED="ERR_CONNECTION_CLOSED",e.ERR_HASH_NOT_SUPPORTED="ERR_HASH_NOT_SUPPORTED",e.ERR_INVALID_MULTIADDR="ERR_INVALID_MULTIADDR",e.ERR_INVALID_FINGERPRINT="ERR_INVALID_FINGERPRINT",e.ERR_INVALID_PARAMETERS="ERR_INVALID_PARAMETERS",e.ERR_NOT_IMPLEMENTED="ERR_NOT_IMPLEMENTED",e.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS",e.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS"})(ut||(ut={}));var vr=class extends Z{constructor(t,r){super(`WebRTC transport error: ${t}`,r??""),this.name="WebRTCTransportError"}};var Ba=class extends vr{constructor(t,r){super(`[stream: ${t}] data channel error: ${r}`,ut.ERR_DATA_CHANNEL),this.name="WebRTC/DataChannelError"}};function La(e,t){return new Ba(e,t)}var Ia=class extends vr{constructor(t){super(`There was a problem with the Multiaddr which was passed in: ${t}`,ut.ERR_INVALID_MULTIADDR),this.name="WebRTC/InappropriateMultiaddrError"}};function uo(e){return new Ia(e)}var Ta=class extends vr{constructor(t){super(`There was a problem with a provided argument: ${t}`,ut.ERR_INVALID_PARAMETERS),this.name="WebRTC/InvalidArgumentError"}};function gi(e){return new Ta(e)}var _a=class extends vr{constructor(t,r){super(`Invalid fingerprint "${t}" within ${r}`,ut.ERR_INVALID_FINGERPRINT),this.name="WebRTC/InvalidFingerprintError"}};function Na(e,t){return new _a(e,t)}var ka=class extends vr{constructor(t){super(`A method (${t}) was called though it has been intentionally left unimplemented.`,ut.ERR_NOT_IMPLEMENTED),this.name="WebRTC/UnimplementedError"}};function ff(e){return new ka(e)}var Ra=class extends vr{constructor(t){super(`unsupported hash algorithm: ${t}`,ut.ERR_HASH_NOT_SUPPORTED),this.name="WebRTC/UnsupportedHashAlgorithmError"}};function lf(e){return new Ra(e)}var hf=function(e,t,r){if(r||arguments.length===2)for(var n=0,i=t.length,o;n<i;n++)(o||!(n in t))&&(o||(o=Array.prototype.slice.call(t,0,n)),o[n]=t[n]);return e.concat(o||Array.prototype.slice.call(t))},Eg=function(){function e(t,r,n){this.name=t,this.version=r,this.os=n,this.type="browser"}return e}();var Sg=function(){function e(t){this.version=t,this.type="node",this.name="node",this.os=process.platform}return e}();var Cg=function(){function e(t,r,n,i){this.name=t,this.version=r,this.os=n,this.bot=i,this.type="bot-device"}return e}();var Ag=function(){function e(){this.type="bot",this.bot=!0,this.name="bot",this.version=null,this.os=null}return e}();var Dg=function(){function e(){this.type="react-native",this.name="react-native",this.version=null,this.os=null}return e}();var Bg=/alexa|bot|crawl(er|ing)|facebookexternalhit|feedburner|google web preview|nagios|postrank|pingdom|slurp|spider|yahoo!|yandex/,Ig=/(nuhk|curl|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask\ Jeeves\/Teoma|ia_archiver)/,df=3,Tg=[["aol",/AOLShield\/([0-9\._]+)/],["edge",/Edge\/([0-9\._]+)/],["edge-ios",/EdgiOS\/([0-9\._]+)/],["yandexbrowser",/YaBrowser\/([0-9\._]+)/],["kakaotalk",/KAKAOTALK\s([0-9\.]+)/],["samsung",/SamsungBrowser\/([0-9\.]+)/],["silk",/\bSilk\/([0-9._-]+)\b/],["miui",/MiuiBrowser\/([0-9\.]+)$/],["beaker",/BeakerBrowser\/([0-9\.]+)/],["edge-chromium",/EdgA?\/([0-9\.]+)/],["chromium-webview",/(?!Chrom.*OPR)wv\).*Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/],["chrome",/(?!Chrom.*OPR)Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/],["phantomjs",/PhantomJS\/([0-9\.]+)(:?\s|$)/],["crios",/CriOS\/([0-9\.]+)(:?\s|$)/],["firefox",/Firefox\/([0-9\.]+)(?:\s|$)/],["fxios",/FxiOS\/([0-9\.]+)/],["opera-mini",/Opera Mini.*Version\/([0-9\.]+)/],["opera",/Opera\/([0-9\.]+)(?:\s|$)/],["opera",/OPR\/([0-9\.]+)(:?\s|$)/],["pie",/^Microsoft Pocket Internet Explorer\/(\d+\.\d+)$/],["pie",/^Mozilla\/\d\.\d+\s\(compatible;\s(?:MSP?IE|MSInternet Explorer) (\d+\.\d+);.*Windows CE.*\)$/],["netfront",/^Mozilla\/\d\.\d+.*NetFront\/(\d.\d)/],["ie",/Trident\/7\.0.*rv\:([0-9\.]+).*\).*Gecko$/],["ie",/MSIE\s([0-9\.]+);.*Trident\/[4-7].0/],["ie",/MSIE\s(7\.0)/],["bb10",/BB10;\sTouch.*Version\/([0-9\.]+)/],["android",/Android\s([0-9\.]+)/],["ios",/Version\/([0-9\._]+).*Mobile.*Safari.*/],["safari",/Version\/([0-9\._]+).*Safari/],["facebook",/FB[AS]V\/([0-9\.]+)/],["instagram",/Instagram\s([0-9\.]+)/],["ios-webview",/AppleWebKit\/([0-9\.]+).*Mobile/],["ios-webview",/AppleWebKit\/([0-9\.]+).*Gecko\)$/],["curl",/^curl\/([0-9\.]+)$/],["searchbot",Bg]],pf=[["iOS",/iP(hone|od|ad)/],["Android OS",/Android/],["BlackBerry OS",/BlackBerry|BB10/],["Windows Mobile",/IEMobile/],["Amazon OS",/Kindle/],["Windows 3.11",/Win16/],["Windows 95",/(Windows 95)|(Win95)|(Windows_95)/],["Windows 98",/(Windows 98)|(Win98)/],["Windows 2000",/(Windows NT 5.0)|(Windows 2000)/],["Windows XP",/(Windows NT 5.1)|(Windows XP)/],["Windows Server 2003",/(Windows NT 5.2)/],["Windows Vista",/(Windows NT 6.0)/],["Windows 7",/(Windows NT 6.1)/],["Windows 8",/(Windows NT 6.2)/],["Windows 8.1",/(Windows NT 6.3)/],["Windows 10",/(Windows NT 10.0)/],["Windows ME",/Windows ME/],["Windows CE",/Windows CE|WinCE|Microsoft Pocket Internet Explorer/],["Open BSD",/OpenBSD/],["Sun OS",/SunOS/],["Chrome OS",/CrOS/],["Linux",/(Linux)|(X11)/],["Mac OS",/(Mac_PowerPC)|(Macintosh)/],["QNX",/QNX/],["BeOS",/BeOS/],["OS/2",/OS\/2/]];function gf(e){return e?yf(e):typeof document>"u"&&typeof navigator<"u"&&navigator.product==="ReactNative"?new Dg:typeof navigator<"u"?yf(navigator.userAgent):Rg()}function _g(e){return e!==""&&Tg.reduce(function(t,r){var n=r[0],i=r[1];if(t)return t;var o=i.exec(e);return!!o&&[n,o]},!1)}function yf(e){var t=_g(e);if(!t)return null;var r=t[0],n=t[1];if(r==="searchbot")return new Ag;var i=n[1]&&n[1].split(".").join("_").split("_").slice(0,3);i?i.length<df&&(i=hf(hf([],i,!0),Lg(df-i.length),!0)):i=[];var o=i.join("."),s=kg(e),a=Ig.exec(e);return a&&a[1]?new Cg(r,o,s,a[1]):new Eg(r,o,s)}function kg(e){for(var t=0,r=pf.length;t<r;t++){var n=pf[t],i=n[0],o=n[1],s=o.exec(e);if(s)return i}return null}function Rg(){var e=typeof process<"u"&&process.version;return e?new Sg(process.version.slice(1)):null}function Lg(e){for(var t=[],r=0;r<e;r++)t.push("0");return t}var mf=gf(),mi=mf!=null&&mf.name==="firefox",fo=async function*(){},lo=async e=>{};var xf=Ye("libp2p:webrtc:connection"),Hr=class{peerConnection;remoteAddr;timeline;metrics;source=fo();sink=lo;constructor(t){this.remoteAddr=t.remoteAddr,this.timeline=t.timeline,this.peerConnection=t.peerConnection,this.peerConnection.onconnectionstatechange=()=>{(this.peerConnection.connectionState==="closed"||this.peerConnection.connectionState==="disconnected"||this.peerConnection.connectionState==="failed")&&(this.timeline.close=Date.now())}}async close(t){xf.trace("closing connection"),this.peerConnection.close(),this.timeline.close=Date.now(),this.metrics?.increment({close:!0})}abort(t){xf.error("closing connection due to error",t),this.peerConnection.close(),this.timeline.close=Date.now(),this.metrics?.increment({abort:!0})}};var _n=globalThis.RTCPeerConnection,Pa=globalThis.RTCSessionDescription,bf=globalThis.RTCIceCandidate;var xi=class extends Error{constructor(t,r){super(t??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function wf(e){if(e!=null){if(typeof e[Symbol.iterator]=="function")return e[Symbol.iterator]();if(typeof e[Symbol.asyncIterator]=="function")return e[Symbol.asyncIterator]();if(typeof e.next=="function")return e}throw new Error("argument is not an iterator or iterable")}function ho(e,t,r){let n=r??{},i=wf(e);async function*o(){let s,a=()=>{s?.()};for(t.addEventListener("abort",a);;){let c;try{if(t.aborted){let{abortMessage:f,abortCode:l}=n;throw new xi(f,l)}let u=new Promise((f,l)=>{s=()=>{let{abortMessage:h,abortCode:y}=n;l(new xi(h,y))}});c=await Promise.race([u,i.next()]),s=null}catch(u){t.removeEventListener("abort",a);let f=u.type==="aborted"&&t.aborted;if(f&&n.onAbort!=null&&n.onAbort(e),typeof i.return=="function")try{let l=i.return();l instanceof Promise&&l.catch(h=>{n.onReturnError!=null&&n.onReturnError(h)})}catch(l){n.onReturnError!=null&&n.onReturnError(l)}if(f&&n.returnOnAbort===!0)return;throw u}if(c.done===!0)break;yield c.value}t.removeEventListener("abort",a)}return o()}function Ng(e,t,r){return n=>e(ho(n,t,r))}function Ua(e,t,r){return{sink:Ng(e.sink,t,{...r,onAbort:void 0}),source:ho(e.source,t,r)}}function pt(){let e={};return e.promise=new Promise((t,r)=>{e.resolve=t,e.reject=r}),e}var po=class{buffer;mask;top;btm;next;constructor(t){if(!(t>0)||t-1&t)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(t),this.mask=t-1,this.top=0,this.btm=0,this.next=null}push(t){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=t,this.top=this.top+1&this.mask,!0)}shift(){let t=this.buffer[this.btm];if(t!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,t}isEmpty(){return this.buffer[this.btm]===void 0}},kn=class{size;hwm;head;tail;constructor(t={}){this.hwm=t.splitLimit??16,this.head=new po(this.hwm),this.tail=this.head,this.size=0}calculateSize(t){return t?.byteLength!=null?t.byteLength:1}push(t){if(t?.value!=null&&(this.size+=this.calculateSize(t.value)),!this.head.push(t)){let r=this.head;this.head=r.next=new po(2*this.head.buffer.length),this.head.push(t)}}shift(){let t=this.tail.shift();if(t===void 0&&this.tail.next!=null){let r=this.tail.next;this.tail.next=null,this.tail=r,t=this.tail.shift()}return t?.value!=null&&(this.size-=this.calculateSize(t.value)),t}isEmpty(){return this.head.isEmpty()}};var Oa=class extends Error{type;code;constructor(t,r){super(t??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function Mt(e={}){return Pg(r=>{let n=r.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},e)}function Pg(e,t){t=t??{};let r=t.onEnd,n=new kn,i,o,s,a=pt(),c=async()=>{try{return n.isEmpty()?s?{done:!0}:await new Promise((g,m)=>{o=v=>{o=null,n.push(v);try{g(e(n))}catch(x){m(x)}return i}}):e(n)}finally{n.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=pt()})}},u=g=>o!=null?o(g):(n.push(g),i),f=g=>(n=new kn,o!=null?o({error:g}):(n.push({error:g}),i)),l=g=>{if(s)return i;if(t?.objectMode!==!0&&g?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return u({done:!1,value:g})},h=g=>s?i:(s=!0,g!=null?f(g):u({done:!0})),y=()=>(n=new kn,h(),{done:!0}),d=g=>(h(g),{done:!0});if(i={[Symbol.asyncIterator](){return this},next:c,return:y,throw:d,push:l,end:h,get readableLength(){return n.size},onEmpty:async g=>{let m=g?.signal;if(m?.throwIfAborted(),n.isEmpty())return;let v,x;m!=null&&(v=new Promise((A,E)=>{x=()=>{E(new Oa)},m.addEventListener("abort",x)}));try{await Promise.race([a.promise,v])}finally{x!=null&&m!=null&&m?.removeEventListener("abort",x)}}},r==null)return i;let p=i;return i={[Symbol.asyncIterator](){return this},next(){return p.next()},throw(g){return p.throw(g),r!=null&&(r(g),r=void 0),{done:!0}},return(){return p.return(),r!=null&&(r(),r=void 0),{done:!0}},push:l,end(g){return p.end(g),r!=null&&(r(g),r=void 0),i},get readableLength(){return p.readableLength}},i}var Ef=Symbol.for("@achingbrain/uint8arraylist");function vf(e,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let r=0;for(let n of e){let i=r+n.byteLength;if(t<i)return{buf:n,index:t-r};r=i}throw new RangeError("index is out of bounds")}function yo(e){return!!e?.[Ef]}var Xe=class e{constructor(...t){Object.defineProperty(this,Ef,{value:!0}),this.bufs=[],this.length=0,t.length>0&&this.appendAll(t)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...t){this.appendAll(t)}appendAll(t){let r=0;for(let n of t)if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.push(n);else if(yo(n))r+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}prepend(...t){this.prependAll(t)}prependAll(t){let r=0;for(let n of t.reverse())if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.unshift(n);else if(yo(n))r+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}get(t){let r=vf(this.bufs,t);return r.buf[r.index]}set(t,r){let n=vf(this.bufs,t);n.buf[n.index]=r}write(t,r=0){if(t instanceof Uint8Array)for(let n=0;n<t.length;n++)this.set(r+n,t[n]);else if(yo(t))for(let n=0;n<t.length;n++)this.set(r+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,r){let{bufs:n,length:i}=this._subList(t,r);return me(n,i)}subarray(t,r){let{bufs:n,length:i}=this._subList(t,r);return n.length===1?n[0]:me(n,i)}sublist(t,r){let{bufs:n,length:i}=this._subList(t,r),o=new e;return o.length=i,o.bufs=n,o}_subList(t,r){if(t=t??0,r=r??this.length,t<0&&(t=this.length+t),r<0&&(r=this.length+r),t<0||r>this.length)throw new RangeError("index is out of bounds");if(t===r)return{bufs:[],length:0};if(t===0&&r===this.length)return{bufs:[...this.bufs],length:this.length};let n=[],i=0;for(let o=0;o<this.bufs.length;o++){let s=this.bufs[o],a=i,c=a+s.byteLength;if(i=c,t>=c)continue;let u=t>=a&&t<c,f=r>a&&r<=c;if(u&&f){if(t===a&&r===c){n.push(s);break}let l=t-a;n.push(s.subarray(l,l+(r-t)));break}if(u){if(t===0){n.push(s);continue}n.push(s.subarray(t-a));continue}if(f){if(r===c){n.push(s);break}n.push(s.subarray(0,r-a));break}n.push(s)}return{bufs:n,length:r-t}}indexOf(t,r=0){if(!yo(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(r=Number(r??0),isNaN(r)&&(r=0),r<0&&(r=this.length+r),r<0&&(r=0),t.length===0)return r>this.length?this.length:r;let i=n.byteLength;if(i===0)throw new TypeError("search must be at least 1 byte long");let o=256,s=new Int32Array(o);for(let l=0;l<o;l++)s[l]=-1;for(let l=0;l<i;l++)s[n[l]]=l;let a=s,c=this.byteLength-n.byteLength,u=n.byteLength-1,f;for(let l=r;l<=c;l+=f){f=0;for(let h=u;h>=0;h--){let y=this.get(l+h);if(n[h]!==y){f=Math.max(1,h-a[y]);break}}if(f===0)return l}return-1}getInt8(t){let r=this.subarray(t,t+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt8(0)}setInt8(t,r){let n=dt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,r),this.write(n,t)}getInt16(t,r){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,r)}setInt16(t,r,n){let i=Jt(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt16(0,r,n),this.write(i,t)}getInt32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,r)}setInt32(t,r,n){let i=Jt(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt32(0,r,n),this.write(i,t)}getBigInt64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,r)}setBigInt64(t,r,n){let i=Jt(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigInt64(0,r,n),this.write(i,t)}getUint8(t){let r=this.subarray(t,t+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint8(0)}setUint8(t,r){let n=dt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,r),this.write(n,t)}getUint16(t,r){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,r)}setUint16(t,r,n){let i=Jt(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint16(0,r,n),this.write(i,t)}getUint32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,r)}setUint32(t,r,n){let i=Jt(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,r,n),this.write(i,t)}getBigUint64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,r)}setBigUint64(t,r,n){let i=Jt(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigUint64(0,r,n),this.write(i,t)}getFloat32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,r)}setFloat32(t,r,n){let i=Jt(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat32(0,r,n),this.write(i,t)}getFloat64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,r)}setFloat64(t,r,n){let i=Jt(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,r,n),this.write(i,t)}equals(t){if(t==null||!(t instanceof e)||t.bufs.length!==this.bufs.length)return!1;for(let r=0;r<this.bufs.length;r++)if(!Oe(this.bufs[r],t.bufs[r]))return!1;return!0}static fromUint8Arrays(t,r){let n=new e;return n.bufs=t,r==null&&(r=t.reduce((i,o)=>i+o.byteLength,0)),n.length=r,n}};var go=class extends Error{code;constructor(t,r){super(t),this.code=r}},Fa=class extends go{type;constructor(t){super(t,"ABORT_ERR"),this.type="aborted"}};function Sf(e){let t=Mt();e.sink(t).catch(o=>{t.end(o)}),e.sink=async o=>{for await(let s of o)t.push(s);t.end()};let r=e.source;e.source[Symbol.iterator]!=null?r=e.source[Symbol.iterator]():e.source[Symbol.asyncIterator]!=null&&(r=e.source[Symbol.asyncIterator]());let n=new Xe;return{read:async(o,s)=>{s?.signal?.throwIfAborted();let a,c=new Promise((u,f)=>{a=()=>{f(new Fa("Read aborted"))},s?.signal?.addEventListener("abort",a)});try{if(o==null){let{done:f,value:l}=await Promise.race([r.next(),c]);return f===!0?new Xe:l}for(;n.byteLength<o;){let{value:f,done:l}=await Promise.race([r.next(),c]);if(l===!0)throw new go("unexpected end of input","ERR_UNEXPECTED_EOF");n.append(f)}let u=n.sublist(0,o);return n.consume(o),u}finally{a!=null&&s?.signal?.removeEventListener("abort",a)}},write:async(o,s)=>{s?.signal?.throwIfAborted(),o instanceof Uint8Array?t.push(o):t.push(o.subarray()),await t.onEmpty(s)},unwrap:()=>{let o=e.source;return e.source=async function*(){yield*n,yield*o}(),e}}}function mo(e){return e[Symbol.asyncIterator]!=null}var xo=e=>{let t=it(e),r=dt(t);return wr(e,r),xo.bytes=t,r};xo.bytes=0;function zr(e,t){t=t??{};let r=t.lengthEncoder??xo;function*n(i){let o=r(i.byteLength);o instanceof Uint8Array?yield o:yield*o,i instanceof Uint8Array?yield i:yield*i}return mo(e)?async function*(){for await(let i of e)yield*n(i)}():function*(){for(let i of e)yield*n(i)}()}zr.single=(e,t)=>{t=t??{};let r=t.lengthEncoder??xo;return new Xe(r(e.byteLength),e)};var Rn=ke(Df(),1);var Og=8,Fg=1024*1024*4,Gr;(function(e){e[e.LENGTH=0]="LENGTH",e[e.DATA=1]="DATA"})(Gr||(Gr={}));var Ka=e=>{let t=Ct(e);return Ka.bytes=it(t),t};Ka.bytes=0;function Wr(e,t){let r=new Xe,n=Gr.LENGTH,i=-1,o=t?.lengthDecoder??Ka,s=t?.maxLengthLength??Og,a=t?.maxDataLength??Fg;function*c(){for(;r.byteLength>0;){if(n===Gr.LENGTH)try{if(i=o(r),i<0)throw(0,Rn.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(i>a)throw(0,Rn.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let u=o.bytes;r.consume(u),t?.onLength!=null&&t.onLength(i),n=Gr.DATA}catch(u){if(u instanceof RangeError){if(r.byteLength>s)throw(0,Rn.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw u}if(n===Gr.DATA){if(r.byteLength<i)break;let u=r.sublist(0,i);r.consume(i),t?.onData!=null&&t.onData(u),yield u,n=Gr.LENGTH}}}return mo(e)?async function*(){for await(let u of e)r.append(u),yield*c();if(r.byteLength>0)throw(0,Rn.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(let u of e)r.append(u),yield*c();if(r.byteLength>0)throw(0,Rn.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}Wr.fromReader=(e,t)=>{let r=1,n=async function*(){for(;;)try{let{done:o,value:s}=await e.next(r);if(o===!0)return;s!=null&&(yield s)}catch(o){if(o.code==="ERR_UNDER_READ")return{done:!0,value:null};throw o}finally{r=1}}();return Wr(n,{...t??{},onLength:o=>{r=o}})};var bo=class extends Error{code;constructor(t,r){super(t),this.code=r}},If=e=>Ct(e);If.bytes=0;function bi(e,t){let r=Sf(e);return{read:async i=>{let o=-1,s=new Xe,a=t?.lengthDecoder??If;for(;;){s.append(await r.read(1,i));try{o=a(s)}catch(c){if(c instanceof RangeError)continue;throw c}if(o>-1)break;if(t?.maxLengthLength!=null&&s.byteLength>t.maxLengthLength)throw new bo("message length length too long","ERR_MSG_LENGTH_TOO_LONG")}if(t?.maxDataLength!=null&&o>t.maxDataLength)throw new bo("message length too long","ERR_MSG_DATA_TOO_LONG");return r.read(o,i)},write:async(i,o)=>{await r.write(zr.single(i,t),o)},unwrap:()=>r.unwrap()}}function Ma(e,t){let r=bi(e,t),n={read:async(i,o)=>{let s=await r.read(o);return i.decode(s)},write:async(i,o,s)=>{await r.write(o.encode(i),s)},pb:i=>({read:async o=>n.read(i,o),write:async(o,s)=>n.write(o,i,s),unwrap:()=>n}),unwrap:()=>r.unwrap()};return n}var Kg="ERR_STREAM_RESET",Mg="ERR_SINK_INVALID_STATE";function Va(e){return e!=null&&typeof e.then=="function"}var wo=class{id;direction;timeline;protocol;metadata;source;status;readStatus;writeStatus;sinkController;sinkEnd;endErr;streamSource;onEnd;onCloseRead;onCloseWrite;onReset;onAbort;log;constructor(t){this.sinkController=new AbortController,this.sinkEnd=pt(),this.log=t.log,this.status="open",this.readStatus="ready",this.writeStatus="ready",this.id=t.id,this.metadata=t.metadata??{},this.direction=t.direction,this.timeline={open:Date.now()},this.onEnd=t.onEnd,this.onCloseRead=t?.onCloseRead,this.onCloseWrite=t?.onCloseWrite,this.onReset=t?.onReset,this.onAbort=t?.onAbort,this.source=this.streamSource=Mt({onEnd:r=>{r!=null?this.log.trace("source ended with error",r):this.log.trace("source ended"),this.readStatus="closed",this.onSourceEnd(r)}}),this.sink=this.sink.bind(this)}async sink(t){if(this.writeStatus!=="ready")throw new Z(`writable end state is "${this.writeStatus}" not "ready"`,Mg);try{this.writeStatus="writing";let r={signal:this.sinkController.signal};if(this.direction==="outbound"){let n=this.sendNewStream(r);Va(n)&&await n}t=ho(t,this.sinkController.signal,{returnOnAbort:!0}),this.log.trace("sink reading from source");for await(let n of t){n=n instanceof Uint8Array?new Xe(n):n;let i=this.sendData(n,r);Va(i)&&await i}this.log.trace("sink finished reading from source"),this.writeStatus="done",this.log.trace("sink calling closeWrite"),await this.closeWrite(r),this.onSinkEnd()}catch(r){throw this.log.trace("sink ended with error, calling abort with error",r),this.abort(r),r}finally{this.log.trace("resolve sink end"),this.sinkEnd.resolve()}}onSourceEnd(t){this.timeline.closeRead==null&&(this.timeline.closeRead=Date.now(),t!=null&&this.endErr==null&&(this.endErr=t),this.onCloseRead?.(),this.timeline.closeWrite!=null?(this.log.trace("source and sink ended"),this.timeline.close=Date.now(),this.onEnd!=null&&this.onEnd(this.endErr)):this.log.trace("source ended, waiting for sink to end"))}onSinkEnd(t){this.timeline.closeWrite==null&&(this.timeline.closeWrite=Date.now(),t!=null&&this.endErr==null&&(this.endErr=t),this.onCloseWrite?.(),this.timeline.closeRead!=null?(this.log.trace("sink and source ended"),this.timeline.close=Date.now(),this.onEnd!=null&&this.onEnd(this.endErr)):this.log.trace("sink ended, waiting for source to end"))}async close(t){this.log.trace("closing gracefully"),this.status="closing",await Promise.all([this.closeRead(t),this.closeWrite(t)]),this.status="closed",this.log.trace("closed gracefully")}async closeRead(t={}){if(this.readStatus==="closing"||this.readStatus==="closed")return;this.log.trace('closing readable end of stream with starting read status "%s"',this.readStatus);let r=this.readStatus;this.readStatus="closing",r==="ready"&&(this.log.trace("ending internal source queue"),this.streamSource.end()),this.status!=="reset"&&this.status!=="aborted"&&this.timeline.closeRead==null&&(this.log.trace("send close read to remote"),await this.sendCloseRead(t)),this.log.trace("closed readable end of stream")}async closeWrite(t={}){if(this.writeStatus==="closing"||this.writeStatus==="closed")return;this.log.trace('closing writable end of stream with starting write status "%s"',this.writeStatus);let r=this.writeStatus;this.writeStatus==="ready"&&(this.log.trace("sink was never sunk, sink an empty array"),await this.sink([])),this.writeStatus="closing",r==="writing"&&await new Promise((n,i)=>{queueMicrotask(()=>{this.log.trace("aborting source passed to .sink"),this.sinkController.abort(),this.sinkEnd.promise.then(n,i)})}),this.status!=="reset"&&this.status!=="aborted"&&this.timeline.closeWrite==null&&(this.log.trace("send close write to remote"),await this.sendCloseWrite(t)),this.writeStatus="closed",this.log.trace("closed writable end of stream")}abort(t){if(this.status==="closed"||this.status==="aborted"||this.status==="reset")return;this.log("abort with error",t),this.log("try to send reset to remote");let r=this.sendReset();Va(r)&&r.catch(n=>{this.log.error("error sending reset message",n)}),this.status="aborted",this.timeline.abort=Date.now(),this._closeSinkAndSource(t),this.onAbort?.(t)}reset(){if(this.status==="closed"||this.status==="aborted"||this.status==="reset")return;let t=new Z("stream reset",Kg);this.status="reset",this._closeSinkAndSource(t),this.onReset?.()}_closeSinkAndSource(t){this._closeSink(t),this._closeSource(t)}_closeSink(t){this.writeStatus==="writing"&&(this.log.trace("end sink source"),this.sinkController.abort()),this.onSinkEnd(t)}_closeSource(t){this.readStatus!=="closing"&&this.readStatus!=="closed"&&(this.log.trace("ending source with %d bytes to be read by consumer",this.streamSource.readableLength),this.readStatus="closing",this.streamSource.end(t))}remoteCloseWrite(){if(this.readStatus==="closing"||this.readStatus==="closed"){this.log("received remote close write but local source is already closed");return}this.log.trace("remote close write"),this._closeSource()}remoteCloseRead(){if(this.writeStatus==="closing"||this.writeStatus==="closed"){this.log("received remote close read but local sink is already closed");return}this.log.trace("remote close read"),this._closeSink()}destroy(){if(this.status==="closed"||this.status==="aborted"||this.status==="reset"){this.log("received destroy but we are already closed");return}this.log.trace("muxer destroyed"),this._closeSinkAndSource()}sourcePush(t){this.streamSource.push(t)}sourceReadableLength(){return this.streamSource.readableLength}};var Ln=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},qa=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t}},Tf=e=>globalThis.DOMException===void 0?new qa(e):new DOMException(e),_f=e=>{let t=e.reason===void 0?Tf("This operation was aborted."):e.reason;return t instanceof Error?t:Tf(t)};function Ha(e,t){let{milliseconds:r,fallback:n,message:i,customTimers:o={setTimeout,clearTimeout}}=t,s,c=new Promise((u,f)=>{if(typeof r!="number"||Math.sign(r)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${r}\``);if(t.signal){let{signal:h}=t;h.aborted&&f(_f(h)),h.addEventListener("abort",()=>{f(_f(h))})}if(r===Number.POSITIVE_INFINITY){e.then(u,f);return}let l=new Ln;s=o.setTimeout.call(void 0,()=>{if(n){try{u(n())}catch(h){f(h)}return}typeof e.cancel=="function"&&e.cancel(),i===!1?u():i instanceof Error?f(i):(l.message=i??`Promise timed out after ${r} milliseconds`,f(l))},r),(async()=>{try{u(await e)}catch(h){f(h)}})()}).finally(()=>{c.clear()});return c.clear=()=>{o.clearTimeout.call(void 0,s),s=void 0},c}var Vg=e=>{let t=e.on||e.addListener||e.addEventListener,r=e.off||e.removeListener||e.removeEventListener;if(!t||!r)throw new TypeError("Emitter is not compatible");return{addListener:t.bind(e),removeListener:r.bind(e)}};function qg(e,t,r){let n,i=new Promise((o,s)=>{if(r={rejectionEvents:["error"],multiArgs:!1,resolveImmediately:!1,...r},!(r.count>=0&&(r.count===Number.POSITIVE_INFINITY||Number.isInteger(r.count))))throw new TypeError("The `count` option should be at least 0 or more");r.signal?.throwIfAborted();let a=[t].flat(),c=[],{addListener:u,removeListener:f}=Vg(e),l=(...y)=>{let d=r.multiArgs?y:y[0];r.filter&&!r.filter(d)||(c.push(d),r.count===c.length&&(n(),o(c)))},h=y=>{n(),s(y)};n=()=>{for(let y of a)f(y,l);for(let y of r.rejectionEvents)f(y,h)};for(let y of a)u(y,l);for(let y of r.rejectionEvents)u(y,h);r.signal&&r.signal.addEventListener("abort",()=>{h(r.signal.reason)},{once:!0}),r.resolveImmediately&&o(c)});if(i.cancel=n,typeof r.timeout=="number"){let o=Ha(i,{milliseconds:r.timeout});return o.cancel=n,o}return i}function kf(e,t,r){typeof r=="function"&&(r={filter:r}),r={...r,count:1,resolveImmediately:!1};let n=qg(e,t,r),i=n.then(o=>o[0]);return i.cancel=n.cancel,i}var rc=ke(Ya(),1),xl=ke(fl(),1),bl=ke(Yr(),1),nc=ke(tc(),1),wl=ke(ml(),1);function Qg(){bl.default._configure(),rc.default._configure(xl.default),nc.default._configure(wl.default)}Qg();var vl=["uint64","int64","sint64","fixed64","sfixed64"];function jg(e){for(let t of vl){if(e[t]==null)continue;let r=e[t];e[t]=function(){return BigInt(r.call(this).toString())}}return e}function ic(e){return jg(new rc.default(e))}function Jg(e){for(let t of vl){if(e[t]==null)continue;let r=e[t];e[t]=function(n){return r.call(this,n.toString())}}return e}function oc(){return Jg(nc.default.create())}function It(e,t){let r=ic(e instanceof Uint8Array?e:e.subarray());return t.decode(r)}function Tt(e,t){let r=oc();return t.encode(e,r,{lengthDelimited:!1}),r.finish()}var Pn;(function(e){e[e.VARINT=0]="VARINT",e[e.BIT64=1]="BIT64",e[e.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",e[e.START_GROUP=3]="START_GROUP",e[e.END_GROUP=4]="END_GROUP",e[e.BIT32=5]="BIT32"})(Pn||(Pn={}));function Ao(e,t,r,n){return{name:e,type:t,encode:r,decode:n}}function Xr(e){function t(i){if(e[i.toString()]==null)throw new Error("Invalid enum value");return e[i]}let r=function(o,s){let a=t(o);s.int32(a)},n=function(o){let s=o.int32();return t(s)};return Ao("enum",Pn.VARINT,r,n)}function _t(e,t){return Ao("message",Pn.LENGTH_DELIMITED,e,t)}var gt;(function(e){let t;(function(i){i.FIN="FIN",i.STOP_SENDING="STOP_SENDING",i.RESET="RESET"})(t=e.Flag||(e.Flag={}));let r;(function(i){i[i.FIN=0]="FIN",i[i.STOP_SENDING=1]="STOP_SENDING",i[i.RESET=2]="RESET"})(r||(r={})),function(i){i.codec=()=>Xr(r)}(t=e.Flag||(e.Flag={}));let n;e.codec=()=>(n==null&&(n=_t((i,o,s={})=>{s.lengthDelimited!==!1&&o.fork(),i.flag!=null&&(o.uint32(8),e.Flag.codec().encode(i.flag,o)),i.message!=null&&(o.uint32(18),o.bytes(i.message)),s.lengthDelimited!==!1&&o.ldelim()},(i,o)=>{let s={},a=o==null?i.len:i.pos+o;for(;i.pos<a;){let c=i.uint32();switch(c>>>3){case 1:s.flag=e.Flag.codec().decode(i);break;case 2:s.message=i.bytes();break;default:i.skipType(c&7);break}}return s})),n),e.encode=i=>Tt(i,e.codec()),e.decode=i=>It(i,e.codec())})(gt||(gt={}));var Ei=Ye("libp2p:webrtc:stream"),El=16*1024,em=16*1024*1024,tm=30*1e3,rm=3,sc=class extends wo{channel;dataChannelOptions;incomingData;messageQueue;maxDataSize;constructor(t){switch(super(t),this.channel=t.channel,this.channel.binaryType="arraybuffer",this.incomingData=Mt(),this.messageQueue=new Xe,this.dataChannelOptions={bufferedAmountLowEventTimeout:t.dataChannelOptions?.bufferedAmountLowEventTimeout??tm,maxBufferedAmount:t.dataChannelOptions?.maxBufferedAmount??em,maxMessageSize:t.dataChannelOptions?.maxMessageSize??El},this.maxDataSize=t.maxDataSize,this.channel.readyState){case"open":break;case"closed":case"closing":(this.timeline.close===void 0||this.timeline.close===0)&&(this.timeline.close=Date.now());break;case"connecting":break;default:throw Ei.error("unknown datachannel state %s",this.channel.readyState),new Z("Unknown datachannel state","ERR_INVALID_STATE")}this.channel.onopen=n=>{this.timeline.open=new Date().getTime(),this.messageQueue!=null&&(this._sendMessage(this.messageQueue).catch(i=>{this.abort(i)}),this.messageQueue=void 0)},this.channel.onclose=n=>{this.close().catch(i=>{Ei.error("error closing stream after channel closed",i)})},this.channel.onerror=n=>{let i=n.error;this.abort(i)};let r=this;this.channel.onmessage=async n=>{let{data:i}=n;i===null||i.byteLength===0||this.incomingData.push(new Uint8Array(i,0,i.byteLength))},Promise.resolve().then(async()=>{for await(let n of Wr(this.incomingData)){let i=r.processIncomingProtobuf(n.subarray());i!=null&&r.sourcePush(new Xe(i))}}).catch(n=>{Ei.error("error processing incoming data channel messages",n)})}sendNewStream(){}async _sendMessage(t,r=!0){if(r&&this.channel.bufferedAmount>this.dataChannelOptions.maxBufferedAmount)try{await kf(this.channel,"bufferedamountlow",{timeout:this.dataChannelOptions.bufferedAmountLowEventTimeout})}catch(n){throw n instanceof Ln?new Error("Timed out waiting for DataChannel buffer to clear"):n}if(this.channel.readyState==="closed"||this.channel.readyState==="closing")throw new Z("Invalid datachannel state - closed or closing","ERR_INVALID_STATE");if(this.channel.readyState==="open")for(let n of t)this.channel.send(n);else if(this.channel.readyState==="connecting")this.messageQueue==null&&(this.messageQueue=new Xe),this.messageQueue.append(t);else throw Ei.error("unknown datachannel state %s",this.channel.readyState),new Z("Unknown datachannel state","ERR_INVALID_STATE")}async sendData(t){for(t=t.sublist();t.byteLength>0;){let r=Math.min(t.byteLength,this.maxDataSize),n=t.subarray(0,r),i=gt.encode({message:n}),o=zr.single(i);await this._sendMessage(o),t.consume(r)}}async sendReset(){await this._sendFlag(gt.Flag.RESET)}async sendCloseWrite(){await this._sendFlag(gt.Flag.FIN)}async sendCloseRead(){await this._sendFlag(gt.Flag.STOP_SENDING)}processIncomingProtobuf(t){let r=gt.decode(t);return r.flag!==void 0&&(r.flag===gt.Flag.FIN&&(this.incomingData.end(),this.remoteCloseWrite()),r.flag===gt.Flag.RESET&&this.reset(),r.flag===gt.Flag.STOP_SENDING&&this.remoteCloseRead()),r.message}async _sendFlag(t){Ei.trace("Sending flag: %s",t.toString());let r=gt.encode({flag:t}),n=zr.single(r);await this._sendMessage(n,!1)}};function Un(e){let{channel:t,direction:r,onEnd:n,dataChannelOptions:i}=e;return new sc({id:r==="inbound"?`i${t.id}`:`r${t.id}`,direction:r,maxDataSize:(i?.maxMessageSize??El)-rm,dataChannelOptions:i,onEnd:n,channel:t,log:Ye(`libp2p:mplex:stream:${r}:${t.id}`)})}var Sl="/webrtc",Qr=class{protocol;peerConnection;streamBuffer=[];metrics;dataChannelOptions;constructor(t){this.peerConnection=t.peerConnection,this.metrics=t.metrics,this.protocol=t.protocol??Sl,this.dataChannelOptions=t.dataChannelOptions,this.peerConnection.ondatachannel=({channel:r})=>{let n=Un({channel:r,direction:"inbound",dataChannelOptions:t.dataChannelOptions,onEnd:()=>{this.streamBuffer=this.streamBuffer.filter(i=>i.id!==n.id)}});this.streamBuffer.push(n)}}createStreamMuxer(t){return new ac({...t,peerConnection:this.peerConnection,dataChannelOptions:this.dataChannelOptions,metrics:this.metrics,streams:this.streamBuffer,protocol:this.protocol})}},ac=class{init;streams;protocol;peerConnection;dataChannelOptions;metrics;close=async()=>{};abort=()=>{};source=fo();sink=lo;constructor(t){this.init=t,this.streams=t.streams,this.peerConnection=t.peerConnection,this.protocol=t.protocol??Sl,this.metrics=t.metrics,this.peerConnection.ondatachannel=({channel:n})=>{let i=Un({channel:n,direction:"inbound",dataChannelOptions:this.dataChannelOptions,onEnd:()=>{this.streams=this.streams.filter(o=>o.id!==i.id),this.metrics?.increment({stream_end:!0}),t?.onStreamEnd?.(i)}});this.streams.push(i),t?.onIncomingStream!=null&&(this.metrics?.increment({incoming_stream:!0}),t.onIncomingStream(i))};let r=t?.onIncomingStream;r!=null&&this.streams.forEach(n=>{r(n)})}newStream(){let t=this.peerConnection.createDataChannel(""),r=Un({channel:t,direction:"outbound",dataChannelOptions:this.dataChannelOptions,onEnd:()=>{t.close(),this.streams=this.streams.filter(n=>n.id!==r.id),this.metrics?.increment({stream_end:!0}),this.init?.onStreamEnd?.(r)}});return this.streams.push(r),this.metrics?.increment({outgoing_stream:!0}),r}};var ft;(function(e){let t;(function(i){i.SDP_OFFER="SDP_OFFER",i.SDP_ANSWER="SDP_ANSWER",i.ICE_CANDIDATE="ICE_CANDIDATE"})(t=e.Type||(e.Type={}));let r;(function(i){i[i.SDP_OFFER=0]="SDP_OFFER",i[i.SDP_ANSWER=1]="SDP_ANSWER",i[i.ICE_CANDIDATE=2]="ICE_CANDIDATE"})(r||(r={})),function(i){i.codec=()=>Xr(r)}(t=e.Type||(e.Type={}));let n;e.codec=()=>(n==null&&(n=_t((i,o,s={})=>{s.lengthDelimited!==!1&&o.fork(),i.type!=null&&(o.uint32(8),e.Type.codec().encode(i.type,o)),i.data!=null&&(o.uint32(18),o.string(i.data)),s.lengthDelimited!==!1&&o.ldelim()},(i,o)=>{let s={},a=o==null?i.len:i.pos+o;for(;i.pos<a;){let c=i.uint32();switch(c>>>3){case 1:s.type=e.Type.codec().decode(i);break;case 2:s.data=i.string();break;default:i.skipType(c&7);break}}return s})),n),e.encode=i=>Tt(i,e.codec()),e.decode=i=>It(i,e.codec())})(ft||(ft={}));var Do=Ye("libp2p:webrtc:peer:util"),cc=async(e,t,r)=>{for(;;){let n=await Promise.race([e.promise,r.read()]);if(n instanceof Object){let i=n;if(i.type!==ft.Type.ICE_CANDIDATE)throw new Error("expected only ice candidates");if(i.data==null||i.data===""){Do.trace("end-of-candidates received");break}Do.trace("received new ICE candidate: %s",i.data);try{await t.addIceCandidate(new bf(JSON.parse(i.data)))}catch(o){throw Do.error("bad candidate received: ",o),new Error("bad candidate received")}}else break}await e.promise};function uc(e,t){e[mi?"oniceconnectionstatechange":"onconnectionstatechange"]=r=>{switch(Do.trace("receiver peerConnectionState state: ",e.connectionState),mi?e.iceConnectionState:e.connectionState){case"connected":t.resolve();break;case"failed":case"disconnected":case"closed":t.reject(new Error("RTCPeerConnection was closed"));break;default:break}}}var nm=30*1e3,Cr=Ye("libp2p:webrtc:peer");async function Cl({rtcConfiguration:e,dataChannelOptions:t,stream:r}){let n=AbortSignal.timeout(nm),i=Ma(Ua(r,n)).pb(ft),o=new _n(e);try{let s=new Qr({peerConnection:o,dataChannelOptions:t}),a=pt(),c=pt();n.onabort=()=>{a.reject(new Z("Timed out while trying to connect","ERR_TIMEOUT"))},o.onicecandidate=({candidate:y})=>{c.promise.then(async()=>{await i.write({type:ft.Type.ICE_CANDIDATE,data:y!=null?JSON.stringify(y.toJSON()):""})},d=>{Cr.error("cannot set candidate since sending answer failed",d),a.reject(d)})},uc(o,a);let u=await i.read();if(u.type!==ft.Type.SDP_OFFER)throw new Error(`expected message type SDP_OFFER, received: ${u.type??"undefined"} `);let f=new Pa({type:"offer",sdp:u.data});await o.setRemoteDescription(f).catch(y=>{throw Cr.error("could not execute setRemoteDescription",y),new Error("Failed to set remoteDescription")});let l=await o.createAnswer().catch(y=>{throw Cr.error("could not execute createAnswer",y),c.reject(y),new Error("Failed to create answer")});await i.write({type:ft.Type.SDP_ANSWER,data:l.sdp}),await o.setLocalDescription(l).catch(y=>{throw Cr.error("could not execute setLocalDescription",y),c.reject(y),new Error("Failed to set localDescription")}),c.resolve(),await cc(a,o,i);let h=Dl(o.currentRemoteDescription?.sdp??"");return{pc:o,muxerFactory:s,remoteAddress:h}}catch(s){throw o.close(),s}}async function Al({rtcConfiguration:e,dataChannelOptions:t,signal:r,stream:n}){let i=Ma(Ua(n,r)).pb(ft),o=new _n(e);try{let s=new Qr({peerConnection:o,dataChannelOptions:t}),a=pt();uc(o,a),r.onabort=a.reject;let c=o.createDataChannel("init");o.onicecandidate=({candidate:y})=>{i.write({type:ft.Type.ICE_CANDIDATE,data:y!=null?JSON.stringify(y.toJSON()):""}).catch(d=>{Cr.error("error sending ICE candidate",d)})};let u=await o.createOffer();await i.write({type:ft.Type.SDP_OFFER,data:u.sdp}),await o.setLocalDescription(u).catch(y=>{throw Cr.error("could not execute setLocalDescription",y),new Error("Failed to set localDescription")});let f=await i.read();if(f.type!==ft.Type.SDP_ANSWER)throw new Error("remote should send an SDP answer");let l=new Pa({type:"answer",sdp:f.data});await o.setRemoteDescription(l).catch(y=>{throw Cr.error("could not execute setRemoteDescription",y),new Error("Failed to set remoteDescription")}),await cc(a,o,i),c.close();let h=Dl(o.currentRemoteDescription?.sdp??"");return{pc:o,muxerFactory:s,remoteAddress:h}}catch(s){throw o.close(),s}}function Dl(e){let t=e.split(`\r
29
+ `});var H1=ye(()=>{q1();Ts();Ur();Z0();Xi()});var j0,ZT,z1=ye(()=>{m1();x1();b1();w1();v1();M0();E1();H0();S1();A1();N1();O1();F1();K1();H1();j0={...N0,...P0,...U0,...O0,...F0,...K0,...V0,...q0,...z0,...G0},ZT={...X0,...Q0}});function oi(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}var Ls=ye(()=>{});function Ns(e=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?oi(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}var J0=ye(()=>{Ls()});function W1(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var G1,eu,F3,Ps,tu=ye(()=>{z1();J0();G1=W1("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),eu=W1("ascii","a",e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},e=>{e=e.substring(1);let t=Ns(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),F3={utf8:G1,"utf-8":G1,hex:j0.base16,latin1:eu,ascii:eu,binary:eu,...j0},Ps=F3});var $1={};ue($1,{toString:()=>K3});function K3(e,t="utf8"){let r=Ps[t];if(!r)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString("utf8"):r.encoder.encode(e).substring(1)}var Y1=ye(()=>{tu()});var Z1={};ue(Z1,{fromString:()=>M3});function M3(e,t="utf8"){let r=Ps[t];if(!r)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?oi(globalThis.Buffer.from(e,"utf-8")):r.decoder.decode(`${r.prefix}${e}`)}var X1=ye(()=>{tu();Ls()});var Q1={};ue(Q1,{concat:()=>V3});function V3(e,t){t||(t=e.reduce((i,o)=>i+o.length,0));let r=Ns(t),n=0;for(let i of e)r.set(i,n),n+=i.length;return oi(r)}var j1=ye(()=>{J0();Ls()});var nu=$((c_,i2)=>{"use strict";var J1=Xp(),si=a1(),{names:ji}=u1(),{toString:Us}=(Y1(),eo($1)),{fromString:q3}=(X1(),eo(Z1)),{concat:H3}=(j1(),eo(Q1)),ai={};for(let e in ji){let t=e;ai[ji[t]]=t}Object.freeze(ai);function z3(e){if(!(e instanceof Uint8Array))throw new Error("must be passed a Uint8Array");return Us(e,"base16")}function G3(e){return q3(e,"base16")}function W3(e){if(!(e instanceof Uint8Array))throw new Error("must be passed a Uint8Array");return Us(J1.encode("base58btc",e)).slice(1)}function $3(e){let t=e instanceof Uint8Array?Us(e):e;return J1.decode("z"+t)}function e2(e){if(!(e instanceof Uint8Array))throw new Error("multihash must be a Uint8Array");if(e.length<2)throw new Error("multihash too short. must be > 2 bytes.");let t=si.decode(e);if(!r2(t))throw new Error(`multihash unknown function code: 0x${t.toString(16)}`);e=e.slice(si.decode.bytes);let r=si.decode(e);if(r<0)throw new Error(`multihash invalid length: ${r}`);if(e=e.slice(si.decode.bytes),e.length!==r)throw new Error(`multihash length inconsistent: 0x${Us(e,"base16")}`);return{code:t,name:ai[t],length:r,digest:e}}function Y3(e,t,r){if(!e||t===void 0)throw new Error("multihash encode requires at least two args: digest, code");let n=t2(t);if(!(e instanceof Uint8Array))throw new Error("digest should be a Uint8Array");if(r==null&&(r=e.length),r&&e.length!==r)throw new Error("digest length should be equal to specified length.");let i=si.encode(n),o=si.encode(r);return H3([i,o,e],i.length+o.length+e.length)}function t2(e){let t=e;if(typeof e=="string"){if(ji[e]===void 0)throw new Error(`Unrecognized hash function named: ${e}`);t=ji[e]}if(typeof t!="number")throw new Error(`Hash function code should be a number. Got: ${t}`);if(ai[t]===void 0&&!ru(t))throw new Error(`Unrecognized function code: ${t}`);return t}function ru(e){return e>0&&e<16}function r2(e){return!!(ru(e)||ai[e])}function n2(e){e2(e)}function Z3(e){return n2(e),e.subarray(0,2)}i2.exports={names:ji,codes:ai,toHexString:z3,fromHexString:G3,toB58String:W3,fromB58String:$3,decode:e2,encode:Y3,coerceCode:t2,isAppCode:ru,validate:n2,prefix:Z3,isValidCode:r2}});var a4={};ue(a4,{webRTC:()=>s4,webRTCDirect:()=>o4});var Z=class extends Error{code;props;constructor(t,r,n){super(t),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}},ui=class e extends Error{code;constructor(t="Unexpected Peer"){super(t),this.code=e.code}static code="ERR_UNEXPECTED_PEER"},Kr=class e extends Error{code;constructor(t="Invalid crypto exchange"){super(t),this.code=e.code}static code="ERR_INVALID_CRYPTO_EXCHANGE"};var to=Symbol.for("@libp2p/transport");var xu;(function(e){e[e.FATAL_ALL=0]="FATAL_ALL",e[e.NO_FATAL=1]="NO_FATAL"})(xu||(xu={}));var ct=ke(Su(),1);var Gs={};ue(Gs,{base32:()=>Et,base32hex:()=>G2,base32hexpad:()=>$2,base32hexpadupper:()=>Y2,base32hexupper:()=>W2,base32pad:()=>H2,base32padupper:()=>z2,base32upper:()=>q2,base32z:()=>Z2});function O2(e,t){if(e.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<e.length;i++){var o=e.charAt(i),s=o.charCodeAt(0);if(r[s]!==255)throw new TypeError(o+" is ambiguous");r[s]=i}var a=e.length,c=e.charAt(0),u=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function l(d){if(d instanceof Uint8Array||(ArrayBuffer.isView(d)?d=new Uint8Array(d.buffer,d.byteOffset,d.byteLength):Array.isArray(d)&&(d=Uint8Array.from(d))),!(d instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(d.length===0)return"";for(var p=0,g=0,m=0,v=d.length;m!==v&&d[m]===0;)m++,p++;for(var x=(v-m)*f+1>>>0,A=new Uint8Array(x);m!==v;){for(var E=d[m],w=0,B=x-1;(E!==0||w<g)&&B!==-1;B--,w++)E+=256*A[B]>>>0,A[B]=E%a>>>0,E=E/a>>>0;if(E!==0)throw new Error("Non-zero carry");g=w,m++}for(var D=x-g;D!==x&&A[D]===0;)D++;for(var R=c.repeat(p);D<x;++D)R+=e.charAt(A[D]);return R}function h(d){if(typeof d!="string")throw new TypeError("Expected String");if(d.length===0)return new Uint8Array;var p=0;if(d[p]!==" "){for(var g=0,m=0;d[p]===c;)g++,p++;for(var v=(d.length-p)*u+1>>>0,x=new Uint8Array(v);d[p];){var A=r[d.charCodeAt(p)];if(A===255)return;for(var E=0,w=v-1;(A!==0||E<m)&&w!==-1;w--,E++)A+=a*x[w]>>>0,x[w]=A%256>>>0,A=A/256>>>0;if(A!==0)throw new Error("Non-zero carry");m=E,p++}if(d[p]!==" "){for(var B=v-m;B!==v&&x[B]===0;)B++;for(var D=new Uint8Array(g+(v-B)),R=g;B!==v;)D[R++]=x[B++];return D}}}function y(d){var p=h(d);if(p)return p;throw new Error(`Non-${t} character`)}return{encode:l,decodeUnsafe:h,decode:y}}var F2=O2,K2=F2,Cu=K2;var p4=new Uint8Array(0);var Au=(e,t)=>{if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0},jt=e=>{if(e instanceof Uint8Array&&e.constructor.name==="Uint8Array")return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw new Error("Unknown type, must be binary type")};var Du=e=>new TextEncoder().encode(e),Bu=e=>new TextDecoder().decode(e);var Vs=class{constructor(t,r,n){this.name=t,this.prefix=r,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},qs=class{constructor(t,r,n){if(this.name=t,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return Tu(this,t)}},Hs=class{constructor(t){this.decoders=t}or(t){return Tu(this,t)}decode(t){let r=t[0],n=this.decoders[r];if(n)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},Tu=(e,t)=>new Hs({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}}),zs=class{constructor(t,r,n,i){this.name=t,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new Vs(t,r,n),this.decoder=new qs(t,r,i)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}},wn=({name:e,prefix:t,encode:r,decode:n})=>new zs(e,t,r,n),mr=({prefix:e,name:t,alphabet:r})=>{let{encode:n,decode:i}=Cu(r,t);return wn({prefix:e,name:t,encode:n,decode:o=>jt(i(o))})},M2=(e,t,r,n)=>{let i={};for(let f=0;f<t.length;++f)i[t[f]]=f;let o=e.length;for(;e[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,c=0,u=0;for(let f=0;f<o;++f){let l=i[e[f]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|l,a+=r,a>=8&&(a-=8,s[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s},V2=(e,t,r)=>{let n=t[t.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let c=0;c<e.length;++c)for(a=a<<8|e[c],s+=8;s>r;)s-=r,o+=t[i&a>>s];if(s&&(o+=t[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o},Re=({name:e,prefix:t,bitsPerChar:r,alphabet:n})=>wn({prefix:t,name:e,encode(i){return V2(i,n,r)},decode(i){return M2(i,n,r,e)}});var Et=Re({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),q2=Re({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),H2=Re({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),z2=Re({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),G2=Re({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),W2=Re({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),$2=Re({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Y2=Re({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Z2=Re({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Ws={};ue(Ws,{base58btc:()=>Ne,base58flickr:()=>X2});var Ne=mr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),X2=mr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var $s={};ue($s,{base64:()=>vn,base64pad:()=>Q2,base64url:()=>j2,base64urlpad:()=>J2});var vn=Re({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Q2=Re({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),j2=Re({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),J2=Re({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});ct.default.formatters.b=e=>e==null?"undefined":Ne.baseEncode(e);ct.default.formatters.t=e=>e==null?"undefined":Et.baseEncode(e);ct.default.formatters.m=e=>e==null?"undefined":vn.baseEncode(e);ct.default.formatters.p=e=>e==null?"undefined":e.toString();ct.default.formatters.c=e=>e==null?"undefined":e.toString();ct.default.formatters.k=e=>e==null?"undefined":e.toString();ct.default.formatters.a=e=>e==null?"undefined":e.toString();function ey(e){let t=()=>{};return t.enabled=!1,t.color="",t.diff=0,t.log=()=>{},t.namespace=e,t.destroy=()=>!0,t.extend=()=>t,t}function Ye(e){let t=ey(`${e}:trace`);return ct.default.enabled(`${e}:trace`)&&ct.default.names.map(r=>r.toString()).find(r=>r.includes(":trace"))!=null&&(t=(0,ct.default)(`${e}:trace`)),Object.assign((0,ct.default)(e),{error:(0,ct.default)(`${e}:error`),trace:t})}var _u=Symbol.for("@libp2p/peer-id");var Ys={};ue(Ys,{base10:()=>ty});var ty=mr({prefix:"9",name:"base10",alphabet:"0123456789"});var Zs={};ue(Zs,{base16:()=>ry,base16upper:()=>ny});var ry=Re({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),ny=Re({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Xs={};ue(Xs,{base2:()=>iy});var iy=Re({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Qs={};ue(Qs,{base256emoji:()=>uy});var ku=Array.from("\u{1F680}\u{1FA90}\u2604\u{1F6F0}\u{1F30C}\u{1F311}\u{1F312}\u{1F313}\u{1F314}\u{1F315}\u{1F316}\u{1F317}\u{1F318}\u{1F30D}\u{1F30F}\u{1F30E}\u{1F409}\u2600\u{1F4BB}\u{1F5A5}\u{1F4BE}\u{1F4BF}\u{1F602}\u2764\u{1F60D}\u{1F923}\u{1F60A}\u{1F64F}\u{1F495}\u{1F62D}\u{1F618}\u{1F44D}\u{1F605}\u{1F44F}\u{1F601}\u{1F525}\u{1F970}\u{1F494}\u{1F496}\u{1F499}\u{1F622}\u{1F914}\u{1F606}\u{1F644}\u{1F4AA}\u{1F609}\u263A\u{1F44C}\u{1F917}\u{1F49C}\u{1F614}\u{1F60E}\u{1F607}\u{1F339}\u{1F926}\u{1F389}\u{1F49E}\u270C\u2728\u{1F937}\u{1F631}\u{1F60C}\u{1F338}\u{1F64C}\u{1F60B}\u{1F497}\u{1F49A}\u{1F60F}\u{1F49B}\u{1F642}\u{1F493}\u{1F929}\u{1F604}\u{1F600}\u{1F5A4}\u{1F603}\u{1F4AF}\u{1F648}\u{1F447}\u{1F3B6}\u{1F612}\u{1F92D}\u2763\u{1F61C}\u{1F48B}\u{1F440}\u{1F62A}\u{1F611}\u{1F4A5}\u{1F64B}\u{1F61E}\u{1F629}\u{1F621}\u{1F92A}\u{1F44A}\u{1F973}\u{1F625}\u{1F924}\u{1F449}\u{1F483}\u{1F633}\u270B\u{1F61A}\u{1F61D}\u{1F634}\u{1F31F}\u{1F62C}\u{1F643}\u{1F340}\u{1F337}\u{1F63B}\u{1F613}\u2B50\u2705\u{1F97A}\u{1F308}\u{1F608}\u{1F918}\u{1F4A6}\u2714\u{1F623}\u{1F3C3}\u{1F490}\u2639\u{1F38A}\u{1F498}\u{1F620}\u261D\u{1F615}\u{1F33A}\u{1F382}\u{1F33B}\u{1F610}\u{1F595}\u{1F49D}\u{1F64A}\u{1F639}\u{1F5E3}\u{1F4AB}\u{1F480}\u{1F451}\u{1F3B5}\u{1F91E}\u{1F61B}\u{1F534}\u{1F624}\u{1F33C}\u{1F62B}\u26BD\u{1F919}\u2615\u{1F3C6}\u{1F92B}\u{1F448}\u{1F62E}\u{1F646}\u{1F37B}\u{1F343}\u{1F436}\u{1F481}\u{1F632}\u{1F33F}\u{1F9E1}\u{1F381}\u26A1\u{1F31E}\u{1F388}\u274C\u270A\u{1F44B}\u{1F630}\u{1F928}\u{1F636}\u{1F91D}\u{1F6B6}\u{1F4B0}\u{1F353}\u{1F4A2}\u{1F91F}\u{1F641}\u{1F6A8}\u{1F4A8}\u{1F92C}\u2708\u{1F380}\u{1F37A}\u{1F913}\u{1F619}\u{1F49F}\u{1F331}\u{1F616}\u{1F476}\u{1F974}\u25B6\u27A1\u2753\u{1F48E}\u{1F4B8}\u2B07\u{1F628}\u{1F31A}\u{1F98B}\u{1F637}\u{1F57A}\u26A0\u{1F645}\u{1F61F}\u{1F635}\u{1F44E}\u{1F932}\u{1F920}\u{1F927}\u{1F4CC}\u{1F535}\u{1F485}\u{1F9D0}\u{1F43E}\u{1F352}\u{1F617}\u{1F911}\u{1F30A}\u{1F92F}\u{1F437}\u260E\u{1F4A7}\u{1F62F}\u{1F486}\u{1F446}\u{1F3A4}\u{1F647}\u{1F351}\u2744\u{1F334}\u{1F4A3}\u{1F438}\u{1F48C}\u{1F4CD}\u{1F940}\u{1F922}\u{1F445}\u{1F4A1}\u{1F4A9}\u{1F450}\u{1F4F8}\u{1F47B}\u{1F910}\u{1F92E}\u{1F3BC}\u{1F975}\u{1F6A9}\u{1F34E}\u{1F34A}\u{1F47C}\u{1F48D}\u{1F4E3}\u{1F942}"),oy=ku.reduce((e,t,r)=>(e[r]=t,e),[]),sy=ku.reduce((e,t,r)=>(e[t.codePointAt(0)]=r,e),[]);function ay(e){return e.reduce((t,r)=>(t+=oy[r],t),"")}function cy(e){let t=[];for(let r of e){let n=sy[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);t.push(n)}return new Uint8Array(t)}var uy=wn({prefix:"\u{1F680}",name:"base256emoji",encode:ay,decode:cy});var js={};ue(js,{base36:()=>fy,base36upper:()=>ly});var fy=mr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),ly=mr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Js={};ue(Js,{base8:()=>hy});var hy=Re({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var ea={};ue(ea,{identity:()=>dy});var dy=wn({prefix:"\0",name:"identity",encode:e=>Bu(e),decode:e=>Du(e)});var N4=new TextEncoder,P4=new TextDecoder;var ra={};ue(ra,{identity:()=>xr});var gy=Nu,Ru=128,my=127,xy=~my,by=Math.pow(2,31);function Nu(e,t,r){t=t||[],r=r||0;for(var n=r;e>=by;)t[r++]=e&255|Ru,e/=128;for(;e&xy;)t[r++]=e&255|Ru,e>>>=7;return t[r]=e|0,Nu.bytes=r-n+1,t}var wy=ta,vy=128,Lu=127;function ta(e,n){var r=0,n=n||0,i=0,o=n,s,a=e.length;do{if(o>=a)throw ta.bytes=0,new RangeError("Could not decode varint");s=e[o++],r+=i<28?(s&Lu)<<i:(s&Lu)*Math.pow(2,i),i+=7}while(s>=vy);return ta.bytes=o-n,r}var Ey=Math.pow(2,7),Sy=Math.pow(2,14),Cy=Math.pow(2,21),Ay=Math.pow(2,28),Dy=Math.pow(2,35),By=Math.pow(2,42),Iy=Math.pow(2,49),Ty=Math.pow(2,56),_y=Math.pow(2,63),ky=function(e){return e<Ey?1:e<Sy?2:e<Cy?3:e<Ay?4:e<Dy?5:e<By?6:e<Iy?7:e<Ty?8:e<_y?9:10},Ry={encode:gy,decode:wy,encodingLength:ky},Ly=Ry,fi=Ly;var li=(e,t=0)=>[fi.decode(e,t),fi.decode.bytes],En=(e,t,r=0)=>(fi.encode(e,t,r),t),Sn=e=>fi.encodingLength(e);var Ft=(e,t)=>{let r=t.byteLength,n=Sn(e),i=n+Sn(r),o=new Uint8Array(i+r);return En(e,o,0),En(r,o,n),o.set(t,i),new Cn(e,r,t,o)},Vr=e=>{let t=jt(e),[r,n]=li(t),[i,o]=li(t.subarray(n)),s=t.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new Cn(r,i,s,t)},Pu=(e,t)=>{if(e===t)return!0;{let r=t;return e.code===r.code&&e.size===r.size&&r.bytes instanceof Uint8Array&&Au(e.bytes,r.bytes)}},Cn=class{constructor(t,r,n,i){this.code=t,this.size=r,this.digest=n,this.bytes=i}};var Uu=0,Ny="identity",Ou=jt,Py=e=>Ft(Uu,Ou(e)),xr={code:Uu,name:Ny,encode:Ou,digest:Py};var oa={};ue(oa,{sha256:()=>Ze,sha512:()=>Uy});var ia=({name:e,code:t,encode:r})=>new na(e,t,r),na=class{constructor(t,r,n){this.name=t,this.code=r,this.encode=n}digest(t){if(t instanceof Uint8Array){let r=this.encode(t);return r instanceof Uint8Array?Ft(this.code,r):r.then(n=>Ft(this.code,n))}else throw Error("Unknown type, must be binary type")}};var Ku=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),Ze=ia({name:"sha2-256",code:18,encode:Ku("SHA-256")}),Uy=ia({name:"sha2-512",code:19,encode:Ku("SHA-512")});var Mu=(e,t)=>{let{bytes:r,version:n}=e;switch(n){case 0:return Fy(r,sa(e),t||Ne.encoder);default:return Ky(r,sa(e),t||Et.encoder)}};var Vu=new WeakMap,sa=e=>{let t=Vu.get(e);if(t==null){let r=new Map;return Vu.set(e,r),r}return t},St=class e{constructor(t,r,n,i){this.code=r,this.version=t,this.multihash=n,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:t,multihash:r}=this;if(t!==hi)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==My)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return e.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:t,digest:r}=this.multihash,n=Ft(t,r);return e.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(t){return e.equals(this,t)}static equals(t,r){let n=r;return n&&t.code===n.code&&t.version===n.version&&Pu(t.multihash,n.multihash)}toString(t){return Mu(this,t)}toJSON(){return{"/":Mu(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let r=t;if(r instanceof e)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:o,bytes:s}=r;return new e(n,i,o,s||qu(n,i,o.bytes))}else if(r[Vy]===!0){let{version:n,multihash:i,code:o}=r,s=Vr(i);return e.create(n,o,s)}else return null}static create(t,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(t){case 0:{if(r!==hi)throw new Error(`Version 0 CID must use dag-pb (code: ${hi}) block encoding`);return new e(t,r,n,n.bytes)}case 1:{let i=qu(t,r,n.bytes);return new e(t,r,n,i)}default:throw new Error("Invalid version")}}static createV0(t){return e.create(0,hi,t)}static createV1(t,r){return e.create(1,t,r)}static decode(t){let[r,n]=e.decodeFirst(t);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(t){let r=e.inspectBytes(t),n=r.size-r.multihashSize,i=jt(t.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let o=i.subarray(r.multihashSize-r.digestSize),s=new Cn(r.multihashCode,r.digestSize,o,i);return[r.version===0?e.createV0(s):e.createV1(r.codec,s),t.subarray(r.size)]}static inspectBytes(t){let r=0,n=()=>{let[l,h]=li(t.subarray(r));return r+=h,l},i=n(),o=hi;if(i===18?(i=0,r=0):o=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=r,a=n(),c=n(),u=r+c,f=u-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:f,size:u}}static parse(t,r){let[n,i]=Oy(t,r),o=e.decode(i);if(o.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return sa(o).set(n,t),o}},Oy=(e,t)=>{switch(e[0]){case"Q":{let r=t||Ne;return[Ne.prefix,r.decode(`${Ne.prefix}${e}`)]}case Ne.prefix:{let r=t||Ne;return[Ne.prefix,r.decode(e)]}case Et.prefix:{let r=t||Et;return[Et.prefix,r.decode(e)]}default:{if(t==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[e[0],t.decode(e)]}}},Fy=(e,t,r)=>{let{prefix:n}=r;if(n!==Ne.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=t.get(n);if(i==null){let o=r.encode(e).slice(1);return t.set(n,o),o}else return i},Ky=(e,t,r)=>{let{prefix:n}=r,i=t.get(n);if(i==null){let o=r.encode(e);return t.set(n,o),o}else return i},hi=112,My=18,qu=(e,t,r)=>{let n=Sn(e),i=n+Sn(t),o=new Uint8Array(i+r.byteLength);return En(e,o,0),En(t,o,n),o.set(r,i),o},Vy=Symbol.for("@ipld/js-cid/CID");var Kt={...ea,...Xs,...Js,...Ys,...Zs,...Gs,...js,...Ws,...$s,...Qs},Q4={...oa,...ra};function Oe(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}var qy=Symbol.for("nodejs.util.inspect.custom"),Hu=Object.values(Kt).map(e=>e.decoder).reduce((e,t)=>e.or(t),Kt.identity.decoder),zu=114,aa=36,ca=37,di=class{type;multihash;privateKey;publicKey;string;constructor(t){this.type=t.type,this.multihash=t.multihash,this.privateKey=t.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[_u]=!0;toString(){return this.string==null&&(this.string=Ne.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return St.createV1(zu,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(t){if(t instanceof Uint8Array)return Oe(this.multihash.bytes,t);if(typeof t=="string")return pi(t).equals(this);if(t?.multihash?.bytes!=null)return Oe(this.multihash.bytes,t.multihash.bytes);throw new Error("not valid Id")}[qy](){return`PeerId(${this.toString()})`}},An=class extends di{type="RSA";publicKey;constructor(t){super({...t,type:"RSA"}),this.publicKey=t.publicKey}},Dn=class extends di{type="Ed25519";publicKey;constructor(t){super({...t,type:"Ed25519"}),this.publicKey=t.multihash.digest}},Bn=class extends di{type="secp256k1";publicKey;constructor(t){super({...t,type:"secp256k1"}),this.publicKey=t.multihash.digest}};function pi(e,t){if(t=t??Hu,e.charAt(0)==="1"||e.charAt(0)==="Q"){let r=Vr(Ne.decode(`z${e}`));return e.startsWith("12D")?new Dn({multihash:r}):e.startsWith("16U")?new Bn({multihash:r}):new An({multihash:r})}return Hy(Hu.decode(e))}function Hy(e){try{let t=Vr(e);if(t.code===xr.code){if(t.digest.length===aa)return new Dn({multihash:t});if(t.digest.length===ca)return new Bn({multihash:t})}if(t.code===Ze.code)return new An({multihash:t})}catch{return zy(St.decode(e))}throw new Error("Supplied PeerID CID is invalid")}function zy(e){if(e==null||e.multihash==null||e.version==null||e.version===1&&e.code!==zu)throw new Error("Supplied PeerID CID is invalid");let t=e.multihash;if(t.code===Ze.code)return new An({multihash:e.multihash});if(t.code===xr.code){if(t.digest.length===aa)return new Dn({multihash:e.multihash});if(t.digest.length===ca)return new Bn({multihash:e.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function ua(e,t){return e.length===aa?new Dn({multihash:Ft(xr.code,e),privateKey:t}):e.length===ca?new Bn({multihash:Ft(xr.code,e),privateKey:t}):new An({multihash:await Ze.digest(e),publicKey:e,privateKey:t})}function br(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function Jt(e=0){return globalThis.Buffer?.alloc!=null?br(globalThis.Buffer.alloc(e)):new Uint8Array(e)}function dt(e=0){return globalThis.Buffer?.allocUnsafe!=null?br(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}function Wu(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var Gu=Wu("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),fa=Wu("ascii","a",e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},e=>{e=e.substring(1);let t=dt(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),Wy={utf8:Gu,"utf-8":Gu,hex:Kt.base16,latin1:fa,ascii:fa,binary:fa,...Kt},oo=Wy;function se(e,t="utf8"){let r=oo[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString("utf8"):r.encoder.encode(e).substring(1)}var $y=Math.pow(2,7),Yy=Math.pow(2,14),Zy=Math.pow(2,21),la=Math.pow(2,28),ha=Math.pow(2,35),da=Math.pow(2,42),pa=Math.pow(2,49),ge=128,et=127;function it(e){if(e<$y)return 1;if(e<Yy)return 2;if(e<Zy)return 3;if(e<la)return 4;if(e<ha)return 5;if(e<da)return 6;if(e<pa)return 7;if(Number.MAX_SAFE_INTEGER!=null&&e>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Xy(e,t,r=0){switch(it(e)){case 8:t[r++]=e&255|ge,e/=128;case 7:t[r++]=e&255|ge,e/=128;case 6:t[r++]=e&255|ge,e/=128;case 5:t[r++]=e&255|ge,e/=128;case 4:t[r++]=e&255|ge,e>>>=7;case 3:t[r++]=e&255|ge,e>>>=7;case 2:t[r++]=e&255|ge,e>>>=7;case 1:{t[r++]=e&255,e>>>=7;break}default:throw new Error("unreachable")}return t}function Qy(e,t,r=0){switch(it(e)){case 8:t.set(r++,e&255|ge),e/=128;case 7:t.set(r++,e&255|ge),e/=128;case 6:t.set(r++,e&255|ge),e/=128;case 5:t.set(r++,e&255|ge),e/=128;case 4:t.set(r++,e&255|ge),e>>>=7;case 3:t.set(r++,e&255|ge),e>>>=7;case 2:t.set(r++,e&255|ge),e>>>=7;case 1:{t.set(r++,e&255),e>>>=7;break}default:throw new Error("unreachable")}return t}function jy(e,t){let r=e[t],n=0;if(n+=r&et,r<ge||(r=e[t+1],n+=(r&et)<<7,r<ge)||(r=e[t+2],n+=(r&et)<<14,r<ge)||(r=e[t+3],n+=(r&et)<<21,r<ge)||(r=e[t+4],n+=(r&et)*la,r<ge)||(r=e[t+5],n+=(r&et)*ha,r<ge)||(r=e[t+6],n+=(r&et)*da,r<ge)||(r=e[t+7],n+=(r&et)*pa,r<ge))return n;throw new RangeError("Could not decode varint")}function Jy(e,t){let r=e.get(t),n=0;if(n+=r&et,r<ge||(r=e.get(t+1),n+=(r&et)<<7,r<ge)||(r=e.get(t+2),n+=(r&et)<<14,r<ge)||(r=e.get(t+3),n+=(r&et)<<21,r<ge)||(r=e.get(t+4),n+=(r&et)*la,r<ge)||(r=e.get(t+5),n+=(r&et)*ha,r<ge)||(r=e.get(t+6),n+=(r&et)*da,r<ge)||(r=e.get(t+7),n+=(r&et)*pa,r<ge))return n;throw new RangeError("Could not decode varint")}function wr(e,t,r=0){return t==null&&(t=dt(it(e))),t instanceof Uint8Array?Xy(e,t,r):Qy(e,t,r)}function Ct(e,t=0){return e instanceof Uint8Array?jy(e,t):Jy(e,t)}function me(e,t){t==null&&(t=e.reduce((i,o)=>i+o.length,0));let r=dt(t),n=0;for(let i of e)r.set(i,n),n+=i.length;return br(r)}var so=class{index=0;input="";new(t){return this.index=0,this.input=t,this}readAtomically(t){let r=this.index,n=t();return n===void 0&&(this.index=r),n}parseWith(t){let r=t();if(this.index===this.input.length)return r}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(t){return this.readAtomically(()=>{let r=this.readChar();if(r===t)return r})}readSeparator(t,r,n){return this.readAtomically(()=>{if(!(r>0&&this.readGivenChar(t)===void 0))return n()})}readNumber(t,r,n,i){return this.readAtomically(()=>{let o=0,s=0,a=this.peekChar();if(a===void 0)return;let c=a==="0",u=2**(8*i)-1;for(;;){let f=this.readAtomically(()=>{let l=this.readChar();if(l===void 0)return;let h=Number.parseInt(l,t);if(!Number.isNaN(h))return h});if(f===void 0)break;if(o*=t,o+=f,o>u||(s+=1,r!==void 0&&s>r))return}if(s!==0)return!n&&c&&s>1?void 0:o})}readIPv4Addr(){return this.readAtomically(()=>{let t=new Uint8Array(4);for(let r=0;r<t.length;r++){let n=this.readSeparator(".",r,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;t[r]=n}return t})}readIPv6Addr(){let t=r=>{for(let n=0;n<r.length/2;n++){let i=n*2;if(n<r.length-3){let s=this.readSeparator(":",n,()=>this.readIPv4Addr());if(s!==void 0)return r[i]=s[0],r[i+1]=s[1],r[i+2]=s[2],r[i+3]=s[3],[i+4,!0]}let o=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(o===void 0)return[i,!1];r[i]=o>>8,r[i+1]=o&255}return[r.length,!1]};return this.readAtomically(()=>{let r=new Uint8Array(16),[n,i]=t(r);if(n===16)return r;if(i||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let o=new Uint8Array(14),s=16-(n+2),[a]=t(o.subarray(0,s));return r.set(o.subarray(0,a),16-a),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var $u=45,eg=15,In=new so;function ya(e){if(!(e.length>eg))return In.new(e).parseWith(()=>In.readIPv4Addr())}function ga(e){if(e.includes("%")&&(e=e.split("%")[0]),!(e.length>$u))return In.new(e).parseWith(()=>In.readIPv6Addr())}function ao(e){if(e.includes("%")&&(e=e.split("%")[0]),!(e.length>$u))return In.new(e).parseWith(()=>In.readIPAddr())}var TE=parseInt("0xFFFF",16),_E=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function Be(e,t="utf8"){let r=oo[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?br(globalThis.Buffer.from(e,"utf-8")):r.decoder.decode(`${r.prefix}${e}`)}function Xu(e){return!!ya(e)}function Qu(e){return!!ga(e)}function co(e){return!!ao(e)}var ju=Xu,og=Qu,ma=function(e){let t=0;if(e=e.toString().trim(),ju(e)){let r=new Uint8Array(t+4);return e.split(/\./g).forEach(n=>{r[t++]=parseInt(n,10)&255}),r}if(og(e)){let r=e.split(":",8),n;for(n=0;n<r.length;n++){let o=ju(r[n]),s;o&&(s=ma(r[n]),r[n]=se(s.slice(0,2),"base16")),s!=null&&++n<8&&r.splice(n,0,se(s.slice(2,4),"base16"))}if(r[0]==="")for(;r.length<8;)r.unshift("0");else if(r[r.length-1]==="")for(;r.length<8;)r.push("0");else if(r.length<8){for(n=0;n<r.length&&r[n]!=="";n++);let o=[n,1];for(n=9-r.length;n>0;n--)o.push("0");r.splice.apply(r,o)}let i=new Uint8Array(t+16);for(n=0;n<r.length;n++){let o=parseInt(r[n],16);i[t++]=o>>8&255,i[t++]=o&255}return i}throw new Error("invalid ip address")},Ju=function(e,t=0,r){t=~~t,r=r??e.length-t;let n=new DataView(e.buffer);if(r===4){let i=[];for(let o=0;o<r;o++)i.push(e[t+o]);return i.join(".")}if(r===16){let i=[];for(let o=0;o<r;o+=2)i.push(n.getUint16(t+o).toString(16));return i.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var Tn={},xa={},ag=[[4,32,"ip4"],[6,16,"tcp"],[33,16,"dccp"],[41,128,"ip6"],[42,-1,"ip6zone"],[43,8,"ipcidr"],[53,-1,"dns",!0],[54,-1,"dns4",!0],[55,-1,"dns6",!0],[56,-1,"dnsaddr",!0],[132,16,"sctp"],[273,16,"udp"],[275,0,"p2p-webrtc-star"],[276,0,"p2p-webrtc-direct"],[277,0,"p2p-stardust"],[280,0,"webrtc-direct"],[281,0,"webrtc"],[290,0,"p2p-circuit"],[301,0,"udt"],[302,0,"utp"],[400,-1,"unix",!1,!0],[421,-1,"ipfs"],[421,-1,"p2p"],[443,0,"https"],[444,96,"onion"],[445,296,"onion3"],[446,-1,"garlic64"],[448,0,"tls"],[449,-1,"sni"],[460,0,"quic"],[461,0,"quic-v1"],[465,0,"webtransport"],[466,-1,"certhash"],[477,0,"ws"],[478,0,"wss"],[479,0,"p2p-websocket-star"],[480,0,"http"],[777,-1,"memory"]];ag.forEach(e=>{let t=cg(...e);xa[t.code]=t,Tn[t.name]=t});function cg(e,t,r,n,i){return{code:e,size:t,name:r,resolvable:!!n,path:!!i}}function he(e){if(typeof e=="number"){if(xa[e]!=null)return xa[e];throw new Error(`no protocol with code: ${e}`)}else if(typeof e=="string"){if(Tn[e]!=null)return Tn[e];throw new Error(`no protocol with name: ${e}`)}throw new Error(`invalid protocol id type: ${typeof e}`)}var gS=he("ip4"),mS=he("ip6"),xS=he("ipcidr");function wa(e,t){switch(he(e).code){case 4:case 41:return fg(t);case 42:return rf(t);case 6:case 273:case 33:case 132:return of(t).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return rf(t);case 421:return pg(t);case 444:return nf(t);case 445:return nf(t);case 466:return dg(t);default:return se(t,"base16")}}function va(e,t){switch(he(e).code){case 4:return ef(t);case 41:return ef(t);case 42:return tf(t);case 6:case 273:case 33:case 132:return Ea(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return tf(t);case 421:return lg(t);case 444:return yg(t);case 445:return gg(t);case 466:return hg(t);default:return Be(t,"base16")}}var ba=Object.values(Kt).map(e=>e.decoder),ug=function(){let e=ba[0].or(ba[1]);return ba.slice(2).forEach(t=>e=e.or(t)),e}();function ef(e){if(!co(e))throw new Error("invalid ip address");return ma(e)}function fg(e){let t=Ju(e,0,e.length);if(t==null)throw new Error("ipBuff is required");if(!co(t))throw new Error("invalid ip address");return t}function Ea(e){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,e),new Uint8Array(t)}function of(e){return new DataView(e.buffer).getUint16(e.byteOffset)}function tf(e){let t=Be(e),r=Uint8Array.from(wr(t.length));return me([r,t],r.length+t.length)}function rf(e){let t=Ct(e);if(e=e.slice(it(t)),e.length!==t)throw new Error("inconsistent lengths");return se(e)}function lg(e){let t;e[0]==="Q"||e[0]==="1"?t=Vr(Ne.decode(`z${e}`)).bytes:t=St.parse(e).multihash.bytes;let r=Uint8Array.from(wr(t.length));return me([r,t],r.length+t.length)}function hg(e){let t=ug.decode(e),r=Uint8Array.from(wr(t.length));return me([r,t],r.length+t.length)}function dg(e){let t=Ct(e),r=e.slice(it(t));if(r.length!==t)throw new Error("inconsistent lengths");return"u"+se(r,"base64url")}function pg(e){let t=Ct(e),r=e.slice(it(t));if(r.length!==t)throw new Error("inconsistent lengths");return se(r,"base58btc")}function yg(e){let t=e.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 r=Et.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 i=Ea(n);return me([r,i],r.length+i.length)}function gg(e){let t=e.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 r=Et.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 i=Ea(n);return me([r,i],r.length+i.length)}function nf(e){let t=e.slice(0,e.length-2),r=e.slice(e.length-2),n=se(t,"base32"),i=of(r);return`${n}:${i}`}function sf(e){e=Sa(e);let t=[],r=[],n=null,i=e.split("/").slice(1);if(i.length===1&&i[0]==="")return{bytes:new Uint8Array,string:"/",tuples:[],stringTuples:[],path:null};for(let o=0;o<i.length;o++){let s=i[o],a=he(s);if(a.size===0){t.push([a.code]),r.push([a.code]);continue}if(o++,o>=i.length)throw cf("invalid address: "+e);if(a.path===!0){n=Sa(i.slice(o).join("/")),t.push([a.code,va(a.code,n)]),r.push([a.code,n]);break}let c=va(a.code,i[o]);t.push([a.code,c]),r.push([a.code,wa(a.code,c)])}return{string:af(r),bytes:Aa(t),tuples:t,stringTuples:r,path:n}}function Ca(e){let t=[],r=[],n=null,i=0;for(;i<e.length;){let o=Ct(e,i),s=it(o),a=he(o),c=mg(a,e.slice(i+s));if(c===0){t.push([o]),r.push([o]),i+=s;continue}let u=e.slice(i+s,i+s+c);if(i+=c+s,i>e.length)throw cf("Invalid address Uint8Array: "+se(e,"base16"));t.push([o,u]);let f=wa(o,u);if(r.push([o,f]),a.path===!0){n=f;break}}return{bytes:Uint8Array.from(e),string:af(r),tuples:t,stringTuples:r,path:n}}function af(e){let t=[];return e.map(r=>{let n=he(r[0]);return t.push(n.name),r.length>1&&r[1]!=null&&t.push(r[1]),null}),Sa(t.join("/"))}function Aa(e){return me(e.map(t=>{let r=he(t[0]),n=Uint8Array.from(wr(r.code));return t.length>1&&t[1]!=null&&(n=me([n,t[1]])),n}))}function mg(e,t){if(e.size>0)return e.size/8;if(e.size===0)return 0;{let r=Ct(t instanceof Uint8Array?t:Uint8Array.from(t));return r+it(r)}}function Sa(e){return"/"+e.trim().split("/").filter(t=>t).join("/")}function cf(e){return new Error("Error parsing address: "+e)}var xg=Symbol.for("nodejs.util.inspect.custom"),bg=[he("dns").code,he("dns4").code,he("dns6").code,he("dnsaddr").code],wg=new Map,uf=Symbol.for("@multiformats/js-multiaddr/multiaddr");function vg(e){return!!e?.[uf]}var Da=class e{bytes;#e;#t;#r;#n;[uf]=!0;constructor(t){t==null&&(t="");let r;if(t instanceof Uint8Array)r=Ca(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);r=sf(t)}else if(vg(t))r=Ca(t.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=r.bytes,this.#e=r.string,this.#t=r.tuples,this.#r=r.stringTuples,this.#n=r.path}toString(){return this.#e}toJSON(){return this.toString()}toOptions(){let t,r,n,i,o="",s=he("tcp"),a=he("udp"),c=he("ip4"),u=he("ip6"),f=he("dns6"),l=he("ip6zone");for(let[y,d]of this.stringTuples())y===l.code&&(o=`%${d??""}`),bg.includes(y)&&(r=s.name,i=443,n=`${d??""}${o}`,t=y===f.code?6:4),(y===s.code||y===a.code)&&(r=he(y).name,i=parseInt(d??"")),(y===c.code||y===u.code)&&(r=he(y).name,n=`${d??""}${o}`,t=y===u.code?6:4);if(t==null||r==null||n==null||i==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:t,host:n,transport:r,port:i}}protos(){return this.#t.map(([t])=>Object.assign({},he(t)))}protoCodes(){return this.#t.map(([t])=>t)}protoNames(){return this.#t.map(([t])=>he(t).name)}tuples(){return this.#t}stringTuples(){return this.#r}encapsulate(t){return t=new e(t),new e(this.toString()+t.toString())}decapsulate(t){let r=t.toString(),n=this.toString(),i=n.lastIndexOf(r);if(i<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${t.toString()}`);return new e(n.slice(0,i))}decapsulateCode(t){let r=this.tuples();for(let n=r.length-1;n>=0;n--)if(r[n][0]===t)return new e(Aa(r.slice(0,n)));return this}getPeerId(){try{let t=[];this.stringTuples().forEach(([n,i])=>{n===Tn.p2p.code&&t.push([n,i]),n===Tn["p2p-circuit"].code&&(t=[])});let r=t.pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?se(Ne.decode(`z${n}`),"base58btc"):se(St.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#n}equals(t){return Oe(this.bytes,t.bytes)}async resolve(t){let r=this.protos().find(o=>o.resolvable);if(r==null)return[this];let n=wg.get(r.name);if(n==null)throw new Z(`no available resolver for ${r.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,t)).map(o=>new e(o))}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 r=(t??this).protos();return!(r.length!==2||r[0].code!==4&&r[0].code!==41||r[1].code!==6&&r[1].code!==273)}[xg](){return`Multiaddr(${this.#e})`}};function er(e){return new Da(e)}var ut;(function(e){e.ERR_ALREADY_ABORTED="ERR_ALREADY_ABORTED",e.ERR_DATA_CHANNEL="ERR_DATA_CHANNEL",e.ERR_CONNECTION_CLOSED="ERR_CONNECTION_CLOSED",e.ERR_HASH_NOT_SUPPORTED="ERR_HASH_NOT_SUPPORTED",e.ERR_INVALID_MULTIADDR="ERR_INVALID_MULTIADDR",e.ERR_INVALID_FINGERPRINT="ERR_INVALID_FINGERPRINT",e.ERR_INVALID_PARAMETERS="ERR_INVALID_PARAMETERS",e.ERR_NOT_IMPLEMENTED="ERR_NOT_IMPLEMENTED",e.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS",e.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS"})(ut||(ut={}));var vr=class extends Z{constructor(t,r){super(`WebRTC transport error: ${t}`,r??""),this.name="WebRTCTransportError"}};var Ba=class extends vr{constructor(t,r){super(`[stream: ${t}] data channel error: ${r}`,ut.ERR_DATA_CHANNEL),this.name="WebRTC/DataChannelError"}};function La(e,t){return new Ba(e,t)}var Ia=class extends vr{constructor(t){super(`There was a problem with the Multiaddr which was passed in: ${t}`,ut.ERR_INVALID_MULTIADDR),this.name="WebRTC/InappropriateMultiaddrError"}};function uo(e){return new Ia(e)}var Ta=class extends vr{constructor(t){super(`There was a problem with a provided argument: ${t}`,ut.ERR_INVALID_PARAMETERS),this.name="WebRTC/InvalidArgumentError"}};function gi(e){return new Ta(e)}var _a=class extends vr{constructor(t,r){super(`Invalid fingerprint "${t}" within ${r}`,ut.ERR_INVALID_FINGERPRINT),this.name="WebRTC/InvalidFingerprintError"}};function Na(e,t){return new _a(e,t)}var ka=class extends vr{constructor(t){super(`A method (${t}) was called though it has been intentionally left unimplemented.`,ut.ERR_NOT_IMPLEMENTED),this.name="WebRTC/UnimplementedError"}};function ff(e){return new ka(e)}var Ra=class extends vr{constructor(t){super(`unsupported hash algorithm: ${t}`,ut.ERR_HASH_NOT_SUPPORTED),this.name="WebRTC/UnsupportedHashAlgorithmError"}};function lf(e){return new Ra(e)}var hf=function(e,t,r){if(r||arguments.length===2)for(var n=0,i=t.length,o;n<i;n++)(o||!(n in t))&&(o||(o=Array.prototype.slice.call(t,0,n)),o[n]=t[n]);return e.concat(o||Array.prototype.slice.call(t))},Eg=function(){function e(t,r,n){this.name=t,this.version=r,this.os=n,this.type="browser"}return e}();var Sg=function(){function e(t){this.version=t,this.type="node",this.name="node",this.os=process.platform}return e}();var Cg=function(){function e(t,r,n,i){this.name=t,this.version=r,this.os=n,this.bot=i,this.type="bot-device"}return e}();var Ag=function(){function e(){this.type="bot",this.bot=!0,this.name="bot",this.version=null,this.os=null}return e}();var Dg=function(){function e(){this.type="react-native",this.name="react-native",this.version=null,this.os=null}return e}();var Bg=/alexa|bot|crawl(er|ing)|facebookexternalhit|feedburner|google web preview|nagios|postrank|pingdom|slurp|spider|yahoo!|yandex/,Ig=/(nuhk|curl|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask\ Jeeves\/Teoma|ia_archiver)/,df=3,Tg=[["aol",/AOLShield\/([0-9\._]+)/],["edge",/Edge\/([0-9\._]+)/],["edge-ios",/EdgiOS\/([0-9\._]+)/],["yandexbrowser",/YaBrowser\/([0-9\._]+)/],["kakaotalk",/KAKAOTALK\s([0-9\.]+)/],["samsung",/SamsungBrowser\/([0-9\.]+)/],["silk",/\bSilk\/([0-9._-]+)\b/],["miui",/MiuiBrowser\/([0-9\.]+)$/],["beaker",/BeakerBrowser\/([0-9\.]+)/],["edge-chromium",/EdgA?\/([0-9\.]+)/],["chromium-webview",/(?!Chrom.*OPR)wv\).*Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/],["chrome",/(?!Chrom.*OPR)Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/],["phantomjs",/PhantomJS\/([0-9\.]+)(:?\s|$)/],["crios",/CriOS\/([0-9\.]+)(:?\s|$)/],["firefox",/Firefox\/([0-9\.]+)(?:\s|$)/],["fxios",/FxiOS\/([0-9\.]+)/],["opera-mini",/Opera Mini.*Version\/([0-9\.]+)/],["opera",/Opera\/([0-9\.]+)(?:\s|$)/],["opera",/OPR\/([0-9\.]+)(:?\s|$)/],["pie",/^Microsoft Pocket Internet Explorer\/(\d+\.\d+)$/],["pie",/^Mozilla\/\d\.\d+\s\(compatible;\s(?:MSP?IE|MSInternet Explorer) (\d+\.\d+);.*Windows CE.*\)$/],["netfront",/^Mozilla\/\d\.\d+.*NetFront\/(\d.\d)/],["ie",/Trident\/7\.0.*rv\:([0-9\.]+).*\).*Gecko$/],["ie",/MSIE\s([0-9\.]+);.*Trident\/[4-7].0/],["ie",/MSIE\s(7\.0)/],["bb10",/BB10;\sTouch.*Version\/([0-9\.]+)/],["android",/Android\s([0-9\.]+)/],["ios",/Version\/([0-9\._]+).*Mobile.*Safari.*/],["safari",/Version\/([0-9\._]+).*Safari/],["facebook",/FB[AS]V\/([0-9\.]+)/],["instagram",/Instagram\s([0-9\.]+)/],["ios-webview",/AppleWebKit\/([0-9\.]+).*Mobile/],["ios-webview",/AppleWebKit\/([0-9\.]+).*Gecko\)$/],["curl",/^curl\/([0-9\.]+)$/],["searchbot",Bg]],pf=[["iOS",/iP(hone|od|ad)/],["Android OS",/Android/],["BlackBerry OS",/BlackBerry|BB10/],["Windows Mobile",/IEMobile/],["Amazon OS",/Kindle/],["Windows 3.11",/Win16/],["Windows 95",/(Windows 95)|(Win95)|(Windows_95)/],["Windows 98",/(Windows 98)|(Win98)/],["Windows 2000",/(Windows NT 5.0)|(Windows 2000)/],["Windows XP",/(Windows NT 5.1)|(Windows XP)/],["Windows Server 2003",/(Windows NT 5.2)/],["Windows Vista",/(Windows NT 6.0)/],["Windows 7",/(Windows NT 6.1)/],["Windows 8",/(Windows NT 6.2)/],["Windows 8.1",/(Windows NT 6.3)/],["Windows 10",/(Windows NT 10.0)/],["Windows ME",/Windows ME/],["Windows CE",/Windows CE|WinCE|Microsoft Pocket Internet Explorer/],["Open BSD",/OpenBSD/],["Sun OS",/SunOS/],["Chrome OS",/CrOS/],["Linux",/(Linux)|(X11)/],["Mac OS",/(Mac_PowerPC)|(Macintosh)/],["QNX",/QNX/],["BeOS",/BeOS/],["OS/2",/OS\/2/]];function gf(e){return e?yf(e):typeof document>"u"&&typeof navigator<"u"&&navigator.product==="ReactNative"?new Dg:typeof navigator<"u"?yf(navigator.userAgent):Rg()}function _g(e){return e!==""&&Tg.reduce(function(t,r){var n=r[0],i=r[1];if(t)return t;var o=i.exec(e);return!!o&&[n,o]},!1)}function yf(e){var t=_g(e);if(!t)return null;var r=t[0],n=t[1];if(r==="searchbot")return new Ag;var i=n[1]&&n[1].split(".").join("_").split("_").slice(0,3);i?i.length<df&&(i=hf(hf([],i,!0),Lg(df-i.length),!0)):i=[];var o=i.join("."),s=kg(e),a=Ig.exec(e);return a&&a[1]?new Cg(r,o,s,a[1]):new Eg(r,o,s)}function kg(e){for(var t=0,r=pf.length;t<r;t++){var n=pf[t],i=n[0],o=n[1],s=o.exec(e);if(s)return i}return null}function Rg(){var e=typeof process<"u"&&process.version;return e?new Sg(process.version.slice(1)):null}function Lg(e){for(var t=[],r=0;r<e;r++)t.push("0");return t}var mf=gf(),mi=mf!=null&&mf.name==="firefox",fo=async function*(){},lo=async e=>{};var xf=Ye("libp2p:webrtc:connection"),Hr=class{peerConnection;remoteAddr;timeline;metrics;source=fo();sink=lo;constructor(t){this.remoteAddr=t.remoteAddr,this.timeline=t.timeline,this.peerConnection=t.peerConnection,this.peerConnection.onconnectionstatechange=()=>{(this.peerConnection.connectionState==="closed"||this.peerConnection.connectionState==="disconnected"||this.peerConnection.connectionState==="failed")&&(this.timeline.close=Date.now())}}async close(t){xf.trace("closing connection"),this.peerConnection.close(),this.timeline.close=Date.now(),this.metrics?.increment({close:!0})}abort(t){xf.error("closing connection due to error",t),this.peerConnection.close(),this.timeline.close=Date.now(),this.metrics?.increment({abort:!0})}};var _n=globalThis.RTCPeerConnection,Pa=globalThis.RTCSessionDescription,bf=globalThis.RTCIceCandidate;var xi=class extends Error{constructor(t,r){super(t??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function wf(e){if(e!=null){if(typeof e[Symbol.iterator]=="function")return e[Symbol.iterator]();if(typeof e[Symbol.asyncIterator]=="function")return e[Symbol.asyncIterator]();if(typeof e.next=="function")return e}throw new Error("argument is not an iterator or iterable")}function ho(e,t,r){let n=r??{},i=wf(e);async function*o(){let s,a=()=>{s?.()};for(t.addEventListener("abort",a);;){let c;try{if(t.aborted){let{abortMessage:f,abortCode:l}=n;throw new xi(f,l)}let u=new Promise((f,l)=>{s=()=>{let{abortMessage:h,abortCode:y}=n;l(new xi(h,y))}});c=await Promise.race([u,i.next()]),s=null}catch(u){t.removeEventListener("abort",a);let f=u.type==="aborted"&&t.aborted;if(f&&n.onAbort!=null&&n.onAbort(e),typeof i.return=="function")try{let l=i.return();l instanceof Promise&&l.catch(h=>{n.onReturnError!=null&&n.onReturnError(h)})}catch(l){n.onReturnError!=null&&n.onReturnError(l)}if(f&&n.returnOnAbort===!0)return;throw u}if(c.done===!0)break;yield c.value}t.removeEventListener("abort",a)}return o()}function Ng(e,t,r){return n=>e(ho(n,t,r))}function Ua(e,t,r){return{sink:Ng(e.sink,t,{...r,onAbort:void 0}),source:ho(e.source,t,r)}}function pt(){let e={};return e.promise=new Promise((t,r)=>{e.resolve=t,e.reject=r}),e}var po=class{buffer;mask;top;btm;next;constructor(t){if(!(t>0)||t-1&t)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(t),this.mask=t-1,this.top=0,this.btm=0,this.next=null}push(t){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=t,this.top=this.top+1&this.mask,!0)}shift(){let t=this.buffer[this.btm];if(t!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,t}isEmpty(){return this.buffer[this.btm]===void 0}},kn=class{size;hwm;head;tail;constructor(t={}){this.hwm=t.splitLimit??16,this.head=new po(this.hwm),this.tail=this.head,this.size=0}calculateSize(t){return t?.byteLength!=null?t.byteLength:1}push(t){if(t?.value!=null&&(this.size+=this.calculateSize(t.value)),!this.head.push(t)){let r=this.head;this.head=r.next=new po(2*this.head.buffer.length),this.head.push(t)}}shift(){let t=this.tail.shift();if(t===void 0&&this.tail.next!=null){let r=this.tail.next;this.tail.next=null,this.tail=r,t=this.tail.shift()}return t?.value!=null&&(this.size-=this.calculateSize(t.value)),t}isEmpty(){return this.head.isEmpty()}};var Oa=class extends Error{type;code;constructor(t,r){super(t??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function Mt(e={}){return Pg(r=>{let n=r.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},e)}function Pg(e,t){t=t??{};let r=t.onEnd,n=new kn,i,o,s,a=pt(),c=async()=>{try{return n.isEmpty()?s?{done:!0}:await new Promise((g,m)=>{o=v=>{o=null,n.push(v);try{g(e(n))}catch(x){m(x)}return i}}):e(n)}finally{n.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=pt()})}},u=g=>o!=null?o(g):(n.push(g),i),f=g=>(n=new kn,o!=null?o({error:g}):(n.push({error:g}),i)),l=g=>{if(s)return i;if(t?.objectMode!==!0&&g?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return u({done:!1,value:g})},h=g=>s?i:(s=!0,g!=null?f(g):u({done:!0})),y=()=>(n=new kn,h(),{done:!0}),d=g=>(h(g),{done:!0});if(i={[Symbol.asyncIterator](){return this},next:c,return:y,throw:d,push:l,end:h,get readableLength(){return n.size},onEmpty:async g=>{let m=g?.signal;if(m?.throwIfAborted(),n.isEmpty())return;let v,x;m!=null&&(v=new Promise((A,E)=>{x=()=>{E(new Oa)},m.addEventListener("abort",x)}));try{await Promise.race([a.promise,v])}finally{x!=null&&m!=null&&m?.removeEventListener("abort",x)}}},r==null)return i;let p=i;return i={[Symbol.asyncIterator](){return this},next(){return p.next()},throw(g){return p.throw(g),r!=null&&(r(g),r=void 0),{done:!0}},return(){return p.return(),r!=null&&(r(),r=void 0),{done:!0}},push:l,end(g){return p.end(g),r!=null&&(r(g),r=void 0),i},get readableLength(){return p.readableLength}},i}var Ef=Symbol.for("@achingbrain/uint8arraylist");function vf(e,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let r=0;for(let n of e){let i=r+n.byteLength;if(t<i)return{buf:n,index:t-r};r=i}throw new RangeError("index is out of bounds")}function yo(e){return!!e?.[Ef]}var Xe=class e{constructor(...t){Object.defineProperty(this,Ef,{value:!0}),this.bufs=[],this.length=0,t.length>0&&this.appendAll(t)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...t){this.appendAll(t)}appendAll(t){let r=0;for(let n of t)if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.push(n);else if(yo(n))r+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}prepend(...t){this.prependAll(t)}prependAll(t){let r=0;for(let n of t.reverse())if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.unshift(n);else if(yo(n))r+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}get(t){let r=vf(this.bufs,t);return r.buf[r.index]}set(t,r){let n=vf(this.bufs,t);n.buf[n.index]=r}write(t,r=0){if(t instanceof Uint8Array)for(let n=0;n<t.length;n++)this.set(r+n,t[n]);else if(yo(t))for(let n=0;n<t.length;n++)this.set(r+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,r){let{bufs:n,length:i}=this._subList(t,r);return me(n,i)}subarray(t,r){let{bufs:n,length:i}=this._subList(t,r);return n.length===1?n[0]:me(n,i)}sublist(t,r){let{bufs:n,length:i}=this._subList(t,r),o=new e;return o.length=i,o.bufs=n,o}_subList(t,r){if(t=t??0,r=r??this.length,t<0&&(t=this.length+t),r<0&&(r=this.length+r),t<0||r>this.length)throw new RangeError("index is out of bounds");if(t===r)return{bufs:[],length:0};if(t===0&&r===this.length)return{bufs:[...this.bufs],length:this.length};let n=[],i=0;for(let o=0;o<this.bufs.length;o++){let s=this.bufs[o],a=i,c=a+s.byteLength;if(i=c,t>=c)continue;let u=t>=a&&t<c,f=r>a&&r<=c;if(u&&f){if(t===a&&r===c){n.push(s);break}let l=t-a;n.push(s.subarray(l,l+(r-t)));break}if(u){if(t===0){n.push(s);continue}n.push(s.subarray(t-a));continue}if(f){if(r===c){n.push(s);break}n.push(s.subarray(0,r-a));break}n.push(s)}return{bufs:n,length:r-t}}indexOf(t,r=0){if(!yo(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(r=Number(r??0),isNaN(r)&&(r=0),r<0&&(r=this.length+r),r<0&&(r=0),t.length===0)return r>this.length?this.length:r;let i=n.byteLength;if(i===0)throw new TypeError("search must be at least 1 byte long");let o=256,s=new Int32Array(o);for(let l=0;l<o;l++)s[l]=-1;for(let l=0;l<i;l++)s[n[l]]=l;let a=s,c=this.byteLength-n.byteLength,u=n.byteLength-1,f;for(let l=r;l<=c;l+=f){f=0;for(let h=u;h>=0;h--){let y=this.get(l+h);if(n[h]!==y){f=Math.max(1,h-a[y]);break}}if(f===0)return l}return-1}getInt8(t){let r=this.subarray(t,t+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt8(0)}setInt8(t,r){let n=dt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,r),this.write(n,t)}getInt16(t,r){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,r)}setInt16(t,r,n){let i=Jt(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt16(0,r,n),this.write(i,t)}getInt32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,r)}setInt32(t,r,n){let i=Jt(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt32(0,r,n),this.write(i,t)}getBigInt64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,r)}setBigInt64(t,r,n){let i=Jt(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigInt64(0,r,n),this.write(i,t)}getUint8(t){let r=this.subarray(t,t+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint8(0)}setUint8(t,r){let n=dt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,r),this.write(n,t)}getUint16(t,r){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,r)}setUint16(t,r,n){let i=Jt(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint16(0,r,n),this.write(i,t)}getUint32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,r)}setUint32(t,r,n){let i=Jt(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,r,n),this.write(i,t)}getBigUint64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,r)}setBigUint64(t,r,n){let i=Jt(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigUint64(0,r,n),this.write(i,t)}getFloat32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,r)}setFloat32(t,r,n){let i=Jt(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat32(0,r,n),this.write(i,t)}getFloat64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,r)}setFloat64(t,r,n){let i=Jt(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,r,n),this.write(i,t)}equals(t){if(t==null||!(t instanceof e)||t.bufs.length!==this.bufs.length)return!1;for(let r=0;r<this.bufs.length;r++)if(!Oe(this.bufs[r],t.bufs[r]))return!1;return!0}static fromUint8Arrays(t,r){let n=new e;return n.bufs=t,r==null&&(r=t.reduce((i,o)=>i+o.byteLength,0)),n.length=r,n}};var go=class extends Error{code;constructor(t,r){super(t),this.code=r}},Fa=class extends go{type;constructor(t){super(t,"ABORT_ERR"),this.type="aborted"}};function Sf(e){let t=Mt();e.sink(t).catch(o=>{t.end(o)}),e.sink=async o=>{for await(let s of o)t.push(s);t.end()};let r=e.source;e.source[Symbol.iterator]!=null?r=e.source[Symbol.iterator]():e.source[Symbol.asyncIterator]!=null&&(r=e.source[Symbol.asyncIterator]());let n=new Xe;return{read:async(o,s)=>{s?.signal?.throwIfAborted();let a,c=new Promise((u,f)=>{a=()=>{f(new Fa("Read aborted"))},s?.signal?.addEventListener("abort",a)});try{if(o==null){let{done:f,value:l}=await Promise.race([r.next(),c]);return f===!0?new Xe:l}for(;n.byteLength<o;){let{value:f,done:l}=await Promise.race([r.next(),c]);if(l===!0)throw new go("unexpected end of input","ERR_UNEXPECTED_EOF");n.append(f)}let u=n.sublist(0,o);return n.consume(o),u}finally{a!=null&&s?.signal?.removeEventListener("abort",a)}},write:async(o,s)=>{s?.signal?.throwIfAborted(),o instanceof Uint8Array?t.push(o):t.push(o.subarray()),await t.onEmpty(s)},unwrap:()=>{let o=e.source;return e.source=async function*(){yield*n,yield*o}(),e}}}function mo(e){return e[Symbol.asyncIterator]!=null}var xo=e=>{let t=it(e),r=dt(t);return wr(e,r),xo.bytes=t,r};xo.bytes=0;function zr(e,t){t=t??{};let r=t.lengthEncoder??xo;function*n(i){let o=r(i.byteLength);o instanceof Uint8Array?yield o:yield*o,i instanceof Uint8Array?yield i:yield*i}return mo(e)?async function*(){for await(let i of e)yield*n(i)}():function*(){for(let i of e)yield*n(i)}()}zr.single=(e,t)=>{t=t??{};let r=t.lengthEncoder??xo;return new Xe(r(e.byteLength),e)};var Rn=ke(Df(),1);var Og=8,Fg=1024*1024*4,Gr;(function(e){e[e.LENGTH=0]="LENGTH",e[e.DATA=1]="DATA"})(Gr||(Gr={}));var Ka=e=>{let t=Ct(e);return Ka.bytes=it(t),t};Ka.bytes=0;function Wr(e,t){let r=new Xe,n=Gr.LENGTH,i=-1,o=t?.lengthDecoder??Ka,s=t?.maxLengthLength??Og,a=t?.maxDataLength??Fg;function*c(){for(;r.byteLength>0;){if(n===Gr.LENGTH)try{if(i=o(r),i<0)throw(0,Rn.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(i>a)throw(0,Rn.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let u=o.bytes;r.consume(u),t?.onLength!=null&&t.onLength(i),n=Gr.DATA}catch(u){if(u instanceof RangeError){if(r.byteLength>s)throw(0,Rn.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw u}if(n===Gr.DATA){if(r.byteLength<i)break;let u=r.sublist(0,i);r.consume(i),t?.onData!=null&&t.onData(u),yield u,n=Gr.LENGTH}}}return mo(e)?async function*(){for await(let u of e)r.append(u),yield*c();if(r.byteLength>0)throw(0,Rn.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(let u of e)r.append(u),yield*c();if(r.byteLength>0)throw(0,Rn.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}Wr.fromReader=(e,t)=>{let r=1,n=async function*(){for(;;)try{let{done:o,value:s}=await e.next(r);if(o===!0)return;s!=null&&(yield s)}catch(o){if(o.code==="ERR_UNDER_READ")return{done:!0,value:null};throw o}finally{r=1}}();return Wr(n,{...t??{},onLength:o=>{r=o}})};var bo=class extends Error{code;constructor(t,r){super(t),this.code=r}},If=e=>Ct(e);If.bytes=0;function bi(e,t){let r=Sf(e);return{read:async i=>{let o=-1,s=new Xe,a=t?.lengthDecoder??If;for(;;){s.append(await r.read(1,i));try{o=a(s)}catch(c){if(c instanceof RangeError)continue;throw c}if(o>-1)break;if(t?.maxLengthLength!=null&&s.byteLength>t.maxLengthLength)throw new bo("message length length too long","ERR_MSG_LENGTH_TOO_LONG")}if(t?.maxDataLength!=null&&o>t.maxDataLength)throw new bo("message length too long","ERR_MSG_DATA_TOO_LONG");return r.read(o,i)},write:async(i,o)=>{await r.write(zr.single(i,t),o)},unwrap:()=>r.unwrap()}}function Ma(e,t){let r=bi(e,t),n={read:async(i,o)=>{let s=await r.read(o);return i.decode(s)},write:async(i,o,s)=>{await r.write(o.encode(i),s)},pb:i=>({read:async o=>n.read(i,o),write:async(o,s)=>n.write(o,i,s),unwrap:()=>n}),unwrap:()=>r.unwrap()};return n}var Kg="ERR_STREAM_RESET",Mg="ERR_SINK_INVALID_STATE";function Va(e){return e!=null&&typeof e.then=="function"}var wo=class{id;direction;timeline;protocol;metadata;source;status;readStatus;writeStatus;sinkController;sinkEnd;endErr;streamSource;onEnd;onCloseRead;onCloseWrite;onReset;onAbort;log;constructor(t){this.sinkController=new AbortController,this.sinkEnd=pt(),this.log=t.log,this.status="open",this.readStatus="ready",this.writeStatus="ready",this.id=t.id,this.metadata=t.metadata??{},this.direction=t.direction,this.timeline={open:Date.now()},this.onEnd=t.onEnd,this.onCloseRead=t?.onCloseRead,this.onCloseWrite=t?.onCloseWrite,this.onReset=t?.onReset,this.onAbort=t?.onAbort,this.source=this.streamSource=Mt({onEnd:r=>{r!=null?this.log.trace("source ended with error",r):this.log.trace("source ended"),this.readStatus="closed",this.onSourceEnd(r)}}),this.sink=this.sink.bind(this)}async sink(t){if(this.writeStatus!=="ready")throw new Z(`writable end state is "${this.writeStatus}" not "ready"`,Mg);try{this.writeStatus="writing";let r={signal:this.sinkController.signal};if(this.direction==="outbound"){let n=this.sendNewStream(r);Va(n)&&await n}t=ho(t,this.sinkController.signal,{returnOnAbort:!0}),this.log.trace("sink reading from source");for await(let n of t){n=n instanceof Uint8Array?new Xe(n):n;let i=this.sendData(n,r);Va(i)&&await i}this.log.trace("sink finished reading from source"),this.writeStatus="done",this.log.trace("sink calling closeWrite"),await this.closeWrite(r),this.onSinkEnd()}catch(r){throw this.log.trace("sink ended with error, calling abort with error",r),this.abort(r),r}finally{this.log.trace("resolve sink end"),this.sinkEnd.resolve()}}onSourceEnd(t){this.timeline.closeRead==null&&(this.timeline.closeRead=Date.now(),t!=null&&this.endErr==null&&(this.endErr=t),this.onCloseRead?.(),this.timeline.closeWrite!=null?(this.log.trace("source and sink ended"),this.timeline.close=Date.now(),this.onEnd!=null&&this.onEnd(this.endErr)):this.log.trace("source ended, waiting for sink to end"))}onSinkEnd(t){this.timeline.closeWrite==null&&(this.timeline.closeWrite=Date.now(),t!=null&&this.endErr==null&&(this.endErr=t),this.onCloseWrite?.(),this.timeline.closeRead!=null?(this.log.trace("sink and source ended"),this.timeline.close=Date.now(),this.onEnd!=null&&this.onEnd(this.endErr)):this.log.trace("sink ended, waiting for source to end"))}async close(t){this.log.trace("closing gracefully"),this.status="closing",await Promise.all([this.closeRead(t),this.closeWrite(t)]),this.status="closed",this.log.trace("closed gracefully")}async closeRead(t={}){if(this.readStatus==="closing"||this.readStatus==="closed")return;this.log.trace('closing readable end of stream with starting read status "%s"',this.readStatus);let r=this.readStatus;this.readStatus="closing",r==="ready"&&(this.log.trace("ending internal source queue"),this.streamSource.end()),this.status!=="reset"&&this.status!=="aborted"&&this.timeline.closeRead==null&&(this.log.trace("send close read to remote"),await this.sendCloseRead(t)),this.log.trace("closed readable end of stream")}async closeWrite(t={}){if(this.writeStatus==="closing"||this.writeStatus==="closed")return;this.log.trace('closing writable end of stream with starting write status "%s"',this.writeStatus);let r=this.writeStatus;this.writeStatus==="ready"&&(this.log.trace("sink was never sunk, sink an empty array"),await this.sink([])),this.writeStatus="closing",r==="writing"&&await new Promise((n,i)=>{queueMicrotask(()=>{this.log.trace("aborting source passed to .sink"),this.sinkController.abort(),this.sinkEnd.promise.then(n,i)})}),this.status!=="reset"&&this.status!=="aborted"&&this.timeline.closeWrite==null&&(this.log.trace("send close write to remote"),await this.sendCloseWrite(t)),this.writeStatus="closed",this.log.trace("closed writable end of stream")}abort(t){if(this.status==="closed"||this.status==="aborted"||this.status==="reset")return;this.log("abort with error",t),this.log("try to send reset to remote");let r=this.sendReset();Va(r)&&r.catch(n=>{this.log.error("error sending reset message",n)}),this.status="aborted",this.timeline.abort=Date.now(),this._closeSinkAndSource(t),this.onAbort?.(t)}reset(){if(this.status==="closed"||this.status==="aborted"||this.status==="reset")return;let t=new Z("stream reset",Kg);this.status="reset",this._closeSinkAndSource(t),this.onReset?.()}_closeSinkAndSource(t){this._closeSink(t),this._closeSource(t)}_closeSink(t){this.writeStatus==="writing"&&(this.log.trace("end sink source"),this.sinkController.abort()),this.onSinkEnd(t)}_closeSource(t){this.readStatus!=="closing"&&this.readStatus!=="closed"&&(this.log.trace("ending source with %d bytes to be read by consumer",this.streamSource.readableLength),this.readStatus="closing",this.streamSource.end(t))}remoteCloseWrite(){if(this.readStatus==="closing"||this.readStatus==="closed"){this.log("received remote close write but local source is already closed");return}this.log.trace("remote close write"),this._closeSource()}remoteCloseRead(){if(this.writeStatus==="closing"||this.writeStatus==="closed"){this.log("received remote close read but local sink is already closed");return}this.log.trace("remote close read"),this._closeSink()}destroy(){if(this.status==="closed"||this.status==="aborted"||this.status==="reset"){this.log("received destroy but we are already closed");return}this.log.trace("muxer destroyed"),this._closeSinkAndSource()}sourcePush(t){this.streamSource.push(t)}sourceReadableLength(){return this.streamSource.readableLength}};var Ln=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},qa=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t}},Tf=e=>globalThis.DOMException===void 0?new qa(e):new DOMException(e),_f=e=>{let t=e.reason===void 0?Tf("This operation was aborted."):e.reason;return t instanceof Error?t:Tf(t)};function Ha(e,t){let{milliseconds:r,fallback:n,message:i,customTimers:o={setTimeout,clearTimeout}}=t,s,c=new Promise((u,f)=>{if(typeof r!="number"||Math.sign(r)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${r}\``);if(t.signal){let{signal:h}=t;h.aborted&&f(_f(h)),h.addEventListener("abort",()=>{f(_f(h))})}if(r===Number.POSITIVE_INFINITY){e.then(u,f);return}let l=new Ln;s=o.setTimeout.call(void 0,()=>{if(n){try{u(n())}catch(h){f(h)}return}typeof e.cancel=="function"&&e.cancel(),i===!1?u():i instanceof Error?f(i):(l.message=i??`Promise timed out after ${r} milliseconds`,f(l))},r),(async()=>{try{u(await e)}catch(h){f(h)}})()}).finally(()=>{c.clear()});return c.clear=()=>{o.clearTimeout.call(void 0,s),s=void 0},c}var Vg=e=>{let t=e.on||e.addListener||e.addEventListener,r=e.off||e.removeListener||e.removeEventListener;if(!t||!r)throw new TypeError("Emitter is not compatible");return{addListener:t.bind(e),removeListener:r.bind(e)}};function qg(e,t,r){let n,i=new Promise((o,s)=>{if(r={rejectionEvents:["error"],multiArgs:!1,resolveImmediately:!1,...r},!(r.count>=0&&(r.count===Number.POSITIVE_INFINITY||Number.isInteger(r.count))))throw new TypeError("The `count` option should be at least 0 or more");r.signal?.throwIfAborted();let a=[t].flat(),c=[],{addListener:u,removeListener:f}=Vg(e),l=(...y)=>{let d=r.multiArgs?y:y[0];r.filter&&!r.filter(d)||(c.push(d),r.count===c.length&&(n(),o(c)))},h=y=>{n(),s(y)};n=()=>{for(let y of a)f(y,l);for(let y of r.rejectionEvents)f(y,h)};for(let y of a)u(y,l);for(let y of r.rejectionEvents)u(y,h);r.signal&&r.signal.addEventListener("abort",()=>{h(r.signal.reason)},{once:!0}),r.resolveImmediately&&o(c)});if(i.cancel=n,typeof r.timeout=="number"){let o=Ha(i,{milliseconds:r.timeout});return o.cancel=n,o}return i}function kf(e,t,r){typeof r=="function"&&(r={filter:r}),r={...r,count:1,resolveImmediately:!1};let n=qg(e,t,r),i=n.then(o=>o[0]);return i.cancel=n.cancel,i}var rc=ke(Ya(),1),xl=ke(fl(),1),bl=ke(Yr(),1),nc=ke(tc(),1),wl=ke(ml(),1);function Qg(){bl.default._configure(),rc.default._configure(xl.default),nc.default._configure(wl.default)}Qg();var vl=["uint64","int64","sint64","fixed64","sfixed64"];function jg(e){for(let t of vl){if(e[t]==null)continue;let r=e[t];e[t]=function(){return BigInt(r.call(this).toString())}}return e}function ic(e){return jg(new rc.default(e))}function Jg(e){for(let t of vl){if(e[t]==null)continue;let r=e[t];e[t]=function(n){return r.call(this,n.toString())}}return e}function oc(){return Jg(nc.default.create())}function It(e,t){let r=ic(e instanceof Uint8Array?e:e.subarray());return t.decode(r)}function Tt(e,t){let r=oc();return t.encode(e,r,{lengthDelimited:!1}),r.finish()}var Pn;(function(e){e[e.VARINT=0]="VARINT",e[e.BIT64=1]="BIT64",e[e.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",e[e.START_GROUP=3]="START_GROUP",e[e.END_GROUP=4]="END_GROUP",e[e.BIT32=5]="BIT32"})(Pn||(Pn={}));function Ao(e,t,r,n){return{name:e,type:t,encode:r,decode:n}}function Xr(e){function t(i){if(e[i.toString()]==null)throw new Error("Invalid enum value");return e[i]}let r=function(o,s){let a=t(o);s.int32(a)},n=function(o){let s=o.int32();return t(s)};return Ao("enum",Pn.VARINT,r,n)}function _t(e,t){return Ao("message",Pn.LENGTH_DELIMITED,e,t)}var gt;(function(e){let t;(function(i){i.FIN="FIN",i.STOP_SENDING="STOP_SENDING",i.RESET="RESET"})(t=e.Flag||(e.Flag={}));let r;(function(i){i[i.FIN=0]="FIN",i[i.STOP_SENDING=1]="STOP_SENDING",i[i.RESET=2]="RESET"})(r||(r={})),function(i){i.codec=()=>Xr(r)}(t=e.Flag||(e.Flag={}));let n;e.codec=()=>(n==null&&(n=_t((i,o,s={})=>{s.lengthDelimited!==!1&&o.fork(),i.flag!=null&&(o.uint32(8),e.Flag.codec().encode(i.flag,o)),i.message!=null&&(o.uint32(18),o.bytes(i.message)),s.lengthDelimited!==!1&&o.ldelim()},(i,o)=>{let s={},a=o==null?i.len:i.pos+o;for(;i.pos<a;){let c=i.uint32();switch(c>>>3){case 1:s.flag=e.Flag.codec().decode(i);break;case 2:s.message=i.bytes();break;default:i.skipType(c&7);break}}return s})),n),e.encode=i=>Tt(i,e.codec()),e.decode=i=>It(i,e.codec())})(gt||(gt={}));var Ei=Ye("libp2p:webrtc:stream"),El=16*1024,em=16*1024*1024,tm=30*1e3,rm=3,sc=class extends wo{channel;dataChannelOptions;incomingData;messageQueue;maxDataSize;constructor(t){switch(super(t),this.channel=t.channel,this.channel.binaryType="arraybuffer",this.incomingData=Mt(),this.messageQueue=new Xe,this.dataChannelOptions={bufferedAmountLowEventTimeout:t.dataChannelOptions?.bufferedAmountLowEventTimeout??tm,maxBufferedAmount:t.dataChannelOptions?.maxBufferedAmount??em,maxMessageSize:t.dataChannelOptions?.maxMessageSize??El},this.maxDataSize=t.maxDataSize,this.channel.readyState){case"open":break;case"closed":case"closing":(this.timeline.close===void 0||this.timeline.close===0)&&(this.timeline.close=Date.now());break;case"connecting":break;default:throw Ei.error("unknown datachannel state %s",this.channel.readyState),new Z("Unknown datachannel state","ERR_INVALID_STATE")}this.channel.onopen=n=>{this.timeline.open=new Date().getTime(),this.messageQueue!=null&&(this._sendMessage(this.messageQueue).catch(i=>{this.abort(i)}),this.messageQueue=void 0)},this.channel.onclose=n=>{this.close().catch(i=>{Ei.error("error closing stream after channel closed",i)})},this.channel.onerror=n=>{let i=n.error;this.abort(i)};let r=this;this.channel.onmessage=async n=>{let{data:i}=n;i===null||i.byteLength===0||this.incomingData.push(new Uint8Array(i,0,i.byteLength))},Promise.resolve().then(async()=>{for await(let n of Wr(this.incomingData)){let i=r.processIncomingProtobuf(n.subarray());i!=null&&r.sourcePush(new Xe(i))}}).catch(n=>{Ei.error("error processing incoming data channel messages",n)})}sendNewStream(){}async _sendMessage(t,r=!0){if(r&&this.channel.bufferedAmount>this.dataChannelOptions.maxBufferedAmount)try{await kf(this.channel,"bufferedamountlow",{timeout:this.dataChannelOptions.bufferedAmountLowEventTimeout})}catch(n){throw n instanceof Ln?new Error("Timed out waiting for DataChannel buffer to clear"):n}if(this.channel.readyState==="closed"||this.channel.readyState==="closing")throw new Z("Invalid datachannel state - closed or closing","ERR_INVALID_STATE");if(this.channel.readyState==="open")for(let n of t)this.channel.send(n);else if(this.channel.readyState==="connecting")this.messageQueue==null&&(this.messageQueue=new Xe),this.messageQueue.append(t);else throw Ei.error("unknown datachannel state %s",this.channel.readyState),new Z("Unknown datachannel state","ERR_INVALID_STATE")}async sendData(t){for(t=t.sublist();t.byteLength>0;){let r=Math.min(t.byteLength,this.maxDataSize),n=t.subarray(0,r),i=gt.encode({message:n}),o=zr.single(i);await this._sendMessage(o),t.consume(r)}}async sendReset(){await this._sendFlag(gt.Flag.RESET)}async sendCloseWrite(){await this._sendFlag(gt.Flag.FIN)}async sendCloseRead(){await this._sendFlag(gt.Flag.STOP_SENDING)}processIncomingProtobuf(t){let r=gt.decode(t);return r.flag!==void 0&&(r.flag===gt.Flag.FIN&&(this.incomingData.end(),this.remoteCloseWrite()),r.flag===gt.Flag.RESET&&this.reset(),r.flag===gt.Flag.STOP_SENDING&&this.remoteCloseRead()),r.message}async _sendFlag(t){Ei.trace("Sending flag: %s",t.toString());let r=gt.encode({flag:t}),n=zr.single(r);await this._sendMessage(n,!1)}};function Un(e){let{channel:t,direction:r,onEnd:n,dataChannelOptions:i}=e;return new sc({id:r==="inbound"?`i${t.id}`:`r${t.id}`,direction:r,maxDataSize:(i?.maxMessageSize??El)-rm,dataChannelOptions:i,onEnd:n,channel:t,log:Ye(`libp2p:webrtc:stream:${r}:${t.id}`)})}var Sl="/webrtc",Qr=class{protocol;peerConnection;streamBuffer=[];metrics;dataChannelOptions;constructor(t){this.peerConnection=t.peerConnection,this.metrics=t.metrics,this.protocol=t.protocol??Sl,this.dataChannelOptions=t.dataChannelOptions,this.peerConnection.ondatachannel=({channel:r})=>{let n=Un({channel:r,direction:"inbound",dataChannelOptions:t.dataChannelOptions,onEnd:()=>{this.streamBuffer=this.streamBuffer.filter(i=>i.id!==n.id)}});this.streamBuffer.push(n)}}createStreamMuxer(t){return new ac({...t,peerConnection:this.peerConnection,dataChannelOptions:this.dataChannelOptions,metrics:this.metrics,streams:this.streamBuffer,protocol:this.protocol})}},ac=class{init;streams;protocol;peerConnection;dataChannelOptions;metrics;close=async()=>{};abort=()=>{};source=fo();sink=lo;constructor(t){this.init=t,this.streams=t.streams,this.peerConnection=t.peerConnection,this.protocol=t.protocol??Sl,this.metrics=t.metrics,this.peerConnection.ondatachannel=({channel:n})=>{let i=Un({channel:n,direction:"inbound",dataChannelOptions:this.dataChannelOptions,onEnd:()=>{this.streams=this.streams.filter(o=>o.id!==i.id),this.metrics?.increment({stream_end:!0}),t?.onStreamEnd?.(i)}});this.streams.push(i),t?.onIncomingStream!=null&&(this.metrics?.increment({incoming_stream:!0}),t.onIncomingStream(i))};let r=t?.onIncomingStream;r!=null&&this.streams.forEach(n=>{r(n)})}newStream(){let t=this.peerConnection.createDataChannel(""),r=Un({channel:t,direction:"outbound",dataChannelOptions:this.dataChannelOptions,onEnd:()=>{t.close(),this.streams=this.streams.filter(n=>n.id!==r.id),this.metrics?.increment({stream_end:!0}),this.init?.onStreamEnd?.(r)}});return this.streams.push(r),this.metrics?.increment({outgoing_stream:!0}),r}};var ft;(function(e){let t;(function(i){i.SDP_OFFER="SDP_OFFER",i.SDP_ANSWER="SDP_ANSWER",i.ICE_CANDIDATE="ICE_CANDIDATE"})(t=e.Type||(e.Type={}));let r;(function(i){i[i.SDP_OFFER=0]="SDP_OFFER",i[i.SDP_ANSWER=1]="SDP_ANSWER",i[i.ICE_CANDIDATE=2]="ICE_CANDIDATE"})(r||(r={})),function(i){i.codec=()=>Xr(r)}(t=e.Type||(e.Type={}));let n;e.codec=()=>(n==null&&(n=_t((i,o,s={})=>{s.lengthDelimited!==!1&&o.fork(),i.type!=null&&(o.uint32(8),e.Type.codec().encode(i.type,o)),i.data!=null&&(o.uint32(18),o.string(i.data)),s.lengthDelimited!==!1&&o.ldelim()},(i,o)=>{let s={},a=o==null?i.len:i.pos+o;for(;i.pos<a;){let c=i.uint32();switch(c>>>3){case 1:s.type=e.Type.codec().decode(i);break;case 2:s.data=i.string();break;default:i.skipType(c&7);break}}return s})),n),e.encode=i=>Tt(i,e.codec()),e.decode=i=>It(i,e.codec())})(ft||(ft={}));var Do=Ye("libp2p:webrtc:peer:util"),cc=async(e,t,r)=>{for(;;){let n=await Promise.race([e.promise,r.read()]);if(n instanceof Object){let i=n;if(i.type!==ft.Type.ICE_CANDIDATE)throw new Error("expected only ice candidates");if(i.data==null||i.data===""){Do.trace("end-of-candidates received");break}Do.trace("received new ICE candidate: %s",i.data);try{await t.addIceCandidate(new bf(JSON.parse(i.data)))}catch(o){throw Do.error("bad candidate received: ",o),new Error("bad candidate received")}}else break}await e.promise};function uc(e,t){e[mi?"oniceconnectionstatechange":"onconnectionstatechange"]=r=>{switch(Do.trace("receiver peerConnectionState state: ",e.connectionState),mi?e.iceConnectionState:e.connectionState){case"connected":t.resolve();break;case"failed":case"disconnected":case"closed":t.reject(new Error("RTCPeerConnection was closed"));break;default:break}}}var nm=30*1e3,Cr=Ye("libp2p:webrtc:peer");async function Cl({rtcConfiguration:e,dataChannelOptions:t,stream:r}){let n=AbortSignal.timeout(nm),i=Ma(Ua(r,n)).pb(ft),o=new _n(e);try{let s=new Qr({peerConnection:o,dataChannelOptions:t}),a=pt(),c=pt();n.onabort=()=>{a.reject(new Z("Timed out while trying to connect","ERR_TIMEOUT"))},o.onicecandidate=({candidate:y})=>{c.promise.then(async()=>{await i.write({type:ft.Type.ICE_CANDIDATE,data:y!=null?JSON.stringify(y.toJSON()):""})},d=>{Cr.error("cannot set candidate since sending answer failed",d),a.reject(d)})},uc(o,a);let u=await i.read();if(u.type!==ft.Type.SDP_OFFER)throw new Error(`expected message type SDP_OFFER, received: ${u.type??"undefined"} `);let f=new Pa({type:"offer",sdp:u.data});await o.setRemoteDescription(f).catch(y=>{throw Cr.error("could not execute setRemoteDescription",y),new Error("Failed to set remoteDescription")});let l=await o.createAnswer().catch(y=>{throw Cr.error("could not execute createAnswer",y),c.reject(y),new Error("Failed to create answer")});await i.write({type:ft.Type.SDP_ANSWER,data:l.sdp}),await o.setLocalDescription(l).catch(y=>{throw Cr.error("could not execute setLocalDescription",y),c.reject(y),new Error("Failed to set localDescription")}),c.resolve(),await cc(a,o,i);let h=Dl(o.currentRemoteDescription?.sdp??"");return{pc:o,muxerFactory:s,remoteAddress:h}}catch(s){throw o.close(),s}}async function Al({rtcConfiguration:e,dataChannelOptions:t,signal:r,stream:n}){let i=Ma(Ua(n,r)).pb(ft),o=new _n(e);try{let s=new Qr({peerConnection:o,dataChannelOptions:t}),a=pt();uc(o,a),r.onabort=a.reject;let c=o.createDataChannel("init");o.onicecandidate=({candidate:y})=>{i.write({type:ft.Type.ICE_CANDIDATE,data:y!=null?JSON.stringify(y.toJSON()):""}).catch(d=>{Cr.error("error sending ICE candidate",d)})};let u=await o.createOffer();await i.write({type:ft.Type.SDP_OFFER,data:u.sdp}),await o.setLocalDescription(u).catch(y=>{throw Cr.error("could not execute setLocalDescription",y),new Error("Failed to set localDescription")});let f=await i.read();if(f.type!==ft.Type.SDP_ANSWER)throw new Error("remote should send an SDP answer");let l=new Pa({type:"answer",sdp:f.data});await o.setRemoteDescription(l).catch(y=>{throw Cr.error("could not execute setRemoteDescription",y),new Error("Failed to set remoteDescription")}),await cc(a,o,i),c.close();let h=Dl(o.currentRemoteDescription?.sdp??"");return{pc:o,muxerFactory:s,remoteAddress:h}}catch(s){throw o.close(),s}}function Dl(e){let t=e.split(`\r
30
30
  `).filter(n=>n.startsWith("a=candidate")).pop(),r=t?.split(" ");return t==null||r==null||r.length<5?(Cr("could not parse remote address from",t),"/webrtc"):`/dnsaddr/${r[4]}/${r[2].toLowerCase()}/${r[3]}/webrtc`}var Bo=class extends EventTarget{#e=new Map;listenerCount(t){let r=this.#e.get(t);return r==null?0:r.length}addEventListener(t,r,n){super.addEventListener(t,r,n);let i=this.#e.get(t);i==null&&(i=[],this.#e.set(t,i)),i.push({callback:r,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(t,r,n){super.removeEventListener(t.toString(),r??null,n);let i=this.#e.get(t);i!=null&&(i=i.filter(({callback:o})=>o!==r),this.#e.set(t,i))}dispatchEvent(t){let r=super.dispatchEvent(t),n=this.#e.get(t.type);return n==null||(n=n.filter(({once:i})=>!i),this.#e.set(t.type,n)),r}safeDispatchEvent(t,r){return this.dispatchEvent(new im(t,r))}},fc=class extends Event{detail;constructor(t,r){super(t,r),this.detail=r?.detail}},im=globalThis.CustomEvent??fc;var om=z("dns4"),sm=z("dns6"),am=z("dnsaddr"),jr=Ue(z("dns"),am,om,sm),_o=Ue(z("ip4"),z("ip6")),On=Ue(X(_o,z("tcp")),X(jr,z("tcp"))),ko=X(_o,z("udp")),cm=X(ko,z("utp")),um=X(ko,z("quic")),fm=X(ko,z("quic-v1")),lc=Ue(X(On,z("ws")),X(jr,z("ws"))),Io=Ue(X(lc,z("p2p")),lc),hc=Ue(X(On,z("wss")),X(jr,z("wss")),X(On,z("tls"),z("ws")),X(jr,z("tls"),z("ws"))),To=Ue(X(hc,z("p2p")),hc),dc=Ue(X(On,z("http")),X(_o,z("http")),X(jr,z("http"))),pc=Ue(X(On,z("https")),X(_o,z("https")),X(jr,z("https"))),Bl=X(ko,z("webrtc-direct"),z("certhash")),_l=Ue(X(Bl,z("p2p")),Bl),Il=X(fm,z("webtransport"),z("certhash"),z("certhash")),kl=Ue(X(Il,z("p2p")),Il),Rl=Ue(X(Io,z("p2p-webrtc-star"),z("p2p")),X(To,z("p2p-webrtc-star"),z("p2p")),X(Io,z("p2p-webrtc-star")),X(To,z("p2p-webrtc-star"))),H6=Ue(X(Io,z("p2p-websocket-star"),z("p2p")),X(To,z("p2p-websocket-star"),z("p2p")),X(Io,z("p2p-websocket-star")),X(To,z("p2p-websocket-star"))),Ll=Ue(X(dc,z("p2p-webrtc-direct"),z("p2p")),X(pc,z("p2p-webrtc-direct"),z("p2p")),X(dc,z("p2p-webrtc-direct")),X(pc,z("p2p-webrtc-direct"))),Jr=Ue(lc,hc,dc,pc,Rl,Ll,On,cm,um,jr,_l,kl),z6=Ue(X(Jr,z("p2p-stardust"),z("p2p")),X(Jr,z("p2p-stardust"))),Ar=Ue(X(Jr,z("p2p")),Rl,Ll,_l,kl,z("p2p")),Tl=Ue(X(Ar,z("p2p-circuit"),Ar),X(Ar,z("p2p-circuit")),X(z("p2p-circuit"),Ar),X(Jr,z("p2p-circuit")),X(z("p2p-circuit"),Jr),z("p2p-circuit")),Nl=()=>Ue(X(Tl,Nl),Tl),tr=Nl(),G6=Ue(X(tr,Ar,tr),X(Ar,tr),X(tr,Ar),tr,Ar);var W6=Ue(X(tr,z("webrtc"),z("p2p")),X(tr,z("webrtc")),X(Jr,z("webrtc"),z("p2p")),X(Jr,z("webrtc")),z("webrtc"));function Pl(e){function t(r){let n;try{n=er(r)}catch{return!1}let i=e(n.protoNames());return i===null?!1:i===!0||i===!1?i:i.length===0}return t}function X(...e){function t(r){if(r.length<e.length)return null;let n=r;return e.some(i=>(n=typeof i=="function"?i().partialMatch(r):i.partialMatch(r),Array.isArray(n)&&(r=n),n===null)),n}return{toString:function(){return"{ "+e.join(" ")+" }"},input:e,matches:Pl(t),partialMatch:t}}function Ue(...e){function t(n){let i=null;return e.some(o=>{let s=typeof o=="function"?o().partialMatch(n):o.partialMatch(n);return s!=null?(i=s,!0):!1}),i}return{toString:function(){return"{ "+e.join(" ")+" }"},input:e,matches:Pl(t),partialMatch:t}}function z(e){let t=e;function r(i){let o;try{o=er(i)}catch{return!1}let s=o.protoNames();return s.length===1&&s[0]===t}function n(i){return i.length===0?null:i[0]===t?i.slice(1):null}return{toString:function(){return t},matches:r,partialMatch:n}}var Ro=class extends Bo{peerId;transportManager;constructor(t){super(),this.peerId=t.peerId,this.transportManager=t.transportManager}async listen(){this.safeDispatchEvent("listening",{})}getAddrs(){return this.transportManager.getListeners().filter(t=>t!==this).map(t=>t.getAddrs().filter(r=>tr.matches(r)).map(r=>r.encapsulate(`/webrtc/p2p/${this.peerId}`))).flat()}async close(){this.safeDispatchEvent("close",{})}};var Ul=Ye("libp2p:webrtc:peer"),lm="/webrtc",hm="/p2p-circuit",yc="/webrtc-signaling/0.0.1",dm=he("webrtc").code,Lo=class{components;init;_started=!1;constructor(t,r={}){this.components=t,this.init=r}isStarted(){return this._started}async start(){await this.components.registrar.handle(yc,t=>{this._onProtocol(t).catch(r=>{Ul.error("failed to handle incoming connect from %p",t.connection.remotePeer,r)})},{runOnTransientConnection:!0}),this._started=!0}async stop(){await this.components.registrar.unhandle(yc),this._started=!1}createListener(t){return new Ro(this.components)}[Symbol.toStringTag]="@libp2p/webrtc";[to]=!0;filter(t){return t.filter(r=>r.protoCodes().includes(dm))}async dial(t,r){Ul.trace("dialing address: ",t);let{baseAddr:n,peerId:i}=pm(t);if(r.signal==null){let a=new AbortController;r.signal=a.signal}let o=await this.components.transportManager.dial(n,r),s=await o.newStream(yc,{...r,runOnTransientConnection:!0});try{let{pc:a,muxerFactory:c,remoteAddress:u}=await Al({stream:s,rtcConfiguration:this.init.rtcConfiguration,dataChannelOptions:this.init.dataChannel,signal:r.signal}),f=await r.upgrader.upgradeOutbound(new Hr({peerConnection:a,timeline:{open:Date.now()},remoteAddr:er(u).encapsulate(`/p2p/${i.toString()}`)}),{skipProtection:!0,skipEncryption:!0,muxerFactory:c});return await s.close(),f}catch(a){throw s.abort(a),a}finally{await o.close()}}async _onProtocol({connection:t,stream:r}){try{let{pc:n,muxerFactory:i,remoteAddress:o}=await Cl({rtcConfiguration:this.init.rtcConfiguration,connection:t,stream:r,dataChannelOptions:this.init.dataChannel});await this.components.upgrader.upgradeInbound(new Hr({peerConnection:n,timeline:{open:new Date().getTime()},remoteAddr:er(o).encapsulate(`/p2p/${t.remotePeer.toString()}`)}),{skipEncryption:!0,skipProtection:!0,muxerFactory:i})}catch(n){throw r.abort(n),n}finally{await t.close()}}};function pm(e){let t=e.toString().split(lm+"/");if(t.length!==2)throw new Z("webrtc protocol was not present in multiaddr",ut.ERR_INVALID_MULTIADDR);if(!t[0].includes(hm))throw new Z("p2p-circuit protocol was not present in multiaddr",ut.ERR_INVALID_MULTIADDR);let r=er(t[0]),i=er("/"+t[1]).getPeerId();if(i==null)throw new Z("destination peer id was missing",ut.ERR_INVALID_MULTIADDR);let o=r.protos().pop();if(o===void 0)throw new Z("invalid multiaddr",ut.ERR_INVALID_MULTIADDR);return o.name!=="p2p"&&(r=r.encapsulate(`/p2p/${i}`)),{baseAddr:r,peerId:pi(i)}}function gc(){let e=pt(),t=!1;return{sink:async r=>{if(t)throw new Error("already piped");t=!0,e.resolve(r)},source:async function*(){yield*await e.promise}()}}function Ol(){let e=gc(),t=gc();return[{source:e.source,sink:t.sink},{source:t.source,sink:e.sink}]}function ym(e){return e[Symbol.asyncIterator]!=null}function gm(...e){let t=[];for(let r of e)ym(r)||t.push(r);return t.length===e.length?function*(){for(let r of t)yield*r}():async function*(){let r=Mt({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(e.map(async n=>{for await(let i of n)r.push(i)})),r.end()}catch(n){r.end(n)}}),yield*r}()}var Fl=gm;function Kl(e,...t){if(e==null)throw new Error("Empty pipeline");if(mc(e)){let n=e;e=()=>n.source}else if(Vl(e)||Ml(e)){let n=e;e=()=>n}let r=[e,...t];if(r.length>1&&mc(r[r.length-1])&&(r[r.length-1]=r[r.length-1].sink),r.length>2)for(let n=1;n<r.length-1;n++)mc(r[n])&&(r[n]=xm(r[n]));return mm(...r)}var mm=(...e)=>{let t;for(;e.length>0;)t=e.shift()(t);return t},Ml=e=>e?.[Symbol.asyncIterator]!=null,Vl=e=>e?.[Symbol.iterator]!=null,mc=e=>e==null?!1:e.sink!=null&&e.source!=null,xm=e=>t=>{let r=e.sink(t);if(r?.then!=null){let n=Mt({objectMode:!0});r.then(()=>{n.end()},s=>{n.end(s)});let i,o=e.source;if(Ml(o))i=async function*(){yield*o,n.end()};else if(Vl(o))i=function*(){yield*o,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return Fl(n,i())}return e.source};var ql=!!globalThis.process?.env?.DUMP_SESSION_KEYS;var bm=e=>e instanceof Uint8Array;var rr=e=>new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4)),Hl=e=>new DataView(e.buffer,e.byteOffset,e.byteLength),wm=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!wm)throw new Error("Non little-endian hardware is not supported");function No(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function Po(e){if(typeof e=="string"&&(e=No(e)),!bm(e))throw new Error(`expected Uint8Array, got ${typeof e}`);return e}var vm=e=>Object.prototype.toString.call(e)==="[object Object]"&&e.constructor===Object;function zl(e,t){if(t!==void 0&&(typeof t!="object"||!vm(t)))throw new Error("options must be object or undefined");return Object.assign(e,t)}function en(e,t){if(!(e instanceof Uint8Array))throw new Error("Uint8Array expected");if(typeof t=="number"&&e.length!==t)throw new Error(`Uint8Array length ${t} expected`)}function Gl(e,t){if(e.length!==t.length)throw new Error("equalBytes: Different size of Uint8Arrays");let r=!0;for(let n=0;n<e.length;n++)r&&(r=e[n]===t[n]);return r}function xc(e,t,r,n){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,r,n);let i=BigInt(32),o=BigInt(4294967295),s=Number(r>>i&o),a=Number(r&o),c=n?4:0,u=n?0:4;e.setUint32(t+c,s,n),e.setUint32(t+u,a,n)}function bc(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(`Wrong positive integer: ${e}`)}function Em(e){if(typeof e!="boolean")throw new Error(`Expected boolean, not ${e}`)}function Wl(e,...t){if(!(e instanceof Uint8Array))throw new Error("Expected Uint8Array");if(t.length>0&&!t.includes(e.length))throw new Error(`Expected Uint8Array of length ${t}, not of length=${e.length}`)}function Sm(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("hash must be wrapped by utils.wrapConstructor");bc(e.outputLen),bc(e.blockLen)}function Cm(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function Am(e,t){Wl(e);let r=t.outputLen;if(e.length<r)throw new Error(`digestInto() expects output buffer of length at least ${r}`)}var Dm={number:bc,bool:Em,bytes:Wl,hash:Sm,exists:Cm,output:Am},tt=Dm;var Qe=(e,t)=>e[t++]&255|(e[t++]&255)<<8,wc=class{constructor(t){this.blockLen=16,this.outputLen=16,this.buffer=new Uint8Array(16),this.r=new Uint16Array(10),this.h=new Uint16Array(10),this.pad=new Uint16Array(8),this.pos=0,this.finished=!1,t=Po(t),en(t,32);let r=Qe(t,0),n=Qe(t,2),i=Qe(t,4),o=Qe(t,6),s=Qe(t,8),a=Qe(t,10),c=Qe(t,12),u=Qe(t,14);this.r[0]=r&8191,this.r[1]=(r>>>13|n<<3)&8191,this.r[2]=(n>>>10|i<<6)&7939,this.r[3]=(i>>>7|o<<9)&8191,this.r[4]=(o>>>4|s<<12)&255,this.r[5]=s>>>1&8190,this.r[6]=(s>>>14|a<<2)&8191,this.r[7]=(a>>>11|c<<5)&8065,this.r[8]=(c>>>8|u<<8)&8191,this.r[9]=u>>>5&127;for(let f=0;f<8;f++)this.pad[f]=Qe(t,16+2*f)}process(t,r,n=!1){let i=n?0:2048,{h:o,r:s}=this,a=s[0],c=s[1],u=s[2],f=s[3],l=s[4],h=s[5],y=s[6],d=s[7],p=s[8],g=s[9],m=Qe(t,r+0),v=Qe(t,r+2),x=Qe(t,r+4),A=Qe(t,r+6),E=Qe(t,r+8),w=Qe(t,r+10),B=Qe(t,r+12),D=Qe(t,r+14),R=o[0]+(m&8191),F=o[1]+((m>>>13|v<<3)&8191),O=o[2]+((v>>>10|x<<6)&8191),K=o[3]+((x>>>7|A<<9)&8191),q=o[4]+((A>>>4|E<<12)&8191),j=o[5]+(E>>>1&8191),I=o[6]+((E>>>14|w<<2)&8191),L=o[7]+((w>>>11|B<<5)&8191),_=o[8]+((B>>>8|D<<8)&8191),k=o[9]+(D>>>5|i),S=0,U=S+R*a+F*(5*g)+O*(5*p)+K*(5*d)+q*(5*y);S=U>>>13,U&=8191,U+=j*(5*h)+I*(5*l)+L*(5*f)+_*(5*u)+k*(5*c),S+=U>>>13,U&=8191;let M=S+R*c+F*a+O*(5*g)+K*(5*p)+q*(5*d);S=M>>>13,M&=8191,M+=j*(5*y)+I*(5*h)+L*(5*l)+_*(5*f)+k*(5*u),S+=M>>>13,M&=8191;let H=S+R*u+F*c+O*a+K*(5*g)+q*(5*p);S=H>>>13,H&=8191,H+=j*(5*d)+I*(5*y)+L*(5*h)+_*(5*l)+k*(5*f),S+=H>>>13,H&=8191;let Q=S+R*f+F*u+O*c+K*a+q*(5*g);S=Q>>>13,Q&=8191,Q+=j*(5*p)+I*(5*d)+L*(5*y)+_*(5*h)+k*(5*l),S+=Q>>>13,Q&=8191;let J=S+R*l+F*f+O*u+K*c+q*a;S=J>>>13,J&=8191,J+=j*(5*g)+I*(5*p)+L*(5*d)+_*(5*y)+k*(5*h),S+=J>>>13,J&=8191;let oe=S+R*h+F*l+O*f+K*u+q*c;S=oe>>>13,oe&=8191,oe+=j*a+I*(5*g)+L*(5*p)+_*(5*d)+k*(5*y),S+=oe>>>13,oe&=8191;let ee=S+R*y+F*h+O*l+K*f+q*u;S=ee>>>13,ee&=8191,ee+=j*c+I*a+L*(5*g)+_*(5*p)+k*(5*d),S+=ee>>>13,ee&=8191;let re=S+R*d+F*y+O*h+K*l+q*f;S=re>>>13,re&=8191,re+=j*u+I*c+L*a+_*(5*g)+k*(5*p),S+=re>>>13,re&=8191;let ve=S+R*p+F*d+O*y+K*h+q*l;S=ve>>>13,ve&=8191,ve+=j*f+I*u+L*c+_*a+k*(5*g),S+=ve>>>13,ve&=8191;let be=S+R*g+F*p+O*d+K*y+q*h;S=be>>>13,be&=8191,be+=j*l+I*f+L*u+_*c+k*a,S+=be>>>13,be&=8191,S=(S<<2)+S|0,S=S+U|0,U=S&8191,S=S>>>13,M+=S,o[0]=U,o[1]=M,o[2]=H,o[3]=Q,o[4]=J,o[5]=oe,o[6]=ee,o[7]=re,o[8]=ve,o[9]=be}finalize(){let{h:t,pad:r}=this,n=new Uint16Array(10),i=t[1]>>>13;t[1]&=8191;for(let a=2;a<10;a++)t[a]+=i,i=t[a]>>>13,t[a]&=8191;t[0]+=i*5,i=t[0]>>>13,t[0]&=8191,t[1]+=i,i=t[1]>>>13,t[1]&=8191,t[2]+=i,n[0]=t[0]+5,i=n[0]>>>13,n[0]&=8191;for(let a=1;a<10;a++)n[a]=t[a]+i,i=n[a]>>>13,n[a]&=8191;n[9]-=8192;let o=(i^1)-1;for(let a=0;a<10;a++)n[a]&=o;o=~o;for(let a=0;a<10;a++)t[a]=t[a]&o|n[a];t[0]=(t[0]|t[1]<<13)&65535,t[1]=(t[1]>>>3|t[2]<<10)&65535,t[2]=(t[2]>>>6|t[3]<<7)&65535,t[3]=(t[3]>>>9|t[4]<<4)&65535,t[4]=(t[4]>>>12|t[5]<<1|t[6]<<14)&65535,t[5]=(t[6]>>>2|t[7]<<11)&65535,t[6]=(t[7]>>>5|t[8]<<8)&65535,t[7]=(t[8]>>>8|t[9]<<5)&65535;let s=t[0]+r[0];t[0]=s&65535;for(let a=1;a<8;a++)s=(t[a]+r[a]|0)+(s>>>16)|0,t[a]=s&65535}update(t){tt.exists(this);let{buffer:r,blockLen:n}=this;t=Po(t);let i=t.length;for(let o=0;o<i;){let s=Math.min(n-this.pos,i-o);if(s===n){for(;n<=i-o;o+=n)this.process(t,o);continue}r.set(t.subarray(o,o+s),this.pos),this.pos+=s,o+=s,this.pos===n&&(this.process(r,0,!1),this.pos=0)}return this}destroy(){this.h.fill(0),this.r.fill(0),this.buffer.fill(0),this.pad.fill(0)}digestInto(t){tt.exists(this),tt.output(t,this),this.finished=!0;let{buffer:r,h:n}=this,{pos:i}=this;if(i){for(r[i++]=1;i<16;i++)r[i]=0;this.process(r,0,!0)}this.finalize();let o=0;for(let s=0;s<8;s++)t[o++]=n[s]>>>0,t[o++]=n[s]>>>8;return t}digest(){let{buffer:t,outputLen:r}=this;this.digestInto(t);let n=t.slice(0,r);return this.destroy(),n}};function Bm(e){let t=(n,i)=>e(i).update(Po(n)).digest(),r=e(new Uint8Array(32));return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=n=>e(n),t}var $l=Bm(e=>new wc(e));var Im=No("expand 16-byte k"),Tm=No("expand 32-byte k"),_m=rr(Im),km=rr(Tm),Uo=e=>!(e.byteOffset%4),Yl=e=>{let{core:t,rounds:r,counterRight:n,counterLen:i,allow128bitKeys:o,extendNonceFn:s,blockLen:a}=zl({rounds:20,counterRight:!1,counterLen:8,allow128bitKeys:!0,blockLen:64},e);tt.number(i),tt.number(r),tt.number(a),tt.bool(n),tt.bool(o);let c=a/4;if(a%4!==0)throw new Error("Salsa/ChaCha: blockLen must be aligned to 4 bytes");return(u,f,l,h,y=0)=>{if(tt.bytes(u),tt.bytes(f),tt.bytes(l),h||(h=new Uint8Array(l.length)),tt.bytes(h),tt.number(y),y<0||y>=2**32-1)throw new Error("Salsa/ChaCha: counter overflow");if(h.length<l.length)throw new Error(`Salsa/ChaCha: output (${h.length}) is shorter than data (${l.length})`);let d=[],p,g;if(u.length===32)Uo(u)?p=u:(p=u.slice(),d.push(p)),g=km;else if(u.length===16&&o)p=new Uint8Array(32),p.set(u),p.set(u,16),g=_m,d.push(p);else throw new Error(`Salsa/ChaCha: invalid 32-byte key, got length=${u.length}`);if(Uo(f)||(f=f.slice(),d.push(f)),s){if(f.length<=16)throw new Error("Salsa/ChaCha: extended nonce must be bigger than 16 bytes");p=s(g,p,f.subarray(0,16),new Uint8Array(32)),d.push(p),f=f.subarray(16)}let m=16-i;if(f.length!==m)throw new Error(`Salsa/ChaCha: nonce must be ${m} or 16 bytes`);if(m!==12){let R=new Uint8Array(12);R.set(f,n?0:12-f.length),d.push(f=R)}let v=new Uint8Array(a),x=rr(v),A=rr(p),E=rr(f),w=Uo(l)&&rr(l),B=Uo(h)&&rr(h);d.push(x);let D=l.length;for(let R=0,F=y;R<D;F++){if(t(g,A,E,x,F,r),F>=2**32-1)throw new Error("Salsa/ChaCha: counter overflow");let O=Math.min(a,D-R);if(O===a&&B&&w){let K=R/4;if(R%4!==0)throw new Error("Salsa/ChaCha: invalid block position");for(let q=0;q<c;q++)B[K+q]=w[K+q]^x[q];R+=a;continue}for(let K=0;K<O;K++)h[R+K]=l[R+K]^v[K];R+=O}for(let R=0;R<d.length;R++)d[R].fill(0);return h}};var de=(e,t)=>e<<t|e>>>32-t;function Rm(e,t,r,n,i,o=20){let s=e[0],a=e[1],c=e[2],u=e[3],f=t[0],l=t[1],h=t[2],y=t[3],d=t[4],p=t[5],g=t[6],m=t[7],v=i,x=r[0],A=r[1],E=r[2],w=s,B=a,D=c,R=u,F=f,O=l,K=h,q=y,j=d,I=p,L=g,_=m,k=v,S=x,U=A,M=E;for(let Q=0;Q<o;Q+=2)w=w+F|0,k=de(k^w,16),j=j+k|0,F=de(F^j,12),w=w+F|0,k=de(k^w,8),j=j+k|0,F=de(F^j,7),B=B+O|0,S=de(S^B,16),I=I+S|0,O=de(O^I,12),B=B+O|0,S=de(S^B,8),I=I+S|0,O=de(O^I,7),D=D+K|0,U=de(U^D,16),L=L+U|0,K=de(K^L,12),D=D+K|0,U=de(U^D,8),L=L+U|0,K=de(K^L,7),R=R+q|0,M=de(M^R,16),_=_+M|0,q=de(q^_,12),R=R+q|0,M=de(M^R,8),_=_+M|0,q=de(q^_,7),w=w+O|0,M=de(M^w,16),L=L+M|0,O=de(O^L,12),w=w+O|0,M=de(M^w,8),L=L+M|0,O=de(O^L,7),B=B+K|0,k=de(k^B,16),_=_+k|0,K=de(K^_,12),B=B+K|0,k=de(k^B,8),_=_+k|0,K=de(K^_,7),D=D+q|0,S=de(S^D,16),j=j+S|0,q=de(q^j,12),D=D+q|0,S=de(S^D,8),j=j+S|0,q=de(q^j,7),R=R+F|0,U=de(U^R,16),I=I+U|0,F=de(F^I,12),R=R+F|0,U=de(U^R,8),I=I+U|0,F=de(F^I,7);let H=0;n[H++]=s+w|0,n[H++]=a+B|0,n[H++]=c+D|0,n[H++]=u+R|0,n[H++]=f+F|0,n[H++]=l+O|0,n[H++]=h+K|0,n[H++]=y+q|0,n[H++]=d+j|0,n[H++]=p+I|0,n[H++]=g+L|0,n[H++]=m+_|0,n[H++]=v+k|0,n[H++]=x+S|0,n[H++]=A+U|0,n[H++]=E+M|0}var Lm=Yl({core:Rm,counterRight:!1,counterLen:4,allow128bitKeys:!1});var Nm=new Uint8Array(16),Zl=(e,t)=>{e.update(t);let r=t.length%16;r&&e.update(Nm.subarray(r))},Xl=(e,t,r,n,i)=>{let o=e(t,r,new Uint8Array(32)),s=$l.create(o);i&&Zl(s,i),Zl(s,n);let a=new Uint8Array(16),c=Hl(a);xc(c,0,BigInt(i?i.length:0),!0),xc(c,8,BigInt(n.length),!0),s.update(a);let u=s.digest();return o.fill(0),u},Pm=e=>(t,r,n)=>(en(t,32),en(r),{tagLength:16,encrypt:(o,s)=>{let a=o.length,c=a+16;s?en(s,c):s=new Uint8Array(c),e(t,r,o,s,1);let u=Xl(e,t,r,s.subarray(0,-16),n);return s.set(u,a),s},decrypt:(o,s)=>{let a=o.length,c=a-16;if(a<16)throw new Error("encrypted data must be at least 16 bytes");s?en(s,c):s=new Uint8Array(c);let u=o.subarray(0,-16),f=o.subarray(-16),l=Xl(e,t,r,u,n);if(!Gl(f,l))throw new Error("invalid tag");return e(t,r,u,s,1),s}}),vc=Pm(Lm);function Oo(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(`Wrong positive integer: ${e}`)}function Ec(e,...t){if(!(e instanceof Uint8Array))throw new Error("Expected Uint8Array");if(t.length>0&&!t.includes(e.length))throw new Error(`Expected Uint8Array of length ${t}, not of length=${e.length}`)}function Si(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");Oo(e.outputLen),Oo(e.blockLen)}function Fn(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function Ql(e,t){Ec(e);let r=t.outputLen;if(e.length<r)throw new Error(`digestInto() expects output buffer of length at least ${r}`)}var Fo=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;var jl=e=>e instanceof Uint8Array;var Ko=e=>new DataView(e.buffer,e.byteOffset,e.byteLength),kt=(e,t)=>e<<32-t|e>>>t,Um=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!Um)throw new Error("Non little-endian hardware is not supported");function Sc(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function Dr(e){if(typeof e=="string"&&(e=Sc(e)),!jl(e))throw new Error(`expected Uint8Array, got ${typeof e}`);return e}function Mo(...e){let t=new Uint8Array(e.reduce((n,i)=>n+i.length,0)),r=0;return e.forEach(n=>{if(!jl(n))throw new Error("Uint8Array expected");t.set(n,r),r+=n.length}),t}var Kn=class{clone(){return this._cloneInto()}},NC={}.toString;function Vo(e){let t=n=>e().update(Dr(n)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function tn(e=32){if(Fo&&typeof Fo.getRandomValues=="function")return Fo.getRandomValues(new Uint8Array(e));throw new Error("crypto.getRandomValues must be defined")}function Om(e,t,r,n){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,r,n);let i=BigInt(32),o=BigInt(4294967295),s=Number(r>>i&o),a=Number(r&o),c=n?4:0,u=n?0:4;e.setUint32(t+c,s,n),e.setUint32(t+u,a,n)}var Mn=class extends Kn{constructor(t,r,n,i){super(),this.blockLen=t,this.outputLen=r,this.padOffset=n,this.isLE=i,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=Ko(this.buffer)}update(t){Fn(this);let{view:r,buffer:n,blockLen:i}=this;t=Dr(t);let o=t.length;for(let s=0;s<o;){let a=Math.min(i-this.pos,o-s);if(a===i){let c=Ko(t);for(;i<=o-s;s+=i)this.process(c,s);continue}n.set(t.subarray(s,s+a),this.pos),this.pos+=a,s+=a,this.pos===i&&(this.process(r,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){Fn(this),Ql(t,this),this.finished=!0;let{buffer:r,view:n,blockLen:i,isLE:o}=this,{pos:s}=this;r[s++]=128,this.buffer.subarray(s).fill(0),this.padOffset>i-s&&(this.process(n,0),s=0);for(let l=s;l<i;l++)r[l]=0;Om(n,i-8,BigInt(this.length*8),o),this.process(n,0);let a=Ko(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let u=c/4,f=this.get();if(u>f.length)throw new Error("_sha2: outputLen bigger than state");for(let l=0;l<u;l++)a.setUint32(4*l,f[l],o)}digest(){let{buffer:t,outputLen:r}=this;this.digestInto(t);let n=t.slice(0,r);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:r,buffer:n,length:i,finished:o,destroyed:s,pos:a}=this;return t.length=i,t.pos=a,t.finished=o,t.destroyed=s,i%r&&t.buffer.set(n),t}};var qo=BigInt(4294967295),Cc=BigInt(32);function Jl(e,t=!1){return t?{h:Number(e&qo),l:Number(e>>Cc&qo)}:{h:Number(e>>Cc&qo)|0,l:Number(e&qo)|0}}function Fm(e,t=!1){let r=new Uint32Array(e.length),n=new Uint32Array(e.length);for(let i=0;i<e.length;i++){let{h:o,l:s}=Jl(e[i],t);[r[i],n[i]]=[o,s]}return[r,n]}var Km=(e,t)=>BigInt(e>>>0)<<Cc|BigInt(t>>>0),Mm=(e,t,r)=>e>>>r,Vm=(e,t,r)=>e<<32-r|t>>>r,qm=(e,t,r)=>e>>>r|t<<32-r,Hm=(e,t,r)=>e<<32-r|t>>>r,zm=(e,t,r)=>e<<64-r|t>>>r-32,Gm=(e,t,r)=>e>>>r-32|t<<64-r,Wm=(e,t)=>t,$m=(e,t)=>e,Ym=(e,t,r)=>e<<r|t>>>32-r,Zm=(e,t,r)=>t<<r|e>>>32-r,Xm=(e,t,r)=>t<<r-32|e>>>64-r,Qm=(e,t,r)=>e<<r-32|t>>>64-r;function jm(e,t,r,n){let i=(t>>>0)+(n>>>0);return{h:e+r+(i/2**32|0)|0,l:i|0}}var Jm=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),ex=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,tx=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),rx=(e,t,r,n,i)=>t+r+n+i+(e/2**32|0)|0,nx=(e,t,r,n,i)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(i>>>0),ix=(e,t,r,n,i,o)=>t+r+n+i+o+(e/2**32|0)|0;var ox={fromBig:Jl,split:Fm,toBig:Km,shrSH:Mm,shrSL:Vm,rotrSH:qm,rotrSL:Hm,rotrBH:zm,rotrBL:Gm,rotr32H:Wm,rotr32L:$m,rotlSH:Ym,rotlSL:Zm,rotlBH:Xm,rotlBL:Qm,add:jm,add3L:Jm,add3H:ex,add4L:tx,add4H:rx,add5H:ix,add5L:nx},ne=ox;var[sx,ax]=(()=>ne.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(e=>BigInt(e))))(),Br=new Uint32Array(80),Ir=new Uint32Array(80),Ac=class extends Mn{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){let{Ah:t,Al:r,Bh:n,Bl:i,Ch:o,Cl:s,Dh:a,Dl:c,Eh:u,El:f,Fh:l,Fl:h,Gh:y,Gl:d,Hh:p,Hl:g}=this;return[t,r,n,i,o,s,a,c,u,f,l,h,y,d,p,g]}set(t,r,n,i,o,s,a,c,u,f,l,h,y,d,p,g){this.Ah=t|0,this.Al=r|0,this.Bh=n|0,this.Bl=i|0,this.Ch=o|0,this.Cl=s|0,this.Dh=a|0,this.Dl=c|0,this.Eh=u|0,this.El=f|0,this.Fh=l|0,this.Fl=h|0,this.Gh=y|0,this.Gl=d|0,this.Hh=p|0,this.Hl=g|0}process(t,r){for(let x=0;x<16;x++,r+=4)Br[x]=t.getUint32(r),Ir[x]=t.getUint32(r+=4);for(let x=16;x<80;x++){let A=Br[x-15]|0,E=Ir[x-15]|0,w=ne.rotrSH(A,E,1)^ne.rotrSH(A,E,8)^ne.shrSH(A,E,7),B=ne.rotrSL(A,E,1)^ne.rotrSL(A,E,8)^ne.shrSL(A,E,7),D=Br[x-2]|0,R=Ir[x-2]|0,F=ne.rotrSH(D,R,19)^ne.rotrBH(D,R,61)^ne.shrSH(D,R,6),O=ne.rotrSL(D,R,19)^ne.rotrBL(D,R,61)^ne.shrSL(D,R,6),K=ne.add4L(B,O,Ir[x-7],Ir[x-16]),q=ne.add4H(K,w,F,Br[x-7],Br[x-16]);Br[x]=q|0,Ir[x]=K|0}let{Ah:n,Al:i,Bh:o,Bl:s,Ch:a,Cl:c,Dh:u,Dl:f,Eh:l,El:h,Fh:y,Fl:d,Gh:p,Gl:g,Hh:m,Hl:v}=this;for(let x=0;x<80;x++){let A=ne.rotrSH(l,h,14)^ne.rotrSH(l,h,18)^ne.rotrBH(l,h,41),E=ne.rotrSL(l,h,14)^ne.rotrSL(l,h,18)^ne.rotrBL(l,h,41),w=l&y^~l&p,B=h&d^~h&g,D=ne.add5L(v,E,B,ax[x],Ir[x]),R=ne.add5H(D,m,A,w,sx[x],Br[x]),F=D|0,O=ne.rotrSH(n,i,28)^ne.rotrBH(n,i,34)^ne.rotrBH(n,i,39),K=ne.rotrSL(n,i,28)^ne.rotrBL(n,i,34)^ne.rotrBL(n,i,39),q=n&o^n&a^o&a,j=i&s^i&c^s&c;m=p|0,v=g|0,p=y|0,g=d|0,y=l|0,d=h|0,{h:l,l:h}=ne.add(u|0,f|0,R|0,F|0),u=a|0,f=c|0,a=o|0,c=s|0,o=n|0,s=i|0;let I=ne.add3L(F,K,j);n=ne.add3H(I,R,O,q),i=I|0}({h:n,l:i}=ne.add(this.Ah|0,this.Al|0,n|0,i|0)),{h:o,l:s}=ne.add(this.Bh|0,this.Bl|0,o|0,s|0),{h:a,l:c}=ne.add(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l:f}=ne.add(this.Dh|0,this.Dl|0,u|0,f|0),{h:l,l:h}=ne.add(this.Eh|0,this.El|0,l|0,h|0),{h:y,l:d}=ne.add(this.Fh|0,this.Fl|0,y|0,d|0),{h:p,l:g}=ne.add(this.Gh|0,this.Gl|0,p|0,g|0),{h:m,l:v}=ne.add(this.Hh|0,this.Hl|0,m|0,v|0),this.set(n,i,o,s,a,c,u,f,l,h,y,d,p,g,m,v)}roundClean(){Br.fill(0),Ir.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var Dc=Vo(()=>new Ac);var Go={};ue(Go,{bitGet:()=>px,bitLen:()=>dx,bitMask:()=>Ci,bitSet:()=>yx,bytesToHex:()=>nr,bytesToNumberBE:()=>ir,bytesToNumberLE:()=>Rt,concatBytes:()=>sr,createHmacDrbg:()=>Tc,ensureBytes:()=>Se,equalBytes:()=>lx,hexToBytes:()=>rn,hexToNumber:()=>Ic,numberToBytesBE:()=>Tr,numberToBytesLE:()=>or,numberToHexUnpadded:()=>rh,numberToVarBytesBE:()=>fx,utf8ToBytes:()=>hx,validateObject:()=>mt});var th=BigInt(0),Ho=BigInt(1),cx=BigInt(2),zo=e=>e instanceof Uint8Array,ux=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function nr(e){if(!zo(e))throw new Error("Uint8Array expected");let t="";for(let r=0;r<e.length;r++)t+=ux[e[r]];return t}function rh(e){let t=e.toString(16);return t.length&1?`0${t}`:t}function Ic(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return BigInt(e===""?"0":`0x${e}`)}function rn(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);let t=e.length;if(t%2)throw new Error("padded hex string expected, got unpadded hex of length "+t);let r=new Uint8Array(t/2);for(let n=0;n<r.length;n++){let i=n*2,o=e.slice(i,i+2),s=Number.parseInt(o,16);if(Number.isNaN(s)||s<0)throw new Error("Invalid byte sequence");r[n]=s}return r}function ir(e){return Ic(nr(e))}function Rt(e){if(!zo(e))throw new Error("Uint8Array expected");return Ic(nr(Uint8Array.from(e).reverse()))}function Tr(e,t){return rn(e.toString(16).padStart(t*2,"0"))}function or(e,t){return Tr(e,t).reverse()}function fx(e){return rn(rh(e))}function Se(e,t,r){let n;if(typeof t=="string")try{n=rn(t)}catch(o){throw new Error(`${e} must be valid hex string, got "${t}". Cause: ${o}`)}else if(zo(t))n=Uint8Array.from(t);else throw new Error(`${e} must be hex string or Uint8Array`);let i=n.length;if(typeof r=="number"&&i!==r)throw new Error(`${e} expected ${r} bytes, got ${i}`);return n}function sr(...e){let t=new Uint8Array(e.reduce((n,i)=>n+i.length,0)),r=0;return e.forEach(n=>{if(!zo(n))throw new Error("Uint8Array expected");t.set(n,r),r+=n.length}),t}function lx(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0}function hx(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function dx(e){let t;for(t=0;e>th;e>>=Ho,t+=1);return t}function px(e,t){return e>>BigInt(t)&Ho}var yx=(e,t,r)=>e|(r?Ho:th)<<BigInt(t),Ci=e=>(cx<<BigInt(e-1))-Ho,Bc=e=>new Uint8Array(e),eh=e=>Uint8Array.from(e);function Tc(e,t,r){if(typeof e!="number"||e<2)throw new Error("hashLen must be a number");if(typeof t!="number"||t<2)throw new Error("qByteLen must be a number");if(typeof r!="function")throw new Error("hmacFn must be a function");let n=Bc(e),i=Bc(e),o=0,s=()=>{n.fill(1),i.fill(0),o=0},a=(...l)=>r(i,n,...l),c=(l=Bc())=>{i=a(eh([0]),l),n=a(),l.length!==0&&(i=a(eh([1]),l),n=a())},u=()=>{if(o++>=1e3)throw new Error("drbg: tried 1000 values");let l=0,h=[];for(;l<t;){n=a();let y=n.slice();h.push(y),l+=n.length}return sr(...h)};return(l,h)=>{s(),c(l);let y;for(;!(y=h(u()));)c();return s(),y}}var gx={bigint:e=>typeof e=="bigint",function:e=>typeof e=="function",boolean:e=>typeof e=="boolean",string:e=>typeof e=="string",stringOrUint8Array:e=>typeof e=="string"||e instanceof Uint8Array,isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>typeof e=="function"&&Number.isSafeInteger(e.outputLen)};function mt(e,t,r={}){let n=(i,o,s)=>{let a=gx[o];if(typeof a!="function")throw new Error(`Invalid validator "${o}", expected function`);let c=e[i];if(!(s&&c===void 0)&&!a(c,e))throw new Error(`Invalid param ${String(i)}=${c} (${typeof c}), expected ${o}`)};for(let[i,o]of Object.entries(t))n(i,o,!1);for(let[i,o]of Object.entries(r))n(i,o,!0);return e}var Me=BigInt(0),Ie=BigInt(1),nn=BigInt(2),mx=BigInt(3),_c=BigInt(4),nh=BigInt(5),ih=BigInt(8),xx=BigInt(9),bx=BigInt(16);function pe(e,t){let r=e%t;return r>=Me?r:t+r}function kc(e,t,r){if(r<=Me||t<Me)throw new Error("Expected power/modulo > 0");if(r===Ie)return Me;let n=Ie;for(;t>Me;)t&Ie&&(n=n*e%r),e=e*e%r,t>>=Ie;return n}function Ce(e,t,r){let n=e;for(;t-- >Me;)n*=n,n%=r;return n}function Wo(e,t){if(e===Me||t<=Me)throw new Error(`invert: expected positive integers, got n=${e} mod=${t}`);let r=pe(e,t),n=t,i=Me,o=Ie,s=Ie,a=Me;for(;r!==Me;){let u=n/r,f=n%r,l=i-s*u,h=o-a*u;n=r,r=f,i=s,o=a,s=l,a=h}if(n!==Ie)throw new Error("invert: does not exist");return pe(i,t)}function wx(e){let t=(e-Ie)/nn,r,n,i;for(r=e-Ie,n=0;r%nn===Me;r/=nn,n++);for(i=nn;i<e&&kc(i,t,e)!==e-Ie;i++);if(n===1){let s=(e+Ie)/_c;return function(c,u){let f=c.pow(u,s);if(!c.eql(c.sqr(f),u))throw new Error("Cannot find square root");return f}}let o=(r+Ie)/nn;return function(a,c){if(a.pow(c,t)===a.neg(a.ONE))throw new Error("Cannot find square root");let u=n,f=a.pow(a.mul(a.ONE,i),r),l=a.pow(c,o),h=a.pow(c,r);for(;!a.eql(h,a.ONE);){if(a.eql(h,a.ZERO))return a.ZERO;let y=1;for(let p=a.sqr(h);y<u&&!a.eql(p,a.ONE);y++)p=a.sqr(p);let d=a.pow(f,Ie<<BigInt(u-y-1));f=a.sqr(d),l=a.mul(l,d),h=a.mul(h,f),u=y}return l}}function vx(e){if(e%_c===mx){let t=(e+Ie)/_c;return function(n,i){let o=n.pow(i,t);if(!n.eql(n.sqr(o),i))throw new Error("Cannot find square root");return o}}if(e%ih===nh){let t=(e-nh)/ih;return function(n,i){let o=n.mul(i,nn),s=n.pow(o,t),a=n.mul(i,s),c=n.mul(n.mul(a,nn),s),u=n.mul(a,n.sub(c,n.ONE));if(!n.eql(n.sqr(u),i))throw new Error("Cannot find square root");return u}}return e%bx,wx(e)}var oh=(e,t)=>(pe(e,t)&Ie)===Ie,Ex=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Rc(e){let t={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},r=Ex.reduce((n,i)=>(n[i]="function",n),t);return mt(e,r)}function Sx(e,t,r){if(r<Me)throw new Error("Expected power > 0");if(r===Me)return e.ONE;if(r===Ie)return t;let n=e.ONE,i=t;for(;r>Me;)r&Ie&&(n=e.mul(n,i)),i=e.sqr(i),r>>=Ie;return n}function Cx(e,t){let r=new Array(t.length),n=t.reduce((o,s,a)=>e.is0(s)?o:(r[a]=o,e.mul(o,s)),e.ONE),i=e.inv(n);return t.reduceRight((o,s,a)=>e.is0(s)?o:(r[a]=e.mul(o,r[a]),e.mul(o,s)),i),r}function Lc(e,t){let r=t!==void 0?t:e.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function $o(e,t,r=!1,n={}){if(e<=Me)throw new Error(`Expected Field ORDER > 0, got ${e}`);let{nBitLength:i,nByteLength:o}=Lc(e,t);if(o>2048)throw new Error("Field lengths over 2048 bytes are not supported");let s=vx(e),a=Object.freeze({ORDER:e,BITS:i,BYTES:o,MASK:Ci(i),ZERO:Me,ONE:Ie,create:c=>pe(c,e),isValid:c=>{if(typeof c!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof c}`);return Me<=c&&c<e},is0:c=>c===Me,isOdd:c=>(c&Ie)===Ie,neg:c=>pe(-c,e),eql:(c,u)=>c===u,sqr:c=>pe(c*c,e),add:(c,u)=>pe(c+u,e),sub:(c,u)=>pe(c-u,e),mul:(c,u)=>pe(c*u,e),pow:(c,u)=>Sx(a,c,u),div:(c,u)=>pe(c*Wo(u,e),e),sqrN:c=>c*c,addN:(c,u)=>c+u,subN:(c,u)=>c-u,mulN:(c,u)=>c*u,inv:c=>Wo(c,e),sqrt:n.sqrt||(c=>s(a,c)),invertBatch:c=>Cx(a,c),cmov:(c,u,f)=>f?u:c,toBytes:c=>r?or(c,o):Tr(c,o),fromBytes:c=>{if(c.length!==o)throw new Error(`Fp.fromBytes: expected ${o}, got ${c.length}`);return r?Rt(c):ir(c)}});return Object.freeze(a)}function sh(e,t){if(!e.isOdd)throw new Error("Field doesn't have isOdd");let r=e.sqrt(t);return e.isOdd(r)?e.neg(r):r}function ah(e){if(typeof e!="bigint")throw new Error("field order must be bigint");let t=e.toString(2).length;return Math.ceil(t/8)}function Nc(e){let t=ah(e);return t+Math.ceil(t/2)}function ch(e,t,r=!1){let n=e.length,i=ah(t),o=Nc(t);if(n<16||n<o||n>1024)throw new Error(`expected ${o}-1024 bytes of input, got ${n}`);let s=r?ir(e):Rt(e),a=pe(s,t-Ie)+Ie;return r?or(a,i):Tr(a,i)}var Dx=BigInt(0),Pc=BigInt(1);function Yo(e,t){let r=(i,o)=>{let s=o.negate();return i?s:o},n=i=>{let o=Math.ceil(t/i)+1,s=2**(i-1);return{windows:o,windowSize:s}};return{constTimeNegate:r,unsafeLadder(i,o){let s=e.ZERO,a=i;for(;o>Dx;)o&Pc&&(s=s.add(a)),a=a.double(),o>>=Pc;return s},precomputeWindow(i,o){let{windows:s,windowSize:a}=n(o),c=[],u=i,f=u;for(let l=0;l<s;l++){f=u,c.push(f);for(let h=1;h<a;h++)f=f.add(u),c.push(f);u=f.double()}return c},wNAF(i,o,s){let{windows:a,windowSize:c}=n(i),u=e.ZERO,f=e.BASE,l=BigInt(2**i-1),h=2**i,y=BigInt(i);for(let d=0;d<a;d++){let p=d*c,g=Number(s&l);s>>=y,g>c&&(g-=h,s+=Pc);let m=p,v=p+Math.abs(g)-1,x=d%2!==0,A=g<0;g===0?f=f.add(r(x,o[m])):u=u.add(r(A,o[v]))}return{p:u,f}},wNAFCached(i,o,s,a){let c=i._WINDOW_SIZE||1,u=o.get(i);return u||(u=this.precomputeWindow(i,c),c!==1&&o.set(i,a(u))),this.wNAF(c,u,s)}}}function Ai(e){return Rc(e.Fp),mt(e,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...Lc(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}var Lt=BigInt(0),lt=BigInt(1),Zo=BigInt(2),Bx=BigInt(8),Ix={zip215:!0};function Tx(e){let t=Ai(e);return mt(e,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...t})}function Xo(e){let t=Tx(e),{Fp:r,n,prehash:i,hash:o,randomBytes:s,nByteLength:a,h:c}=t,u=Zo<<BigInt(a*8)-lt,f=r.create,l=t.uvRatio||((k,S)=>{try{return{isValid:!0,value:r.sqrt(k*r.inv(S))}}catch{return{isValid:!1,value:Lt}}}),h=t.adjustScalarBytes||(k=>k),y=t.domain||((k,S,U)=>{if(S.length||U)throw new Error("Contexts/pre-hash are not supported");return k}),d=k=>typeof k=="bigint"&&Lt<k,p=(k,S)=>d(k)&&d(S)&&k<S,g=k=>k===Lt||p(k,u);function m(k,S){if(p(k,S))return k;throw new Error(`Expected valid scalar < ${S}, got ${typeof k} ${k}`)}function v(k){return k===Lt?k:m(k,n)}let x=new Map;function A(k){if(!(k instanceof E))throw new Error("ExtendedPoint expected")}class E{constructor(S,U,M,H){if(this.ex=S,this.ey=U,this.ez=M,this.et=H,!g(S))throw new Error("x required");if(!g(U))throw new Error("y required");if(!g(M))throw new Error("z required");if(!g(H))throw new Error("t required")}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(S){if(S instanceof E)throw new Error("extended point not allowed");let{x:U,y:M}=S||{};if(!g(U)||!g(M))throw new Error("invalid affine point");return new E(U,M,lt,f(U*M))}static normalizeZ(S){let U=r.invertBatch(S.map(M=>M.ez));return S.map((M,H)=>M.toAffine(U[H])).map(E.fromAffine)}_setWindowSize(S){this._WINDOW_SIZE=S,x.delete(this)}assertValidity(){let{a:S,d:U}=t;if(this.is0())throw new Error("bad point: ZERO");let{ex:M,ey:H,ez:Q,et:J}=this,oe=f(M*M),ee=f(H*H),re=f(Q*Q),ve=f(re*re),be=f(oe*S),We=f(re*f(be+ee)),$e=f(ve+f(U*f(oe*ee)));if(We!==$e)throw new Error("bad point: equation left != right (1)");let Ke=f(M*H),Je=f(Q*J);if(Ke!==Je)throw new Error("bad point: equation left != right (2)")}equals(S){A(S);let{ex:U,ey:M,ez:H}=this,{ex:Q,ey:J,ez:oe}=S,ee=f(U*oe),re=f(Q*H),ve=f(M*oe),be=f(J*H);return ee===re&&ve===be}is0(){return this.equals(E.ZERO)}negate(){return new E(f(-this.ex),this.ey,this.ez,f(-this.et))}double(){let{a:S}=t,{ex:U,ey:M,ez:H}=this,Q=f(U*U),J=f(M*M),oe=f(Zo*f(H*H)),ee=f(S*Q),re=U+M,ve=f(f(re*re)-Q-J),be=ee+J,We=be-oe,$e=ee-J,Ke=f(ve*We),Je=f(be*$e),Qt=f(ve*$e),Fr=f(We*be);return new E(Ke,Je,Fr,Qt)}add(S){A(S);let{a:U,d:M}=t,{ex:H,ey:Q,ez:J,et:oe}=this,{ex:ee,ey:re,ez:ve,et:be}=S;if(U===BigInt(-1)){let fu=f((Q-H)*(re+ee)),lu=f((Q+H)*(re-ee)),Ms=f(lu-fu);if(Ms===Lt)return this.double();let hu=f(J*Zo*be),du=f(oe*Zo*ve),pu=du+hu,yu=lu+fu,gu=du-hu,g2=f(pu*Ms),m2=f(yu*gu),x2=f(pu*gu),b2=f(Ms*yu);return new E(g2,m2,b2,x2)}let We=f(H*ee),$e=f(Q*re),Ke=f(oe*M*be),Je=f(J*ve),Qt=f((H+Q)*(ee+re)-We-$e),Fr=Je-Ke,ci=Je+Ke,uu=f($e-U*We),h2=f(Qt*Fr),d2=f(ci*uu),p2=f(Qt*uu),y2=f(Fr*ci);return new E(h2,d2,y2,p2)}subtract(S){return this.add(S.negate())}wNAF(S){return D.wNAFCached(this,x,S,E.normalizeZ)}multiply(S){let{p:U,f:M}=this.wNAF(m(S,n));return E.normalizeZ([U,M])[0]}multiplyUnsafe(S){let U=v(S);return U===Lt?B:this.equals(B)||U===lt?this:this.equals(w)?this.wNAF(U).p:D.unsafeLadder(this,U)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return D.unsafeLadder(this,n).is0()}toAffine(S){let{ex:U,ey:M,ez:H}=this,Q=this.is0();S==null&&(S=Q?Bx:r.inv(H));let J=f(U*S),oe=f(M*S),ee=f(H*S);if(Q)return{x:Lt,y:lt};if(ee!==lt)throw new Error("invZ was invalid");return{x:J,y:oe}}clearCofactor(){let{h:S}=t;return S===lt?this:this.multiplyUnsafe(S)}static fromHex(S,U=!1){let{d:M,a:H}=t,Q=r.BYTES;S=Se("pointHex",S,Q);let J=S.slice(),oe=S[Q-1];J[Q-1]=oe&-129;let ee=Rt(J);ee===Lt||(U?m(ee,u):m(ee,r.ORDER));let re=f(ee*ee),ve=f(re-lt),be=f(M*re-H),{isValid:We,value:$e}=l(ve,be);if(!We)throw new Error("Point.fromHex: invalid y coordinate");let Ke=($e&lt)===lt,Je=(oe&128)!==0;if(!U&&$e===Lt&&Je)throw new Error("Point.fromHex: x=0 and x_0=1");return Je!==Ke&&($e=f(-$e)),E.fromAffine({x:$e,y:ee})}static fromPrivateKey(S){return O(S).point}toRawBytes(){let{x:S,y:U}=this.toAffine(),M=or(U,r.BYTES);return M[M.length-1]|=S&lt?128:0,M}toHex(){return nr(this.toRawBytes())}}E.BASE=new E(t.Gx,t.Gy,lt,f(t.Gx*t.Gy)),E.ZERO=new E(Lt,lt,lt,Lt);let{BASE:w,ZERO:B}=E,D=Yo(E,a*8);function R(k){return pe(k,n)}function F(k){return R(Rt(k))}function O(k){let S=a;k=Se("private key",k,S);let U=Se("hashed private key",o(k),2*S),M=h(U.slice(0,S)),H=U.slice(S,2*S),Q=F(M),J=w.multiply(Q),oe=J.toRawBytes();return{head:M,prefix:H,scalar:Q,point:J,pointBytes:oe}}function K(k){return O(k).pointBytes}function q(k=new Uint8Array,...S){let U=sr(...S);return F(o(y(U,Se("context",k),!!i)))}function j(k,S,U={}){k=Se("message",k),i&&(k=i(k));let{prefix:M,scalar:H,pointBytes:Q}=O(S),J=q(U.context,M,k),oe=w.multiply(J).toRawBytes(),ee=q(U.context,oe,Q,k),re=R(J+ee*H);v(re);let ve=sr(oe,or(re,r.BYTES));return Se("result",ve,a*2)}let I=Ix;function L(k,S,U,M=I){let{context:H,zip215:Q}=M,J=r.BYTES;k=Se("signature",k,2*J),S=Se("message",S),i&&(S=i(S));let oe=Rt(k.slice(J,2*J)),ee,re,ve;try{ee=E.fromHex(U,Q),re=E.fromHex(k.slice(0,J),Q),ve=w.multiplyUnsafe(oe)}catch{return!1}if(!Q&&ee.isSmallOrder())return!1;let be=q(H,re.toRawBytes(),ee.toRawBytes(),S);return re.add(ee.multiplyUnsafe(be)).subtract(ve).clearCofactor().equals(E.ZERO)}return w._setWindowSize(8),{CURVE:t,getPublicKey:K,sign:j,verify:L,ExtendedPoint:E,utils:{getExtendedPublicKey:O,randomPrivateKey:()=>s(r.BYTES),precompute(k=8,S=E.BASE){return S._setWindowSize(k),S.multiply(BigInt(3)),S}}}}var Di=BigInt(0),Uc=BigInt(1);function _x(e){return mt(e,{a:"bigint"},{montgomeryBits:"isSafeInteger",nByteLength:"isSafeInteger",adjustScalarBytes:"function",domain:"function",powPminus2:"function",Gu:"bigint"}),Object.freeze({...e})}function uh(e){let t=_x(e),{P:r}=t,n=x=>pe(x,r),i=t.montgomeryBits,o=Math.ceil(i/8),s=t.nByteLength,a=t.adjustScalarBytes||(x=>x),c=t.powPminus2||(x=>kc(x,r-BigInt(2),r));function u(x,A,E){let w=n(x*(A-E));return A=n(A-w),E=n(E+w),[A,E]}function f(x){if(typeof x=="bigint"&&Di<=x&&x<r)return x;throw new Error("Expected valid scalar 0 < scalar < CURVE.P")}let l=(t.a-BigInt(2))/BigInt(4);function h(x,A){let E=f(x),w=f(A),B=E,D=Uc,R=Di,F=E,O=Uc,K=Di,q;for(let I=BigInt(i-1);I>=Di;I--){let L=w>>I&Uc;K^=L,q=u(K,D,F),D=q[0],F=q[1],q=u(K,R,O),R=q[0],O=q[1],K=L;let _=D+R,k=n(_*_),S=D-R,U=n(S*S),M=k-U,H=F+O,Q=F-O,J=n(Q*_),oe=n(H*S),ee=J+oe,re=J-oe;F=n(ee*ee),O=n(B*n(re*re)),D=n(k*U),R=n(M*(k+n(l*M)))}q=u(K,D,F),D=q[0],F=q[1],q=u(K,R,O),R=q[0],O=q[1];let j=c(R);return n(D*j)}function y(x){return or(n(x),o)}function d(x){let A=Se("u coordinate",x,o);return s===o&&(A[s-1]&=127),Rt(A)}function p(x){let A=Se("scalar",x);if(A.length!==o&&A.length!==s)throw new Error(`Expected ${o} or ${s} bytes, got ${A.length}`);return Rt(a(A))}function g(x,A){let E=d(A),w=p(x),B=h(E,w);if(B===Di)throw new Error("Invalid private or public key received");return y(B)}let m=y(t.Gu);function v(x){return g(x,m)}return{scalarMult:g,scalarMultBase:v,getSharedSecret:(x,A)=>g(x,A),getPublicKey:x=>v(x),utils:{randomPrivateKey:()=>t.randomBytes(t.nByteLength)},GuBytes:m}}var Bi=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),fh=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),sA=BigInt(0),kx=BigInt(1),Oc=BigInt(2),Rx=BigInt(5),lh=BigInt(10),Lx=BigInt(20),Nx=BigInt(40),hh=BigInt(80);function dh(e){let t=Bi,n=e*e%t*e%t,i=Ce(n,Oc,t)*n%t,o=Ce(i,kx,t)*e%t,s=Ce(o,Rx,t)*o%t,a=Ce(s,lh,t)*s%t,c=Ce(a,Lx,t)*a%t,u=Ce(c,Nx,t)*c%t,f=Ce(u,hh,t)*u%t,l=Ce(f,hh,t)*u%t,h=Ce(l,lh,t)*s%t;return{pow_p_5_8:Ce(h,Oc,t)*e%t,b2:n}}function ph(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}function Px(e,t){let r=Bi,n=pe(t*t*t,r),i=pe(n*n*t,r),o=dh(e*i).pow_p_5_8,s=pe(e*n*o,r),a=pe(t*s*s,r),c=s,u=pe(s*fh,r),f=a===e,l=a===pe(-e,r),h=a===pe(-e*fh,r);return f&&(s=c),(l||h)&&(s=u),oh(s,r)&&(s=pe(-s,r)),{isValid:f||l,value:s}}var ar=$o(Bi,void 0,!0),Fc={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:ar,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:Dc,randomBytes:tn,adjustScalarBytes:ph,uvRatio:Px},Vn=Xo(Fc);function yh(e,t,r){if(t.length>255)throw new Error("Context is too big");return Mo(Sc("SigEd25519 no Ed25519 collisions"),new Uint8Array([r?1:0,t.length]),t,e)}var aA=Xo({...Fc,domain:yh}),cA=Xo({...Fc,domain:yh,prehash:Dc}),Ii=(()=>uh({P:Bi,a:BigInt(486662),montgomeryBits:255,nByteLength:32,Gu:BigInt(9),powPminus2:e=>{let t=Bi,{pow_p_5_8:r,b2:n}=dh(e);return pe(Ce(r,BigInt(3),t)*n,t)},adjustScalarBytes:ph,randomBytes:tn}))();var Ux=(ar.ORDER+BigInt(3))/BigInt(8),uA=ar.pow(Oc,Ux),fA=ar.sqrt(ar.neg(ar.ONE)),lA=(ar.ORDER-BigInt(5))/BigInt(8),hA=BigInt(486662);var dA=sh(ar,ar.neg(BigInt(486664)));var pA=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),yA=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),gA=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),mA=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952");var xA=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");var Qo=class extends Kn{constructor(t,r){super(),this.finished=!1,this.destroyed=!1,Si(t);let n=Dr(r);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 i=this.blockLen,o=new Uint8Array(i);o.set(n.length>i?t.create().update(n).digest():n);for(let s=0;s<o.length;s++)o[s]^=54;this.iHash.update(o),this.oHash=t.create();for(let s=0;s<o.length;s++)o[s]^=106;this.oHash.update(o),o.fill(0)}update(t){return Fn(this),this.iHash.update(t),this}digestInto(t){Fn(this),Ec(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:r,iHash:n,finished:i,destroyed:o,blockLen:s,outputLen:a}=this;return t=t,t.finished=i,t.destroyed=o,t.blockLen=s,t.outputLen=a,t.oHash=r._cloneInto(t.oHash),t.iHash=n._cloneInto(t.iHash),t}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},qn=(e,t,r)=>new Qo(e,t).update(r).digest();qn.create=(e,t)=>new Qo(e,t);function mh(e,t,r){return Si(e),r===void 0&&(r=new Uint8Array(e.outputLen)),qn(e,Dr(r),Dr(t))}var Kc=new Uint8Array([0]),gh=new Uint8Array;function xh(e,t,r,n=32){if(Si(e),Oo(n),n>255*e.outputLen)throw new Error("Length should be <= 255*HashLen");let i=Math.ceil(n/e.outputLen);r===void 0&&(r=gh);let o=new Uint8Array(i*e.outputLen),s=qn.create(e,t),a=s._cloneInto(),c=new Uint8Array(s.outputLen);for(let u=0;u<i;u++)Kc[0]=u+1,a.update(u===0?gh:c).update(r).update(Kc).digestInto(c),o.set(c,e.outputLen*u),s._cloneInto(a);return s.destroy(),a.destroy(),c.fill(0),Kc.fill(0),o.slice(0,n)}var Ox=(e,t,r)=>e&t^~e&r,Fx=(e,t,r)=>e&t^e&r^t&r,Kx=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]),_r=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),kr=new Uint32Array(64),Mc=class extends Mn{constructor(){super(64,32,8,!1),this.A=_r[0]|0,this.B=_r[1]|0,this.C=_r[2]|0,this.D=_r[3]|0,this.E=_r[4]|0,this.F=_r[5]|0,this.G=_r[6]|0,this.H=_r[7]|0}get(){let{A:t,B:r,C:n,D:i,E:o,F:s,G:a,H:c}=this;return[t,r,n,i,o,s,a,c]}set(t,r,n,i,o,s,a,c){this.A=t|0,this.B=r|0,this.C=n|0,this.D=i|0,this.E=o|0,this.F=s|0,this.G=a|0,this.H=c|0}process(t,r){for(let l=0;l<16;l++,r+=4)kr[l]=t.getUint32(r,!1);for(let l=16;l<64;l++){let h=kr[l-15],y=kr[l-2],d=kt(h,7)^kt(h,18)^h>>>3,p=kt(y,17)^kt(y,19)^y>>>10;kr[l]=p+kr[l-7]+d+kr[l-16]|0}let{A:n,B:i,C:o,D:s,E:a,F:c,G:u,H:f}=this;for(let l=0;l<64;l++){let h=kt(a,6)^kt(a,11)^kt(a,25),y=f+h+Ox(a,c,u)+Kx[l]+kr[l]|0,p=(kt(n,2)^kt(n,13)^kt(n,22))+Fx(n,i,o)|0;f=u,u=c,c=a,a=s+y|0,s=o,o=i,i=n,n=y+p|0}n=n+this.A|0,i=i+this.B|0,o=o+this.C|0,s=s+this.D|0,a=a+this.E|0,c=c+this.F|0,u=u+this.G|0,f=f+this.H|0,this.set(n,i,o,s,a,c,u,f)}roundClean(){kr.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var Hn=Vo(()=>new Mc);var Vc={hashSHA256(e){return Hn(e)},getHKDF(e,t){let r=mh(Hn,t,e),i=xh(Hn,r,void 0,96),o=i.subarray(0,32),s=i.subarray(32,64),a=i.subarray(64,96);return[o,s,a]},generateX25519KeyPair(){let e=Ii.utils.randomPrivateKey();return{publicKey:Ii.getPublicKey(e),privateKey:e}},generateX25519KeyPairFromSeed(e){return{publicKey:Ii.getPublicKey(e),privateKey:e}},generateX25519SharedKey(e,t){return Ii.getSharedSecret(e,t)},chaCha20Poly1305Encrypt(e,t,r,n){return vc(n,t,r).encrypt(e)},chaCha20Poly1305Decrypt(e,t,r,n,i){return vc(n,t,r).decrypt(e,i)}};var Mx=e=>globalThis.Buffer?globalThis.Buffer.allocUnsafe(e):new Uint8Array(e),zn=e=>{let t=Mx(2);return new DataView(t.buffer,t.byteOffset,t.byteLength).setUint16(0,e,!1),t};zn.bytes=2;var Ti=e=>{if(e.length<2)throw RangeError("Could not decode int16BE");return e instanceof Uint8Array?new DataView(e.buffer,e.byteOffset,e.byteLength).getUint16(0,!1):e.getUint16(0)};Ti.bytes=2;function bh(e){return me([e.ne,e.ciphertext],e.ne.length+e.ciphertext.length)}function wh(e){return me([e.ne,e.ns,e.ciphertext],e.ne.length+e.ns.length+e.ciphertext.length)}function vh(e){return me([e.ns,e.ciphertext],e.ns.length+e.ciphertext.length)}function Eh(e){if(e.length<32)throw new Error("Cannot decode stage 0 MessageBuffer: length less than 32 bytes.");return{ne:e.subarray(0,32),ciphertext:e.subarray(32,e.length),ns:new Uint8Array(0)}}function Sh(e){if(e.length<80)throw new Error("Cannot decode stage 1 MessageBuffer: length less than 80 bytes.");return{ne:e.subarray(0,32),ns:e.subarray(32,80),ciphertext:e.subarray(80,e.length)}}function Ch(e){if(e.length<48)throw new Error("Cannot decode stage 2 MessageBuffer: length less than 48 bytes.");return{ne:new Uint8Array(0),ns:e.subarray(0,48),ciphertext:e.subarray(48,e.length)}}var Dh=16;function Bh(e,t){return async function*(r){for await(let n of r)for(let i=0;i<n.length;i+=65519){let o=i+65519;o>n.length&&(o=n.length);let s=e.encrypt(n.subarray(i,o),e.session);t?.encryptedPackets.increment(),yield zn(s.byteLength),yield s}}}function Ih(e,t){return async function*(r){for await(let n of r)for(let i=0;i<n.length;i+=65535){let o=i+65535;if(o>n.length&&(o=n.length),o-Dh<i)throw new Error("Invalid chunk");let s=n.subarray(i,o),a=n.subarray(i,o-Dh),{plaintext:c,valid:u}=e.decrypt(s,e.session,a);if(!u)throw t?.decryptErrors.increment(),new Error("Failed to validate decrypted chunk");t?.decryptedPackets.increment(),yield c}}}var QB=ke(Ni(),1),jB=ke(zd(),1);var Vv=ke(we(),1);var d0={};ue(d0,{Ed25519PrivateKey:()=>fn,Ed25519PublicKey:()=>Oi,generateKeyPair:()=>pv,generateKeyPairFromSeed:()=>Qd,unmarshalEd25519PrivateKey:()=>hv,unmarshalEd25519PublicKey:()=>dv});var Zn=32,lr=64,gs=32;async function Gd(){let e=Vn.utils.randomPrivateKey(),t=Vn.getPublicKey(e);return{privateKey:Zd(e,t),publicKey:t}}async function Wd(e){if(e.length!==gs)throw new TypeError('"seed" must be 32 bytes in length.');if(!(e instanceof Uint8Array))throw new TypeError('"seed" must be a node.js Buffer, or Uint8Array.');let t=e,r=Vn.getPublicKey(t);return{privateKey:Zd(t,r),publicKey:r}}async function $d(e,t){let r=e.subarray(0,gs);return Vn.sign(t,r)}async function Yd(e,t,r){return Vn.verify(t,r,e)}function Zd(e,t){let r=new Uint8Array(lr);for(let n=0;n<gs;n++)r[n]=e[n],r[gs+n]=t[n];return r}var st={get(e=globalThis){let t=e.crypto;if(t==null||t.subtle==null)throw Object.assign(new Error("Missing Web Crypto API. The most likely cause of this error is that this page is being accessed from an insecure context (i.e. not HTTPS). For more information and possible resolutions see https://github.com/libp2p/js-libp2p-crypto/blob/master/README.md#web-crypto-api"),{code:"ERR_MISSING_WEB_CRYPTO"});return t}};var f0={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function l0(e){let t=e?.algorithm??"AES-GCM",r=e?.keyLength??16,n=e?.nonceLength??12,i=e?.digest??"SHA-256",o=e?.saltLength??16,s=e?.iterations??32767,a=st.get();r*=8;async function c(l,h){let y=a.getRandomValues(new Uint8Array(o)),d=a.getRandomValues(new Uint8Array(n)),p={name:t,iv:d};typeof h=="string"&&(h=Be(h));let g;if(h.length===0){g=await a.subtle.importKey("jwk",f0,{name:"AES-GCM"},!0,["encrypt"]);try{let v={name:"PBKDF2",salt:y,iterations:s,hash:{name:i}},x=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(v,x,{name:t,length:r},!0,["encrypt"])}catch{g=await a.subtle.importKey("jwk",f0,{name:"AES-GCM"},!0,["encrypt"])}}else{let v={name:"PBKDF2",salt:y,iterations:s,hash:{name:i}},x=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(v,x,{name:t,length:r},!0,["encrypt"])}let m=await a.subtle.encrypt(p,g,l);return me([y,p.iv,new Uint8Array(m)])}async function u(l,h){let y=l.subarray(0,o),d=l.subarray(o,o+n),p=l.subarray(o+n),g={name:t,iv:d};typeof h=="string"&&(h=Be(h));let m;if(h.length===0)try{let x={name:"PBKDF2",salt:y,iterations:s,hash:{name:i}},A=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);m=await a.subtle.deriveKey(x,A,{name:t,length:r},!0,["decrypt"])}catch{m=await a.subtle.importKey("jwk",f0,{name:"AES-GCM"},!0,["decrypt"])}else{let x={name:"PBKDF2",salt:y,iterations:s,hash:{name:i}},A=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);m=await a.subtle.deriveKey(x,A,{name:t,length:r},!0,["decrypt"])}let v=await a.subtle.decrypt(g,m,p);return new Uint8Array(v)}return{encrypt:c,decrypt:u}}async function Xn(e,t){let n=await l0().encrypt(e,t);return vn.encode(n)}var _e;(function(e){e.RSA="RSA",e.Ed25519="Ed25519",e.Secp256k1="Secp256k1"})(_e||(_e={}));var h0;(function(e){e[e.RSA=0]="RSA",e[e.Ed25519=1]="Ed25519",e[e.Secp256k1=2]="Secp256k1"})(h0||(h0={}));(function(e){e.codec=()=>Xr(h0)})(_e||(_e={}));var Yt;(function(e){let t;e.codec=()=>(t==null&&(t=_t((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),_e.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.Type=_e.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>Tt(r,e.codec()),e.decode=r=>It(r,e.codec())})(Yt||(Yt={}));var Zt;(function(e){let t;e.codec=()=>(t==null&&(t=_t((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),_e.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.Type=_e.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>Tt(r,e.codec()),e.decode=r=>It(r,e.codec())})(Zt||(Zt={}));var Oi=class{_key;constructor(t){this._key=Qn(t,Zn)}async verify(t,r){return Yd(this._key,r,t)}marshal(){return this._key}get bytes(){return Yt.encode({Type:_e.Ed25519,Data:this.marshal()}).subarray()}equals(t){return Oe(this.bytes,t.bytes)}async hash(){let{bytes:t}=await Ze.digest(this.bytes);return t}},fn=class{_key;_publicKey;constructor(t,r){this._key=Qn(t,lr),this._publicKey=Qn(r,Zn)}async sign(t){return $d(this._key,t)}get public(){return new Oi(this._publicKey)}marshal(){return this._key}get bytes(){return Zt.encode({Type:_e.Ed25519,Data:this.marshal()}).subarray()}equals(t){return Oe(this.bytes,t.bytes)}async hash(){let{bytes:t}=await Ze.digest(this.bytes);return t}async id(){let t=xr.digest(this.public.bytes);return Ne.encode(t.bytes).substring(1)}async export(t,r="libp2p-key"){if(r==="libp2p-key")return Xn(this.bytes,t);throw new Z(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function hv(e){if(e.length>lr){e=Qn(e,lr+Zn);let n=e.subarray(0,lr),i=e.subarray(lr,e.length);return new fn(n,i)}e=Qn(e,lr);let t=e.subarray(0,lr),r=e.subarray(Zn);return new fn(t,r)}function dv(e){return e=Qn(e,Zn),new Oi(e)}async function pv(){let{privateKey:e,publicKey:t}=await Gd();return new fn(e,t)}async function Qd(e){let{privateKey:t,publicKey:r}=await Wd(e);return new fn(t,r)}function Qn(e,t){if(e=Uint8Array.from(e??[]),e.length!==t)throw new Z(`Key must be a Uint8Array of length ${t}, got ${e.length}`,"ERR_INVALID_KEY_TYPE");return e}var AD=ke(Fe(),1),DD=ke(hs(),1),jd=ke(we(),1);function Ut(e,t){let r=Uint8Array.from(e.abs().toByteArray());if(r=r[0]===0?r.subarray(1):r,t!=null){if(r.length>t)throw new Error("byte array longer than desired length");r=me([new Uint8Array(t-r.length),r])}return se(r,"base64url")}function ht(e){let t=Jd(e);return new jd.default.jsbn.BigInteger(se(t,"base16"),16)}function Jd(e,t){let r=Be(e,"base64urlpad");if(t!=null){if(r.length>t)throw new Error("byte array longer than desired length");r=me([new Uint8Array(t-r.length),r])}return r}var yv={"P-256":256,"P-384":384,"P-521":521},gv=Object.keys(yv),OD=gv.join(" / ");var x0={};ue(x0,{MAX_KEY_SIZE:()=>Vi,RsaPrivateKey:()=>jn,RsaPublicKey:()=>Mi,fromJwk:()=>Bv,generateKeyPair:()=>Iv,unmarshalRsaPrivateKey:()=>Av,unmarshalRsaPublicKey:()=>Dv});var Ki=ke(we(),1);var vB=ke(ip(),1);function xs(e){if(isNaN(e)||e<=0)throw new Z("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return tn(e)}var nB=ke(ys(),1),g0=ke(we(),1);function op(e,t){return t.map(r=>ht(e[r]))}function sp(e){return g0.default.pki.setRsaPrivateKey(...op(e,["n","e","d","p","q","dp","dq","qi"]))}function ap(e){return g0.default.pki.setRsaPublicKey(...op(e,["n","e"]))}var hn={};ue(hn,{jwkToPkcs1:()=>wv,jwkToPkix:()=>Ev,pkcs1ToJwk:()=>bv,pkixToJwk:()=>vv});var sB=ke(Ni(),1),aB=ke(ys(),1);var hr=ke(we(),1);function bv(e){let t=hr.default.asn1.fromDer(se(e,"ascii")),r=hr.default.pki.privateKeyFromAsn1(t);return{kty:"RSA",n:Ut(r.n),e:Ut(r.e),d:Ut(r.d),p:Ut(r.p),q:Ut(r.q),dp:Ut(r.dP),dq:Ut(r.dQ),qi:Ut(r.qInv),alg:"RS256"}}function wv(e){if(e.n==null||e.e==null||e.d==null||e.p==null||e.q==null||e.dp==null||e.dq==null||e.qi==null)throw new Z("JWK was missing components","ERR_INVALID_PARAMETERS");let t=hr.default.pki.privateKeyToAsn1({n:ht(e.n),e:ht(e.e),d:ht(e.d),p:ht(e.p),q:ht(e.q),dP:ht(e.dp),dQ:ht(e.dq),qInv:ht(e.qi)});return Be(hr.default.asn1.toDer(t).getBytes(),"ascii")}function vv(e){let t=hr.default.asn1.fromDer(se(e,"ascii")),r=hr.default.pki.publicKeyFromAsn1(t);return{kty:"RSA",n:Ut(r.n),e:Ut(r.e)}}function Ev(e){if(e.n==null||e.e==null)throw new Z("JWK was missing components","ERR_INVALID_PARAMETERS");let t=hr.default.pki.publicKeyToAsn1({n:ht(e.n),e:ht(e.e)});return Be(hr.default.asn1.toDer(t).getBytes(),"ascii")}async function cp(e){let t=await st.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),r=await lp(t);return{privateKey:r[0],publicKey:r[1]}}async function m0(e){let r=[await st.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await Sv(e)],n=await lp({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function up(e,t){let r=await st.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await st.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,Uint8Array.from(t));return new Uint8Array(n,0,n.byteLength)}async function fp(e,t,r){let n=await st.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return st.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,t,r)}async function lp(e){if(e.privateKey==null||e.publicKey==null)throw new Z("Private and public key are required","ERR_INVALID_PARAMETERS");return Promise.all([st.get().subtle.exportKey("jwk",e.privateKey),st.get().subtle.exportKey("jwk",e.publicKey)])}async function Sv(e){return st.get().subtle.importKey("jwk",{kty:e.kty,n:e.n,e:e.e},{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["verify"])}function hp(e,t,r,n){let i=t?ap(e):sp(e),o=se(Uint8Array.from(r),"ascii"),s=n(o,i);return Be(s,"ascii")}function dp(e,t){return hp(e,!0,t,(r,n)=>n.encrypt(r))}function pp(e,t){return hp(e,!1,t,(r,n)=>n.decrypt(r))}function bs(e){if(e.kty!=="RSA")throw new Z("invalid key type","ERR_INVALID_KEY_TYPE");if(e.n==null)throw new Z("invalid key modulus","ERR_INVALID_KEY_MODULUS");return Be(e.n,"base64url").length*8}var Vi=8192,Mi=class{_key;constructor(t){this._key=t}async verify(t,r){return fp(this._key,r,t)}marshal(){return hn.jwkToPkix(this._key)}get bytes(){return Yt.encode({Type:_e.RSA,Data:this.marshal()}).subarray()}encrypt(t){return dp(this._key,t)}equals(t){return Oe(this.bytes,t.bytes)}async hash(){let{bytes:t}=await Ze.digest(this.bytes);return t}},jn=class{_key;_publicKey;constructor(t,r){this._key=t,this._publicKey=r}genSecret(){return xs(16)}async sign(t){return up(this._key,t)}get public(){if(this._publicKey==null)throw new Z("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new Mi(this._publicKey)}decrypt(t){return pp(this._key,t)}marshal(){return hn.jwkToPkcs1(this._key)}get bytes(){return Zt.encode({Type:_e.RSA,Data:this.marshal()}).subarray()}equals(t){return Oe(this.bytes,t.bytes)}async hash(){let{bytes:t}=await Ze.digest(this.bytes);return t}async id(){let t=await this.public.hash();return se(t,"base58btc")}async export(t,r="pkcs-8"){if(r==="pkcs-8"){let n=new Ki.default.util.ByteBuffer(this.marshal()),i=Ki.default.asn1.fromDer(n),o=Ki.default.pki.privateKeyFromAsn1(i),s={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return Ki.default.pki.encryptRsaPrivateKey(o,t,s)}else{if(r==="libp2p-key")return Xn(this.bytes,t);throw new Z(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function Av(e){let t=hn.pkcs1ToJwk(e);if(bs(t)>Vi)throw new Z("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let r=await m0(t);return new jn(r.privateKey,r.publicKey)}function Dv(e){let t=hn.pkixToJwk(e);if(bs(t)>Vi)throw new Z("key size is too large","ERR_KEY_SIZE_TOO_LARGE");return new Mi(t)}async function Bv(e){if(bs(e)>Vi)throw new Z("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let t=await m0(e);return new jn(t.privateKey,t.publicKey)}async function Iv(e){if(e>Vi)throw new Z("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let t=await cp(e);return new jn(t.privateKey,t.publicKey)}var E0={};ue(E0,{Secp256k1PrivateKey:()=>Hi,Secp256k1PublicKey:()=>qi,generateKeyPair:()=>Mv,unmarshalSecp256k1PrivateKey:()=>Fv,unmarshalSecp256k1PublicKey:()=>Kv});function Tv(e){let t=Ai(e);mt(t,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:r,Fp:n,a:i}=t;if(r){if(!n.eql(i,n.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if(typeof r!="object"||typeof r.beta!="bigint"||typeof r.splitScalar!="function")throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...t})}var{bytesToNumberBE:_v,hexToBytes:kv}=Go,dn={Err:class extends Error{constructor(t=""){super(t)}},_parseInt(e){let{Err:t}=dn;if(e.length<2||e[0]!==2)throw new t("Invalid signature integer tag");let r=e[1],n=e.subarray(2,r+2);if(!r||n.length!==r)throw new t("Invalid signature integer: wrong length");if(n[0]&128)throw new t("Invalid signature integer: negative");if(n[0]===0&&!(n[1]&128))throw new t("Invalid signature integer: unnecessary leading zero");return{d:_v(n),l:e.subarray(r+2)}},toSig(e){let{Err:t}=dn,r=typeof e=="string"?kv(e):e;if(!(r instanceof Uint8Array))throw new Error("ui8a expected");let n=r.length;if(n<2||r[0]!=48)throw new t("Invalid signature tag");if(r[1]!==n-2)throw new t("Invalid signature: incorrect length");let{d:i,l:o}=dn._parseInt(r.subarray(2)),{d:s,l:a}=dn._parseInt(o);if(a.length)throw new t("Invalid signature: left bytes after parsing");return{r:i,s}},hexFromSig(e){let t=u=>Number.parseInt(u[0],16)&8?"00"+u:u,r=u=>{let f=u.toString(16);return f.length&1?`0${f}`:f},n=t(r(e.s)),i=t(r(e.r)),o=n.length/2,s=i.length/2,a=r(o),c=r(s);return`30${r(s+o+4)}02${c}${i}02${a}${n}`}},dr=BigInt(0),wt=BigInt(1),BB=BigInt(2),yp=BigInt(3),IB=BigInt(4);function Rv(e){let t=Tv(e),{Fp:r}=t,n=t.toBytes||((d,p,g)=>{let m=p.toAffine();return sr(Uint8Array.from([4]),r.toBytes(m.x),r.toBytes(m.y))}),i=t.fromBytes||(d=>{let p=d.subarray(1),g=r.fromBytes(p.subarray(0,r.BYTES)),m=r.fromBytes(p.subarray(r.BYTES,2*r.BYTES));return{x:g,y:m}});function o(d){let{a:p,b:g}=t,m=r.sqr(d),v=r.mul(m,d);return r.add(r.add(v,r.mul(d,p)),g)}if(!r.eql(r.sqr(t.Gy),o(t.Gx)))throw new Error("bad generator point: equation left != right");function s(d){return typeof d=="bigint"&&dr<d&&d<t.n}function a(d){if(!s(d))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function c(d){let{allowedPrivateKeyLengths:p,nByteLength:g,wrapPrivateKey:m,n:v}=t;if(p&&typeof d!="bigint"){if(d instanceof Uint8Array&&(d=nr(d)),typeof d!="string"||!p.includes(d.length))throw new Error("Invalid key");d=d.padStart(g*2,"0")}let x;try{x=typeof d=="bigint"?d:ir(Se("private key",d,g))}catch{throw new Error(`private key must be ${g} bytes, hex or bigint, not ${typeof d}`)}return m&&(x=pe(x,v)),a(x),x}let u=new Map;function f(d){if(!(d instanceof l))throw new Error("ProjectivePoint expected")}class l{constructor(p,g,m){if(this.px=p,this.py=g,this.pz=m,p==null||!r.isValid(p))throw new Error("x required");if(g==null||!r.isValid(g))throw new Error("y required");if(m==null||!r.isValid(m))throw new Error("z required")}static fromAffine(p){let{x:g,y:m}=p||{};if(!p||!r.isValid(g)||!r.isValid(m))throw new Error("invalid affine point");if(p instanceof l)throw new Error("projective point not allowed");let v=x=>r.eql(x,r.ZERO);return v(g)&&v(m)?l.ZERO:new l(g,m,r.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(p){let g=r.invertBatch(p.map(m=>m.pz));return p.map((m,v)=>m.toAffine(g[v])).map(l.fromAffine)}static fromHex(p){let g=l.fromAffine(i(Se("pointHex",p)));return g.assertValidity(),g}static fromPrivateKey(p){return l.BASE.multiply(c(p))}_setWindowSize(p){this._WINDOW_SIZE=p,u.delete(this)}assertValidity(){if(this.is0()){if(t.allowInfinityPoint&&!r.is0(this.py))return;throw new Error("bad point: ZERO")}let{x:p,y:g}=this.toAffine();if(!r.isValid(p)||!r.isValid(g))throw new Error("bad point: x or y not FE");let m=r.sqr(g),v=o(p);if(!r.eql(m,v))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:p}=this.toAffine();if(r.isOdd)return!r.isOdd(p);throw new Error("Field doesn't support isOdd")}equals(p){f(p);let{px:g,py:m,pz:v}=this,{px:x,py:A,pz:E}=p,w=r.eql(r.mul(g,E),r.mul(x,v)),B=r.eql(r.mul(m,E),r.mul(A,v));return w&&B}negate(){return new l(this.px,r.neg(this.py),this.pz)}double(){let{a:p,b:g}=t,m=r.mul(g,yp),{px:v,py:x,pz:A}=this,E=r.ZERO,w=r.ZERO,B=r.ZERO,D=r.mul(v,v),R=r.mul(x,x),F=r.mul(A,A),O=r.mul(v,x);return O=r.add(O,O),B=r.mul(v,A),B=r.add(B,B),E=r.mul(p,B),w=r.mul(m,F),w=r.add(E,w),E=r.sub(R,w),w=r.add(R,w),w=r.mul(E,w),E=r.mul(O,E),B=r.mul(m,B),F=r.mul(p,F),O=r.sub(D,F),O=r.mul(p,O),O=r.add(O,B),B=r.add(D,D),D=r.add(B,D),D=r.add(D,F),D=r.mul(D,O),w=r.add(w,D),F=r.mul(x,A),F=r.add(F,F),D=r.mul(F,O),E=r.sub(E,D),B=r.mul(F,R),B=r.add(B,B),B=r.add(B,B),new l(E,w,B)}add(p){f(p);let{px:g,py:m,pz:v}=this,{px:x,py:A,pz:E}=p,w=r.ZERO,B=r.ZERO,D=r.ZERO,R=t.a,F=r.mul(t.b,yp),O=r.mul(g,x),K=r.mul(m,A),q=r.mul(v,E),j=r.add(g,m),I=r.add(x,A);j=r.mul(j,I),I=r.add(O,K),j=r.sub(j,I),I=r.add(g,v);let L=r.add(x,E);return I=r.mul(I,L),L=r.add(O,q),I=r.sub(I,L),L=r.add(m,v),w=r.add(A,E),L=r.mul(L,w),w=r.add(K,q),L=r.sub(L,w),D=r.mul(R,I),w=r.mul(F,q),D=r.add(w,D),w=r.sub(K,D),D=r.add(K,D),B=r.mul(w,D),K=r.add(O,O),K=r.add(K,O),q=r.mul(R,q),I=r.mul(F,I),K=r.add(K,q),q=r.sub(O,q),q=r.mul(R,q),I=r.add(I,q),O=r.mul(K,I),B=r.add(B,O),O=r.mul(L,I),w=r.mul(j,w),w=r.sub(w,O),O=r.mul(j,K),D=r.mul(L,D),D=r.add(D,O),new l(w,B,D)}subtract(p){return this.add(p.negate())}is0(){return this.equals(l.ZERO)}wNAF(p){return y.wNAFCached(this,u,p,g=>{let m=r.invertBatch(g.map(v=>v.pz));return g.map((v,x)=>v.toAffine(m[x])).map(l.fromAffine)})}multiplyUnsafe(p){let g=l.ZERO;if(p===dr)return g;if(a(p),p===wt)return this;let{endo:m}=t;if(!m)return y.unsafeLadder(this,p);let{k1neg:v,k1:x,k2neg:A,k2:E}=m.splitScalar(p),w=g,B=g,D=this;for(;x>dr||E>dr;)x&wt&&(w=w.add(D)),E&wt&&(B=B.add(D)),D=D.double(),x>>=wt,E>>=wt;return v&&(w=w.negate()),A&&(B=B.negate()),B=new l(r.mul(B.px,m.beta),B.py,B.pz),w.add(B)}multiply(p){a(p);let g=p,m,v,{endo:x}=t;if(x){let{k1neg:A,k1:E,k2neg:w,k2:B}=x.splitScalar(g),{p:D,f:R}=this.wNAF(E),{p:F,f:O}=this.wNAF(B);D=y.constTimeNegate(A,D),F=y.constTimeNegate(w,F),F=new l(r.mul(F.px,x.beta),F.py,F.pz),m=D.add(F),v=R.add(O)}else{let{p:A,f:E}=this.wNAF(g);m=A,v=E}return l.normalizeZ([m,v])[0]}multiplyAndAddUnsafe(p,g,m){let v=l.BASE,x=(E,w)=>w===dr||w===wt||!E.equals(v)?E.multiplyUnsafe(w):E.multiply(w),A=x(this,g).add(x(p,m));return A.is0()?void 0:A}toAffine(p){let{px:g,py:m,pz:v}=this,x=this.is0();p==null&&(p=x?r.ONE:r.inv(v));let A=r.mul(g,p),E=r.mul(m,p),w=r.mul(v,p);if(x)return{x:r.ZERO,y:r.ZERO};if(!r.eql(w,r.ONE))throw new Error("invZ was invalid");return{x:A,y:E}}isTorsionFree(){let{h:p,isTorsionFree:g}=t;if(p===wt)return!0;if(g)return g(l,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:p,clearCofactor:g}=t;return p===wt?this:g?g(l,this):this.multiplyUnsafe(t.h)}toRawBytes(p=!0){return this.assertValidity(),n(l,this,p)}toHex(p=!0){return nr(this.toRawBytes(p))}}l.BASE=new l(t.Gx,t.Gy,r.ONE),l.ZERO=new l(r.ZERO,r.ONE,r.ZERO);let h=t.nBitLength,y=Yo(l,t.endo?Math.ceil(h/2):h);return{CURVE:t,ProjectivePoint:l,normPrivateKeyToScalar:c,weierstrassEquation:o,isWithinCurveOrder:s}}function Lv(e){let t=Ai(e);return mt(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}function gp(e){let t=Lv(e),{Fp:r,n}=t,i=r.BYTES+1,o=2*r.BYTES+1;function s(I){return dr<I&&I<r.ORDER}function a(I){return pe(I,n)}function c(I){return Wo(I,n)}let{ProjectivePoint:u,normPrivateKeyToScalar:f,weierstrassEquation:l,isWithinCurveOrder:h}=Rv({...t,toBytes(I,L,_){let k=L.toAffine(),S=r.toBytes(k.x),U=sr;return _?U(Uint8Array.from([L.hasEvenY()?2:3]),S):U(Uint8Array.from([4]),S,r.toBytes(k.y))},fromBytes(I){let L=I.length,_=I[0],k=I.subarray(1);if(L===i&&(_===2||_===3)){let S=ir(k);if(!s(S))throw new Error("Point is not on curve");let U=l(S),M=r.sqrt(U),H=(M&wt)===wt;return(_&1)===1!==H&&(M=r.neg(M)),{x:S,y:M}}else if(L===o&&_===4){let S=r.fromBytes(k.subarray(0,r.BYTES)),U=r.fromBytes(k.subarray(r.BYTES,2*r.BYTES));return{x:S,y:U}}else throw new Error(`Point of length ${L} was invalid. Expected ${i} compressed bytes or ${o} uncompressed bytes`)}}),y=I=>nr(Tr(I,t.nByteLength));function d(I){let L=n>>wt;return I>L}function p(I){return d(I)?a(-I):I}let g=(I,L,_)=>ir(I.slice(L,_));class m{constructor(L,_,k){this.r=L,this.s=_,this.recovery=k,this.assertValidity()}static fromCompact(L){let _=t.nByteLength;return L=Se("compactSignature",L,_*2),new m(g(L,0,_),g(L,_,2*_))}static fromDER(L){let{r:_,s:k}=dn.toSig(Se("DER",L));return new m(_,k)}assertValidity(){if(!h(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!h(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(L){return new m(this.r,this.s,L)}recoverPublicKey(L){let{r:_,s:k,recovery:S}=this,U=B(Se("msgHash",L));if(S==null||![0,1,2,3].includes(S))throw new Error("recovery id invalid");let M=S===2||S===3?_+t.n:_;if(M>=r.ORDER)throw new Error("recovery id 2 or 3 invalid");let H=S&1?"03":"02",Q=u.fromHex(H+y(M)),J=c(M),oe=a(-U*J),ee=a(k*J),re=u.BASE.multiplyAndAddUnsafe(Q,oe,ee);if(!re)throw new Error("point at infinify");return re.assertValidity(),re}hasHighS(){return d(this.s)}normalizeS(){return this.hasHighS()?new m(this.r,a(-this.s),this.recovery):this}toDERRawBytes(){return rn(this.toDERHex())}toDERHex(){return dn.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return rn(this.toCompactHex())}toCompactHex(){return y(this.r)+y(this.s)}}let v={isValidPrivateKey(I){try{return f(I),!0}catch{return!1}},normPrivateKeyToScalar:f,randomPrivateKey:()=>{let I=Nc(t.n);return ch(t.randomBytes(I),t.n)},precompute(I=8,L=u.BASE){return L._setWindowSize(I),L.multiply(BigInt(3)),L}};function x(I,L=!0){return u.fromPrivateKey(I).toRawBytes(L)}function A(I){let L=I instanceof Uint8Array,_=typeof I=="string",k=(L||_)&&I.length;return L?k===i||k===o:_?k===2*i||k===2*o:I instanceof u}function E(I,L,_=!0){if(A(I))throw new Error("first arg must be private key");if(!A(L))throw new Error("second arg must be public key");return u.fromHex(L).multiply(f(I)).toRawBytes(_)}let w=t.bits2int||function(I){let L=ir(I),_=I.length*8-t.nBitLength;return _>0?L>>BigInt(_):L},B=t.bits2int_modN||function(I){return a(w(I))},D=Ci(t.nBitLength);function R(I){if(typeof I!="bigint")throw new Error("bigint expected");if(!(dr<=I&&I<D))throw new Error(`bigint expected < 2^${t.nBitLength}`);return Tr(I,t.nByteLength)}function F(I,L,_=O){if(["recovered","canonical"].some(be=>be in _))throw new Error("sign() legacy options not supported");let{hash:k,randomBytes:S}=t,{lowS:U,prehash:M,extraEntropy:H}=_;U==null&&(U=!0),I=Se("msgHash",I),M&&(I=Se("prehashed msgHash",k(I)));let Q=B(I),J=f(L),oe=[R(J),R(Q)];if(H!=null){let be=H===!0?S(r.BYTES):H;oe.push(Se("extraEntropy",be))}let ee=sr(...oe),re=Q;function ve(be){let We=w(be);if(!h(We))return;let $e=c(We),Ke=u.BASE.multiply(We).toAffine(),Je=a(Ke.x);if(Je===dr)return;let Qt=a($e*a(re+Je*J));if(Qt===dr)return;let Fr=(Ke.x===Je?0:2)|Number(Ke.y&wt),ci=Qt;return U&&d(Qt)&&(ci=p(Qt),Fr^=1),new m(Je,ci,Fr)}return{seed:ee,k2sig:ve}}let O={lowS:t.lowS,prehash:!1},K={lowS:t.lowS,prehash:!1};function q(I,L,_=O){let{seed:k,k2sig:S}=F(I,L,_),U=t;return Tc(U.hash.outputLen,U.nByteLength,U.hmac)(k,S)}u.BASE._setWindowSize(8);function j(I,L,_,k=K){let S=I;if(L=Se("msgHash",L),_=Se("publicKey",_),"strict"in k)throw new Error("options.strict was renamed to lowS");let{lowS:U,prehash:M}=k,H,Q;try{if(typeof S=="string"||S instanceof Uint8Array)try{H=m.fromDER(S)}catch(Ke){if(!(Ke instanceof dn.Err))throw Ke;H=m.fromCompact(S)}else if(typeof S=="object"&&typeof S.r=="bigint"&&typeof S.s=="bigint"){let{r:Ke,s:Je}=S;H=new m(Ke,Je)}else throw new Error("PARSE");Q=u.fromHex(_)}catch(Ke){if(Ke.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(U&&H.hasHighS())return!1;M&&(L=t.hash(L));let{r:J,s:oe}=H,ee=B(L),re=c(oe),ve=a(ee*re),be=a(J*re),We=u.BASE.multiplyAndAddUnsafe(Q,ve,be)?.toAffine();return We?a(We.x)===J:!1}return{CURVE:t,getPublicKey:x,getSharedSecret:E,sign:q,verify:j,ProjectivePoint:u,Signature:m,utils:v}}function Nv(e){return{hash:e,hmac:(t,...r)=>qn(e,t,Mo(...r)),randomBytes:tn}}function mp(e,t){let r=n=>gp({...e,...Nv(n)});return Object.freeze({...r(t),create:r})}var wp=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),xp=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),Pv=BigInt(1),b0=BigInt(2),bp=(e,t)=>(e+t/b0)/t;function Uv(e){let t=wp,r=BigInt(3),n=BigInt(6),i=BigInt(11),o=BigInt(22),s=BigInt(23),a=BigInt(44),c=BigInt(88),u=e*e*e%t,f=u*u*e%t,l=Ce(f,r,t)*f%t,h=Ce(l,r,t)*f%t,y=Ce(h,b0,t)*u%t,d=Ce(y,i,t)*y%t,p=Ce(d,o,t)*d%t,g=Ce(p,a,t)*p%t,m=Ce(g,c,t)*g%t,v=Ce(m,a,t)*p%t,x=Ce(v,r,t)*f%t,A=Ce(x,s,t)*d%t,E=Ce(A,n,t)*u%t,w=Ce(E,b0,t);if(!w0.eql(w0.sqr(w),e))throw new Error("Cannot find square root");return w}var w0=$o(wp,void 0,void 0,{sqrt:Uv}),pr=mp({a:BigInt(0),b:BigInt(7),Fp:w0,n:xp,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:e=>{let t=xp,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-Pv*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),o=r,s=BigInt("0x100000000000000000000000000000000"),a=bp(o*e,t),c=bp(-n*e,t),u=pe(e-a*r-c*i,t),f=pe(-a*n-c*o,t),l=u>s,h=f>s;if(l&&(u=t-u),h&&(f=t-f),u>s||f>s)throw new Error("splitScalar: Endomorphism failed, k="+e);return{k1neg:l,k1:u,k2neg:h,k2:f}}}},Hn),OB=BigInt(0);var FB=pr.ProjectivePoint;function vp(){return pr.utils.randomPrivateKey()}async function Ep(e,t){let{digest:r}=await Ze.digest(t);try{return pr.sign(r,e).toDERRawBytes()}catch(n){throw new Z(String(n),"ERR_INVALID_INPUT")}}async function Sp(e,t,r){try{let{digest:n}=await Ze.digest(r);return pr.verify(t,n,e)}catch(n){throw new Z(String(n),"ERR_INVALID_INPUT")}}function Cp(e){return pr.ProjectivePoint.fromHex(e).toRawBytes(!0)}function Ap(e){try{pr.getPublicKey(e,!0)}catch(t){throw new Z(String(t),"ERR_INVALID_PRIVATE_KEY")}}function v0(e){try{pr.ProjectivePoint.fromHex(e)}catch(t){throw new Z(String(t),"ERR_INVALID_PUBLIC_KEY")}}function Dp(e){try{return pr.getPublicKey(e,!0)}catch(t){throw new Z(String(t),"ERR_INVALID_PRIVATE_KEY")}}var qi=class{_key;constructor(t){v0(t),this._key=t}async verify(t,r){return Sp(this._key,r,t)}marshal(){return Cp(this._key)}get bytes(){return Yt.encode({Type:_e.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return Oe(this.bytes,t.bytes)}async hash(){let{bytes:t}=await Ze.digest(this.bytes);return t}},Hi=class{_key;_publicKey;constructor(t,r){this._key=t,this._publicKey=r??Dp(t),Ap(this._key),v0(this._publicKey)}async sign(t){return Ep(this._key,t)}get public(){return new qi(this._publicKey)}marshal(){return this._key}get bytes(){return Zt.encode({Type:_e.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return Oe(this.bytes,t.bytes)}async hash(){let{bytes:t}=await Ze.digest(this.bytes);return t}async id(){let t=await this.public.hash();return se(t,"base58btc")}async export(t,r="libp2p-key"){if(r==="libp2p-key")return Xn(this.bytes,t);throw new Z(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function Fv(e){return new Hi(e)}function Kv(e){return new qi(e)}async function Mv(){let e=vp();return new Hi(e)}var pn={rsa:x0,ed25519:d0,secp256k1:E0};function Bp(e){let t=Object.keys(pn).join(" / ");return new Z(`invalid or unsupported key type ${e}. Must be ${t}`,"ERR_UNSUPPORTED_KEY_TYPE")}function Ip(e){let t=Yt.decode(e),r=t.Data??new Uint8Array;switch(t.Type){case _e.RSA:return pn.rsa.unmarshalRsaPublicKey(r);case _e.Ed25519:return pn.ed25519.unmarshalEd25519PublicKey(r);case _e.Secp256k1:return pn.secp256k1.unmarshalSecp256k1PublicKey(r);default:throw Bp(t.Type??"RSA")}}async function Tp(e){let t=Zt.decode(e),r=t.Data??new Uint8Array;switch(t.Type){case _e.RSA:return pn.rsa.unmarshalRsaPrivateKey(r);case _e.Ed25519:return pn.ed25519.unmarshalEd25519PrivateKey(r);case _e.Secp256k1:return pn.secp256k1.unmarshalSecp256k1PrivateKey(r);default:throw Bp(t.Type??"RSA")}}var ws;(function(e){let t;e.codec=()=>(t==null&&(t=_t((r,n,i={})=>{if(i.lengthDelimited!==!1&&n.fork(),r.webtransportCerthashes!=null)for(let o of r.webtransportCerthashes)n.uint32(10),n.bytes(o);i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={webtransportCerthashes:[]},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.webtransportCerthashes.push(r.bytes());break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>Tt(r,e.codec()),e.decode=r=>It(r,e.codec())})(ws||(ws={}));var zi;(function(e){let t;e.codec=()=>(t==null&&(t=_t((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),(i.writeDefaults===!0||r.identityKey!=null&&r.identityKey.byteLength>0)&&(n.uint32(10),n.bytes(r.identityKey??new Uint8Array(0))),(i.writeDefaults===!0||r.identitySig!=null&&r.identitySig.byteLength>0)&&(n.uint32(18),n.bytes(r.identitySig??new Uint8Array(0))),r.extensions!=null&&(n.uint32(34),ws.codec().encode(r.extensions,n,{writeDefaults:!1})),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={identityKey:new Uint8Array(0),identitySig:new Uint8Array(0)},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.identityKey=r.bytes();break;case 2:i.identitySig=r.bytes();break;case 4:i.extensions=ws.codec().decode(r,r.uint32());break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>Tt(r,e.codec()),e.decode=r=>It(r,e.codec())})(zi||(zi={}));async function _p(e,t,r){let n=await Hv(e,kp(t));if(e.publicKey==null)throw new Error("PublicKey was missing from local PeerId");return qv(e.publicKey,n,r)}function qv(e,t,r){return zi.encode({identityKey:e,identitySig:t,extensions:r??{webtransportCerthashes:[]}}).subarray()}async function Hv(e,t){if(e.privateKey==null)throw new Error("PrivateKey was missing from PeerId");return(await Tp(e.privateKey)).sign(t)}async function S0(e){return ua(e.identityKey)}function C0(e){return zi.decode(e)}function kp(e){let t=Be("noise-libp2p-static-key:");return me([t,e],t.length+e.length)}async function A0(e,t,r){let n=await ua(t.identityKey);if(!n.equals(r))throw new Error(`Payload identity key ${n.toString()} does not match expected remote peer ${r.toString()}`);let i=kp(e);if(n.publicKey==null)throw new Error("PublicKey was missing from PeerId");if(t.identitySig==null)throw new Error("Signature was missing from message");if(!await Ip(n.publicKey).verify(i,t.identitySig))throw new Error("Static key doesn't match to peer that signed payload!");return n}function Gi(e){return!(!(e instanceof Uint8Array)||e.length!==32)}var Ge=Ye("libp2p:noise");var vt;ql?vt=Ge:vt=Object.assign(()=>{},{enabled:!1,trace:()=>{},error:()=>{}});function Rp(e){vt(`LOCAL_STATIC_PUBLIC_KEY ${se(e.publicKey,"hex")}`),vt(`LOCAL_STATIC_PRIVATE_KEY ${se(e.privateKey,"hex")}`)}function D0(e){e?(vt(`LOCAL_PUBLIC_EPHEMERAL_KEY ${se(e.publicKey,"hex")}`),vt(`LOCAL_PRIVATE_EPHEMERAL_KEY ${se(e.privateKey,"hex")}`)):vt("Missing local ephemeral keys.")}function Lp(e){vt(`REMOTE_STATIC_PUBLIC_KEY ${se(e,"hex")}`)}function B0(e){vt(`REMOTE_EPHEMERAL_PUBLIC_KEY ${se(e,"hex")}`)}function Np(e){e.cs1&&e.cs2?(vt(`CIPHER_STATE_1 ${e.cs1.n.getUint64()} ${se(e.cs1.k,"hex")}`),vt(`CIPHER_STATE_2 ${e.cs2.n.getUint64()} ${se(e.cs2.k,"hex")}`)):vt("Missing cipher state.")}var zv="Cipherstate has reached maximum n, a new handshake must be performed",vs=class{n;bytes;view;constructor(t=0){this.n=t,this.bytes=new Uint8Array(12),this.view=new DataView(this.bytes.buffer,this.bytes.byteOffset,this.bytes.byteLength),this.view.setUint32(4,t,!0)}increment(){this.n++,this.view.setUint32(4,this.n,!0)}getBytes(){return this.bytes}getUint64(){return this.n}assertValue(){if(this.n>4294967295)throw new Error(zv)}};var Es=class{crypto;constructor(t){this.crypto=t}encryptWithAd(t,r,n){let i=this.encrypt(t.k,t.n,r,n);return t.n.increment(),i}decryptWithAd(t,r,n,i){let{plaintext:o,valid:s}=this.decrypt(t.k,t.n,r,n,i);return s&&t.n.increment(),{plaintext:o,valid:s}}hasKey(t){return!this.isEmptyKey(t.k)}createEmptyKey(){return new Uint8Array(32)}isEmptyKey(t){let r=this.createEmptyKey();return Oe(r,t)}encrypt(t,r,n,i){return r.assertValue(),this.crypto.chaCha20Poly1305Encrypt(i,r.getBytes(),n,t)}encryptAndHash(t,r){let n;return this.hasKey(t.cs)?n=this.encryptWithAd(t.cs,t.h,r):n=r,this.mixHash(t,n),n}decrypt(t,r,n,i,o){r.assertValue();let s=this.crypto.chaCha20Poly1305Decrypt(i,r.getBytes(),n,t,o);return s?{plaintext:s,valid:!0}:{plaintext:new Uint8Array(0),valid:!1}}decryptAndHash(t,r){let n,i=!0;return this.hasKey(t.cs)?{plaintext:n,valid:i}=this.decryptWithAd(t.cs,t.h,r):n=r,this.mixHash(t,r),{plaintext:n,valid:i}}dh(t,r){try{let n=this.crypto.generateX25519SharedKey(t,r);return n.length===32?n:n.subarray(0,32)}catch(n){let i=n;return Ge.error(i),new Uint8Array(32)}}mixHash(t,r){t.h=this.getHash(t.h,r)}getHash(t,r){return this.crypto.hashSHA256(me([t,r],t.length+r.length))}mixKey(t,r){let[n,i]=this.crypto.getHKDF(t.ck,r);t.cs=this.initializeKey(i),t.ck=n}initializeKey(t){return{k:t,n:new vs}}initializeSymmetric(t){let r=Be(t,"utf-8"),n=this.hashProtocolName(r),i=n,o=this.createEmptyKey();return{cs:this.initializeKey(o),ck:i,h:n}}hashProtocolName(t){if(t.length<=32){let r=new Uint8Array(32);return r.set(t),r}else return this.getHash(t,new Uint8Array(0))}split(t){let[r,n]=this.crypto.getHKDF(t.ck,new Uint8Array(0)),i=this.initializeKey(r),o=this.initializeKey(n);return{cs1:i,cs2:o}}writeMessageRegular(t,r){let n=this.encryptWithAd(t,new Uint8Array(0),r),i=this.createEmptyKey(),o=new Uint8Array(0);return{ne:i,ns:o,ciphertext:n}}readMessageRegular(t,r){return this.decryptWithAd(t,new Uint8Array(0),r.ciphertext)}};var Ss=class extends Es{initializeInitiator(t,r,n,i){let o="Noise_XX_25519_ChaChaPoly_SHA256",s=this.initializeSymmetric(o);this.mixHash(s,t);let a=new Uint8Array(32);return{ss:s,s:r,rs:n,psk:i,re:a}}initializeResponder(t,r,n,i){let o="Noise_XX_25519_ChaChaPoly_SHA256",s=this.initializeSymmetric(o);this.mixHash(s,t);let a=new Uint8Array(32);return{ss:s,s:r,rs:n,psk:i,re:a}}writeMessageA(t,r,n){let i=new Uint8Array(0);n!==void 0?t.e=n:t.e=this.crypto.generateX25519KeyPair();let o=t.e.publicKey;this.mixHash(t.ss,o);let s=this.encryptAndHash(t.ss,r);return{ne:o,ns:i,ciphertext:s}}writeMessageB(t,r){t.e=this.crypto.generateX25519KeyPair();let n=t.e.publicKey;this.mixHash(t.ss,n),this.mixKey(t.ss,this.dh(t.e.privateKey,t.re));let i=t.s.publicKey,o=this.encryptAndHash(t.ss,i);this.mixKey(t.ss,this.dh(t.s.privateKey,t.re));let s=this.encryptAndHash(t.ss,r);return{ne:n,ns:o,ciphertext:s}}writeMessageC(t,r){let n=t.s.publicKey,i=this.encryptAndHash(t.ss,n);this.mixKey(t.ss,this.dh(t.s.privateKey,t.re));let o=this.encryptAndHash(t.ss,r),a={ne:this.createEmptyKey(),ns:i,ciphertext:o},{cs1:c,cs2:u}=this.split(t.ss);return{h:t.ss.h,messageBuffer:a,cs1:c,cs2:u}}readMessageA(t,r){return Gi(r.ne)&&(t.re=r.ne),this.mixHash(t.ss,t.re),this.decryptAndHash(t.ss,r.ciphertext)}readMessageB(t,r){if(Gi(r.ne)&&(t.re=r.ne),this.mixHash(t.ss,t.re),!t.e)throw new Error("Handshake state `e` param is missing.");this.mixKey(t.ss,this.dh(t.e.privateKey,t.re));let{plaintext:n,valid:i}=this.decryptAndHash(t.ss,r.ns);i&&Gi(n)&&(t.rs=n),this.mixKey(t.ss,this.dh(t.e.privateKey,t.rs));let{plaintext:o,valid:s}=this.decryptAndHash(t.ss,r.ciphertext);return{plaintext:o,valid:i&&s}}readMessageC(t,r){let{plaintext:n,valid:i}=this.decryptAndHash(t.ss,r.ns);if(i&&Gi(n)&&(t.rs=n),!t.e)throw new Error("Handshake state `e` param is missing.");this.mixKey(t.ss,this.dh(t.e.privateKey,t.rs));let{plaintext:o,valid:s}=this.decryptAndHash(t.ss,r.ciphertext),{cs1:a,cs2:c}=this.split(t.ss);return{h:t.ss.h,plaintext:o,valid:i&&s,cs1:a,cs2:c}}initSession(t,r,n){let i=this.createEmptyKey(),o=new Uint8Array(32),s;return t?s=this.initializeInitiator(r,n,o,i):s=this.initializeResponder(r,n,o,i),{hs:s,i:t,mc:0}}sendMessage(t,r,n){let i;if(t.mc===0)i=this.writeMessageA(t.hs,r,n);else if(t.mc===1)i=this.writeMessageB(t.hs,r);else if(t.mc===2){let{h:o,messageBuffer:s,cs1:a,cs2:c}=this.writeMessageC(t.hs,r);i=s,t.h=o,t.cs1=a,t.cs2=c}else if(t.mc>2)if(t.i){if(!t.cs1)throw new Error("CS1 (cipher state) is not defined");i=this.writeMessageRegular(t.cs1,r)}else{if(!t.cs2)throw new Error("CS2 (cipher state) is not defined");i=this.writeMessageRegular(t.cs2,r)}else throw new Error("Session invalid.");return t.mc++,i}recvMessage(t,r){let n=new Uint8Array(0),i=!1;if(t.mc===0)({plaintext:n,valid:i}=this.readMessageA(t.hs,r));else if(t.mc===1)({plaintext:n,valid:i}=this.readMessageB(t.hs,r));else if(t.mc===2){let{h:o,plaintext:s,valid:a,cs1:c,cs2:u}=this.readMessageC(t.hs,r);n=s,i=a,t.h=o,t.cs1=c,t.cs2=u}return t.mc++,{plaintext:n,valid:i}}};var Cs=class{isInitiator;session;remotePeer;remoteExtensions={webtransportCerthashes:[]};payload;connection;xx;staticKeypair;prologue;constructor(t,r,n,i,o,s,a,c){this.isInitiator=t,this.payload=r,this.prologue=n,this.staticKeypair=o,this.connection=s,a&&(this.remotePeer=a),this.xx=c??new Ss(i),this.session=this.xx.initSession(this.isInitiator,this.prologue,this.staticKeypair)}async propose(){if(Rp(this.session.hs.s),this.isInitiator){Ge.trace("Stage 0 - Initiator starting to send first message.");let t=this.xx.sendMessage(this.session,new Uint8Array(0));await this.connection.write(bh(t)),Ge.trace("Stage 0 - Initiator finished sending first message."),D0(this.session.hs.e)}else{Ge.trace("Stage 0 - Responder waiting to receive first message...");let t=Eh((await this.connection.read()).subarray()),{valid:r}=this.xx.recvMessage(this.session,t);if(!r)throw new Kr("xx handshake stage 0 validation fail");Ge.trace("Stage 0 - Responder received first message."),B0(this.session.hs.re)}}async exchange(){if(this.isInitiator){Ge.trace("Stage 1 - Initiator waiting to receive first message from responder...");let t=Sh((await this.connection.read()).subarray()),{plaintext:r,valid:n}=this.xx.recvMessage(this.session,t);if(!n)throw new Kr("xx handshake stage 1 validation fail");Ge.trace("Stage 1 - Initiator received the message."),B0(this.session.hs.re),Lp(this.session.hs.rs),Ge.trace("Initiator going to check remote's signature...");try{let i=C0(r);this.remotePeer=this.remotePeer||await S0(i),await A0(this.session.hs.rs,i,this.remotePeer),this.setRemoteNoiseExtension(i.extensions)}catch(i){let o=i;throw new ui(`Error occurred while verifying signed payload: ${o.message}`)}Ge.trace("All good with the signature!")}else{Ge.trace("Stage 1 - Responder sending out first message with signed payload and static key.");let t=this.xx.sendMessage(this.session,this.payload);await this.connection.write(wh(t)),Ge.trace("Stage 1 - Responder sent the second handshake message with signed payload."),D0(this.session.hs.e)}}async finish(){if(this.isInitiator){Ge.trace("Stage 2 - Initiator sending third handshake message.");let t=this.xx.sendMessage(this.session,this.payload);await this.connection.write(vh(t)),Ge.trace("Stage 2 - Initiator sent message with signed payload.")}else{Ge.trace("Stage 2 - Responder waiting for third handshake message...");let t=Ch((await this.connection.read()).subarray()),{plaintext:r,valid:n}=this.xx.recvMessage(this.session,t);if(!n)throw new Kr("xx handshake stage 2 validation fail");Ge.trace("Stage 2 - Responder received the message, finished handshake.");try{let i=C0(r);this.remotePeer=this.remotePeer||await S0(i),await A0(this.session.hs.rs,i,this.remotePeer),this.setRemoteNoiseExtension(i.extensions)}catch(i){let o=i;throw new ui(`Error occurred while verifying signed payload: ${o.message}`)}}Np(this.session)}encrypt(t,r){let n=this.getCS(r);return this.xx.encryptWithAd(n,new Uint8Array(0),t)}decrypt(t,r,n){let i=this.getCS(r,!1);return this.xx.decryptWithAd(i,new Uint8Array(0),t,n)}getRemoteStaticKey(){return this.session.hs.rs}getCS(t,r=!0){if(!t.cs1||!t.cs2)throw new Kr("Handshake not completed properly, cipher state does not exist.");return this.isInitiator?r?t.cs1:t.cs2:r?t.cs2:t.cs1}setRemoteNoiseExtension(t){t&&(this.remoteExtensions=t)}};function Pp(e){return{xxHandshakeSuccesses:e.registerCounter("libp2p_noise_xxhandshake_successes_total",{help:"Total count of noise xxHandshakes successes_"}),xxHandshakeErrors:e.registerCounter("libp2p_noise_xxhandshake_error_total",{help:"Total count of noise xxHandshakes errors"}),encryptedPackets:e.registerCounter("libp2p_noise_encrypted_packets_total",{help:"Total count of noise encrypted packets successfully"}),decryptedPackets:e.registerCounter("libp2p_noise_decrypted_packets_total",{help:"Total count of noise decrypted packets"}),decryptErrors:e.registerCounter("libp2p_noise_decrypt_errors_total",{help:"Total count of noise decrypt errors"})}}var As=class{protocol="/noise";crypto;prologue;staticKeys;extensions;metrics;constructor(t={}){let{staticNoiseKey:r,extensions:n,crypto:i,prologueBytes:o,metrics:s}=t;this.crypto=i??Vc,this.extensions=n,this.metrics=s?Pp(s):void 0,r?this.staticKeys=this.crypto.generateX25519KeyPairFromSeed(r):this.staticKeys=this.crypto.generateX25519KeyPair(),this.prologue=o??new Uint8Array(0)}async secureOutbound(t,r,n){let i=bi(r,{lengthEncoder:zn,lengthDecoder:Ti,maxDataLength:65535}),o=await this.performHandshake({connection:i,isInitiator:!0,localPeer:t,remotePeer:n});return{conn:await this.createSecureConnection(i,o),remoteExtensions:o.remoteExtensions,remotePeer:o.remotePeer}}async secureInbound(t,r,n){let i=bi(r,{lengthEncoder:zn,lengthDecoder:Ti,maxDataLength:65535}),o=await this.performHandshake({connection:i,isInitiator:!1,localPeer:t,remotePeer:n});return{conn:await this.createSecureConnection(i,o),remotePeer:o.remotePeer,remoteExtensions:o.remoteExtensions}}async performHandshake(t){let r=await _p(t.localPeer,this.staticKeys.publicKey,this.extensions);return this.performXXHandshake(t,r)}async performXXHandshake(t,r){let{isInitiator:n,remotePeer:i,connection:o}=t,s=new Cs(n,r,this.prologue,this.crypto,this.staticKeys,o,i);try{await s.propose(),await s.exchange(),await s.finish(),this.metrics?.xxHandshakeSuccesses.increment()}catch(a){if(this.metrics?.xxHandshakeErrors.increment(),a instanceof Error)throw a.message=`Error occurred during XX handshake: ${a.message}`,a}return s}async createSecureConnection(t,r){let[n,i]=Ol(),o=t.unwrap();return await Kl(n,Bh(r,this.metrics),o,s=>Wr(s,{lengthDecoder:Ti}),Ih(r,this.metrics),n),i}};function Up(e={}){return()=>new As(e)}var l2=ke(nu(),1);var o2=ke(nu(),1);var iu=Ye("libp2p:webrtc:sdp"),ou=Object.values(Kt).map(e=>e.decoder).reduce((e,t)=>e.or(t));function s2(e){let t=e.getConfiguration().certificates?.at(0);if(t==null||t.getFingerprints==null){iu.trace("fetching fingerprint from local SDP");let n=e.localDescription;return n==null?void 0:Q3(n.sdp)}if(iu.trace("fetching fingerprint from local certificate"),t.getFingerprints().length===0)return;let r=t.getFingerprints()[0].value;if(r==null)throw Na("","no fingerprint on local certificate");return r}var X3=/^a=fingerprint:(?:\w+-[0-9]+)\s(?<fingerprint>(:?[0-9a-fA-F]{2})+)$/m;function Q3(e){return e.match(X3)?.groups?.fingerprint}function j3(e){for(let t of e.protoNames())if(t.startsWith("ip"))return t.toUpperCase();return iu("Warning: multiaddr does not appear to contain IP4 or IP6, defaulting to IP6",e),"IP6"}function Os(e){let r=e.stringTuples().filter(n=>n[0]===cu).map(n=>n[1])[0];if(r===void 0||r==="")throw uo(`Couldn't find a certhash component of multiaddr: ${e.toString()}`);return r}function su(e){let t=ou.decode(e);return o2.decode(t)}function J3(e){let t=su(Os(e)),r=au(t.name),n=t.digest.reduce((o,s)=>o+s.toString(16).padStart(2,"0"),""),i=n.match(/.{1,2}/g);if(i==null)throw Na(n,e.toString());return[`${r.toUpperCase()} ${i.join(":").toUpperCase()}`,n]}function au(e){switch(e){case"sha1":return"sha-1";case"sha2-256":return"sha-256";case"sha2-512":return"sha-512";default:throw lf(e)}}function e4(e,t){let{host:r,port:n}=e.toOptions(),i=j3(e),[o]=J3(e);return`v=0
31
31
  o=- 0 0 IN ${i} ${r}
32
32
  s=-
@@ -197,7 +197,7 @@ export function createStream(options) {
197
197
  dataChannelOptions,
198
198
  onEnd,
199
199
  channel,
200
- log: logger(`libp2p:mplex:stream:${direction}:${channel.id}`)
200
+ log: logger(`libp2p:webrtc:stream:${direction}:${channel.id}`)
201
201
  });
202
202
  }
203
203
  //# sourceMappingURL=stream.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stream.js","sourceRoot":"","sources":["../../src/stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,cAAc,EAA2B,MAAM,uCAAuC,CAAA;AAC/F,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,KAAK,cAAc,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAiB,QAAQ,EAAE,MAAM,aAAa,CAAA;AACrD,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAGzC,MAAM,GAAG,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAA;AAsB1C,uDAAuD;AACvD,MAAM,gBAAgB,GAAG,EAAE,GAAG,IAAI,CAAA;AAElC,sDAAsD;AACtD,MAAM,mBAAmB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAA;AAE5C,wEAAwE;AACxE,MAAM,2BAA2B,GAAG,EAAE,GAAG,IAAI,CAAA;AAE7C,qCAAqC;AACrC,MAAM,iBAAiB,GAAG,CAAC,CAAA;AAE3B,MAAM,OAAO,YAAa,SAAQ,cAAc;IAC9C;;OAEG;IACc,OAAO,CAAgB;IAExC;;OAEG;IACc,kBAAkB,CAAiB;IAEpD;;;OAGG;IACc,YAAY,CAAsB;IAE3C,YAAY,CAAiB;IACpB,WAAW,CAAQ;IAEpC,YAAa,IAAsB;QACjC,KAAK,CAAC,IAAI,CAAC,CAAA;QAEX,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC3B,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,aAAa,CAAA;QACvC,IAAI,CAAC,YAAY,GAAG,QAAQ,EAAE,CAAA;QAC9B,IAAI,CAAC,YAAY,GAAG,IAAI,cAAc,EAAE,CAAA;QACxC,IAAI,CAAC,kBAAkB,GAAG;YACxB,6BAA6B,EAAE,IAAI,CAAC,kBAAkB,EAAE,6BAA6B,IAAI,2BAA2B;YACpH,iBAAiB,EAAE,IAAI,CAAC,kBAAkB,EAAE,iBAAiB,IAAI,mBAAmB;YACpF,cAAc,EAAE,IAAI,CAAC,kBAAkB,EAAE,cAAc,IAAI,gBAAgB;SAC5E,CAAA;QACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAA;QAEnC,uBAAuB;QACvB,QAAQ,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;YAC/B,KAAK,MAAM;gBACT,MAAK;YAEP,KAAK,QAAQ,CAAC;YACd,KAAK,SAAS;gBACZ,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,KAAK,CAAC,EAAE;oBAClE,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;iBACjC;gBACD,MAAK;YACP,KAAK,YAAY;gBACf,OAAO;gBACP,MAAK;YAEP;gBACE,GAAG,CAAC,KAAK,CAAC,8BAA8B,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;gBAClE,MAAM,IAAI,SAAS,CAAC,2BAA2B,EAAE,mBAAmB,CAAC,CAAA;SACxE;QAED,+BAA+B;QAC/B,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,EAAE;YAC7B,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAA;YAEzC,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,EAAE;gBAC7B,2BAA2B;gBAC3B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC;qBACjC,KAAK,CAAC,GAAG,CAAC,EAAE;oBACX,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;gBACjB,CAAC,CAAC,CAAA;gBACJ,IAAI,CAAC,YAAY,GAAG,SAAS,CAAA;aAC9B;QACH,CAAC,CAAA;QAED,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,CAAC,IAAI,EAAE,EAAE;YAC9B,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;gBAC5B,GAAG,CAAC,KAAK,CAAC,2CAA2C,EAAE,GAAG,CAAC,CAAA;YAC7D,CAAC,CAAC,CAAA;QACJ,CAAC,CAAA;QAED,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,CAAC,GAAG,EAAE,EAAE;YAC7B,MAAM,GAAG,GAAI,GAAqB,CAAC,KAAK,CAAA;YACxC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACjB,CAAC,CAAA;QAED,MAAM,IAAI,GAAG,IAAI,CAAA;QAEjB,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,KAAK,EAAE,KAAgC,EAAE,EAAE;YAClE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAA;YAEtB,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,EAAE;gBAC1C,OAAM;aACP;YAED,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAA;QAClE,CAAC,CAAA;QAED,uEAAuE;QACvE,kEAAkE;QAClE,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YAChC,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;gBAChE,MAAM,OAAO,GAAG,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAA;gBAE5D,IAAI,OAAO,IAAI,IAAI,EAAE;oBACnB,IAAI,CAAC,UAAU,CAAC,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC,CAAA;iBAC7C;aACF;QACH,CAAC,CAAC;aACC,KAAK,CAAC,GAAG,CAAC,EAAE;YACX,GAAG,CAAC,KAAK,CAAC,iDAAiD,EAAE,GAAG,CAAC,CAAA;QACnE,CAAC,CAAC,CAAA;IACN,CAAC;IAED,aAAa;QACX,6DAA6D;IAC/D,CAAC;IAED,KAAK,CAAC,YAAY,CAAE,IAAoB,EAAE,cAAuB,IAAI;QACnE,IAAI,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,EAAE;YAC1F,IAAI;gBACF,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,mBAAmB,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,6BAA6B,EAAE,CAAC,CAAA;aACpH;YAAC,OAAO,GAAQ,EAAE;gBACjB,IAAI,GAAG,YAAY,YAAY,EAAE;oBAC/B,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAA;iBACrE;gBAED,MAAM,GAAG,CAAA;aACV;SACF;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE;YACjF,MAAM,IAAI,SAAS,CAAC,+CAA+C,EAAE,mBAAmB,CAAC,CAAA;SAC1F;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,MAAM,EAAE;YACtC,oCAAoC;YACpC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;gBACtB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;aACvB;SACF;aAAM,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,YAAY,EAAE;YACnD,qCAAqC;YACrC,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,EAAE;gBAC7B,IAAI,CAAC,YAAY,GAAG,IAAI,cAAc,EAAE,CAAA;aACzC;YAED,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;SAC/B;aAAM;YACL,GAAG,CAAC,KAAK,CAAC,8BAA8B,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;YAClE,MAAM,IAAI,SAAS,CAAC,2BAA2B,EAAE,mBAAmB,CAAC,CAAA;SACtE;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAE,IAAoB;QAClC,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAA;QAErB,OAAO,IAAI,CAAC,UAAU,GAAG,CAAC,EAAE;YAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;YAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;YACpC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAA;YAC/C,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YACpD,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;YAEhC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;SACrB;IACH,CAAC;IAED,KAAK,CAAC,SAAS;QACb,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC1C,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACxC,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;IACjD,CAAC;IAED;;OAEG;IACK,uBAAuB,CAAE,MAAkB;QACjD,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAEtC,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE;YAC9B,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE;gBACrC,8DAA8D;gBAC9D,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAA;gBACvB,IAAI,CAAC,gBAAgB,EAAE,CAAA;aACxB;YAED,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE;gBACvC,qDAAqD;gBACrD,IAAI,CAAC,KAAK,EAAE,CAAA;aACb;YAED,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE;gBAC9C,iCAAiC;gBACjC,IAAI,CAAC,eAAe,EAAE,CAAA;aACvB;SACF;QAED,OAAO,OAAO,CAAC,OAAO,CAAA;IACxB,CAAC;IAEO,KAAK,CAAC,SAAS,CAAE,IAAkB;QACzC,GAAG,CAAC,KAAK,CAAC,kBAAkB,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;QACvC,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAExD,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;IAC7C,CAAC;CACF;AAuBD,MAAM,UAAU,YAAY,CAAE,OAA4B;IACxD,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAA;IAEjE,OAAO,IAAI,YAAY,CAAC;QACtB,EAAE,EAAE,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,EAAE,EAAE;QACnE,SAAS;QACT,WAAW,EAAE,CAAC,kBAAkB,EAAE,cAAc,IAAI,gBAAgB,CAAC,GAAG,iBAAiB;QACzF,kBAAkB;QAClB,KAAK;QACL,OAAO;QACP,GAAG,EAAE,MAAM,CAAC,uBAAuB,SAAS,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;KAC9D,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"stream.js","sourceRoot":"","sources":["../../src/stream.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ {
2
+ "webRTC": "https://libp2p.github.io/js-libp2p/functions/_libp2p_webrtc.webRTC.html",
3
+ ".:webRTC": "https://libp2p.github.io/js-libp2p/functions/_libp2p_webrtc.webRTC.html",
4
+ "webRTCDirect": "https://libp2p.github.io/js-libp2p/functions/_libp2p_webrtc.webRTCDirect.html",
5
+ ".:webRTCDirect": "https://libp2p.github.io/js-libp2p/functions/_libp2p_webrtc.webRTCDirect.html"
6
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@libp2p/webrtc",
3
- "version": "3.1.9-c4eff4c5",
3
+ "version": "3.1.10",
4
4
  "description": "A libp2p transport using WebRTC connections",
5
5
  "license": "Apache-2.0 OR MIT",
6
6
  "homepage": "https://github.com/libp2p/js-libp2p/tree/master/packages/transport-webrtc#readme",
@@ -45,10 +45,10 @@
45
45
  },
46
46
  "dependencies": {
47
47
  "@chainsafe/libp2p-noise": "^13.0.0",
48
- "@libp2p/interface": "0.1.2-c4eff4c5",
49
- "@libp2p/interface-internal": "0.1.4-c4eff4c5",
50
- "@libp2p/logger": "3.0.2-c4eff4c5",
51
- "@libp2p/peer-id": "3.0.2-c4eff4c5",
48
+ "@libp2p/interface": "^0.1.2",
49
+ "@libp2p/interface-internal": "^0.1.4",
50
+ "@libp2p/logger": "^3.0.2",
51
+ "@libp2p/peer-id": "^3.0.2",
52
52
  "@multiformats/mafmt": "^12.1.2",
53
53
  "@multiformats/multiaddr": "^12.1.5",
54
54
  "abortable-iterator": "^5.0.1",
@@ -70,16 +70,16 @@
70
70
  },
71
71
  "devDependencies": {
72
72
  "@chainsafe/libp2p-yamux": "^5.0.0",
73
- "@libp2p/interface-compliance-tests": "4.0.5-c4eff4c5",
74
- "@libp2p/peer-id-factory": "3.0.3-c4eff4c5",
75
- "@libp2p/websockets": "7.0.5-c4eff4c5",
73
+ "@libp2p/interface-compliance-tests": "^4.0.5",
74
+ "@libp2p/peer-id-factory": "^3.0.3",
75
+ "@libp2p/websockets": "^7.0.6",
76
76
  "@types/sinon": "^10.0.15",
77
77
  "aegir": "^40.0.8",
78
78
  "delay": "^6.0.0",
79
79
  "it-length": "^3.0.2",
80
80
  "it-map": "^3.0.3",
81
81
  "it-pair": "^2.0.6",
82
- "libp2p": "0.46.9-c4eff4c5",
82
+ "libp2p": "^0.46.10",
83
83
  "protons": "^7.0.2",
84
84
  "sinon": "^15.1.2",
85
85
  "sinon-ts": "^1.0.0"
package/src/stream.ts CHANGED
@@ -281,6 +281,6 @@ export function createStream (options: WebRTCStreamOptions): WebRTCStream {
281
281
  dataChannelOptions,
282
282
  onEnd,
283
283
  channel,
284
- log: logger(`libp2p:mplex:stream:${direction}:${channel.id}`)
284
+ log: logger(`libp2p:webrtc:stream:${direction}:${channel.id}`)
285
285
  })
286
286
  }