@libp2p/mdns 11.0.30 → 11.0.31

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
@@ -1,5 +1,5 @@
1
1
  (function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.Libp2PMdns = factory()}(typeof self !== 'undefined' ? self : this, function () {
2
- "use strict";var Libp2PMdns=(()=>{var qs=Object.create;var ur=Object.defineProperty;var zs=Object.getOwnPropertyDescriptor;var Vs=Object.getOwnPropertyNames;var Hs=Object.getPrototypeOf,js=Object.prototype.hasOwnProperty;var ne=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var ve=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),ie=(t,e)=>{for(var r in e)ur(t,r,{get:e[r],enumerable:!0})},ki=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Vs(e))!js.call(t,i)&&i!==r&&ur(t,i,{get:()=>e[i],enumerable:!(n=zs(e,i))||n.enumerable});return t};var Ut=(t,e,r)=>(r=t!=null?qs(Hs(t)):{},ki(e||!t||!t.__esModule?ur(r,"default",{value:t,enumerable:!0}):r,t)),$s=t=>ki(ur({},"__esModule",{value:!0}),t);var Ki=ve(Qr=>{"use strict";Qr.toString=function(t){switch(t){case 1:return"A";case 10:return"NULL";case 28:return"AAAA";case 18:return"AFSDB";case 42:return"APL";case 257:return"CAA";case 60:return"CDNSKEY";case 59:return"CDS";case 37:return"CERT";case 5:return"CNAME";case 49:return"DHCID";case 32769:return"DLV";case 39:return"DNAME";case 48:return"DNSKEY";case 43:return"DS";case 55:return"HIP";case 13:return"HINFO";case 45:return"IPSECKEY";case 25:return"KEY";case 36:return"KX";case 29:return"LOC";case 15:return"MX";case 35:return"NAPTR";case 2:return"NS";case 47:return"NSEC";case 50:return"NSEC3";case 51:return"NSEC3PARAM";case 12:return"PTR";case 46:return"RRSIG";case 17:return"RP";case 24:return"SIG";case 6:return"SOA";case 99:return"SPF";case 33:return"SRV";case 44:return"SSHFP";case 32768:return"TA";case 249:return"TKEY";case 52:return"TLSA";case 250:return"TSIG";case 16:return"TXT";case 252:return"AXFR";case 251:return"IXFR";case 41:return"OPT";case 255:return"ANY"}return"UNKNOWN_"+t};Qr.toType=function(t){switch(t.toUpperCase()){case"A":return 1;case"NULL":return 10;case"AAAA":return 28;case"AFSDB":return 18;case"APL":return 42;case"CAA":return 257;case"CDNSKEY":return 60;case"CDS":return 59;case"CERT":return 37;case"CNAME":return 5;case"DHCID":return 49;case"DLV":return 32769;case"DNAME":return 39;case"DNSKEY":return 48;case"DS":return 43;case"HIP":return 55;case"HINFO":return 13;case"IPSECKEY":return 45;case"KEY":return 25;case"KX":return 36;case"LOC":return 29;case"MX":return 15;case"NAPTR":return 35;case"NS":return 2;case"NSEC":return 47;case"NSEC3":return 50;case"NSEC3PARAM":return 51;case"PTR":return 12;case"RRSIG":return 46;case"RP":return 17;case"SIG":return 24;case"SOA":return 6;case"SPF":return 99;case"SRV":return 33;case"SSHFP":return 44;case"TA":return 32768;case"TKEY":return 249;case"TLSA":return 52;case"TSIG":return 250;case"TXT":return 16;case"AXFR":return 252;case"IXFR":return 251;case"OPT":return 41;case"ANY":return 255;case"*":return 255}return t.toUpperCase().startsWith("UNKNOWN_")?parseInt(t.slice(8)):0}});var qi=ve(Jr=>{"use strict";Jr.toString=function(t){switch(t){case 0:return"NOERROR";case 1:return"FORMERR";case 2:return"SERVFAIL";case 3:return"NXDOMAIN";case 4:return"NOTIMP";case 5:return"REFUSED";case 6:return"YXDOMAIN";case 7:return"YXRRSET";case 8:return"NXRRSET";case 9:return"NOTAUTH";case 10:return"NOTZONE";case 11:return"RCODE_11";case 12:return"RCODE_12";case 13:return"RCODE_13";case 14:return"RCODE_14";case 15:return"RCODE_15"}return"RCODE_"+t};Jr.toRcode=function(t){switch(t.toUpperCase()){case"NOERROR":return 0;case"FORMERR":return 1;case"SERVFAIL":return 2;case"NXDOMAIN":return 3;case"NOTIMP":return 4;case"REFUSED":return 5;case"YXDOMAIN":return 6;case"YXRRSET":return 7;case"NXRRSET":return 8;case"NOTAUTH":return 9;case"NOTZONE":return 10;case"RCODE_11":return 11;case"RCODE_12":return 12;case"RCODE_13":return 13;case"RCODE_14":return 14;case"RCODE_15":return 15}return 0}});var zi=ve(en=>{"use strict";en.toString=function(t){switch(t){case 0:return"QUERY";case 1:return"IQUERY";case 2:return"STATUS";case 3:return"OPCODE_3";case 4:return"NOTIFY";case 5:return"UPDATE";case 6:return"OPCODE_6";case 7:return"OPCODE_7";case 8:return"OPCODE_8";case 9:return"OPCODE_9";case 10:return"OPCODE_10";case 11:return"OPCODE_11";case 12:return"OPCODE_12";case 13:return"OPCODE_13";case 14:return"OPCODE_14";case 15:return"OPCODE_15"}return"OPCODE_"+t};en.toOpcode=function(t){switch(t.toUpperCase()){case"QUERY":return 0;case"IQUERY":return 1;case"STATUS":return 2;case"OPCODE_3":return 3;case"NOTIFY":return 4;case"UPDATE":return 5;case"OPCODE_6":return 6;case"OPCODE_7":return 7;case"OPCODE_8":return 8;case"OPCODE_9":return 9;case"OPCODE_10":return 10;case"OPCODE_11":return 11;case"OPCODE_12":return 12;case"OPCODE_13":return 13;case"OPCODE_14":return 14;case"OPCODE_15":return 15}return 0}});var Vi=ve(tn=>{"use strict";tn.toString=function(t){switch(t){case 1:return"IN";case 2:return"CS";case 3:return"CH";case 4:return"HS";case 255:return"ANY"}return"UNKNOWN_"+t};tn.toClass=function(t){switch(t.toUpperCase()){case"IN":return 1;case"CS":return 2;case"CH":return 3;case"HS":return 4;case"ANY":return 255}return 0}});var Hi=ve(rn=>{"use strict";rn.toString=function(t){switch(t){case 1:return"LLQ";case 2:return"UL";case 3:return"NSID";case 5:return"DAU";case 6:return"DHU";case 7:return"N3U";case 8:return"CLIENT_SUBNET";case 9:return"EXPIRE";case 10:return"COOKIE";case 11:return"TCP_KEEPALIVE";case 12:return"PADDING";case 13:return"CHAIN";case 14:return"KEY_TAG";case 26946:return"DEVICEID"}return t<0?null:`OPTION_${t}`};rn.toCode=function(t){if(typeof t=="number")return t;if(!t)return-1;switch(t.toUpperCase()){case"OPTION_0":return 0;case"LLQ":return 1;case"UL":return 2;case"NSID":return 3;case"OPTION_4":return 4;case"DAU":return 5;case"DHU":return 6;case"N3U":return 7;case"CLIENT_SUBNET":return 8;case"EXPIRE":return 9;case"COOKIE":return 10;case"TCP_KEEPALIVE":return 11;case"PADDING":return 12;case"CHAIN":return 13;case"KEY_TAG":return 14;case"DEVICEID":return 26946;case"OPTION_65535":return 65535}let e=t.match(/_(\d+)$/);return e?parseInt(e[1],10):-1}});var Gi=ve(($i,nn)=>{var ji=function(t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.decode=l,t.encode=m,t.familyOf=u,t.name=void 0,t.sizeOf=c,t.v6=t.v4=void 0;let e=/^(\d{1,3}\.){3,3}\d{1,3}$/,r=4,n=/^(::)?(((\d{1,3}\.){3}(\d{1,3}){1})?([0-9a-f]){0,4}:{0,2}){1,8}(::)?$/i,i=16,o={name:"v4",size:r,isFormat:d=>e.test(d),encode(d,p,h){h=~~h,p=p||new Uint8Array(h+r);let y=d.length,g=0;for(let f=0;f<y;){let x=d.charCodeAt(f++);x===46?(p[h++]=g,g=0):g=g*10+(x-48)}return p[h]=g,p},decode(d,p){return p=~~p,`${d[p++]}.${d[p++]}.${d[p++]}.${d[p]}`}};t.v4=o;let s={name:"v6",size:i,isFormat:d=>d.length>0&&n.test(d),encode(d,p,h){h=~~h;let y=h+i,g=-1,f=0,x=0,b=!0,L=!1;p=p||new Uint8Array(h+i);for(let T=0;T<d.length;T++){let B=d.charCodeAt(T);B===58?(b?g!==-1?(h<y&&(p[h]=0),h<y-1&&(p[h+1]=0),h+=2):h<y&&(g=h):(L===!0?(h<y&&(p[h]=x),h++):(h<y&&(p[h]=f>>8),h<y-1&&(p[h+1]=f&255),h+=2),f=0,x=0),b=!0,L=!1):B===46?(h<y&&(p[h]=x),h++,x=0,f=0,b=!1,L=!0):(b=!1,B>=97?B-=87:B>=65?B-=55:(B-=48,x=x*10+B),f=(f<<4)+B)}if(b===!1)L===!0?(h<y&&(p[h]=x),h++):(h<y&&(p[h]=f>>8),h<y-1&&(p[h+1]=f&255),h+=2);else if(g===0)h<y&&(p[h]=0),h<y-1&&(p[h+1]=0),h+=2;else if(g!==-1){h+=2;for(let T=Math.min(h-1,y-1);T>=g+2;T--)p[T]=p[T-2];p[g]=0,p[g+1]=0,g=h}if(g!==h&&g!==-1)for(h>y-2&&(h=y-2);y>g;)p[--y]=h<y&&h>g?p[--h]:0;else for(;h<y;)p[h++]=0;return p},decode(d,p){p=~~p;let h="";for(let y=0;y<i;y+=2)y!==0&&(h+=":"),h+=(d[p+y]<<8|d[p+y+1]).toString(16);return h.replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}};t.v6=s;let a="ip";t.name=a;function c(d){if(o.isFormat(d))return o.size;if(s.isFormat(d))return s.size;throw Error(`Invalid ip address: ${d}`)}function u(d){return c(d)===o.size?1:2}function m(d,p,h){h=~~h;let y=c(d);return typeof p=="function"&&(p=p(h+y)),y===o.size?o.encode(d,p,h):s.encode(d,p,h)}function l(d,p,h){if(p=~~p,h=h||d.length-p,h===o.size)return o.decode(d,p,h);if(h===s.size)return s.decode(d,p,h);throw Error(`Invalid buffer size needs to be ${o.size} for v4 or ${s.size} for v6.`)}return"default"in t?t.default:t}({});typeof define=="function"&&define.amd?define([],function(){return ji}):typeof nn=="object"&&typeof $i=="object"&&(nn.exports=ji)});var Wi=ve(v=>{"use strict";var S=ne("buffer").Buffer,ze=Ki(),Gs=qi(),Ys=zi(),gr=Vi(),on=Hi(),lt=Gi(),Xs=0,Yi=32768,sn=32768,Ws=~sn,Xi=32768,Zs=~Xi,w=v.name={};w.encode=function(t,e,r,{mail:n=!1}={}){e||(e=S.alloc(w.encodingLength(t))),r||(r=0);let i=r,o=t.replace(/^\.|\.$/gm,"");if(o.length){let s=[];if(n){let a="";o.split(".").forEach(c=>{c.endsWith("\\")?a+=(a.length?".":"")+c.slice(0,-1):s.length===0&&a.length?s.push(a+"."+c):s.push(c)})}else s=o.split(".");for(let a=0;a<s.length;a++){let c=e.write(s[a],r+1);e[r]=c,r+=c+1}}return e[r++]=0,w.encode.bytes=r-i,e};w.encode.bytes=0;w.decode=function(t,e,{mail:r=!1}={}){e||(e=0);let n=[],i=e,o=0,s=0,a=!1;for(;;){if(e>=t.length)throw new Error("Cannot decode name (buffer overflow)");let c=t[e++];if(s+=a?0:1,c===0)break;if((c&192)===0){if(e+c>t.length)throw new Error("Cannot decode name (buffer overflow)");if(o+=c+1,o>254)throw new Error("Cannot decode name (name too long)");let u=t.toString("utf-8",e,e+c);r&&(u=u.replace(/\./g,"\\.")),n.push(u),e+=c,s+=a?0:c}else if((c&192)===192){if(e+1>t.length)throw new Error("Cannot decode name (buffer overflow)");let u=t.readUInt16BE(e-1)-49152;if(u>=i)throw new Error("Cannot decode name (bad pointer)");e=u,i=u,s+=a?0:1,a=!0}else throw new Error("Cannot decode name (bad label)")}return w.decode.bytes=s,n.length===0?".":n.join(".")};w.decode.bytes=0;w.encodingLength=function(t){return t==="."||t===".."?1:S.byteLength(t.replace(/^\.|\.$/gm,""))+2};var O={};O.encode=function(t,e,r){e||(e=S.alloc(O.encodingLength(t))),r||(r=0);let n=e.write(t,r+1);return e[r]=n,O.encode.bytes=n+1,e};O.encode.bytes=0;O.decode=function(t,e){e||(e=0);let r=t[e],n=t.toString("utf-8",e+1,e+1+r);return O.decode.bytes=r+1,n};O.decode.bytes=0;O.encodingLength=function(t){return S.byteLength(t)+1};var Ee={};Ee.encode=function(t,e,r){e||(e=Ee.encodingLength(t)),r||(r=0);let n=(t.flags||0)&32767,i=t.type==="response"?Yi:Xs;return e.writeUInt16BE(t.id||0,r),e.writeUInt16BE(n|i,r+2),e.writeUInt16BE(t.questions.length,r+4),e.writeUInt16BE(t.answers.length,r+6),e.writeUInt16BE(t.authorities.length,r+8),e.writeUInt16BE(t.additionals.length,r+10),e};Ee.encode.bytes=12;Ee.decode=function(t,e){if(e||(e=0),t.length<12)throw new Error("Header must be 12 bytes");let r=t.readUInt16BE(e+2);return{id:t.readUInt16BE(e),type:r&Yi?"response":"query",flags:r&32767,flag_qr:(r>>15&1)===1,opcode:Ys.toString(r>>11&15),flag_aa:(r>>10&1)===1,flag_tc:(r>>9&1)===1,flag_rd:(r>>8&1)===1,flag_ra:(r>>7&1)===1,flag_z:(r>>6&1)===1,flag_ad:(r>>5&1)===1,flag_cd:(r>>4&1)===1,rcode:Gs.toString(r&15),questions:new Array(t.readUInt16BE(e+4)),answers:new Array(t.readUInt16BE(e+6)),authorities:new Array(t.readUInt16BE(e+8)),additionals:new Array(t.readUInt16BE(e+10))}};Ee.decode.bytes=12;Ee.encodingLength=function(){return 12};var Pe=v.unknown={};Pe.encode=function(t,e,r){return e||(e=S.alloc(Pe.encodingLength(t))),r||(r=0),e.writeUInt16BE(t.length,r),t.copy(e,r+2),Pe.encode.bytes=t.length+2,e};Pe.encode.bytes=0;Pe.decode=function(t,e){e||(e=0);let r=t.readUInt16BE(e),n=t.slice(e+2,e+2+r);return Pe.decode.bytes=r+2,n};Pe.decode.bytes=0;Pe.encodingLength=function(t){return t.length+2};var Re=v.ns={};Re.encode=function(t,e,r){return e||(e=S.alloc(Re.encodingLength(t))),r||(r=0),w.encode(t,e,r+2),e.writeUInt16BE(w.encode.bytes,r),Re.encode.bytes=w.encode.bytes+2,e};Re.encode.bytes=0;Re.decode=function(t,e){e||(e=0);let r=t.readUInt16BE(e),n=w.decode(t,e+2);return Re.decode.bytes=r+2,n};Re.decode.bytes=0;Re.encodingLength=function(t){return w.encodingLength(t)+2};var ke=v.soa={};ke.encode=function(t,e,r){e||(e=S.alloc(ke.encodingLength(t))),r||(r=0);let n=r;return r+=2,w.encode(t.mname,e,r),r+=w.encode.bytes,w.encode(t.rname,e,r,{mail:!0}),r+=w.encode.bytes,e.writeUInt32BE(t.serial||0,r),r+=4,e.writeUInt32BE(t.refresh||0,r),r+=4,e.writeUInt32BE(t.retry||0,r),r+=4,e.writeUInt32BE(t.expire||0,r),r+=4,e.writeUInt32BE(t.minimum||0,r),r+=4,e.writeUInt16BE(r-n-2,n),ke.encode.bytes=r-n,e};ke.encode.bytes=0;ke.decode=function(t,e){e||(e=0);let r=e,n={};return e+=2,n.mname=w.decode(t,e),e+=w.decode.bytes,n.rname=w.decode(t,e,{mail:!0}),e+=w.decode.bytes,n.serial=t.readUInt32BE(e),e+=4,n.refresh=t.readUInt32BE(e),e+=4,n.retry=t.readUInt32BE(e),e+=4,n.expire=t.readUInt32BE(e),e+=4,n.minimum=t.readUInt32BE(e),e+=4,ke.decode.bytes=e-r,n};ke.decode.bytes=0;ke.encodingLength=function(t){return 22+w.encodingLength(t.mname)+w.encodingLength(t.rname)};var De=v.txt={};De.encode=function(t,e,r){Array.isArray(t)||(t=[t]);for(let i=0;i<t.length;i++)if(typeof t[i]=="string"&&(t[i]=S.from(t[i])),!S.isBuffer(t[i]))throw new Error("Must be a Buffer");e||(e=S.alloc(De.encodingLength(t))),r||(r=0);let n=r;return r+=2,t.forEach(function(i){e[r++]=i.length,i.copy(e,r,0,i.length),r+=i.length}),e.writeUInt16BE(r-n-2,n),De.encode.bytes=r-n,e};De.encode.bytes=0;De.decode=function(t,e){e||(e=0);let r=e,n=t.readUInt16BE(e);e+=2;let i=[];for(;n>0;){let o=t[e++];if(--n,n<o)throw new Error("Buffer overflow");i.push(t.slice(e,e+o)),e+=o,n-=o}return De.decode.bytes=e-r,i};De.decode.bytes=0;De.encodingLength=function(t){Array.isArray(t)||(t=[t]);let e=2;return t.forEach(function(r){typeof r=="string"?e+=S.byteLength(r)+1:e+=r.length+1}),e};var _e=v.null={};_e.encode=function(t,e,r){e||(e=S.alloc(_e.encodingLength(t))),r||(r=0),typeof t=="string"&&(t=S.from(t)),t||(t=S.alloc(0));let n=r;r+=2;let i=t.length;return t.copy(e,r,0,i),r+=i,e.writeUInt16BE(r-n-2,n),_e.encode.bytes=r-n,e};_e.encode.bytes=0;_e.decode=function(t,e){e||(e=0);let r=e,n=t.readUInt16BE(e);e+=2;let i=t.slice(e,e+n);return e+=n,_e.decode.bytes=e-r,i};_e.decode.bytes=0;_e.encodingLength=function(t){return t?(S.isBuffer(t)?t.length:S.byteLength(t))+2:2};var Me=v.hinfo={};Me.encode=function(t,e,r){e||(e=S.alloc(Me.encodingLength(t))),r||(r=0);let n=r;return r+=2,O.encode(t.cpu,e,r),r+=O.encode.bytes,O.encode(t.os,e,r),r+=O.encode.bytes,e.writeUInt16BE(r-n-2,n),Me.encode.bytes=r-n,e};Me.encode.bytes=0;Me.decode=function(t,e){e||(e=0);let r=e,n={};return e+=2,n.cpu=O.decode(t,e),e+=O.decode.bytes,n.os=O.decode(t,e),e+=O.decode.bytes,Me.decode.bytes=e-r,n};Me.decode.bytes=0;Me.encodingLength=function(t){return O.encodingLength(t.cpu)+O.encodingLength(t.os)+2};var we=v.ptr={},Qs=v.cname=we,Js=v.dname=we;we.encode=function(t,e,r){return e||(e=S.alloc(we.encodingLength(t))),r||(r=0),w.encode(t,e,r+2),e.writeUInt16BE(w.encode.bytes,r),we.encode.bytes=w.encode.bytes+2,e};we.encode.bytes=0;we.decode=function(t,e){e||(e=0);let r=w.decode(t,e+2);return we.decode.bytes=w.decode.bytes+2,r};we.decode.bytes=0;we.encodingLength=function(t){return w.encodingLength(t)+2};var Fe=v.srv={};Fe.encode=function(t,e,r){e||(e=S.alloc(Fe.encodingLength(t))),r||(r=0),e.writeUInt16BE(t.priority||0,r+2),e.writeUInt16BE(t.weight||0,r+4),e.writeUInt16BE(t.port||0,r+6),w.encode(t.target,e,r+8);let n=w.encode.bytes+6;return e.writeUInt16BE(n,r),Fe.encode.bytes=n+2,e};Fe.encode.bytes=0;Fe.decode=function(t,e){e||(e=0);let r=t.readUInt16BE(e),n={};return n.priority=t.readUInt16BE(e+2),n.weight=t.readUInt16BE(e+4),n.port=t.readUInt16BE(e+6),n.target=w.decode(t,e+8),Fe.decode.bytes=r+2,n};Fe.decode.bytes=0;Fe.encodingLength=function(t){return 8+w.encodingLength(t.target)};var ae=v.caa={};ae.ISSUER_CRITICAL=128;ae.encode=function(t,e,r){let n=ae.encodingLength(t);return e||(e=S.alloc(ae.encodingLength(t))),r||(r=0),t.issuerCritical&&(t.flags=ae.ISSUER_CRITICAL),e.writeUInt16BE(n-2,r),r+=2,e.writeUInt8(t.flags||0,r),r+=1,O.encode(t.tag,e,r),r+=O.encode.bytes,e.write(t.value,r),r+=S.byteLength(t.value),ae.encode.bytes=n,e};ae.encode.bytes=0;ae.decode=function(t,e){e||(e=0);let r=t.readUInt16BE(e);e+=2;let n=e,i={};return i.flags=t.readUInt8(e),e+=1,i.tag=O.decode(t,e),e+=O.decode.bytes,i.value=t.toString("utf-8",e,n+r),i.issuerCritical=!!(i.flags&ae.ISSUER_CRITICAL),ae.decode.bytes=r+2,i};ae.decode.bytes=0;ae.encodingLength=function(t){return O.encodingLength(t.tag)+O.encodingLength(t.value)+2};var et=v.mx={};et.encode=function(t,e,r){e||(e=S.alloc(et.encodingLength(t))),r||(r=0);let n=r;return r+=2,e.writeUInt16BE(t.preference||0,r),r+=2,w.encode(t.exchange,e,r),r+=w.encode.bytes,e.writeUInt16BE(r-n-2,n),et.encode.bytes=r-n,e};et.encode.bytes=0;et.decode=function(t,e){e||(e=0);let r=e,n={};return e+=2,n.preference=t.readUInt16BE(e),e+=2,n.exchange=w.decode(t,e),e+=w.decode.bytes,et.decode.bytes=e-r,n};et.encodingLength=function(t){return 4+w.encodingLength(t.exchange)};var Ke=v.a={};Ke.encode=function(t,e,r){return e||(e=S.alloc(Ke.encodingLength(t))),r||(r=0),e.writeUInt16BE(4,r),r+=2,lt.v4.encode(t,e,r),Ke.encode.bytes=6,e};Ke.encode.bytes=0;Ke.decode=function(t,e){e||(e=0),e+=2;let r=lt.v4.decode(t,e);return Ke.decode.bytes=6,r};Ke.decode.bytes=0;Ke.encodingLength=function(){return 6};var qe=v.aaaa={};qe.encode=function(t,e,r){return e||(e=S.alloc(qe.encodingLength(t))),r||(r=0),e.writeUInt16BE(16,r),r+=2,lt.v6.encode(t,e,r),qe.encode.bytes=18,e};qe.encode.bytes=0;qe.decode=function(t,e){e||(e=0),e+=2;let r=lt.v6.decode(t,e);return qe.decode.bytes=18,r};qe.decode.bytes=0;qe.encodingLength=function(){return 18};var oe=v.option={};oe.encode=function(t,e,r){e||(e=S.alloc(oe.encodingLength(t))),r||(r=0);let n=r,i=on.toCode(t.code);if(e.writeUInt16BE(i,r),r+=2,t.data)e.writeUInt16BE(t.data.length,r),r+=2,t.data.copy(e,r),r+=t.data.length;else switch(i){case 8:let o=t.sourcePrefixLength||0,s=t.family||lt.familyOf(t.ip),a=lt.encode(t.ip,S.alloc),c=Math.ceil(o/8);e.writeUInt16BE(c+4,r),r+=2,e.writeUInt16BE(s,r),r+=2,e.writeUInt8(o,r++),e.writeUInt8(t.scopePrefixLength||0,r++),a.copy(e,r,0,c),r+=c;break;case 11:t.timeout?(e.writeUInt16BE(2,r),r+=2,e.writeUInt16BE(t.timeout,r),r+=2):(e.writeUInt16BE(0,r),r+=2);break;case 12:let u=t.length||0;e.writeUInt16BE(u,r),r+=2,e.fill(0,r,r+u),r+=u;break;case 14:let m=t.tags.length*2;e.writeUInt16BE(m,r),r+=2;for(let l of t.tags)e.writeUInt16BE(l,r),r+=2;break;default:throw new Error(`Unknown roption code: ${t.code}`)}return oe.encode.bytes=r-n,e};oe.encode.bytes=0;oe.decode=function(t,e){e||(e=0);let r={};r.code=t.readUInt16BE(e),r.type=on.toString(r.code),e+=2;let n=t.readUInt16BE(e);switch(e+=2,r.data=t.slice(e,e+n),r.code){case 8:r.family=t.readUInt16BE(e),e+=2,r.sourcePrefixLength=t.readUInt8(e++),r.scopePrefixLength=t.readUInt8(e++);let i=S.alloc(r.family===1?4:16);t.copy(i,0,e,e+n-4),r.ip=lt.decode(i);break;case 11:n>0&&(r.timeout=t.readUInt16BE(e),e+=2);break;case 14:r.tags=[];for(let o=0;o<n;o+=2)r.tags.push(t.readUInt16BE(e)),e+=2}return oe.decode.bytes=n+4,r};oe.decode.bytes=0;oe.encodingLength=function(t){if(t.data)return t.data.length+4;switch(on.toCode(t.code)){case 8:let r=t.sourcePrefixLength||0;return Math.ceil(r/8)+8;case 11:return typeof t.timeout=="number"?6:4;case 12:return t.length+4;case 14:return 4+t.tags.length*2}throw new Error(`Unknown roption code: ${t.code}`)};var de=v.opt={};de.encode=function(t,e,r){e||(e=S.alloc(de.encodingLength(t))),r||(r=0);let n=r,i=Tt(t,oe);return e.writeUInt16BE(i,r),r=Gt(t,oe,e,r+2),de.encode.bytes=r-n,e};de.encode.bytes=0;de.decode=function(t,e){e||(e=0);let r=e,n=[],i=t.readUInt16BE(e);e+=2;let o=0;for(;i>0;)n[o++]=oe.decode(t,e),e+=oe.decode.bytes,i-=oe.decode.bytes;return de.decode.bytes=e-r,n};de.decode.bytes=0;de.encodingLength=function(t){return 2+Tt(t||[],oe)};var J=v.dnskey={};J.PROTOCOL_DNSSEC=3;J.ZONE_KEY=128;J.SECURE_ENTRYPOINT=32768;J.encode=function(t,e,r){e||(e=S.alloc(J.encodingLength(t))),r||(r=0);let n=r,i=t.key;if(!S.isBuffer(i))throw new Error("Key must be a Buffer");return r+=2,e.writeUInt16BE(t.flags,r),r+=2,e.writeUInt8(J.PROTOCOL_DNSSEC,r),r+=1,e.writeUInt8(t.algorithm,r),r+=1,i.copy(e,r,0,i.length),r+=i.length,J.encode.bytes=r-n,e.writeUInt16BE(J.encode.bytes-2,n),e};J.encode.bytes=0;J.decode=function(t,e){e||(e=0);let r=e;var n={},i=t.readUInt16BE(e);if(e+=2,n.flags=t.readUInt16BE(e),e+=2,t.readUInt8(e)!==J.PROTOCOL_DNSSEC)throw new Error("Protocol must be 3");return e+=1,n.algorithm=t.readUInt8(e),e+=1,n.key=t.slice(e,r+i+2),e+=n.key.length,J.decode.bytes=e-r,n};J.decode.bytes=0;J.encodingLength=function(t){return 6+S.byteLength(t.key)};var Se=v.rrsig={};Se.encode=function(t,e,r){e||(e=S.alloc(Se.encodingLength(t))),r||(r=0);let n=r,i=t.signature;if(!S.isBuffer(i))throw new Error("Signature must be a Buffer");return r+=2,e.writeUInt16BE(ze.toType(t.typeCovered),r),r+=2,e.writeUInt8(t.algorithm,r),r+=1,e.writeUInt8(t.labels,r),r+=1,e.writeUInt32BE(t.originalTTL,r),r+=4,e.writeUInt32BE(t.expiration,r),r+=4,e.writeUInt32BE(t.inception,r),r+=4,e.writeUInt16BE(t.keyTag,r),r+=2,w.encode(t.signersName,e,r),r+=w.encode.bytes,i.copy(e,r,0,i.length),r+=i.length,Se.encode.bytes=r-n,e.writeUInt16BE(Se.encode.bytes-2,n),e};Se.encode.bytes=0;Se.decode=function(t,e){e||(e=0);let r=e;var n={},i=t.readUInt16BE(e);return e+=2,n.typeCovered=ze.toString(t.readUInt16BE(e)),e+=2,n.algorithm=t.readUInt8(e),e+=1,n.labels=t.readUInt8(e),e+=1,n.originalTTL=t.readUInt32BE(e),e+=4,n.expiration=t.readUInt32BE(e),e+=4,n.inception=t.readUInt32BE(e),e+=4,n.keyTag=t.readUInt16BE(e),e+=2,n.signersName=w.decode(t,e),e+=w.decode.bytes,n.signature=t.slice(e,r+i+2),e+=n.signature.length,Se.decode.bytes=e-r,n};Se.decode.bytes=0;Se.encodingLength=function(t){return 20+w.encodingLength(t.signersName)+S.byteLength(t.signature)};var Ae=v.rp={};Ae.encode=function(t,e,r){e||(e=S.alloc(Ae.encodingLength(t))),r||(r=0);let n=r;return r+=2,w.encode(t.mbox||".",e,r,{mail:!0}),r+=w.encode.bytes,w.encode(t.txt||".",e,r),r+=w.encode.bytes,Ae.encode.bytes=r-n,e.writeUInt16BE(Ae.encode.bytes-2,n),e};Ae.encode.bytes=0;Ae.decode=function(t,e){e||(e=0);let r=e,n={};return e+=2,n.mbox=w.decode(t,e,{mail:!0})||".",e+=w.decode.bytes,n.txt=w.decode(t,e)||".",e+=w.decode.bytes,Ae.decode.bytes=e-r,n};Ae.decode.bytes=0;Ae.encodingLength=function(t){return 2+w.encodingLength(t.mbox||".")+w.encodingLength(t.txt||".")};var j={};j.encode=function(t,e,r){e||(e=S.alloc(j.encodingLength(t))),r||(r=0);let n=r;for(var i=[],o=0;o<t.length;o++){var s=ze.toType(t[o]);i[s>>8]===void 0&&(i[s>>8]=[]),i[s>>8][s>>3&31]|=1<<7-(s&7)}for(o=0;o<i.length;o++)if(i[o]!==void 0){var a=S.from(i[o]);e.writeUInt8(o,r),r+=1,e.writeUInt8(a.length,r),r+=1,a.copy(e,r),r+=a.length}return j.encode.bytes=r-n,e};j.encode.bytes=0;j.decode=function(t,e,r){e||(e=0);let n=e;for(var i=[];e-n<r;){var o=t.readUInt8(e);e+=1;var s=t.readUInt8(e);e+=1;for(var a=0;a<s;a++)for(var c=t.readUInt8(e+a),u=0;u<8;u++)if(c&1<<7-u){var m=ze.toString(o<<8|a<<3|u);i.push(m)}e+=s}return j.decode.bytes=e-n,i};j.decode.bytes=0;j.encodingLength=function(t){for(var e=[],r=0;r<t.length;r++){var n=ze.toType(t[r]);e[n>>8]=Math.max(e[n>>8]||0,n&255)}var i=0;for(r=0;r<e.length;r++)e[r]!==void 0&&(i+=2+Math.ceil((e[r]+1)/8));return i};var Be=v.nsec={};Be.encode=function(t,e,r){e||(e=S.alloc(Be.encodingLength(t))),r||(r=0);let n=r;return r+=2,w.encode(t.nextDomain,e,r),r+=w.encode.bytes,j.encode(t.rrtypes,e,r),r+=j.encode.bytes,Be.encode.bytes=r-n,e.writeUInt16BE(Be.encode.bytes-2,n),e};Be.encode.bytes=0;Be.decode=function(t,e){e||(e=0);let r=e;var n={},i=t.readUInt16BE(e);return e+=2,n.nextDomain=w.decode(t,e),e+=w.decode.bytes,n.rrtypes=j.decode(t,e,i-(e-r)),e+=j.decode.bytes,Be.decode.bytes=e-r,n};Be.decode.bytes=0;Be.encodingLength=function(t){return 2+w.encodingLength(t.nextDomain)+j.encodingLength(t.rrtypes)};var Ue=v.nsec3={};Ue.encode=function(t,e,r){e||(e=S.alloc(Ue.encodingLength(t))),r||(r=0);let n=r,i=t.salt;if(!S.isBuffer(i))throw new Error("salt must be a Buffer");let o=t.nextDomain;if(!S.isBuffer(o))throw new Error("nextDomain must be a Buffer");return r+=2,e.writeUInt8(t.algorithm,r),r+=1,e.writeUInt8(t.flags,r),r+=1,e.writeUInt16BE(t.iterations,r),r+=2,e.writeUInt8(i.length,r),r+=1,i.copy(e,r,0,i.length),r+=i.length,e.writeUInt8(o.length,r),r+=1,o.copy(e,r,0,o.length),r+=o.length,j.encode(t.rrtypes,e,r),r+=j.encode.bytes,Ue.encode.bytes=r-n,e.writeUInt16BE(Ue.encode.bytes-2,n),e};Ue.encode.bytes=0;Ue.decode=function(t,e){e||(e=0);let r=e;var n={},i=t.readUInt16BE(e);e+=2,n.algorithm=t.readUInt8(e),e+=1,n.flags=t.readUInt8(e),e+=1,n.iterations=t.readUInt16BE(e),e+=2;let o=t.readUInt8(e);e+=1,n.salt=t.slice(e,e+o),e+=o;let s=t.readUInt8(e);return e+=1,n.nextDomain=t.slice(e,e+s),e+=s,n.rrtypes=j.decode(t,e,i-(e-r)),e+=j.decode.bytes,Ue.decode.bytes=e-r,n};Ue.decode.bytes=0;Ue.encodingLength=function(t){return 8+t.salt.length+t.nextDomain.length+j.encodingLength(t.rrtypes)};var Le=v.ds={};Le.encode=function(t,e,r){e||(e=S.alloc(Le.encodingLength(t))),r||(r=0);let n=r,i=t.digest;if(!S.isBuffer(i))throw new Error("Digest must be a Buffer");return r+=2,e.writeUInt16BE(t.keyTag,r),r+=2,e.writeUInt8(t.algorithm,r),r+=1,e.writeUInt8(t.digestType,r),r+=1,i.copy(e,r,0,i.length),r+=i.length,Le.encode.bytes=r-n,e.writeUInt16BE(Le.encode.bytes-2,n),e};Le.encode.bytes=0;Le.decode=function(t,e){e||(e=0);let r=e;var n={},i=t.readUInt16BE(e);return e+=2,n.keyTag=t.readUInt16BE(e),e+=2,n.algorithm=t.readUInt8(e),e+=1,n.digestType=t.readUInt8(e),e+=1,n.digest=t.slice(e,r+i+2),e+=n.digest.length,Le.decode.bytes=e-r,n};Le.decode.bytes=0;Le.encodingLength=function(t){return 6+S.byteLength(t.digest)};var ue=v.sshfp={};ue.getFingerprintLengthForHashType=function(e){switch(e){case 1:return 20;case 2:return 32}};ue.encode=function(e,r,n){r||(r=S.alloc(ue.encodingLength(e))),n||(n=0);let i=n;n+=2,r[n]=e.algorithm,n+=1,r[n]=e.hash,n+=1;let o=S.from(e.fingerprint.toUpperCase(),"hex");if(o.length!==ue.getFingerprintLengthForHashType(e.hash))throw new Error("Invalid fingerprint length");return o.copy(r,n),n+=o.byteLength,ue.encode.bytes=n-i,r.writeUInt16BE(ue.encode.bytes-2,i),r};ue.encode.bytes=0;ue.decode=function(e,r){r||(r=0);let n=r,i={};r+=2,i.algorithm=e[r],r+=1,i.hash=e[r],r+=1;let o=ue.getFingerprintLengthForHashType(i.hash);return i.fingerprint=e.slice(r,r+o).toString("hex").toUpperCase(),r+=o,ue.decode.bytes=r-n,i};ue.decode.bytes=0;ue.encodingLength=function(t){return 4+S.from(t.fingerprint,"hex").byteLength};var Te=v.naptr={};Te.encode=function(t,e,r){e||(e=S.alloc(Te.encodingLength(t))),r||(r=0);let n=r;return r+=2,e.writeUInt16BE(t.order||0,r),r+=2,e.writeUInt16BE(t.preference||0,r),r+=2,O.encode(t.flags,e,r),r+=O.encode.bytes,O.encode(t.services,e,r),r+=O.encode.bytes,O.encode(t.regexp,e,r),r+=O.encode.bytes,w.encode(t.replacement,e,r),r+=w.encode.bytes,Te.encode.bytes=r-n,e.writeUInt16BE(Te.encode.bytes-2,n),e};Te.encode.bytes=0;Te.decode=function(t,e){e||(e=0);let r=e,n={};return e+=2,n.order=t.readUInt16BE(e),e+=2,n.preference=t.readUInt16BE(e),e+=2,n.flags=O.decode(t,e),e+=O.decode.bytes,n.services=O.decode(t,e),e+=O.decode.bytes,n.regexp=O.decode(t,e),e+=O.decode.bytes,n.replacement=w.decode(t,e),e+=w.decode.bytes,Te.decode.bytes=e-r,n};Te.decode.bytes=0;Te.encodingLength=function(t){return O.encodingLength(t.flags)+O.encodingLength(t.services)+O.encodingLength(t.regexp)+w.encodingLength(t.replacement)+6};var Ne=v.tlsa={};Ne.encode=function(t,e,r){e||(e=S.alloc(Ne.encodingLength(t))),r||(r=0);let n=r,i=t.certificate;if(!S.isBuffer(i))throw new Error("Certificate must be a Buffer");return r+=2,e.writeUInt8(t.usage,r),r+=1,e.writeUInt8(t.selector,r),r+=1,e.writeUInt8(t.matchingType,r),r+=1,i.copy(e,r,0,i.length),r+=i.length,Ne.encode.bytes=r-n,e.writeUInt16BE(Ne.encode.bytes-2,n),e};Ne.encode.bytes=0;Ne.decode=function(t,e){e||(e=0);let r=e,n={},i=t.readUInt16BE(e);return e+=2,n.usage=t.readUInt8(e),e+=1,n.selector=t.readUInt8(e),e+=1,n.matchingType=t.readUInt8(e),e+=1,n.certificate=t.slice(e,r+i+2),e+=n.certificate.length,Ne.decode.bytes=e-r,n};Ne.decode.bytes=0;Ne.encodingLength=function(t){return 5+S.byteLength(t.certificate)};var cn=v.record=function(t){switch(t.toUpperCase()){case"A":return Ke;case"PTR":return we;case"CNAME":return Qs;case"DNAME":return Js;case"TXT":return De;case"NULL":return _e;case"AAAA":return qe;case"SRV":return Fe;case"HINFO":return Me;case"CAA":return ae;case"NS":return Re;case"SOA":return ke;case"MX":return et;case"OPT":return de;case"DNSKEY":return J;case"RRSIG":return Se;case"RP":return Ae;case"NSEC":return Be;case"NSEC3":return Ue;case"SSHFP":return ue;case"DS":return Le;case"NAPTR":return Te;case"TLSA":return Ne}return Pe},Y=v.answer={};Y.encode=function(t,e,r){e||(e=S.alloc(Y.encodingLength(t))),r||(r=0);let n=r;if(w.encode(t.name,e,r),r+=w.encode.bytes,e.writeUInt16BE(ze.toType(t.type),r),t.type.toUpperCase()==="OPT"){if(t.name!==".")throw new Error("OPT name must be root.");e.writeUInt16BE(t.udpPayloadSize||4096,r+2),e.writeUInt8(t.extendedRcode||0,r+4),e.writeUInt8(t.ednsVersion||0,r+5),e.writeUInt16BE(t.flags||0,r+6),r+=8,de.encode(t.options||[],e,r),r+=de.encode.bytes}else{let i=gr.toClass(t.class===void 0?"IN":t.class);t.flush&&(i|=sn),e.writeUInt16BE(i,r+2),e.writeUInt32BE(t.ttl||0,r+4),r+=8;let o=cn(t.type);o.encode(t.data,e,r),r+=o.encode.bytes}return Y.encode.bytes=r-n,e};Y.encode.bytes=0;Y.decode=function(t,e){e||(e=0);let r={},n=e;if(r.name=w.decode(t,e),e+=w.decode.bytes,r.type=ze.toString(t.readUInt16BE(e)),r.type==="OPT")r.udpPayloadSize=t.readUInt16BE(e+2),r.extendedRcode=t.readUInt8(e+4),r.ednsVersion=t.readUInt8(e+5),r.flags=t.readUInt16BE(e+6),r.flag_do=(r.flags>>15&1)===1,r.options=de.decode(t,e+8),e+=8+de.decode.bytes;else{let i=t.readUInt16BE(e+2);r.ttl=t.readUInt32BE(e+4),r.class=gr.toString(i&Ws),r.flush=!!(i&sn);let o=cn(r.type);r.data=o.decode(t,e+8),e+=8+o.decode.bytes}return Y.decode.bytes=e-n,r};Y.decode.bytes=0;Y.encodingLength=function(t){let e=t.data!==null&&t.data!==void 0?t.data:t.options;return w.encodingLength(t.name)+8+cn(t.type).encodingLength(e)};var xe=v.question={};xe.encode=function(t,e,r){e||(e=S.alloc(xe.encodingLength(t))),r||(r=0);let n=r;return w.encode(t.name,e,r),r+=w.encode.bytes,e.writeUInt16BE(ze.toType(t.type),r),r+=2,e.writeUInt16BE(gr.toClass(t.class===void 0?"IN":t.class),r),r+=2,xe.encode.bytes=r-n,t};xe.encode.bytes=0;xe.decode=function(t,e){e||(e=0);let r=e,n={};return n.name=w.decode(t,e),e+=w.decode.bytes,n.type=ze.toString(t.readUInt16BE(e)),e+=2,n.class=gr.toString(t.readUInt16BE(e)),e+=2,!!(n.class&Xi)&&(n.class&=Zs),xe.decode.bytes=e-r,n};xe.decode.bytes=0;xe.encodingLength=function(t){return w.encodingLength(t.name)+4};v.AUTHORITATIVE_ANSWER=1024;v.TRUNCATED_RESPONSE=512;v.RECURSION_DESIRED=256;v.RECURSION_AVAILABLE=128;v.AUTHENTIC_DATA=32;v.CHECKING_DISABLED=16;v.DNSSEC_OK=32768;v.encode=function(t,e,r){let n=!e;n&&(e=S.alloc(v.encodingLength(t))),r||(r=0);let i=r;return t.questions||(t.questions=[]),t.answers||(t.answers=[]),t.authorities||(t.authorities=[]),t.additionals||(t.additionals=[]),Ee.encode(t,e,r),r+=Ee.encode.bytes,r=Gt(t.questions,xe,e,r),r=Gt(t.answers,Y,e,r),r=Gt(t.authorities,Y,e,r),r=Gt(t.additionals,Y,e,r),v.encode.bytes=r-i,n&&v.encode.bytes!==e.length?e.slice(0,v.encode.bytes):e};v.encode.bytes=0;v.decode=function(t,e){e||(e=0);let r=e,n=Ee.decode(t,e);return e+=Ee.decode.bytes,e=pr(n.questions,xe,t,e),e=pr(n.answers,Y,t,e),e=pr(n.authorities,Y,t,e),e=pr(n.additionals,Y,t,e),v.decode.bytes=e-r,n};v.decode.bytes=0;v.encodingLength=function(t){return Ee.encodingLength(t)+Tt(t.questions||[],xe)+Tt(t.answers||[],Y)+Tt(t.authorities||[],Y)+Tt(t.additionals||[],Y)};v.streamEncode=function(t){let e=v.encode(t),r=S.alloc(2);r.writeUInt16BE(e.byteLength);let n=S.concat([r,e]);return v.streamEncode.bytes=n.byteLength,n};v.streamEncode.bytes=0;v.streamDecode=function(t){let e=t.readUInt16BE(0);if(t.byteLength<e+2)return null;let r=v.decode(t.slice(2));return v.streamDecode.bytes=v.decode.bytes,r};v.streamDecode.bytes=0;function Tt(t,e){let r=0;for(let n=0;n<t.length;n++)r+=e.encodingLength(t[n]);return r}function Gt(t,e,r,n){for(let i=0;i<t.length;i++)e.encode(t[i],r,n),n+=e.encode.bytes;return n}function pr(t,e,r,n){for(let i=0;i<t.length;i++)t[i]=e.decode(r,n),n+=e.decode.bytes;return n}});var Ji=ve((Ld,Qi)=>{"use strict";var Zi=oc;process.nextTick(ic,42);Qi.exports=ec;function ec(t){var e=n;return r;function r(i){e(i||rc)}function n(i){var o=[i];e=s,t(a);function s(c){o.push(c)}function a(c){var u=arguments;for(e=tc(c)?n:m;o.length;)m(o.shift());function m(l){Zi(nc,l,u)}}}}function tc(t){return Object.prototype.toString.call(t)==="[object Error]"}function rc(){}function nc(t,e){t.apply(null,e)}function ic(t){t===42&&(Zi=process.nextTick)}function oc(t,e,r){process.nextTick(function(){t(e,r)})}});var ro=ve((Td,to)=>{var an=Wi(),sc=ne("dgram"),cc=Ji(),ac=ne("events"),dn=ne("os"),un=function(){};to.exports=function(t){t||(t={});var e=new ac.EventEmitter,r=typeof t.port=="number"?t.port:5353,n=t.type||"udp4",i=t.ip||t.host||(n==="udp4"?"224.0.0.251":null),o={address:i,port:r},s={},a=!1,c=null;if(n==="udp6"&&(!i||!t.interface))throw new Error("For IPv6 multicast you must specify `ip` and `interface`");var u=t.socket||sc.createSocket({type:n,reuseAddr:t.reuseAddr!==!1,toString:function(){return n}});u.on("error",function(l){l.code==="EACCES"||l.code==="EADDRINUSE"?e.emit("error",l):e.emit("warning",l)}),u.on("message",function(l,d){try{l=an.decode(l)}catch(p){e.emit("warning",p);return}e.emit("packet",l,d),l.type==="query"&&e.emit("query",l,d),l.type==="response"&&e.emit("response",l,d)}),u.on("listening",function(){r||(r=o.port=u.address().port),t.multicast!==!1&&(e.update(),c=setInterval(e.update,5e3),u.setMulticastTTL(t.ttl||255),u.setMulticastLoopback(t.loopback!==!1))});var m=cc(function(l){if(!r||t.bind===!1)return l(null);u.once("error",l),u.bind(r,t.bind||t.interface,function(){u.removeListener("error",l),l(null)})});return m(function(l){if(l)return e.emit("error",l);e.emit("ready")}),e.send=function(l,d,p){if(typeof d=="function")return e.send(l,null,d);p||(p=un),d?!d.host&&!d.address&&(d.address=o.address):d=o,m(h);function h(y){if(a)return p();if(y)return p(y);var g=an.encode(l);u.send(g,0,g.length,d.port,d.address||d.host,p)}},e.response=e.respond=function(l,d,p){Array.isArray(l)&&(l={answers:l}),l.type="response",l.flags=(l.flags||0)|an.AUTHORITATIVE_ANSWER,e.send(l,d,p)},e.query=function(l,d,p,h){if(typeof d=="function")return e.query(l,null,null,d);if(typeof d=="object"&&d&&d.port)return e.query(l,null,d,p);if(typeof p=="function")return e.query(l,d,null,p);h||(h=un),typeof l=="string"&&(l=[{name:l,type:d||"ANY"}]),Array.isArray(l)&&(l={type:"query",questions:l}),l.type="query",e.send(l,p,h)},e.destroy=function(l){if(l||(l=un),a)return process.nextTick(l);a=!0,clearInterval(c);for(var d in s)try{u.dropMembership(i,d)}catch{}s={},u.close(l)},e.update=function(){for(var l=t.interface?[].concat(t.interface):dc(),d=!1,p=0;p<l.length;p++){var h=l[p];if(!s[h])try{u.addMembership(i,h),s[h]=!0,d=!0}catch(y){e.emit("warning",y)}}if(d){if(u.setMulticastInterface)try{u.setMulticastInterface(t.interface||uc())}catch(y){e.emit("warning",y)}e.emit("networkInterface")}},e};function uc(){for(var t=dn.networkInterfaces(),e=Object.keys(t),r=0;r<e.length;r++)for(var n=t[e[r]],i=0;i<n.length;i++){var o=n[i];if(eo(o.family)&&!o.internal)return dn.platform()==="darwin"&&e[r]==="en0"?o.address:"0.0.0.0"}return"127.0.0.1"}function dc(){for(var t=dn.networkInterfaces(),e=Object.keys(t),r=[],n=0;n<e.length;n++)for(var i=t[e[n]],o=0;o<i.length;o++){var s=i[o];if(eo(s.family)){r.push(s.address);break}}return r}function eo(t){return t===4||t==="IPv4"}});var Es=ve(cr=>{(function(){var t,e,r,n,i,o,s,a;a=function(c){var u,m,l,d;return u=(c&255<<24)>>>24,m=(c&255<<16)>>>16,l=(c&65280)>>>8,d=c&255,[u,m,l,d].join(".")},s=function(c){var u,m,l,d,p,h;for(u=[],l=d=0;d<=3&&c.length!==0;l=++d){if(l>0){if(c[0]!==".")throw new Error("Invalid IP");c=c.substring(1)}h=e(c),p=h[0],m=h[1],c=c.substring(m),u.push(p)}if(c.length!==0)throw new Error("Invalid IP");switch(u.length){case 1:if(u[0]>4294967295)throw new Error("Invalid IP");return u[0]>>>0;case 2:if(u[0]>255||u[1]>16777215)throw new Error("Invalid IP");return(u[0]<<24|u[1])>>>0;case 3:if(u[0]>255||u[1]>255||u[2]>65535)throw new Error("Invalid IP");return(u[0]<<24|u[1]<<16|u[2])>>>0;case 4:if(u[0]>255||u[1]>255||u[2]>255||u[3]>255)throw new Error("Invalid IP");return(u[0]<<24|u[1]<<16|u[2]<<8|u[3])>>>0;default:throw new Error("Invalid IP")}},r=function(c){return c.charCodeAt(0)},n=r("0"),o=r("a"),i=r("A"),e=function(c){var u,m,l,d,p;for(d=0,u=10,m="9",l=0,c.length>1&&c[l]==="0"&&(c[l+1]==="x"||c[l+1]==="X"?(l+=2,u=16):"0"<=c[l+1]&&c[l+1]<="9"&&(l++,u=8,m="7")),p=l;l<c.length;){if("0"<=c[l]&&c[l]<=m)d=d*u+(r(c[l])-n)>>>0;else if(u===16)if("a"<=c[l]&&c[l]<="f")d=d*u+(10+r(c[l])-o)>>>0;else if("A"<=c[l]&&c[l]<="F")d=d*u+(10+r(c[l])-i)>>>0;else break;else break;if(d>4294967295)throw new Error("too large");l++}if(l===p)throw new Error("empty octet");return[d,l]},t=function(){function c(u,m){var l,d,p,h;if(typeof u!="string")throw new Error("Missing `net' parameter");if(m||(h=u.split("/",2),u=h[0],m=h[1]),m||(m=32),typeof m=="string"&&m.indexOf(".")>-1){try{this.maskLong=s(m)}catch(y){throw l=y,new Error("Invalid mask: "+m)}for(d=p=32;p>=0;d=--p)if(this.maskLong===4294967295<<32-d>>>0){this.bitmask=d;break}}else if(m||m===0)this.bitmask=parseInt(m,10),this.maskLong=0,this.bitmask>0&&(this.maskLong=4294967295<<32-this.bitmask>>>0);else throw new Error("Invalid mask: empty");try{this.netLong=(s(u)&this.maskLong)>>>0}catch(y){throw l=y,new Error("Invalid net address: "+u)}if(!(this.bitmask<=32))throw new Error("Invalid mask for ip4: "+m);this.size=Math.pow(2,32-this.bitmask),this.base=a(this.netLong),this.mask=a(this.maskLong),this.hostmask=a(~this.maskLong),this.first=this.bitmask<=30?a(this.netLong+1):this.base,this.last=this.bitmask<=30?a(this.netLong+this.size-2):a(this.netLong+this.size-1),this.broadcast=this.bitmask<=30?a(this.netLong+this.size-1):void 0}return c.prototype.contains=function(u){return typeof u=="string"&&(u.indexOf("/")>0||u.split(".").length!==4)&&(u=new c(u)),u instanceof c?this.contains(u.base)&&this.contains(u.broadcast||u.last):(s(u)&this.maskLong)>>>0===(this.netLong&this.maskLong)>>>0},c.prototype.next=function(u){return u==null&&(u=1),new c(a(this.netLong+this.size*u),this.mask)},c.prototype.forEach=function(u){var m,l,d;for(d=s(this.first),l=s(this.last),m=0;d<=l;)u(a(d),d,m),m++,d++},c.prototype.toString=function(){return this.base+"/"+this.bitmask},c}(),cr.ip2long=s,cr.long2ip=a,cr.Netmask=t}).call(cr)});var ju={};ie(ju,{mdns:()=>Hu});var Di=Symbol.for("@libp2p/peer-discovery");var Zr=Symbol.for("@libp2p/peer-id");var Lt=class extends Error{static name="InvalidParametersError";constructor(e="Invalid parameters"){super(e),this.name="InvalidParametersError"}},dr=class extends Error{static name="InvalidPublicKeyError";constructor(e="Invalid public key"){super(e),this.name="InvalidPublicKeyError"}};var lr=class extends Error{static name="InvalidMultihashError";constructor(e="Invalid Multihash"){super(e),this.name="InvalidMultihashError"}};var $t=class extends Error{static name="UnsupportedKeyTypeError";constructor(e="Unsupported key type"){super(e),this.name="UnsupportedKeyTypeError"}};var _i=ne("node:events"),Mi=(t,...e)=>{try{(0,_i.setMaxListeners)(t,...e)}catch{}};var hr=class extends EventTarget{#e=new Map;constructor(){super(),Mi(1/0,this)}listenerCount(e){let r=this.#e.get(e);return r==null?0:r.length}addEventListener(e,r,n){super.addEventListener(e,r,n);let i=this.#e.get(e);i==null&&(i=[],this.#e.set(e,i)),i.push({callback:r,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(e,r,n){super.removeEventListener(e.toString(),r??null,n);let i=this.#e.get(e);i!=null&&(i=i.filter(({callback:o})=>o!==r),this.#e.set(e,i))}dispatchEvent(e){let r=super.dispatchEvent(e),n=this.#e.get(e.type);return n==null||(n=n.filter(({once:i})=>!i),this.#e.set(e.type,n)),r}safeDispatchEvent(e,r={}){return this.dispatchEvent(new CustomEvent(e,r))}};var Fi=Symbol.for("@libp2p/service-capabilities"),Ju=Symbol.for("@libp2p/service-dependencies");var Ks=Ut(ro(),1);var mn={};ie(mn,{base58btc:()=>K,base58flickr:()=>yc});var Nd=new Uint8Array(0);function no(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}function ge(t){if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")}function io(t){return new TextEncoder().encode(t)}function oo(t){return new TextDecoder().decode(t)}function lc(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<t.length;i++){var o=t.charAt(i),s=o.charCodeAt(0);if(r[s]!==255)throw new TypeError(o+" is ambiguous");r[s]=i}var a=t.length,c=t.charAt(0),u=Math.log(a)/Math.log(256),m=Math.log(256)/Math.log(a);function l(h){if(h instanceof Uint8Array||(ArrayBuffer.isView(h)?h=new Uint8Array(h.buffer,h.byteOffset,h.byteLength):Array.isArray(h)&&(h=Uint8Array.from(h))),!(h instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(h.length===0)return"";for(var y=0,g=0,f=0,x=h.length;f!==x&&h[f]===0;)f++,y++;for(var b=(x-f)*m+1>>>0,L=new Uint8Array(b);f!==x;){for(var T=h[f],B=0,U=b-1;(T!==0||B<g)&&U!==-1;U--,B++)T+=256*L[U]>>>0,L[U]=T%a>>>0,T=T/a>>>0;if(T!==0)throw new Error("Non-zero carry");g=B,f++}for(var N=b-g;N!==b&&L[N]===0;)N++;for(var C=c.repeat(y);N<b;++N)C+=t.charAt(L[N]);return C}function d(h){if(typeof h!="string")throw new TypeError("Expected String");if(h.length===0)return new Uint8Array;var y=0;if(h[y]!==" "){for(var g=0,f=0;h[y]===c;)g++,y++;for(var x=(h.length-y)*u+1>>>0,b=new Uint8Array(x);h[y];){var L=r[h.charCodeAt(y)];if(L===255)return;for(var T=0,B=x-1;(L!==0||T<f)&&B!==-1;B--,T++)L+=a*b[B]>>>0,b[B]=L%256>>>0,L=L/256>>>0;if(L!==0)throw new Error("Non-zero carry");f=T,y++}if(h[y]!==" "){for(var U=x-f;U!==x&&b[U]===0;)U++;for(var N=new Uint8Array(g+(x-U)),C=g;U!==x;)N[C++]=b[U++];return N}}}function p(h){var y=d(h);if(y)return y;throw new Error(`Non-${e} character`)}return{encode:l,decodeUnsafe:d,decode:p}}var hc=lc,pc=hc,co=pc;var ln=class{name;prefix;baseEncode;constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},hn=class{name;prefix;baseDecode;prefixCodePoint;constructor(e,r,n){this.name=e,this.prefix=r;let i=r.codePointAt(0);if(i===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=i,this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return ao(this,e)}},pn=class{decoders;constructor(e){this.decoders=e}or(e){return ao(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n!=null)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function ao(t,e){return new pn({...t.decoders??{[t.prefix]:t},...e.decoders??{[e.prefix]:e}})}var gn=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new ln(e,r,n),this.decoder=new hn(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};function Nt({name:t,prefix:e,encode:r,decode:n}){return new gn(t,e,r,n)}function tt({name:t,prefix:e,alphabet:r}){let{encode:n,decode:i}=co(r,t);return Nt({prefix:e,name:t,encode:n,decode:o=>ge(i(o))})}function gc(t,e,r,n){let i={};for(let m=0;m<e.length;++m)i[e[m]]=m;let o=t.length;for(;t[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,c=0,u=0;for(let m=0;m<o;++m){let l=i[t[m]];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)!==0)throw new SyntaxError("Unexpected end of data");return s}function mc(t,e,r){let n=e[e.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],s+=8;s>r;)s-=r,o+=e[i&a>>s];if(s!==0&&(o+=e[i&a<<r-s]),n)for(;(o.length*r&7)!==0;)o+="=";return o}function F({name:t,prefix:e,bitsPerChar:r,alphabet:n}){return Nt({prefix:e,name:t,encode(i){return mc(i,n,r)},decode(i){return gc(i,n,r,t)}})}var K=tt({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),yc=tt({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var yn={};ie(yn,{base32:()=>Ve,base32hex:()=>Ec,base32hexpad:()=>Ic,base32hexpadupper:()=>vc,base32hexupper:()=>bc,base32pad:()=>wc,base32padupper:()=>xc,base32upper:()=>fc,base32z:()=>Sc});var Ve=F({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),fc=F({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),wc=F({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),xc=F({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Ec=F({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),bc=F({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Ic=F({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),vc=F({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Sc=F({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var fn={};ie(fn,{base36:()=>Yt,base36upper:()=>Ac});var Yt=tt({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Ac=tt({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Bc=ho,uo=128,Uc=127,Lc=~Uc,Tc=Math.pow(2,31);function ho(t,e,r){e=e||[],r=r||0;for(var n=r;t>=Tc;)e[r++]=t&255|uo,t/=128;for(;t&Lc;)e[r++]=t&255|uo,t>>>=7;return e[r]=t|0,ho.bytes=r-n+1,e}var Nc=wn,Cc=128,lo=127;function wn(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a)throw wn.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&lo)<<i:(s&lo)*Math.pow(2,i),i+=7}while(s>=Cc);return wn.bytes=o-n,r}var Oc=Math.pow(2,7),Pc=Math.pow(2,14),Rc=Math.pow(2,21),kc=Math.pow(2,28),Dc=Math.pow(2,35),_c=Math.pow(2,42),Mc=Math.pow(2,49),Fc=Math.pow(2,56),Kc=Math.pow(2,63),qc=function(t){return t<Oc?1:t<Pc?2:t<Rc?3:t<kc?4:t<Dc?5:t<_c?6:t<Mc?7:t<Fc?8:t<Kc?9:10},zc={encode:Bc,decode:Nc,encodingLength:qc},Vc=zc,Xt=Vc;function Wt(t,e=0){return[Xt.decode(t,e),Xt.decode.bytes]}function Ct(t,e,r=0){return Xt.encode(t,e,r),e}function Ot(t){return Xt.encodingLength(t)}function ht(t,e){let r=e.byteLength,n=Ot(t),i=n+Ot(r),o=new Uint8Array(i+r);return Ct(t,o,0),Ct(r,o,n),o.set(e,i),new Pt(t,r,e,o)}function pt(t){let e=ge(t),[r,n]=Wt(e),[i,o]=Wt(e.subarray(n)),s=e.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new Pt(r,i,s,e)}function po(t,e){if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&no(t.bytes,r.bytes)}}var Pt=class{code;size;digest;bytes;constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};function go(t,e){let{bytes:r,version:n}=t;switch(n){case 0:return jc(r,xn(t),e??K.encoder);default:return $c(r,xn(t),e??Ve.encoder)}}var mo=new WeakMap;function xn(t){let e=mo.get(t);if(e==null){let r=new Map;return mo.set(t,r),r}return e}var ee=class t{code;version;multihash;bytes;"/";constructor(e,r,n,i){this.code=r,this.version=e,this.multihash=n,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:r}=this;if(e!==Zt)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==Gc)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return t.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:r}=this.multihash,n=ht(e,r);return t.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return t.equals(this,e)}static equals(e,r){let n=r;return n!=null&&e.code===n.code&&e.version===n.version&&po(e.multihash,n.multihash)}toString(e){return go(this,e)}toJSON(){return{"/":go(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof t)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:o,bytes:s}=r;return new t(n,i,o,s??yo(n,i,o.bytes))}else if(r[Yc]===!0){let{version:n,multihash:i,code:o}=r,s=pt(i);return t.create(n,o,s)}else return null}static create(e,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(r!==Zt)throw new Error(`Version 0 CID must use dag-pb (code: ${Zt}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let i=yo(e,r,n.bytes);return new t(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,Zt,e)}static createV1(e,r){return t.create(1,e,r)}static decode(e){let[r,n]=t.decodeFirst(e);if(n.length!==0)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=t.inspectBytes(e),n=r.size-r.multihashSize,i=ge(e.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let o=i.subarray(r.multihashSize-r.digestSize),s=new Pt(r.multihashCode,r.digestSize,o,i);return[r.version===0?t.createV0(s):t.createV1(r.codec,s),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[l,d]=Wt(e.subarray(r));return r+=d,l},i=n(),o=Zt;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,m=u-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:m,size:u}}static parse(e,r){let[n,i]=Hc(e,r),o=t.decode(i);if(o.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return xn(o).set(n,e),o}};function Hc(t,e){switch(t[0]){case"Q":{let r=e??K;return[K.prefix,r.decode(`${K.prefix}${t}`)]}case K.prefix:{let r=e??K;return[K.prefix,r.decode(t)]}case Ve.prefix:{let r=e??Ve;return[Ve.prefix,r.decode(t)]}case Yt.prefix:{let r=e??Yt;return[Yt.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32, base36 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}}function jc(t,e,r){let{prefix:n}=r;if(n!==K.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=e.get(n);if(i==null){let o=r.encode(t).slice(1);return e.set(n,o),o}else return i}function $c(t,e,r){let{prefix:n}=r,i=e.get(n);if(i==null){let o=r.encode(t);return e.set(n,o),o}else return i}var Zt=112,Gc=18;function yo(t,e,r){let n=Ot(t),i=n+Ot(e),o=new Uint8Array(i+r.byteLength);return Ct(t,o,0),Ct(e,o,n),o.set(r,i),o}var Yc=Symbol.for("@ipld/js-cid/CID");var En={};ie(En,{identity:()=>He});var fo=0,Xc="identity",wo=ge;function Wc(t){return ht(fo,wo(t))}var He={code:fo,name:Xc,encode:wo,digest:Wc};function je(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}var fr=Ut(ne("crypto"),1);var xo=ne("node:buffer");function Rt(t){return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}function Ce(t,e){return Rt(xo.Buffer.concat(t,e))}var Ao=ne("node:buffer");var bn={};ie(bn,{base10:()=>Zc});var Zc=tt({prefix:"9",name:"base10",alphabet:"0123456789"});var In={};ie(In,{base16:()=>Qc,base16upper:()=>Jc});var Qc=F({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Jc=F({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var vn={};ie(vn,{base2:()=>ea});var ea=F({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Sn={};ie(Sn,{base256emoji:()=>oa});var Eo=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}"),ta=Eo.reduce((t,e,r)=>(t[r]=e,t),[]),ra=Eo.reduce((t,e,r)=>{let n=e.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${e}`);return t[n]=r,t},[]);function na(t){return t.reduce((e,r)=>(e+=ta[r],e),"")}function ia(t){let e=[];for(let r of t){let n=r.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${r}`);let i=ra[n];if(i==null)throw new Error(`Non-base256emoji character: ${r}`);e.push(i)}return new Uint8Array(e)}var oa=Nt({prefix:"\u{1F680}",name:"base256emoji",encode:na,decode:ia});var An={};ie(An,{base64:()=>sa,base64pad:()=>ca,base64url:()=>aa,base64urlpad:()=>ua});var sa=F({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),ca=F({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),aa=F({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),ua=F({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Bn={};ie(Bn,{base8:()=>da});var da=F({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Un={};ie(Un,{identity:()=>la});var la=Nt({prefix:"\0",name:"identity",encode:t=>oo(t),decode:t=>io(t)});var sl=new TextEncoder,cl=new TextDecoder;var On={};ie(On,{sha256:()=>Cn,sha512:()=>ga});var Nn=Ut(ne("crypto"),1);function Tn({name:t,code:e,encode:r}){return new Ln(t,e,r)}var Ln=class{name;code;encode;constructor(e,r,n){this.name=e,this.code=r,this.encode=n}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);return r instanceof Uint8Array?ht(this.code,r):r.then(n=>ht(this.code,n))}else throw Error("Unknown type, must be binary type")}};var Cn=Tn({name:"sha2-256",code:18,encode:t=>ge(Nn.default.createHash("sha256").update(t).digest())}),ga=Tn({name:"sha2-512",code:19,encode:t=>ge(Nn.default.createHash("sha512").update(t).digest())});var Qt={...Un,...vn,...Bn,...bn,...In,...yn,...fn,...mn,...An,...Sn},El={...On,...En};var Io=ne("node:buffer");function $e(t=0){return Rt(Io.Buffer.allocUnsafe(t))}function So(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var vo=So("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),Pn=So("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);let e=$e(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),ma={utf8:vo,"utf-8":vo,hex:Qt.base16,latin1:Pn,ascii:Pn,binary:Pn,...Qt},yr=ma;function Ge(t,e="utf8"){let r=yr[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return e==="utf8"||e==="utf-8"?Rt(Ao.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}var Bo=ne("node:buffer");function z(t,e="utf8"){let r=yr[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return e==="utf8"||e==="utf-8"?Bo.Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("utf8"):r.encoder.encode(t).substring(1)}var kl=fr.default.generateKeyPairSync,Jt=32;var ya=64;function Uo(t,e,r){if(t.byteLength!==Jt)throw new TypeError('"key" must be 32 bytes in length.');if(!(t instanceof Uint8Array))throw new TypeError('"key" must be a node.js Buffer, or Uint8Array.');if(e.byteLength!==ya)throw new TypeError('"sig" must be 64 bytes in length.');if(!(e instanceof Uint8Array))throw new TypeError('"sig" must be a node.js Buffer, or Uint8Array.');let n=fr.default.createPublicKey({format:"jwk",key:{crv:"Ed25519",x:z(t,"base64url"),kty:"OKP"}});return fr.default.verify(null,r instanceof Uint8Array?r:r.subarray(),n,e)}var wr=class{type="Ed25519";raw;constructor(e){this.raw=Rn(e,Jt)}toMultihash(){return He.digest(xr(this))}toCID(){return ee.createV1(114,this.toMultihash())}toString(){return K.encode(this.toMultihash().bytes).substring(1)}equals(e){return e==null||!(e.raw instanceof Uint8Array)?!1:je(this.raw,e.raw)}verify(e,r){return Uo(this.raw,r,e)}};function To(t){return t=Rn(t,Jt),new wr(t)}function Rn(t,e){if(t=Uint8Array.from(t??[]),t.length!==e)throw new Lt(`Key must be a Uint8Array of length ${e}, got ${t.length}`);return t}var wa=Math.pow(2,7),xa=Math.pow(2,14),Ea=Math.pow(2,21),kn=Math.pow(2,28),Dn=Math.pow(2,35),_n=Math.pow(2,42),Mn=Math.pow(2,49),k=128,X=127;function se(t){if(t<wa)return 1;if(t<xa)return 2;if(t<Ea)return 3;if(t<kn)return 4;if(t<Dn)return 5;if(t<_n)return 6;if(t<Mn)return 7;if(Number.MAX_SAFE_INTEGER!=null&&t>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Fn(t,e,r=0){switch(se(t)){case 8:e[r++]=t&255|k,t/=128;case 7:e[r++]=t&255|k,t/=128;case 6:e[r++]=t&255|k,t/=128;case 5:e[r++]=t&255|k,t/=128;case 4:e[r++]=t&255|k,t>>>=7;case 3:e[r++]=t&255|k,t>>>=7;case 2:e[r++]=t&255|k,t>>>=7;case 1:{e[r++]=t&255,t>>>=7;break}default:throw new Error("unreachable")}return e}function ba(t,e,r=0){switch(se(t)){case 8:e.set(r++,t&255|k),t/=128;case 7:e.set(r++,t&255|k),t/=128;case 6:e.set(r++,t&255|k),t/=128;case 5:e.set(r++,t&255|k),t/=128;case 4:e.set(r++,t&255|k),t>>>=7;case 3:e.set(r++,t&255|k),t>>>=7;case 2:e.set(r++,t&255|k),t>>>=7;case 1:{e.set(r++,t&255),t>>>=7;break}default:throw new Error("unreachable")}return e}function Kn(t,e){let r=t[e],n=0;if(n+=r&X,r<k||(r=t[e+1],n+=(r&X)<<7,r<k)||(r=t[e+2],n+=(r&X)<<14,r<k)||(r=t[e+3],n+=(r&X)<<21,r<k)||(r=t[e+4],n+=(r&X)*kn,r<k)||(r=t[e+5],n+=(r&X)*Dn,r<k)||(r=t[e+6],n+=(r&X)*_n,r<k)||(r=t[e+7],n+=(r&X)*Mn,r<k))return n;throw new RangeError("Could not decode varint")}function Ia(t,e){let r=t.get(e),n=0;if(n+=r&X,r<k||(r=t.get(e+1),n+=(r&X)<<7,r<k)||(r=t.get(e+2),n+=(r&X)<<14,r<k)||(r=t.get(e+3),n+=(r&X)<<21,r<k)||(r=t.get(e+4),n+=(r&X)*kn,r<k)||(r=t.get(e+5),n+=(r&X)*Dn,r<k)||(r=t.get(e+6),n+=(r&X)*_n,r<k)||(r=t.get(e+7),n+=(r&X)*Mn,r<k))return n;throw new RangeError("Could not decode varint")}function kt(t,e,r=0){return e==null&&(e=$e(se(t))),e instanceof Uint8Array?Fn(t,e,r):ba(t,e,r)}function mt(t,e=0){return t instanceof Uint8Array?Kn(t,e):Ia(t,e)}var qn=new Float32Array([-0]),rt=new Uint8Array(qn.buffer);function Co(t,e,r){qn[0]=t,e[r]=rt[0],e[r+1]=rt[1],e[r+2]=rt[2],e[r+3]=rt[3]}function Oo(t,e){return rt[0]=t[e],rt[1]=t[e+1],rt[2]=t[e+2],rt[3]=t[e+3],qn[0]}var zn=new Float64Array([-0]),W=new Uint8Array(zn.buffer);function Po(t,e,r){zn[0]=t,e[r]=W[0],e[r+1]=W[1],e[r+2]=W[2],e[r+3]=W[3],e[r+4]=W[4],e[r+5]=W[5],e[r+6]=W[6],e[r+7]=W[7]}function Ro(t,e){return W[0]=t[e],W[1]=t[e+1],W[2]=t[e+2],W[3]=t[e+3],W[4]=t[e+4],W[5]=t[e+5],W[6]=t[e+6],W[7]=t[e+7],zn[0]}var va=BigInt(Number.MAX_SAFE_INTEGER),Sa=BigInt(Number.MIN_SAFE_INTEGER),le=class t{lo;hi;constructor(e,r){this.lo=e|0,this.hi=r|0}toNumber(e=!1){if(!e&&this.hi>>>31>0){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(r+n*4294967296)}return this.lo+this.hi*4294967296}toBigInt(e=!1){if(e)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(BigInt(r)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toString(e=!1){return this.toBigInt(e).toString()}zzEncode(){let e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this}zzDecode(){let e=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this}length(){let e=this.lo,r=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?r===0?e<16384?e<128?1:2:e<2097152?3:4:r<16384?r<128?5:6:r<2097152?7:8:n<128?9:10}static fromBigInt(e){if(e===0n)return yt;if(e<va&&e>Sa)return this.fromNumber(Number(e));let r=e<0n;r&&(e=-e);let n=e>>32n,i=e-(n<<32n);return r&&(n=~n|0n,i=~i|0n,++i>ko&&(i=0n,++n>ko&&(n=0n))),new t(Number(i),Number(n))}static fromNumber(e){if(e===0)return yt;let r=e<0;r&&(e=-e);let n=e>>>0,i=(e-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new t(n,i)}static from(e){return typeof e=="number"?t.fromNumber(e):typeof e=="bigint"?t.fromBigInt(e):typeof e=="string"?t.fromBigInt(BigInt(e)):e.low!=null||e.high!=null?new t(e.low>>>0,e.high>>>0):yt}},yt=new le(0,0);yt.toBigInt=function(){return 0n};yt.zzEncode=yt.zzDecode=function(){return this};yt.length=function(){return 1};var ko=4294967296n;function Do(t){let e=0,r=0;for(let n=0;n<t.length;++n)r=t.charCodeAt(n),r<128?e+=1:r<2048?e+=2:(r&64512)===55296&&(t.charCodeAt(n+1)&64512)===56320?(++n,e+=4):e+=3;return e}function _o(t,e,r){if(r-e<1)return"";let i,o=[],s=0,a;for(;e<r;)a=t[e++],a<128?o[s++]=a:a>191&&a<224?o[s++]=(a&31)<<6|t[e++]&63:a>239&&a<365?(a=((a&7)<<18|(t[e++]&63)<<12|(t[e++]&63)<<6|t[e++]&63)-65536,o[s++]=55296+(a>>10),o[s++]=56320+(a&1023)):o[s++]=(a&15)<<12|(t[e++]&63)<<6|t[e++]&63,s>8191&&((i??(i=[])).push(String.fromCharCode.apply(String,o)),s=0);return i!=null?(s>0&&i.push(String.fromCharCode.apply(String,o.slice(0,s))),i.join("")):String.fromCharCode.apply(String,o.slice(0,s))}function Vn(t,e,r){let n=r,i,o;for(let s=0;s<t.length;++s)i=t.charCodeAt(s),i<128?e[r++]=i:i<2048?(e[r++]=i>>6|192,e[r++]=i&63|128):(i&64512)===55296&&((o=t.charCodeAt(s+1))&64512)===56320?(i=65536+((i&1023)<<10)+(o&1023),++s,e[r++]=i>>18|240,e[r++]=i>>12&63|128,e[r++]=i>>6&63|128,e[r++]=i&63|128):(e[r++]=i>>12|224,e[r++]=i>>6&63|128,e[r++]=i&63|128);return r-n}function be(t,e){return RangeError(`index out of range: ${t.pos} + ${e??1} > ${t.len}`)}function Er(t,e){return(t[e-4]|t[e-3]<<8|t[e-2]<<16|t[e-1]<<24)>>>0}var Hn=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(e){this.buf=e,this.pos=0,this.len=e.length}uint32(){let e=4294967295;if(e=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(e=(e|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return e;if((this.pos+=5)>this.len)throw this.pos=this.len,be(this,10);return e}int32(){return this.uint32()|0}sint32(){let e=this.uint32();return e>>>1^-(e&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw be(this,4);return Er(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw be(this,4);return Er(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw be(this,4);let e=Oo(this.buf,this.pos);return this.pos+=4,e}double(){if(this.pos+8>this.len)throw be(this,4);let e=Ro(this.buf,this.pos);return this.pos+=8,e}bytes(){let e=this.uint32(),r=this.pos,n=this.pos+e;if(n>this.len)throw be(this,e);return this.pos+=e,r===n?new Uint8Array(0):this.buf.subarray(r,n)}string(){let e=this.bytes();return _o(e,0,e.length)}skip(e){if(typeof e=="number"){if(this.pos+e>this.len)throw be(this,e);this.pos+=e}else do if(this.pos>=this.len)throw be(this);while((this.buf[this.pos++]&128)!==0);return this}skipType(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(e=this.uint32()&7)!==4;)this.skipType(e);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${e} at offset ${this.pos}`)}return this}readLongVarint(){let e=new le(0,0),r=0;if(this.len-this.pos>4){for(;r<4;++r)if(e.lo=(e.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(this.buf[this.pos]&127)<<28)>>>0,e.hi=(e.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return e;r=0}else{for(;r<3;++r){if(this.pos>=this.len)throw be(this);if(e.lo=(e.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(this.buf[this.pos++]&127)<<r*7)>>>0,e}if(this.len-this.pos>4){for(;r<5;++r)if(e.hi=(e.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return e}else for(;r<5;++r){if(this.pos>=this.len)throw be(this);if(e.hi=(e.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw be(this,8);let e=Er(this.buf,this.pos+=4),r=Er(this.buf,this.pos+=4);return new le(e,r)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){let e=Kn(this.buf,this.pos);return this.pos+=se(e),e}uint64String(){return this.readLongVarint().toString(!0)}sint64(){return this.readLongVarint().zzDecode().toBigInt()}sint64Number(){return this.readLongVarint().zzDecode().toNumber()}sint64String(){return this.readLongVarint().zzDecode().toString()}fixed64(){return this.readFixed64().toBigInt()}fixed64Number(){return this.readFixed64().toNumber()}fixed64String(){return this.readFixed64().toString()}sfixed64(){return this.readFixed64().toBigInt()}sfixed64Number(){return this.readFixed64().toNumber()}sfixed64String(){return this.readFixed64().toString()}};function jn(t){return new Hn(t instanceof Uint8Array?t:t.subarray())}function br(t,e,r){let n=jn(t);return e.decode(n,void 0,r)}function $n(t){let e=t??8192,r=e>>>1,n,i=e;return function(s){if(s<1||s>r)return $e(s);i+s>e&&(n=$e(e),i=0);let a=n.subarray(i,i+=s);return(i&7)!==0&&(i=(i|7)+1),a}}var ft=class{fn;len;next;val;constructor(e,r,n){this.fn=e,this.len=r,this.next=void 0,this.val=n}};function Gn(){}var Xn=class{head;tail;len;next;constructor(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}},Aa=$n();function Ba(t){return globalThis.Buffer!=null?$e(t):Aa(t)}var tr=class{len;head;tail;states;constructor(){this.len=0,this.head=new ft(Gn,0,0),this.tail=this.head,this.states=null}_push(e,r,n){return this.tail=this.tail.next=new ft(e,r,n),this.len+=r,this}uint32(e){return this.len+=(this.tail=this.tail.next=new Wn((e=e>>>0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this}int32(e){return e<0?this._push(Ir,10,le.fromNumber(e)):this.uint32(e)}sint32(e){return this.uint32((e<<1^e>>31)>>>0)}uint64(e){let r=le.fromBigInt(e);return this._push(Ir,r.length(),r)}uint64Number(e){return this._push(Fn,se(e),e)}uint64String(e){return this.uint64(BigInt(e))}int64(e){return this.uint64(e)}int64Number(e){return this.uint64Number(e)}int64String(e){return this.uint64String(e)}sint64(e){let r=le.fromBigInt(e).zzEncode();return this._push(Ir,r.length(),r)}sint64Number(e){let r=le.fromNumber(e).zzEncode();return this._push(Ir,r.length(),r)}sint64String(e){return this.sint64(BigInt(e))}bool(e){return this._push(Yn,1,e?1:0)}fixed32(e){return this._push(er,4,e>>>0)}sfixed32(e){return this.fixed32(e)}fixed64(e){let r=le.fromBigInt(e);return this._push(er,4,r.lo)._push(er,4,r.hi)}fixed64Number(e){let r=le.fromNumber(e);return this._push(er,4,r.lo)._push(er,4,r.hi)}fixed64String(e){return this.fixed64(BigInt(e))}sfixed64(e){return this.fixed64(e)}sfixed64Number(e){return this.fixed64Number(e)}sfixed64String(e){return this.fixed64String(e)}float(e){return this._push(Co,4,e)}double(e){return this._push(Po,8,e)}bytes(e){let r=e.length>>>0;return r===0?this._push(Yn,1,0):this.uint32(r)._push(La,r,e)}string(e){let r=Do(e);return r!==0?this.uint32(r)._push(Vn,r,e):this._push(Yn,1,0)}fork(){return this.states=new Xn(this),this.head=this.tail=new ft(Gn,0,0),this.len=0,this}reset(){return this.states!=null?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new ft(Gn,0,0),this.len=0),this}ldelim(){let e=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=e.next,this.tail=r,this.len+=n),this}finish(){let e=this.head.next,r=Ba(this.len),n=0;for(;e!=null;)e.fn(e.val,r,n),n+=e.len,e=e.next;return r}};function Yn(t,e,r){e[r]=t&255}function Ua(t,e,r){for(;t>127;)e[r++]=t&127|128,t>>>=7;e[r]=t}var Wn=class extends ft{next;constructor(e,r){super(Ua,e,r),this.next=void 0}};function Ir(t,e,r){for(;t.hi!==0;)e[r++]=t.lo&127|128,t.lo=(t.lo>>>7|t.hi<<25)>>>0,t.hi>>>=7;for(;t.lo>127;)e[r++]=t.lo&127|128,t.lo=t.lo>>>7;e[r++]=t.lo}function er(t,e,r){e[r]=t&255,e[r+1]=t>>>8&255,e[r+2]=t>>>16&255,e[r+3]=t>>>24}function La(t,e,r){e.set(t,r)}globalThis.Buffer!=null&&(tr.prototype.bytes=function(t){let e=t.length>>>0;return this.uint32(e),e>0&&this._push(Ta,e,t),this},tr.prototype.string=function(t){let e=globalThis.Buffer.byteLength(t);return this.uint32(e),e>0&&this._push(Na,e,t),this});function Ta(t,e,r){e.set(t,r)}function Na(t,e,r){t.length<40?Vn(t,e,r):e.utf8Write!=null?e.utf8Write(t,r):e.set(Ge(t),r)}function Zn(){return new tr}function vr(t,e){let r=Zn();return e.encode(t,r,{lengthDelimited:!1}),r.finish()}var Dt;(function(t){t[t.VARINT=0]="VARINT",t[t.BIT64=1]="BIT64",t[t.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",t[t.START_GROUP=3]="START_GROUP",t[t.END_GROUP=4]="END_GROUP",t[t.BIT32=5]="BIT32"})(Dt||(Dt={}));function Sr(t,e,r,n){return{name:t,type:e,encode:r,decode:n}}function Qn(t){function e(i){if(t[i.toString()]==null)throw new Error("Invalid enum value");return t[i]}let r=function(o,s){let a=e(o);s.int32(a)},n=function(o){let s=o.int32();return e(s)};return Sr("enum",Dt.VARINT,r,n)}function Ar(t,e){return Sr("message",Dt.LENGTH_DELIMITED,t,e)}var me;(function(t){t.RSA="RSA",t.Ed25519="Ed25519",t.secp256k1="secp256k1"})(me||(me={}));var Jn;(function(t){t[t.RSA=0]="RSA",t[t.Ed25519=1]="Ed25519",t[t.secp256k1=2]="secp256k1"})(Jn||(Jn={}));(function(t){t.codec=()=>Qn(Jn)})(me||(me={}));var rr;(function(t){let e;t.codec=()=>(e==null&&(e=Ar((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),me.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n,i={})=>{let o={},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let a=r.uint32();switch(a>>>3){case 1:{o.Type=me.codec().decode(r);break}case 2:{o.Data=r.bytes();break}default:{r.skipType(a&7);break}}}return o})),e),t.encode=r=>vr(r,t.codec()),t.decode=(r,n)=>br(r,t.codec(),n)})(rr||(rr={}));var ei;(function(t){let e;t.codec=()=>(e==null&&(e=Ar((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),me.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n,i={})=>{let o={},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let a=r.uint32();switch(a>>>3){case 1:{o.Type=me.codec().decode(r);break}case 2:{o.Data=r.bytes();break}default:{r.skipType(a&7);break}}}return o})),e),t.encode=r=>vr(r,t.codec()),t.decode=(r,n)=>br(r,t.codec(),n)})(ei||(ei={}));function Fo(t){if(!Number.isSafeInteger(t)||t<0)throw new Error("positive integer expected, got "+t)}function Oa(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function _t(t,...e){if(!Oa(t))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(t.length))throw new Error("Uint8Array expected of length "+e+", got length="+t.length)}function Ko(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");Fo(t.outputLen),Fo(t.blockLen)}function Mt(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function qo(t,e){_t(t);let r=e.outputLen;if(t.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}var Ye=Ut(ne("node:crypto"),1),wt=Ye&&typeof Ye=="object"&&"webcrypto"in Ye?Ye.webcrypto:Ye&&typeof Ye=="object"&&"randomBytes"in Ye?Ye:void 0;function Br(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}function Ie(t,e){return t<<32-e|t>>>e}function Pa(t){if(typeof t!="string")throw new Error("utf8ToBytes expected string, got "+typeof t);return new Uint8Array(new TextEncoder().encode(t))}function nr(t){return typeof t=="string"&&(t=Pa(t)),_t(t),t}function zo(...t){let e=0;for(let n=0;n<t.length;n++){let i=t[n];_t(i),e+=i.length}let r=new Uint8Array(e);for(let n=0,i=0;n<t.length;n++){let o=t[n];r.set(o,i),i+=o.length}return r}var Ft=class{clone(){return this._cloneInto()}};function Vo(t){let e=n=>t().update(nr(n)).digest(),r=t();return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=()=>t(),e}function Ho(t=32){if(wt&&typeof wt.getRandomValues=="function")return wt.getRandomValues(new Uint8Array(t));if(wt&&typeof wt.randomBytes=="function")return wt.randomBytes(t);throw new Error("crypto.getRandomValues must be defined")}function Ra(t,e,r,n){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,r,n);let i=BigInt(32),o=BigInt(4294967295),s=Number(r>>i&o),a=Number(r&o),c=n?4:0,u=n?0:4;t.setUint32(e+c,s,n),t.setUint32(e+u,a,n)}function jo(t,e,r){return t&e^~t&r}function $o(t,e,r){return t&e^t&r^e&r}var Ur=class extends Ft{constructor(e,r,n,i){super(),this.blockLen=e,this.outputLen=r,this.padOffset=n,this.isLE=i,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=Br(this.buffer)}update(e){Mt(this);let{view:r,buffer:n,blockLen:i}=this;e=nr(e);let o=e.length;for(let s=0;s<o;){let a=Math.min(i-this.pos,o-s);if(a===i){let c=Br(e);for(;i<=o-s;s+=i)this.process(c,s);continue}n.set(e.subarray(s,s+a),this.pos),this.pos+=a,s+=a,this.pos===i&&(this.process(r,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){Mt(this),qo(e,this),this.finished=!0;let{buffer:r,view:n,blockLen:i,isLE:o}=this,{pos:s}=this;r[s++]=128,this.buffer.subarray(s).fill(0),this.padOffset>i-s&&(this.process(n,0),s=0);for(let l=s;l<i;l++)r[l]=0;Ra(n,i-8,BigInt(this.length*8),o),this.process(n,0);let a=Br(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let u=c/4,m=this.get();if(u>m.length)throw new Error("_sha2: outputLen bigger than state");for(let l=0;l<u;l++)a.setUint32(4*l,m[l],o)}digest(){let{buffer:e,outputLen:r}=this;this.digestInto(e);let n=e.slice(0,r);return this.destroy(),n}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:r,buffer:n,length:i,finished:o,destroyed:s,pos:a}=this;return e.length=i,e.pos=a,e.finished=o,e.destroyed=s,i%r&&e.buffer.set(n),e}};var ka=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]),nt=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),it=new Uint32Array(64),ti=class extends Ur{constructor(){super(64,32,8,!1),this.A=nt[0]|0,this.B=nt[1]|0,this.C=nt[2]|0,this.D=nt[3]|0,this.E=nt[4]|0,this.F=nt[5]|0,this.G=nt[6]|0,this.H=nt[7]|0}get(){let{A:e,B:r,C:n,D:i,E:o,F:s,G:a,H:c}=this;return[e,r,n,i,o,s,a,c]}set(e,r,n,i,o,s,a,c){this.A=e|0,this.B=r|0,this.C=n|0,this.D=i|0,this.E=o|0,this.F=s|0,this.G=a|0,this.H=c|0}process(e,r){for(let l=0;l<16;l++,r+=4)it[l]=e.getUint32(r,!1);for(let l=16;l<64;l++){let d=it[l-15],p=it[l-2],h=Ie(d,7)^Ie(d,18)^d>>>3,y=Ie(p,17)^Ie(p,19)^p>>>10;it[l]=y+it[l-7]+h+it[l-16]|0}let{A:n,B:i,C:o,D:s,E:a,F:c,G:u,H:m}=this;for(let l=0;l<64;l++){let d=Ie(a,6)^Ie(a,11)^Ie(a,25),p=m+d+jo(a,c,u)+ka[l]+it[l]|0,y=(Ie(n,2)^Ie(n,13)^Ie(n,22))+$o(n,i,o)|0;m=u,u=c,c=a,a=s+p|0,s=o,o=i,i=n,n=p+y|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,m=m+this.H|0,this.set(n,i,o,s,a,c,u,m)}roundClean(){it.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var Go=Vo(()=>new ti);var Lr=class extends Ft{constructor(e,r){super(),this.finished=!1,this.destroyed=!1,Ko(e);let n=nr(r);if(this.iHash=e.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let i=this.blockLen,o=new Uint8Array(i);o.set(n.length>i?e.create().update(n).digest():n);for(let s=0;s<o.length;s++)o[s]^=54;this.iHash.update(o),this.oHash=e.create();for(let s=0;s<o.length;s++)o[s]^=106;this.oHash.update(o),o.fill(0)}update(e){return Mt(this),this.iHash.update(e),this}digestInto(e){Mt(this),_t(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));let{oHash:r,iHash:n,finished:i,destroyed:o,blockLen:s,outputLen:a}=this;return e=e,e.finished=i,e.destroyed=o,e.blockLen=s,e.outputLen=a,e.oHash=r._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},ri=(t,e,r)=>new Lr(t,e).update(r).digest();ri.create=(t,e)=>new Lr(t,e);var ai={};ie(ai,{aInRange:()=>ct,abool:()=>xt,abytes:()=>Kt,bitGet:()=>qa,bitLen:()=>si,bitMask:()=>or,bitSet:()=>za,bytesToHex:()=>Et,bytesToNumberBE:()=>We,bytesToNumberLE:()=>Cr,concatBytes:()=>qt,createHmacDrbg:()=>ci,ensureBytes:()=>he,equalBytes:()=>Fa,hexToBytes:()=>It,hexToNumber:()=>oi,inRange:()=>ir,isBytes:()=>ot,memoized:()=>Pr,notImplemented:()=>Ha,numberToBytesBE:()=>st,numberToBytesLE:()=>Or,numberToHexUnpadded:()=>bt,numberToVarBytesBE:()=>Ma,utf8ToBytes:()=>Ka,validateObject:()=>at});var Tr=BigInt(0),Nr=BigInt(1),Da=BigInt(2);function ot(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function Kt(t){if(!ot(t))throw new Error("Uint8Array expected")}function xt(t,e){if(typeof e!="boolean")throw new Error(t+" boolean expected, got "+e)}var _a=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function Et(t){Kt(t);let e="";for(let r=0;r<t.length;r++)e+=_a[t[r]];return e}function bt(t){let e=t.toString(16);return e.length&1?"0"+e:e}function oi(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);return t===""?Tr:BigInt("0x"+t)}var Xe={_0:48,_9:57,A:65,F:70,a:97,f:102};function Yo(t){if(t>=Xe._0&&t<=Xe._9)return t-Xe._0;if(t>=Xe.A&&t<=Xe.F)return t-(Xe.A-10);if(t>=Xe.a&&t<=Xe.f)return t-(Xe.a-10)}function It(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);let e=t.length,r=e/2;if(e%2)throw new Error("hex string expected, got unpadded hex of length "+e);let n=new Uint8Array(r);for(let i=0,o=0;i<r;i++,o+=2){let s=Yo(t.charCodeAt(o)),a=Yo(t.charCodeAt(o+1));if(s===void 0||a===void 0){let c=t[o]+t[o+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+o)}n[i]=s*16+a}return n}function We(t){return oi(Et(t))}function Cr(t){return Kt(t),oi(Et(Uint8Array.from(t).reverse()))}function st(t,e){return It(t.toString(16).padStart(e*2,"0"))}function Or(t,e){return st(t,e).reverse()}function Ma(t){return It(bt(t))}function he(t,e,r){let n;if(typeof e=="string")try{n=It(e)}catch(o){throw new Error(t+" must be hex string or Uint8Array, cause: "+o)}else if(ot(e))n=Uint8Array.from(e);else throw new Error(t+" must be hex string or Uint8Array");let i=n.length;if(typeof r=="number"&&i!==r)throw new Error(t+" of length "+r+" expected, got "+i);return n}function qt(...t){let e=0;for(let n=0;n<t.length;n++){let i=t[n];Kt(i),e+=i.length}let r=new Uint8Array(e);for(let n=0,i=0;n<t.length;n++){let o=t[n];r.set(o,i),i+=o.length}return r}function Fa(t,e){if(t.length!==e.length)return!1;let r=0;for(let n=0;n<t.length;n++)r|=t[n]^e[n];return r===0}function Ka(t){if(typeof t!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(t))}var ni=t=>typeof t=="bigint"&&Tr<=t;function ir(t,e,r){return ni(t)&&ni(e)&&ni(r)&&e<=t&&t<r}function ct(t,e,r,n){if(!ir(e,r,n))throw new Error("expected valid "+t+": "+r+" <= n < "+n+", got "+e)}function si(t){let e;for(e=0;t>Tr;t>>=Nr,e+=1);return e}function qa(t,e){return t>>BigInt(e)&Nr}function za(t,e,r){return t|(r?Nr:Tr)<<BigInt(e)}var or=t=>(Da<<BigInt(t-1))-Nr,ii=t=>new Uint8Array(t),Xo=t=>Uint8Array.from(t);function ci(t,e,r){if(typeof t!="number"||t<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");if(typeof r!="function")throw new Error("hmacFn must be a function");let n=ii(t),i=ii(t),o=0,s=()=>{n.fill(1),i.fill(0),o=0},a=(...l)=>r(i,n,...l),c=(l=ii())=>{i=a(Xo([0]),l),n=a(),l.length!==0&&(i=a(Xo([1]),l),n=a())},u=()=>{if(o++>=1e3)throw new Error("drbg: tried 1000 values");let l=0,d=[];for(;l<e;){n=a();let p=n.slice();d.push(p),l+=n.length}return qt(...d)};return(l,d)=>{s(),c(l);let p;for(;!(p=d(u()));)c();return s(),p}}var Va={bigint:t=>typeof t=="bigint",function:t=>typeof t=="function",boolean:t=>typeof t=="boolean",string:t=>typeof t=="string",stringOrUint8Array:t=>typeof t=="string"||ot(t),isSafeInteger:t=>Number.isSafeInteger(t),array:t=>Array.isArray(t),field:(t,e)=>e.Fp.isValid(t),hash:t=>typeof t=="function"&&Number.isSafeInteger(t.outputLen)};function at(t,e,r={}){let n=(i,o,s)=>{let a=Va[o];if(typeof a!="function")throw new Error("invalid validator function");let c=t[i];if(!(s&&c===void 0)&&!a(c,t))throw new Error("param "+String(i)+" is invalid. Expected "+o+", got "+c)};for(let[i,o]of Object.entries(e))n(i,o,!1);for(let[i,o]of Object.entries(r))n(i,o,!0);return t}var Ha=()=>{throw new Error("not implemented")};function Pr(t){let e=new WeakMap;return(r,...n)=>{let i=e.get(r);if(i!==void 0)return i;let o=t(r,...n);return e.set(r,o),o}}var H=BigInt(0),q=BigInt(1),vt=BigInt(2),ja=BigInt(3),ui=BigInt(4),Wo=BigInt(5),Zo=BigInt(8),$a=BigInt(9),Ga=BigInt(16);function Z(t,e){let r=t%e;return r>=H?r:e+r}function Ya(t,e,r){if(e<H)throw new Error("invalid exponent, negatives unsupported");if(r<=H)throw new Error("invalid modulus");if(r===q)return H;let n=q;for(;e>H;)e&q&&(n=n*t%r),t=t*t%r,e>>=q;return n}function pe(t,e,r){let n=t;for(;e-- >H;)n*=n,n%=r;return n}function Rr(t,e){if(t===H)throw new Error("invert: expected non-zero number");if(e<=H)throw new Error("invert: expected positive modulus, got "+e);let r=Z(t,e),n=e,i=H,o=q,s=q,a=H;for(;r!==H;){let u=n/r,m=n%r,l=i-s*u,d=o-a*u;n=r,r=m,i=s,o=a,s=l,a=d}if(n!==q)throw new Error("invert: does not exist");return Z(i,e)}function Xa(t){let e=(t-q)/vt,r,n,i;for(r=t-q,n=0;r%vt===H;r/=vt,n++);for(i=vt;i<t&&Ya(i,e,t)!==t-q;i++)if(i>1e3)throw new Error("Cannot find square root: likely non-prime P");if(n===1){let s=(t+q)/ui;return function(c,u){let m=c.pow(u,s);if(!c.eql(c.sqr(m),u))throw new Error("Cannot find square root");return m}}let o=(r+q)/vt;return function(a,c){if(a.pow(c,e)===a.neg(a.ONE))throw new Error("Cannot find square root");let u=n,m=a.pow(a.mul(a.ONE,i),r),l=a.pow(c,o),d=a.pow(c,r);for(;!a.eql(d,a.ONE);){if(a.eql(d,a.ZERO))return a.ZERO;let p=1;for(let y=a.sqr(d);p<u&&!a.eql(y,a.ONE);p++)y=a.sqr(y);let h=a.pow(m,q<<BigInt(u-p-1));m=a.sqr(h),l=a.mul(l,h),d=a.mul(d,m),u=p}return l}}function Wa(t){if(t%ui===ja){let e=(t+q)/ui;return function(n,i){let o=n.pow(i,e);if(!n.eql(n.sqr(o),i))throw new Error("Cannot find square root");return o}}if(t%Zo===Wo){let e=(t-Wo)/Zo;return function(n,i){let o=n.mul(i,vt),s=n.pow(o,e),a=n.mul(i,s),c=n.mul(n.mul(a,vt),s),u=n.mul(a,n.sub(c,n.ONE));if(!n.eql(n.sqr(u),i))throw new Error("Cannot find square root");return u}}return t%Ga,Xa(t)}var Za=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function di(t){let e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},r=Za.reduce((n,i)=>(n[i]="function",n),e);return at(t,r)}function Qa(t,e,r){if(r<H)throw new Error("invalid exponent, negatives unsupported");if(r===H)return t.ONE;if(r===q)return e;let n=t.ONE,i=e;for(;r>H;)r&q&&(n=t.mul(n,i)),i=t.sqr(i),r>>=q;return n}function Ja(t,e){let r=new Array(e.length),n=e.reduce((o,s,a)=>t.is0(s)?o:(r[a]=o,t.mul(o,s)),t.ONE),i=t.inv(n);return e.reduceRight((o,s,a)=>t.is0(s)?o:(r[a]=t.mul(o,r[a]),t.mul(o,s)),i),r}function li(t,e){let r=e!==void 0?e:t.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function kr(t,e,r=!1,n={}){if(t<=H)throw new Error("invalid field: expected ORDER > 0, got "+t);let{nBitLength:i,nByteLength:o}=li(t,e);if(o>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let s,a=Object.freeze({ORDER:t,isLE:r,BITS:i,BYTES:o,MASK:or(i),ZERO:H,ONE:q,create:c=>Z(c,t),isValid:c=>{if(typeof c!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof c);return H<=c&&c<t},is0:c=>c===H,isOdd:c=>(c&q)===q,neg:c=>Z(-c,t),eql:(c,u)=>c===u,sqr:c=>Z(c*c,t),add:(c,u)=>Z(c+u,t),sub:(c,u)=>Z(c-u,t),mul:(c,u)=>Z(c*u,t),pow:(c,u)=>Qa(a,c,u),div:(c,u)=>Z(c*Rr(u,t),t),sqrN:c=>c*c,addN:(c,u)=>c+u,subN:(c,u)=>c-u,mulN:(c,u)=>c*u,inv:c=>Rr(c,t),sqrt:n.sqrt||(c=>(s||(s=Wa(t)),s(a,c))),invertBatch:c=>Ja(a,c),cmov:(c,u,m)=>m?u:c,toBytes:c=>r?Or(c,o):st(c,o),fromBytes:c=>{if(c.length!==o)throw new Error("Field.fromBytes: expected "+o+" bytes, got "+c.length);return r?Cr(c):We(c)}});return Object.freeze(a)}function Qo(t){if(typeof t!="bigint")throw new Error("field order must be bigint");let e=t.toString(2).length;return Math.ceil(e/8)}function hi(t){let e=Qo(t);return e+Math.ceil(e/2)}function Jo(t,e,r=!1){let n=t.length,i=Qo(e),o=hi(e);if(n<16||n<o||n>1024)throw new Error("expected "+o+"-1024 bytes of input, got "+n);let s=r?Cr(t):We(t),a=Z(s,e-q)+q;return r?Or(a,i):st(a,i)}var es=BigInt(0),Dr=BigInt(1);function pi(t,e){let r=e.negate();return t?r:e}function ts(t,e){if(!Number.isSafeInteger(t)||t<=0||t>e)throw new Error("invalid window size, expected [1.."+e+"], got W="+t)}function gi(t,e){ts(t,e);let r=Math.ceil(e/t)+1,n=2**(t-1);return{windows:r,windowSize:n}}function eu(t,e){if(!Array.isArray(t))throw new Error("array expected");t.forEach((r,n)=>{if(!(r instanceof e))throw new Error("invalid point at index "+n)})}function tu(t,e){if(!Array.isArray(t))throw new Error("array of scalars expected");t.forEach((r,n)=>{if(!e.isValid(r))throw new Error("invalid scalar at index "+n)})}var mi=new WeakMap,rs=new WeakMap;function yi(t){return rs.get(t)||1}function ns(t,e){return{constTimeNegate:pi,hasPrecomputes(r){return yi(r)!==1},unsafeLadder(r,n,i=t.ZERO){let o=r;for(;n>es;)n&Dr&&(i=i.add(o)),o=o.double(),n>>=Dr;return i},precomputeWindow(r,n){let{windows:i,windowSize:o}=gi(n,e),s=[],a=r,c=a;for(let u=0;u<i;u++){c=a,s.push(c);for(let m=1;m<o;m++)c=c.add(a),s.push(c);a=c.double()}return s},wNAF(r,n,i){let{windows:o,windowSize:s}=gi(r,e),a=t.ZERO,c=t.BASE,u=BigInt(2**r-1),m=2**r,l=BigInt(r);for(let d=0;d<o;d++){let p=d*s,h=Number(i&u);i>>=l,h>s&&(h-=m,i+=Dr);let y=p,g=p+Math.abs(h)-1,f=d%2!==0,x=h<0;h===0?c=c.add(pi(f,n[y])):a=a.add(pi(x,n[g]))}return{p:a,f:c}},wNAFUnsafe(r,n,i,o=t.ZERO){let{windows:s,windowSize:a}=gi(r,e),c=BigInt(2**r-1),u=2**r,m=BigInt(r);for(let l=0;l<s;l++){let d=l*a;if(i===es)break;let p=Number(i&c);if(i>>=m,p>a&&(p-=u,i+=Dr),p===0)continue;let h=n[d+Math.abs(p)-1];p<0&&(h=h.negate()),o=o.add(h)}return o},getPrecomputes(r,n,i){let o=mi.get(n);return o||(o=this.precomputeWindow(n,r),r!==1&&mi.set(n,i(o))),o},wNAFCached(r,n,i){let o=yi(r);return this.wNAF(o,this.getPrecomputes(o,r,i),n)},wNAFCachedUnsafe(r,n,i,o){let s=yi(r);return s===1?this.unsafeLadder(r,n,o):this.wNAFUnsafe(s,this.getPrecomputes(s,r,i),n,o)},setWindowSize(r,n){ts(n,e),rs.set(r,n),mi.delete(r)}}}function is(t,e,r,n){if(eu(r,t),tu(n,e),r.length!==n.length)throw new Error("arrays of points and scalars must have equal length");let i=t.ZERO,o=si(BigInt(r.length)),s=o>12?o-3:o>4?o-2:o?2:1,a=(1<<s)-1,c=new Array(a+1).fill(i),u=Math.floor((e.BITS-1)/s)*s,m=i;for(let l=u;l>=0;l-=s){c.fill(i);for(let p=0;p<n.length;p++){let h=n[p],y=Number(h>>BigInt(l)&BigInt(a));c[y]=c[y].add(r[p])}let d=i;for(let p=c.length-1,h=i;p>0;p--)h=h.add(c[p]),d=d.add(h);if(m=m.add(d),l!==0)for(let p=0;p<s;p++)m=m.double()}return m}function fi(t){return di(t.Fp),at(t,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...li(t.n,t.nBitLength),...t,p:t.Fp.ORDER})}function os(t){t.lowS!==void 0&&xt("lowS",t.lowS),t.prehash!==void 0&&xt("prehash",t.prehash)}function ru(t){let e=fi(t);at(e,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:r,Fp:n,a:i}=e;if(r){if(!n.eql(i,n.ZERO))throw new Error("invalid 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("invalid endomorphism, expected beta: bigint and splitScalar: function")}return Object.freeze({...e})}var{bytesToNumberBE:nu,hexToBytes:iu}=ai,wi=class extends Error{constructor(e=""){super(e)}},Ze={Err:wi,_tlv:{encode:(t,e)=>{let{Err:r}=Ze;if(t<0||t>256)throw new r("tlv.encode: wrong tag");if(e.length&1)throw new r("tlv.encode: unpadded data");let n=e.length/2,i=bt(n);if(i.length/2&128)throw new r("tlv.encode: long form length too big");let o=n>127?bt(i.length/2|128):"";return bt(t)+o+i+e},decode(t,e){let{Err:r}=Ze,n=0;if(t<0||t>256)throw new r("tlv.encode: wrong tag");if(e.length<2||e[n++]!==t)throw new r("tlv.decode: wrong tlv");let i=e[n++],o=!!(i&128),s=0;if(!o)s=i;else{let c=i&127;if(!c)throw new r("tlv.decode(long): indefinite length not supported");if(c>4)throw new r("tlv.decode(long): byte length is too big");let u=e.subarray(n,n+c);if(u.length!==c)throw new r("tlv.decode: length bytes not complete");if(u[0]===0)throw new r("tlv.decode(long): zero leftmost byte");for(let m of u)s=s<<8|m;if(n+=c,s<128)throw new r("tlv.decode(long): not minimal encoding")}let a=e.subarray(n,n+s);if(a.length!==s)throw new r("tlv.decode: wrong value length");return{v:a,l:e.subarray(n+s)}}},_int:{encode(t){let{Err:e}=Ze;if(t<Qe)throw new e("integer: negative integers are not allowed");let r=bt(t);if(Number.parseInt(r[0],16)&8&&(r="00"+r),r.length&1)throw new e("unexpected DER parsing assertion: unpadded hex");return r},decode(t){let{Err:e}=Ze;if(t[0]&128)throw new e("invalid signature integer: negative");if(t[0]===0&&!(t[1]&128))throw new e("invalid signature integer: unnecessary leading zero");return nu(t)}},toSig(t){let{Err:e,_int:r,_tlv:n}=Ze,i=typeof t=="string"?iu(t):t;Kt(i);let{v:o,l:s}=n.decode(48,i);if(s.length)throw new e("invalid signature: left bytes after parsing");let{v:a,l:c}=n.decode(2,o),{v:u,l:m}=n.decode(2,c);if(m.length)throw new e("invalid signature: left bytes after parsing");return{r:r.decode(a),s:r.decode(u)}},hexFromSig(t){let{_tlv:e,_int:r}=Ze,n=e.encode(2,r.encode(t.r)),i=e.encode(2,r.encode(t.s)),o=n+i;return e.encode(48,o)}},Qe=BigInt(0),$=BigInt(1),Qh=BigInt(2),ss=BigInt(3),Jh=BigInt(4);function ou(t){let e=ru(t),{Fp:r}=e,n=kr(e.n,e.nBitLength),i=e.toBytes||((y,g,f)=>{let x=g.toAffine();return qt(Uint8Array.from([4]),r.toBytes(x.x),r.toBytes(x.y))}),o=e.fromBytes||(y=>{let g=y.subarray(1),f=r.fromBytes(g.subarray(0,r.BYTES)),x=r.fromBytes(g.subarray(r.BYTES,2*r.BYTES));return{x:f,y:x}});function s(y){let{a:g,b:f}=e,x=r.sqr(y),b=r.mul(x,y);return r.add(r.add(b,r.mul(y,g)),f)}if(!r.eql(r.sqr(e.Gy),s(e.Gx)))throw new Error("bad generator point: equation left != right");function a(y){return ir(y,$,e.n)}function c(y){let{allowedPrivateKeyLengths:g,nByteLength:f,wrapPrivateKey:x,n:b}=e;if(g&&typeof y!="bigint"){if(ot(y)&&(y=Et(y)),typeof y!="string"||!g.includes(y.length))throw new Error("invalid private key");y=y.padStart(f*2,"0")}let L;try{L=typeof y=="bigint"?y:We(he("private key",y,f))}catch{throw new Error("invalid private key, expected hex or "+f+" bytes, got "+typeof y)}return x&&(L=Z(L,b)),ct("private key",L,$,b),L}function u(y){if(!(y instanceof d))throw new Error("ProjectivePoint expected")}let m=Pr((y,g)=>{let{px:f,py:x,pz:b}=y;if(r.eql(b,r.ONE))return{x:f,y:x};let L=y.is0();g==null&&(g=L?r.ONE:r.inv(b));let T=r.mul(f,g),B=r.mul(x,g),U=r.mul(b,g);if(L)return{x:r.ZERO,y:r.ZERO};if(!r.eql(U,r.ONE))throw new Error("invZ was invalid");return{x:T,y:B}}),l=Pr(y=>{if(y.is0()){if(e.allowInfinityPoint&&!r.is0(y.py))return;throw new Error("bad point: ZERO")}let{x:g,y:f}=y.toAffine();if(!r.isValid(g)||!r.isValid(f))throw new Error("bad point: x or y not FE");let x=r.sqr(f),b=s(g);if(!r.eql(x,b))throw new Error("bad point: equation left != right");if(!y.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});class d{constructor(g,f,x){if(this.px=g,this.py=f,this.pz=x,g==null||!r.isValid(g))throw new Error("x required");if(f==null||!r.isValid(f))throw new Error("y required");if(x==null||!r.isValid(x))throw new Error("z required");Object.freeze(this)}static fromAffine(g){let{x:f,y:x}=g||{};if(!g||!r.isValid(f)||!r.isValid(x))throw new Error("invalid affine point");if(g instanceof d)throw new Error("projective point not allowed");let b=L=>r.eql(L,r.ZERO);return b(f)&&b(x)?d.ZERO:new d(f,x,r.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(g){let f=r.invertBatch(g.map(x=>x.pz));return g.map((x,b)=>x.toAffine(f[b])).map(d.fromAffine)}static fromHex(g){let f=d.fromAffine(o(he("pointHex",g)));return f.assertValidity(),f}static fromPrivateKey(g){return d.BASE.multiply(c(g))}static msm(g,f){return is(d,n,g,f)}_setWindowSize(g){h.setWindowSize(this,g)}assertValidity(){l(this)}hasEvenY(){let{y:g}=this.toAffine();if(r.isOdd)return!r.isOdd(g);throw new Error("Field doesn't support isOdd")}equals(g){u(g);let{px:f,py:x,pz:b}=this,{px:L,py:T,pz:B}=g,U=r.eql(r.mul(f,B),r.mul(L,b)),N=r.eql(r.mul(x,B),r.mul(T,b));return U&&N}negate(){return new d(this.px,r.neg(this.py),this.pz)}double(){let{a:g,b:f}=e,x=r.mul(f,ss),{px:b,py:L,pz:T}=this,B=r.ZERO,U=r.ZERO,N=r.ZERO,C=r.mul(b,b),G=r.mul(L,L),M=r.mul(T,T),_=r.mul(b,L);return _=r.add(_,_),N=r.mul(b,T),N=r.add(N,N),B=r.mul(g,N),U=r.mul(x,M),U=r.add(B,U),B=r.sub(G,U),U=r.add(G,U),U=r.mul(B,U),B=r.mul(_,B),N=r.mul(x,N),M=r.mul(g,M),_=r.sub(C,M),_=r.mul(g,_),_=r.add(_,N),N=r.add(C,C),C=r.add(N,C),C=r.add(C,M),C=r.mul(C,_),U=r.add(U,C),M=r.mul(L,T),M=r.add(M,M),C=r.mul(M,_),B=r.sub(B,C),N=r.mul(M,G),N=r.add(N,N),N=r.add(N,N),new d(B,U,N)}add(g){u(g);let{px:f,py:x,pz:b}=this,{px:L,py:T,pz:B}=g,U=r.ZERO,N=r.ZERO,C=r.ZERO,G=e.a,M=r.mul(e.b,ss),_=r.mul(f,L),ce=r.mul(x,T),E=r.mul(b,B),I=r.add(f,x),A=r.add(L,T);I=r.mul(I,A),A=r.add(_,ce),I=r.sub(I,A),A=r.add(f,b);let P=r.add(L,B);return A=r.mul(A,P),P=r.add(_,E),A=r.sub(A,P),P=r.add(x,b),U=r.add(T,B),P=r.mul(P,U),U=r.add(ce,E),P=r.sub(P,U),C=r.mul(G,A),U=r.mul(M,E),C=r.add(U,C),U=r.sub(ce,C),C=r.add(ce,C),N=r.mul(U,C),ce=r.add(_,_),ce=r.add(ce,_),E=r.mul(G,E),A=r.mul(M,A),ce=r.add(ce,E),E=r.sub(_,E),E=r.mul(G,E),A=r.add(A,E),_=r.mul(ce,A),N=r.add(N,_),_=r.mul(P,A),U=r.mul(I,U),U=r.sub(U,_),_=r.mul(I,ce),C=r.mul(P,C),C=r.add(C,_),new d(U,N,C)}subtract(g){return this.add(g.negate())}is0(){return this.equals(d.ZERO)}wNAF(g){return h.wNAFCached(this,g,d.normalizeZ)}multiplyUnsafe(g){let{endo:f,n:x}=e;ct("scalar",g,Qe,x);let b=d.ZERO;if(g===Qe)return b;if(this.is0()||g===$)return this;if(!f||h.hasPrecomputes(this))return h.wNAFCachedUnsafe(this,g,d.normalizeZ);let{k1neg:L,k1:T,k2neg:B,k2:U}=f.splitScalar(g),N=b,C=b,G=this;for(;T>Qe||U>Qe;)T&$&&(N=N.add(G)),U&$&&(C=C.add(G)),G=G.double(),T>>=$,U>>=$;return L&&(N=N.negate()),B&&(C=C.negate()),C=new d(r.mul(C.px,f.beta),C.py,C.pz),N.add(C)}multiply(g){let{endo:f,n:x}=e;ct("scalar",g,$,x);let b,L;if(f){let{k1neg:T,k1:B,k2neg:U,k2:N}=f.splitScalar(g),{p:C,f:G}=this.wNAF(B),{p:M,f:_}=this.wNAF(N);C=h.constTimeNegate(T,C),M=h.constTimeNegate(U,M),M=new d(r.mul(M.px,f.beta),M.py,M.pz),b=C.add(M),L=G.add(_)}else{let{p:T,f:B}=this.wNAF(g);b=T,L=B}return d.normalizeZ([b,L])[0]}multiplyAndAddUnsafe(g,f,x){let b=d.BASE,L=(B,U)=>U===Qe||U===$||!B.equals(b)?B.multiplyUnsafe(U):B.multiply(U),T=L(this,f).add(L(g,x));return T.is0()?void 0:T}toAffine(g){return m(this,g)}isTorsionFree(){let{h:g,isTorsionFree:f}=e;if(g===$)return!0;if(f)return f(d,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:g,clearCofactor:f}=e;return g===$?this:f?f(d,this):this.multiplyUnsafe(e.h)}toRawBytes(g=!0){return xt("isCompressed",g),this.assertValidity(),i(d,this,g)}toHex(g=!0){return xt("isCompressed",g),Et(this.toRawBytes(g))}}d.BASE=new d(e.Gx,e.Gy,r.ONE),d.ZERO=new d(r.ZERO,r.ONE,r.ZERO);let p=e.nBitLength,h=ns(d,e.endo?Math.ceil(p/2):p);return{CURVE:e,ProjectivePoint:d,normPrivateKeyToScalar:c,weierstrassEquation:s,isWithinCurveOrder:a}}function su(t){let e=fi(t);return at(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}function cs(t){let e=su(t),{Fp:r,n}=e,i=r.BYTES+1,o=2*r.BYTES+1;function s(E){return Z(E,n)}function a(E){return Rr(E,n)}let{ProjectivePoint:c,normPrivateKeyToScalar:u,weierstrassEquation:m,isWithinCurveOrder:l}=ou({...e,toBytes(E,I,A){let P=I.toAffine(),R=r.toBytes(P.x),V=qt;return xt("isCompressed",A),A?V(Uint8Array.from([I.hasEvenY()?2:3]),R):V(Uint8Array.from([4]),R,r.toBytes(P.y))},fromBytes(E){let I=E.length,A=E[0],P=E.subarray(1);if(I===i&&(A===2||A===3)){let R=We(P);if(!ir(R,$,r.ORDER))throw new Error("Point is not on curve");let V=m(R),te;try{te=r.sqrt(V)}catch(fe){let re=fe instanceof Error?": "+fe.message:"";throw new Error("Point is not on curve"+re)}let Q=(te&$)===$;return(A&1)===1!==Q&&(te=r.neg(te)),{x:R,y:te}}else if(I===o&&A===4){let R=r.fromBytes(P.subarray(0,r.BYTES)),V=r.fromBytes(P.subarray(r.BYTES,2*r.BYTES));return{x:R,y:V}}else{let R=i,V=o;throw new Error("invalid Point, expected length of "+R+", or uncompressed "+V+", got "+I)}}}),d=E=>Et(st(E,e.nByteLength));function p(E){let I=n>>$;return E>I}function h(E){return p(E)?s(-E):E}let y=(E,I,A)=>We(E.slice(I,A));class g{constructor(I,A,P){this.r=I,this.s=A,this.recovery=P,this.assertValidity()}static fromCompact(I){let A=e.nByteLength;return I=he("compactSignature",I,A*2),new g(y(I,0,A),y(I,A,2*A))}static fromDER(I){let{r:A,s:P}=Ze.toSig(he("DER",I));return new g(A,P)}assertValidity(){ct("r",this.r,$,n),ct("s",this.s,$,n)}addRecoveryBit(I){return new g(this.r,this.s,I)}recoverPublicKey(I){let{r:A,s:P,recovery:R}=this,V=B(he("msgHash",I));if(R==null||![0,1,2,3].includes(R))throw new Error("recovery id invalid");let te=R===2||R===3?A+e.n:A;if(te>=r.ORDER)throw new Error("recovery id 2 or 3 invalid");let Q=(R&1)===0?"02":"03",Oe=c.fromHex(Q+d(te)),fe=a(te),re=s(-V*fe),St=s(P*fe),Je=c.BASE.multiplyAndAddUnsafe(Oe,re,St);if(!Je)throw new Error("point at infinify");return Je.assertValidity(),Je}hasHighS(){return p(this.s)}normalizeS(){return this.hasHighS()?new g(this.r,s(-this.s),this.recovery):this}toDERRawBytes(){return It(this.toDERHex())}toDERHex(){return Ze.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return It(this.toCompactHex())}toCompactHex(){return d(this.r)+d(this.s)}}let f={isValidPrivateKey(E){try{return u(E),!0}catch{return!1}},normPrivateKeyToScalar:u,randomPrivateKey:()=>{let E=hi(e.n);return Jo(e.randomBytes(E),e.n)},precompute(E=8,I=c.BASE){return I._setWindowSize(E),I.multiply(BigInt(3)),I}};function x(E,I=!0){return c.fromPrivateKey(E).toRawBytes(I)}function b(E){let I=ot(E),A=typeof E=="string",P=(I||A)&&E.length;return I?P===i||P===o:A?P===2*i||P===2*o:E instanceof c}function L(E,I,A=!0){if(b(E))throw new Error("first arg must be private key");if(!b(I))throw new Error("second arg must be public key");return c.fromHex(I).multiply(u(E)).toRawBytes(A)}let T=e.bits2int||function(E){if(E.length>8192)throw new Error("input is too large");let I=We(E),A=E.length*8-e.nBitLength;return A>0?I>>BigInt(A):I},B=e.bits2int_modN||function(E){return s(T(E))},U=or(e.nBitLength);function N(E){return ct("num < 2^"+e.nBitLength,E,Qe,U),st(E,e.nByteLength)}function C(E,I,A=G){if(["recovered","canonical"].some(ut=>ut in A))throw new Error("sign() legacy options not supported");let{hash:P,randomBytes:R}=e,{lowS:V,prehash:te,extraEntropy:Q}=A;V==null&&(V=!0),E=he("msgHash",E),os(A),te&&(E=he("prehashed msgHash",P(E)));let Oe=B(E),fe=u(I),re=[N(fe),N(Oe)];if(Q!=null&&Q!==!1){let ut=Q===!0?R(r.BYTES):Q;re.push(he("extraEntropy",ut))}let St=qt(...re),Je=Oe;function Xr(ut){let At=T(ut);if(!l(At))return;let Wr=a(At),Ht=c.BASE.multiply(At).toAffine(),dt=s(Ht.x);if(dt===Qe)return;let jt=s(Wr*s(Je+dt*fe));if(jt===Qe)return;let Bt=(Ht.x===dt?0:2)|Number(Ht.y&$),Ri=jt;return V&&p(jt)&&(Ri=h(jt),Bt^=1),new g(dt,Ri,Bt)}return{seed:St,k2sig:Xr}}let G={lowS:e.lowS,prehash:!1},M={lowS:e.lowS,prehash:!1};function _(E,I,A=G){let{seed:P,k2sig:R}=C(E,I,A),V=e;return ci(V.hash.outputLen,V.nByteLength,V.hmac)(P,R)}c.BASE._setWindowSize(8);function ce(E,I,A,P=M){let R=E;I=he("msgHash",I),A=he("publicKey",A);let{lowS:V,prehash:te,format:Q}=P;if(os(P),"strict"in P)throw new Error("options.strict was renamed to lowS");if(Q!==void 0&&Q!=="compact"&&Q!=="der")throw new Error("format must be compact or der");let Oe=typeof R=="string"||ot(R),fe=!Oe&&!Q&&typeof R=="object"&&R!==null&&typeof R.r=="bigint"&&typeof R.s=="bigint";if(!Oe&&!fe)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");let re,St;try{if(fe&&(re=new g(R.r,R.s)),Oe){try{Q!=="compact"&&(re=g.fromDER(R))}catch(Bt){if(!(Bt instanceof Ze.Err))throw Bt}!re&&Q!=="der"&&(re=g.fromCompact(R))}St=c.fromHex(A)}catch{return!1}if(!re||V&&re.hasHighS())return!1;te&&(I=e.hash(I));let{r:Je,s:Xr}=re,ut=B(I),At=a(Xr),Wr=s(ut*At),Ht=s(Je*At),dt=c.BASE.multiplyAndAddUnsafe(St,Wr,Ht)?.toAffine();return dt?s(dt.x)===Je:!1}return{CURVE:e,getPublicKey:x,getSharedSecret:L,sign:_,verify:ce,ProjectivePoint:c,Signature:g,utils:f}}function cu(t){return{hash:t,hmac:(e,...r)=>ri(t,e,zo(...r)),randomBytes:Ho}}function as(t,e){let r=n=>cs({...t,...cu(n)});return{...r(e),create:r}}var ls=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),us=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),au=BigInt(1),xi=BigInt(2),ds=(t,e)=>(t+e/xi)/e;function uu(t){let e=ls,r=BigInt(3),n=BigInt(6),i=BigInt(11),o=BigInt(22),s=BigInt(23),a=BigInt(44),c=BigInt(88),u=t*t*t%e,m=u*u*t%e,l=pe(m,r,e)*m%e,d=pe(l,r,e)*m%e,p=pe(d,xi,e)*u%e,h=pe(p,i,e)*p%e,y=pe(h,o,e)*h%e,g=pe(y,a,e)*y%e,f=pe(g,c,e)*g%e,x=pe(f,a,e)*y%e,b=pe(x,r,e)*m%e,L=pe(b,s,e)*h%e,T=pe(L,n,e)*u%e,B=pe(T,xi,e);if(!Ei.eql(Ei.sqr(B),t))throw new Error("Cannot find square root");return B}var Ei=kr(ls,void 0,void 0,{sqrt:uu}),zt=as({a:BigInt(0),b:BigInt(7),Fp:Ei,n:us,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:t=>{let e=us,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-au*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),o=r,s=BigInt("0x100000000000000000000000000000000"),a=ds(o*t,e),c=ds(-n*t,e),u=Z(t-a*r-c*i,e),m=Z(-a*n-c*o,e),l=u>s,d=m>s;if(l&&(u=e-u),d&&(m=e-m),u>s||m>s)throw new Error("splitScalar: Endomorphism failed, k="+t);return{k1neg:l,k1:u,k2neg:d,k2:m}}}},Go),ap=BigInt(0);var up=zt.ProjectivePoint;var hs=Ut(ne("node:crypto"),1);var _r=class extends Error{constructor(e="An error occurred while verifying a message"){super(e),this.name="VerificationError"}};function ps(t,e,r){let n=hs.default.createHash("sha256");if(r instanceof Uint8Array)n.update(r);else for(let o of r)n.update(o);let i=n.digest();try{return zt.verify(e,i,t)}catch(o){throw new _r(String(o))}}var Mr=class{type="secp256k1";raw;_key;constructor(e){this._key=ms(e),this.raw=gs(this._key)}toMultihash(){return He.digest(xr(this))}toCID(){return ee.createV1(114,this.toMultihash())}toString(){return K.encode(this.toMultihash().bytes).substring(1)}equals(e){return e==null||!(e.raw instanceof Uint8Array)?!1:je(this.raw,e.raw)}verify(e,r){return ps(this._key,r,e)}};function ys(t){return new Mr(t)}function gs(t){return zt.ProjectivePoint.fromHex(t).toRawBytes(!0)}function ms(t){try{return zt.ProjectivePoint.fromHex(t),t}catch(e){throw new dr(String(e))}}function fs(t){let{Type:e,Data:r}=rr.decode(t.digest),n=r??new Uint8Array;switch(e){case me.Ed25519:return To(n);case me.secp256k1:return ys(n);default:throw new $t}}function xr(t){return rr.encode({Type:me[t.type],Data:t.raw})}var ws=Symbol.for("nodejs.util.inspect.custom"),du=114,sr=class{type;multihash;publicKey;string;constructor(e){this.type=e.type,this.multihash=e.multihash,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[Zr]=!0;toString(){return this.string==null&&(this.string=K.encode(this.multihash.bytes).slice(1)),this.string}toMultihash(){return this.multihash}toCID(){return ee.createV1(du,this.multihash)}toJSON(){return this.toString()}equals(e){if(e==null)return!1;if(e instanceof Uint8Array)return je(this.multihash.bytes,e);if(typeof e=="string")return this.toString()===e;if(e?.toMultihash()?.bytes!=null)return je(this.multihash.bytes,e.toMultihash().bytes);throw new Error("not valid Id")}[ws](){return`PeerId(${this.toString()})`}},Fr=class extends sr{type="RSA";publicKey;constructor(e){super({...e,type:"RSA"}),this.publicKey=e.publicKey}},Kr=class extends sr{type="Ed25519";publicKey;constructor(e){super({...e,type:"Ed25519"}),this.publicKey=e.publicKey}},qr=class extends sr{type="secp256k1";publicKey;constructor(e){super({...e,type:"secp256k1"}),this.publicKey=e.publicKey}},lu=2336,zr=class{type="url";multihash;publicKey;url;constructor(e){this.url=e.toString(),this.multihash=He.digest(Ge(this.url))}[ws](){return`PeerId(${this.url})`}[Zr]=!0;toString(){return this.toCID().toString()}toMultihash(){return this.multihash}toCID(){return ee.createV1(lu,this.toMultihash())}toJSON(){return this.toString()}equals(e){return e==null?!1:(e instanceof Uint8Array&&(e=z(e)),e.toString()===this.toString())}};function xs(t,e){let r;if(t.charAt(0)==="1"||t.charAt(0)==="Q")r=pt(K.decode(`z${t}`));else{if(e==null)throw new Lt('Please pass a multibase decoder for strings that do not start with "1" or "Q"');r=pt(e.decode(t))}return hu(r)}function hu(t){if(gu(t))return new Fr({multihash:t});if(pu(t))try{let e=fs(t);if(e.type==="Ed25519")return new Kr({multihash:t,publicKey:e});if(e.type==="secp256k1")return new qr({multihash:t,publicKey:e})}catch{let r=z(t.digest);return new zr(new URL(r))}throw new lr("Supplied PeerID Multihash is invalid")}function pu(t){return t.code===He.code}function gu(t){return t.code===Cn.code}var ye=ne("node:net");function Vr(t){return!!(0,ye.isIP)(t)}var bs=Ut(Es(),1),mu=["0.0.0.0/8","10.0.0.0/8","100.64.0.0/10","127.0.0.0/8","169.254.0.0/16","172.16.0.0/12","192.0.0.0/24","192.0.0.0/29","192.0.0.8/32","192.0.0.9/32","192.0.0.10/32","192.0.0.170/32","192.0.0.171/32","192.0.2.0/24","192.31.196.0/24","192.52.193.0/24","192.88.99.0/24","192.168.0.0/16","192.175.48.0/24","198.18.0.0/15","198.51.100.0/24","203.0.113.0/24","240.0.0.0/4","255.255.255.255/32"],yu=mu.map(t=>new bs.Netmask(t));function bi(t){for(let e of yu)if(e.contains(t))return!0;return!1}function fu(t){return/^::ffff:([0-9a-fA-F]{1,4}):([0-9a-fA-F]{1,4})$/.test(t)}function wu(t){let e=t.split(":");if(e.length<2)return!1;let r=e[e.length-1].padStart(4,"0"),n=e[e.length-2].padStart(4,"0"),i=`${parseInt(n.substring(0,2),16)}.${parseInt(n.substring(2),16)}.${parseInt(r.substring(0,2),16)}.${parseInt(r.substring(2),16)}`;return bi(i)}function xu(t){return/^::ffff:([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)}function Eu(t){let e=t.split(":"),r=e[e.length-1];return bi(r)}function bu(t){return/^::$/.test(t)||/^::1$/.test(t)||/^64:ff9b::([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)||/^100::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001:2[0-9a-fA-F]:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001:db8:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2002:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^f[c-d]([0-9a-fA-F]{2,2}):/i.test(t)||/^fe[8-9a-bA-B][0-9a-fA-F]:/i.test(t)||/^ff([0-9a-fA-F]{2,2}):/i.test(t)}function Is(t){return(0,ye.isIPv4)(t)?bi(t):fu(t)?wu(t):xu(t)?Eu(t):(0,ye.isIPv6)(t)?bu(t):void 0}function vs(t){try{let[[e]]=t.stringTuples();return e===4||e===41}catch{}return!1}function Ss(t){try{if(!vs(t))return!1;let[[,e]]=t.stringTuples();return e==null?!1:Is(e)??!1}catch{}return!0}var Hr=class{index=0;input="";new(e){return this.index=0,this.input=e,this}readAtomically(e){let r=this.index,n=e();return n===void 0&&(this.index=r),n}parseWith(e){let r=e();if(this.index===this.input.length)return r}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(e){return this.readAtomically(()=>{let r=this.readChar();if(r===e)return r})}readSeparator(e,r,n){return this.readAtomically(()=>{if(!(r>0&&this.readGivenChar(e)===void 0))return n()})}readNumber(e,r,n,i){return this.readAtomically(()=>{let o=0,s=0,a=this.peekChar();if(a===void 0)return;let c=a==="0",u=2**(8*i)-1;for(;;){let m=this.readAtomically(()=>{let l=this.readChar();if(l===void 0)return;let d=Number.parseInt(l,e);if(!Number.isNaN(d))return d});if(m===void 0)break;if(o*=e,o+=m,o>u||(s+=1,r!==void 0&&s>r))return}if(s!==0)return!n&&c&&s>1?void 0:o})}readIPv4Addr(){return this.readAtomically(()=>{let e=new Uint8Array(4);for(let r=0;r<e.length;r++){let n=this.readSeparator(".",r,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;e[r]=n}return e})}readIPv6Addr(){let e=r=>{for(let n=0;n<r.length/2;n++){let i=n*2;if(n<r.length-3){let s=this.readSeparator(":",n,()=>this.readIPv4Addr());if(s!==void 0)return r[i]=s[0],r[i+1]=s[1],r[i+2]=s[2],r[i+3]=s[3],[i+4,!0]}let o=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(o===void 0)return[i,!1];r[i]=o>>8,r[i+1]=o&255}return[r.length,!1]};return this.readAtomically(()=>{let r=new Uint8Array(16),[n,i]=e(r);if(n===16)return r;if(i||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let o=new Uint8Array(14),s=16-(n+2),[a]=e(o.subarray(0,s));return r.set(o.subarray(0,a),16-a),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var y0=new Hr;var S0=parseInt("0xFFFF",16),A0=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);var Us=ye.isIPv4,Uu=ye.isIPv6,Ii=function(t){let e=0;if(t=t.toString().trim(),Us(t)){let r=new Uint8Array(e+4);return t.split(/\./g).forEach(n=>{r[e++]=parseInt(n,10)&255}),r}if(Uu(t)){let r=t.split(":",8),n;for(n=0;n<r.length;n++){let o=Us(r[n]),s;o&&(s=Ii(r[n]),r[n]=z(s.slice(0,2),"base16")),s!=null&&++n<8&&r.splice(n,0,z(s.slice(2,4),"base16"))}if(r[0]==="")for(;r.length<8;)r.unshift("0");else if(r[r.length-1]==="")for(;r.length<8;)r.push("0");else if(r.length<8){for(n=0;n<r.length&&r[n]!=="";n++);let o=[n,1];for(n=9-r.length;n>0;n--)o.push("0");r.splice.apply(r,o)}let i=new Uint8Array(e+16);for(n=0;n<r.length;n++){let o=parseInt(r[n],16);i[e++]=o>>8&255,i[e++]=o&255}return i}throw new Error("invalid ip address")},Ls=function(t,e=0,r){e=~~e,r=r??t.length-e;let n=new DataView(t.buffer);if(r===4){let i=[];for(let o=0;o<r;o++)i.push(t[e+o]);return i.join(".")}if(r===16){let i=[];for(let o=0;o<r;o+=2)i.push(n.getUint16(e+o).toString(16));return i.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var Vt={},vi={},Tu=[[4,32,"ip4"],[6,16,"tcp"],[33,16,"dccp"],[41,128,"ip6"],[42,-1,"ip6zone"],[43,8,"ipcidr"],[53,-1,"dns",!0],[54,-1,"dns4",!0],[55,-1,"dns6",!0],[56,-1,"dnsaddr",!0],[132,16,"sctp"],[273,16,"udp"],[275,0,"p2p-webrtc-star"],[276,0,"p2p-webrtc-direct"],[277,0,"p2p-stardust"],[280,0,"webrtc-direct"],[281,0,"webrtc"],[290,0,"p2p-circuit"],[301,0,"udt"],[302,0,"utp"],[400,-1,"unix",!1,!0],[421,-1,"ipfs"],[421,-1,"p2p"],[443,0,"https"],[444,96,"onion"],[445,296,"onion3"],[446,-1,"garlic64"],[448,0,"tls"],[449,-1,"sni"],[460,0,"quic"],[461,0,"quic-v1"],[465,0,"webtransport"],[466,-1,"certhash"],[477,0,"ws"],[478,0,"wss"],[479,0,"p2p-websocket-star"],[480,0,"http"],[481,-1,"http-path"],[777,-1,"memory"]];Tu.forEach(t=>{let e=Nu(...t);vi[e.code]=e,Vt[e.name]=e});function Nu(t,e,r,n,i){return{code:t,size:e,name:r,resolvable:!!n,path:!!i}}function D(t){if(typeof t=="number"){if(vi[t]!=null)return vi[t];throw new Error(`no protocol with code: ${t}`)}else if(typeof t=="string"){if(Vt[t]!=null)return Vt[t];throw new Error(`no protocol with name: ${t}`)}throw new Error(`invalid protocol id type: ${typeof t}`)}var ag=D("ip4"),ug=D("ip6"),dg=D("ipcidr");function Ui(t,e){switch(D(t).code){case 4:case 41:return Ou(e);case 42:return Bi(e);case 43:return z(e,"base10");case 6:case 273:case 33:case 132:return Cs(e).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Bi(e);case 421:return Du(e);case 444:return Ns(e);case 445:return Ns(e);case 466:return ku(e);case 481:return globalThis.encodeURIComponent(Bi(e));default:return z(e,"base16")}}function Li(t,e){switch(D(t).code){case 4:return Ts(e);case 41:return Ts(e);case 42:return Ai(e);case 43:return Ge(e,"base10");case 6:case 273:case 33:case 132:return Ti(parseInt(e,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Ai(e);case 421:return Pu(e);case 444:return _u(e);case 445:return Mu(e);case 466:return Ru(e);case 481:return Ai(globalThis.decodeURIComponent(e));default:return Ge(e,"base16")}}var Si=Object.values(Qt).map(t=>t.decoder),Cu=function(){let t=Si[0].or(Si[1]);return Si.slice(2).forEach(e=>t=t.or(e)),t}();function Ts(t){if(!Vr(t))throw new Error("invalid ip address");return Ii(t)}function Ou(t){let e=Ls(t,0,t.length);if(e==null)throw new Error("ipBuff is required");if(!Vr(e))throw new Error("invalid ip address");return e}function Ti(t){let e=new ArrayBuffer(2);return new DataView(e).setUint16(0,t),new Uint8Array(e)}function Cs(t){return new DataView(t.buffer).getUint16(t.byteOffset)}function Ai(t){let e=Ge(t),r=Uint8Array.from(kt(e.length));return Ce([r,e],r.length+e.length)}function Bi(t){let e=mt(t);if(t=t.slice(se(e)),t.length!==e)throw new Error("inconsistent lengths");return z(t)}function Pu(t){let e;t[0]==="Q"||t[0]==="1"?e=pt(K.decode(`z${t}`)).bytes:e=ee.parse(t).multihash.bytes;let r=Uint8Array.from(kt(e.length));return Ce([r,e],r.length+e.length)}function Ru(t){let e=Cu.decode(t),r=Uint8Array.from(kt(e.length));return Ce([r,e],r.length+e.length)}function ku(t){let e=mt(t),r=t.slice(se(e));if(r.length!==e)throw new Error("inconsistent lengths");return"u"+z(r,"base64url")}function Du(t){let e=mt(t),r=t.slice(se(e));if(r.length!==e)throw new Error("inconsistent lengths");return z(r,"base58btc")}function _u(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==16)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion address.`);let r=Ve.decode("b"+e[0]),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=Ti(n);return Ce([r,i],r.length+i.length)}function Mu(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==56)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion3 address.`);let r=Ve.decode(`b${e[0]}`),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=Ti(n);return Ce([r,i],r.length+i.length)}function Ns(t){let e=t.slice(0,t.length-2),r=t.slice(t.length-2),n=z(e,"base32"),i=Cs(r);return`${n}:${i}`}function Os(t){t=Ni(t);let e=[],r=[],n=null,i=t.split("/").slice(1);if(i.length===1&&i[0]==="")return{bytes:new Uint8Array,string:"/",tuples:[],stringTuples:[],path:null};for(let o=0;o<i.length;o++){let s=i[o],a=D(s);if(a.size===0){e.push([a.code]),r.push([a.code]);continue}if(o++,o>=i.length)throw new jr("invalid address: "+t);if(a.path===!0){n=Ni(i.slice(o).join("/")),e.push([a.code,Li(a.code,n)]),r.push([a.code,n]);break}let c=Li(a.code,i[o]);e.push([a.code,c]),r.push([a.code,Ui(a.code,c)])}return{string:Ps(r),bytes:$r(e),tuples:e,stringTuples:r,path:n}}function Ci(t){let e=[],r=[],n=null,i=0;for(;i<t.length;){let o=mt(t,i),s=se(o),a=D(o),c=Fu(a,t.slice(i+s));if(c===0){e.push([o]),r.push([o]),i+=s;continue}let u=t.slice(i+s,i+s+c);if(i+=c+s,i>t.length)throw new jr("Invalid address Uint8Array: "+z(t,"base16"));e.push([o,u]);let m=Ui(o,u);if(r.push([o,m]),a.path===!0){n=m;break}}return{bytes:Uint8Array.from(t),string:Ps(r),tuples:e,stringTuples:r,path:n}}function Ps(t){let e=[];return t.map(r=>{let n=D(r[0]);return e.push(n.name),r.length>1&&r[1]!=null&&e.push(r[1]),null}),Ni(e.join("/"))}function $r(t){return Ce(t.map(e=>{let r=D(e[0]),n=Uint8Array.from(kt(r.code));return e.length>1&&e[1]!=null&&(n=Ce([n,e[1]])),n}))}function Fu(t,e){if(t.size>0)return t.size/8;if(t.size===0)return 0;{let r=mt(e instanceof Uint8Array?e:Uint8Array.from(e));return r+se(r)}}function Ni(t){return"/"+t.trim().split("/").filter(e=>e).join("/")}var jr=class extends Error{static name="ParseError";name="ParseError";constructor(e){super(`Error parsing address: ${e}`)}};var Ku=Symbol.for("nodejs.util.inspect.custom"),Pi=Symbol.for("@multiformats/js-multiaddr/multiaddr"),qu=[D("dns").code,D("dns4").code,D("dns6").code,D("dnsaddr").code],Oi=class extends Error{constructor(e="No available resolver"){super(e),this.name="NoAvailableResolverError"}},Gr=class t{bytes;#e;#t;#r;#n;[Pi]=!0;constructor(e){e==null&&(e="");let r;if(e instanceof Uint8Array)r=Ci(e);else if(typeof e=="string"){if(e.length>0&&e.charAt(0)!=="/")throw new Error(`multiaddr "${e}" must start with a "/"`);r=Os(e)}else if(ks(e))r=Ci(e.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=r.bytes,this.#e=r.string,this.#t=r.tuples,this.#r=r.stringTuples,this.#n=r.path}toString(){return this.#e}toJSON(){return this.toString()}toOptions(){let e,r,n,i,o="",s=D("tcp"),a=D("udp"),c=D("ip4"),u=D("ip6"),m=D("dns6"),l=D("ip6zone");for(let[p,h]of this.stringTuples())p===l.code&&(o=`%${h??""}`),qu.includes(p)&&(r=s.name==="tcp"?"tcp":"udp",i=443,n=`${h??""}${o}`,e=p===m.code?6:4),(p===s.code||p===a.code)&&(r=D(p).name==="tcp"?"tcp":"udp",i=parseInt(h??"")),(p===c.code||p===u.code)&&(r=D(p).name==="tcp"?"tcp":"udp",n=`${h??""}${o}`,e=p===u.code?6:4);if(e==null||r==null||n==null||i==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:e,host:n,transport:r,port:i}}protos(){return this.#t.map(([e])=>Object.assign({},D(e)))}protoCodes(){return this.#t.map(([e])=>e)}protoNames(){return this.#t.map(([e])=>D(e).name)}tuples(){return this.#t.map(([e,r])=>r==null?[e]:[e,r])}stringTuples(){return this.#r.map(([e,r])=>r==null?[e]:[e,r])}encapsulate(e){return e=new t(e),new t(this.toString()+e.toString())}decapsulate(e){let r=e.toString(),n=this.toString(),i=n.lastIndexOf(r);if(i<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${e.toString()}`);return new t(n.slice(0,i))}decapsulateCode(e){let r=this.tuples();for(let n=r.length-1;n>=0;n--)if(r[n][0]===e)return new t($r(r.slice(0,n)));return this}getPeerId(){try{let e=[];this.stringTuples().forEach(([n,i])=>{n===Vt.p2p.code&&e.push([n,i]),n===Vt["p2p-circuit"].code&&(e=[])});let r=e.pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?z(K.decode(`z${n}`),"base58btc"):z(ee.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#n}equals(e){return je(this.bytes,e.bytes)}async resolve(e){let r=this.protos().find(o=>o.resolvable);if(r==null)return[this];let n=Rs.get(r.name);if(n==null)throw new Oi(`no available resolver for ${r.name}`);return(await n(this,e)).map(o=>ar(o))}nodeAddress(){let e=this.toOptions();if(e.transport!=="tcp"&&e.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${e.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:e.family,address:e.host,port:e.port}}isThinWaistAddress(e){let r=(e??this).protos();return!(r.length!==2||r[0].code!==4&&r[0].code!==41||r[1].code!==6&&r[1].code!==273)}[Ku](){return`Multiaddr(${this.#e})`}};var Rs=new Map;function ks(t){return!!t?.[Pi]}function ar(t){return new Gr(t)}function Ds(t,e,r,n){let i=()=>{n?.log.trace("query",e),t.query({questions:[{name:e,type:"PTR"}]})};return i(),setInterval(i,r)}function _s(t,e,r,n){if(t.answers==null)return;let i,o=[];if(t.answers.forEach(s=>{switch(s.type){case"PTR":i=s;break;case"TXT":o.push(s);break;default:break}}),t.additionals.forEach(s=>{switch(s.type){case"TXT":o.push(s);break;default:break}}),!(i==null||i?.name!==r||o.length===0||i.data.startsWith(e)))try{let s=o.flatMap(c=>c.data).filter(c=>c.toString().startsWith("dnsaddr=")).map(c=>ar(c.toString().substring(8))),a=s[0].getPeerId();if(a==null)throw new Error("Multiaddr doesn't contain PeerId");return n?.log("peer found %p",a),{id:xs(a),multiaddrs:s.map(c=>c.decapsulateCode(D("p2p").code))}}catch(s){n?.log.error("failed to parse mdns response",s)}}function Ms(t,e,r,n,i,o,s){if(!o){s?.log("not responding to mDNS query as broadcast mode is false");return}if(n.length!==0&&t.questions[0]!=null&&t.questions[0].name===i){let a=[];a.push({name:i,type:"PTR",class:"IN",ttl:120,data:r+"."+i}),n.filter(zu).forEach(c=>{let u="dnsaddr="+c.toString();if(u.length>255){s?.log("multiaddr %a is too long to use in mDNS query response",c);return}if(c.getPeerId()==null){s?.log("multiaddr %a did not have a peer ID so cannot be used in mDNS query response",c);return}a.push({name:r+"."+i,type:"TXT",class:"IN",ttl:120,data:u})}),s?.log.trace("responding to query"),e.respond(a)}}function zu(t){return!!Ss(t)}function Fs(t){let e="",r="abcdefghijklmnopqrstuvwxyz0123456789";for(let n=0;n<t;n++)e+=r.charAt(Math.floor(Math.random()*r.length));return e}var Yr=class extends hr{mdns;log;broadcast;interval;serviceTag;peerName;port;ip;_queryInterval;components;constructor(e,r={}){if(super(),this.log=e.logger.forComponent("libp2p:mdns"),this.broadcast=r.broadcast!==!1,this.interval=r.interval??1e3*10,this.serviceTag=r.serviceTag??"_p2p._udp.local",this.ip=r.ip??"224.0.0.251",this.peerName=r.peerName??Fs(63),this.peerName.length>=64)throw new Error("Peer name should be less than 64 chars long");this.port=r.port??5353,this.components=e,this._queryInterval=null,this._onMdnsQuery=this._onMdnsQuery.bind(this),this._onMdnsResponse=this._onMdnsResponse.bind(this),this._onMdnsWarning=this._onMdnsWarning.bind(this),this._onMdnsError=this._onMdnsError.bind(this)}[Di]=this;[Symbol.toStringTag]="@libp2p/mdns";[Fi]=["@libp2p/peer-discovery"];isStarted(){return!!this.mdns}async start(){this.mdns==null&&(this.mdns=(0,Ks.default)({port:this.port,ip:this.ip}),this.mdns.on("query",this._onMdnsQuery),this.mdns.on("response",this._onMdnsResponse),this.mdns.on("warning",this._onMdnsWarning),this.mdns.on("error",this._onMdnsError),this._queryInterval=Ds(this.mdns,this.serviceTag,this.interval,{log:this.log}))}_onMdnsQuery(e){this.mdns!=null&&(this.log.trace("received incoming mDNS query"),Ms(e,this.mdns,this.peerName,this.components.addressManager.getAddresses(),this.serviceTag,this.broadcast,{log:this.log}))}_onMdnsResponse(e){this.log.trace("received mDNS query response");try{let r=_s(e,this.peerName,this.serviceTag,{log:this.log});r!=null&&(this.log("discovered peer in mDNS query response %p",r.id),this.dispatchEvent(new CustomEvent("peer",{detail:r})))}catch(r){this.log.error("Error processing peer response",r)}}_onMdnsWarning(e){this.log.error("mdns warning",e)}_onMdnsError(e){this.log.error("mdns error",e)}async stop(){this.mdns!=null&&(this.mdns.removeListener("query",this._onMdnsQuery),this.mdns.removeListener("response",this._onMdnsResponse),this.mdns.removeListener("warning",this._onMdnsWarning),this.mdns.removeListener("error",this._onMdnsError),this._queryInterval!=null&&(clearInterval(this._queryInterval),this._queryInterval=null),await new Promise(e=>{this.mdns!=null?this.mdns.destroy(e):e()}),this.mdns=void 0)}};function Hu(t={}){return e=>new Yr(e,t)}return $s(ju);})();
2
+ "use strict";var Libp2PMdns=(()=>{var Hs=Object.create;var dr=Object.defineProperty;var js=Object.getOwnPropertyDescriptor;var $s=Object.getOwnPropertyNames;var Gs=Object.getPrototypeOf,Ys=Object.prototype.hasOwnProperty;var ne=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var ve=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),ie=(t,e)=>{for(var r in e)dr(t,r,{get:e[r],enumerable:!0})},Di=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of $s(e))!Ys.call(t,i)&&i!==r&&dr(t,i,{get:()=>e[i],enumerable:!(n=js(e,i))||n.enumerable});return t};var Ut=(t,e,r)=>(r=t!=null?Hs(Gs(t)):{},Di(e||!t||!t.__esModule?dr(r,"default",{value:t,enumerable:!0}):r,t)),Ws=t=>Di(dr({},"__esModule",{value:!0}),t);var qi=ve(Jr=>{"use strict";Jr.toString=function(t){switch(t){case 1:return"A";case 10:return"NULL";case 28:return"AAAA";case 18:return"AFSDB";case 42:return"APL";case 257:return"CAA";case 60:return"CDNSKEY";case 59:return"CDS";case 37:return"CERT";case 5:return"CNAME";case 49:return"DHCID";case 32769:return"DLV";case 39:return"DNAME";case 48:return"DNSKEY";case 43:return"DS";case 55:return"HIP";case 13:return"HINFO";case 45:return"IPSECKEY";case 25:return"KEY";case 36:return"KX";case 29:return"LOC";case 15:return"MX";case 35:return"NAPTR";case 2:return"NS";case 47:return"NSEC";case 50:return"NSEC3";case 51:return"NSEC3PARAM";case 12:return"PTR";case 46:return"RRSIG";case 17:return"RP";case 24:return"SIG";case 6:return"SOA";case 99:return"SPF";case 33:return"SRV";case 44:return"SSHFP";case 32768:return"TA";case 249:return"TKEY";case 52:return"TLSA";case 250:return"TSIG";case 16:return"TXT";case 252:return"AXFR";case 251:return"IXFR";case 41:return"OPT";case 255:return"ANY"}return"UNKNOWN_"+t};Jr.toType=function(t){switch(t.toUpperCase()){case"A":return 1;case"NULL":return 10;case"AAAA":return 28;case"AFSDB":return 18;case"APL":return 42;case"CAA":return 257;case"CDNSKEY":return 60;case"CDS":return 59;case"CERT":return 37;case"CNAME":return 5;case"DHCID":return 49;case"DLV":return 32769;case"DNAME":return 39;case"DNSKEY":return 48;case"DS":return 43;case"HIP":return 55;case"HINFO":return 13;case"IPSECKEY":return 45;case"KEY":return 25;case"KX":return 36;case"LOC":return 29;case"MX":return 15;case"NAPTR":return 35;case"NS":return 2;case"NSEC":return 47;case"NSEC3":return 50;case"NSEC3PARAM":return 51;case"PTR":return 12;case"RRSIG":return 46;case"RP":return 17;case"SIG":return 24;case"SOA":return 6;case"SPF":return 99;case"SRV":return 33;case"SSHFP":return 44;case"TA":return 32768;case"TKEY":return 249;case"TLSA":return 52;case"TSIG":return 250;case"TXT":return 16;case"AXFR":return 252;case"IXFR":return 251;case"OPT":return 41;case"ANY":return 255;case"*":return 255}return t.toUpperCase().startsWith("UNKNOWN_")?parseInt(t.slice(8)):0}});var zi=ve(en=>{"use strict";en.toString=function(t){switch(t){case 0:return"NOERROR";case 1:return"FORMERR";case 2:return"SERVFAIL";case 3:return"NXDOMAIN";case 4:return"NOTIMP";case 5:return"REFUSED";case 6:return"YXDOMAIN";case 7:return"YXRRSET";case 8:return"NXRRSET";case 9:return"NOTAUTH";case 10:return"NOTZONE";case 11:return"RCODE_11";case 12:return"RCODE_12";case 13:return"RCODE_13";case 14:return"RCODE_14";case 15:return"RCODE_15"}return"RCODE_"+t};en.toRcode=function(t){switch(t.toUpperCase()){case"NOERROR":return 0;case"FORMERR":return 1;case"SERVFAIL":return 2;case"NXDOMAIN":return 3;case"NOTIMP":return 4;case"REFUSED":return 5;case"YXDOMAIN":return 6;case"YXRRSET":return 7;case"NXRRSET":return 8;case"NOTAUTH":return 9;case"NOTZONE":return 10;case"RCODE_11":return 11;case"RCODE_12":return 12;case"RCODE_13":return 13;case"RCODE_14":return 14;case"RCODE_15":return 15}return 0}});var Vi=ve(tn=>{"use strict";tn.toString=function(t){switch(t){case 0:return"QUERY";case 1:return"IQUERY";case 2:return"STATUS";case 3:return"OPCODE_3";case 4:return"NOTIFY";case 5:return"UPDATE";case 6:return"OPCODE_6";case 7:return"OPCODE_7";case 8:return"OPCODE_8";case 9:return"OPCODE_9";case 10:return"OPCODE_10";case 11:return"OPCODE_11";case 12:return"OPCODE_12";case 13:return"OPCODE_13";case 14:return"OPCODE_14";case 15:return"OPCODE_15"}return"OPCODE_"+t};tn.toOpcode=function(t){switch(t.toUpperCase()){case"QUERY":return 0;case"IQUERY":return 1;case"STATUS":return 2;case"OPCODE_3":return 3;case"NOTIFY":return 4;case"UPDATE":return 5;case"OPCODE_6":return 6;case"OPCODE_7":return 7;case"OPCODE_8":return 8;case"OPCODE_9":return 9;case"OPCODE_10":return 10;case"OPCODE_11":return 11;case"OPCODE_12":return 12;case"OPCODE_13":return 13;case"OPCODE_14":return 14;case"OPCODE_15":return 15}return 0}});var Hi=ve(rn=>{"use strict";rn.toString=function(t){switch(t){case 1:return"IN";case 2:return"CS";case 3:return"CH";case 4:return"HS";case 255:return"ANY"}return"UNKNOWN_"+t};rn.toClass=function(t){switch(t.toUpperCase()){case"IN":return 1;case"CS":return 2;case"CH":return 3;case"HS":return 4;case"ANY":return 255}return 0}});var ji=ve(nn=>{"use strict";nn.toString=function(t){switch(t){case 1:return"LLQ";case 2:return"UL";case 3:return"NSID";case 5:return"DAU";case 6:return"DHU";case 7:return"N3U";case 8:return"CLIENT_SUBNET";case 9:return"EXPIRE";case 10:return"COOKIE";case 11:return"TCP_KEEPALIVE";case 12:return"PADDING";case 13:return"CHAIN";case 14:return"KEY_TAG";case 26946:return"DEVICEID"}return t<0?null:`OPTION_${t}`};nn.toCode=function(t){if(typeof t=="number")return t;if(!t)return-1;switch(t.toUpperCase()){case"OPTION_0":return 0;case"LLQ":return 1;case"UL":return 2;case"NSID":return 3;case"OPTION_4":return 4;case"DAU":return 5;case"DHU":return 6;case"N3U":return 7;case"CLIENT_SUBNET":return 8;case"EXPIRE":return 9;case"COOKIE":return 10;case"TCP_KEEPALIVE":return 11;case"PADDING":return 12;case"CHAIN":return 13;case"KEY_TAG":return 14;case"DEVICEID":return 26946;case"OPTION_65535":return 65535}let e=t.match(/_(\d+)$/);return e?parseInt(e[1],10):-1}});var Yi=ve((Gi,on)=>{var $i=function(t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.decode=l,t.encode=m,t.familyOf=u,t.name=void 0,t.sizeOf=c,t.v6=t.v4=void 0;let e=/^(\d{1,3}\.){3,3}\d{1,3}$/,r=4,n=/^(::)?(((\d{1,3}\.){3}(\d{1,3}){1})?([0-9a-f]){0,4}:{0,2}){1,8}(::)?$/i,i=16,o={name:"v4",size:r,isFormat:d=>e.test(d),encode(d,p,h){h=~~h,p=p||new Uint8Array(h+r);let y=d.length,g=0;for(let f=0;f<y;){let x=d.charCodeAt(f++);x===46?(p[h++]=g,g=0):g=g*10+(x-48)}return p[h]=g,p},decode(d,p){return p=~~p,`${d[p++]}.${d[p++]}.${d[p++]}.${d[p]}`}};t.v4=o;let s={name:"v6",size:i,isFormat:d=>d.length>0&&n.test(d),encode(d,p,h){h=~~h;let y=h+i,g=-1,f=0,x=0,b=!0,L=!1;p=p||new Uint8Array(h+i);for(let T=0;T<d.length;T++){let B=d.charCodeAt(T);B===58?(b?g!==-1?(h<y&&(p[h]=0),h<y-1&&(p[h+1]=0),h+=2):h<y&&(g=h):(L===!0?(h<y&&(p[h]=x),h++):(h<y&&(p[h]=f>>8),h<y-1&&(p[h+1]=f&255),h+=2),f=0,x=0),b=!0,L=!1):B===46?(h<y&&(p[h]=x),h++,x=0,f=0,b=!1,L=!0):(b=!1,B>=97?B-=87:B>=65?B-=55:(B-=48,x=x*10+B),f=(f<<4)+B)}if(b===!1)L===!0?(h<y&&(p[h]=x),h++):(h<y&&(p[h]=f>>8),h<y-1&&(p[h+1]=f&255),h+=2);else if(g===0)h<y&&(p[h]=0),h<y-1&&(p[h+1]=0),h+=2;else if(g!==-1){h+=2;for(let T=Math.min(h-1,y-1);T>=g+2;T--)p[T]=p[T-2];p[g]=0,p[g+1]=0,g=h}if(g!==h&&g!==-1)for(h>y-2&&(h=y-2);y>g;)p[--y]=h<y&&h>g?p[--h]:0;else for(;h<y;)p[h++]=0;return p},decode(d,p){p=~~p;let h="";for(let y=0;y<i;y+=2)y!==0&&(h+=":"),h+=(d[p+y]<<8|d[p+y+1]).toString(16);return h.replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}};t.v6=s;let a="ip";t.name=a;function c(d){if(o.isFormat(d))return o.size;if(s.isFormat(d))return s.size;throw Error(`Invalid ip address: ${d}`)}function u(d){return c(d)===o.size?1:2}function m(d,p,h){h=~~h;let y=c(d);return typeof p=="function"&&(p=p(h+y)),y===o.size?o.encode(d,p,h):s.encode(d,p,h)}function l(d,p,h){if(p=~~p,h=h||d.length-p,h===o.size)return o.decode(d,p,h);if(h===s.size)return s.decode(d,p,h);throw Error(`Invalid buffer size needs to be ${o.size} for v4 or ${s.size} for v6.`)}return"default"in t?t.default:t}({});typeof define=="function"&&define.amd?define([],function(){return $i}):typeof on=="object"&&typeof Gi=="object"&&(on.exports=$i)});var Zi=ve(v=>{"use strict";var S=ne("buffer").Buffer,ze=qi(),Xs=zi(),Zs=Vi(),yr=Hi(),sn=ji(),lt=Yi(),Qs=0,Wi=32768,cn=32768,Js=~cn,Xi=32768,ec=~Xi,w=v.name={};w.encode=function(t,e,r,{mail:n=!1}={}){e||(e=S.alloc(w.encodingLength(t))),r||(r=0);let i=r,o=t.replace(/^\.|\.$/gm,"");if(o.length){let s=[];if(n){let a="";o.split(".").forEach(c=>{c.endsWith("\\")?a+=(a.length?".":"")+c.slice(0,-1):s.length===0&&a.length?s.push(a+"."+c):s.push(c)})}else s=o.split(".");for(let a=0;a<s.length;a++){let c=e.write(s[a],r+1);e[r]=c,r+=c+1}}return e[r++]=0,w.encode.bytes=r-i,e};w.encode.bytes=0;w.decode=function(t,e,{mail:r=!1}={}){e||(e=0);let n=[],i=e,o=0,s=0,a=!1;for(;;){if(e>=t.length)throw new Error("Cannot decode name (buffer overflow)");let c=t[e++];if(s+=a?0:1,c===0)break;if((c&192)===0){if(e+c>t.length)throw new Error("Cannot decode name (buffer overflow)");if(o+=c+1,o>254)throw new Error("Cannot decode name (name too long)");let u=t.toString("utf-8",e,e+c);r&&(u=u.replace(/\./g,"\\.")),n.push(u),e+=c,s+=a?0:c}else if((c&192)===192){if(e+1>t.length)throw new Error("Cannot decode name (buffer overflow)");let u=t.readUInt16BE(e-1)-49152;if(u>=i)throw new Error("Cannot decode name (bad pointer)");e=u,i=u,s+=a?0:1,a=!0}else throw new Error("Cannot decode name (bad label)")}return w.decode.bytes=s,n.length===0?".":n.join(".")};w.decode.bytes=0;w.encodingLength=function(t){return t==="."||t===".."?1:S.byteLength(t.replace(/^\.|\.$/gm,""))+2};var O={};O.encode=function(t,e,r){e||(e=S.alloc(O.encodingLength(t))),r||(r=0);let n=e.write(t,r+1);return e[r]=n,O.encode.bytes=n+1,e};O.encode.bytes=0;O.decode=function(t,e){e||(e=0);let r=t[e],n=t.toString("utf-8",e+1,e+1+r);return O.decode.bytes=r+1,n};O.decode.bytes=0;O.encodingLength=function(t){return S.byteLength(t)+1};var Ee={};Ee.encode=function(t,e,r){e||(e=Ee.encodingLength(t)),r||(r=0);let n=(t.flags||0)&32767,i=t.type==="response"?Wi:Qs;return e.writeUInt16BE(t.id||0,r),e.writeUInt16BE(n|i,r+2),e.writeUInt16BE(t.questions.length,r+4),e.writeUInt16BE(t.answers.length,r+6),e.writeUInt16BE(t.authorities.length,r+8),e.writeUInt16BE(t.additionals.length,r+10),e};Ee.encode.bytes=12;Ee.decode=function(t,e){if(e||(e=0),t.length<12)throw new Error("Header must be 12 bytes");let r=t.readUInt16BE(e+2);return{id:t.readUInt16BE(e),type:r&Wi?"response":"query",flags:r&32767,flag_qr:(r>>15&1)===1,opcode:Zs.toString(r>>11&15),flag_aa:(r>>10&1)===1,flag_tc:(r>>9&1)===1,flag_rd:(r>>8&1)===1,flag_ra:(r>>7&1)===1,flag_z:(r>>6&1)===1,flag_ad:(r>>5&1)===1,flag_cd:(r>>4&1)===1,rcode:Xs.toString(r&15),questions:new Array(t.readUInt16BE(e+4)),answers:new Array(t.readUInt16BE(e+6)),authorities:new Array(t.readUInt16BE(e+8)),additionals:new Array(t.readUInt16BE(e+10))}};Ee.decode.bytes=12;Ee.encodingLength=function(){return 12};var Pe=v.unknown={};Pe.encode=function(t,e,r){return e||(e=S.alloc(Pe.encodingLength(t))),r||(r=0),e.writeUInt16BE(t.length,r),t.copy(e,r+2),Pe.encode.bytes=t.length+2,e};Pe.encode.bytes=0;Pe.decode=function(t,e){e||(e=0);let r=t.readUInt16BE(e),n=t.slice(e+2,e+2+r);return Pe.decode.bytes=r+2,n};Pe.decode.bytes=0;Pe.encodingLength=function(t){return t.length+2};var ke=v.ns={};ke.encode=function(t,e,r){return e||(e=S.alloc(ke.encodingLength(t))),r||(r=0),w.encode(t,e,r+2),e.writeUInt16BE(w.encode.bytes,r),ke.encode.bytes=w.encode.bytes+2,e};ke.encode.bytes=0;ke.decode=function(t,e){e||(e=0);let r=t.readUInt16BE(e),n=w.decode(t,e+2);return ke.decode.bytes=r+2,n};ke.decode.bytes=0;ke.encodingLength=function(t){return w.encodingLength(t)+2};var Re=v.soa={};Re.encode=function(t,e,r){e||(e=S.alloc(Re.encodingLength(t))),r||(r=0);let n=r;return r+=2,w.encode(t.mname,e,r),r+=w.encode.bytes,w.encode(t.rname,e,r,{mail:!0}),r+=w.encode.bytes,e.writeUInt32BE(t.serial||0,r),r+=4,e.writeUInt32BE(t.refresh||0,r),r+=4,e.writeUInt32BE(t.retry||0,r),r+=4,e.writeUInt32BE(t.expire||0,r),r+=4,e.writeUInt32BE(t.minimum||0,r),r+=4,e.writeUInt16BE(r-n-2,n),Re.encode.bytes=r-n,e};Re.encode.bytes=0;Re.decode=function(t,e){e||(e=0);let r=e,n={};return e+=2,n.mname=w.decode(t,e),e+=w.decode.bytes,n.rname=w.decode(t,e,{mail:!0}),e+=w.decode.bytes,n.serial=t.readUInt32BE(e),e+=4,n.refresh=t.readUInt32BE(e),e+=4,n.retry=t.readUInt32BE(e),e+=4,n.expire=t.readUInt32BE(e),e+=4,n.minimum=t.readUInt32BE(e),e+=4,Re.decode.bytes=e-r,n};Re.decode.bytes=0;Re.encodingLength=function(t){return 22+w.encodingLength(t.mname)+w.encodingLength(t.rname)};var De=v.txt={};De.encode=function(t,e,r){Array.isArray(t)||(t=[t]);for(let i=0;i<t.length;i++)if(typeof t[i]=="string"&&(t[i]=S.from(t[i])),!S.isBuffer(t[i]))throw new Error("Must be a Buffer");e||(e=S.alloc(De.encodingLength(t))),r||(r=0);let n=r;return r+=2,t.forEach(function(i){e[r++]=i.length,i.copy(e,r,0,i.length),r+=i.length}),e.writeUInt16BE(r-n-2,n),De.encode.bytes=r-n,e};De.encode.bytes=0;De.decode=function(t,e){e||(e=0);let r=e,n=t.readUInt16BE(e);e+=2;let i=[];for(;n>0;){let o=t[e++];if(--n,n<o)throw new Error("Buffer overflow");i.push(t.slice(e,e+o)),e+=o,n-=o}return De.decode.bytes=e-r,i};De.decode.bytes=0;De.encodingLength=function(t){Array.isArray(t)||(t=[t]);let e=2;return t.forEach(function(r){typeof r=="string"?e+=S.byteLength(r)+1:e+=r.length+1}),e};var _e=v.null={};_e.encode=function(t,e,r){e||(e=S.alloc(_e.encodingLength(t))),r||(r=0),typeof t=="string"&&(t=S.from(t)),t||(t=S.alloc(0));let n=r;r+=2;let i=t.length;return t.copy(e,r,0,i),r+=i,e.writeUInt16BE(r-n-2,n),_e.encode.bytes=r-n,e};_e.encode.bytes=0;_e.decode=function(t,e){e||(e=0);let r=e,n=t.readUInt16BE(e);e+=2;let i=t.slice(e,e+n);return e+=n,_e.decode.bytes=e-r,i};_e.decode.bytes=0;_e.encodingLength=function(t){return t?(S.isBuffer(t)?t.length:S.byteLength(t))+2:2};var Me=v.hinfo={};Me.encode=function(t,e,r){e||(e=S.alloc(Me.encodingLength(t))),r||(r=0);let n=r;return r+=2,O.encode(t.cpu,e,r),r+=O.encode.bytes,O.encode(t.os,e,r),r+=O.encode.bytes,e.writeUInt16BE(r-n-2,n),Me.encode.bytes=r-n,e};Me.encode.bytes=0;Me.decode=function(t,e){e||(e=0);let r=e,n={};return e+=2,n.cpu=O.decode(t,e),e+=O.decode.bytes,n.os=O.decode(t,e),e+=O.decode.bytes,Me.decode.bytes=e-r,n};Me.decode.bytes=0;Me.encodingLength=function(t){return O.encodingLength(t.cpu)+O.encodingLength(t.os)+2};var we=v.ptr={},tc=v.cname=we,rc=v.dname=we;we.encode=function(t,e,r){return e||(e=S.alloc(we.encodingLength(t))),r||(r=0),w.encode(t,e,r+2),e.writeUInt16BE(w.encode.bytes,r),we.encode.bytes=w.encode.bytes+2,e};we.encode.bytes=0;we.decode=function(t,e){e||(e=0);let r=w.decode(t,e+2);return we.decode.bytes=w.decode.bytes+2,r};we.decode.bytes=0;we.encodingLength=function(t){return w.encodingLength(t)+2};var Fe=v.srv={};Fe.encode=function(t,e,r){e||(e=S.alloc(Fe.encodingLength(t))),r||(r=0),e.writeUInt16BE(t.priority||0,r+2),e.writeUInt16BE(t.weight||0,r+4),e.writeUInt16BE(t.port||0,r+6),w.encode(t.target,e,r+8);let n=w.encode.bytes+6;return e.writeUInt16BE(n,r),Fe.encode.bytes=n+2,e};Fe.encode.bytes=0;Fe.decode=function(t,e){e||(e=0);let r=t.readUInt16BE(e),n={};return n.priority=t.readUInt16BE(e+2),n.weight=t.readUInt16BE(e+4),n.port=t.readUInt16BE(e+6),n.target=w.decode(t,e+8),Fe.decode.bytes=r+2,n};Fe.decode.bytes=0;Fe.encodingLength=function(t){return 8+w.encodingLength(t.target)};var ae=v.caa={};ae.ISSUER_CRITICAL=128;ae.encode=function(t,e,r){let n=ae.encodingLength(t);return e||(e=S.alloc(ae.encodingLength(t))),r||(r=0),t.issuerCritical&&(t.flags=ae.ISSUER_CRITICAL),e.writeUInt16BE(n-2,r),r+=2,e.writeUInt8(t.flags||0,r),r+=1,O.encode(t.tag,e,r),r+=O.encode.bytes,e.write(t.value,r),r+=S.byteLength(t.value),ae.encode.bytes=n,e};ae.encode.bytes=0;ae.decode=function(t,e){e||(e=0);let r=t.readUInt16BE(e);e+=2;let n=e,i={};return i.flags=t.readUInt8(e),e+=1,i.tag=O.decode(t,e),e+=O.decode.bytes,i.value=t.toString("utf-8",e,n+r),i.issuerCritical=!!(i.flags&ae.ISSUER_CRITICAL),ae.decode.bytes=r+2,i};ae.decode.bytes=0;ae.encodingLength=function(t){return O.encodingLength(t.tag)+O.encodingLength(t.value)+2};var et=v.mx={};et.encode=function(t,e,r){e||(e=S.alloc(et.encodingLength(t))),r||(r=0);let n=r;return r+=2,e.writeUInt16BE(t.preference||0,r),r+=2,w.encode(t.exchange,e,r),r+=w.encode.bytes,e.writeUInt16BE(r-n-2,n),et.encode.bytes=r-n,e};et.encode.bytes=0;et.decode=function(t,e){e||(e=0);let r=e,n={};return e+=2,n.preference=t.readUInt16BE(e),e+=2,n.exchange=w.decode(t,e),e+=w.decode.bytes,et.decode.bytes=e-r,n};et.encodingLength=function(t){return 4+w.encodingLength(t.exchange)};var Ke=v.a={};Ke.encode=function(t,e,r){return e||(e=S.alloc(Ke.encodingLength(t))),r||(r=0),e.writeUInt16BE(4,r),r+=2,lt.v4.encode(t,e,r),Ke.encode.bytes=6,e};Ke.encode.bytes=0;Ke.decode=function(t,e){e||(e=0),e+=2;let r=lt.v4.decode(t,e);return Ke.decode.bytes=6,r};Ke.decode.bytes=0;Ke.encodingLength=function(){return 6};var qe=v.aaaa={};qe.encode=function(t,e,r){return e||(e=S.alloc(qe.encodingLength(t))),r||(r=0),e.writeUInt16BE(16,r),r+=2,lt.v6.encode(t,e,r),qe.encode.bytes=18,e};qe.encode.bytes=0;qe.decode=function(t,e){e||(e=0),e+=2;let r=lt.v6.decode(t,e);return qe.decode.bytes=18,r};qe.decode.bytes=0;qe.encodingLength=function(){return 18};var oe=v.option={};oe.encode=function(t,e,r){e||(e=S.alloc(oe.encodingLength(t))),r||(r=0);let n=r,i=sn.toCode(t.code);if(e.writeUInt16BE(i,r),r+=2,t.data)e.writeUInt16BE(t.data.length,r),r+=2,t.data.copy(e,r),r+=t.data.length;else switch(i){case 8:let o=t.sourcePrefixLength||0,s=t.family||lt.familyOf(t.ip),a=lt.encode(t.ip,S.alloc),c=Math.ceil(o/8);e.writeUInt16BE(c+4,r),r+=2,e.writeUInt16BE(s,r),r+=2,e.writeUInt8(o,r++),e.writeUInt8(t.scopePrefixLength||0,r++),a.copy(e,r,0,c),r+=c;break;case 11:t.timeout?(e.writeUInt16BE(2,r),r+=2,e.writeUInt16BE(t.timeout,r),r+=2):(e.writeUInt16BE(0,r),r+=2);break;case 12:let u=t.length||0;e.writeUInt16BE(u,r),r+=2,e.fill(0,r,r+u),r+=u;break;case 14:let m=t.tags.length*2;e.writeUInt16BE(m,r),r+=2;for(let l of t.tags)e.writeUInt16BE(l,r),r+=2;break;default:throw new Error(`Unknown roption code: ${t.code}`)}return oe.encode.bytes=r-n,e};oe.encode.bytes=0;oe.decode=function(t,e){e||(e=0);let r={};r.code=t.readUInt16BE(e),r.type=sn.toString(r.code),e+=2;let n=t.readUInt16BE(e);switch(e+=2,r.data=t.slice(e,e+n),r.code){case 8:r.family=t.readUInt16BE(e),e+=2,r.sourcePrefixLength=t.readUInt8(e++),r.scopePrefixLength=t.readUInt8(e++);let i=S.alloc(r.family===1?4:16);t.copy(i,0,e,e+n-4),r.ip=lt.decode(i);break;case 11:n>0&&(r.timeout=t.readUInt16BE(e),e+=2);break;case 14:r.tags=[];for(let o=0;o<n;o+=2)r.tags.push(t.readUInt16BE(e)),e+=2}return oe.decode.bytes=n+4,r};oe.decode.bytes=0;oe.encodingLength=function(t){if(t.data)return t.data.length+4;switch(sn.toCode(t.code)){case 8:let r=t.sourcePrefixLength||0;return Math.ceil(r/8)+8;case 11:return typeof t.timeout=="number"?6:4;case 12:return t.length+4;case 14:return 4+t.tags.length*2}throw new Error(`Unknown roption code: ${t.code}`)};var de=v.opt={};de.encode=function(t,e,r){e||(e=S.alloc(de.encodingLength(t))),r||(r=0);let n=r,i=Tt(t,oe);return e.writeUInt16BE(i,r),r=Gt(t,oe,e,r+2),de.encode.bytes=r-n,e};de.encode.bytes=0;de.decode=function(t,e){e||(e=0);let r=e,n=[],i=t.readUInt16BE(e);e+=2;let o=0;for(;i>0;)n[o++]=oe.decode(t,e),e+=oe.decode.bytes,i-=oe.decode.bytes;return de.decode.bytes=e-r,n};de.decode.bytes=0;de.encodingLength=function(t){return 2+Tt(t||[],oe)};var ee=v.dnskey={};ee.PROTOCOL_DNSSEC=3;ee.ZONE_KEY=128;ee.SECURE_ENTRYPOINT=32768;ee.encode=function(t,e,r){e||(e=S.alloc(ee.encodingLength(t))),r||(r=0);let n=r,i=t.key;if(!S.isBuffer(i))throw new Error("Key must be a Buffer");return r+=2,e.writeUInt16BE(t.flags,r),r+=2,e.writeUInt8(ee.PROTOCOL_DNSSEC,r),r+=1,e.writeUInt8(t.algorithm,r),r+=1,i.copy(e,r,0,i.length),r+=i.length,ee.encode.bytes=r-n,e.writeUInt16BE(ee.encode.bytes-2,n),e};ee.encode.bytes=0;ee.decode=function(t,e){e||(e=0);let r=e;var n={},i=t.readUInt16BE(e);if(e+=2,n.flags=t.readUInt16BE(e),e+=2,t.readUInt8(e)!==ee.PROTOCOL_DNSSEC)throw new Error("Protocol must be 3");return e+=1,n.algorithm=t.readUInt8(e),e+=1,n.key=t.slice(e,r+i+2),e+=n.key.length,ee.decode.bytes=e-r,n};ee.decode.bytes=0;ee.encodingLength=function(t){return 6+S.byteLength(t.key)};var Se=v.rrsig={};Se.encode=function(t,e,r){e||(e=S.alloc(Se.encodingLength(t))),r||(r=0);let n=r,i=t.signature;if(!S.isBuffer(i))throw new Error("Signature must be a Buffer");return r+=2,e.writeUInt16BE(ze.toType(t.typeCovered),r),r+=2,e.writeUInt8(t.algorithm,r),r+=1,e.writeUInt8(t.labels,r),r+=1,e.writeUInt32BE(t.originalTTL,r),r+=4,e.writeUInt32BE(t.expiration,r),r+=4,e.writeUInt32BE(t.inception,r),r+=4,e.writeUInt16BE(t.keyTag,r),r+=2,w.encode(t.signersName,e,r),r+=w.encode.bytes,i.copy(e,r,0,i.length),r+=i.length,Se.encode.bytes=r-n,e.writeUInt16BE(Se.encode.bytes-2,n),e};Se.encode.bytes=0;Se.decode=function(t,e){e||(e=0);let r=e;var n={},i=t.readUInt16BE(e);return e+=2,n.typeCovered=ze.toString(t.readUInt16BE(e)),e+=2,n.algorithm=t.readUInt8(e),e+=1,n.labels=t.readUInt8(e),e+=1,n.originalTTL=t.readUInt32BE(e),e+=4,n.expiration=t.readUInt32BE(e),e+=4,n.inception=t.readUInt32BE(e),e+=4,n.keyTag=t.readUInt16BE(e),e+=2,n.signersName=w.decode(t,e),e+=w.decode.bytes,n.signature=t.slice(e,r+i+2),e+=n.signature.length,Se.decode.bytes=e-r,n};Se.decode.bytes=0;Se.encodingLength=function(t){return 20+w.encodingLength(t.signersName)+S.byteLength(t.signature)};var Ae=v.rp={};Ae.encode=function(t,e,r){e||(e=S.alloc(Ae.encodingLength(t))),r||(r=0);let n=r;return r+=2,w.encode(t.mbox||".",e,r,{mail:!0}),r+=w.encode.bytes,w.encode(t.txt||".",e,r),r+=w.encode.bytes,Ae.encode.bytes=r-n,e.writeUInt16BE(Ae.encode.bytes-2,n),e};Ae.encode.bytes=0;Ae.decode=function(t,e){e||(e=0);let r=e,n={};return e+=2,n.mbox=w.decode(t,e,{mail:!0})||".",e+=w.decode.bytes,n.txt=w.decode(t,e)||".",e+=w.decode.bytes,Ae.decode.bytes=e-r,n};Ae.decode.bytes=0;Ae.encodingLength=function(t){return 2+w.encodingLength(t.mbox||".")+w.encodingLength(t.txt||".")};var j={};j.encode=function(t,e,r){e||(e=S.alloc(j.encodingLength(t))),r||(r=0);let n=r;for(var i=[],o=0;o<t.length;o++){var s=ze.toType(t[o]);i[s>>8]===void 0&&(i[s>>8]=[]),i[s>>8][s>>3&31]|=1<<7-(s&7)}for(o=0;o<i.length;o++)if(i[o]!==void 0){var a=S.from(i[o]);e.writeUInt8(o,r),r+=1,e.writeUInt8(a.length,r),r+=1,a.copy(e,r),r+=a.length}return j.encode.bytes=r-n,e};j.encode.bytes=0;j.decode=function(t,e,r){e||(e=0);let n=e;for(var i=[];e-n<r;){var o=t.readUInt8(e);e+=1;var s=t.readUInt8(e);e+=1;for(var a=0;a<s;a++)for(var c=t.readUInt8(e+a),u=0;u<8;u++)if(c&1<<7-u){var m=ze.toString(o<<8|a<<3|u);i.push(m)}e+=s}return j.decode.bytes=e-n,i};j.decode.bytes=0;j.encodingLength=function(t){for(var e=[],r=0;r<t.length;r++){var n=ze.toType(t[r]);e[n>>8]=Math.max(e[n>>8]||0,n&255)}var i=0;for(r=0;r<e.length;r++)e[r]!==void 0&&(i+=2+Math.ceil((e[r]+1)/8));return i};var Be=v.nsec={};Be.encode=function(t,e,r){e||(e=S.alloc(Be.encodingLength(t))),r||(r=0);let n=r;return r+=2,w.encode(t.nextDomain,e,r),r+=w.encode.bytes,j.encode(t.rrtypes,e,r),r+=j.encode.bytes,Be.encode.bytes=r-n,e.writeUInt16BE(Be.encode.bytes-2,n),e};Be.encode.bytes=0;Be.decode=function(t,e){e||(e=0);let r=e;var n={},i=t.readUInt16BE(e);return e+=2,n.nextDomain=w.decode(t,e),e+=w.decode.bytes,n.rrtypes=j.decode(t,e,i-(e-r)),e+=j.decode.bytes,Be.decode.bytes=e-r,n};Be.decode.bytes=0;Be.encodingLength=function(t){return 2+w.encodingLength(t.nextDomain)+j.encodingLength(t.rrtypes)};var Ue=v.nsec3={};Ue.encode=function(t,e,r){e||(e=S.alloc(Ue.encodingLength(t))),r||(r=0);let n=r,i=t.salt;if(!S.isBuffer(i))throw new Error("salt must be a Buffer");let o=t.nextDomain;if(!S.isBuffer(o))throw new Error("nextDomain must be a Buffer");return r+=2,e.writeUInt8(t.algorithm,r),r+=1,e.writeUInt8(t.flags,r),r+=1,e.writeUInt16BE(t.iterations,r),r+=2,e.writeUInt8(i.length,r),r+=1,i.copy(e,r,0,i.length),r+=i.length,e.writeUInt8(o.length,r),r+=1,o.copy(e,r,0,o.length),r+=o.length,j.encode(t.rrtypes,e,r),r+=j.encode.bytes,Ue.encode.bytes=r-n,e.writeUInt16BE(Ue.encode.bytes-2,n),e};Ue.encode.bytes=0;Ue.decode=function(t,e){e||(e=0);let r=e;var n={},i=t.readUInt16BE(e);e+=2,n.algorithm=t.readUInt8(e),e+=1,n.flags=t.readUInt8(e),e+=1,n.iterations=t.readUInt16BE(e),e+=2;let o=t.readUInt8(e);e+=1,n.salt=t.slice(e,e+o),e+=o;let s=t.readUInt8(e);return e+=1,n.nextDomain=t.slice(e,e+s),e+=s,n.rrtypes=j.decode(t,e,i-(e-r)),e+=j.decode.bytes,Ue.decode.bytes=e-r,n};Ue.decode.bytes=0;Ue.encodingLength=function(t){return 8+t.salt.length+t.nextDomain.length+j.encodingLength(t.rrtypes)};var Le=v.ds={};Le.encode=function(t,e,r){e||(e=S.alloc(Le.encodingLength(t))),r||(r=0);let n=r,i=t.digest;if(!S.isBuffer(i))throw new Error("Digest must be a Buffer");return r+=2,e.writeUInt16BE(t.keyTag,r),r+=2,e.writeUInt8(t.algorithm,r),r+=1,e.writeUInt8(t.digestType,r),r+=1,i.copy(e,r,0,i.length),r+=i.length,Le.encode.bytes=r-n,e.writeUInt16BE(Le.encode.bytes-2,n),e};Le.encode.bytes=0;Le.decode=function(t,e){e||(e=0);let r=e;var n={},i=t.readUInt16BE(e);return e+=2,n.keyTag=t.readUInt16BE(e),e+=2,n.algorithm=t.readUInt8(e),e+=1,n.digestType=t.readUInt8(e),e+=1,n.digest=t.slice(e,r+i+2),e+=n.digest.length,Le.decode.bytes=e-r,n};Le.decode.bytes=0;Le.encodingLength=function(t){return 6+S.byteLength(t.digest)};var ue=v.sshfp={};ue.getFingerprintLengthForHashType=function(e){switch(e){case 1:return 20;case 2:return 32}};ue.encode=function(e,r,n){r||(r=S.alloc(ue.encodingLength(e))),n||(n=0);let i=n;n+=2,r[n]=e.algorithm,n+=1,r[n]=e.hash,n+=1;let o=S.from(e.fingerprint.toUpperCase(),"hex");if(o.length!==ue.getFingerprintLengthForHashType(e.hash))throw new Error("Invalid fingerprint length");return o.copy(r,n),n+=o.byteLength,ue.encode.bytes=n-i,r.writeUInt16BE(ue.encode.bytes-2,i),r};ue.encode.bytes=0;ue.decode=function(e,r){r||(r=0);let n=r,i={};r+=2,i.algorithm=e[r],r+=1,i.hash=e[r],r+=1;let o=ue.getFingerprintLengthForHashType(i.hash);return i.fingerprint=e.slice(r,r+o).toString("hex").toUpperCase(),r+=o,ue.decode.bytes=r-n,i};ue.decode.bytes=0;ue.encodingLength=function(t){return 4+S.from(t.fingerprint,"hex").byteLength};var Te=v.naptr={};Te.encode=function(t,e,r){e||(e=S.alloc(Te.encodingLength(t))),r||(r=0);let n=r;return r+=2,e.writeUInt16BE(t.order||0,r),r+=2,e.writeUInt16BE(t.preference||0,r),r+=2,O.encode(t.flags,e,r),r+=O.encode.bytes,O.encode(t.services,e,r),r+=O.encode.bytes,O.encode(t.regexp,e,r),r+=O.encode.bytes,w.encode(t.replacement,e,r),r+=w.encode.bytes,Te.encode.bytes=r-n,e.writeUInt16BE(Te.encode.bytes-2,n),e};Te.encode.bytes=0;Te.decode=function(t,e){e||(e=0);let r=e,n={};return e+=2,n.order=t.readUInt16BE(e),e+=2,n.preference=t.readUInt16BE(e),e+=2,n.flags=O.decode(t,e),e+=O.decode.bytes,n.services=O.decode(t,e),e+=O.decode.bytes,n.regexp=O.decode(t,e),e+=O.decode.bytes,n.replacement=w.decode(t,e),e+=w.decode.bytes,Te.decode.bytes=e-r,n};Te.decode.bytes=0;Te.encodingLength=function(t){return O.encodingLength(t.flags)+O.encodingLength(t.services)+O.encodingLength(t.regexp)+w.encodingLength(t.replacement)+6};var Ce=v.tlsa={};Ce.encode=function(t,e,r){e||(e=S.alloc(Ce.encodingLength(t))),r||(r=0);let n=r,i=t.certificate;if(!S.isBuffer(i))throw new Error("Certificate must be a Buffer");return r+=2,e.writeUInt8(t.usage,r),r+=1,e.writeUInt8(t.selector,r),r+=1,e.writeUInt8(t.matchingType,r),r+=1,i.copy(e,r,0,i.length),r+=i.length,Ce.encode.bytes=r-n,e.writeUInt16BE(Ce.encode.bytes-2,n),e};Ce.encode.bytes=0;Ce.decode=function(t,e){e||(e=0);let r=e,n={},i=t.readUInt16BE(e);return e+=2,n.usage=t.readUInt8(e),e+=1,n.selector=t.readUInt8(e),e+=1,n.matchingType=t.readUInt8(e),e+=1,n.certificate=t.slice(e,r+i+2),e+=n.certificate.length,Ce.decode.bytes=e-r,n};Ce.decode.bytes=0;Ce.encodingLength=function(t){return 5+S.byteLength(t.certificate)};var an=v.record=function(t){switch(t.toUpperCase()){case"A":return Ke;case"PTR":return we;case"CNAME":return tc;case"DNAME":return rc;case"TXT":return De;case"NULL":return _e;case"AAAA":return qe;case"SRV":return Fe;case"HINFO":return Me;case"CAA":return ae;case"NS":return ke;case"SOA":return Re;case"MX":return et;case"OPT":return de;case"DNSKEY":return ee;case"RRSIG":return Se;case"RP":return Ae;case"NSEC":return Be;case"NSEC3":return Ue;case"SSHFP":return ue;case"DS":return Le;case"NAPTR":return Te;case"TLSA":return Ce}return Pe},Y=v.answer={};Y.encode=function(t,e,r){e||(e=S.alloc(Y.encodingLength(t))),r||(r=0);let n=r;if(w.encode(t.name,e,r),r+=w.encode.bytes,e.writeUInt16BE(ze.toType(t.type),r),t.type.toUpperCase()==="OPT"){if(t.name!==".")throw new Error("OPT name must be root.");e.writeUInt16BE(t.udpPayloadSize||4096,r+2),e.writeUInt8(t.extendedRcode||0,r+4),e.writeUInt8(t.ednsVersion||0,r+5),e.writeUInt16BE(t.flags||0,r+6),r+=8,de.encode(t.options||[],e,r),r+=de.encode.bytes}else{let i=yr.toClass(t.class===void 0?"IN":t.class);t.flush&&(i|=cn),e.writeUInt16BE(i,r+2),e.writeUInt32BE(t.ttl||0,r+4),r+=8;let o=an(t.type);o.encode(t.data,e,r),r+=o.encode.bytes}return Y.encode.bytes=r-n,e};Y.encode.bytes=0;Y.decode=function(t,e){e||(e=0);let r={},n=e;if(r.name=w.decode(t,e),e+=w.decode.bytes,r.type=ze.toString(t.readUInt16BE(e)),r.type==="OPT")r.udpPayloadSize=t.readUInt16BE(e+2),r.extendedRcode=t.readUInt8(e+4),r.ednsVersion=t.readUInt8(e+5),r.flags=t.readUInt16BE(e+6),r.flag_do=(r.flags>>15&1)===1,r.options=de.decode(t,e+8),e+=8+de.decode.bytes;else{let i=t.readUInt16BE(e+2);r.ttl=t.readUInt32BE(e+4),r.class=yr.toString(i&Js),r.flush=!!(i&cn);let o=an(r.type);r.data=o.decode(t,e+8),e+=8+o.decode.bytes}return Y.decode.bytes=e-n,r};Y.decode.bytes=0;Y.encodingLength=function(t){let e=t.data!==null&&t.data!==void 0?t.data:t.options;return w.encodingLength(t.name)+8+an(t.type).encodingLength(e)};var xe=v.question={};xe.encode=function(t,e,r){e||(e=S.alloc(xe.encodingLength(t))),r||(r=0);let n=r;return w.encode(t.name,e,r),r+=w.encode.bytes,e.writeUInt16BE(ze.toType(t.type),r),r+=2,e.writeUInt16BE(yr.toClass(t.class===void 0?"IN":t.class),r),r+=2,xe.encode.bytes=r-n,t};xe.encode.bytes=0;xe.decode=function(t,e){e||(e=0);let r=e,n={};return n.name=w.decode(t,e),e+=w.decode.bytes,n.type=ze.toString(t.readUInt16BE(e)),e+=2,n.class=yr.toString(t.readUInt16BE(e)),e+=2,!!(n.class&Xi)&&(n.class&=ec),xe.decode.bytes=e-r,n};xe.decode.bytes=0;xe.encodingLength=function(t){return w.encodingLength(t.name)+4};v.AUTHORITATIVE_ANSWER=1024;v.TRUNCATED_RESPONSE=512;v.RECURSION_DESIRED=256;v.RECURSION_AVAILABLE=128;v.AUTHENTIC_DATA=32;v.CHECKING_DISABLED=16;v.DNSSEC_OK=32768;v.encode=function(t,e,r){let n=!e;n&&(e=S.alloc(v.encodingLength(t))),r||(r=0);let i=r;return t.questions||(t.questions=[]),t.answers||(t.answers=[]),t.authorities||(t.authorities=[]),t.additionals||(t.additionals=[]),Ee.encode(t,e,r),r+=Ee.encode.bytes,r=Gt(t.questions,xe,e,r),r=Gt(t.answers,Y,e,r),r=Gt(t.authorities,Y,e,r),r=Gt(t.additionals,Y,e,r),v.encode.bytes=r-i,n&&v.encode.bytes!==e.length?e.slice(0,v.encode.bytes):e};v.encode.bytes=0;v.decode=function(t,e){e||(e=0);let r=e,n=Ee.decode(t,e);return e+=Ee.decode.bytes,e=mr(n.questions,xe,t,e),e=mr(n.answers,Y,t,e),e=mr(n.authorities,Y,t,e),e=mr(n.additionals,Y,t,e),v.decode.bytes=e-r,n};v.decode.bytes=0;v.encodingLength=function(t){return Ee.encodingLength(t)+Tt(t.questions||[],xe)+Tt(t.answers||[],Y)+Tt(t.authorities||[],Y)+Tt(t.additionals||[],Y)};v.streamEncode=function(t){let e=v.encode(t),r=S.alloc(2);r.writeUInt16BE(e.byteLength);let n=S.concat([r,e]);return v.streamEncode.bytes=n.byteLength,n};v.streamEncode.bytes=0;v.streamDecode=function(t){let e=t.readUInt16BE(0);if(t.byteLength<e+2)return null;let r=v.decode(t.slice(2));return v.streamDecode.bytes=v.decode.bytes,r};v.streamDecode.bytes=0;function Tt(t,e){let r=0;for(let n=0;n<t.length;n++)r+=e.encodingLength(t[n]);return r}function Gt(t,e,r,n){for(let i=0;i<t.length;i++)e.encode(t[i],r,n),n+=e.encode.bytes;return n}function mr(t,e,r,n){for(let i=0;i<t.length;i++)t[i]=e.decode(r,n),n+=e.decode.bytes;return n}});var eo=ve((Od,Ji)=>{"use strict";var Qi=ac;process.nextTick(cc,42);Ji.exports=nc;function nc(t){var e=n;return r;function r(i){e(i||oc)}function n(i){var o=[i];e=s,t(a);function s(c){o.push(c)}function a(c){var u=arguments;for(e=ic(c)?n:m;o.length;)m(o.shift());function m(l){Qi(sc,l,u)}}}}function ic(t){return Object.prototype.toString.call(t)==="[object Error]"}function oc(){}function sc(t,e){t.apply(null,e)}function cc(t){t===42&&(Qi=process.nextTick)}function ac(t,e,r){process.nextTick(function(){t(e,r)})}});var no=ve((Pd,ro)=>{var un=Zi(),uc=ne("dgram"),dc=eo(),lc=ne("events"),ln=ne("os"),dn=function(){};ro.exports=function(t){t||(t={});var e=new lc.EventEmitter,r=typeof t.port=="number"?t.port:5353,n=t.type||"udp4",i=t.ip||t.host||(n==="udp4"?"224.0.0.251":null),o={address:i,port:r},s={},a=!1,c=null;if(n==="udp6"&&(!i||!t.interface))throw new Error("For IPv6 multicast you must specify `ip` and `interface`");var u=t.socket||uc.createSocket({type:n,reuseAddr:t.reuseAddr!==!1,toString:function(){return n}});u.on("error",function(l){l.code==="EACCES"||l.code==="EADDRINUSE"?e.emit("error",l):e.emit("warning",l)}),u.on("message",function(l,d){try{l=un.decode(l)}catch(p){e.emit("warning",p);return}e.emit("packet",l,d),l.type==="query"&&e.emit("query",l,d),l.type==="response"&&e.emit("response",l,d)}),u.on("listening",function(){r||(r=o.port=u.address().port),t.multicast!==!1&&(e.update(),c=setInterval(e.update,5e3),u.setMulticastTTL(t.ttl||255),u.setMulticastLoopback(t.loopback!==!1))});var m=dc(function(l){if(!r||t.bind===!1)return l(null);u.once("error",l),u.bind(r,t.bind||t.interface,function(){u.removeListener("error",l),l(null)})});return m(function(l){if(l)return e.emit("error",l);e.emit("ready")}),e.send=function(l,d,p){if(typeof d=="function")return e.send(l,null,d);p||(p=dn),d?!d.host&&!d.address&&(d.address=o.address):d=o,m(h);function h(y){if(a)return p();if(y)return p(y);var g=un.encode(l);u.send(g,0,g.length,d.port,d.address||d.host,p)}},e.response=e.respond=function(l,d,p){Array.isArray(l)&&(l={answers:l}),l.type="response",l.flags=(l.flags||0)|un.AUTHORITATIVE_ANSWER,e.send(l,d,p)},e.query=function(l,d,p,h){if(typeof d=="function")return e.query(l,null,null,d);if(typeof d=="object"&&d&&d.port)return e.query(l,null,d,p);if(typeof p=="function")return e.query(l,d,null,p);h||(h=dn),typeof l=="string"&&(l=[{name:l,type:d||"ANY"}]),Array.isArray(l)&&(l={type:"query",questions:l}),l.type="query",e.send(l,p,h)},e.destroy=function(l){if(l||(l=dn),a)return process.nextTick(l);a=!0,clearInterval(c);for(var d in s)try{u.dropMembership(i,d)}catch{}s={},u.close(l)},e.update=function(){for(var l=t.interface?[].concat(t.interface):pc(),d=!1,p=0;p<l.length;p++){var h=l[p];if(!s[h])try{u.addMembership(i,h),s[h]=!0,d=!0}catch(y){e.emit("warning",y)}}if(d){if(u.setMulticastInterface)try{u.setMulticastInterface(t.interface||hc())}catch(y){e.emit("warning",y)}e.emit("networkInterface")}},e};function hc(){for(var t=ln.networkInterfaces(),e=Object.keys(t),r=0;r<e.length;r++)for(var n=t[e[r]],i=0;i<n.length;i++){var o=n[i];if(to(o.family)&&!o.internal)return ln.platform()==="darwin"&&e[r]==="en0"?o.address:"0.0.0.0"}return"127.0.0.1"}function pc(){for(var t=ln.networkInterfaces(),e=Object.keys(t),r=[],n=0;n<e.length;n++)for(var i=t[e[n]],o=0;o<i.length;o++){var s=i[o];if(to(s.family)){r.push(s.address);break}}return r}function to(t){return t===4||t==="IPv4"}});var vs=ve(ar=>{(function(){var t,e,r,n,i,o,s,a;a=function(c){var u,m,l,d;return u=(c&255<<24)>>>24,m=(c&255<<16)>>>16,l=(c&65280)>>>8,d=c&255,[u,m,l,d].join(".")},s=function(c){var u,m,l,d,p,h;for(u=[],l=d=0;d<=3&&c.length!==0;l=++d){if(l>0){if(c[0]!==".")throw new Error("Invalid IP");c=c.substring(1)}h=e(c),p=h[0],m=h[1],c=c.substring(m),u.push(p)}if(c.length!==0)throw new Error("Invalid IP");switch(u.length){case 1:if(u[0]>4294967295)throw new Error("Invalid IP");return u[0]>>>0;case 2:if(u[0]>255||u[1]>16777215)throw new Error("Invalid IP");return(u[0]<<24|u[1])>>>0;case 3:if(u[0]>255||u[1]>255||u[2]>65535)throw new Error("Invalid IP");return(u[0]<<24|u[1]<<16|u[2])>>>0;case 4:if(u[0]>255||u[1]>255||u[2]>255||u[3]>255)throw new Error("Invalid IP");return(u[0]<<24|u[1]<<16|u[2]<<8|u[3])>>>0;default:throw new Error("Invalid IP")}},r=function(c){return c.charCodeAt(0)},n=r("0"),o=r("a"),i=r("A"),e=function(c){var u,m,l,d,p;for(d=0,u=10,m="9",l=0,c.length>1&&c[l]==="0"&&(c[l+1]==="x"||c[l+1]==="X"?(l+=2,u=16):"0"<=c[l+1]&&c[l+1]<="9"&&(l++,u=8,m="7")),p=l;l<c.length;){if("0"<=c[l]&&c[l]<=m)d=d*u+(r(c[l])-n)>>>0;else if(u===16)if("a"<=c[l]&&c[l]<="f")d=d*u+(10+r(c[l])-o)>>>0;else if("A"<=c[l]&&c[l]<="F")d=d*u+(10+r(c[l])-i)>>>0;else break;else break;if(d>4294967295)throw new Error("too large");l++}if(l===p)throw new Error("empty octet");return[d,l]},t=function(){function c(u,m){var l,d,p,h;if(typeof u!="string")throw new Error("Missing `net' parameter");if(m||(h=u.split("/",2),u=h[0],m=h[1]),m||(m=32),typeof m=="string"&&m.indexOf(".")>-1){try{this.maskLong=s(m)}catch(y){throw l=y,new Error("Invalid mask: "+m)}for(d=p=32;p>=0;d=--p)if(this.maskLong===4294967295<<32-d>>>0){this.bitmask=d;break}}else if(m||m===0)this.bitmask=parseInt(m,10),this.maskLong=0,this.bitmask>0&&(this.maskLong=4294967295<<32-this.bitmask>>>0);else throw new Error("Invalid mask: empty");try{this.netLong=(s(u)&this.maskLong)>>>0}catch(y){throw l=y,new Error("Invalid net address: "+u)}if(!(this.bitmask<=32))throw new Error("Invalid mask for ip4: "+m);this.size=Math.pow(2,32-this.bitmask),this.base=a(this.netLong),this.mask=a(this.maskLong),this.hostmask=a(~this.maskLong),this.first=this.bitmask<=30?a(this.netLong+1):this.base,this.last=this.bitmask<=30?a(this.netLong+this.size-2):a(this.netLong+this.size-1),this.broadcast=this.bitmask<=30?a(this.netLong+this.size-1):void 0}return c.prototype.contains=function(u){return typeof u=="string"&&(u.indexOf("/")>0||u.split(".").length!==4)&&(u=new c(u)),u instanceof c?this.contains(u.base)&&this.contains(u.broadcast||u.last):(s(u)&this.maskLong)>>>0===(this.netLong&this.maskLong)>>>0},c.prototype.next=function(u){return u==null&&(u=1),new c(a(this.netLong+this.size*u),this.mask)},c.prototype.forEach=function(u){var m,l,d;for(d=s(this.first),l=s(this.last),m=0;d<=l;)u(a(d),d,m),m++,d++},c.prototype.toString=function(){return this.base+"/"+this.bitmask},c}(),ar.ip2long=s,ar.long2ip=a,ar.Netmask=t}).call(ar)});var Wu={};ie(Wu,{mdns:()=>Yu});var _i=Symbol.for("@libp2p/peer-discovery");var Qr=Symbol.for("@libp2p/peer-id");var Lt=class extends Error{static name="InvalidParametersError";constructor(e="Invalid parameters"){super(e),this.name="InvalidParametersError"}},lr=class extends Error{static name="InvalidPublicKeyError";constructor(e="Invalid public key"){super(e),this.name="InvalidPublicKeyError"}};var hr=class extends Error{static name="InvalidCIDError";constructor(e="Invalid CID"){super(e),this.name="InvalidCIDError"}},pr=class extends Error{static name="InvalidMultihashError";constructor(e="Invalid Multihash"){super(e),this.name="InvalidMultihashError"}};var $t=class extends Error{static name="UnsupportedKeyTypeError";constructor(e="Unsupported key type"){super(e),this.name="UnsupportedKeyTypeError"}};var Mi=ne("node:events"),Fi=(t,...e)=>{try{(0,Mi.setMaxListeners)(t,...e)}catch{}};var gr=class extends EventTarget{#e=new Map;constructor(){super(),Fi(1/0,this)}listenerCount(e){let r=this.#e.get(e);return r==null?0:r.length}addEventListener(e,r,n){super.addEventListener(e,r,n);let i=this.#e.get(e);i==null&&(i=[],this.#e.set(e,i)),i.push({callback:r,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(e,r,n){super.removeEventListener(e.toString(),r??null,n);let i=this.#e.get(e);i!=null&&(i=i.filter(({callback:o})=>o!==r),this.#e.set(e,i))}dispatchEvent(e){let r=super.dispatchEvent(e),n=this.#e.get(e.type);return n==null||(n=n.filter(({once:i})=>!i),this.#e.set(e.type,n)),r}safeDispatchEvent(e,r={}){return this.dispatchEvent(new CustomEvent(e,r))}};var Ki=Symbol.for("@libp2p/service-capabilities"),nd=Symbol.for("@libp2p/service-dependencies");var Vs=Ut(no(),1);var yn={};ie(yn,{base58btc:()=>K,base58flickr:()=>xc});var kd=new Uint8Array(0);function io(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}function ge(t){if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")}function oo(t){return new TextEncoder().encode(t)}function so(t){return new TextDecoder().decode(t)}function gc(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<t.length;i++){var o=t.charAt(i),s=o.charCodeAt(0);if(r[s]!==255)throw new TypeError(o+" is ambiguous");r[s]=i}var a=t.length,c=t.charAt(0),u=Math.log(a)/Math.log(256),m=Math.log(256)/Math.log(a);function l(h){if(h instanceof Uint8Array||(ArrayBuffer.isView(h)?h=new Uint8Array(h.buffer,h.byteOffset,h.byteLength):Array.isArray(h)&&(h=Uint8Array.from(h))),!(h instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(h.length===0)return"";for(var y=0,g=0,f=0,x=h.length;f!==x&&h[f]===0;)f++,y++;for(var b=(x-f)*m+1>>>0,L=new Uint8Array(b);f!==x;){for(var T=h[f],B=0,U=b-1;(T!==0||B<g)&&U!==-1;U--,B++)T+=256*L[U]>>>0,L[U]=T%a>>>0,T=T/a>>>0;if(T!==0)throw new Error("Non-zero carry");g=B,f++}for(var C=b-g;C!==b&&L[C]===0;)C++;for(var N=c.repeat(y);C<b;++C)N+=t.charAt(L[C]);return N}function d(h){if(typeof h!="string")throw new TypeError("Expected String");if(h.length===0)return new Uint8Array;var y=0;if(h[y]!==" "){for(var g=0,f=0;h[y]===c;)g++,y++;for(var x=(h.length-y)*u+1>>>0,b=new Uint8Array(x);h[y];){var L=r[h.charCodeAt(y)];if(L===255)return;for(var T=0,B=x-1;(L!==0||T<f)&&B!==-1;B--,T++)L+=a*b[B]>>>0,b[B]=L%256>>>0,L=L/256>>>0;if(L!==0)throw new Error("Non-zero carry");f=T,y++}if(h[y]!==" "){for(var U=x-f;U!==x&&b[U]===0;)U++;for(var C=new Uint8Array(g+(x-U)),N=g;U!==x;)C[N++]=b[U++];return C}}}function p(h){var y=d(h);if(y)return y;throw new Error(`Non-${e} character`)}return{encode:l,decodeUnsafe:d,decode:p}}var mc=gc,yc=mc,ao=yc;var hn=class{name;prefix;baseEncode;constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},pn=class{name;prefix;baseDecode;prefixCodePoint;constructor(e,r,n){this.name=e,this.prefix=r;let i=r.codePointAt(0);if(i===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=i,this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return uo(this,e)}},gn=class{decoders;constructor(e){this.decoders=e}or(e){return uo(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n!=null)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function uo(t,e){return new gn({...t.decoders??{[t.prefix]:t},...e.decoders??{[e.prefix]:e}})}var mn=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new hn(e,r,n),this.decoder=new pn(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};function Ct({name:t,prefix:e,encode:r,decode:n}){return new mn(t,e,r,n)}function tt({name:t,prefix:e,alphabet:r}){let{encode:n,decode:i}=ao(r,t);return Ct({prefix:e,name:t,encode:n,decode:o=>ge(i(o))})}function fc(t,e,r,n){let i={};for(let m=0;m<e.length;++m)i[e[m]]=m;let o=t.length;for(;t[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,c=0,u=0;for(let m=0;m<o;++m){let l=i[t[m]];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)!==0)throw new SyntaxError("Unexpected end of data");return s}function wc(t,e,r){let n=e[e.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],s+=8;s>r;)s-=r,o+=e[i&a>>s];if(s!==0&&(o+=e[i&a<<r-s]),n)for(;(o.length*r&7)!==0;)o+="=";return o}function F({name:t,prefix:e,bitsPerChar:r,alphabet:n}){return Ct({prefix:e,name:t,encode(i){return wc(i,n,r)},decode(i){return fc(i,n,r,t)}})}var K=tt({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),xc=tt({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var fn={};ie(fn,{base32:()=>Ve,base32hex:()=>vc,base32hexpad:()=>Ac,base32hexpadupper:()=>Bc,base32hexupper:()=>Sc,base32pad:()=>bc,base32padupper:()=>Ic,base32upper:()=>Ec,base32z:()=>Uc});var Ve=F({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Ec=F({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),bc=F({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Ic=F({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),vc=F({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Sc=F({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Ac=F({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Bc=F({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Uc=F({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var wn={};ie(wn,{base36:()=>Yt,base36upper:()=>Lc});var Yt=tt({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Lc=tt({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Tc=po,lo=128,Cc=127,Nc=~Cc,Oc=Math.pow(2,31);function po(t,e,r){e=e||[],r=r||0;for(var n=r;t>=Oc;)e[r++]=t&255|lo,t/=128;for(;t&Nc;)e[r++]=t&255|lo,t>>>=7;return e[r]=t|0,po.bytes=r-n+1,e}var Pc=xn,kc=128,ho=127;function xn(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a)throw xn.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&ho)<<i:(s&ho)*Math.pow(2,i),i+=7}while(s>=kc);return xn.bytes=o-n,r}var Rc=Math.pow(2,7),Dc=Math.pow(2,14),_c=Math.pow(2,21),Mc=Math.pow(2,28),Fc=Math.pow(2,35),Kc=Math.pow(2,42),qc=Math.pow(2,49),zc=Math.pow(2,56),Vc=Math.pow(2,63),Hc=function(t){return t<Rc?1:t<Dc?2:t<_c?3:t<Mc?4:t<Fc?5:t<Kc?6:t<qc?7:t<zc?8:t<Vc?9:10},jc={encode:Tc,decode:Pc,encodingLength:Hc},$c=jc,Wt=$c;function Xt(t,e=0){return[Wt.decode(t,e),Wt.decode.bytes]}function Nt(t,e,r=0){return Wt.encode(t,e,r),e}function Ot(t){return Wt.encodingLength(t)}function ht(t,e){let r=e.byteLength,n=Ot(t),i=n+Ot(r),o=new Uint8Array(i+r);return Nt(t,o,0),Nt(r,o,n),o.set(e,i),new Pt(t,r,e,o)}function pt(t){let e=ge(t),[r,n]=Xt(e),[i,o]=Xt(e.subarray(n)),s=e.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new Pt(r,i,s,e)}function go(t,e){if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&io(t.bytes,r.bytes)}}var Pt=class{code;size;digest;bytes;constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};function mo(t,e){let{bytes:r,version:n}=t;switch(n){case 0:return Yc(r,En(t),e??K.encoder);default:return Wc(r,En(t),e??Ve.encoder)}}var yo=new WeakMap;function En(t){let e=yo.get(t);if(e==null){let r=new Map;return yo.set(t,r),r}return e}var W=class t{code;version;multihash;bytes;"/";constructor(e,r,n,i){this.code=r,this.version=e,this.multihash=n,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:r}=this;if(e!==Zt)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==Xc)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return t.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:r}=this.multihash,n=ht(e,r);return t.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return t.equals(this,e)}static equals(e,r){let n=r;return n!=null&&e.code===n.code&&e.version===n.version&&go(e.multihash,n.multihash)}toString(e){return mo(this,e)}toJSON(){return{"/":mo(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof t)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:o,bytes:s}=r;return new t(n,i,o,s??fo(n,i,o.bytes))}else if(r[Zc]===!0){let{version:n,multihash:i,code:o}=r,s=pt(i);return t.create(n,o,s)}else return null}static create(e,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(r!==Zt)throw new Error(`Version 0 CID must use dag-pb (code: ${Zt}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let i=fo(e,r,n.bytes);return new t(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,Zt,e)}static createV1(e,r){return t.create(1,e,r)}static decode(e){let[r,n]=t.decodeFirst(e);if(n.length!==0)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=t.inspectBytes(e),n=r.size-r.multihashSize,i=ge(e.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let o=i.subarray(r.multihashSize-r.digestSize),s=new Pt(r.multihashCode,r.digestSize,o,i);return[r.version===0?t.createV0(s):t.createV1(r.codec,s),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[l,d]=Xt(e.subarray(r));return r+=d,l},i=n(),o=Zt;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,m=u-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:m,size:u}}static parse(e,r){let[n,i]=Gc(e,r),o=t.decode(i);if(o.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return En(o).set(n,e),o}};function Gc(t,e){switch(t[0]){case"Q":{let r=e??K;return[K.prefix,r.decode(`${K.prefix}${t}`)]}case K.prefix:{let r=e??K;return[K.prefix,r.decode(t)]}case Ve.prefix:{let r=e??Ve;return[Ve.prefix,r.decode(t)]}case Yt.prefix:{let r=e??Yt;return[Yt.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32, base36 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}}function Yc(t,e,r){let{prefix:n}=r;if(n!==K.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=e.get(n);if(i==null){let o=r.encode(t).slice(1);return e.set(n,o),o}else return i}function Wc(t,e,r){let{prefix:n}=r,i=e.get(n);if(i==null){let o=r.encode(t);return e.set(n,o),o}else return i}var Zt=112,Xc=18;function fo(t,e,r){let n=Ot(t),i=n+Ot(e),o=new Uint8Array(i+r.byteLength);return Nt(t,o,0),Nt(e,o,n),o.set(r,i),o}var Zc=Symbol.for("@ipld/js-cid/CID");var bn={};ie(bn,{identity:()=>He});var wo=0,Qc="identity",xo=ge;function Jc(t){return ht(wo,xo(t))}var He={code:wo,name:Qc,encode:xo,digest:Jc};function je(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}var xr=Ut(ne("crypto"),1);var Eo=ne("node:buffer");function kt(t){return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}function Ne(t,e){return kt(Eo.Buffer.concat(t,e))}var Bo=ne("node:buffer");var In={};ie(In,{base10:()=>ea});var ea=tt({prefix:"9",name:"base10",alphabet:"0123456789"});var vn={};ie(vn,{base16:()=>ta,base16upper:()=>ra});var ta=F({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),ra=F({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Sn={};ie(Sn,{base2:()=>na});var na=F({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var An={};ie(An,{base256emoji:()=>aa});var bo=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}"),ia=bo.reduce((t,e,r)=>(t[r]=e,t),[]),oa=bo.reduce((t,e,r)=>{let n=e.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${e}`);return t[n]=r,t},[]);function sa(t){return t.reduce((e,r)=>(e+=ia[r],e),"")}function ca(t){let e=[];for(let r of t){let n=r.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${r}`);let i=oa[n];if(i==null)throw new Error(`Non-base256emoji character: ${r}`);e.push(i)}return new Uint8Array(e)}var aa=Ct({prefix:"\u{1F680}",name:"base256emoji",encode:sa,decode:ca});var Bn={};ie(Bn,{base64:()=>ua,base64pad:()=>da,base64url:()=>la,base64urlpad:()=>ha});var ua=F({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),da=F({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),la=F({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),ha=F({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Un={};ie(Un,{base8:()=>pa});var pa=F({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Ln={};ie(Ln,{identity:()=>ga});var ga=Ct({prefix:"\0",name:"identity",encode:t=>so(t),decode:t=>oo(t)});var dl=new TextEncoder,ll=new TextDecoder;var Pn={};ie(Pn,{sha256:()=>On,sha512:()=>fa});var Nn=Ut(ne("crypto"),1);function Cn({name:t,code:e,encode:r}){return new Tn(t,e,r)}var Tn=class{name;code;encode;constructor(e,r,n){this.name=e,this.code=r,this.encode=n}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);return r instanceof Uint8Array?ht(this.code,r):r.then(n=>ht(this.code,n))}else throw Error("Unknown type, must be binary type")}};var On=Cn({name:"sha2-256",code:18,encode:t=>ge(Nn.default.createHash("sha256").update(t).digest())}),fa=Cn({name:"sha2-512",code:19,encode:t=>ge(Nn.default.createHash("sha512").update(t).digest())});var Qt={...Ln,...Sn,...Un,...In,...vn,...fn,...wn,...yn,...Bn,...An},Sl={...Pn,...bn};var vo=ne("node:buffer");function $e(t=0){return kt(vo.Buffer.allocUnsafe(t))}function Ao(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var So=Ao("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),kn=Ao("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);let e=$e(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),wa={utf8:So,"utf-8":So,hex:Qt.base16,latin1:kn,ascii:kn,binary:kn,...Qt},wr=wa;function Ge(t,e="utf8"){let r=wr[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return e==="utf8"||e==="utf-8"?kt(Bo.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}var Uo=ne("node:buffer");function q(t,e="utf8"){let r=wr[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return e==="utf8"||e==="utf-8"?Uo.Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("utf8"):r.encoder.encode(t).substring(1)}var Fl=xr.default.generateKeyPairSync,Jt=32;var xa=64;function Lo(t,e,r){if(t.byteLength!==Jt)throw new TypeError('"key" must be 32 bytes in length.');if(!(t instanceof Uint8Array))throw new TypeError('"key" must be a node.js Buffer, or Uint8Array.');if(e.byteLength!==xa)throw new TypeError('"sig" must be 64 bytes in length.');if(!(e instanceof Uint8Array))throw new TypeError('"sig" must be a node.js Buffer, or Uint8Array.');let n=xr.default.createPublicKey({format:"jwk",key:{crv:"Ed25519",x:q(t,"base64url"),kty:"OKP"}});return xr.default.verify(null,r instanceof Uint8Array?r:r.subarray(),n,e)}var Er=class{type="Ed25519";raw;constructor(e){this.raw=Rn(e,Jt)}toMultihash(){return He.digest(br(this))}toCID(){return W.createV1(114,this.toMultihash())}toString(){return K.encode(this.toMultihash().bytes).substring(1)}equals(e){return e==null||!(e.raw instanceof Uint8Array)?!1:je(this.raw,e.raw)}verify(e,r){return Lo(this.raw,r,e)}};function Co(t){return t=Rn(t,Jt),new Er(t)}function Rn(t,e){if(t=Uint8Array.from(t??[]),t.length!==e)throw new Lt(`Key must be a Uint8Array of length ${e}, got ${t.length}`);return t}var ba=Math.pow(2,7),Ia=Math.pow(2,14),va=Math.pow(2,21),Dn=Math.pow(2,28),_n=Math.pow(2,35),Mn=Math.pow(2,42),Fn=Math.pow(2,49),R=128,X=127;function se(t){if(t<ba)return 1;if(t<Ia)return 2;if(t<va)return 3;if(t<Dn)return 4;if(t<_n)return 5;if(t<Mn)return 6;if(t<Fn)return 7;if(Number.MAX_SAFE_INTEGER!=null&&t>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Kn(t,e,r=0){switch(se(t)){case 8:e[r++]=t&255|R,t/=128;case 7:e[r++]=t&255|R,t/=128;case 6:e[r++]=t&255|R,t/=128;case 5:e[r++]=t&255|R,t/=128;case 4:e[r++]=t&255|R,t>>>=7;case 3:e[r++]=t&255|R,t>>>=7;case 2:e[r++]=t&255|R,t>>>=7;case 1:{e[r++]=t&255,t>>>=7;break}default:throw new Error("unreachable")}return e}function Sa(t,e,r=0){switch(se(t)){case 8:e.set(r++,t&255|R),t/=128;case 7:e.set(r++,t&255|R),t/=128;case 6:e.set(r++,t&255|R),t/=128;case 5:e.set(r++,t&255|R),t/=128;case 4:e.set(r++,t&255|R),t>>>=7;case 3:e.set(r++,t&255|R),t>>>=7;case 2:e.set(r++,t&255|R),t>>>=7;case 1:{e.set(r++,t&255),t>>>=7;break}default:throw new Error("unreachable")}return e}function qn(t,e){let r=t[e],n=0;if(n+=r&X,r<R||(r=t[e+1],n+=(r&X)<<7,r<R)||(r=t[e+2],n+=(r&X)<<14,r<R)||(r=t[e+3],n+=(r&X)<<21,r<R)||(r=t[e+4],n+=(r&X)*Dn,r<R)||(r=t[e+5],n+=(r&X)*_n,r<R)||(r=t[e+6],n+=(r&X)*Mn,r<R)||(r=t[e+7],n+=(r&X)*Fn,r<R))return n;throw new RangeError("Could not decode varint")}function Aa(t,e){let r=t.get(e),n=0;if(n+=r&X,r<R||(r=t.get(e+1),n+=(r&X)<<7,r<R)||(r=t.get(e+2),n+=(r&X)<<14,r<R)||(r=t.get(e+3),n+=(r&X)<<21,r<R)||(r=t.get(e+4),n+=(r&X)*Dn,r<R)||(r=t.get(e+5),n+=(r&X)*_n,r<R)||(r=t.get(e+6),n+=(r&X)*Mn,r<R)||(r=t.get(e+7),n+=(r&X)*Fn,r<R))return n;throw new RangeError("Could not decode varint")}function Rt(t,e,r=0){return e==null&&(e=$e(se(t))),e instanceof Uint8Array?Kn(t,e,r):Sa(t,e,r)}function mt(t,e=0){return t instanceof Uint8Array?qn(t,e):Aa(t,e)}var zn=new Float32Array([-0]),rt=new Uint8Array(zn.buffer);function Oo(t,e,r){zn[0]=t,e[r]=rt[0],e[r+1]=rt[1],e[r+2]=rt[2],e[r+3]=rt[3]}function Po(t,e){return rt[0]=t[e],rt[1]=t[e+1],rt[2]=t[e+2],rt[3]=t[e+3],zn[0]}var Vn=new Float64Array([-0]),Z=new Uint8Array(Vn.buffer);function ko(t,e,r){Vn[0]=t,e[r]=Z[0],e[r+1]=Z[1],e[r+2]=Z[2],e[r+3]=Z[3],e[r+4]=Z[4],e[r+5]=Z[5],e[r+6]=Z[6],e[r+7]=Z[7]}function Ro(t,e){return Z[0]=t[e],Z[1]=t[e+1],Z[2]=t[e+2],Z[3]=t[e+3],Z[4]=t[e+4],Z[5]=t[e+5],Z[6]=t[e+6],Z[7]=t[e+7],Vn[0]}var Ba=BigInt(Number.MAX_SAFE_INTEGER),Ua=BigInt(Number.MIN_SAFE_INTEGER),le=class t{lo;hi;constructor(e,r){this.lo=e|0,this.hi=r|0}toNumber(e=!1){if(!e&&this.hi>>>31>0){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(r+n*4294967296)}return this.lo+this.hi*4294967296}toBigInt(e=!1){if(e)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(BigInt(r)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toString(e=!1){return this.toBigInt(e).toString()}zzEncode(){let e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this}zzDecode(){let e=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this}length(){let e=this.lo,r=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?r===0?e<16384?e<128?1:2:e<2097152?3:4:r<16384?r<128?5:6:r<2097152?7:8:n<128?9:10}static fromBigInt(e){if(e===0n)return yt;if(e<Ba&&e>Ua)return this.fromNumber(Number(e));let r=e<0n;r&&(e=-e);let n=e>>32n,i=e-(n<<32n);return r&&(n=~n|0n,i=~i|0n,++i>Do&&(i=0n,++n>Do&&(n=0n))),new t(Number(i),Number(n))}static fromNumber(e){if(e===0)return yt;let r=e<0;r&&(e=-e);let n=e>>>0,i=(e-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new t(n,i)}static from(e){return typeof e=="number"?t.fromNumber(e):typeof e=="bigint"?t.fromBigInt(e):typeof e=="string"?t.fromBigInt(BigInt(e)):e.low!=null||e.high!=null?new t(e.low>>>0,e.high>>>0):yt}},yt=new le(0,0);yt.toBigInt=function(){return 0n};yt.zzEncode=yt.zzDecode=function(){return this};yt.length=function(){return 1};var Do=4294967296n;function _o(t){let e=0,r=0;for(let n=0;n<t.length;++n)r=t.charCodeAt(n),r<128?e+=1:r<2048?e+=2:(r&64512)===55296&&(t.charCodeAt(n+1)&64512)===56320?(++n,e+=4):e+=3;return e}function Mo(t,e,r){if(r-e<1)return"";let i,o=[],s=0,a;for(;e<r;)a=t[e++],a<128?o[s++]=a:a>191&&a<224?o[s++]=(a&31)<<6|t[e++]&63:a>239&&a<365?(a=((a&7)<<18|(t[e++]&63)<<12|(t[e++]&63)<<6|t[e++]&63)-65536,o[s++]=55296+(a>>10),o[s++]=56320+(a&1023)):o[s++]=(a&15)<<12|(t[e++]&63)<<6|t[e++]&63,s>8191&&((i??(i=[])).push(String.fromCharCode.apply(String,o)),s=0);return i!=null?(s>0&&i.push(String.fromCharCode.apply(String,o.slice(0,s))),i.join("")):String.fromCharCode.apply(String,o.slice(0,s))}function Hn(t,e,r){let n=r,i,o;for(let s=0;s<t.length;++s)i=t.charCodeAt(s),i<128?e[r++]=i:i<2048?(e[r++]=i>>6|192,e[r++]=i&63|128):(i&64512)===55296&&((o=t.charCodeAt(s+1))&64512)===56320?(i=65536+((i&1023)<<10)+(o&1023),++s,e[r++]=i>>18|240,e[r++]=i>>12&63|128,e[r++]=i>>6&63|128,e[r++]=i&63|128):(e[r++]=i>>12|224,e[r++]=i>>6&63|128,e[r++]=i&63|128);return r-n}function be(t,e){return RangeError(`index out of range: ${t.pos} + ${e??1} > ${t.len}`)}function Ir(t,e){return(t[e-4]|t[e-3]<<8|t[e-2]<<16|t[e-1]<<24)>>>0}var jn=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(e){this.buf=e,this.pos=0,this.len=e.length}uint32(){let e=4294967295;if(e=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(e=(e|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return e;if((this.pos+=5)>this.len)throw this.pos=this.len,be(this,10);return e}int32(){return this.uint32()|0}sint32(){let e=this.uint32();return e>>>1^-(e&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw be(this,4);return Ir(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw be(this,4);return Ir(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw be(this,4);let e=Po(this.buf,this.pos);return this.pos+=4,e}double(){if(this.pos+8>this.len)throw be(this,4);let e=Ro(this.buf,this.pos);return this.pos+=8,e}bytes(){let e=this.uint32(),r=this.pos,n=this.pos+e;if(n>this.len)throw be(this,e);return this.pos+=e,r===n?new Uint8Array(0):this.buf.subarray(r,n)}string(){let e=this.bytes();return Mo(e,0,e.length)}skip(e){if(typeof e=="number"){if(this.pos+e>this.len)throw be(this,e);this.pos+=e}else do if(this.pos>=this.len)throw be(this);while((this.buf[this.pos++]&128)!==0);return this}skipType(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(e=this.uint32()&7)!==4;)this.skipType(e);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${e} at offset ${this.pos}`)}return this}readLongVarint(){let e=new le(0,0),r=0;if(this.len-this.pos>4){for(;r<4;++r)if(e.lo=(e.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(this.buf[this.pos]&127)<<28)>>>0,e.hi=(e.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return e;r=0}else{for(;r<3;++r){if(this.pos>=this.len)throw be(this);if(e.lo=(e.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(this.buf[this.pos++]&127)<<r*7)>>>0,e}if(this.len-this.pos>4){for(;r<5;++r)if(e.hi=(e.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return e}else for(;r<5;++r){if(this.pos>=this.len)throw be(this);if(e.hi=(e.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw be(this,8);let e=Ir(this.buf,this.pos+=4),r=Ir(this.buf,this.pos+=4);return new le(e,r)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){let e=qn(this.buf,this.pos);return this.pos+=se(e),e}uint64String(){return this.readLongVarint().toString(!0)}sint64(){return this.readLongVarint().zzDecode().toBigInt()}sint64Number(){return this.readLongVarint().zzDecode().toNumber()}sint64String(){return this.readLongVarint().zzDecode().toString()}fixed64(){return this.readFixed64().toBigInt()}fixed64Number(){return this.readFixed64().toNumber()}fixed64String(){return this.readFixed64().toString()}sfixed64(){return this.readFixed64().toBigInt()}sfixed64Number(){return this.readFixed64().toNumber()}sfixed64String(){return this.readFixed64().toString()}};function $n(t){return new jn(t instanceof Uint8Array?t:t.subarray())}function vr(t,e,r){let n=$n(t);return e.decode(n,void 0,r)}function Gn(t){let e=t??8192,r=e>>>1,n,i=e;return function(s){if(s<1||s>r)return $e(s);i+s>e&&(n=$e(e),i=0);let a=n.subarray(i,i+=s);return(i&7)!==0&&(i=(i|7)+1),a}}var ft=class{fn;len;next;val;constructor(e,r,n){this.fn=e,this.len=r,this.next=void 0,this.val=n}};function Yn(){}var Xn=class{head;tail;len;next;constructor(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}},La=Gn();function Ta(t){return globalThis.Buffer!=null?$e(t):La(t)}var tr=class{len;head;tail;states;constructor(){this.len=0,this.head=new ft(Yn,0,0),this.tail=this.head,this.states=null}_push(e,r,n){return this.tail=this.tail.next=new ft(e,r,n),this.len+=r,this}uint32(e){return this.len+=(this.tail=this.tail.next=new Zn((e=e>>>0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this}int32(e){return e<0?this._push(Sr,10,le.fromNumber(e)):this.uint32(e)}sint32(e){return this.uint32((e<<1^e>>31)>>>0)}uint64(e){let r=le.fromBigInt(e);return this._push(Sr,r.length(),r)}uint64Number(e){return this._push(Kn,se(e),e)}uint64String(e){return this.uint64(BigInt(e))}int64(e){return this.uint64(e)}int64Number(e){return this.uint64Number(e)}int64String(e){return this.uint64String(e)}sint64(e){let r=le.fromBigInt(e).zzEncode();return this._push(Sr,r.length(),r)}sint64Number(e){let r=le.fromNumber(e).zzEncode();return this._push(Sr,r.length(),r)}sint64String(e){return this.sint64(BigInt(e))}bool(e){return this._push(Wn,1,e?1:0)}fixed32(e){return this._push(er,4,e>>>0)}sfixed32(e){return this.fixed32(e)}fixed64(e){let r=le.fromBigInt(e);return this._push(er,4,r.lo)._push(er,4,r.hi)}fixed64Number(e){let r=le.fromNumber(e);return this._push(er,4,r.lo)._push(er,4,r.hi)}fixed64String(e){return this.fixed64(BigInt(e))}sfixed64(e){return this.fixed64(e)}sfixed64Number(e){return this.fixed64Number(e)}sfixed64String(e){return this.fixed64String(e)}float(e){return this._push(Oo,4,e)}double(e){return this._push(ko,8,e)}bytes(e){let r=e.length>>>0;return r===0?this._push(Wn,1,0):this.uint32(r)._push(Na,r,e)}string(e){let r=_o(e);return r!==0?this.uint32(r)._push(Hn,r,e):this._push(Wn,1,0)}fork(){return this.states=new Xn(this),this.head=this.tail=new ft(Yn,0,0),this.len=0,this}reset(){return this.states!=null?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new ft(Yn,0,0),this.len=0),this}ldelim(){let e=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=e.next,this.tail=r,this.len+=n),this}finish(){let e=this.head.next,r=Ta(this.len),n=0;for(;e!=null;)e.fn(e.val,r,n),n+=e.len,e=e.next;return r}};function Wn(t,e,r){e[r]=t&255}function Ca(t,e,r){for(;t>127;)e[r++]=t&127|128,t>>>=7;e[r]=t}var Zn=class extends ft{next;constructor(e,r){super(Ca,e,r),this.next=void 0}};function Sr(t,e,r){for(;t.hi!==0;)e[r++]=t.lo&127|128,t.lo=(t.lo>>>7|t.hi<<25)>>>0,t.hi>>>=7;for(;t.lo>127;)e[r++]=t.lo&127|128,t.lo=t.lo>>>7;e[r++]=t.lo}function er(t,e,r){e[r]=t&255,e[r+1]=t>>>8&255,e[r+2]=t>>>16&255,e[r+3]=t>>>24}function Na(t,e,r){e.set(t,r)}globalThis.Buffer!=null&&(tr.prototype.bytes=function(t){let e=t.length>>>0;return this.uint32(e),e>0&&this._push(Oa,e,t),this},tr.prototype.string=function(t){let e=globalThis.Buffer.byteLength(t);return this.uint32(e),e>0&&this._push(Pa,e,t),this});function Oa(t,e,r){e.set(t,r)}function Pa(t,e,r){t.length<40?Hn(t,e,r):e.utf8Write!=null?e.utf8Write(t,r):e.set(Ge(t),r)}function Qn(){return new tr}function Ar(t,e){let r=Qn();return e.encode(t,r,{lengthDelimited:!1}),r.finish()}var Dt;(function(t){t[t.VARINT=0]="VARINT",t[t.BIT64=1]="BIT64",t[t.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",t[t.START_GROUP=3]="START_GROUP",t[t.END_GROUP=4]="END_GROUP",t[t.BIT32=5]="BIT32"})(Dt||(Dt={}));function Br(t,e,r,n){return{name:t,type:e,encode:r,decode:n}}function Jn(t){function e(i){if(t[i.toString()]==null)throw new Error("Invalid enum value");return t[i]}let r=function(o,s){let a=e(o);s.int32(a)},n=function(o){let s=o.int32();return e(s)};return Br("enum",Dt.VARINT,r,n)}function Ur(t,e){return Br("message",Dt.LENGTH_DELIMITED,t,e)}var me;(function(t){t.RSA="RSA",t.Ed25519="Ed25519",t.secp256k1="secp256k1"})(me||(me={}));var ei;(function(t){t[t.RSA=0]="RSA",t[t.Ed25519=1]="Ed25519",t[t.secp256k1=2]="secp256k1"})(ei||(ei={}));(function(t){t.codec=()=>Jn(ei)})(me||(me={}));var rr;(function(t){let e;t.codec=()=>(e==null&&(e=Ur((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),me.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n,i={})=>{let o={},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let a=r.uint32();switch(a>>>3){case 1:{o.Type=me.codec().decode(r);break}case 2:{o.Data=r.bytes();break}default:{r.skipType(a&7);break}}}return o})),e),t.encode=r=>Ar(r,t.codec()),t.decode=(r,n)=>vr(r,t.codec(),n)})(rr||(rr={}));var ti;(function(t){let e;t.codec=()=>(e==null&&(e=Ur((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),me.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n,i={})=>{let o={},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let a=r.uint32();switch(a>>>3){case 1:{o.Type=me.codec().decode(r);break}case 2:{o.Data=r.bytes();break}default:{r.skipType(a&7);break}}}return o})),e),t.encode=r=>Ar(r,t.codec()),t.decode=(r,n)=>vr(r,t.codec(),n)})(ti||(ti={}));function Ko(t){if(!Number.isSafeInteger(t)||t<0)throw new Error("positive integer expected, got "+t)}function Ra(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function _t(t,...e){if(!Ra(t))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(t.length))throw new Error("Uint8Array expected of length "+e+", got length="+t.length)}function qo(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");Ko(t.outputLen),Ko(t.blockLen)}function Mt(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function zo(t,e){_t(t);let r=e.outputLen;if(t.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}var Ye=Ut(ne("node:crypto"),1),wt=Ye&&typeof Ye=="object"&&"webcrypto"in Ye?Ye.webcrypto:Ye&&typeof Ye=="object"&&"randomBytes"in Ye?Ye:void 0;function Lr(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}function Ie(t,e){return t<<32-e|t>>>e}function Da(t){if(typeof t!="string")throw new Error("utf8ToBytes expected string, got "+typeof t);return new Uint8Array(new TextEncoder().encode(t))}function nr(t){return typeof t=="string"&&(t=Da(t)),_t(t),t}function Vo(...t){let e=0;for(let n=0;n<t.length;n++){let i=t[n];_t(i),e+=i.length}let r=new Uint8Array(e);for(let n=0,i=0;n<t.length;n++){let o=t[n];r.set(o,i),i+=o.length}return r}var Ft=class{clone(){return this._cloneInto()}};function Ho(t){let e=n=>t().update(nr(n)).digest(),r=t();return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=()=>t(),e}function jo(t=32){if(wt&&typeof wt.getRandomValues=="function")return wt.getRandomValues(new Uint8Array(t));if(wt&&typeof wt.randomBytes=="function")return wt.randomBytes(t);throw new Error("crypto.getRandomValues must be defined")}function _a(t,e,r,n){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,r,n);let i=BigInt(32),o=BigInt(4294967295),s=Number(r>>i&o),a=Number(r&o),c=n?4:0,u=n?0:4;t.setUint32(e+c,s,n),t.setUint32(e+u,a,n)}function $o(t,e,r){return t&e^~t&r}function Go(t,e,r){return t&e^t&r^e&r}var Tr=class extends Ft{constructor(e,r,n,i){super(),this.blockLen=e,this.outputLen=r,this.padOffset=n,this.isLE=i,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=Lr(this.buffer)}update(e){Mt(this);let{view:r,buffer:n,blockLen:i}=this;e=nr(e);let o=e.length;for(let s=0;s<o;){let a=Math.min(i-this.pos,o-s);if(a===i){let c=Lr(e);for(;i<=o-s;s+=i)this.process(c,s);continue}n.set(e.subarray(s,s+a),this.pos),this.pos+=a,s+=a,this.pos===i&&(this.process(r,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){Mt(this),zo(e,this),this.finished=!0;let{buffer:r,view:n,blockLen:i,isLE:o}=this,{pos:s}=this;r[s++]=128,this.buffer.subarray(s).fill(0),this.padOffset>i-s&&(this.process(n,0),s=0);for(let l=s;l<i;l++)r[l]=0;_a(n,i-8,BigInt(this.length*8),o),this.process(n,0);let a=Lr(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let u=c/4,m=this.get();if(u>m.length)throw new Error("_sha2: outputLen bigger than state");for(let l=0;l<u;l++)a.setUint32(4*l,m[l],o)}digest(){let{buffer:e,outputLen:r}=this;this.digestInto(e);let n=e.slice(0,r);return this.destroy(),n}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:r,buffer:n,length:i,finished:o,destroyed:s,pos:a}=this;return e.length=i,e.pos=a,e.finished=o,e.destroyed=s,i%r&&e.buffer.set(n),e}};var Ma=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]),nt=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),it=new Uint32Array(64),ri=class extends Tr{constructor(){super(64,32,8,!1),this.A=nt[0]|0,this.B=nt[1]|0,this.C=nt[2]|0,this.D=nt[3]|0,this.E=nt[4]|0,this.F=nt[5]|0,this.G=nt[6]|0,this.H=nt[7]|0}get(){let{A:e,B:r,C:n,D:i,E:o,F:s,G:a,H:c}=this;return[e,r,n,i,o,s,a,c]}set(e,r,n,i,o,s,a,c){this.A=e|0,this.B=r|0,this.C=n|0,this.D=i|0,this.E=o|0,this.F=s|0,this.G=a|0,this.H=c|0}process(e,r){for(let l=0;l<16;l++,r+=4)it[l]=e.getUint32(r,!1);for(let l=16;l<64;l++){let d=it[l-15],p=it[l-2],h=Ie(d,7)^Ie(d,18)^d>>>3,y=Ie(p,17)^Ie(p,19)^p>>>10;it[l]=y+it[l-7]+h+it[l-16]|0}let{A:n,B:i,C:o,D:s,E:a,F:c,G:u,H:m}=this;for(let l=0;l<64;l++){let d=Ie(a,6)^Ie(a,11)^Ie(a,25),p=m+d+$o(a,c,u)+Ma[l]+it[l]|0,y=(Ie(n,2)^Ie(n,13)^Ie(n,22))+Go(n,i,o)|0;m=u,u=c,c=a,a=s+p|0,s=o,o=i,i=n,n=p+y|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,m=m+this.H|0,this.set(n,i,o,s,a,c,u,m)}roundClean(){it.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var Yo=Ho(()=>new ri);var Cr=class extends Ft{constructor(e,r){super(),this.finished=!1,this.destroyed=!1,qo(e);let n=nr(r);if(this.iHash=e.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let i=this.blockLen,o=new Uint8Array(i);o.set(n.length>i?e.create().update(n).digest():n);for(let s=0;s<o.length;s++)o[s]^=54;this.iHash.update(o),this.oHash=e.create();for(let s=0;s<o.length;s++)o[s]^=106;this.oHash.update(o),o.fill(0)}update(e){return Mt(this),this.iHash.update(e),this}digestInto(e){Mt(this),_t(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));let{oHash:r,iHash:n,finished:i,destroyed:o,blockLen:s,outputLen:a}=this;return e=e,e.finished=i,e.destroyed=o,e.blockLen=s,e.outputLen=a,e.oHash=r._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},ni=(t,e,r)=>new Cr(t,e).update(r).digest();ni.create=(t,e)=>new Cr(t,e);var ui={};ie(ui,{aInRange:()=>ct,abool:()=>xt,abytes:()=>Kt,bitGet:()=>Ha,bitLen:()=>ci,bitMask:()=>or,bitSet:()=>ja,bytesToHex:()=>Et,bytesToNumberBE:()=>Xe,bytesToNumberLE:()=>Pr,concatBytes:()=>qt,createHmacDrbg:()=>ai,ensureBytes:()=>he,equalBytes:()=>za,hexToBytes:()=>It,hexToNumber:()=>si,inRange:()=>ir,isBytes:()=>ot,memoized:()=>Rr,notImplemented:()=>Ga,numberToBytesBE:()=>st,numberToBytesLE:()=>kr,numberToHexUnpadded:()=>bt,numberToVarBytesBE:()=>qa,utf8ToBytes:()=>Va,validateObject:()=>at});var Nr=BigInt(0),Or=BigInt(1),Fa=BigInt(2);function ot(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function Kt(t){if(!ot(t))throw new Error("Uint8Array expected")}function xt(t,e){if(typeof e!="boolean")throw new Error(t+" boolean expected, got "+e)}var Ka=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function Et(t){Kt(t);let e="";for(let r=0;r<t.length;r++)e+=Ka[t[r]];return e}function bt(t){let e=t.toString(16);return e.length&1?"0"+e:e}function si(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);return t===""?Nr:BigInt("0x"+t)}var We={_0:48,_9:57,A:65,F:70,a:97,f:102};function Wo(t){if(t>=We._0&&t<=We._9)return t-We._0;if(t>=We.A&&t<=We.F)return t-(We.A-10);if(t>=We.a&&t<=We.f)return t-(We.a-10)}function It(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);let e=t.length,r=e/2;if(e%2)throw new Error("hex string expected, got unpadded hex of length "+e);let n=new Uint8Array(r);for(let i=0,o=0;i<r;i++,o+=2){let s=Wo(t.charCodeAt(o)),a=Wo(t.charCodeAt(o+1));if(s===void 0||a===void 0){let c=t[o]+t[o+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+o)}n[i]=s*16+a}return n}function Xe(t){return si(Et(t))}function Pr(t){return Kt(t),si(Et(Uint8Array.from(t).reverse()))}function st(t,e){return It(t.toString(16).padStart(e*2,"0"))}function kr(t,e){return st(t,e).reverse()}function qa(t){return It(bt(t))}function he(t,e,r){let n;if(typeof e=="string")try{n=It(e)}catch(o){throw new Error(t+" must be hex string or Uint8Array, cause: "+o)}else if(ot(e))n=Uint8Array.from(e);else throw new Error(t+" must be hex string or Uint8Array");let i=n.length;if(typeof r=="number"&&i!==r)throw new Error(t+" of length "+r+" expected, got "+i);return n}function qt(...t){let e=0;for(let n=0;n<t.length;n++){let i=t[n];Kt(i),e+=i.length}let r=new Uint8Array(e);for(let n=0,i=0;n<t.length;n++){let o=t[n];r.set(o,i),i+=o.length}return r}function za(t,e){if(t.length!==e.length)return!1;let r=0;for(let n=0;n<t.length;n++)r|=t[n]^e[n];return r===0}function Va(t){if(typeof t!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(t))}var ii=t=>typeof t=="bigint"&&Nr<=t;function ir(t,e,r){return ii(t)&&ii(e)&&ii(r)&&e<=t&&t<r}function ct(t,e,r,n){if(!ir(e,r,n))throw new Error("expected valid "+t+": "+r+" <= n < "+n+", got "+e)}function ci(t){let e;for(e=0;t>Nr;t>>=Or,e+=1);return e}function Ha(t,e){return t>>BigInt(e)&Or}function ja(t,e,r){return t|(r?Or:Nr)<<BigInt(e)}var or=t=>(Fa<<BigInt(t-1))-Or,oi=t=>new Uint8Array(t),Xo=t=>Uint8Array.from(t);function ai(t,e,r){if(typeof t!="number"||t<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");if(typeof r!="function")throw new Error("hmacFn must be a function");let n=oi(t),i=oi(t),o=0,s=()=>{n.fill(1),i.fill(0),o=0},a=(...l)=>r(i,n,...l),c=(l=oi())=>{i=a(Xo([0]),l),n=a(),l.length!==0&&(i=a(Xo([1]),l),n=a())},u=()=>{if(o++>=1e3)throw new Error("drbg: tried 1000 values");let l=0,d=[];for(;l<e;){n=a();let p=n.slice();d.push(p),l+=n.length}return qt(...d)};return(l,d)=>{s(),c(l);let p;for(;!(p=d(u()));)c();return s(),p}}var $a={bigint:t=>typeof t=="bigint",function:t=>typeof t=="function",boolean:t=>typeof t=="boolean",string:t=>typeof t=="string",stringOrUint8Array:t=>typeof t=="string"||ot(t),isSafeInteger:t=>Number.isSafeInteger(t),array:t=>Array.isArray(t),field:(t,e)=>e.Fp.isValid(t),hash:t=>typeof t=="function"&&Number.isSafeInteger(t.outputLen)};function at(t,e,r={}){let n=(i,o,s)=>{let a=$a[o];if(typeof a!="function")throw new Error("invalid validator function");let c=t[i];if(!(s&&c===void 0)&&!a(c,t))throw new Error("param "+String(i)+" is invalid. Expected "+o+", got "+c)};for(let[i,o]of Object.entries(e))n(i,o,!1);for(let[i,o]of Object.entries(r))n(i,o,!0);return t}var Ga=()=>{throw new Error("not implemented")};function Rr(t){let e=new WeakMap;return(r,...n)=>{let i=e.get(r);if(i!==void 0)return i;let o=t(r,...n);return e.set(r,o),o}}var H=BigInt(0),z=BigInt(1),vt=BigInt(2),Ya=BigInt(3),di=BigInt(4),Zo=BigInt(5),Qo=BigInt(8),Wa=BigInt(9),Xa=BigInt(16);function Q(t,e){let r=t%e;return r>=H?r:e+r}function Za(t,e,r){if(e<H)throw new Error("invalid exponent, negatives unsupported");if(r<=H)throw new Error("invalid modulus");if(r===z)return H;let n=z;for(;e>H;)e&z&&(n=n*t%r),t=t*t%r,e>>=z;return n}function pe(t,e,r){let n=t;for(;e-- >H;)n*=n,n%=r;return n}function Dr(t,e){if(t===H)throw new Error("invert: expected non-zero number");if(e<=H)throw new Error("invert: expected positive modulus, got "+e);let r=Q(t,e),n=e,i=H,o=z,s=z,a=H;for(;r!==H;){let u=n/r,m=n%r,l=i-s*u,d=o-a*u;n=r,r=m,i=s,o=a,s=l,a=d}if(n!==z)throw new Error("invert: does not exist");return Q(i,e)}function Qa(t){let e=(t-z)/vt,r,n,i;for(r=t-z,n=0;r%vt===H;r/=vt,n++);for(i=vt;i<t&&Za(i,e,t)!==t-z;i++)if(i>1e3)throw new Error("Cannot find square root: likely non-prime P");if(n===1){let s=(t+z)/di;return function(c,u){let m=c.pow(u,s);if(!c.eql(c.sqr(m),u))throw new Error("Cannot find square root");return m}}let o=(r+z)/vt;return function(a,c){if(a.pow(c,e)===a.neg(a.ONE))throw new Error("Cannot find square root");let u=n,m=a.pow(a.mul(a.ONE,i),r),l=a.pow(c,o),d=a.pow(c,r);for(;!a.eql(d,a.ONE);){if(a.eql(d,a.ZERO))return a.ZERO;let p=1;for(let y=a.sqr(d);p<u&&!a.eql(y,a.ONE);p++)y=a.sqr(y);let h=a.pow(m,z<<BigInt(u-p-1));m=a.sqr(h),l=a.mul(l,h),d=a.mul(d,m),u=p}return l}}function Ja(t){if(t%di===Ya){let e=(t+z)/di;return function(n,i){let o=n.pow(i,e);if(!n.eql(n.sqr(o),i))throw new Error("Cannot find square root");return o}}if(t%Qo===Zo){let e=(t-Zo)/Qo;return function(n,i){let o=n.mul(i,vt),s=n.pow(o,e),a=n.mul(i,s),c=n.mul(n.mul(a,vt),s),u=n.mul(a,n.sub(c,n.ONE));if(!n.eql(n.sqr(u),i))throw new Error("Cannot find square root");return u}}return t%Xa,Qa(t)}var eu=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function li(t){let e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},r=eu.reduce((n,i)=>(n[i]="function",n),e);return at(t,r)}function tu(t,e,r){if(r<H)throw new Error("invalid exponent, negatives unsupported");if(r===H)return t.ONE;if(r===z)return e;let n=t.ONE,i=e;for(;r>H;)r&z&&(n=t.mul(n,i)),i=t.sqr(i),r>>=z;return n}function ru(t,e){let r=new Array(e.length),n=e.reduce((o,s,a)=>t.is0(s)?o:(r[a]=o,t.mul(o,s)),t.ONE),i=t.inv(n);return e.reduceRight((o,s,a)=>t.is0(s)?o:(r[a]=t.mul(o,r[a]),t.mul(o,s)),i),r}function hi(t,e){let r=e!==void 0?e:t.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function _r(t,e,r=!1,n={}){if(t<=H)throw new Error("invalid field: expected ORDER > 0, got "+t);let{nBitLength:i,nByteLength:o}=hi(t,e);if(o>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let s,a=Object.freeze({ORDER:t,isLE:r,BITS:i,BYTES:o,MASK:or(i),ZERO:H,ONE:z,create:c=>Q(c,t),isValid:c=>{if(typeof c!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof c);return H<=c&&c<t},is0:c=>c===H,isOdd:c=>(c&z)===z,neg:c=>Q(-c,t),eql:(c,u)=>c===u,sqr:c=>Q(c*c,t),add:(c,u)=>Q(c+u,t),sub:(c,u)=>Q(c-u,t),mul:(c,u)=>Q(c*u,t),pow:(c,u)=>tu(a,c,u),div:(c,u)=>Q(c*Dr(u,t),t),sqrN:c=>c*c,addN:(c,u)=>c+u,subN:(c,u)=>c-u,mulN:(c,u)=>c*u,inv:c=>Dr(c,t),sqrt:n.sqrt||(c=>(s||(s=Ja(t)),s(a,c))),invertBatch:c=>ru(a,c),cmov:(c,u,m)=>m?u:c,toBytes:c=>r?kr(c,o):st(c,o),fromBytes:c=>{if(c.length!==o)throw new Error("Field.fromBytes: expected "+o+" bytes, got "+c.length);return r?Pr(c):Xe(c)}});return Object.freeze(a)}function Jo(t){if(typeof t!="bigint")throw new Error("field order must be bigint");let e=t.toString(2).length;return Math.ceil(e/8)}function pi(t){let e=Jo(t);return e+Math.ceil(e/2)}function es(t,e,r=!1){let n=t.length,i=Jo(e),o=pi(e);if(n<16||n<o||n>1024)throw new Error("expected "+o+"-1024 bytes of input, got "+n);let s=r?Pr(t):Xe(t),a=Q(s,e-z)+z;return r?kr(a,i):st(a,i)}var ts=BigInt(0),Mr=BigInt(1);function gi(t,e){let r=e.negate();return t?r:e}function rs(t,e){if(!Number.isSafeInteger(t)||t<=0||t>e)throw new Error("invalid window size, expected [1.."+e+"], got W="+t)}function mi(t,e){rs(t,e);let r=Math.ceil(e/t)+1,n=2**(t-1);return{windows:r,windowSize:n}}function nu(t,e){if(!Array.isArray(t))throw new Error("array expected");t.forEach((r,n)=>{if(!(r instanceof e))throw new Error("invalid point at index "+n)})}function iu(t,e){if(!Array.isArray(t))throw new Error("array of scalars expected");t.forEach((r,n)=>{if(!e.isValid(r))throw new Error("invalid scalar at index "+n)})}var yi=new WeakMap,ns=new WeakMap;function fi(t){return ns.get(t)||1}function is(t,e){return{constTimeNegate:gi,hasPrecomputes(r){return fi(r)!==1},unsafeLadder(r,n,i=t.ZERO){let o=r;for(;n>ts;)n&Mr&&(i=i.add(o)),o=o.double(),n>>=Mr;return i},precomputeWindow(r,n){let{windows:i,windowSize:o}=mi(n,e),s=[],a=r,c=a;for(let u=0;u<i;u++){c=a,s.push(c);for(let m=1;m<o;m++)c=c.add(a),s.push(c);a=c.double()}return s},wNAF(r,n,i){let{windows:o,windowSize:s}=mi(r,e),a=t.ZERO,c=t.BASE,u=BigInt(2**r-1),m=2**r,l=BigInt(r);for(let d=0;d<o;d++){let p=d*s,h=Number(i&u);i>>=l,h>s&&(h-=m,i+=Mr);let y=p,g=p+Math.abs(h)-1,f=d%2!==0,x=h<0;h===0?c=c.add(gi(f,n[y])):a=a.add(gi(x,n[g]))}return{p:a,f:c}},wNAFUnsafe(r,n,i,o=t.ZERO){let{windows:s,windowSize:a}=mi(r,e),c=BigInt(2**r-1),u=2**r,m=BigInt(r);for(let l=0;l<s;l++){let d=l*a;if(i===ts)break;let p=Number(i&c);if(i>>=m,p>a&&(p-=u,i+=Mr),p===0)continue;let h=n[d+Math.abs(p)-1];p<0&&(h=h.negate()),o=o.add(h)}return o},getPrecomputes(r,n,i){let o=yi.get(n);return o||(o=this.precomputeWindow(n,r),r!==1&&yi.set(n,i(o))),o},wNAFCached(r,n,i){let o=fi(r);return this.wNAF(o,this.getPrecomputes(o,r,i),n)},wNAFCachedUnsafe(r,n,i,o){let s=fi(r);return s===1?this.unsafeLadder(r,n,o):this.wNAFUnsafe(s,this.getPrecomputes(s,r,i),n,o)},setWindowSize(r,n){rs(n,e),ns.set(r,n),yi.delete(r)}}}function os(t,e,r,n){if(nu(r,t),iu(n,e),r.length!==n.length)throw new Error("arrays of points and scalars must have equal length");let i=t.ZERO,o=ci(BigInt(r.length)),s=o>12?o-3:o>4?o-2:o?2:1,a=(1<<s)-1,c=new Array(a+1).fill(i),u=Math.floor((e.BITS-1)/s)*s,m=i;for(let l=u;l>=0;l-=s){c.fill(i);for(let p=0;p<n.length;p++){let h=n[p],y=Number(h>>BigInt(l)&BigInt(a));c[y]=c[y].add(r[p])}let d=i;for(let p=c.length-1,h=i;p>0;p--)h=h.add(c[p]),d=d.add(h);if(m=m.add(d),l!==0)for(let p=0;p<s;p++)m=m.double()}return m}function wi(t){return li(t.Fp),at(t,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...hi(t.n,t.nBitLength),...t,p:t.Fp.ORDER})}function ss(t){t.lowS!==void 0&&xt("lowS",t.lowS),t.prehash!==void 0&&xt("prehash",t.prehash)}function ou(t){let e=wi(t);at(e,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:r,Fp:n,a:i}=e;if(r){if(!n.eql(i,n.ZERO))throw new Error("invalid 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("invalid endomorphism, expected beta: bigint and splitScalar: function")}return Object.freeze({...e})}var{bytesToNumberBE:su,hexToBytes:cu}=ui,xi=class extends Error{constructor(e=""){super(e)}},Ze={Err:xi,_tlv:{encode:(t,e)=>{let{Err:r}=Ze;if(t<0||t>256)throw new r("tlv.encode: wrong tag");if(e.length&1)throw new r("tlv.encode: unpadded data");let n=e.length/2,i=bt(n);if(i.length/2&128)throw new r("tlv.encode: long form length too big");let o=n>127?bt(i.length/2|128):"";return bt(t)+o+i+e},decode(t,e){let{Err:r}=Ze,n=0;if(t<0||t>256)throw new r("tlv.encode: wrong tag");if(e.length<2||e[n++]!==t)throw new r("tlv.decode: wrong tlv");let i=e[n++],o=!!(i&128),s=0;if(!o)s=i;else{let c=i&127;if(!c)throw new r("tlv.decode(long): indefinite length not supported");if(c>4)throw new r("tlv.decode(long): byte length is too big");let u=e.subarray(n,n+c);if(u.length!==c)throw new r("tlv.decode: length bytes not complete");if(u[0]===0)throw new r("tlv.decode(long): zero leftmost byte");for(let m of u)s=s<<8|m;if(n+=c,s<128)throw new r("tlv.decode(long): not minimal encoding")}let a=e.subarray(n,n+s);if(a.length!==s)throw new r("tlv.decode: wrong value length");return{v:a,l:e.subarray(n+s)}}},_int:{encode(t){let{Err:e}=Ze;if(t<Qe)throw new e("integer: negative integers are not allowed");let r=bt(t);if(Number.parseInt(r[0],16)&8&&(r="00"+r),r.length&1)throw new e("unexpected DER parsing assertion: unpadded hex");return r},decode(t){let{Err:e}=Ze;if(t[0]&128)throw new e("invalid signature integer: negative");if(t[0]===0&&!(t[1]&128))throw new e("invalid signature integer: unnecessary leading zero");return su(t)}},toSig(t){let{Err:e,_int:r,_tlv:n}=Ze,i=typeof t=="string"?cu(t):t;Kt(i);let{v:o,l:s}=n.decode(48,i);if(s.length)throw new e("invalid signature: left bytes after parsing");let{v:a,l:c}=n.decode(2,o),{v:u,l:m}=n.decode(2,c);if(m.length)throw new e("invalid signature: left bytes after parsing");return{r:r.decode(a),s:r.decode(u)}},hexFromSig(t){let{_tlv:e,_int:r}=Ze,n=e.encode(2,r.encode(t.r)),i=e.encode(2,r.encode(t.s)),o=n+i;return e.encode(48,o)}},Qe=BigInt(0),$=BigInt(1),rp=BigInt(2),cs=BigInt(3),np=BigInt(4);function au(t){let e=ou(t),{Fp:r}=e,n=_r(e.n,e.nBitLength),i=e.toBytes||((y,g,f)=>{let x=g.toAffine();return qt(Uint8Array.from([4]),r.toBytes(x.x),r.toBytes(x.y))}),o=e.fromBytes||(y=>{let g=y.subarray(1),f=r.fromBytes(g.subarray(0,r.BYTES)),x=r.fromBytes(g.subarray(r.BYTES,2*r.BYTES));return{x:f,y:x}});function s(y){let{a:g,b:f}=e,x=r.sqr(y),b=r.mul(x,y);return r.add(r.add(b,r.mul(y,g)),f)}if(!r.eql(r.sqr(e.Gy),s(e.Gx)))throw new Error("bad generator point: equation left != right");function a(y){return ir(y,$,e.n)}function c(y){let{allowedPrivateKeyLengths:g,nByteLength:f,wrapPrivateKey:x,n:b}=e;if(g&&typeof y!="bigint"){if(ot(y)&&(y=Et(y)),typeof y!="string"||!g.includes(y.length))throw new Error("invalid private key");y=y.padStart(f*2,"0")}let L;try{L=typeof y=="bigint"?y:Xe(he("private key",y,f))}catch{throw new Error("invalid private key, expected hex or "+f+" bytes, got "+typeof y)}return x&&(L=Q(L,b)),ct("private key",L,$,b),L}function u(y){if(!(y instanceof d))throw new Error("ProjectivePoint expected")}let m=Rr((y,g)=>{let{px:f,py:x,pz:b}=y;if(r.eql(b,r.ONE))return{x:f,y:x};let L=y.is0();g==null&&(g=L?r.ONE:r.inv(b));let T=r.mul(f,g),B=r.mul(x,g),U=r.mul(b,g);if(L)return{x:r.ZERO,y:r.ZERO};if(!r.eql(U,r.ONE))throw new Error("invZ was invalid");return{x:T,y:B}}),l=Rr(y=>{if(y.is0()){if(e.allowInfinityPoint&&!r.is0(y.py))return;throw new Error("bad point: ZERO")}let{x:g,y:f}=y.toAffine();if(!r.isValid(g)||!r.isValid(f))throw new Error("bad point: x or y not FE");let x=r.sqr(f),b=s(g);if(!r.eql(x,b))throw new Error("bad point: equation left != right");if(!y.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});class d{constructor(g,f,x){if(this.px=g,this.py=f,this.pz=x,g==null||!r.isValid(g))throw new Error("x required");if(f==null||!r.isValid(f))throw new Error("y required");if(x==null||!r.isValid(x))throw new Error("z required");Object.freeze(this)}static fromAffine(g){let{x:f,y:x}=g||{};if(!g||!r.isValid(f)||!r.isValid(x))throw new Error("invalid affine point");if(g instanceof d)throw new Error("projective point not allowed");let b=L=>r.eql(L,r.ZERO);return b(f)&&b(x)?d.ZERO:new d(f,x,r.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(g){let f=r.invertBatch(g.map(x=>x.pz));return g.map((x,b)=>x.toAffine(f[b])).map(d.fromAffine)}static fromHex(g){let f=d.fromAffine(o(he("pointHex",g)));return f.assertValidity(),f}static fromPrivateKey(g){return d.BASE.multiply(c(g))}static msm(g,f){return os(d,n,g,f)}_setWindowSize(g){h.setWindowSize(this,g)}assertValidity(){l(this)}hasEvenY(){let{y:g}=this.toAffine();if(r.isOdd)return!r.isOdd(g);throw new Error("Field doesn't support isOdd")}equals(g){u(g);let{px:f,py:x,pz:b}=this,{px:L,py:T,pz:B}=g,U=r.eql(r.mul(f,B),r.mul(L,b)),C=r.eql(r.mul(x,B),r.mul(T,b));return U&&C}negate(){return new d(this.px,r.neg(this.py),this.pz)}double(){let{a:g,b:f}=e,x=r.mul(f,cs),{px:b,py:L,pz:T}=this,B=r.ZERO,U=r.ZERO,C=r.ZERO,N=r.mul(b,b),G=r.mul(L,L),M=r.mul(T,T),_=r.mul(b,L);return _=r.add(_,_),C=r.mul(b,T),C=r.add(C,C),B=r.mul(g,C),U=r.mul(x,M),U=r.add(B,U),B=r.sub(G,U),U=r.add(G,U),U=r.mul(B,U),B=r.mul(_,B),C=r.mul(x,C),M=r.mul(g,M),_=r.sub(N,M),_=r.mul(g,_),_=r.add(_,C),C=r.add(N,N),N=r.add(C,N),N=r.add(N,M),N=r.mul(N,_),U=r.add(U,N),M=r.mul(L,T),M=r.add(M,M),N=r.mul(M,_),B=r.sub(B,N),C=r.mul(M,G),C=r.add(C,C),C=r.add(C,C),new d(B,U,C)}add(g){u(g);let{px:f,py:x,pz:b}=this,{px:L,py:T,pz:B}=g,U=r.ZERO,C=r.ZERO,N=r.ZERO,G=e.a,M=r.mul(e.b,cs),_=r.mul(f,L),ce=r.mul(x,T),E=r.mul(b,B),I=r.add(f,x),A=r.add(L,T);I=r.mul(I,A),A=r.add(_,ce),I=r.sub(I,A),A=r.add(f,b);let P=r.add(L,B);return A=r.mul(A,P),P=r.add(_,E),A=r.sub(A,P),P=r.add(x,b),U=r.add(T,B),P=r.mul(P,U),U=r.add(ce,E),P=r.sub(P,U),N=r.mul(G,A),U=r.mul(M,E),N=r.add(U,N),U=r.sub(ce,N),N=r.add(ce,N),C=r.mul(U,N),ce=r.add(_,_),ce=r.add(ce,_),E=r.mul(G,E),A=r.mul(M,A),ce=r.add(ce,E),E=r.sub(_,E),E=r.mul(G,E),A=r.add(A,E),_=r.mul(ce,A),C=r.add(C,_),_=r.mul(P,A),U=r.mul(I,U),U=r.sub(U,_),_=r.mul(I,ce),N=r.mul(P,N),N=r.add(N,_),new d(U,C,N)}subtract(g){return this.add(g.negate())}is0(){return this.equals(d.ZERO)}wNAF(g){return h.wNAFCached(this,g,d.normalizeZ)}multiplyUnsafe(g){let{endo:f,n:x}=e;ct("scalar",g,Qe,x);let b=d.ZERO;if(g===Qe)return b;if(this.is0()||g===$)return this;if(!f||h.hasPrecomputes(this))return h.wNAFCachedUnsafe(this,g,d.normalizeZ);let{k1neg:L,k1:T,k2neg:B,k2:U}=f.splitScalar(g),C=b,N=b,G=this;for(;T>Qe||U>Qe;)T&$&&(C=C.add(G)),U&$&&(N=N.add(G)),G=G.double(),T>>=$,U>>=$;return L&&(C=C.negate()),B&&(N=N.negate()),N=new d(r.mul(N.px,f.beta),N.py,N.pz),C.add(N)}multiply(g){let{endo:f,n:x}=e;ct("scalar",g,$,x);let b,L;if(f){let{k1neg:T,k1:B,k2neg:U,k2:C}=f.splitScalar(g),{p:N,f:G}=this.wNAF(B),{p:M,f:_}=this.wNAF(C);N=h.constTimeNegate(T,N),M=h.constTimeNegate(U,M),M=new d(r.mul(M.px,f.beta),M.py,M.pz),b=N.add(M),L=G.add(_)}else{let{p:T,f:B}=this.wNAF(g);b=T,L=B}return d.normalizeZ([b,L])[0]}multiplyAndAddUnsafe(g,f,x){let b=d.BASE,L=(B,U)=>U===Qe||U===$||!B.equals(b)?B.multiplyUnsafe(U):B.multiply(U),T=L(this,f).add(L(g,x));return T.is0()?void 0:T}toAffine(g){return m(this,g)}isTorsionFree(){let{h:g,isTorsionFree:f}=e;if(g===$)return!0;if(f)return f(d,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:g,clearCofactor:f}=e;return g===$?this:f?f(d,this):this.multiplyUnsafe(e.h)}toRawBytes(g=!0){return xt("isCompressed",g),this.assertValidity(),i(d,this,g)}toHex(g=!0){return xt("isCompressed",g),Et(this.toRawBytes(g))}}d.BASE=new d(e.Gx,e.Gy,r.ONE),d.ZERO=new d(r.ZERO,r.ONE,r.ZERO);let p=e.nBitLength,h=is(d,e.endo?Math.ceil(p/2):p);return{CURVE:e,ProjectivePoint:d,normPrivateKeyToScalar:c,weierstrassEquation:s,isWithinCurveOrder:a}}function uu(t){let e=wi(t);return at(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}function as(t){let e=uu(t),{Fp:r,n}=e,i=r.BYTES+1,o=2*r.BYTES+1;function s(E){return Q(E,n)}function a(E){return Dr(E,n)}let{ProjectivePoint:c,normPrivateKeyToScalar:u,weierstrassEquation:m,isWithinCurveOrder:l}=au({...e,toBytes(E,I,A){let P=I.toAffine(),k=r.toBytes(P.x),V=qt;return xt("isCompressed",A),A?V(Uint8Array.from([I.hasEvenY()?2:3]),k):V(Uint8Array.from([4]),k,r.toBytes(P.y))},fromBytes(E){let I=E.length,A=E[0],P=E.subarray(1);if(I===i&&(A===2||A===3)){let k=Xe(P);if(!ir(k,$,r.ORDER))throw new Error("Point is not on curve");let V=m(k),te;try{te=r.sqrt(V)}catch(fe){let re=fe instanceof Error?": "+fe.message:"";throw new Error("Point is not on curve"+re)}let J=(te&$)===$;return(A&1)===1!==J&&(te=r.neg(te)),{x:k,y:te}}else if(I===o&&A===4){let k=r.fromBytes(P.subarray(0,r.BYTES)),V=r.fromBytes(P.subarray(r.BYTES,2*r.BYTES));return{x:k,y:V}}else{let k=i,V=o;throw new Error("invalid Point, expected length of "+k+", or uncompressed "+V+", got "+I)}}}),d=E=>Et(st(E,e.nByteLength));function p(E){let I=n>>$;return E>I}function h(E){return p(E)?s(-E):E}let y=(E,I,A)=>Xe(E.slice(I,A));class g{constructor(I,A,P){this.r=I,this.s=A,this.recovery=P,this.assertValidity()}static fromCompact(I){let A=e.nByteLength;return I=he("compactSignature",I,A*2),new g(y(I,0,A),y(I,A,2*A))}static fromDER(I){let{r:A,s:P}=Ze.toSig(he("DER",I));return new g(A,P)}assertValidity(){ct("r",this.r,$,n),ct("s",this.s,$,n)}addRecoveryBit(I){return new g(this.r,this.s,I)}recoverPublicKey(I){let{r:A,s:P,recovery:k}=this,V=B(he("msgHash",I));if(k==null||![0,1,2,3].includes(k))throw new Error("recovery id invalid");let te=k===2||k===3?A+e.n:A;if(te>=r.ORDER)throw new Error("recovery id 2 or 3 invalid");let J=(k&1)===0?"02":"03",Oe=c.fromHex(J+d(te)),fe=a(te),re=s(-V*fe),St=s(P*fe),Je=c.BASE.multiplyAndAddUnsafe(Oe,re,St);if(!Je)throw new Error("point at infinify");return Je.assertValidity(),Je}hasHighS(){return p(this.s)}normalizeS(){return this.hasHighS()?new g(this.r,s(-this.s),this.recovery):this}toDERRawBytes(){return It(this.toDERHex())}toDERHex(){return Ze.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return It(this.toCompactHex())}toCompactHex(){return d(this.r)+d(this.s)}}let f={isValidPrivateKey(E){try{return u(E),!0}catch{return!1}},normPrivateKeyToScalar:u,randomPrivateKey:()=>{let E=pi(e.n);return es(e.randomBytes(E),e.n)},precompute(E=8,I=c.BASE){return I._setWindowSize(E),I.multiply(BigInt(3)),I}};function x(E,I=!0){return c.fromPrivateKey(E).toRawBytes(I)}function b(E){let I=ot(E),A=typeof E=="string",P=(I||A)&&E.length;return I?P===i||P===o:A?P===2*i||P===2*o:E instanceof c}function L(E,I,A=!0){if(b(E))throw new Error("first arg must be private key");if(!b(I))throw new Error("second arg must be public key");return c.fromHex(I).multiply(u(E)).toRawBytes(A)}let T=e.bits2int||function(E){if(E.length>8192)throw new Error("input is too large");let I=Xe(E),A=E.length*8-e.nBitLength;return A>0?I>>BigInt(A):I},B=e.bits2int_modN||function(E){return s(T(E))},U=or(e.nBitLength);function C(E){return ct("num < 2^"+e.nBitLength,E,Qe,U),st(E,e.nByteLength)}function N(E,I,A=G){if(["recovered","canonical"].some(ut=>ut in A))throw new Error("sign() legacy options not supported");let{hash:P,randomBytes:k}=e,{lowS:V,prehash:te,extraEntropy:J}=A;V==null&&(V=!0),E=he("msgHash",E),ss(A),te&&(E=he("prehashed msgHash",P(E)));let Oe=B(E),fe=u(I),re=[C(fe),C(Oe)];if(J!=null&&J!==!1){let ut=J===!0?k(r.BYTES):J;re.push(he("extraEntropy",ut))}let St=qt(...re),Je=Oe;function Xr(ut){let At=T(ut);if(!l(At))return;let Zr=a(At),Ht=c.BASE.multiply(At).toAffine(),dt=s(Ht.x);if(dt===Qe)return;let jt=s(Zr*s(Je+dt*fe));if(jt===Qe)return;let Bt=(Ht.x===dt?0:2)|Number(Ht.y&$),Ri=jt;return V&&p(jt)&&(Ri=h(jt),Bt^=1),new g(dt,Ri,Bt)}return{seed:St,k2sig:Xr}}let G={lowS:e.lowS,prehash:!1},M={lowS:e.lowS,prehash:!1};function _(E,I,A=G){let{seed:P,k2sig:k}=N(E,I,A),V=e;return ai(V.hash.outputLen,V.nByteLength,V.hmac)(P,k)}c.BASE._setWindowSize(8);function ce(E,I,A,P=M){let k=E;I=he("msgHash",I),A=he("publicKey",A);let{lowS:V,prehash:te,format:J}=P;if(ss(P),"strict"in P)throw new Error("options.strict was renamed to lowS");if(J!==void 0&&J!=="compact"&&J!=="der")throw new Error("format must be compact or der");let Oe=typeof k=="string"||ot(k),fe=!Oe&&!J&&typeof k=="object"&&k!==null&&typeof k.r=="bigint"&&typeof k.s=="bigint";if(!Oe&&!fe)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");let re,St;try{if(fe&&(re=new g(k.r,k.s)),Oe){try{J!=="compact"&&(re=g.fromDER(k))}catch(Bt){if(!(Bt instanceof Ze.Err))throw Bt}!re&&J!=="der"&&(re=g.fromCompact(k))}St=c.fromHex(A)}catch{return!1}if(!re||V&&re.hasHighS())return!1;te&&(I=e.hash(I));let{r:Je,s:Xr}=re,ut=B(I),At=a(Xr),Zr=s(ut*At),Ht=s(Je*At),dt=c.BASE.multiplyAndAddUnsafe(St,Zr,Ht)?.toAffine();return dt?s(dt.x)===Je:!1}return{CURVE:e,getPublicKey:x,getSharedSecret:L,sign:_,verify:ce,ProjectivePoint:c,Signature:g,utils:f}}function du(t){return{hash:t,hmac:(e,...r)=>ni(t,e,Vo(...r)),randomBytes:jo}}function us(t,e){let r=n=>as({...t,...du(n)});return{...r(e),create:r}}var hs=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),ds=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),lu=BigInt(1),Ei=BigInt(2),ls=(t,e)=>(t+e/Ei)/e;function hu(t){let e=hs,r=BigInt(3),n=BigInt(6),i=BigInt(11),o=BigInt(22),s=BigInt(23),a=BigInt(44),c=BigInt(88),u=t*t*t%e,m=u*u*t%e,l=pe(m,r,e)*m%e,d=pe(l,r,e)*m%e,p=pe(d,Ei,e)*u%e,h=pe(p,i,e)*p%e,y=pe(h,o,e)*h%e,g=pe(y,a,e)*y%e,f=pe(g,c,e)*g%e,x=pe(f,a,e)*y%e,b=pe(x,r,e)*m%e,L=pe(b,s,e)*h%e,T=pe(L,n,e)*u%e,B=pe(T,Ei,e);if(!bi.eql(bi.sqr(B),t))throw new Error("Cannot find square root");return B}var bi=_r(hs,void 0,void 0,{sqrt:hu}),zt=us({a:BigInt(0),b:BigInt(7),Fp:bi,n:ds,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:t=>{let e=ds,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-lu*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),o=r,s=BigInt("0x100000000000000000000000000000000"),a=ls(o*t,e),c=ls(-n*t,e),u=Q(t-a*r-c*i,e),m=Q(-a*n-c*o,e),l=u>s,d=m>s;if(l&&(u=e-u),d&&(m=e-m),u>s||m>s)throw new Error("splitScalar: Endomorphism failed, k="+t);return{k1neg:l,k1:u,k2neg:d,k2:m}}}},Yo),hp=BigInt(0);var pp=zt.ProjectivePoint;var ps=Ut(ne("node:crypto"),1);var Fr=class extends Error{constructor(e="An error occurred while verifying a message"){super(e),this.name="VerificationError"}};function gs(t,e,r){let n=ps.default.createHash("sha256");if(r instanceof Uint8Array)n.update(r);else for(let o of r)n.update(o);let i=n.digest();try{return zt.verify(e,i,t)}catch(o){throw new Fr(String(o))}}var Kr=class{type="secp256k1";raw;_key;constructor(e){this._key=ys(e),this.raw=ms(this._key)}toMultihash(){return He.digest(br(this))}toCID(){return W.createV1(114,this.toMultihash())}toString(){return K.encode(this.toMultihash().bytes).substring(1)}equals(e){return e==null||!(e.raw instanceof Uint8Array)?!1:je(this.raw,e.raw)}verify(e,r){return gs(this._key,r,e)}};function fs(t){return new Kr(t)}function ms(t){return zt.ProjectivePoint.fromHex(t).toRawBytes(!0)}function ys(t){try{return zt.ProjectivePoint.fromHex(t),t}catch(e){throw new lr(String(e))}}function ws(t){let{Type:e,Data:r}=rr.decode(t.digest),n=r??new Uint8Array;switch(e){case me.Ed25519:return Co(n);case me.secp256k1:return fs(n);default:throw new $t}}function br(t){return rr.encode({Type:me[t.type],Data:t.raw})}var xs=Symbol.for("nodejs.util.inspect.custom"),pu=114,sr=class{type;multihash;publicKey;string;constructor(e){this.type=e.type,this.multihash=e.multihash,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[Qr]=!0;toString(){return this.string==null&&(this.string=K.encode(this.multihash.bytes).slice(1)),this.string}toMultihash(){return this.multihash}toCID(){return W.createV1(pu,this.multihash)}toJSON(){return this.toString()}equals(e){if(e==null)return!1;if(e instanceof Uint8Array)return je(this.multihash.bytes,e);if(typeof e=="string")return this.toString()===e;if(e?.toMultihash()?.bytes!=null)return je(this.multihash.bytes,e.toMultihash().bytes);throw new Error("not valid Id")}[xs](){return`PeerId(${this.toString()})`}},qr=class extends sr{type="RSA";publicKey;constructor(e){super({...e,type:"RSA"}),this.publicKey=e.publicKey}},zr=class extends sr{type="Ed25519";publicKey;constructor(e){super({...e,type:"Ed25519"}),this.publicKey=e.publicKey}},Vr=class extends sr{type="secp256k1";publicKey;constructor(e){super({...e,type:"secp256k1"}),this.publicKey=e.publicKey}},gu=2336,cr=class{type="url";multihash;publicKey;url;constructor(e){this.url=e.toString(),this.multihash=He.digest(Ge(this.url))}[xs](){return`PeerId(${this.url})`}[Qr]=!0;toString(){return this.toCID().toString()}toMultihash(){return this.multihash}toCID(){return W.createV1(gu,this.toMultihash())}toJSON(){return this.toString()}equals(e){return e==null?!1:(e instanceof Uint8Array&&(e=q(e)),e.toString()===this.toString())}};var mu=114,Es=2336;function bs(t,e){let r;if(t.charAt(0)==="1"||t.charAt(0)==="Q")r=pt(K.decode(`z${t}`));else{if(t.startsWith("k51qzi5uqu5")||t.startsWith("kzwfwjn5ji4")||t.startsWith("k2k4r8")||t.startsWith("bafz"))return yu(W.parse(t));if(e==null)throw new Lt('Please pass a multibase decoder for strings that do not start with "1" or "Q"');r=pt(e.decode(t))}return Is(r)}function Is(t){if(wu(t))return new qr({multihash:t});if(fu(t))try{let e=ws(t);if(e.type==="Ed25519")return new zr({multihash:t,publicKey:e});if(e.type==="secp256k1")return new Vr({multihash:t,publicKey:e})}catch{let r=q(t.digest);return new cr(new URL(r))}throw new pr("Supplied PeerID Multihash is invalid")}function yu(t){if(t?.multihash==null||t.version==null||t.version===1&&t.code!==mu&&t.code!==Es)throw new hr("Supplied PeerID CID is invalid");if(t.code===Es){let e=q(t.multihash.digest);return new cr(new URL(e))}return Is(t.multihash)}function fu(t){return t.code===He.code}function wu(t){return t.code===On.code}var ye=ne("node:net");function Hr(t){return!!(0,ye.isIP)(t)}var Ss=Ut(vs(),1),xu=["0.0.0.0/8","10.0.0.0/8","100.64.0.0/10","127.0.0.0/8","169.254.0.0/16","172.16.0.0/12","192.0.0.0/24","192.0.0.0/29","192.0.0.8/32","192.0.0.9/32","192.0.0.10/32","192.0.0.170/32","192.0.0.171/32","192.0.2.0/24","192.31.196.0/24","192.52.193.0/24","192.88.99.0/24","192.168.0.0/16","192.175.48.0/24","198.18.0.0/15","198.51.100.0/24","203.0.113.0/24","240.0.0.0/4","255.255.255.255/32"],Eu=xu.map(t=>new Ss.Netmask(t));function Ii(t){for(let e of Eu)if(e.contains(t))return!0;return!1}function bu(t){return/^::ffff:([0-9a-fA-F]{1,4}):([0-9a-fA-F]{1,4})$/.test(t)}function Iu(t){let e=t.split(":");if(e.length<2)return!1;let r=e[e.length-1].padStart(4,"0"),n=e[e.length-2].padStart(4,"0"),i=`${parseInt(n.substring(0,2),16)}.${parseInt(n.substring(2),16)}.${parseInt(r.substring(0,2),16)}.${parseInt(r.substring(2),16)}`;return Ii(i)}function vu(t){return/^::ffff:([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)}function Su(t){let e=t.split(":"),r=e[e.length-1];return Ii(r)}function Au(t){return/^::$/.test(t)||/^::1$/.test(t)||/^64:ff9b::([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)||/^100::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001:2[0-9a-fA-F]:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001:db8:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2002:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^f[c-d]([0-9a-fA-F]{2,2}):/i.test(t)||/^fe[8-9a-bA-B][0-9a-fA-F]:/i.test(t)||/^ff([0-9a-fA-F]{2,2}):/i.test(t)}function As(t){return(0,ye.isIPv4)(t)?Ii(t):bu(t)?Iu(t):vu(t)?Su(t):(0,ye.isIPv6)(t)?Au(t):void 0}function Bs(t){try{let[[e]]=t.stringTuples();return e===4||e===41}catch{}return!1}function Us(t){try{if(!Bs(t))return!1;let[[,e]]=t.stringTuples();return e==null?!1:As(e)??!1}catch{}return!0}var jr=class{index=0;input="";new(e){return this.index=0,this.input=e,this}readAtomically(e){let r=this.index,n=e();return n===void 0&&(this.index=r),n}parseWith(e){let r=e();if(this.index===this.input.length)return r}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(e){return this.readAtomically(()=>{let r=this.readChar();if(r===e)return r})}readSeparator(e,r,n){return this.readAtomically(()=>{if(!(r>0&&this.readGivenChar(e)===void 0))return n()})}readNumber(e,r,n,i){return this.readAtomically(()=>{let o=0,s=0,a=this.peekChar();if(a===void 0)return;let c=a==="0",u=2**(8*i)-1;for(;;){let m=this.readAtomically(()=>{let l=this.readChar();if(l===void 0)return;let d=Number.parseInt(l,e);if(!Number.isNaN(d))return d});if(m===void 0)break;if(o*=e,o+=m,o>u||(s+=1,r!==void 0&&s>r))return}if(s!==0)return!n&&c&&s>1?void 0:o})}readIPv4Addr(){return this.readAtomically(()=>{let e=new Uint8Array(4);for(let r=0;r<e.length;r++){let n=this.readSeparator(".",r,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;e[r]=n}return e})}readIPv6Addr(){let e=r=>{for(let n=0;n<r.length/2;n++){let i=n*2;if(n<r.length-3){let s=this.readSeparator(":",n,()=>this.readIPv4Addr());if(s!==void 0)return r[i]=s[0],r[i+1]=s[1],r[i+2]=s[2],r[i+3]=s[3],[i+4,!0]}let o=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(o===void 0)return[i,!1];r[i]=o>>8,r[i+1]=o&255}return[r.length,!1]};return this.readAtomically(()=>{let r=new Uint8Array(16),[n,i]=e(r);if(n===16)return r;if(i||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let o=new Uint8Array(14),s=16-(n+2),[a]=e(o.subarray(0,s));return r.set(o.subarray(0,a),16-a),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var x0=new jr;var U0=parseInt("0xFFFF",16),L0=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);var Cs=ye.isIPv4,Nu=ye.isIPv6,vi=function(t){let e=0;if(t=t.toString().trim(),Cs(t)){let r=new Uint8Array(e+4);return t.split(/\./g).forEach(n=>{r[e++]=parseInt(n,10)&255}),r}if(Nu(t)){let r=t.split(":",8),n;for(n=0;n<r.length;n++){let o=Cs(r[n]),s;o&&(s=vi(r[n]),r[n]=q(s.slice(0,2),"base16")),s!=null&&++n<8&&r.splice(n,0,q(s.slice(2,4),"base16"))}if(r[0]==="")for(;r.length<8;)r.unshift("0");else if(r[r.length-1]==="")for(;r.length<8;)r.push("0");else if(r.length<8){for(n=0;n<r.length&&r[n]!=="";n++);let o=[n,1];for(n=9-r.length;n>0;n--)o.push("0");r.splice.apply(r,o)}let i=new Uint8Array(e+16);for(n=0;n<r.length;n++){let o=parseInt(r[n],16);i[e++]=o>>8&255,i[e++]=o&255}return i}throw new Error("invalid ip address")},Ns=function(t,e=0,r){e=~~e,r=r??t.length-e;let n=new DataView(t.buffer);if(r===4){let i=[];for(let o=0;o<r;o++)i.push(t[e+o]);return i.join(".")}if(r===16){let i=[];for(let o=0;o<r;o+=2)i.push(n.getUint16(e+o).toString(16));return i.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var Vt={},Si={},Pu=[[4,32,"ip4"],[6,16,"tcp"],[33,16,"dccp"],[41,128,"ip6"],[42,-1,"ip6zone"],[43,8,"ipcidr"],[53,-1,"dns",!0],[54,-1,"dns4",!0],[55,-1,"dns6",!0],[56,-1,"dnsaddr",!0],[132,16,"sctp"],[273,16,"udp"],[275,0,"p2p-webrtc-star"],[276,0,"p2p-webrtc-direct"],[277,0,"p2p-stardust"],[280,0,"webrtc-direct"],[281,0,"webrtc"],[290,0,"p2p-circuit"],[301,0,"udt"],[302,0,"utp"],[400,-1,"unix",!1,!0],[421,-1,"ipfs"],[421,-1,"p2p"],[443,0,"https"],[444,96,"onion"],[445,296,"onion3"],[446,-1,"garlic64"],[448,0,"tls"],[449,-1,"sni"],[460,0,"quic"],[461,0,"quic-v1"],[465,0,"webtransport"],[466,-1,"certhash"],[477,0,"ws"],[478,0,"wss"],[479,0,"p2p-websocket-star"],[480,0,"http"],[481,-1,"http-path"],[777,-1,"memory"]];Pu.forEach(t=>{let e=ku(...t);Si[e.code]=e,Vt[e.name]=e});function ku(t,e,r,n,i){return{code:t,size:e,name:r,resolvable:!!n,path:!!i}}function D(t){if(typeof t=="number"){if(Si[t]!=null)return Si[t];throw new Error(`no protocol with code: ${t}`)}else if(typeof t=="string"){if(Vt[t]!=null)return Vt[t];throw new Error(`no protocol with name: ${t}`)}throw new Error(`invalid protocol id type: ${typeof t}`)}var lg=D("ip4"),hg=D("ip6"),pg=D("ipcidr");function Li(t,e){switch(D(t).code){case 4:case 41:return Du(e);case 42:return Ui(e);case 43:return q(e,"base10");case 6:case 273:case 33:case 132:return ks(e).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Ui(e);case 421:return Ku(e);case 444:return Ps(e);case 445:return Ps(e);case 466:return Fu(e);case 481:return globalThis.encodeURIComponent(Ui(e));default:return q(e,"base16")}}function Ti(t,e){switch(D(t).code){case 4:return Os(e);case 41:return Os(e);case 42:return Bi(e);case 43:return Ge(e,"base10");case 6:case 273:case 33:case 132:return Ci(parseInt(e,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Bi(e);case 421:return _u(e);case 444:return qu(e);case 445:return zu(e);case 466:return Mu(e);case 481:return Bi(globalThis.decodeURIComponent(e));default:return Ge(e,"base16")}}var Ai=Object.values(Qt).map(t=>t.decoder),Ru=function(){let t=Ai[0].or(Ai[1]);return Ai.slice(2).forEach(e=>t=t.or(e)),t}();function Os(t){if(!Hr(t))throw new Error("invalid ip address");return vi(t)}function Du(t){let e=Ns(t,0,t.length);if(e==null)throw new Error("ipBuff is required");if(!Hr(e))throw new Error("invalid ip address");return e}function Ci(t){let e=new ArrayBuffer(2);return new DataView(e).setUint16(0,t),new Uint8Array(e)}function ks(t){return new DataView(t.buffer).getUint16(t.byteOffset)}function Bi(t){let e=Ge(t),r=Uint8Array.from(Rt(e.length));return Ne([r,e],r.length+e.length)}function Ui(t){let e=mt(t);if(t=t.slice(se(e)),t.length!==e)throw new Error("inconsistent lengths");return q(t)}function _u(t){let e;t[0]==="Q"||t[0]==="1"?e=pt(K.decode(`z${t}`)).bytes:e=W.parse(t).multihash.bytes;let r=Uint8Array.from(Rt(e.length));return Ne([r,e],r.length+e.length)}function Mu(t){let e=Ru.decode(t),r=Uint8Array.from(Rt(e.length));return Ne([r,e],r.length+e.length)}function Fu(t){let e=mt(t),r=t.slice(se(e));if(r.length!==e)throw new Error("inconsistent lengths");return"u"+q(r,"base64url")}function Ku(t){let e=mt(t),r=t.slice(se(e));if(r.length!==e)throw new Error("inconsistent lengths");return q(r,"base58btc")}function qu(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==16)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion address.`);let r=Ve.decode("b"+e[0]),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=Ci(n);return Ne([r,i],r.length+i.length)}function zu(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==56)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion3 address.`);let r=Ve.decode(`b${e[0]}`),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=Ci(n);return Ne([r,i],r.length+i.length)}function Ps(t){let e=t.slice(0,t.length-2),r=t.slice(t.length-2),n=q(e,"base32"),i=ks(r);return`${n}:${i}`}function Rs(t){t=Ni(t);let e=[],r=[],n=null,i=t.split("/").slice(1);if(i.length===1&&i[0]==="")return{bytes:new Uint8Array,string:"/",tuples:[],stringTuples:[],path:null};for(let o=0;o<i.length;o++){let s=i[o],a=D(s);if(a.size===0){e.push([a.code]),r.push([a.code]);continue}if(o++,o>=i.length)throw new $r("invalid address: "+t);if(a.path===!0){n=Ni(i.slice(o).join("/")),e.push([a.code,Ti(a.code,n)]),r.push([a.code,n]);break}let c=Ti(a.code,i[o]);e.push([a.code,c]),r.push([a.code,Li(a.code,c)])}return{string:Ds(r),bytes:Gr(e),tuples:e,stringTuples:r,path:n}}function Oi(t){let e=[],r=[],n=null,i=0;for(;i<t.length;){let o=mt(t,i),s=se(o),a=D(o),c=Vu(a,t.slice(i+s));if(c===0){e.push([o]),r.push([o]),i+=s;continue}let u=t.slice(i+s,i+s+c);if(i+=c+s,i>t.length)throw new $r("Invalid address Uint8Array: "+q(t,"base16"));e.push([o,u]);let m=Li(o,u);if(r.push([o,m]),a.path===!0){n=m;break}}return{bytes:Uint8Array.from(t),string:Ds(r),tuples:e,stringTuples:r,path:n}}function Ds(t){let e=[];return t.map(r=>{let n=D(r[0]);return e.push(n.name),r.length>1&&r[1]!=null&&e.push(r[1]),null}),Ni(e.join("/"))}function Gr(t){return Ne(t.map(e=>{let r=D(e[0]),n=Uint8Array.from(Rt(r.code));return e.length>1&&e[1]!=null&&(n=Ne([n,e[1]])),n}))}function Vu(t,e){if(t.size>0)return t.size/8;if(t.size===0)return 0;{let r=mt(e instanceof Uint8Array?e:Uint8Array.from(e));return r+se(r)}}function Ni(t){return"/"+t.trim().split("/").filter(e=>e).join("/")}var $r=class extends Error{static name="ParseError";name="ParseError";constructor(e){super(`Error parsing address: ${e}`)}};var Hu=Symbol.for("nodejs.util.inspect.custom"),ki=Symbol.for("@multiformats/js-multiaddr/multiaddr"),ju=[D("dns").code,D("dns4").code,D("dns6").code,D("dnsaddr").code],Pi=class extends Error{constructor(e="No available resolver"){super(e),this.name="NoAvailableResolverError"}},Yr=class t{bytes;#e;#t;#r;#n;[ki]=!0;constructor(e){e==null&&(e="");let r;if(e instanceof Uint8Array)r=Oi(e);else if(typeof e=="string"){if(e.length>0&&e.charAt(0)!=="/")throw new Error(`multiaddr "${e}" must start with a "/"`);r=Rs(e)}else if(Ms(e))r=Oi(e.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=r.bytes,this.#e=r.string,this.#t=r.tuples,this.#r=r.stringTuples,this.#n=r.path}toString(){return this.#e}toJSON(){return this.toString()}toOptions(){let e,r,n,i,o="",s=D("tcp"),a=D("udp"),c=D("ip4"),u=D("ip6"),m=D("dns6"),l=D("ip6zone");for(let[p,h]of this.stringTuples())p===l.code&&(o=`%${h??""}`),ju.includes(p)&&(r=s.name==="tcp"?"tcp":"udp",i=443,n=`${h??""}${o}`,e=p===m.code?6:4),(p===s.code||p===a.code)&&(r=D(p).name==="tcp"?"tcp":"udp",i=parseInt(h??"")),(p===c.code||p===u.code)&&(r=D(p).name==="tcp"?"tcp":"udp",n=`${h??""}${o}`,e=p===u.code?6:4);if(e==null||r==null||n==null||i==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:e,host:n,transport:r,port:i}}protos(){return this.#t.map(([e])=>Object.assign({},D(e)))}protoCodes(){return this.#t.map(([e])=>e)}protoNames(){return this.#t.map(([e])=>D(e).name)}tuples(){return this.#t.map(([e,r])=>r==null?[e]:[e,r])}stringTuples(){return this.#r.map(([e,r])=>r==null?[e]:[e,r])}encapsulate(e){return e=new t(e),new t(this.toString()+e.toString())}decapsulate(e){let r=e.toString(),n=this.toString(),i=n.lastIndexOf(r);if(i<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${e.toString()}`);return new t(n.slice(0,i))}decapsulateCode(e){let r=this.tuples();for(let n=r.length-1;n>=0;n--)if(r[n][0]===e)return new t(Gr(r.slice(0,n)));return this}getPeerId(){try{let e=[];this.stringTuples().forEach(([n,i])=>{n===Vt.p2p.code&&e.push([n,i]),n===Vt["p2p-circuit"].code&&(e=[])});let r=e.pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?q(K.decode(`z${n}`),"base58btc"):q(W.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#n}equals(e){return je(this.bytes,e.bytes)}async resolve(e){let r=this.protos().find(o=>o.resolvable);if(r==null)return[this];let n=_s.get(r.name);if(n==null)throw new Pi(`no available resolver for ${r.name}`);return(await n(this,e)).map(o=>ur(o))}nodeAddress(){let e=this.toOptions();if(e.transport!=="tcp"&&e.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${e.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:e.family,address:e.host,port:e.port}}isThinWaistAddress(e){let r=(e??this).protos();return!(r.length!==2||r[0].code!==4&&r[0].code!==41||r[1].code!==6&&r[1].code!==273)}[Hu](){return`Multiaddr(${this.#e})`}};var _s=new Map;function Ms(t){return!!t?.[ki]}function ur(t){return new Yr(t)}function Fs(t,e,r,n){let i=()=>{n?.log.trace("query",e),t.query({questions:[{name:e,type:"PTR"}]})};return i(),setInterval(i,r)}function Ks(t,e,r,n){if(t.answers==null)return;let i,o=[];if(t.answers.forEach(s=>{switch(s.type){case"PTR":i=s;break;case"TXT":o.push(s);break;default:break}}),t.additionals.forEach(s=>{switch(s.type){case"TXT":o.push(s);break;default:break}}),!(i==null||i?.name!==r||o.length===0||i.data.startsWith(e)))try{let s=o.flatMap(c=>c.data).filter(c=>c.toString().startsWith("dnsaddr=")).map(c=>ur(c.toString().substring(8))),a=s[0].getPeerId();if(a==null)throw new Error("Multiaddr doesn't contain PeerId");return n?.log("peer found %p",a),{id:bs(a),multiaddrs:s.map(c=>c.decapsulateCode(D("p2p").code))}}catch(s){n?.log.error("failed to parse mdns response",s)}}function qs(t,e,r,n,i,o,s){if(!o){s?.log("not responding to mDNS query as broadcast mode is false");return}if(n.length!==0&&t.questions[0]!=null&&t.questions[0].name===i){let a=[];a.push({name:i,type:"PTR",class:"IN",ttl:120,data:r+"."+i}),n.filter($u).forEach(c=>{let u="dnsaddr="+c.toString();if(u.length>255){s?.log("multiaddr %a is too long to use in mDNS query response",c);return}if(c.getPeerId()==null){s?.log("multiaddr %a did not have a peer ID so cannot be used in mDNS query response",c);return}a.push({name:r+"."+i,type:"TXT",class:"IN",ttl:120,data:u})}),s?.log.trace("responding to query"),e.respond(a)}}function $u(t){return!!Us(t)}function zs(t){let e="",r="abcdefghijklmnopqrstuvwxyz0123456789";for(let n=0;n<t;n++)e+=r.charAt(Math.floor(Math.random()*r.length));return e}var Wr=class extends gr{mdns;log;broadcast;interval;serviceTag;peerName;port;ip;_queryInterval;components;constructor(e,r={}){if(super(),this.log=e.logger.forComponent("libp2p:mdns"),this.broadcast=r.broadcast!==!1,this.interval=r.interval??1e3*10,this.serviceTag=r.serviceTag??"_p2p._udp.local",this.ip=r.ip??"224.0.0.251",this.peerName=r.peerName??zs(63),this.peerName.length>=64)throw new Error("Peer name should be less than 64 chars long");this.port=r.port??5353,this.components=e,this._queryInterval=null,this._onMdnsQuery=this._onMdnsQuery.bind(this),this._onMdnsResponse=this._onMdnsResponse.bind(this),this._onMdnsWarning=this._onMdnsWarning.bind(this),this._onMdnsError=this._onMdnsError.bind(this)}[_i]=this;[Symbol.toStringTag]="@libp2p/mdns";[Ki]=["@libp2p/peer-discovery"];isStarted(){return!!this.mdns}async start(){this.mdns==null&&(this.mdns=(0,Vs.default)({port:this.port,ip:this.ip}),this.mdns.on("query",this._onMdnsQuery),this.mdns.on("response",this._onMdnsResponse),this.mdns.on("warning",this._onMdnsWarning),this.mdns.on("error",this._onMdnsError),this._queryInterval=Fs(this.mdns,this.serviceTag,this.interval,{log:this.log}))}_onMdnsQuery(e){this.mdns!=null&&(this.log.trace("received incoming mDNS query"),qs(e,this.mdns,this.peerName,this.components.addressManager.getAddresses(),this.serviceTag,this.broadcast,{log:this.log}))}_onMdnsResponse(e){this.log.trace("received mDNS query response");try{let r=Ks(e,this.peerName,this.serviceTag,{log:this.log});r!=null&&(this.log("discovered peer in mDNS query response %p",r.id),this.dispatchEvent(new CustomEvent("peer",{detail:r})))}catch(r){this.log.error("Error processing peer response",r)}}_onMdnsWarning(e){this.log.error("mdns warning",e)}_onMdnsError(e){this.log.error("mdns error",e)}async stop(){this.mdns!=null&&(this.mdns.removeListener("query",this._onMdnsQuery),this.mdns.removeListener("response",this._onMdnsResponse),this.mdns.removeListener("warning",this._onMdnsWarning),this.mdns.removeListener("error",this._onMdnsError),this._queryInterval!=null&&(clearInterval(this._queryInterval),this._queryInterval=null),await new Promise(e=>{this.mdns!=null?this.mdns.destroy(e):e()}),this.mdns=void 0)}};function Yu(t={}){return e=>new Wr(e,t)}return Ws(Wu);})();
3
3
  /*! Bundled license information:
4
4
 
5
5
  @noble/hashes/esm/utils.js:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@libp2p/mdns",
3
- "version": "11.0.30",
3
+ "version": "11.0.31",
4
4
  "description": "Node.js libp2p mDNS discovery implementation for peer discovery",
5
5
  "license": "Apache-2.0 OR MIT",
6
6
  "homepage": "https://github.com/libp2p/js-libp2p/tree/main/packages/peer-discovery-mdns#readme",
@@ -51,9 +51,9 @@
51
51
  },
52
52
  "dependencies": {
53
53
  "@libp2p/interface": "^2.7.0",
54
- "@libp2p/interface-internal": "^2.3.7",
55
- "@libp2p/peer-id": "^5.0.16",
56
- "@libp2p/utils": "^6.5.7",
54
+ "@libp2p/interface-internal": "^2.3.8",
55
+ "@libp2p/peer-id": "^5.1.0",
56
+ "@libp2p/utils": "^6.5.8",
57
57
  "@multiformats/multiaddr": "^12.3.3",
58
58
  "@types/multicast-dns": "^7.2.4",
59
59
  "dns-packet": "^5.6.1",
@@ -61,8 +61,8 @@
61
61
  },
62
62
  "devDependencies": {
63
63
  "@libp2p/crypto": "^5.0.15",
64
- "@libp2p/interface-compliance-tests": "^6.4.0",
65
- "@libp2p/logger": "^5.1.12",
64
+ "@libp2p/interface-compliance-tests": "^6.4.1",
65
+ "@libp2p/logger": "^5.1.13",
66
66
  "aegir": "^45.1.1",
67
67
  "p-wait-for": "^5.0.2",
68
68
  "sinon-ts": "^2.0.0"