@libp2p/pnet 1.0.0-e1c01370b → 1.0.0-e1ca9cced
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/README.md +19 -4
- package/dist/index.min.js +2 -2
- package/dist/src/errors.d.ts +0 -1
- package/dist/src/errors.d.ts.map +1 -1
- package/dist/src/errors.js +0 -1
- package/dist/src/errors.js.map +1 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +4 -4
- package/dist/src/index.js.map +1 -1
- package/package.json +14 -13
- package/src/errors.ts +0 -1
- package/src/index.ts +5 -4
package/README.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
# @libp2p/pnet
|
2
2
|
|
3
3
|
[](http://libp2p.io/)
|
4
4
|
[](https://discuss.libp2p.io)
|
@@ -9,6 +9,21 @@
|
|
9
9
|
|
10
10
|
# About
|
11
11
|
|
12
|
+
<!--
|
13
|
+
|
14
|
+
!IMPORTANT!
|
15
|
+
|
16
|
+
Everything in this README between "# About" and "# Install" is automatically
|
17
|
+
generated and will be overwritten the next time the doc generator is run.
|
18
|
+
|
19
|
+
To make changes to this section, please update the @packageDocumentation section
|
20
|
+
of src/index.js or src/index.ts
|
21
|
+
|
22
|
+
To experiment with formatting, please run "npm run docs" from the root of this
|
23
|
+
repo and examine the changes made.
|
24
|
+
|
25
|
+
-->
|
26
|
+
|
12
27
|
Connection protection management for libp2p leveraging PSK encryption via XSalsa20.
|
13
28
|
|
14
29
|
## Example
|
@@ -53,7 +68,7 @@ node -e "import('@libp2p/pnet').then(({ generateKey }) => generateKey(process.st
|
|
53
68
|
|
54
69
|
### Programmatically
|
55
70
|
|
56
|
-
```
|
71
|
+
```TypeScript
|
57
72
|
import fs from 'fs'
|
58
73
|
import { generateKey } from '@libp2p/pnet'
|
59
74
|
|
@@ -85,8 +100,8 @@ Loading this module through a script tag will make it's exports available as `Li
|
|
85
100
|
|
86
101
|
Licensed under either of
|
87
102
|
|
88
|
-
- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)
|
89
|
-
- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)
|
103
|
+
- Apache 2.0, ([LICENSE-APACHE](https://github.com/libp2p/js-libp2p/blob/main/packages/pnet/LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)
|
104
|
+
- MIT ([LICENSE-MIT](https://github.com/libp2p/js-libp2p/blob/main/packages/pnet/LICENSE-MIT) / <http://opensource.org/licenses/MIT>)
|
90
105
|
|
91
106
|
# Contribution
|
92
107
|
|
package/dist/index.min.js
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
(function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.Libp2PPnet = factory()}(typeof self !== 'undefined' ? self : this, function () {
|
2
|
-
"use strict";var Libp2PPnet=(()=>{var rr=Object.create;var he=Object.defineProperty;var nr=Object.getOwnPropertyDescriptor;var or=Object.getOwnPropertyNames;var sr=Object.getPrototypeOf,ir=Object.prototype.hasOwnProperty;var it=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),O=(r,e)=>{for(var t in e)he(r,t,{get:e[t],enumerable:!0})},ft=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of or(e))!ir.call(r,o)&&o!==t&&he(r,o,{get:()=>e[o],enumerable:!(n=nr(e,o))||n.enumerable});return r};var fr=(r,e,t)=>(t=r!=null?rr(sr(r)):{},ft(e||!r||!r.__esModule?he(t,"default",{value:r,enumerable:!0}):t,r)),ar=r=>ft(he({},"__esModule",{value:!0}),r);var kt=it((Es,jt)=>{var Qn=(r,e)=>function(){return e||(0,r[Object.keys(r)[0]])((e={exports:{}}).exports,e),e.exports},Sn=(()=>{for(var r=new Uint8Array(128),e=0;e<64;e++)r[e<26?e+65:e<52?e+71:e<62?e-4:e*4-205]=e;return t=>{for(var n=t.length,o=new Uint8Array((n-(t[n-1]=="=")-(t[n-2]=="="))*3/4|0),i=0,f=0;i<n;){var a=r[t.charCodeAt(i++)],c=r[t.charCodeAt(i++)],w=r[t.charCodeAt(i++)],A=r[t.charCodeAt(i++)];o[f++]=a<<2|c>>4,o[f++]=c<<4|w>>2,o[f++]=w<<6|A}return o}})(),Dn=Qn({"wasm-binary:./xsalsa20.wat"(r,e){e.exports=Sn("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")}}),Nn=Dn(),Un=new WebAssembly.Module(Nn);jt.exports=r=>new WebAssembly.Instance(Un,r).exports});var Jt=it((Is,Ht)=>{var ue=typeof WebAssembly<"u"&&kt()(),Be=new Uint8Array([101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107]),G=144,ne=G,Ie=[];Ht.exports=V;V.NONCEBYTES=24;V.KEYBYTES=32;V.core_hsalsa20=Kt;V.SIGMA=Be;function V(r,e){if(!(this instanceof V))return new V(r,e);if(!r||r.length<24)throw new Error("nonce must be at least 24 bytes");if(!e||e.length<32)throw new Error("key must be at least 32 bytes");this._xor=ue?new Ce(r,e):new et(r,e)}V.prototype.update=function(r,e){if(!r)throw new Error("input must be Uint8Array or Buffer");return e||(e=new Uint8Array(r.length)),r.length&&this._xor.update(r,e),e};V.prototype.final=V.prototype.finalize=function(){this._xor.finalize(),this._xor=null};function Ce(r,e){Ie.length||(Ie.push(G),G+=64),this._pointer=Ie.pop(),this._nonce=this._pointer+8,this._key=this._nonce+24,this._overflow=0,this._memory=new Uint8Array(ue.memory.buffer),this._memory.fill(0,this._pointer,this._pointer+8),this._memory.set(r,this._nonce),this._memory.set(e,this._key)}Ce.prototype.realloc=function(r){ue.memory.grow(Math.ceil(Math.abs(r-this._memory.length)/65536)),this._memory=new Uint8Array(ue.memory.buffer)};Ce.prototype.update=function(r,e){var t=this._overflow+r.length,n=G+this._overflow;ne=G+t,ne>=this._memory.length&&this.realloc(ne),this._memory.set(r,n),ue.xsalsa20_xor(this._pointer,G,G,t,this._nonce,this._key),e.set(this._memory.subarray(n,G+t)),this._overflow=t&63};Ce.prototype.finalize=function(){this._memory.fill(0,this._pointer,this._key+32),ne>G&&(this._memory.fill(0,G,ne),ne=0),Ie.push(this._pointer)};function et(r,e){this._s=new Uint8Array(32),this._z=new Uint8Array(16),this._overflow=0,Kt(this._s,r,e,Be);for(var t=0;t<8;t++)this._z[t]=r[t+16]}et.prototype.update=function(r,e){for(var t=new Uint8Array(64),n=0,o=this._overflow,i=r.length+this._overflow,f=this._z,a=-this._overflow,c=-this._overflow;i>=64;){for(Pt(t,f,this._s,Be);o<64;o++)e[c+o]=r[a+o]^t[o];for(n=1,o=8;o<16;o++)n+=f[o]&255|0,f[o]=n&255,n>>>=8;i-=64,c+=64,a+=64,o=0}if(i>0)for(Pt(t,f,this._s,Be);o<i;o++)e[c+o]=r[a+o]^t[o];this._overflow=i&63};et.prototype.finalize=function(){this._s.fill(0),this._z.fill(0)};function Pt(r,e,t,n){for(var o=n[0]&255|(n[1]&255)<<8|(n[2]&255)<<16|(n[3]&255)<<24,i=t[0]&255|(t[1]&255)<<8|(t[2]&255)<<16|(t[3]&255)<<24,f=t[4]&255|(t[5]&255)<<8|(t[6]&255)<<16|(t[7]&255)<<24,a=t[8]&255|(t[9]&255)<<8|(t[10]&255)<<16|(t[11]&255)<<24,c=t[12]&255|(t[13]&255)<<8|(t[14]&255)<<16|(t[15]&255)<<24,w=n[4]&255|(n[5]&255)<<8|(n[6]&255)<<16|(n[7]&255)<<24,A=e[0]&255|(e[1]&255)<<8|(e[2]&255)<<16|(e[3]&255)<<24,h=e[4]&255|(e[5]&255)<<8|(e[6]&255)<<16|(e[7]&255)<<24,I=e[8]&255|(e[9]&255)<<8|(e[10]&255)<<16|(e[11]&255)<<24,q=e[12]&255|(e[13]&255)<<8|(e[14]&255)<<16|(e[15]&255)<<24,d=n[8]&255|(n[9]&255)<<8|(n[10]&255)<<16|(n[11]&255)<<24,m=t[16]&255|(t[17]&255)<<8|(t[18]&255)<<16|(t[19]&255)<<24,u=t[20]&255|(t[21]&255)<<8|(t[22]&255)<<16|(t[23]&255)<<24,E=t[24]&255|(t[25]&255)<<8|(t[26]&255)<<16|(t[27]&255)<<24,L=t[28]&255|(t[29]&255)<<8|(t[30]&255)<<16|(t[31]&255)<<24,N=n[12]&255|(n[13]&255)<<8|(n[14]&255)<<16|(n[15]&255)<<24,l=o,p=i,b=f,x=a,g=c,y=w,B=A,C=h,v=I,Q=q,S=d,R=m,M=u,_=E,T=L,D=N,s,oe=0;oe<20;oe+=2)s=l+M|0,g^=s<<7|s>>>25,s=g+l|0,v^=s<<9|s>>>23,s=v+g|0,M^=s<<13|s>>>19,s=M+v|0,l^=s<<18|s>>>14,s=y+p|0,Q^=s<<7|s>>>25,s=Q+y|0,_^=s<<9|s>>>23,s=_+Q|0,p^=s<<13|s>>>19,s=p+_|0,y^=s<<18|s>>>14,s=S+B|0,T^=s<<7|s>>>25,s=T+S|0,b^=s<<9|s>>>23,s=b+T|0,B^=s<<13|s>>>19,s=B+b|0,S^=s<<18|s>>>14,s=D+R|0,x^=s<<7|s>>>25,s=x+D|0,C^=s<<9|s>>>23,s=C+x|0,R^=s<<13|s>>>19,s=R+C|0,D^=s<<18|s>>>14,s=l+x|0,p^=s<<7|s>>>25,s=p+l|0,b^=s<<9|s>>>23,s=b+p|0,x^=s<<13|s>>>19,s=x+b|0,l^=s<<18|s>>>14,s=y+g|0,B^=s<<7|s>>>25,s=B+y|0,C^=s<<9|s>>>23,s=C+B|0,g^=s<<13|s>>>19,s=g+C|0,y^=s<<18|s>>>14,s=S+Q|0,R^=s<<7|s>>>25,s=R+S|0,v^=s<<9|s>>>23,s=v+R|0,Q^=s<<13|s>>>19,s=Q+v|0,S^=s<<18|s>>>14,s=D+T|0,M^=s<<7|s>>>25,s=M+D|0,_^=s<<9|s>>>23,s=_+M|0,T^=s<<13|s>>>19,s=T+_|0,D^=s<<18|s>>>14;l=l+o|0,p=p+i|0,b=b+f|0,x=x+a|0,g=g+c|0,y=y+w|0,B=B+A|0,C=C+h|0,v=v+I|0,Q=Q+q|0,S=S+d|0,R=R+m|0,M=M+u|0,_=_+E|0,T=T+L|0,D=D+N|0,r[0]=l>>>0&255,r[1]=l>>>8&255,r[2]=l>>>16&255,r[3]=l>>>24&255,r[4]=p>>>0&255,r[5]=p>>>8&255,r[6]=p>>>16&255,r[7]=p>>>24&255,r[8]=b>>>0&255,r[9]=b>>>8&255,r[10]=b>>>16&255,r[11]=b>>>24&255,r[12]=x>>>0&255,r[13]=x>>>8&255,r[14]=x>>>16&255,r[15]=x>>>24&255,r[16]=g>>>0&255,r[17]=g>>>8&255,r[18]=g>>>16&255,r[19]=g>>>24&255,r[20]=y>>>0&255,r[21]=y>>>8&255,r[22]=y>>>16&255,r[23]=y>>>24&255,r[24]=B>>>0&255,r[25]=B>>>8&255,r[26]=B>>>16&255,r[27]=B>>>24&255,r[28]=C>>>0&255,r[29]=C>>>8&255,r[30]=C>>>16&255,r[31]=C>>>24&255,r[32]=v>>>0&255,r[33]=v>>>8&255,r[34]=v>>>16&255,r[35]=v>>>24&255,r[36]=Q>>>0&255,r[37]=Q>>>8&255,r[38]=Q>>>16&255,r[39]=Q>>>24&255,r[40]=S>>>0&255,r[41]=S>>>8&255,r[42]=S>>>16&255,r[43]=S>>>24&255,r[44]=R>>>0&255,r[45]=R>>>8&255,r[46]=R>>>16&255,r[47]=R>>>24&255,r[48]=M>>>0&255,r[49]=M>>>8&255,r[50]=M>>>16&255,r[51]=M>>>24&255,r[52]=_>>>0&255,r[53]=_>>>8&255,r[54]=_>>>16&255,r[55]=_>>>24&255,r[56]=T>>>0&255,r[57]=T>>>8&255,r[58]=T>>>16&255,r[59]=T>>>24&255,r[60]=D>>>0&255,r[61]=D>>>8&255,r[62]=D>>>16&255,r[63]=D>>>24&255}function Kt(r,e,t,n){for(var o=n[0]&255|(n[1]&255)<<8|(n[2]&255)<<16|(n[3]&255)<<24,i=t[0]&255|(t[1]&255)<<8|(t[2]&255)<<16|(t[3]&255)<<24,f=t[4]&255|(t[5]&255)<<8|(t[6]&255)<<16|(t[7]&255)<<24,a=t[8]&255|(t[9]&255)<<8|(t[10]&255)<<16|(t[11]&255)<<24,c=t[12]&255|(t[13]&255)<<8|(t[14]&255)<<16|(t[15]&255)<<24,w=n[4]&255|(n[5]&255)<<8|(n[6]&255)<<16|(n[7]&255)<<24,A=e[0]&255|(e[1]&255)<<8|(e[2]&255)<<16|(e[3]&255)<<24,h=e[4]&255|(e[5]&255)<<8|(e[6]&255)<<16|(e[7]&255)<<24,I=e[8]&255|(e[9]&255)<<8|(e[10]&255)<<16|(e[11]&255)<<24,q=e[12]&255|(e[13]&255)<<8|(e[14]&255)<<16|(e[15]&255)<<24,d=n[8]&255|(n[9]&255)<<8|(n[10]&255)<<16|(n[11]&255)<<24,m=t[16]&255|(t[17]&255)<<8|(t[18]&255)<<16|(t[19]&255)<<24,u=t[20]&255|(t[21]&255)<<8|(t[22]&255)<<16|(t[23]&255)<<24,E=t[24]&255|(t[25]&255)<<8|(t[26]&255)<<16|(t[27]&255)<<24,L=t[28]&255|(t[29]&255)<<8|(t[30]&255)<<16|(t[31]&255)<<24,N=n[12]&255|(n[13]&255)<<8|(n[14]&255)<<16|(n[15]&255)<<24,l=o,p=i,b=f,x=a,g=c,y=w,B=A,C=h,v=I,Q=q,S=d,R=m,M=u,_=E,T=L,D=N,s,oe=0;oe<20;oe+=2)s=l+M|0,g^=s<<7|s>>>25,s=g+l|0,v^=s<<9|s>>>23,s=v+g|0,M^=s<<13|s>>>19,s=M+v|0,l^=s<<18|s>>>14,s=y+p|0,Q^=s<<7|s>>>25,s=Q+y|0,_^=s<<9|s>>>23,s=_+Q|0,p^=s<<13|s>>>19,s=p+_|0,y^=s<<18|s>>>14,s=S+B|0,T^=s<<7|s>>>25,s=T+S|0,b^=s<<9|s>>>23,s=b+T|0,B^=s<<13|s>>>19,s=B+b|0,S^=s<<18|s>>>14,s=D+R|0,x^=s<<7|s>>>25,s=x+D|0,C^=s<<9|s>>>23,s=C+x|0,R^=s<<13|s>>>19,s=R+C|0,D^=s<<18|s>>>14,s=l+x|0,p^=s<<7|s>>>25,s=p+l|0,b^=s<<9|s>>>23,s=b+p|0,x^=s<<13|s>>>19,s=x+b|0,l^=s<<18|s>>>14,s=y+g|0,B^=s<<7|s>>>25,s=B+y|0,C^=s<<9|s>>>23,s=C+B|0,g^=s<<13|s>>>19,s=g+C|0,y^=s<<18|s>>>14,s=S+Q|0,R^=s<<7|s>>>25,s=R+S|0,v^=s<<9|s>>>23,s=v+R|0,Q^=s<<13|s>>>19,s=Q+v|0,S^=s<<18|s>>>14,s=D+T|0,M^=s<<7|s>>>25,s=M+D|0,_^=s<<9|s>>>23,s=_+M|0,T^=s<<13|s>>>19,s=T+_|0,D^=s<<18|s>>>14;r[0]=l>>>0&255,r[1]=l>>>8&255,r[2]=l>>>16&255,r[3]=l>>>24&255,r[4]=y>>>0&255,r[5]=y>>>8&255,r[6]=y>>>16&255,r[7]=y>>>24&255,r[8]=S>>>0&255,r[9]=S>>>8&255,r[10]=S>>>16&255,r[11]=S>>>24&255,r[12]=D>>>0&255,r[13]=D>>>8&255,r[14]=D>>>16&255,r[15]=D>>>24&255,r[16]=B>>>0&255,r[17]=B>>>8&255,r[18]=B>>>16&255,r[19]=B>>>24&255,r[20]=C>>>0&255,r[21]=C>>>8&255,r[22]=C>>>16&255,r[23]=C>>>24&255,r[24]=v>>>0&255,r[25]=v>>>8&255,r[26]=v>>>16&255,r[27]=v>>>24&255,r[28]=Q>>>0&255,r[29]=Q>>>8&255,r[30]=Q>>>16&255,r[31]=Q>>>24&255}});var Rn={};O(Rn,{generateKey:()=>$t,preSharedKey:()=>Ln});var Y=class extends Error{code;props;constructor(e,t,n){super(e),this.code=t,this.name=n?.name??"CodeError",this.props=n??{}}};var Ne={};O(Ne,{base58btc:()=>F,base58flickr:()=>dr});var Tn=new Uint8Array(0);function at(r,e){if(r===e)return!0;if(r.byteLength!==e.byteLength)return!1;for(let t=0;t<r.byteLength;t++)if(r[t]!==e[t])return!1;return!0}function j(r){if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")}function ct(r){return new TextEncoder().encode(r)}function ut(r){return new TextDecoder().decode(r)}function cr(r,e){if(r.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),n=0;n<t.length;n++)t[n]=255;for(var o=0;o<r.length;o++){var i=r.charAt(o),f=i.charCodeAt(0);if(t[f]!==255)throw new TypeError(i+" is ambiguous");t[f]=o}var a=r.length,c=r.charAt(0),w=Math.log(a)/Math.log(256),A=Math.log(256)/Math.log(a);function h(d){if(d instanceof Uint8Array||(ArrayBuffer.isView(d)?d=new Uint8Array(d.buffer,d.byteOffset,d.byteLength):Array.isArray(d)&&(d=Uint8Array.from(d))),!(d instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(d.length===0)return"";for(var m=0,u=0,E=0,L=d.length;E!==L&&d[E]===0;)E++,m++;for(var N=(L-E)*A+1>>>0,l=new Uint8Array(N);E!==L;){for(var p=d[E],b=0,x=N-1;(p!==0||b<u)&&x!==-1;x--,b++)p+=256*l[x]>>>0,l[x]=p%a>>>0,p=p/a>>>0;if(p!==0)throw new Error("Non-zero carry");u=b,E++}for(var g=N-u;g!==N&&l[g]===0;)g++;for(var y=c.repeat(m);g<N;++g)y+=r.charAt(l[g]);return y}function I(d){if(typeof d!="string")throw new TypeError("Expected String");if(d.length===0)return new Uint8Array;var m=0;if(d[m]!==" "){for(var u=0,E=0;d[m]===c;)u++,m++;for(var L=(d.length-m)*w+1>>>0,N=new Uint8Array(L);d[m];){var l=t[d.charCodeAt(m)];if(l===255)return;for(var p=0,b=L-1;(l!==0||p<E)&&b!==-1;b--,p++)l+=a*N[b]>>>0,N[b]=l%256>>>0,l=l/256>>>0;if(l!==0)throw new Error("Non-zero carry");E=p,m++}if(d[m]!==" "){for(var x=L-E;x!==L&&N[x]===0;)x++;for(var g=new Uint8Array(u+(L-x)),y=u;x!==L;)g[y++]=N[x++];return g}}}function q(d){var m=I(d);if(m)return m;throw new Error(`Non-${e} character`)}return{encode:h,decodeUnsafe:I,decode:q}}var ur=cr,hr=ur,lt=hr;var ve=class{name;prefix;baseEncode;constructor(e,t,n){this.name=e,this.prefix=t,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},Qe=class{name;prefix;baseDecode;prefixCodePoint;constructor(e,t,n){if(this.name=e,this.prefix=t,t.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return At(this,e)}},Se=class{decoders;constructor(e){this.decoders=e}or(e){return At(this,e)}decode(e){let t=e[0],n=this.decoders[t];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 At(r,e){return new Se({...r.decoders??{[r.prefix]:r},...e.decoders??{[e.prefix]:e}})}var De=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(e,t,n,o){this.name=e,this.prefix=t,this.baseEncode=n,this.baseDecode=o,this.encoder=new ve(e,t,n),this.decoder=new Qe(e,t,o)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};function X({name:r,prefix:e,encode:t,decode:n}){return new De(r,e,t,n)}function P({name:r,prefix:e,alphabet:t}){let{encode:n,decode:o}=lt(t,r);return X({prefix:e,name:r,encode:n,decode:i=>j(o(i))})}function lr(r,e,t,n){let o={};for(let A=0;A<e.length;++A)o[e[A]]=A;let i=r.length;for(;r[i-1]==="=";)--i;let f=new Uint8Array(i*t/8|0),a=0,c=0,w=0;for(let A=0;A<i;++A){let h=o[r[A]];if(h===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<t|h,a+=t,a>=8&&(a-=8,f[w++]=255&c>>a)}if(a>=t||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return f}function Ar(r,e,t){let n=e[e.length-1]==="=",o=(1<<t)-1,i="",f=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],f+=8;f>t;)f-=t,i+=e[o&a>>f];if(f!==0&&(i+=e[o&a<<t-f]),n)for(;i.length*t&7;)i+="=";return i}function U({name:r,prefix:e,bitsPerChar:t,alphabet:n}){return X({prefix:e,name:r,encode(o){return Ar(o,n,t)},decode(o){return lr(o,n,t,r)}})}var F=P({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),dr=P({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Le={};O(Le,{identity:()=>_r});var pr=xt,dt=128,xr=127,gr=~xr,br=Math.pow(2,31);function xt(r,e,t){e=e||[],t=t||0;for(var n=t;r>=br;)e[t++]=r&255|dt,r/=128;for(;r&gr;)e[t++]=r&255|dt,r>>>=7;return e[t]=r|0,xt.bytes=t-n+1,e}var yr=Ue,wr=128,pt=127;function Ue(r,n){var t=0,n=n||0,o=0,i=n,f,a=r.length;do{if(i>=a)throw Ue.bytes=0,new RangeError("Could not decode varint");f=r[i++],t+=o<28?(f&pt)<<o:(f&pt)*Math.pow(2,o),o+=7}while(f>=wr);return Ue.bytes=i-n,t}var mr=Math.pow(2,7),Er=Math.pow(2,14),Ir=Math.pow(2,21),Br=Math.pow(2,28),Cr=Math.pow(2,35),vr=Math.pow(2,42),Qr=Math.pow(2,49),Sr=Math.pow(2,56),Dr=Math.pow(2,63),Nr=function(r){return r<mr?1:r<Er?2:r<Ir?3:r<Br?4:r<Cr?5:r<vr?6:r<Qr?7:r<Sr?8:r<Dr?9:10},Ur={encode:pr,decode:yr,encodingLength:Nr},Lr=Ur,se=Lr;function ie(r,e=0){return[se.decode(r,e),se.decode.bytes]}function W(r,e,t=0){return se.encode(r,e,t),e}function $(r){return se.encodingLength(r)}function H(r,e){let t=e.byteLength,n=$(r),o=n+$(t),i=new Uint8Array(o+t);return W(r,i,0),W(t,i,n),i.set(e,o),new Z(r,t,e,i)}function gt(r){let e=j(r),[t,n]=ie(e),[o,i]=ie(e.subarray(n)),f=e.subarray(n+i);if(f.byteLength!==o)throw new Error("Incorrect length");return new Z(t,o,f,e)}function bt(r,e){if(r===e)return!0;{let t=e;return r.code===t.code&&r.size===t.size&&t.bytes instanceof Uint8Array&&at(r.bytes,t.bytes)}}var Z=class{code;size;digest;bytes;constructor(e,t,n,o){this.code=e,this.size=t,this.digest=n,this.bytes=o}};var yt=0,Rr="identity",wt=j;function Mr(r){return H(yt,wt(r))}var _r={code:yt,name:Rr,encode:wt,digest:Mr};var _e={};O(_e,{sha256:()=>Tr,sha512:()=>Or});function Me({name:r,code:e,encode:t}){return new Re(r,e,t)}var Re=class{name;code;encode;constructor(e,t,n){this.name=e,this.code=t,this.encode=n}digest(e){if(e instanceof Uint8Array){let t=this.encode(e);return t instanceof Uint8Array?H(this.code,t):t.then(n=>H(this.code,n))}else throw Error("Unknown type, must be binary type")}};function Et(r){return async e=>new Uint8Array(await crypto.subtle.digest(r,e))}var Tr=Me({name:"sha2-256",code:18,encode:Et("SHA-256")}),Or=Me({name:"sha2-512",code:19,encode:Et("SHA-512")});function It(r,e){if(r===e)return!0;if(r.byteLength!==e.byteLength)return!1;for(let t=0;t<r.byteLength;t++)if(r[t]!==e[t])return!1;return!0}function K(r){return globalThis.Buffer!=null?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r}function k(r=0){return globalThis.Buffer?.alloc!=null?K(globalThis.Buffer.alloc(r)):new Uint8Array(r)}function J(r=0){return globalThis.Buffer?.allocUnsafe!=null?K(globalThis.Buffer.allocUnsafe(r)):new Uint8Array(r)}function Te(r,e){if(globalThis.Buffer!=null)return K(globalThis.Buffer.concat(r,e));e==null&&(e=r.reduce((o,i)=>o+i.length,0));let t=J(e),n=0;for(let o of r)t.set(o,n),n+=o.length;return K(t)}var Oe={};O(Oe,{base10:()=>qr});var qr=P({prefix:"9",name:"base10",alphabet:"0123456789"});var qe={};O(qe,{base16:()=>zr,base16upper:()=>Fr});var zr=U({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Fr=U({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var ze={};O(ze,{base2:()=>Gr});var Gr=U({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Fe={};O(Fe,{base256emoji:()=>Kr});var Bt=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}"),Vr=Bt.reduce((r,e,t)=>(r[t]=e,r),[]),jr=Bt.reduce((r,e,t)=>(r[e.codePointAt(0)]=t,r),[]);function kr(r){return r.reduce((e,t)=>(e+=Vr[t],e),"")}function Pr(r){let e=[];for(let t of r){let n=jr[t.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${t}`);e.push(n)}return new Uint8Array(e)}var Kr=X({prefix:"\u{1F680}",name:"base256emoji",encode:kr,decode:Pr});var Ge={};O(Ge,{base32:()=>ee,base32hex:()=>Xr,base32hexpad:()=>$r,base32hexpadupper:()=>Zr,base32hexupper:()=>Wr,base32pad:()=>Jr,base32padupper:()=>Yr,base32upper:()=>Hr,base32z:()=>en});var ee=U({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Hr=U({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Jr=U({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Yr=U({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Xr=U({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Wr=U({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),$r=U({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Zr=U({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),en=U({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Ve={};O(Ve,{base36:()=>tn,base36upper:()=>rn});var tn=P({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),rn=P({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var je={};O(je,{base64:()=>nn,base64pad:()=>on,base64url:()=>sn,base64urlpad:()=>fn});var nn=U({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),on=U({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),sn=U({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),fn=U({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var ke={};O(ke,{base8:()=>an});var an=U({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Pe={};O(Pe,{identity:()=>cn});var cn=X({prefix:"\0",name:"identity",encode:r=>ut(r),decode:r=>ct(r)});var uo=new TextEncoder,ho=new TextDecoder;function Ct(r,e){let{bytes:t,version:n}=r;switch(n){case 0:return An(t,Ke(r),e??F.encoder);default:return dn(t,Ke(r),e??ee.encoder)}}var vt=new WeakMap;function Ke(r){let e=vt.get(r);if(e==null){let t=new Map;return vt.set(r,t),t}return e}var Ae=class r{code;version;multihash;bytes;"/";constructor(e,t,n,o){this.code=t,this.version=e,this.multihash=n,this.bytes=o,this["/"]=o}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:t}=this;if(e!==ae)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(t.code!==pn)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return r.createV0(t)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:t}=this.multihash,n=H(e,t);return r.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 r.equals(this,e)}static equals(e,t){let n=t;return n!=null&&e.code===n.code&&e.version===n.version&&bt(e.multihash,n.multihash)}toString(e){return Ct(this,e)}toJSON(){return{"/":Ct(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 t=e;if(t instanceof r)return t;if(t["/"]!=null&&t["/"]===t.bytes||t.asCID===t){let{version:n,code:o,multihash:i,bytes:f}=t;return new r(n,o,i,f??Qt(n,o,i.bytes))}else if(t[xn]===!0){let{version:n,multihash:o,code:i}=t,f=gt(o);return r.create(n,i,f)}else return null}static create(e,t,n){if(typeof t!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(t!==ae)throw new Error(`Version 0 CID must use dag-pb (code: ${ae}) block encoding`);return new r(e,t,n,n.bytes)}case 1:{let o=Qt(e,t,n.bytes);return new r(e,t,n,o)}default:throw new Error("Invalid version")}}static createV0(e){return r.create(0,ae,e)}static createV1(e,t){return r.create(1,e,t)}static decode(e){let[t,n]=r.decodeFirst(e);if(n.length!==0)throw new Error("Incorrect length");return t}static decodeFirst(e){let t=r.inspectBytes(e),n=t.size-t.multihashSize,o=j(e.subarray(n,n+t.multihashSize));if(o.byteLength!==t.multihashSize)throw new Error("Incorrect length");let i=o.subarray(t.multihashSize-t.digestSize),f=new Z(t.multihashCode,t.digestSize,i,o);return[t.version===0?r.createV0(f):r.createV1(t.codec,f),e.subarray(t.size)]}static inspectBytes(e){let t=0,n=()=>{let[h,I]=ie(e.subarray(t));return t+=I,h},o=n(),i=ae;if(o===18?(o=0,t=0):i=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let f=t,a=n(),c=n(),w=t+c,A=w-f;return{version:o,codec:i,multihashCode:a,digestSize:c,multihashSize:A,size:w}}static parse(e,t){let[n,o]=ln(e,t),i=r.decode(o);if(i.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Ke(i).set(n,e),i}};function ln(r,e){switch(r[0]){case"Q":{let t=e??F;return[F.prefix,t.decode(`${F.prefix}${r}`)]}case F.prefix:{let t=e??F;return[F.prefix,t.decode(r)]}case ee.prefix:{let t=e??ee;return[ee.prefix,t.decode(r)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[r[0],e.decode(r)]}}}function An(r,e,t){let{prefix:n}=t;if(n!==F.prefix)throw Error(`Cannot string encode V0 in ${t.name} encoding`);let o=e.get(n);if(o==null){let i=t.encode(r).slice(1);return e.set(n,i),i}else return o}function dn(r,e,t){let{prefix:n}=t,o=e.get(n);if(o==null){let i=t.encode(r);return e.set(n,i),i}else return o}var ae=112,pn=18;function Qt(r,e,t){let n=$(r),o=n+$(e),i=new Uint8Array(o+t.byteLength);return W(r,i,0),W(e,i,n),i.set(t,o),i}var xn=Symbol.for("@ipld/js-cid/CID");var He={...Pe,...ze,...ke,...Oe,...qe,...Ge,...Ve,...Ne,...je,...Fe},So={..._e,...Le};function Dt(r,e,t,n){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:t},decoder:{decode:n}}}var St=Dt("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),Je=Dt("ascii","a",r=>{let e="a";for(let t=0;t<r.length;t++)e+=String.fromCharCode(r[t]);return e},r=>{r=r.substring(1);let e=J(r.length);for(let t=0;t<r.length;t++)e[t]=r.charCodeAt(t);return e}),gn={utf8:St,"utf-8":St,hex:He.base16,latin1:Je,ascii:Je,binary:Je,...He},de=gn;function pe(r,e="utf8"){let t=de[e];if(t==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?K(globalThis.Buffer.from(r,"utf-8")):t.decoder.decode(`${t.prefix}${r}`)}var xe=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;var bn=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!bn)throw new Error("Non little-endian hardware is not supported");var qo={}.toString;function Nt(r=32){if(xe&&typeof xe.getRandomValues=="function")return xe.getRandomValues(new Uint8Array(r));throw new Error("crypto.getRandomValues must be defined")}function ge(r,e="utf8"){let t=de[e];if(t==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(r.buffer,r.byteOffset,r.byteLength).toString("utf8"):t.encoder.encode(r).substring(1)}function te(r){if(isNaN(r)||r<=0)throw new Y("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return Nt(r)}var Lt=Symbol.for("@achingbrain/uint8arraylist");function Ut(r,e){if(e==null||e<0)throw new RangeError("index is out of bounds");let t=0;for(let n of r){let o=t+n.byteLength;if(e<o)return{buf:n,index:e-t};t=o}throw new RangeError("index is out of bounds")}function be(r){return!!r?.[Lt]}var ce=class r{bufs;length;[Lt]=!0;constructor(...e){this.bufs=[],this.length=0,e.length>0&&this.appendAll(e)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...e){this.appendAll(e)}appendAll(e){let t=0;for(let n of e)if(n instanceof Uint8Array)t+=n.byteLength,this.bufs.push(n);else if(be(n))t+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=t}prepend(...e){this.prependAll(e)}prependAll(e){let t=0;for(let n of e.reverse())if(n instanceof Uint8Array)t+=n.byteLength,this.bufs.unshift(n);else if(be(n))t+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=t}get(e){let t=Ut(this.bufs,e);return t.buf[t.index]}set(e,t){let n=Ut(this.bufs,e);n.buf[n.index]=t}write(e,t=0){if(e instanceof Uint8Array)for(let n=0;n<e.length;n++)this.set(t+n,e[n]);else if(be(e))for(let n=0;n<e.length;n++)this.set(t+n,e.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(e){if(e=Math.trunc(e),!(Number.isNaN(e)||e<=0)){if(e===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(e>=this.bufs[0].byteLength)e-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(e),this.length-=e;break}}}slice(e,t){let{bufs:n,length:o}=this._subList(e,t);return Te(n,o)}subarray(e,t){let{bufs:n,length:o}=this._subList(e,t);return n.length===1?n[0]:Te(n,o)}sublist(e,t){let{bufs:n,length:o}=this._subList(e,t),i=new r;return i.length=o,i.bufs=[...n],i}_subList(e,t){if(e=e??0,t=t??this.length,e<0&&(e=this.length+e),t<0&&(t=this.length+t),e<0||t>this.length)throw new RangeError("index is out of bounds");if(e===t)return{bufs:[],length:0};if(e===0&&t===this.length)return{bufs:this.bufs,length:this.length};let n=[],o=0;for(let i=0;i<this.bufs.length;i++){let f=this.bufs[i],a=o,c=a+f.byteLength;if(o=c,e>=c)continue;let w=e>=a&&e<c,A=t>a&&t<=c;if(w&&A){if(e===a&&t===c){n.push(f);break}let h=e-a;n.push(f.subarray(h,h+(t-e)));break}if(w){if(e===0){n.push(f);continue}n.push(f.subarray(e-a));continue}if(A){if(t===c){n.push(f);break}n.push(f.subarray(0,t-a));break}n.push(f)}return{bufs:n,length:t-e}}indexOf(e,t=0){if(!be(e)&&!(e instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=e instanceof Uint8Array?e:e.subarray();if(t=Number(t??0),isNaN(t)&&(t=0),t<0&&(t=this.length+t),t<0&&(t=0),e.length===0)return t>this.length?this.length:t;let o=n.byteLength;if(o===0)throw new TypeError("search must be at least 1 byte long");let i=256,f=new Int32Array(i);for(let h=0;h<i;h++)f[h]=-1;for(let h=0;h<o;h++)f[n[h]]=h;let a=f,c=this.byteLength-n.byteLength,w=n.byteLength-1,A;for(let h=t;h<=c;h+=A){A=0;for(let I=w;I>=0;I--){let q=this.get(h+I);if(n[I]!==q){A=Math.max(1,I-a[q]);break}}if(A===0)return h}return-1}getInt8(e){let t=this.subarray(e,e+1);return new DataView(t.buffer,t.byteOffset,t.byteLength).getInt8(0)}setInt8(e,t){let n=J(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,t),this.write(n,e)}getInt16(e,t){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,t)}setInt16(e,t,n){let o=k(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt16(0,t,n),this.write(o,e)}getInt32(e,t){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,t)}setInt32(e,t,n){let o=k(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt32(0,t,n),this.write(o,e)}getBigInt64(e,t){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,t)}setBigInt64(e,t,n){let o=k(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigInt64(0,t,n),this.write(o,e)}getUint8(e){let t=this.subarray(e,e+1);return new DataView(t.buffer,t.byteOffset,t.byteLength).getUint8(0)}setUint8(e,t){let n=J(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,t),this.write(n,e)}getUint16(e,t){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,t)}setUint16(e,t,n){let o=k(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint16(0,t,n),this.write(o,e)}getUint32(e,t){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,t)}setUint32(e,t,n){let o=k(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint32(0,t,n),this.write(o,e)}getBigUint64(e,t){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,t)}setBigUint64(e,t,n){let o=k(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigUint64(0,t,n),this.write(o,e)}getFloat32(e,t){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,t)}setFloat32(e,t,n){let o=k(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat32(0,t,n),this.write(o,e)}getFloat64(e,t){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,t)}setFloat64(e,t,n){let o=k(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat64(0,t,n),this.write(o,e)}equals(e){if(e==null||!(e instanceof r)||e.bufs.length!==this.bufs.length)return!1;for(let t=0;t<this.bufs.length;t++)if(!It(this.bufs[t],e.bufs[t]))return!1;return!0}static fromUint8Arrays(e,t){let n=new r;return n.bufs=e,t==null&&(t=e.reduce((o,i)=>o+i.byteLength,0)),n.length=t,n}};function z(){let r={};return r.promise=new Promise((e,t)=>{r.resolve=e,r.reject=t}),r}var ye=class extends Error{type;code;constructor(e,t){super(e??"The operation was aborted"),this.type="aborted",this.name="AbortError",this.code=t??"ABORT_ERR"}};async function Rt(r,e,t){if(e==null)return r;if(e.aborted)return Promise.reject(new ye(t?.errorMessage,t?.errorCode));let n,o=new ye(t?.errorMessage,t?.errorCode);try{return await Promise.race([r,new Promise((i,f)=>{n=()=>{f(o)},e.addEventListener("abort",n)})])}finally{n!=null&&e.removeEventListener("abort",n)}}var Ye=class{readNext;haveNext;ended;nextResult;constructor(){this.ended=!1,this.readNext=z(),this.haveNext=z()}[Symbol.asyncIterator](){return this}async next(){if(this.nextResult==null&&await this.haveNext.promise,this.nextResult==null)throw new Error("HaveNext promise resolved but nextResult was undefined");let e=this.nextResult;return this.nextResult=void 0,this.readNext.resolve(),this.readNext=z(),e}async throw(e){return this.ended=!0,e!=null&&this.haveNext.reject(e),{done:!0,value:void 0}}async return(){let e={done:!0,value:void 0};return await this._push(void 0),e}async push(e,t){await this._push(e,t)}async end(e,t){e!=null?await this.throw(e):await this._push(void 0,t)}async _push(e,t){if(e!=null&&this.ended)throw new Error("Cannot push value onto an ended pushable");if(this.nextResult!=null&&(await this.readNext.promise,this.nextResult!=null))throw new Error("NeedNext promise resolved but nextResult was not consumed");e!=null?this.nextResult={done:!1,value:e}:(this.ended=!0,this.nextResult={done:!0,value:void 0}),this.haveNext.resolve(),this.haveNext=z(),await Rt(this.readNext.promise,t?.signal,t)}};function Mt(){return new Ye}var we=class extends Error{code;constructor(e,t){super(e),this.code=t}},Xe=class extends we{type;constructor(e){super(e,"ABORT_ERR"),this.type="aborted"}};function _t(r,e){let t=Mt();r.sink(t).catch(async f=>{await t.end(f)}),r.sink=async f=>{for await(let a of f)await t.push(a);await t.end()};let n=r.source;r.source[Symbol.iterator]!=null?n=r.source[Symbol.iterator]():r.source[Symbol.asyncIterator]!=null&&(n=r.source[Symbol.asyncIterator]());let o=new ce;return{read:async(f,a)=>{a?.signal?.throwIfAborted();let c,w=new Promise((A,h)=>{c=()=>{h(new Xe("Read aborted"))},a?.signal?.addEventListener("abort",c)});try{if(f==null){let{done:h,value:I}=await Promise.race([n.next(),w]);return h===!0?new ce:I}for(;o.byteLength<f;){let{value:h,done:I}=await Promise.race([n.next(),w]);if(I===!0)throw new we("unexpected end of input","ERR_UNEXPECTED_EOF");o.append(h)}let A=o.sublist(0,f);return o.consume(f),A}finally{c!=null&&a?.signal?.removeEventListener("abort",c)}},write:async(f,a)=>{a?.signal?.throwIfAborted(),f instanceof Uint8Array?await t.push(f,a):await t.push(f.subarray(),a)},unwrap:()=>{if(o.byteLength>0){let f=r.source;r.source=async function*(){e?.yieldBytes===!1?yield o:yield*o,yield*f}()}return r}}}function yn(r){let[e,t]=r[Symbol.asyncIterator]!=null?[r[Symbol.asyncIterator](),Symbol.asyncIterator]:[r[Symbol.iterator](),Symbol.iterator],n=[];return{peek:()=>e.next(),push:o=>{n.push(o)},next:()=>n.length>0?{done:!1,value:n.shift()}:e.next(),[t](){return this}}}var Tt=yn;function wn(r){return r[Symbol.asyncIterator]!=null}function mn(r,e){if(wn(r))return async function*(){for await(let a of r)yield e(a)}();let t=Tt(r),{value:n,done:o}=t.next();if(o===!0)return function*(){}();let i=e(n);if(typeof i.then=="function")return async function*(){yield await i;for await(let a of t)yield e(a)}();let f=e;return function*(){yield i;for(let a of t)yield f(a)}()}var Ot=mn;function We(){let r=z(),e=!1;return{sink:async t=>{if(e)throw new Error("already piped");e=!0,r.resolve(t)},source:async function*(){yield*await r.promise}()}}function qt(){let r=We(),e=We();return[{source:r.source,sink:e.sink},{source:e.source,sink:r.sink}]}var me=class{buffer;mask;top;btm;next;constructor(e){if(!(e>0)||e-1&e)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(e),this.mask=e-1,this.top=0,this.btm=0,this.next=null}push(e){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=e,this.top=this.top+1&this.mask,!0)}shift(){let e=this.buffer[this.btm];if(e!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,e}isEmpty(){return this.buffer[this.btm]===void 0}},re=class{size;hwm;head;tail;constructor(e={}){this.hwm=e.splitLimit??16,this.head=new me(this.hwm),this.tail=this.head,this.size=0}calculateSize(e){return e?.byteLength!=null?e.byteLength:1}push(e){if(e?.value!=null&&(this.size+=this.calculateSize(e.value)),!this.head.push(e)){let t=this.head;this.head=t.next=new me(2*this.head.buffer.length),this.head.push(e)}}shift(){let e=this.tail.shift();if(e===void 0&&this.tail.next!=null){let t=this.tail.next;this.tail.next=null,this.tail=t,e=this.tail.shift()}return e?.value!=null&&(this.size-=this.calculateSize(e.value)),e}isEmpty(){return this.head.isEmpty()}};var $e=class extends Error{type;code;constructor(e,t){super(e??"The operation was aborted"),this.type="aborted",this.code=t??"ABORT_ERR"}};function Ee(r={}){return En(t=>{let n=t.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},r)}function En(r,e){e=e??{};let t=e.onEnd,n=new re,o,i,f,a=z(),c=async()=>{try{return n.isEmpty()?f?{done:!0}:await new Promise((u,E)=>{i=L=>{i=null,n.push(L);try{u(r(n))}catch(N){E(N)}return o}}):r(n)}finally{n.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=z()})}},w=u=>i!=null?i(u):(n.push(u),o),A=u=>(n=new re,i!=null?i({error:u}):(n.push({error:u}),o)),h=u=>{if(f)return o;if(e?.objectMode!==!0&&u?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return w({done:!1,value:u})},I=u=>f?o:(f=!0,u!=null?A(u):w({done:!0})),q=()=>(n=new re,I(),{done:!0}),d=u=>(I(u),{done:!0});if(o={[Symbol.asyncIterator](){return this},next:c,return:q,throw:d,push:h,end:I,get readableLength(){return n.size},onEmpty:async u=>{let E=u?.signal;if(E?.throwIfAborted(),n.isEmpty())return;let L,N;E!=null&&(L=new Promise((l,p)=>{N=()=>{p(new $e)},E.addEventListener("abort",N)}));try{await Promise.race([a.promise,L])}finally{N!=null&&E!=null&&E?.removeEventListener("abort",N)}}},t==null)return o;let m=o;return o={[Symbol.asyncIterator](){return this},next(){return m.next()},throw(u){return m.throw(u),t!=null&&(t(u),t=void 0),{done:!0}},return(){return m.return(),t!=null&&(t(),t=void 0),{done:!0}},push:h,end(u){return m.end(u),t!=null&&(t(u),t=void 0),o},get readableLength(){return m.readableLength},onEmpty:u=>m.onEmpty(u)},o}function In(r){return r[Symbol.asyncIterator]!=null}function Bn(...r){let e=[];for(let t of r)In(t)||e.push(t);return e.length===r.length?function*(){for(let t of e)yield*t}():async function*(){let t=Ee({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(r.map(async n=>{for await(let o of n)t.push(o)})),t.end()}catch(n){t.end(n)}}),yield*t}()}var zt=Bn;function Ft(r,...e){if(r==null)throw new Error("Empty pipeline");if(Ze(r)){let n=r;r=()=>n.source}else if(Vt(r)||Gt(r)){let n=r;r=()=>n}let t=[r,...e];if(t.length>1&&Ze(t[t.length-1])&&(t[t.length-1]=t[t.length-1].sink),t.length>2)for(let n=1;n<t.length-1;n++)Ze(t[n])&&(t[n]=vn(t[n]));return Cn(...t)}var Cn=(...r)=>{let e;for(;r.length>0;)e=r.shift()(e);return e},Gt=r=>r?.[Symbol.asyncIterator]!=null,Vt=r=>r?.[Symbol.iterator]!=null,Ze=r=>r==null?!1:r.sink!=null&&r.source!=null,vn=r=>e=>{let t=r.sink(e);if(t?.then!=null){let n=Ee({objectMode:!0});t.then(()=>{n.end()},f=>{n.end(f)});let o,i=r.source;if(Gt(i))o=async function*(){yield*i,n.end()};else if(Vt(i))o=function*(){yield*i,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return zt(n,o())}return r.source};var ot=fr(Jt(),1);var tt="Your private shared key is invalid";var Yt="No connection for the handshake provided";var Xt="ERR_INVALID_PARAMETERS";function $t(r){let e=ge(te(nt),"base16"),t=pe(`/key/swarm/psk/1.0.0/
|
2
|
+
"use strict";var Libp2PPnet=(()=>{var Zt=Object.create;var he=Object.defineProperty;var er=Object.getOwnPropertyDescriptor;var tr=Object.getOwnPropertyNames;var rr=Object.getPrototypeOf,nr=Object.prototype.hasOwnProperty;var it=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),q=(r,e)=>{for(var t in e)he(r,t,{get:e[t],enumerable:!0})},at=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of tr(e))!nr.call(r,o)&&o!==t&&he(r,o,{get:()=>e[o],enumerable:!(n=er(e,o))||n.enumerable});return r};var or=(r,e,t)=>(t=r!=null?Zt(rr(r)):{},at(e||!r||!r.__esModule?he(t,"default",{value:r,enumerable:!0}):t,r)),sr=r=>at(he({},"__esModule",{value:!0}),r);var Gt=it((ys,jt)=>{var In=(r,e)=>function(){return e||(0,r[Object.keys(r)[0]])((e={exports:{}}).exports,e),e.exports},Bn=(()=>{for(var r=new Uint8Array(128),e=0;e<64;e++)r[e<26?e+65:e<52?e+71:e<62?e-4:e*4-205]=e;return t=>{for(var n=t.length,o=new Uint8Array((n-(t[n-1]=="=")-(t[n-2]=="="))*3/4|0),i=0,a=0;i<n;){var f=r[t.charCodeAt(i++)],c=r[t.charCodeAt(i++)],y=r[t.charCodeAt(i++)],p=r[t.charCodeAt(i++)];o[a++]=f<<2|c>>4,o[a++]=c<<4|y>>2,o[a++]=y<<6|p}return o}})(),vn=In({"wasm-binary:./xsalsa20.wat"(r,e){e.exports=Bn("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")}}),Cn=vn(),Qn=new WebAssembly.Module(Cn);jt.exports=r=>new WebAssembly.Instance(Qn,r).exports});var Jt=it((ws,Ht)=>{var ue=typeof WebAssembly<"u"&&Gt()(),Ie=new Uint8Array([101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107]),k=144,ne=k,Ee=[];Ht.exports=P;P.NONCEBYTES=24;P.KEYBYTES=32;P.core_hsalsa20=Vt;P.SIGMA=Ie;function P(r,e){if(!(this instanceof P))return new P(r,e);if(!r||r.length<24)throw new Error("nonce must be at least 24 bytes");if(!e||e.length<32)throw new Error("key must be at least 32 bytes");this._xor=ue?new Be(r,e):new et(r,e)}P.prototype.update=function(r,e){if(!r)throw new Error("input must be Uint8Array or Buffer");return e||(e=new Uint8Array(r.length)),r.length&&this._xor.update(r,e),e};P.prototype.final=P.prototype.finalize=function(){this._xor.finalize(),this._xor=null};function Be(r,e){Ee.length||(Ee.push(k),k+=64),this._pointer=Ee.pop(),this._nonce=this._pointer+8,this._key=this._nonce+24,this._overflow=0,this._memory=new Uint8Array(ue.memory.buffer),this._memory.fill(0,this._pointer,this._pointer+8),this._memory.set(r,this._nonce),this._memory.set(e,this._key)}Be.prototype.realloc=function(r){ue.memory.grow(Math.ceil(Math.abs(r-this._memory.length)/65536)),this._memory=new Uint8Array(ue.memory.buffer)};Be.prototype.update=function(r,e){var t=this._overflow+r.length,n=k+this._overflow;ne=k+t,ne>=this._memory.length&&this.realloc(ne),this._memory.set(r,n),ue.xsalsa20_xor(this._pointer,k,k,t,this._nonce,this._key),e.set(this._memory.subarray(n,k+t)),this._overflow=t&63};Be.prototype.finalize=function(){this._memory.fill(0,this._pointer,this._key+32),ne>k&&(this._memory.fill(0,k,ne),ne=0),Ee.push(this._pointer)};function et(r,e){this._s=new Uint8Array(32),this._z=new Uint8Array(16),this._overflow=0,Vt(this._s,r,e,Ie);for(var t=0;t<8;t++)this._z[t]=r[t+16]}et.prototype.update=function(r,e){for(var t=new Uint8Array(64),n=0,o=this._overflow,i=r.length+this._overflow,a=this._z,f=-this._overflow,c=-this._overflow;i>=64;){for(Kt(t,a,this._s,Ie);o<64;o++)e[c+o]=r[f+o]^t[o];for(n=1,o=8;o<16;o++)n+=a[o]&255|0,a[o]=n&255,n>>>=8;i-=64,c+=64,f+=64,o=0}if(i>0)for(Kt(t,a,this._s,Ie);o<i;o++)e[c+o]=r[f+o]^t[o];this._overflow=i&63};et.prototype.finalize=function(){this._s.fill(0),this._z.fill(0)};function Kt(r,e,t,n){for(var o=n[0]&255|(n[1]&255)<<8|(n[2]&255)<<16|(n[3]&255)<<24,i=t[0]&255|(t[1]&255)<<8|(t[2]&255)<<16|(t[3]&255)<<24,a=t[4]&255|(t[5]&255)<<8|(t[6]&255)<<16|(t[7]&255)<<24,f=t[8]&255|(t[9]&255)<<8|(t[10]&255)<<16|(t[11]&255)<<24,c=t[12]&255|(t[13]&255)<<8|(t[14]&255)<<16|(t[15]&255)<<24,y=n[4]&255|(n[5]&255)<<8|(n[6]&255)<<16|(n[7]&255)<<24,p=e[0]&255|(e[1]&255)<<8|(e[2]&255)<<16|(e[3]&255)<<24,h=e[4]&255|(e[5]&255)<<8|(e[6]&255)<<16|(e[7]&255)<<24,I=e[8]&255|(e[9]&255)<<8|(e[10]&255)<<16|(e[11]&255)<<24,z=e[12]&255|(e[13]&255)<<8|(e[14]&255)<<16|(e[15]&255)<<24,d=n[8]&255|(n[9]&255)<<8|(n[10]&255)<<16|(n[11]&255)<<24,w=t[16]&255|(t[17]&255)<<8|(t[18]&255)<<16|(t[19]&255)<<24,u=t[20]&255|(t[21]&255)<<8|(t[22]&255)<<16|(t[23]&255)<<24,E=t[24]&255|(t[25]&255)<<8|(t[26]&255)<<16|(t[27]&255)<<24,N=t[28]&255|(t[29]&255)<<8|(t[30]&255)<<16|(t[31]&255)<<24,U=n[12]&255|(n[13]&255)<<8|(n[14]&255)<<16|(n[15]&255)<<24,l=o,A=i,g=a,x=f,m=c,b=y,B=p,v=h,C=I,Q=z,S=d,M=w,_=u,T=E,R=N,D=U,s,oe=0;oe<20;oe+=2)s=l+_|0,m^=s<<7|s>>>25,s=m+l|0,C^=s<<9|s>>>23,s=C+m|0,_^=s<<13|s>>>19,s=_+C|0,l^=s<<18|s>>>14,s=b+A|0,Q^=s<<7|s>>>25,s=Q+b|0,T^=s<<9|s>>>23,s=T+Q|0,A^=s<<13|s>>>19,s=A+T|0,b^=s<<18|s>>>14,s=S+B|0,R^=s<<7|s>>>25,s=R+S|0,g^=s<<9|s>>>23,s=g+R|0,B^=s<<13|s>>>19,s=B+g|0,S^=s<<18|s>>>14,s=D+M|0,x^=s<<7|s>>>25,s=x+D|0,v^=s<<9|s>>>23,s=v+x|0,M^=s<<13|s>>>19,s=M+v|0,D^=s<<18|s>>>14,s=l+x|0,A^=s<<7|s>>>25,s=A+l|0,g^=s<<9|s>>>23,s=g+A|0,x^=s<<13|s>>>19,s=x+g|0,l^=s<<18|s>>>14,s=b+m|0,B^=s<<7|s>>>25,s=B+b|0,v^=s<<9|s>>>23,s=v+B|0,m^=s<<13|s>>>19,s=m+v|0,b^=s<<18|s>>>14,s=S+Q|0,M^=s<<7|s>>>25,s=M+S|0,C^=s<<9|s>>>23,s=C+M|0,Q^=s<<13|s>>>19,s=Q+C|0,S^=s<<18|s>>>14,s=D+R|0,_^=s<<7|s>>>25,s=_+D|0,T^=s<<9|s>>>23,s=T+_|0,R^=s<<13|s>>>19,s=R+T|0,D^=s<<18|s>>>14;l=l+o|0,A=A+i|0,g=g+a|0,x=x+f|0,m=m+c|0,b=b+y|0,B=B+p|0,v=v+h|0,C=C+I|0,Q=Q+z|0,S=S+d|0,M=M+w|0,_=_+u|0,T=T+E|0,R=R+N|0,D=D+U|0,r[0]=l>>>0&255,r[1]=l>>>8&255,r[2]=l>>>16&255,r[3]=l>>>24&255,r[4]=A>>>0&255,r[5]=A>>>8&255,r[6]=A>>>16&255,r[7]=A>>>24&255,r[8]=g>>>0&255,r[9]=g>>>8&255,r[10]=g>>>16&255,r[11]=g>>>24&255,r[12]=x>>>0&255,r[13]=x>>>8&255,r[14]=x>>>16&255,r[15]=x>>>24&255,r[16]=m>>>0&255,r[17]=m>>>8&255,r[18]=m>>>16&255,r[19]=m>>>24&255,r[20]=b>>>0&255,r[21]=b>>>8&255,r[22]=b>>>16&255,r[23]=b>>>24&255,r[24]=B>>>0&255,r[25]=B>>>8&255,r[26]=B>>>16&255,r[27]=B>>>24&255,r[28]=v>>>0&255,r[29]=v>>>8&255,r[30]=v>>>16&255,r[31]=v>>>24&255,r[32]=C>>>0&255,r[33]=C>>>8&255,r[34]=C>>>16&255,r[35]=C>>>24&255,r[36]=Q>>>0&255,r[37]=Q>>>8&255,r[38]=Q>>>16&255,r[39]=Q>>>24&255,r[40]=S>>>0&255,r[41]=S>>>8&255,r[42]=S>>>16&255,r[43]=S>>>24&255,r[44]=M>>>0&255,r[45]=M>>>8&255,r[46]=M>>>16&255,r[47]=M>>>24&255,r[48]=_>>>0&255,r[49]=_>>>8&255,r[50]=_>>>16&255,r[51]=_>>>24&255,r[52]=T>>>0&255,r[53]=T>>>8&255,r[54]=T>>>16&255,r[55]=T>>>24&255,r[56]=R>>>0&255,r[57]=R>>>8&255,r[58]=R>>>16&255,r[59]=R>>>24&255,r[60]=D>>>0&255,r[61]=D>>>8&255,r[62]=D>>>16&255,r[63]=D>>>24&255}function Vt(r,e,t,n){for(var o=n[0]&255|(n[1]&255)<<8|(n[2]&255)<<16|(n[3]&255)<<24,i=t[0]&255|(t[1]&255)<<8|(t[2]&255)<<16|(t[3]&255)<<24,a=t[4]&255|(t[5]&255)<<8|(t[6]&255)<<16|(t[7]&255)<<24,f=t[8]&255|(t[9]&255)<<8|(t[10]&255)<<16|(t[11]&255)<<24,c=t[12]&255|(t[13]&255)<<8|(t[14]&255)<<16|(t[15]&255)<<24,y=n[4]&255|(n[5]&255)<<8|(n[6]&255)<<16|(n[7]&255)<<24,p=e[0]&255|(e[1]&255)<<8|(e[2]&255)<<16|(e[3]&255)<<24,h=e[4]&255|(e[5]&255)<<8|(e[6]&255)<<16|(e[7]&255)<<24,I=e[8]&255|(e[9]&255)<<8|(e[10]&255)<<16|(e[11]&255)<<24,z=e[12]&255|(e[13]&255)<<8|(e[14]&255)<<16|(e[15]&255)<<24,d=n[8]&255|(n[9]&255)<<8|(n[10]&255)<<16|(n[11]&255)<<24,w=t[16]&255|(t[17]&255)<<8|(t[18]&255)<<16|(t[19]&255)<<24,u=t[20]&255|(t[21]&255)<<8|(t[22]&255)<<16|(t[23]&255)<<24,E=t[24]&255|(t[25]&255)<<8|(t[26]&255)<<16|(t[27]&255)<<24,N=t[28]&255|(t[29]&255)<<8|(t[30]&255)<<16|(t[31]&255)<<24,U=n[12]&255|(n[13]&255)<<8|(n[14]&255)<<16|(n[15]&255)<<24,l=o,A=i,g=a,x=f,m=c,b=y,B=p,v=h,C=I,Q=z,S=d,M=w,_=u,T=E,R=N,D=U,s,oe=0;oe<20;oe+=2)s=l+_|0,m^=s<<7|s>>>25,s=m+l|0,C^=s<<9|s>>>23,s=C+m|0,_^=s<<13|s>>>19,s=_+C|0,l^=s<<18|s>>>14,s=b+A|0,Q^=s<<7|s>>>25,s=Q+b|0,T^=s<<9|s>>>23,s=T+Q|0,A^=s<<13|s>>>19,s=A+T|0,b^=s<<18|s>>>14,s=S+B|0,R^=s<<7|s>>>25,s=R+S|0,g^=s<<9|s>>>23,s=g+R|0,B^=s<<13|s>>>19,s=B+g|0,S^=s<<18|s>>>14,s=D+M|0,x^=s<<7|s>>>25,s=x+D|0,v^=s<<9|s>>>23,s=v+x|0,M^=s<<13|s>>>19,s=M+v|0,D^=s<<18|s>>>14,s=l+x|0,A^=s<<7|s>>>25,s=A+l|0,g^=s<<9|s>>>23,s=g+A|0,x^=s<<13|s>>>19,s=x+g|0,l^=s<<18|s>>>14,s=b+m|0,B^=s<<7|s>>>25,s=B+b|0,v^=s<<9|s>>>23,s=v+B|0,m^=s<<13|s>>>19,s=m+v|0,b^=s<<18|s>>>14,s=S+Q|0,M^=s<<7|s>>>25,s=M+S|0,C^=s<<9|s>>>23,s=C+M|0,Q^=s<<13|s>>>19,s=Q+C|0,S^=s<<18|s>>>14,s=D+R|0,_^=s<<7|s>>>25,s=_+D|0,T^=s<<9|s>>>23,s=T+_|0,R^=s<<13|s>>>19,s=R+T|0,D^=s<<18|s>>>14;r[0]=l>>>0&255,r[1]=l>>>8&255,r[2]=l>>>16&255,r[3]=l>>>24&255,r[4]=b>>>0&255,r[5]=b>>>8&255,r[6]=b>>>16&255,r[7]=b>>>24&255,r[8]=S>>>0&255,r[9]=S>>>8&255,r[10]=S>>>16&255,r[11]=S>>>24&255,r[12]=D>>>0&255,r[13]=D>>>8&255,r[14]=D>>>16&255,r[15]=D>>>24&255,r[16]=B>>>0&255,r[17]=B>>>8&255,r[18]=B>>>16&255,r[19]=B>>>24&255,r[20]=v>>>0&255,r[21]=v>>>8&255,r[22]=v>>>16&255,r[23]=v>>>24&255,r[24]=C>>>0&255,r[25]=C>>>8&255,r[26]=C>>>16&255,r[27]=C>>>24&255,r[28]=Q>>>0&255,r[29]=Q>>>8&255,r[30]=Q>>>16&255,r[31]=Q>>>24&255}});var Un={};q(Un,{generateKey:()=>Yt,preSharedKey:()=>Dn});var Y=class extends Error{static name="InvalidParametersError";constructor(e="Invalid parameters"){super(e),this.name="InvalidParametersError"}};var De={};q(De,{base58btc:()=>F,base58flickr:()=>hr});var Mn=new Uint8Array(0);function ft(r,e){if(r===e)return!0;if(r.byteLength!==e.byteLength)return!1;for(let t=0;t<r.byteLength;t++)if(r[t]!==e[t])return!1;return!0}function j(r){if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")}function ct(r){return new TextEncoder().encode(r)}function ut(r){return new TextDecoder().decode(r)}function ir(r,e){if(r.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),n=0;n<t.length;n++)t[n]=255;for(var o=0;o<r.length;o++){var i=r.charAt(o),a=i.charCodeAt(0);if(t[a]!==255)throw new TypeError(i+" is ambiguous");t[a]=o}var f=r.length,c=r.charAt(0),y=Math.log(f)/Math.log(256),p=Math.log(256)/Math.log(f);function h(d){if(d instanceof Uint8Array||(ArrayBuffer.isView(d)?d=new Uint8Array(d.buffer,d.byteOffset,d.byteLength):Array.isArray(d)&&(d=Uint8Array.from(d))),!(d instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(d.length===0)return"";for(var w=0,u=0,E=0,N=d.length;E!==N&&d[E]===0;)E++,w++;for(var U=(N-E)*p+1>>>0,l=new Uint8Array(U);E!==N;){for(var A=d[E],g=0,x=U-1;(A!==0||g<u)&&x!==-1;x--,g++)A+=256*l[x]>>>0,l[x]=A%f>>>0,A=A/f>>>0;if(A!==0)throw new Error("Non-zero carry");u=g,E++}for(var m=U-u;m!==U&&l[m]===0;)m++;for(var b=c.repeat(w);m<U;++m)b+=r.charAt(l[m]);return b}function I(d){if(typeof d!="string")throw new TypeError("Expected String");if(d.length===0)return new Uint8Array;var w=0;if(d[w]!==" "){for(var u=0,E=0;d[w]===c;)u++,w++;for(var N=(d.length-w)*y+1>>>0,U=new Uint8Array(N);d[w];){var l=t[d.charCodeAt(w)];if(l===255)return;for(var A=0,g=N-1;(l!==0||A<E)&&g!==-1;g--,A++)l+=f*U[g]>>>0,U[g]=l%256>>>0,l=l/256>>>0;if(l!==0)throw new Error("Non-zero carry");E=A,w++}if(d[w]!==" "){for(var x=N-E;x!==N&&U[x]===0;)x++;for(var m=new Uint8Array(u+(N-x)),b=u;x!==N;)m[b++]=U[x++];return m}}}function z(d){var w=I(d);if(w)return w;throw new Error(`Non-${e} character`)}return{encode:h,decodeUnsafe:I,decode:z}}var ar=ir,fr=ar,lt=fr;var ve=class{name;prefix;baseEncode;constructor(e,t,n){this.name=e,this.prefix=t,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},Ce=class{name;prefix;baseDecode;prefixCodePoint;constructor(e,t,n){if(this.name=e,this.prefix=t,t.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return pt(this,e)}},Qe=class{decoders;constructor(e){this.decoders=e}or(e){return pt(this,e)}decode(e){let t=e[0],n=this.decoders[t];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 pt(r,e){return new Qe({...r.decoders??{[r.prefix]:r},...e.decoders??{[e.prefix]:e}})}var Se=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(e,t,n,o){this.name=e,this.prefix=t,this.baseEncode=n,this.baseDecode=o,this.encoder=new ve(e,t,n),this.decoder=new Ce(e,t,o)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};function X({name:r,prefix:e,encode:t,decode:n}){return new Se(r,e,t,n)}function K({name:r,prefix:e,alphabet:t}){let{encode:n,decode:o}=lt(t,r);return X({prefix:e,name:r,encode:n,decode:i=>j(o(i))})}function cr(r,e,t,n){let o={};for(let p=0;p<e.length;++p)o[e[p]]=p;let i=r.length;for(;r[i-1]==="=";)--i;let a=new Uint8Array(i*t/8|0),f=0,c=0,y=0;for(let p=0;p<i;++p){let h=o[r[p]];if(h===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<t|h,f+=t,f>=8&&(f-=8,a[y++]=255&c>>f)}if(f>=t||255&c<<8-f)throw new SyntaxError("Unexpected end of data");return a}function ur(r,e,t){let n=e[e.length-1]==="=",o=(1<<t)-1,i="",a=0,f=0;for(let c=0;c<r.length;++c)for(f=f<<8|r[c],a+=8;a>t;)a-=t,i+=e[o&f>>a];if(a!==0&&(i+=e[o&f<<t-a]),n)for(;i.length*t&7;)i+="=";return i}function L({name:r,prefix:e,bitsPerChar:t,alphabet:n}){return X({prefix:e,name:r,encode(o){return ur(o,n,t)},decode(o){return cr(o,n,t,r)}})}var F=K({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),hr=K({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Ue={};q(Ue,{base32:()=>W,base32hex:()=>Ar,base32hexpad:()=>mr,base32hexpadupper:()=>gr,base32hexupper:()=>xr,base32pad:()=>pr,base32padupper:()=>dr,base32upper:()=>lr,base32z:()=>br});var W=L({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),lr=L({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),pr=L({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),dr=L({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Ar=L({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),xr=L({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),mr=L({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),gr=L({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),br=L({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var yr=xt,dt=128,wr=127,Er=~wr,Ir=Math.pow(2,31);function xt(r,e,t){e=e||[],t=t||0;for(var n=t;r>=Ir;)e[t++]=r&255|dt,r/=128;for(;r&Er;)e[t++]=r&255|dt,r>>>=7;return e[t]=r|0,xt.bytes=t-n+1,e}var Br=Le,vr=128,At=127;function Le(r,n){var t=0,n=n||0,o=0,i=n,a,f=r.length;do{if(i>=f)throw Le.bytes=0,new RangeError("Could not decode varint");a=r[i++],t+=o<28?(a&At)<<o:(a&At)*Math.pow(2,o),o+=7}while(a>=vr);return Le.bytes=i-n,t}var Cr=Math.pow(2,7),Qr=Math.pow(2,14),Sr=Math.pow(2,21),Dr=Math.pow(2,28),Ur=Math.pow(2,35),Lr=Math.pow(2,42),Nr=Math.pow(2,49),Mr=Math.pow(2,56),_r=Math.pow(2,63),Tr=function(r){return r<Cr?1:r<Qr?2:r<Sr?3:r<Dr?4:r<Ur?5:r<Lr?6:r<Nr?7:r<Mr?8:r<_r?9:10},Rr={encode:yr,decode:Br,encodingLength:Tr},qr=Rr,se=qr;function ie(r,e=0){return[se.decode(r,e),se.decode.bytes]}function $(r,e,t=0){return se.encode(r,e,t),e}function Z(r){return se.encodingLength(r)}function V(r,e){let t=e.byteLength,n=Z(r),o=n+Z(t),i=new Uint8Array(o+t);return $(r,i,0),$(t,i,n),i.set(e,o),new ee(r,t,e,i)}function mt(r){let e=j(r),[t,n]=ie(e),[o,i]=ie(e.subarray(n)),a=e.subarray(n+i);if(a.byteLength!==o)throw new Error("Incorrect length");return new ee(t,o,a,e)}function gt(r,e){if(r===e)return!0;{let t=e;return r.code===t.code&&r.size===t.size&&t.bytes instanceof Uint8Array&&ft(r.bytes,t.bytes)}}var ee=class{code;size;digest;bytes;constructor(e,t,n,o){this.code=e,this.size=t,this.digest=n,this.bytes=o}};function bt(r,e){let{bytes:t,version:n}=r;switch(n){case 0:return Or(t,Ne(r),e??F.encoder);default:return Fr(t,Ne(r),e??W.encoder)}}var yt=new WeakMap;function Ne(r){let e=yt.get(r);if(e==null){let t=new Map;return yt.set(r,t),t}return e}var pe=class r{code;version;multihash;bytes;"/";constructor(e,t,n,o){this.code=t,this.version=e,this.multihash=n,this.bytes=o,this["/"]=o}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:t}=this;if(e!==fe)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(t.code!==kr)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return r.createV0(t)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:t}=this.multihash,n=V(e,t);return r.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 r.equals(this,e)}static equals(e,t){let n=t;return n!=null&&e.code===n.code&&e.version===n.version&>(e.multihash,n.multihash)}toString(e){return bt(this,e)}toJSON(){return{"/":bt(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 t=e;if(t instanceof r)return t;if(t["/"]!=null&&t["/"]===t.bytes||t.asCID===t){let{version:n,code:o,multihash:i,bytes:a}=t;return new r(n,o,i,a??wt(n,o,i.bytes))}else if(t[Pr]===!0){let{version:n,multihash:o,code:i}=t,a=mt(o);return r.create(n,i,a)}else return null}static create(e,t,n){if(typeof t!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(t!==fe)throw new Error(`Version 0 CID must use dag-pb (code: ${fe}) block encoding`);return new r(e,t,n,n.bytes)}case 1:{let o=wt(e,t,n.bytes);return new r(e,t,n,o)}default:throw new Error("Invalid version")}}static createV0(e){return r.create(0,fe,e)}static createV1(e,t){return r.create(1,e,t)}static decode(e){let[t,n]=r.decodeFirst(e);if(n.length!==0)throw new Error("Incorrect length");return t}static decodeFirst(e){let t=r.inspectBytes(e),n=t.size-t.multihashSize,o=j(e.subarray(n,n+t.multihashSize));if(o.byteLength!==t.multihashSize)throw new Error("Incorrect length");let i=o.subarray(t.multihashSize-t.digestSize),a=new ee(t.multihashCode,t.digestSize,i,o);return[t.version===0?r.createV0(a):r.createV1(t.codec,a),e.subarray(t.size)]}static inspectBytes(e){let t=0,n=()=>{let[h,I]=ie(e.subarray(t));return t+=I,h},o=n(),i=fe;if(o===18?(o=0,t=0):i=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let a=t,f=n(),c=n(),y=t+c,p=y-a;return{version:o,codec:i,multihashCode:f,digestSize:c,multihashSize:p,size:y}}static parse(e,t){let[n,o]=zr(e,t),i=r.decode(o);if(i.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Ne(i).set(n,e),i}};function zr(r,e){switch(r[0]){case"Q":{let t=e??F;return[F.prefix,t.decode(`${F.prefix}${r}`)]}case F.prefix:{let t=e??F;return[F.prefix,t.decode(r)]}case W.prefix:{let t=e??W;return[W.prefix,t.decode(r)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[r[0],e.decode(r)]}}}function Or(r,e,t){let{prefix:n}=t;if(n!==F.prefix)throw Error(`Cannot string encode V0 in ${t.name} encoding`);let o=e.get(n);if(o==null){let i=t.encode(r).slice(1);return e.set(n,i),i}else return o}function Fr(r,e,t){let{prefix:n}=t,o=e.get(n);if(o==null){let i=t.encode(r);return e.set(n,i),i}else return o}var fe=112,kr=18;function wt(r,e,t){let n=Z(r),o=n+Z(e),i=new Uint8Array(o+t.byteLength);return $(r,i,0),$(e,i,n),i.set(t,o),i}var Pr=Symbol.for("@ipld/js-cid/CID");var Me={};q(Me,{identity:()=>Kr});var Et=0,jr="identity",It=j;function Gr(r){return V(Et,It(r))}var Kr={code:Et,name:jr,encode:It,digest:Gr};function Bt(r,e){if(r===e)return!0;if(r.byteLength!==e.byteLength)return!1;for(let t=0;t<r.byteLength;t++)if(r[t]!==e[t])return!1;return!0}var H=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;var $n=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;var Zn={}.toString;function vt(r=32){if(H&&typeof H.getRandomValues=="function")return H.getRandomValues(new Uint8Array(r));if(H&&typeof H.randomBytes=="function")return H.randomBytes(r);throw new Error("crypto.getRandomValues must be defined")}function G(r=0){return new Uint8Array(r)}function J(r=0){return new Uint8Array(r)}var _e={};q(_e,{base10:()=>Vr});var Vr=K({prefix:"9",name:"base10",alphabet:"0123456789"});var Te={};q(Te,{base16:()=>Hr,base16upper:()=>Jr});var Hr=L({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Jr=L({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Re={};q(Re,{base2:()=>Yr});var Yr=L({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var qe={};q(qe,{base256emoji:()=>en});var Ct=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}"),Xr=Ct.reduce((r,e,t)=>(r[t]=e,r),[]),Wr=Ct.reduce((r,e,t)=>(r[e.codePointAt(0)]=t,r),[]);function $r(r){return r.reduce((e,t)=>(e+=Xr[t],e),"")}function Zr(r){let e=[];for(let t of r){let n=Wr[t.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${t}`);e.push(n)}return new Uint8Array(e)}var en=X({prefix:"\u{1F680}",name:"base256emoji",encode:$r,decode:Zr});var ze={};q(ze,{base36:()=>tn,base36upper:()=>rn});var tn=K({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),rn=K({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Oe={};q(Oe,{base64:()=>nn,base64pad:()=>on,base64url:()=>sn,base64urlpad:()=>an});var nn=L({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),on=L({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),sn=L({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),an=L({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Fe={};q(Fe,{base8:()=>fn});var fn=L({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var ke={};q(ke,{identity:()=>cn});var cn=X({prefix:"\0",name:"identity",encode:r=>ut(r),decode:r=>ct(r)});var ho=new TextEncoder,lo=new TextDecoder;var Ge={};q(Ge,{sha256:()=>ln,sha512:()=>pn});function je({name:r,code:e,encode:t}){return new Pe(r,e,t)}var Pe=class{name;code;encode;constructor(e,t,n){this.name=e,this.code=t,this.encode=n}digest(e){if(e instanceof Uint8Array){let t=this.encode(e);return t instanceof Uint8Array?V(this.code,t):t.then(n=>V(this.code,n))}else throw Error("Unknown type, must be binary type")}};function St(r){return async e=>new Uint8Array(await crypto.subtle.digest(r,e))}var ln=je({name:"sha2-256",code:18,encode:St("SHA-256")}),pn=je({name:"sha2-512",code:19,encode:St("SHA-512")});var Ke={...ke,...Re,...Fe,..._e,...Te,...Ue,...ze,...De,...Oe,...qe},vo={...Ge,...Me};function Ut(r,e,t,n){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:t},decoder:{decode:n}}}var Dt=Ut("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),Ve=Ut("ascii","a",r=>{let e="a";for(let t=0;t<r.length;t++)e+=String.fromCharCode(r[t]);return e},r=>{r=r.substring(1);let e=J(r.length);for(let t=0;t<r.length;t++)e[t]=r.charCodeAt(t);return e}),dn={utf8:Dt,"utf-8":Dt,hex:Ke.base16,latin1:Ve,ascii:Ve,binary:Ve,...Ke},de=dn;function Ae(r,e="utf8"){let t=de[e];if(t==null)throw new Error(`Unsupported encoding "${e}"`);return t.decoder.decode(`${t.prefix}${r}`)}function xe(r,e="utf8"){let t=de[e];if(t==null)throw new Error(`Unsupported encoding "${e}"`);return t.encoder.encode(r).substring(1)}function te(r){if(isNaN(r)||r<=0)throw new Y("random bytes length must be a Number bigger than 0");return vt(r)}function He(r,e){e==null&&(e=r.reduce((o,i)=>o+i.length,0));let t=J(e),n=0;for(let o of r)t.set(o,n),n+=o.length;return t}function O(){let r={};return r.promise=new Promise((e,t)=>{r.resolve=e,r.reject=t}),r}var me=class extends Error{type;code;constructor(e,t,n){super(e??"The operation was aborted"),this.type="aborted",this.name=n??"AbortError",this.code=t??"ABORT_ERR"}};async function Lt(r,e,t){if(e==null)return r;if(e.aborted)return Promise.reject(new me(t?.errorMessage,t?.errorCode,t?.errorName));let n,o=new me(t?.errorMessage,t?.errorCode,t?.errorName);try{return await Promise.race([r,new Promise((i,a)=>{n=()=>{a(o)},e.addEventListener("abort",n)})])}finally{n!=null&&e.removeEventListener("abort",n)}}var Je=class{readNext;haveNext;ended;nextResult;constructor(){this.ended=!1,this.readNext=O(),this.haveNext=O()}[Symbol.asyncIterator](){return this}async next(){if(this.nextResult==null&&await this.haveNext.promise,this.nextResult==null)throw new Error("HaveNext promise resolved but nextResult was undefined");let e=this.nextResult;return this.nextResult=void 0,this.readNext.resolve(),this.readNext=O(),e}async throw(e){return this.ended=!0,e!=null&&(this.haveNext.promise.catch(()=>{}),this.haveNext.reject(e)),{done:!0,value:void 0}}async return(){let e={done:!0,value:void 0};return await this._push(void 0),e}async push(e,t){await this._push(e,t)}async end(e,t){e!=null?await this.throw(e):await this._push(void 0,t)}async _push(e,t){if(e!=null&&this.ended)throw new Error("Cannot push value onto an ended pushable");for(;this.nextResult!=null;)await this.readNext.promise;e!=null?this.nextResult={done:!1,value:e}:(this.ended=!0,this.nextResult={done:!0,value:void 0}),this.haveNext.resolve(),this.haveNext=O(),await Lt(this.readNext.promise,t?.signal,t)}};function Nt(){return new Je}var _t=Symbol.for("@achingbrain/uint8arraylist");function Mt(r,e){if(e==null||e<0)throw new RangeError("index is out of bounds");let t=0;for(let n of r){let o=t+n.byteLength;if(e<o)return{buf:n,index:e-t};t=o}throw new RangeError("index is out of bounds")}function ge(r){return!!r?.[_t]}var ce=class r{bufs;length;[_t]=!0;constructor(...e){this.bufs=[],this.length=0,e.length>0&&this.appendAll(e)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...e){this.appendAll(e)}appendAll(e){let t=0;for(let n of e)if(n instanceof Uint8Array)t+=n.byteLength,this.bufs.push(n);else if(ge(n))t+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=t}prepend(...e){this.prependAll(e)}prependAll(e){let t=0;for(let n of e.reverse())if(n instanceof Uint8Array)t+=n.byteLength,this.bufs.unshift(n);else if(ge(n))t+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=t}get(e){let t=Mt(this.bufs,e);return t.buf[t.index]}set(e,t){let n=Mt(this.bufs,e);n.buf[n.index]=t}write(e,t=0){if(e instanceof Uint8Array)for(let n=0;n<e.length;n++)this.set(t+n,e[n]);else if(ge(e))for(let n=0;n<e.length;n++)this.set(t+n,e.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(e){if(e=Math.trunc(e),!(Number.isNaN(e)||e<=0)){if(e===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(e>=this.bufs[0].byteLength)e-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(e),this.length-=e;break}}}slice(e,t){let{bufs:n,length:o}=this._subList(e,t);return He(n,o)}subarray(e,t){let{bufs:n,length:o}=this._subList(e,t);return n.length===1?n[0]:He(n,o)}sublist(e,t){let{bufs:n,length:o}=this._subList(e,t),i=new r;return i.length=o,i.bufs=[...n],i}_subList(e,t){if(e=e??0,t=t??this.length,e<0&&(e=this.length+e),t<0&&(t=this.length+t),e<0||t>this.length)throw new RangeError("index is out of bounds");if(e===t)return{bufs:[],length:0};if(e===0&&t===this.length)return{bufs:this.bufs,length:this.length};let n=[],o=0;for(let i=0;i<this.bufs.length;i++){let a=this.bufs[i],f=o,c=f+a.byteLength;if(o=c,e>=c)continue;let y=e>=f&&e<c,p=t>f&&t<=c;if(y&&p){if(e===f&&t===c){n.push(a);break}let h=e-f;n.push(a.subarray(h,h+(t-e)));break}if(y){if(e===0){n.push(a);continue}n.push(a.subarray(e-f));continue}if(p){if(t===c){n.push(a);break}n.push(a.subarray(0,t-f));break}n.push(a)}return{bufs:n,length:t-e}}indexOf(e,t=0){if(!ge(e)&&!(e instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=e instanceof Uint8Array?e:e.subarray();if(t=Number(t??0),isNaN(t)&&(t=0),t<0&&(t=this.length+t),t<0&&(t=0),e.length===0)return t>this.length?this.length:t;let o=n.byteLength;if(o===0)throw new TypeError("search must be at least 1 byte long");let i=256,a=new Int32Array(i);for(let h=0;h<i;h++)a[h]=-1;for(let h=0;h<o;h++)a[n[h]]=h;let f=a,c=this.byteLength-n.byteLength,y=n.byteLength-1,p;for(let h=t;h<=c;h+=p){p=0;for(let I=y;I>=0;I--){let z=this.get(h+I);if(n[I]!==z){p=Math.max(1,I-f[z]);break}}if(p===0)return h}return-1}getInt8(e){let t=this.subarray(e,e+1);return new DataView(t.buffer,t.byteOffset,t.byteLength).getInt8(0)}setInt8(e,t){let n=J(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,t),this.write(n,e)}getInt16(e,t){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,t)}setInt16(e,t,n){let o=G(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt16(0,t,n),this.write(o,e)}getInt32(e,t){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,t)}setInt32(e,t,n){let o=G(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt32(0,t,n),this.write(o,e)}getBigInt64(e,t){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,t)}setBigInt64(e,t,n){let o=G(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigInt64(0,t,n),this.write(o,e)}getUint8(e){let t=this.subarray(e,e+1);return new DataView(t.buffer,t.byteOffset,t.byteLength).getUint8(0)}setUint8(e,t){let n=J(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,t),this.write(n,e)}getUint16(e,t){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,t)}setUint16(e,t,n){let o=G(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint16(0,t,n),this.write(o,e)}getUint32(e,t){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,t)}setUint32(e,t,n){let o=G(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint32(0,t,n),this.write(o,e)}getBigUint64(e,t){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,t)}setBigUint64(e,t,n){let o=G(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigUint64(0,t,n),this.write(o,e)}getFloat32(e,t){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,t)}setFloat32(e,t,n){let o=G(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat32(0,t,n),this.write(o,e)}getFloat64(e,t){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,t)}setFloat64(e,t,n){let o=G(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat64(0,t,n),this.write(o,e)}equals(e){if(e==null||!(e instanceof r)||e.bufs.length!==this.bufs.length)return!1;for(let t=0;t<this.bufs.length;t++)if(!Bt(this.bufs[t],e.bufs[t]))return!1;return!0}static fromUint8Arrays(e,t){let n=new r;return n.bufs=e,t==null&&(t=e.reduce((o,i)=>o+i.byteLength,0)),n.length=t,n}};var be=class extends Error{name="UnexpectedEOFError";code="ERR_UNEXPECTED_EOF"};var Ye=class extends Error{code;constructor(e,t){super(e),this.code=t}},Xe=class extends Ye{type;constructor(e){super(e,"ABORT_ERR"),this.type="aborted",this.name="AbortError"}};function Tt(r,e){let t=Nt();r.sink(t).catch(async a=>{await t.end(a)}),r.sink=async a=>{for await(let f of a)await t.push(f);await t.end()};let n=r.source;r.source[Symbol.iterator]!=null?n=r.source[Symbol.iterator]():r.source[Symbol.asyncIterator]!=null&&(n=r.source[Symbol.asyncIterator]());let o=new ce;return{read:async(a,f)=>{f?.signal?.throwIfAborted();let c,y=new Promise((p,h)=>{c=()=>{h(new Xe("Read aborted"))},f?.signal?.addEventListener("abort",c)});try{if(a==null){let{done:h,value:I}=await Promise.race([n.next(),y]);return h===!0?new ce:I}for(;o.byteLength<a;){let{value:h,done:I}=await Promise.race([n.next(),y]);if(I===!0)throw new be("unexpected end of input");o.append(h)}let p=o.sublist(0,a);return o.consume(a),p}finally{c!=null&&f?.signal?.removeEventListener("abort",c)}},write:async(a,f)=>{f?.signal?.throwIfAborted(),a instanceof Uint8Array?await t.push(a,f):await t.push(a.subarray(),f)},unwrap:()=>{if(o.byteLength>0){let a=r.source;r.source=async function*(){e?.yieldBytes===!1?yield o:yield*o,yield*a}()}return r}}}function An(r){let[e,t]=r[Symbol.asyncIterator]!=null?[r[Symbol.asyncIterator](),Symbol.asyncIterator]:[r[Symbol.iterator](),Symbol.iterator],n=[];return{peek:()=>e.next(),push:o=>{n.push(o)},next:()=>n.length>0?{done:!1,value:n.shift()}:e.next(),[t](){return this}}}var Rt=An;function xn(r){return r[Symbol.asyncIterator]!=null}function mn(r,e){let t=0;if(xn(r))return async function*(){for await(let c of r)yield e(c,t++)}();let n=Rt(r),{value:o,done:i}=n.next();if(i===!0)return function*(){}();let a=e(o,t++);if(typeof a.then=="function")return async function*(){yield await a;for await(let c of n)yield e(c,t++)}();let f=e;return function*(){yield a;for(let c of n)yield f(c,t++)}()}var qt=mn;function We(){let r=O(),e=!1;return{sink:async t=>{if(e)throw new Error("already piped");e=!0,r.resolve(t)},source:async function*(){yield*await r.promise}()}}function zt(){let r=We(),e=We();return[{source:r.source,sink:e.sink},{source:e.source,sink:r.sink}]}var ye=class{buffer;mask;top;btm;next;constructor(e){if(!(e>0)||e-1&e)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(e),this.mask=e-1,this.top=0,this.btm=0,this.next=null}push(e){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=e,this.top=this.top+1&this.mask,!0)}shift(){let e=this.buffer[this.btm];if(e!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,e}isEmpty(){return this.buffer[this.btm]===void 0}},re=class{size;hwm;head;tail;constructor(e={}){this.hwm=e.splitLimit??16,this.head=new ye(this.hwm),this.tail=this.head,this.size=0}calculateSize(e){return e?.byteLength!=null?e.byteLength:1}push(e){if(e?.value!=null&&(this.size+=this.calculateSize(e.value)),!this.head.push(e)){let t=this.head;this.head=t.next=new ye(2*this.head.buffer.length),this.head.push(e)}}shift(){let e=this.tail.shift();if(e===void 0&&this.tail.next!=null){let t=this.tail.next;this.tail.next=null,this.tail=t,e=this.tail.shift()}return e?.value!=null&&(this.size-=this.calculateSize(e.value)),e}isEmpty(){return this.head.isEmpty()}};var $e=class extends Error{type;code;constructor(e,t){super(e??"The operation was aborted"),this.type="aborted",this.code=t??"ABORT_ERR"}};function we(r={}){return gn(t=>{let n=t.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},r)}function gn(r,e){e=e??{};let t=e.onEnd,n=new re,o,i,a,f=O(),c=async()=>{try{return n.isEmpty()?a?{done:!0}:await new Promise((u,E)=>{i=N=>{i=null,n.push(N);try{u(r(n))}catch(U){E(U)}return o}}):r(n)}finally{n.isEmpty()&&queueMicrotask(()=>{f.resolve(),f=O()})}},y=u=>i!=null?i(u):(n.push(u),o),p=u=>(n=new re,i!=null?i({error:u}):(n.push({error:u}),o)),h=u=>{if(a)return o;if(e?.objectMode!==!0&&u?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return y({done:!1,value:u})},I=u=>a?o:(a=!0,u!=null?p(u):y({done:!0})),z=()=>(n=new re,I(),{done:!0}),d=u=>(I(u),{done:!0});if(o={[Symbol.asyncIterator](){return this},next:c,return:z,throw:d,push:h,end:I,get readableLength(){return n.size},onEmpty:async u=>{let E=u?.signal;if(E?.throwIfAborted(),n.isEmpty())return;let N,U;E!=null&&(N=new Promise((l,A)=>{U=()=>{A(new $e)},E.addEventListener("abort",U)}));try{await Promise.race([f.promise,N])}finally{U!=null&&E!=null&&E?.removeEventListener("abort",U)}}},t==null)return o;let w=o;return o={[Symbol.asyncIterator](){return this},next(){return w.next()},throw(u){return w.throw(u),t!=null&&(t(u),t=void 0),{done:!0}},return(){return w.return(),t!=null&&(t(),t=void 0),{done:!0}},push:h,end(u){return w.end(u),t!=null&&(t(u),t=void 0),o},get readableLength(){return w.readableLength},onEmpty:u=>w.onEmpty(u)},o}function bn(r){return r[Symbol.asyncIterator]!=null}function yn(...r){let e=[];for(let t of r)bn(t)||e.push(t);return e.length===r.length?function*(){for(let t of e)yield*t}():async function*(){let t=we({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(r.map(async n=>{for await(let o of n)t.push(o)})),t.end()}catch(n){t.end(n)}}),yield*t}()}var Ot=yn;function Ft(r,...e){if(r==null)throw new Error("Empty pipeline");if(Ze(r)){let n=r;r=()=>n.source}else if(Pt(r)||kt(r)){let n=r;r=()=>n}let t=[r,...e];if(t.length>1&&Ze(t[t.length-1])&&(t[t.length-1]=t[t.length-1].sink),t.length>2)for(let n=1;n<t.length-1;n++)Ze(t[n])&&(t[n]=En(t[n]));return wn(...t)}var wn=(...r)=>{let e;for(;r.length>0;)e=r.shift()(e);return e},kt=r=>r?.[Symbol.asyncIterator]!=null,Pt=r=>r?.[Symbol.iterator]!=null,Ze=r=>r==null?!1:r.sink!=null&&r.source!=null,En=r=>e=>{let t=r.sink(e);if(t?.then!=null){let n=we({objectMode:!0});t.then(()=>{n.end()},a=>{n.end(a)});let o,i=r.source;if(kt(i))o=async function*(){yield*i,n.end()};else if(Pt(i))o=function*(){yield*i,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return Ot(n,o())}return r.source};var ot=or(Jt(),1);var tt="Your private shared key is invalid";function Yt(r){let e=xe(te(nt),"base16"),t=Ae(`/key/swarm/psk/1.0.0/
|
3
3
|
/base16/
|
4
|
-
`+e);r instanceof Uint8Array?r.set(t):r.write(t)}var rt=24,nt=32;function
|
4
|
+
`+e);r instanceof Uint8Array?r.set(t):r.write(t)}var rt=24,nt=32;function Xt(r,e){let t=(0,ot.default)(r,e);return n=>async function*(){for await(let o of n)yield Uint8Array.from(t.update(o.subarray()))}()}function Wt(r,e){return t=>async function*(){let n=(0,ot.default)(r,e);for await(let o of t)yield Uint8Array.from(n.update(o.subarray()))}()}function $t(r){try{let e=xe(r).split(/(?:\r\n|\r|\n)/g),t=e.shift(),n=e.shift(),o=e.shift(),i=Ae(o??"","base16");if(i.byteLength!==nt)throw new Error(tt);return{tag:t,codecName:n,psk:i}}catch{throw new Error(tt)}}var st=class{tag;log;psk;timeout;constructor(e,t){this.log=e.logger.forComponent("libp2p:pnet"),this.timeout=t.timeout??1e3;let n=$t(t.psk);this.psk=n.psk,this.tag=n.tag??""}[Symbol.toStringTag]="@libp2p/pnet";async protect(e){if(e==null)throw new Y("No connection for the handshake provided");this.log("protecting the connection");let t=te(rt),n=AbortSignal.timeout(this.timeout),o=Tt(e),[,i]=await Promise.all([o.write(t,{signal:n}),o.read(rt,{signal:n})]),a=i.subarray();this.log("exchanged nonces");let[f,c]=zt();return Ft(c,Xt(t,this.psk),o.unwrap(),y=>qt(y,p=>p.subarray()),Wt(a,this.psk),c).catch(this.log.error),{...e,...f}}};function Dn(r){return e=>new st(e,r)}return sr(Un);})();
|
5
5
|
/*! Bundled license information:
|
6
6
|
|
7
7
|
@noble/hashes/esm/utils.js:
|
package/dist/src/errors.d.ts
CHANGED
@@ -3,5 +3,4 @@ export declare const INVALID_PSK = "Your private shared key is invalid";
|
|
3
3
|
export declare const NO_LOCAL_ID = "No local private key provided";
|
4
4
|
export declare const NO_HANDSHAKE_CONNECTION = "No connection for the handshake provided";
|
5
5
|
export declare const STREAM_ENDED = "Stream ended prematurely";
|
6
|
-
export declare const ERR_INVALID_PARAMETERS = "ERR_INVALID_PARAMETERS";
|
7
6
|
//# sourceMappingURL=errors.d.ts.map
|
package/dist/src/errors.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,gCAAgC,CAAA;AACzD,eAAO,MAAM,WAAW,uCAAuC,CAAA;AAC/D,eAAO,MAAM,WAAW,kCAAkC,CAAA;AAC1D,eAAO,MAAM,uBAAuB,6CAA6C,CAAA;AACjF,eAAO,MAAM,YAAY,6BAA6B,CAAA
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,gCAAgC,CAAA;AACzD,eAAO,MAAM,WAAW,uCAAuC,CAAA;AAC/D,eAAO,MAAM,WAAW,kCAAkC,CAAA;AAC1D,eAAO,MAAM,uBAAuB,6CAA6C,CAAA;AACjF,eAAO,MAAM,YAAY,6BAA6B,CAAA"}
|
package/dist/src/errors.js
CHANGED
@@ -3,5 +3,4 @@ export const INVALID_PSK = 'Your private shared key is invalid';
|
|
3
3
|
export const NO_LOCAL_ID = 'No local private key provided';
|
4
4
|
export const NO_HANDSHAKE_CONNECTION = 'No connection for the handshake provided';
|
5
5
|
export const STREAM_ENDED = 'Stream ended prematurely';
|
6
|
-
export const ERR_INVALID_PARAMETERS = 'ERR_INVALID_PARAMETERS';
|
7
6
|
//# sourceMappingURL=errors.js.map
|
package/dist/src/errors.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,6BAA6B,CAAA;AACzD,MAAM,CAAC,MAAM,WAAW,GAAG,oCAAoC,CAAA;AAC/D,MAAM,CAAC,MAAM,WAAW,GAAG,+BAA+B,CAAA;AAC1D,MAAM,CAAC,MAAM,uBAAuB,GAAG,0CAA0C,CAAA;AACjF,MAAM,CAAC,MAAM,YAAY,GAAG,0BAA0B,CAAA
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,6BAA6B,CAAA;AACzD,MAAM,CAAC,MAAM,WAAW,GAAG,oCAAoC,CAAA;AAC/D,MAAM,CAAC,MAAM,WAAW,GAAG,+BAA+B,CAAA;AAC1D,MAAM,CAAC,MAAM,uBAAuB,GAAG,0CAA0C,CAAA;AACjF,MAAM,CAAC,MAAM,YAAY,GAAG,0BAA0B,CAAA"}
|
package/dist/src/index.d.ts
CHANGED
package/dist/src/index.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AAcH,OAAO,KAAK,EAAE,eAAe,EAAU,mBAAmB,EAAuB,MAAM,mBAAmB,CAAA;AAG1G,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAEhD,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,GAAG,EAAE,UAAU,CAAA;IACf;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,eAAe,CAAA;CACxB;AA2ED,wBAAgB,YAAY,CAAE,IAAI,EAAE,aAAa,GAAG,CAAC,UAAU,EAAE,mBAAmB,KAAK,mBAAmB,CAE3G"}
|
package/dist/src/index.js
CHANGED
@@ -45,7 +45,7 @@
|
|
45
45
|
*
|
46
46
|
* ### Programmatically
|
47
47
|
*
|
48
|
-
* ```
|
48
|
+
* ```TypeScript
|
49
49
|
* import fs from 'fs'
|
50
50
|
* import { generateKey } from '@libp2p/pnet'
|
51
51
|
*
|
@@ -56,13 +56,12 @@
|
|
56
56
|
* ```
|
57
57
|
*/
|
58
58
|
import { randomBytes } from '@libp2p/crypto';
|
59
|
-
import {
|
59
|
+
import { InvalidParametersError } from '@libp2p/interface';
|
60
60
|
import { byteStream } from 'it-byte-stream';
|
61
61
|
import map from 'it-map';
|
62
62
|
import { duplexPair } from 'it-pair/duplex';
|
63
63
|
import { pipe } from 'it-pipe';
|
64
64
|
import { createBoxStream, createUnboxStream, decodeV1PSK } from './crypto.js';
|
65
|
-
import * as Errors from './errors.js';
|
66
65
|
import { NONCE_LENGTH } from './key-generator.js';
|
67
66
|
export { generateKey } from './key-generator.js';
|
68
67
|
class PreSharedKeyConnectionProtector {
|
@@ -81,6 +80,7 @@ class PreSharedKeyConnectionProtector {
|
|
81
80
|
this.psk = decodedPSK.psk;
|
82
81
|
this.tag = decodedPSK.tag ?? '';
|
83
82
|
}
|
83
|
+
[Symbol.toStringTag] = '@libp2p/pnet';
|
84
84
|
/**
|
85
85
|
* Takes a given Connection and creates a private encryption stream
|
86
86
|
* between its two peers from the PSK the Protector instance was
|
@@ -88,7 +88,7 @@ class PreSharedKeyConnectionProtector {
|
|
88
88
|
*/
|
89
89
|
async protect(connection) {
|
90
90
|
if (connection == null) {
|
91
|
-
throw new
|
91
|
+
throw new InvalidParametersError('No connection for the handshake provided');
|
92
92
|
}
|
93
93
|
// Exchange nonces
|
94
94
|
this.log('protecting the connection');
|
package/dist/src/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@libp2p/pnet",
|
3
|
-
"version": "1.0.0-
|
3
|
+
"version": "1.0.0-e1ca9cced",
|
4
4
|
"description": "Implementation of Connection protection management via a shared secret",
|
5
5
|
"license": "Apache-2.0 OR MIT",
|
6
6
|
"homepage": "https://github.com/libp2p/js-libp2p/tree/main/packages/pnet#readme",
|
@@ -46,28 +46,29 @@
|
|
46
46
|
"test:firefox": "aegir test -t browser -- --browser firefox",
|
47
47
|
"test:firefox-webworker": "aegir test -t webworker -- --browser firefox",
|
48
48
|
"test:node": "aegir test -t node --cov",
|
49
|
-
"dep-check": "aegir dep-check"
|
49
|
+
"dep-check": "aegir dep-check",
|
50
|
+
"doc-check": "aegir doc-check"
|
50
51
|
},
|
51
52
|
"dependencies": {
|
52
|
-
"@libp2p/crypto": "4.
|
53
|
-
"@libp2p/interface": "1.
|
54
|
-
"it-byte-stream": "^1.0.
|
55
|
-
"it-map": "^3.0
|
53
|
+
"@libp2p/crypto": "4.1.9-e1ca9cced",
|
54
|
+
"@libp2p/interface": "1.7.0-e1ca9cced",
|
55
|
+
"it-byte-stream": "^1.0.10",
|
56
|
+
"it-map": "^3.1.0",
|
56
57
|
"it-pair": "^2.0.6",
|
57
58
|
"it-pipe": "^3.0.1",
|
58
59
|
"it-stream-types": "^2.0.1",
|
59
60
|
"uint8arraylist": "^2.4.8",
|
60
|
-
"uint8arrays": "^5.0
|
61
|
+
"uint8arrays": "^5.1.0",
|
61
62
|
"xsalsa20": "^1.2.0"
|
62
63
|
},
|
63
64
|
"devDependencies": {
|
64
|
-
"@libp2p/interface-compliance-tests": "5.
|
65
|
-
"@libp2p/logger": "4.0.
|
66
|
-
"@libp2p/peer-id
|
67
|
-
"@multiformats/multiaddr": "^12.
|
65
|
+
"@libp2p/interface-compliance-tests": "5.4.12-e1ca9cced",
|
66
|
+
"@libp2p/logger": "4.0.20-e1ca9cced",
|
67
|
+
"@libp2p/peer-id": "4.2.4-e1ca9cced",
|
68
|
+
"@multiformats/multiaddr": "^12.2.3",
|
68
69
|
"@types/xsalsa20": "^1.1.3",
|
69
|
-
"aegir": "^
|
70
|
-
"it-all": "^3.0.
|
70
|
+
"aegir": "^44.0.1",
|
71
|
+
"it-all": "^3.0.6"
|
71
72
|
},
|
72
73
|
"sideEffects": false
|
73
74
|
}
|
package/src/errors.ts
CHANGED
@@ -3,4 +3,3 @@ export const INVALID_PSK = 'Your private shared key is invalid'
|
|
3
3
|
export const NO_LOCAL_ID = 'No local private key provided'
|
4
4
|
export const NO_HANDSHAKE_CONNECTION = 'No connection for the handshake provided'
|
5
5
|
export const STREAM_ENDED = 'Stream ended prematurely'
|
6
|
-
export const ERR_INVALID_PARAMETERS = 'ERR_INVALID_PARAMETERS'
|
package/src/index.ts
CHANGED
@@ -45,7 +45,7 @@
|
|
45
45
|
*
|
46
46
|
* ### Programmatically
|
47
47
|
*
|
48
|
-
* ```
|
48
|
+
* ```TypeScript
|
49
49
|
* import fs from 'fs'
|
50
50
|
* import { generateKey } from '@libp2p/pnet'
|
51
51
|
*
|
@@ -57,7 +57,7 @@
|
|
57
57
|
*/
|
58
58
|
|
59
59
|
import { randomBytes } from '@libp2p/crypto'
|
60
|
-
import {
|
60
|
+
import { InvalidParametersError } from '@libp2p/interface'
|
61
61
|
import { byteStream } from 'it-byte-stream'
|
62
62
|
import map from 'it-map'
|
63
63
|
import { duplexPair } from 'it-pair/duplex'
|
@@ -67,7 +67,6 @@ import {
|
|
67
67
|
createUnboxStream,
|
68
68
|
decodeV1PSK
|
69
69
|
} from './crypto.js'
|
70
|
-
import * as Errors from './errors.js'
|
71
70
|
import { NONCE_LENGTH } from './key-generator.js'
|
72
71
|
import type { ComponentLogger, Logger, ConnectionProtector, MultiaddrConnection } from '@libp2p/interface'
|
73
72
|
import type { Uint8ArrayList } from 'uint8arraylist'
|
@@ -110,6 +109,8 @@ class PreSharedKeyConnectionProtector implements ConnectionProtector {
|
|
110
109
|
this.tag = decodedPSK.tag ?? ''
|
111
110
|
}
|
112
111
|
|
112
|
+
readonly [Symbol.toStringTag] = '@libp2p/pnet'
|
113
|
+
|
113
114
|
/**
|
114
115
|
* Takes a given Connection and creates a private encryption stream
|
115
116
|
* between its two peers from the PSK the Protector instance was
|
@@ -117,7 +118,7 @@ class PreSharedKeyConnectionProtector implements ConnectionProtector {
|
|
117
118
|
*/
|
118
119
|
async protect (connection: MultiaddrConnection): Promise<MultiaddrConnection> {
|
119
120
|
if (connection == null) {
|
120
|
-
throw new
|
121
|
+
throw new InvalidParametersError('No connection for the handshake provided')
|
121
122
|
}
|
122
123
|
|
123
124
|
// Exchange nonces
|