@protontech/openpgp 6.1.1-patch.5 → 6.2.1

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.
Files changed (49) hide show
  1. package/README.md +13 -2
  2. package/dist/lightweight/argon2id.min.mjs +2 -2
  3. package/dist/lightweight/argon2id.min.mjs.map +1 -1
  4. package/dist/lightweight/argon2id.mjs +4 -4
  5. package/dist/lightweight/legacy_ciphers.min.mjs +1 -1
  6. package/dist/lightweight/legacy_ciphers.min.mjs.map +1 -1
  7. package/dist/lightweight/legacy_ciphers.mjs +10 -10
  8. package/dist/lightweight/nacl-fast.min.mjs +3 -0
  9. package/dist/lightweight/nacl-fast.min.mjs.map +1 -0
  10. package/dist/lightweight/nacl-fast.mjs +1382 -0
  11. package/dist/lightweight/noble_curves.min.mjs +11 -12
  12. package/dist/lightweight/noble_curves.min.mjs.map +1 -1
  13. package/dist/lightweight/noble_curves.mjs +2175 -1752
  14. package/dist/lightweight/noble_hashes.min.mjs +2 -2
  15. package/dist/lightweight/noble_hashes.min.mjs.map +1 -1
  16. package/dist/lightweight/noble_hashes.mjs +80 -51
  17. package/dist/lightweight/noble_post_quantum.min.mjs +3 -4
  18. package/dist/lightweight/noble_post_quantum.min.mjs.map +1 -1
  19. package/dist/lightweight/noble_post_quantum.mjs +352 -10
  20. package/dist/lightweight/openpgp.min.mjs +3 -4
  21. package/dist/lightweight/openpgp.min.mjs.map +1 -1
  22. package/dist/lightweight/openpgp.mjs +998 -2820
  23. package/dist/lightweight/seek-bzip.min.mjs +2 -2
  24. package/dist/lightweight/seek-bzip.min.mjs.map +1 -1
  25. package/dist/lightweight/seek-bzip.mjs +780 -746
  26. package/dist/lightweight/sha512.min.mjs +4 -2
  27. package/dist/lightweight/sha512.min.mjs.map +1 -1
  28. package/dist/lightweight/sha512.mjs +672 -130
  29. package/dist/node/openpgp.cjs +10685 -10141
  30. package/dist/node/openpgp.min.cjs +14 -17
  31. package/dist/node/openpgp.min.cjs.map +1 -1
  32. package/dist/node/openpgp.min.mjs +14 -17
  33. package/dist/node/openpgp.min.mjs.map +1 -1
  34. package/dist/node/openpgp.mjs +10685 -10140
  35. package/dist/openpgp.js +11728 -11188
  36. package/dist/openpgp.min.js +14 -17
  37. package/dist/openpgp.min.js.map +1 -1
  38. package/dist/openpgp.min.mjs +14 -17
  39. package/dist/openpgp.min.mjs.map +1 -1
  40. package/dist/openpgp.mjs +11728 -11188
  41. package/{src → dist/types}/config/config.d.ts +1 -21
  42. package/{openpgp.d.ts → dist/types/index.d.ts} +26 -8
  43. package/dist/types/packet/grammar.d.ts +33 -0
  44. package/package.json +38 -38
  45. package/dist/lightweight/sha3.min.mjs +0 -4
  46. package/dist/lightweight/sha3.min.mjs.map +0 -1
  47. package/dist/lightweight/sha3.mjs +0 -401
  48. /package/{src → dist/types}/config/index.d.ts +0 -0
  49. /package/{src → dist/types}/enums.d.ts +0 -0
@@ -1,19 +1,16 @@
1
- /*! OpenPGP.js v6.1.1-patch.5 - 2025-08-13 - this is LGPL licensed code, see LICENSE/our website https://openpgpjs.org/ for more information. */
2
- const e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function t(e,t){return t.forEach((function(t){t&&"string"!=typeof t&&!Array.isArray(t)&&Object.keys(t).forEach((function(r){if("default"!==r&&!(r in e)){var n=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(e,r,n.get?n:{enumerable:!0,get:function(){return t[r]}})}}))})),Object.freeze(e)}const r=Symbol("doneWritingPromise"),n=Symbol("doneWritingResolve"),i=Symbol("doneWritingReject"),s=Symbol("readingIndex");class ArrayStream extends Array{constructor(){super(),Object.setPrototypeOf(this,ArrayStream.prototype),this[r]=new Promise(((e,t)=>{this[n]=e,this[i]=t})),this[r].catch((()=>{}))}}function a(e){return e&&e.getReader&&Array.isArray(e)}function o(e){if(!a(e)){const t=e.getWriter(),r=t.releaseLock;return t.releaseLock=()=>{t.closed.catch((function(){})),r.call(t)},t}this.stream=e}function c(t){if(a(t))return"array";if(e.ReadableStream&&e.ReadableStream.prototype.isPrototypeOf(t))return"web";if(t&&!(e.ReadableStream&&t instanceof e.ReadableStream)&&"function"==typeof t._read&&"object"==typeof t._readableState)throw Error("Native Node streams are no longer supported: please manually convert the stream to a WebStream, using e.g. `stream.Readable.toWeb`");return!(!t||!t.getReader)&&"web-like"}function u(e){return Uint8Array.prototype.isPrototypeOf(e)}function h(e){if(1===e.length)return e[0];let t=0;for(let r=0;r<e.length;r++){if(!u(e[r]))throw Error("concatUint8Array: Data must be in the form of a Uint8Array");t+=e[r].length}const r=new Uint8Array(t);let n=0;return e.forEach((function(e){r.set(e,n),n+=e.length})),r}ArrayStream.prototype.getReader=function(){return void 0===this[s]&&(this[s]=0),{read:async()=>(await this[r],this[s]===this.length?{value:void 0,done:!0}:{value:this[this[s]++],done:!1})}},ArrayStream.prototype.readToEnd=async function(e){await this[r];const t=e(this.slice(this[s]));return this.length=0,t},ArrayStream.prototype.clone=function(){const e=new ArrayStream;return e[r]=this[r].then((()=>{e.push(...this)})),e},o.prototype.write=async function(e){this.stream.push(e)},o.prototype.close=async function(){this.stream[n]()},o.prototype.abort=async function(e){return this.stream[i](e),e},o.prototype.releaseLock=function(){},"object"==typeof e.process&&e.process.versions;const l=new WeakSet,y=Symbol("externalBuffer");function f(e){if(this.stream=e,e[y]&&(this[y]=e[y].slice()),a(e)){const t=e.getReader();return this._read=t.read.bind(t),this._releaseLock=()=>{},void(this._cancel=()=>{})}if(c(e)){const t=e.getReader();return this._read=t.read.bind(t),this._releaseLock=()=>{t.closed.catch((function(){})),t.releaseLock()},void(this._cancel=t.cancel.bind(t))}let t=!1;this._read=async()=>t||l.has(e)?{value:void 0,done:!0}:(t=!0,{value:e,done:!1}),this._releaseLock=()=>{if(t)try{l.add(e)}catch(e){}}}function p(e){return c(e)?e:new ReadableStream({start(t){t.enqueue(e),t.close()}})}function g(e){if(c(e))return e;const t=new ArrayStream;return(async()=>{const r=D(t);await r.write(e),await r.close()})(),t}function d(e){return e.some((e=>c(e)&&!a(e)))?function(e){e=e.map(p);const t=m((async function(e){await Promise.all(n.map((t=>C(t,e))))}));let r=Promise.resolve();const n=e.map(((n,i)=>k(n,((n,s)=>(r=r.then((()=>A(n,t.writable,{preventClose:i!==e.length-1}))),r)))));return t.readable}(e):e.some((e=>a(e)))?function(e){const t=new ArrayStream;let r=Promise.resolve();return e.forEach(((n,i)=>(r=r.then((()=>A(n,t,{preventClose:i!==e.length-1}))),r))),t}(e):"string"==typeof e[0]?e.join(""):h(e)}async function A(e,t,{preventClose:r=!1,preventAbort:n=!1,preventCancel:i=!1}={}){if(c(e)&&!a(e)){e=p(e);try{if(e[y]){const r=D(t);for(let t=0;t<e[y].length;t++)await r.ready,await r.write(e[y][t]);r.releaseLock()}await e.pipeTo(t,{preventClose:r,preventAbort:n,preventCancel:i})}catch(e){}return}const s=P(e=g(e)),o=D(t);try{for(;;){await o.ready;const{done:e,value:t}=await s.read();if(e){r||await o.close();break}await o.write(t)}}catch(e){n||await o.abort(e)}finally{s.releaseLock(),o.releaseLock()}}function w(e,t){const r=new TransformStream(t);return A(e,r.writable),r.readable}function m(e){let t,r,n,i=!1,s=!1;return{readable:new ReadableStream({start(e){n=e},pull(){t?t():i=!0},async cancel(t){s=!0,e&&await e(t),r&&r(t)}},{highWaterMark:0}),writable:new WritableStream({write:async function(e){if(s)throw Error("Stream is cancelled");n.enqueue(e),i?i=!1:(await new Promise(((e,n)=>{t=e,r=n})),t=null,r=null)},close:n.close.bind(n),abort:n.error.bind(n)})}}function b(e,t=()=>{},r=()=>{}){if(a(e)){const n=new ArrayStream;return(async()=>{const i=D(n);try{const n=await K(e),s=t(n),a=r();let o;o=void 0!==s&&void 0!==a?d([s,a]):void 0!==s?s:a,await i.write(o),await i.close()}catch(e){await i.abort(e)}})(),n}if(c(e))return w(e,{async transform(e,r){try{const n=await t(e);void 0!==n&&r.enqueue(n)}catch(e){r.error(e)}},async flush(e){try{const t=await r();void 0!==t&&e.enqueue(t)}catch(t){e.error(t)}}});const n=t(e),i=r();return void 0!==n&&void 0!==i?d([n,i]):void 0!==n?n:i}function k(e,t){if(c(e)&&!a(e)){let r;const n=new TransformStream({start(e){r=e}}),i=A(e,n.writable),s=m((async function(e){r.error(e),await i,await new Promise(setTimeout)}));return t(n.readable,s.writable),s.readable}e=g(e);const r=new ArrayStream;return t(e,r),r}function E(e,t){let r;const n=k(e,((e,i)=>{const s=P(e);s.remainder=()=>(s.releaseLock(),A(e,i),n),r=t(s)}));return r}function v(e){if(a(e))return e.clone();if(c(e)){const t=function(e){if(a(e))throw Error("ArrayStream cannot be tee()d, use clone() instead");if(c(e)){const t=p(e).tee();return t[0][y]=t[1][y]=e[y],t}return[I(e),I(e)]}(e);return S(e,t[0]),t[1]}return I(e)}function B(e){return a(e)?v(e):c(e)?new ReadableStream({start(t){const r=k(e,(async(e,r)=>{const n=P(e),i=D(r);try{for(;;){await i.ready;const{done:e,value:r}=await n.read();if(e){try{t.close()}catch(e){}return void await i.close()}try{t.enqueue(r)}catch(e){}await i.write(r)}}catch(e){t.error(e),await i.abort(e)}}));S(e,r)}}):I(e)}function S(e,t){Object.entries(Object.getOwnPropertyDescriptors(e.constructor.prototype)).forEach((([r,n])=>{"constructor"!==r&&(n.value?n.value=n.value.bind(t):n.get=n.get.bind(t),Object.defineProperty(e,r,n))}))}function I(e,t=0,r=1/0){if(a(e))throw Error("Not implemented");if(c(e)){if(t>=0&&r>=0){let n=0;return w(e,{transform(e,i){n<r?(n+e.length>=t&&i.enqueue(I(e,Math.max(t-n,0),r-n)),n+=e.length):i.terminate()}})}if(t<0&&(r<0||r===1/0)){let n=[];return b(e,(e=>{e.length>=-t?n=[e]:n.push(e)}),(()=>I(d(n),t,r)))}if(0===t&&r<0){let n;return b(e,(e=>{const i=n?d([n,e]):e;if(i.length>=-r)return n=I(i,r),I(i,t,r);n=i}))}return console.warn(`stream.slice(input, ${t}, ${r}) not implemented efficiently.`),U((async()=>I(await K(e),t,r)))}return e[y]&&(e=d(e[y].concat([e]))),u(e)?e.subarray(t,r===1/0?e.length:r):e.slice(t,r)}async function K(e,t=d){return a(e)?e.readToEnd(t):c(e)?P(e).readToEnd(t):e}async function C(e,t){if(c(e)){if(e.cancel){const r=await e.cancel(t);return await new Promise(setTimeout),r}if(e.destroy)return e.destroy(t),await new Promise(setTimeout),t}}function U(e){const t=new ArrayStream;return(async()=>{const r=D(t);try{await r.write(await e()),await r.close()}catch(e){await r.abort(e)}})(),t}function P(e){return new f(e)}function D(e){return new o(e)}f.prototype.read=async function(){if(this[y]&&this[y].length){return{done:!1,value:this[y].shift()}}return this._read()},f.prototype.releaseLock=function(){this[y]&&(this.stream[y]=this[y]),this._releaseLock()},f.prototype.cancel=function(e){return this._cancel(e)},f.prototype.readLine=async function(){let e,t=[];for(;!e;){let{done:r,value:n}=await this.read();if(n+="",r)return t.length?d(t):void 0;const i=n.indexOf("\n")+1;i&&(e=d(t.concat(n.substr(0,i))),t=[]),i!==n.length&&t.push(n.substr(i))}return this.unshift(...t),e},f.prototype.readByte=async function(){const{done:e,value:t}=await this.read();if(e)return;const r=t[0];return this.unshift(I(t,1)),r},f.prototype.readBytes=async function(e){const t=[];let r=0;for(;;){const{done:n,value:i}=await this.read();if(n)return t.length?d(t):void 0;if(t.push(i),r+=i.length,r>=e){const r=d(t);return this.unshift(I(r,e)),I(r,0,e)}}},f.prototype.peekBytes=async function(e){const t=await this.readBytes(e);return this.unshift(t),t},f.prototype.unshift=function(...e){this[y]||(this[y]=[]),1===e.length&&u(e[0])&&this[y].length&&e[0].length&&this[y][0].byteOffset>=e[0].length?this[y][0]=new Uint8Array(this[y][0].buffer,this[y][0].byteOffset-e[0].length,this[y][0].byteLength+e[0].length):this[y].unshift(...e.filter((e=>e&&e.length)))},f.prototype.readToEnd=async function(e=d){const t=[];for(;;){const{done:e,value:r}=await this.read();if(e)break;t.push(r)}return e(t)};const x=Symbol("byValue");var Q={curve:{nistP256:"nistP256",p256:"nistP256",nistP384:"nistP384",p384:"nistP384",nistP521:"nistP521",p521:"nistP521",secp256k1:"secp256k1",ed25519Legacy:"ed25519Legacy",ed25519:"ed25519Legacy",curve25519Legacy:"curve25519Legacy",curve25519:"curve25519Legacy",brainpoolP256r1:"brainpoolP256r1",brainpoolP384r1:"brainpoolP384r1",brainpoolP512r1:"brainpoolP512r1"},kdfFlags:{replace_fingerprint:1,replace_kdf_params:2},s2k:{simple:0,salted:1,iterated:3,argon2:4,gnu:101},publicKey:{rsaEncryptSign:1,rsaEncrypt:2,rsaSign:3,elgamal:16,dsa:17,ecdh:18,ecdsa:19,eddsaLegacy:22,aedh:23,aedsa:24,x25519:25,x448:26,ed25519:27,ed448:28,pqc_mldsa_ed25519:30,pqc_mlkem_x25519:35,aead:100,hmac:101},symmetric:{idea:1,tripledes:2,cast5:3,blowfish:4,aes128:7,aes192:8,aes256:9,twofish:10},compression:{uncompressed:0,zip:1,zlib:2,bzip2:3},hash:{md5:1,sha1:2,ripemd:3,sha256:8,sha384:9,sha512:10,sha224:11,sha3_256:12,sha3_512:14},webHash:{"SHA-1":2,"SHA-256":8,"SHA-384":9,"SHA-512":10},aead:{eax:1,ocb:2,gcm:3,experimentalGCM:100},packet:{publicKeyEncryptedSessionKey:1,signature:2,symEncryptedSessionKey:3,onePassSignature:4,secretKey:5,publicKey:6,secretSubkey:7,compressedData:8,symmetricallyEncryptedData:9,marker:10,literalData:11,trust:12,userID:13,publicSubkey:14,userAttribute:17,symEncryptedIntegrityProtectedData:18,modificationDetectionCode:19,aeadEncryptedData:20,padding:21},literal:{binary:98,text:116,utf8:117,mime:109},signature:{binary:0,text:1,standalone:2,certGeneric:16,certPersona:17,certCasual:18,certPositive:19,certRevocation:48,subkeyBinding:24,keyBinding:25,key:31,keyRevocation:32,subkeyRevocation:40,timestamp:64,thirdParty:80},signatureSubpacket:{signatureCreationTime:2,signatureExpirationTime:3,exportableCertification:4,trustSignature:5,regularExpression:6,revocable:7,keyExpirationTime:9,placeholderBackwardsCompatibility:10,preferredSymmetricAlgorithms:11,revocationKey:12,issuerKeyID:16,notationData:20,preferredHashAlgorithms:21,preferredCompressionAlgorithms:22,keyServerPreferences:23,preferredKeyServer:24,primaryUserID:25,policyURI:26,keyFlags:27,signersUserID:28,reasonForRevocation:29,features:30,signatureTarget:31,embeddedSignature:32,issuerFingerprint:33,preferredAEADAlgorithms:34,preferredCipherSuites:39},keyFlags:{certifyKeys:1,signData:2,encryptCommunication:4,encryptStorage:8,splitPrivateKey:16,authentication:32,forwardedCommunication:64,sharedPrivateKey:128},armor:{multipartSection:0,multipartLast:1,signed:2,message:3,publicKey:4,privateKey:5,signature:6},reasonForRevocation:{noReason:0,keySuperseded:1,keyCompromised:2,keyRetired:3,userIDInvalid:32},features:{modificationDetection:1,aead:2,v5Keys:4,seipdv2:8},write:function(e,t){if("number"==typeof t&&(t=this.read(e,t)),void 0!==e[t])return e[t];throw Error("Invalid enum value.")},read:function(e,t){if(e[x]||(e[x]=[],Object.entries(e).forEach((([t,r])=>{e[x][r]=t}))),void 0!==e[x][t])return e[x][t];throw Error("Invalid enum value.")}},R={preferredHashAlgorithm:Q.hash.sha512,preferredSymmetricAlgorithm:Q.symmetric.aes256,preferredCompressionAlgorithm:Q.compression.uncompressed,aeadProtect:!1,ignoreSEIPDv2FeatureFlag:!1,parseAEADEncryptedV4KeysAsLegacy:!1,preferredAEADAlgorithm:Q.aead.gcm,aeadChunkSizeByte:12,v6Keys:!1,enableParsingV5Entities:!1,s2kType:Q.s2k.iterated,s2kIterationCountByte:224,s2kArgon2Params:{passes:3,parallelism:4,memoryExponent:16},allowUnauthenticatedMessages:!1,allowUnauthenticatedStream:!1,allowForwardedMessages:!1,minRSABits:2047,passwordCollisionCheck:!1,allowInsecureDecryptionWithSigningKeys:!1,allowInsecureVerificationWithReformattedKeys:!1,allowMissingKeyFlags:!1,constantTimePKCS1Decryption:!1,constantTimePKCS1DecryptionSupportedSymmetricAlgorithms:new Set([Q.symmetric.aes128,Q.symmetric.aes192,Q.symmetric.aes256]),ignoreUnsupportedPackets:!0,ignoreMalformedPackets:!1,enforceGrammar:!0,pluggableGrammarErrorReporter:null,additionalAllowedPackets:[],showVersion:!1,showComment:!1,versionString:"OpenPGP.js 6.1.1-patch.5",commentString:"https://openpgpjs.org",maxUserIDLength:5120,knownNotations:[],nonDeterministicSignaturesViaNotation:!0,useEllipticFallback:!0,rejectHashAlgorithms:new Set([Q.hash.md5,Q.hash.ripemd]),rejectMessageHashAlgorithms:new Set([Q.hash.md5,Q.hash.ripemd,Q.hash.sha1]),rejectPublicKeyAlgorithms:new Set([Q.publicKey.elgamal,Q.publicKey.dsa]),rejectCurves:new Set([Q.curve.secp256k1])};const T=(()=>{try{return"development"===process.env.NODE_ENV}catch(e){}return!1})(),M={isString:function(e){return"string"==typeof e||e instanceof String},nodeRequire:()=>{},isArray:function(e){return e instanceof Array},isUint8Array:u,isStream:c,getNobleCurve:async(e,t)=>{if(!R.useEllipticFallback)throw Error("This curve is only supported in the full build of OpenPGP.js");const{nobleCurves:r}=await Promise.resolve().then((function(){return ef}));switch(e){case Q.publicKey.ecdh:case Q.publicKey.ecdsa:{const e=r.get(t);if(!e)throw Error("Unsupported curve");return e}case Q.publicKey.x448:return r.get("x448");case Q.publicKey.ed448:return r.get("ed448");default:throw Error("Unsupported curve")}},readNumber:function(e){let t=0;for(let r=0;r<e.length;r++)t+=256**r*e[e.length-1-r];return t},writeNumber:function(e,t){const r=new Uint8Array(t);for(let n=0;n<t;n++)r[n]=e>>8*(t-n-1)&255;return r},readDate:function(e){const t=M.readNumber(e);return new Date(1e3*t)},writeDate:function(e){const t=Math.floor(e.getTime()/1e3);return M.writeNumber(t,4)},normalizeDate:function(e=Date.now()){return null===e||e===1/0?e:new Date(1e3*Math.floor(+e/1e3))},readMPI:function(e){const t=(e[0]<<8|e[1])+7>>>3;return M.readExactSubarray(e,2,2+t)},readExactSubarray:function(e,t,r){if(e.length<r-t)throw Error("Input array too short");return e.subarray(t,r)},leftPad(e,t){if(e.length>t)throw Error("Input array too long");const r=new Uint8Array(t),n=t-e.length;return r.set(e,n),r},uint8ArrayToMPI:function(e){const t=M.uint8ArrayBitLength(e);if(0===t)throw Error("Zero MPI");const r=e.subarray(e.length-Math.ceil(t/8)),n=new Uint8Array([(65280&t)>>8,255&t]);return M.concatUint8Array([n,r])},uint8ArrayBitLength:function(e){let t;for(t=0;t<e.length&&0===e[t];t++);if(t===e.length)return 0;const r=e.subarray(t);return 8*(r.length-1)+M.nbits(r[0])},hexToUint8Array:function(e){const t=new Uint8Array(e.length>>1);for(let r=0;r<e.length>>1;r++)t[r]=parseInt(e.substr(r<<1,2),16);return t},uint8ArrayToHex:function(e){const t="0123456789abcdef";let r="";return e.forEach((e=>{r+=t[e>>4]+t[15&e]})),r},stringToUint8Array:function(e){return b(e,(e=>{if(!M.isString(e))throw Error("stringToUint8Array: Data must be in the form of a string");const t=new Uint8Array(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}))},uint8ArrayToString:function(e){const t=[],r=16384,n=(e=new Uint8Array(e)).length;for(let i=0;i<n;i+=r)t.push(String.fromCharCode.apply(String,e.subarray(i,i+r<n?i+r:n)));return t.join("")},encodeUTF8:function(e){const t=new TextEncoder("utf-8");function r(e,r=!1){return t.encode(e,{stream:!r})}return b(e,r,(()=>r("",!0)))},decodeUTF8:function(e){const t=new TextDecoder("utf-8");function r(e,r=!1){return t.decode(e,{stream:!r})}return b(e,r,(()=>r(new Uint8Array,!0)))},concat:d,concatUint8Array:h,equalsUint8Array:function(e,t){if(!M.isUint8Array(e)||!M.isUint8Array(t))throw Error("Data must be in the form of a Uint8Array");if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0},findLastIndex:function(e,t){for(let r=e.length;r>=0;r--)if(t(e[r],r,e))return r;return-1},writeChecksum:function(e){let t=0;for(let r=0;r<e.length;r++)t=t+e[r]&65535;return M.writeNumber(t,2)},printDebug:function(e){T&&console.log("[OpenPGP.js debug]",e)},printDebugError:function(e){T&&console.error("[OpenPGP.js debug]",e)},nbits:function(e){let t=1,r=e>>>16;return 0!==r&&(e=r,t+=16),r=e>>8,0!==r&&(e=r,t+=8),r=e>>4,0!==r&&(e=r,t+=4),r=e>>2,0!==r&&(e=r,t+=2),r=e>>1,0!==r&&(e=r,t+=1),t},double:function(e){const t=new Uint8Array(e.length),r=e.length-1;for(let n=0;n<r;n++)t[n]=e[n]<<1^e[n+1]>>7;return t[r]=e[r]<<1^135*(e[0]>>7),t},shiftRight:function(e,t){if(t)for(let r=e.length-1;r>=0;r--)e[r]>>=t,r>0&&(e[r]|=e[r-1]<<8-t);return e},getWebCrypto:function(){const t=void 0!==e&&e.crypto&&e.crypto.subtle||this.getNodeCrypto()?.webcrypto.subtle;if(!t)throw Error("The WebCrypto API is not available");return t},getNodeCrypto:function(){return this.nodeRequire("crypto")},getNodeZlib:function(){return this.nodeRequire("zlib")},getNodeBuffer:function(){return(this.nodeRequire("buffer")||{}).Buffer},getHardwareConcurrency:function(){if("undefined"!=typeof navigator)return navigator.hardwareConcurrency||1;return this.nodeRequire("os").cpus().length},isEmailAddress:function(e){if(!M.isString(e))return!1;return/^[^\p{C}\p{Z}@<>\\]+@[^\p{C}\p{Z}@<>\\]+[^\p{C}\p{Z}\p{P}]$/u.test(e)},canonicalizeEOL:function(e){let t=!1;return b(e,(e=>{let r;t&&(e=M.concatUint8Array([new Uint8Array([13]),e])),13===e[e.length-1]?(t=!0,e=e.subarray(0,-1)):t=!1;const n=[];for(let t=0;r=e.indexOf(10,t)+1,r;t=r)13!==e[r-2]&&n.push(r);if(!n.length)return e;const i=new Uint8Array(e.length+n.length);let s=0;for(let t=0;t<n.length;t++){const r=e.subarray(n[t-1]||0,n[t]);i.set(r,s),s+=r.length,i[s-1]=13,i[s]=10,s++}return i.set(e.subarray(n[n.length-1]||0),s),i}),(()=>t?new Uint8Array([13]):void 0))},nativeEOL:function(e){let t=!1;return b(e,(e=>{let r;13===(e=t&&10!==e[0]?M.concatUint8Array([new Uint8Array([13]),e]):new Uint8Array(e))[e.length-1]?(t=!0,e=e.subarray(0,-1)):t=!1;let n=0;for(let t=0;t!==e.length;t=r){r=e.indexOf(13,t)+1,r||(r=e.length);const i=r-(10===e[r]?1:0);t&&e.copyWithin(n,t,i),n+=i-t}return e.subarray(0,n)}),(()=>t?new Uint8Array([13]):void 0))},removeTrailingSpaces:function(e){return e.split("\n").map((e=>{let t=e.length-1;for(;t>=0&&(" "===e[t]||"\t"===e[t]||"\r"===e[t]);t--);return e.substr(0,t+1)})).join("\n")},wrapError:function(e,t){if(!t)return Error(e);try{t.message=e+": "+t.message}catch(e){}return t},constructAllowedPackets:function(e){const t={};return e.forEach((e=>{if(!e.tag)throw Error("Invalid input: expected a packet class");t[e.tag]=e})),t},anyPromise:function(e){return new Promise((async(t,r)=>{let n;await Promise.all(e.map((async e=>{try{t(await e)}catch(e){n=e}}))),r(n)}))},selectUint8Array:function(e,t,r){const n=Math.max(t.length,r.length),i=new Uint8Array(n);let s=0;for(let n=0;n<i.length;n++)i[n]=t[n]&256-e|r[n]&255+e,s+=e&n<t.length|1-e&n<r.length;return i.subarray(0,s)},selectUint8:function(e,t,r){return t&256-e|r&255+e},isAES:function(e){return e===Q.symmetric.aes128||e===Q.symmetric.aes192||e===Q.symmetric.aes256}},L=M.getNodeBuffer();let N,F;function O(e){let t=new Uint8Array;return b(e,(e=>{t=M.concatUint8Array([t,e]);const r=[],n=Math.floor(t.length/45),i=45*n,s=N(t.subarray(0,i));for(let e=0;e<n;e++)r.push(s.substr(60*e,60)),r.push("\n");return t=t.subarray(i),r.join("")}),(()=>t.length?N(t)+"\n":""))}function H(e){let t="";return b(e,(e=>{t+=e;let r=0;const n=[" ","\t","\r","\n"];for(let e=0;e<n.length;e++){const i=n[e];for(let e=t.indexOf(i);-1!==e;e=t.indexOf(i,e+1))r++}let i=t.length;for(;i>0&&(i-r)%4!=0;i--)n.includes(t[i])&&r--;const s=F(t.substr(0,i));return t=t.substr(i),s}),(()=>F(t)))}function _(e){return H(e.replace(/-/g,"+").replace(/_/g,"/"))}function z(e,t){let r=O(e).replace(/[\r\n]/g,"");return r=r.replace(/[+]/g,"-").replace(/[/]/g,"_").replace(/[=]/g,""),r}function G(e){const t=e.match(/^-----BEGIN PGP (MESSAGE, PART \d+\/\d+|MESSAGE, PART \d+|SIGNED MESSAGE|MESSAGE|PUBLIC KEY BLOCK|PRIVATE KEY BLOCK|SIGNATURE)-----$/m);if(!t)throw Error("Unknown ASCII armor type");return/MESSAGE, PART \d+\/\d+/.test(t[1])?Q.armor.multipartSection:/MESSAGE, PART \d+/.test(t[1])?Q.armor.multipartLast:/SIGNED MESSAGE/.test(t[1])?Q.armor.signed:/MESSAGE/.test(t[1])?Q.armor.message:/PUBLIC KEY BLOCK/.test(t[1])?Q.armor.publicKey:/PRIVATE KEY BLOCK/.test(t[1])?Q.armor.privateKey:/SIGNATURE/.test(t[1])?Q.armor.signature:void 0}function q(e,t){let r="";return t.showVersion&&(r+="Version: "+t.versionString+"\n"),t.showComment&&(r+="Comment: "+t.commentString+"\n"),e&&(r+="Comment: "+e+"\n"),r+="\n",r}function j(e){const t=function(e){let t=13501623;return b(e,(e=>{const r=Y?Math.floor(e.length/4):0,n=new Uint32Array(e.buffer,e.byteOffset,r);for(let e=0;e<r;e++)t^=n[e],t=V[0][t>>24&255]^V[1][t>>16&255]^V[2][t>>8&255]^V[3][255&t];for(let n=4*r;n<e.length;n++)t=t>>8^V[0][255&t^e[n]]}),(()=>new Uint8Array([t,t>>8,t>>16])))}(e);return O(t)}L?(N=e=>L.from(e).toString("base64"),F=e=>{const t=L.from(e,"base64");return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}):(N=e=>btoa(M.uint8ArrayToString(e)),F=e=>M.stringToUint8Array(atob(e)));const V=[Array(255),Array(255),Array(255),Array(255)];for(let e=0;e<=255;e++){let t=e<<16;for(let e=0;e<8;e++)t=t<<1^(8388608&t?8801531:0);V[0][e]=(16711680&t)>>16|65280&t|(255&t)<<16}for(let e=0;e<=255;e++)V[1][e]=V[0][e]>>8^V[0][255&V[0][e]];for(let e=0;e<=255;e++)V[2][e]=V[1][e]>>8^V[0][255&V[1][e]];for(let e=0;e<=255;e++)V[3][e]=V[2][e]>>8^V[0][255&V[2][e]];const Y=function(){const e=new ArrayBuffer(2);return new DataView(e).setInt16(0,255,!0),255===new Int16Array(e)[0]}();function Z(e){for(let t=0;t<e.length;t++)/^([^\s:]|[^\s:][^:]*[^\s:]): .+$/.test(e[t])||M.printDebugError(Error("Improperly formatted armor header: "+e[t])),/^(Version|Comment|MessageID|Hash|Charset): .+$/.test(e[t])||M.printDebugError(Error("Unknown header: "+e[t]))}function W(e){let t=e;const r=e.lastIndexOf("=");return r>=0&&r!==e.length-1&&(t=e.slice(0,r)),t}function J(e){return new Promise((async(t,r)=>{try{const n=/^-----[^-]+-----$/m,i=/^[ \f\r\t\u00a0\u2000-\u200a\u202f\u205f\u3000]*$/;let s;const a=[];let o,c,u=a,h=[];const l=H(k(e,(async(e,y)=>{const f=P(e);try{for(;;){let e=await f.readLine();if(void 0===e)throw Error("Misformed armored text");if(e=M.removeTrailingSpaces(e.replace(/[\r\n]/g,"")),s)if(o)c||s!==Q.armor.signed||(n.test(e)?(h=h.join("\r\n"),c=!0,Z(u),u=[],o=!1):h.push(e.replace(/^- /,"")));else if(n.test(e)&&r(Error("Mandatory blank line missing between armor headers and armor data")),i.test(e)){if(Z(u),o=!0,c||s!==Q.armor.signed){t({text:h,data:l,headers:a,type:s});break}}else u.push(e);else n.test(e)&&(s=G(e))}}catch(e){return void r(e)}const p=D(y);try{for(;;){await p.ready;const{done:e,value:t}=await f.read();if(e)throw Error("Misformed armored text");const r=t+"";if(-1!==r.indexOf("=")||-1!==r.indexOf("-")){let e=await f.readToEnd();e.length||(e=""),e=r+e,e=M.removeTrailingSpaces(e.replace(/\r/g,""));const t=e.split(n);if(1===t.length)throw Error("Misformed armored text");const i=W(t[0].slice(0,-1));await p.write(i);break}await p.write(r)}await p.ready,await p.close()}catch(e){await p.abort(e)}})))}catch(e){r(e)}})).then((async e=>(a(e.data)&&(e.data=await K(e.data)),e)))}function X(e,t,r,n,i,s=!1,a=R){let o,c;e===Q.armor.signed&&(o=t.text,c=t.hash,t=t.data);const u=s&&B(t),h=[];switch(e){case Q.armor.multipartSection:h.push("-----BEGIN PGP MESSAGE, PART "+r+"/"+n+"-----\n"),h.push(q(i,a)),h.push(O(t)),u&&h.push("=",j(u)),h.push("-----END PGP MESSAGE, PART "+r+"/"+n+"-----\n");break;case Q.armor.multipartLast:h.push("-----BEGIN PGP MESSAGE, PART "+r+"-----\n"),h.push(q(i,a)),h.push(O(t)),u&&h.push("=",j(u)),h.push("-----END PGP MESSAGE, PART "+r+"-----\n");break;case Q.armor.signed:h.push("-----BEGIN PGP SIGNED MESSAGE-----\n"),h.push(c?`Hash: ${c}\n\n`:"\n"),h.push(o.replace(/^-/gm,"- -")),h.push("\n-----BEGIN PGP SIGNATURE-----\n"),h.push(q(i,a)),h.push(O(t)),u&&h.push("=",j(u)),h.push("-----END PGP SIGNATURE-----\n");break;case Q.armor.message:h.push("-----BEGIN PGP MESSAGE-----\n"),h.push(q(i,a)),h.push(O(t)),u&&h.push("=",j(u)),h.push("-----END PGP MESSAGE-----\n");break;case Q.armor.publicKey:h.push("-----BEGIN PGP PUBLIC KEY BLOCK-----\n"),h.push(q(i,a)),h.push(O(t)),u&&h.push("=",j(u)),h.push("-----END PGP PUBLIC KEY BLOCK-----\n");break;case Q.armor.privateKey:h.push("-----BEGIN PGP PRIVATE KEY BLOCK-----\n"),h.push(q(i,a)),h.push(O(t)),u&&h.push("=",j(u)),h.push("-----END PGP PRIVATE KEY BLOCK-----\n");break;case Q.armor.signature:h.push("-----BEGIN PGP SIGNATURE-----\n"),h.push(q(i,a)),h.push(O(t)),u&&h.push("=",j(u)),h.push("-----END PGP SIGNATURE-----\n")}return M.concat(h)}const $=BigInt(0),ee=BigInt(1);function te(e){const t="0123456789ABCDEF";let r="";return e.forEach((e=>{r+=t[e>>4]+t[15&e]})),BigInt("0x0"+r)}function re(e,t){const r=e%t;return r<$?r+t:r}function ne(e,t,r){if(r===$)throw Error("Modulo cannot be zero");if(r===ee)return BigInt(0);if(t<$)throw Error("Unsopported negative exponent");let n=t,i=e;i%=r;let s=BigInt(1);for(;n>$;){const e=n&ee;n>>=ee;s=e?s*i%r:s,i=i*i%r}return s}function ie(e){return e>=$?e:-e}function se(e,t){const{gcd:r,x:n}=function(e,t){let r=BigInt(0),n=BigInt(1),i=BigInt(1),s=BigInt(0),a=ie(e),o=ie(t);const c=e<$,u=t<$;for(;o!==$;){const e=a/o;let t=r;r=i-e*r,i=t,t=n,n=s-e*n,s=t,t=o,o=a%o,a=t}return{x:c?-i:i,y:u?-s:s,gcd:a}}(e,t);if(r!==ee)throw Error("Inverse does not exist");return re(n+t,t)}function ae(e){const t=Number(e);if(t>Number.MAX_SAFE_INTEGER)throw Error("Number can only safely store up to 53 bits");return t}function oe(e,t){return(e>>BigInt(t)&ee)===$?0:1}function ce(e){const t=e<$?BigInt(-1):$;let r=1,n=e;for(;(n>>=ee)!==t;)r++;return r}function ue(e){const t=e<$?BigInt(-1):$,r=BigInt(8);let n=1,i=e;for(;(i>>=r)!==t;)n++;return n}function he(e,t="be",r){let n=e.toString(16);n.length%2==1&&(n="0"+n);const i=n.length/2,s=new Uint8Array(r||i),a=r?r-i:0;let o=0;for(;o<i;)s[o+a]=parseInt(n.slice(2*o,2*o+2),16),o++;return"be"!==t&&s.reverse(),s}const le=M.getNodeCrypto();function ye(e){const t="undefined"!=typeof crypto?crypto:le?.webcrypto;if(t?.getRandomValues){const r=new Uint8Array(e);return t.getRandomValues(r)}throw Error("No secure random number generator available.")}function fe(e,t){if(t<e)throw Error("Illegal parameter value: max <= min");const r=t-e;return re(te(ye(ue(r)+8)),r)+e}const pe=BigInt(1);function ge(e,t,r){const n=BigInt(30),i=pe<<BigInt(e-1),s=[1,6,5,4,3,2,1,4,3,2,1,2,1,4,3,2,1,2,1,4,3,2,1,6,5,4,3,2,1,2];let a=fe(i,i<<pe),o=ae(re(a,n));do{a+=BigInt(s[o]),o=(o+s[o])%s.length,ce(a)>e&&(a=re(a,i<<pe),a+=i,o=ae(re(a,n)))}while(!de(a,t,r));return a}function de(e,t,r){return(!t||function(e,t){let r=e,n=t;for(;n!==$;){const e=n;n=r%n,r=e}return r}(e-pe,t)===pe)&&(!!function(e){const t=BigInt(0);return Ae.every((r=>re(e,r)!==t))}(e)&&(!!function(e,t=BigInt(2)){return ne(t,e-pe,e)===pe}(e)&&!!function(e,t){const r=ce(e);t||(t=Math.max(1,r/48|0));const n=e-pe;let i=0;for(;!oe(n,i);)i++;const s=e>>BigInt(i);for(;t>0;t--){let t,r=ne(fe(BigInt(2),n),s,e);if(r!==pe&&r!==n){for(t=1;t<i;t++){if(r=re(r*r,e),r===pe)return!1;if(r===n)break}if(t===i)return!1}}return!0}(e,r)))}const Ae=[7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997,1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,1063,1069,1087,1091,1093,1097,1103,1109,1117,1123,1129,1151,1153,1163,1171,1181,1187,1193,1201,1213,1217,1223,1229,1231,1237,1249,1259,1277,1279,1283,1289,1291,1297,1301,1303,1307,1319,1321,1327,1361,1367,1373,1381,1399,1409,1423,1427,1429,1433,1439,1447,1451,1453,1459,1471,1481,1483,1487,1489,1493,1499,1511,1523,1531,1543,1549,1553,1559,1567,1571,1579,1583,1597,1601,1607,1609,1613,1619,1621,1627,1637,1657,1663,1667,1669,1693,1697,1699,1709,1721,1723,1733,1741,1747,1753,1759,1777,1783,1787,1789,1801,1811,1823,1831,1847,1861,1867,1871,1873,1877,1879,1889,1901,1907,1913,1931,1933,1949,1951,1973,1979,1987,1993,1997,1999,2003,2011,2017,2027,2029,2039,2053,2063,2069,2081,2083,2087,2089,2099,2111,2113,2129,2131,2137,2141,2143,2153,2161,2179,2203,2207,2213,2221,2237,2239,2243,2251,2267,2269,2273,2281,2287,2293,2297,2309,2311,2333,2339,2341,2347,2351,2357,2371,2377,2381,2383,2389,2393,2399,2411,2417,2423,2437,2441,2447,2459,2467,2473,2477,2503,2521,2531,2539,2543,2549,2551,2557,2579,2591,2593,2609,2617,2621,2633,2647,2657,2659,2663,2671,2677,2683,2687,2689,2693,2699,2707,2711,2713,2719,2729,2731,2741,2749,2753,2767,2777,2789,2791,2797,2801,2803,2819,2833,2837,2843,2851,2857,2861,2879,2887,2897,2903,2909,2917,2927,2939,2953,2957,2963,2969,2971,2999,3001,3011,3019,3023,3037,3041,3049,3061,3067,3079,3083,3089,3109,3119,3121,3137,3163,3167,3169,3181,3187,3191,3203,3209,3217,3221,3229,3251,3253,3257,3259,3271,3299,3301,3307,3313,3319,3323,3329,3331,3343,3347,3359,3361,3371,3373,3389,3391,3407,3413,3433,3449,3457,3461,3463,3467,3469,3491,3499,3511,3517,3527,3529,3533,3539,3541,3547,3557,3559,3571,3581,3583,3593,3607,3613,3617,3623,3631,3637,3643,3659,3671,3673,3677,3691,3697,3701,3709,3719,3727,3733,3739,3761,3767,3769,3779,3793,3797,3803,3821,3823,3833,3847,3851,3853,3863,3877,3881,3889,3907,3911,3917,3919,3923,3929,3931,3943,3947,3967,3989,4001,4003,4007,4013,4019,4021,4027,4049,4051,4057,4073,4079,4091,4093,4099,4111,4127,4129,4133,4139,4153,4157,4159,4177,4201,4211,4217,4219,4229,4231,4241,4243,4253,4259,4261,4271,4273,4283,4289,4297,4327,4337,4339,4349,4357,4363,4373,4391,4397,4409,4421,4423,4441,4447,4451,4457,4463,4481,4483,4493,4507,4513,4517,4519,4523,4547,4549,4561,4567,4583,4591,4597,4603,4621,4637,4639,4643,4649,4651,4657,4663,4673,4679,4691,4703,4721,4723,4729,4733,4751,4759,4783,4787,4789,4793,4799,4801,4813,4817,4831,4861,4871,4877,4889,4903,4909,4919,4931,4933,4937,4943,4951,4957,4967,4969,4973,4987,4993,4999].map((e=>BigInt(e)));const we=M.getWebCrypto(),me=M.getNodeCrypto(),be=me&&me.getHashes();function ke(e){if(me&&be.includes(e))return async function(t){const r=me.createHash(e);return b(t,(e=>{r.update(e)}),(()=>new Uint8Array(r.digest())))}}function Ee(e,t){const r=async()=>{const{nobleHashes:t}=await Promise.resolve().then((function(){return If})),r=t.get(e);if(!r)throw Error("Unsupported hash");return r};return async function(e){if(a(e)&&(e=await K(e)),M.isStream(e)){const t=(await r()).create();return b(e,(e=>{t.update(e)}),(()=>t.digest()))}if(we&&t)return new Uint8Array(await we.digest(t,e));return(await r())(e)}}const ve=ke("md5")||Ee("md5"),Be=ke("sha1")||Ee("sha1","SHA-1"),Se=ke("sha224")||Ee("sha224"),Ie=ke("sha256")||Ee("sha256","SHA-256"),Ke=ke("sha384")||Ee("sha384","SHA-384"),Ce=ke("sha512")||Ee("sha512","SHA-512"),Ue=ke("ripemd160")||Ee("ripemd160"),Pe=ke("sha3-256")||Ee("sha3_256"),De=ke("sha3-512")||Ee("sha3_512");function xe(e,t){switch(e){case Q.hash.md5:return ve(t);case Q.hash.sha1:return Be(t);case Q.hash.ripemd:return Ue(t);case Q.hash.sha256:return Ie(t);case Q.hash.sha384:return Ke(t);case Q.hash.sha512:return Ce(t);case Q.hash.sha224:return Se(t);case Q.hash.sha3_256:return Pe(t);case Q.hash.sha3_512:return De(t);default:throw Error("Unsupported hash function")}}function Qe(e){switch(e){case Q.hash.md5:return 16;case Q.hash.sha1:case Q.hash.ripemd:return 20;case Q.hash.sha256:return 32;case Q.hash.sha384:return 48;case Q.hash.sha512:return 64;case Q.hash.sha224:return 28;case Q.hash.sha3_256:return 32;case Q.hash.sha3_512:return 64;default:throw Error("Invalid hash algorithm.")}}const Re=[];function Te(e,t){const r=e.length;if(r>t-11)throw Error("Message too long");const n=function(e){const t=new Uint8Array(e);let r=0;for(;r<e;){const n=ye(e-r);for(let e=0;e<n.length;e++)0!==n[e]&&(t[r++]=n[e])}return t}(t-r-3),i=new Uint8Array(t);return i[1]=2,i.set(n,2),i.set(e,t-r),i}function Me(e,t){let r=2,n=1;for(let t=r;t<e.length;t++)n&=0!==e[t],r+=n;const i=r-2,s=e.subarray(r+1),a=0===e[0]&2===e[1]&i>=8&!n;if(t)return M.selectUint8Array(a,s,t);if(a)return s;throw Error("Decryption error")}function Le(e,t,r){let n;if(t.length!==Qe(e))throw Error("Invalid hash length");const i=new Uint8Array(Re[e].length);for(n=0;n<Re[e].length;n++)i[n]=Re[e][n];const s=i.length+t.length;if(r<s+11)throw Error("Intended encoded message length too short");const a=new Uint8Array(r-s-3).fill(255),o=new Uint8Array(r);return o[1]=1,o.set(a,2),o.set(i,r-s),o.set(t,r-t.length),o}Re[1]=[48,32,48,12,6,8,42,134,72,134,247,13,2,5,5,0,4,16],Re[2]=[48,33,48,9,6,5,43,14,3,2,26,5,0,4,20],Re[3]=[48,33,48,9,6,5,43,36,3,2,1,5,0,4,20],Re[8]=[48,49,48,13,6,9,96,134,72,1,101,3,4,2,1,5,0,4,32],Re[9]=[48,65,48,13,6,9,96,134,72,1,101,3,4,2,2,5,0,4,48],Re[10]=[48,81,48,13,6,9,96,134,72,1,101,3,4,2,3,5,0,4,64],Re[11]=[48,45,48,13,6,9,96,134,72,1,101,3,4,2,4,5,0,4,28];const Ne=M.getWebCrypto(),Fe=M.getNodeCrypto(),Oe=BigInt(1);async function He(e,t,r,n,i,s,a,o,c){if(Qe(e)>=r.length)throw Error("Digest size cannot exceed key modulus size");if(t&&!M.isStream(t))if(M.getWebCrypto())try{return await async function(e,t,r,n,i,s,a,o){const c=await qe(r,n,i,s,a,o),u={name:"RSASSA-PKCS1-v1_5",hash:{name:e}},h=await Ne.importKey("jwk",c,u,!1,["sign"]);return new Uint8Array(await Ne.sign("RSASSA-PKCS1-v1_5",h,t))}(Q.read(Q.webHash,e),t,r,n,i,s,a,o)}catch(e){M.printDebugError(e)}else if(M.getNodeCrypto())return async function(e,t,r,n,i,s,a,o){const c=Fe.createSign(Q.read(Q.hash,e));c.write(t),c.end();const u=await qe(r,n,i,s,a,o);return new Uint8Array(c.sign({key:u,format:"jwk",type:"pkcs1"}))}(e,t,r,n,i,s,a,o);return async function(e,t,r,n){t=te(t);const i=te(Le(e,n,ue(t)));return r=te(r),he(ne(i,r,t),"be",ue(t))}(e,r,i,c)}async function _e(e,t,r,n,i,s){if(t&&!M.isStream(t))if(M.getWebCrypto())try{return await async function(e,t,r,n,i){const s=je(n,i),a=await Ne.importKey("jwk",s,{name:"RSASSA-PKCS1-v1_5",hash:{name:e}},!1,["verify"]);return Ne.verify("RSASSA-PKCS1-v1_5",a,r,t)}(Q.read(Q.webHash,e),t,r,n,i)}catch(e){M.printDebugError(e)}else if(M.getNodeCrypto())return async function(e,t,r,n,i){const s=je(n,i),a={key:s,format:"jwk",type:"pkcs1"},o=Fe.createVerify(Q.read(Q.hash,e));o.write(t),o.end();try{return o.verify(a,r)}catch(e){return!1}}(e,t,r,n,i);return async function(e,t,r,n,i){if(r=te(r),t=te(t),n=te(n),t>=r)throw Error("Signature size cannot exceed modulus size");const s=he(ne(t,n,r),"be",ue(r)),a=Le(e,i,ue(r));return M.equalsUint8Array(s,a)}(e,r,n,i,s)}async function ze(e,t,r){return M.getNodeCrypto()?async function(e,t,r){const n=je(t,r),i={key:n,format:"jwk",type:"pkcs1",padding:Fe.constants.RSA_PKCS1_PADDING};return new Uint8Array(Fe.publicEncrypt(i,e))}(e,t,r):async function(e,t,r){if(t=te(t),e=te(Te(e,ue(t))),r=te(r),e>=t)throw Error("Message size cannot exceed modulus size");return he(ne(e,r,t),"be",ue(t))}(e,t,r)}async function Ge(e,t,r,n,i,s,a,o){if(M.getNodeCrypto()&&!o)try{return await async function(e,t,r,n,i,s,a){const o=await qe(t,r,n,i,s,a),c={key:o,format:"jwk",type:"pkcs1",padding:Fe.constants.RSA_PKCS1_PADDING};try{return new Uint8Array(Fe.privateDecrypt(c,e))}catch(e){throw Error("Decryption error")}}(e,t,r,n,i,s,a)}catch(e){M.printDebugError(e)}return async function(e,t,r,n,i,s,a,o){if(e=te(e),t=te(t),r=te(r),n=te(n),i=te(i),s=te(s),a=te(a),e>=t)throw Error("Data too large.");const c=re(n,s-Oe),u=re(n,i-Oe),h=fe(BigInt(2),t),l=ne(se(h,t),r,t);e=re(e*l,t);const y=ne(e,u,i),f=ne(e,c,s),p=re(a*(f-y),s);let g=p*i+y;return g=re(g*h,t),Me(he(g,"be",ue(t)),o)}(e,t,r,n,i,s,a,o)}async function qe(e,t,r,n,i,s){const a=te(n),o=te(i),c=te(r);let u=re(c,o-Oe),h=re(c,a-Oe);return h=he(h),u=he(u),{kty:"RSA",n:z(e),e:z(t),d:z(r),p:z(i),q:z(n),dp:z(u),dq:z(h),qi:z(s),ext:!0}}function je(e,t){return{kty:"RSA",n:z(e),e:z(t),ext:!0}}function Ve(e,t){return{n:_(e.n),e:he(t),d:_(e.d),p:_(e.q),q:_(e.p),u:_(e.qi)}}const Ye=BigInt(1);const Ze="object"==typeof e&&"crypto"in e?e.crypto:void 0,We={};var Je=function(e){var t,r=new Float64Array(16);if(e)for(t=0;t<e.length;t++)r[t]=e[t];return r},Xe=function(){throw Error("no PRNG")},$e=new Uint8Array(32);$e[0]=9;var et=Je(),tt=Je([1]),rt=Je([56129,1]),nt=Je([30883,4953,19914,30187,55467,16705,2637,112,59544,30585,16505,36039,65139,11119,27886,20995]),it=Je([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),st=Je([54554,36645,11616,51542,42930,38181,51040,26924,56412,64982,57905,49316,21502,52590,14035,8553]),at=Je([26200,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214]),ot=Je([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]);function ct(e,t,r,n){e[t]=r>>24&255,e[t+1]=r>>16&255,e[t+2]=r>>8&255,e[t+3]=255&r,e[t+4]=n>>24&255,e[t+5]=n>>16&255,e[t+6]=n>>8&255,e[t+7]=255&n}function ut(e,t,r,n){return function(e,t,r,n,i){var s,a=0;for(s=0;s<i;s++)a|=e[t+s]^r[n+s];return(1&a-1>>>8)-1}(e,t,r,n,32)}function ht(e,t){var r;for(r=0;r<16;r++)e[r]=0|t[r]}function lt(e){var t,r,n=1;for(t=0;t<16;t++)r=e[t]+n+65535,n=Math.floor(r/65536),e[t]=r-65536*n;e[0]+=n-1+37*(n-1)}function yt(e,t,r){for(var n,i=~(r-1),s=0;s<16;s++)n=i&(e[s]^t[s]),e[s]^=n,t[s]^=n}function ft(e,t){var r,n,i,s=Je(),a=Je();for(r=0;r<16;r++)a[r]=t[r];for(lt(a),lt(a),lt(a),n=0;n<2;n++){for(s[0]=a[0]-65517,r=1;r<15;r++)s[r]=a[r]-65535-(s[r-1]>>16&1),s[r-1]&=65535;s[15]=a[15]-32767-(s[14]>>16&1),i=s[15]>>16&1,s[14]&=65535,yt(a,s,1-i)}for(r=0;r<16;r++)e[2*r]=255&a[r],e[2*r+1]=a[r]>>8}function pt(e,t){var r=new Uint8Array(32),n=new Uint8Array(32);return ft(r,e),ft(n,t),ut(r,0,n,0)}function gt(e){var t=new Uint8Array(32);return ft(t,e),1&t[0]}function dt(e,t){var r;for(r=0;r<16;r++)e[r]=t[2*r]+(t[2*r+1]<<8);e[15]&=32767}function At(e,t,r){for(var n=0;n<16;n++)e[n]=t[n]+r[n]}function wt(e,t,r){for(var n=0;n<16;n++)e[n]=t[n]-r[n]}function mt(e,t,r){var n,i,s=0,a=0,o=0,c=0,u=0,h=0,l=0,y=0,f=0,p=0,g=0,d=0,A=0,w=0,m=0,b=0,k=0,E=0,v=0,B=0,S=0,I=0,K=0,C=0,U=0,P=0,D=0,x=0,Q=0,R=0,T=0,M=r[0],L=r[1],N=r[2],F=r[3],O=r[4],H=r[5],_=r[6],z=r[7],G=r[8],q=r[9],j=r[10],V=r[11],Y=r[12],Z=r[13],W=r[14],J=r[15];s+=(n=t[0])*M,a+=n*L,o+=n*N,c+=n*F,u+=n*O,h+=n*H,l+=n*_,y+=n*z,f+=n*G,p+=n*q,g+=n*j,d+=n*V,A+=n*Y,w+=n*Z,m+=n*W,b+=n*J,a+=(n=t[1])*M,o+=n*L,c+=n*N,u+=n*F,h+=n*O,l+=n*H,y+=n*_,f+=n*z,p+=n*G,g+=n*q,d+=n*j,A+=n*V,w+=n*Y,m+=n*Z,b+=n*W,k+=n*J,o+=(n=t[2])*M,c+=n*L,u+=n*N,h+=n*F,l+=n*O,y+=n*H,f+=n*_,p+=n*z,g+=n*G,d+=n*q,A+=n*j,w+=n*V,m+=n*Y,b+=n*Z,k+=n*W,E+=n*J,c+=(n=t[3])*M,u+=n*L,h+=n*N,l+=n*F,y+=n*O,f+=n*H,p+=n*_,g+=n*z,d+=n*G,A+=n*q,w+=n*j,m+=n*V,b+=n*Y,k+=n*Z,E+=n*W,v+=n*J,u+=(n=t[4])*M,h+=n*L,l+=n*N,y+=n*F,f+=n*O,p+=n*H,g+=n*_,d+=n*z,A+=n*G,w+=n*q,m+=n*j,b+=n*V,k+=n*Y,E+=n*Z,v+=n*W,B+=n*J,h+=(n=t[5])*M,l+=n*L,y+=n*N,f+=n*F,p+=n*O,g+=n*H,d+=n*_,A+=n*z,w+=n*G,m+=n*q,b+=n*j,k+=n*V,E+=n*Y,v+=n*Z,B+=n*W,S+=n*J,l+=(n=t[6])*M,y+=n*L,f+=n*N,p+=n*F,g+=n*O,d+=n*H,A+=n*_,w+=n*z,m+=n*G,b+=n*q,k+=n*j,E+=n*V,v+=n*Y,B+=n*Z,S+=n*W,I+=n*J,y+=(n=t[7])*M,f+=n*L,p+=n*N,g+=n*F,d+=n*O,A+=n*H,w+=n*_,m+=n*z,b+=n*G,k+=n*q,E+=n*j,v+=n*V,B+=n*Y,S+=n*Z,I+=n*W,K+=n*J,f+=(n=t[8])*M,p+=n*L,g+=n*N,d+=n*F,A+=n*O,w+=n*H,m+=n*_,b+=n*z,k+=n*G,E+=n*q,v+=n*j,B+=n*V,S+=n*Y,I+=n*Z,K+=n*W,C+=n*J,p+=(n=t[9])*M,g+=n*L,d+=n*N,A+=n*F,w+=n*O,m+=n*H,b+=n*_,k+=n*z,E+=n*G,v+=n*q,B+=n*j,S+=n*V,I+=n*Y,K+=n*Z,C+=n*W,U+=n*J,g+=(n=t[10])*M,d+=n*L,A+=n*N,w+=n*F,m+=n*O,b+=n*H,k+=n*_,E+=n*z,v+=n*G,B+=n*q,S+=n*j,I+=n*V,K+=n*Y,C+=n*Z,U+=n*W,P+=n*J,d+=(n=t[11])*M,A+=n*L,w+=n*N,m+=n*F,b+=n*O,k+=n*H,E+=n*_,v+=n*z,B+=n*G,S+=n*q,I+=n*j,K+=n*V,C+=n*Y,U+=n*Z,P+=n*W,D+=n*J,A+=(n=t[12])*M,w+=n*L,m+=n*N,b+=n*F,k+=n*O,E+=n*H,v+=n*_,B+=n*z,S+=n*G,I+=n*q,K+=n*j,C+=n*V,U+=n*Y,P+=n*Z,D+=n*W,x+=n*J,w+=(n=t[13])*M,m+=n*L,b+=n*N,k+=n*F,E+=n*O,v+=n*H,B+=n*_,S+=n*z,I+=n*G,K+=n*q,C+=n*j,U+=n*V,P+=n*Y,D+=n*Z,x+=n*W,Q+=n*J,m+=(n=t[14])*M,b+=n*L,k+=n*N,E+=n*F,v+=n*O,B+=n*H,S+=n*_,I+=n*z,K+=n*G,C+=n*q,U+=n*j,P+=n*V,D+=n*Y,x+=n*Z,Q+=n*W,R+=n*J,b+=(n=t[15])*M,a+=38*(E+=n*N),o+=38*(v+=n*F),c+=38*(B+=n*O),u+=38*(S+=n*H),h+=38*(I+=n*_),l+=38*(K+=n*z),y+=38*(C+=n*G),f+=38*(U+=n*q),p+=38*(P+=n*j),g+=38*(D+=n*V),d+=38*(x+=n*Y),A+=38*(Q+=n*Z),w+=38*(R+=n*W),m+=38*(T+=n*J),s=(n=(s+=38*(k+=n*L))+(i=1)+65535)-65536*(i=Math.floor(n/65536)),a=(n=a+i+65535)-65536*(i=Math.floor(n/65536)),o=(n=o+i+65535)-65536*(i=Math.floor(n/65536)),c=(n=c+i+65535)-65536*(i=Math.floor(n/65536)),u=(n=u+i+65535)-65536*(i=Math.floor(n/65536)),h=(n=h+i+65535)-65536*(i=Math.floor(n/65536)),l=(n=l+i+65535)-65536*(i=Math.floor(n/65536)),y=(n=y+i+65535)-65536*(i=Math.floor(n/65536)),f=(n=f+i+65535)-65536*(i=Math.floor(n/65536)),p=(n=p+i+65535)-65536*(i=Math.floor(n/65536)),g=(n=g+i+65535)-65536*(i=Math.floor(n/65536)),d=(n=d+i+65535)-65536*(i=Math.floor(n/65536)),A=(n=A+i+65535)-65536*(i=Math.floor(n/65536)),w=(n=w+i+65535)-65536*(i=Math.floor(n/65536)),m=(n=m+i+65535)-65536*(i=Math.floor(n/65536)),b=(n=b+i+65535)-65536*(i=Math.floor(n/65536)),s=(n=(s+=i-1+37*(i-1))+(i=1)+65535)-65536*(i=Math.floor(n/65536)),a=(n=a+i+65535)-65536*(i=Math.floor(n/65536)),o=(n=o+i+65535)-65536*(i=Math.floor(n/65536)),c=(n=c+i+65535)-65536*(i=Math.floor(n/65536)),u=(n=u+i+65535)-65536*(i=Math.floor(n/65536)),h=(n=h+i+65535)-65536*(i=Math.floor(n/65536)),l=(n=l+i+65535)-65536*(i=Math.floor(n/65536)),y=(n=y+i+65535)-65536*(i=Math.floor(n/65536)),f=(n=f+i+65535)-65536*(i=Math.floor(n/65536)),p=(n=p+i+65535)-65536*(i=Math.floor(n/65536)),g=(n=g+i+65535)-65536*(i=Math.floor(n/65536)),d=(n=d+i+65535)-65536*(i=Math.floor(n/65536)),A=(n=A+i+65535)-65536*(i=Math.floor(n/65536)),w=(n=w+i+65535)-65536*(i=Math.floor(n/65536)),m=(n=m+i+65535)-65536*(i=Math.floor(n/65536)),b=(n=b+i+65535)-65536*(i=Math.floor(n/65536)),s+=i-1+37*(i-1),e[0]=s,e[1]=a,e[2]=o,e[3]=c,e[4]=u,e[5]=h,e[6]=l,e[7]=y,e[8]=f,e[9]=p,e[10]=g,e[11]=d,e[12]=A,e[13]=w,e[14]=m,e[15]=b}function bt(e,t){mt(e,t,t)}function kt(e,t){var r,n=Je();for(r=0;r<16;r++)n[r]=t[r];for(r=253;r>=0;r--)bt(n,n),2!==r&&4!==r&&mt(n,n,t);for(r=0;r<16;r++)e[r]=n[r]}function Et(e,t,r){var n,i,s=new Uint8Array(32),a=new Float64Array(80),o=Je(),c=Je(),u=Je(),h=Je(),l=Je(),y=Je();for(i=0;i<31;i++)s[i]=t[i];for(s[31]=127&t[31]|64,s[0]&=248,dt(a,r),i=0;i<16;i++)c[i]=a[i],h[i]=o[i]=u[i]=0;for(o[0]=h[0]=1,i=254;i>=0;--i)yt(o,c,n=s[i>>>3]>>>(7&i)&1),yt(u,h,n),At(l,o,u),wt(o,o,u),At(u,c,h),wt(c,c,h),bt(h,l),bt(y,o),mt(o,u,o),mt(u,c,l),At(l,o,u),wt(o,o,u),bt(c,o),wt(u,h,y),mt(o,u,rt),At(o,o,h),mt(u,u,o),mt(o,h,y),mt(h,c,a),bt(c,l),yt(o,c,n),yt(u,h,n);for(i=0;i<16;i++)a[i+16]=o[i],a[i+32]=u[i],a[i+48]=c[i],a[i+64]=h[i];var f=a.subarray(32),p=a.subarray(16);return kt(f,f),mt(p,p,f),ft(e,p),0}function vt(e,t){return Et(e,t,$e)}var Bt=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function St(e,t,r,n){for(var i,s,a,o,c,u,h,l,y,f,p,g,d,A,w,m,b,k,E,v,B,S,I,K,C,U,P=new Int32Array(16),D=new Int32Array(16),x=e[0],Q=e[1],R=e[2],T=e[3],M=e[4],L=e[5],N=e[6],F=e[7],O=t[0],H=t[1],_=t[2],z=t[3],G=t[4],q=t[5],j=t[6],V=t[7],Y=0;n>=128;){for(E=0;E<16;E++)v=8*E+Y,P[E]=r[v+0]<<24|r[v+1]<<16|r[v+2]<<8|r[v+3],D[E]=r[v+4]<<24|r[v+5]<<16|r[v+6]<<8|r[v+7];for(E=0;E<80;E++)if(i=x,s=Q,a=R,o=T,c=M,u=L,h=N,F,y=O,f=H,p=_,g=z,d=G,A=q,w=j,V,I=65535&(S=V),K=S>>>16,C=65535&(B=F),U=B>>>16,I+=65535&(S=(G>>>14|M<<18)^(G>>>18|M<<14)^(M>>>9|G<<23)),K+=S>>>16,C+=65535&(B=(M>>>14|G<<18)^(M>>>18|G<<14)^(G>>>9|M<<23)),U+=B>>>16,I+=65535&(S=G&q^~G&j),K+=S>>>16,C+=65535&(B=M&L^~M&N),U+=B>>>16,B=Bt[2*E],I+=65535&(S=Bt[2*E+1]),K+=S>>>16,C+=65535&B,U+=B>>>16,B=P[E%16],K+=(S=D[E%16])>>>16,C+=65535&B,U+=B>>>16,C+=(K+=(I+=65535&S)>>>16)>>>16,I=65535&(S=k=65535&I|K<<16),K=S>>>16,C=65535&(B=b=65535&C|(U+=C>>>16)<<16),U=B>>>16,I+=65535&(S=(O>>>28|x<<4)^(x>>>2|O<<30)^(x>>>7|O<<25)),K+=S>>>16,C+=65535&(B=(x>>>28|O<<4)^(O>>>2|x<<30)^(O>>>7|x<<25)),U+=B>>>16,K+=(S=O&H^O&_^H&_)>>>16,C+=65535&(B=x&Q^x&R^Q&R),U+=B>>>16,l=65535&(C+=(K+=(I+=65535&S)>>>16)>>>16)|(U+=C>>>16)<<16,m=65535&I|K<<16,I=65535&(S=g),K=S>>>16,C=65535&(B=o),U=B>>>16,K+=(S=k)>>>16,C+=65535&(B=b),U+=B>>>16,Q=i,R=s,T=a,M=o=65535&(C+=(K+=(I+=65535&S)>>>16)>>>16)|(U+=C>>>16)<<16,L=c,N=u,F=h,x=l,H=y,_=f,z=p,G=g=65535&I|K<<16,q=d,j=A,V=w,O=m,E%16==15)for(v=0;v<16;v++)B=P[v],I=65535&(S=D[v]),K=S>>>16,C=65535&B,U=B>>>16,B=P[(v+9)%16],I+=65535&(S=D[(v+9)%16]),K+=S>>>16,C+=65535&B,U+=B>>>16,b=P[(v+1)%16],I+=65535&(S=((k=D[(v+1)%16])>>>1|b<<31)^(k>>>8|b<<24)^(k>>>7|b<<25)),K+=S>>>16,C+=65535&(B=(b>>>1|k<<31)^(b>>>8|k<<24)^b>>>7),U+=B>>>16,b=P[(v+14)%16],K+=(S=((k=D[(v+14)%16])>>>19|b<<13)^(b>>>29|k<<3)^(k>>>6|b<<26))>>>16,C+=65535&(B=(b>>>19|k<<13)^(k>>>29|b<<3)^b>>>6),U+=B>>>16,U+=(C+=(K+=(I+=65535&S)>>>16)>>>16)>>>16,P[v]=65535&C|U<<16,D[v]=65535&I|K<<16;I=65535&(S=O),K=S>>>16,C=65535&(B=x),U=B>>>16,B=e[0],K+=(S=t[0])>>>16,C+=65535&B,U+=B>>>16,U+=(C+=(K+=(I+=65535&S)>>>16)>>>16)>>>16,e[0]=x=65535&C|U<<16,t[0]=O=65535&I|K<<16,I=65535&(S=H),K=S>>>16,C=65535&(B=Q),U=B>>>16,B=e[1],K+=(S=t[1])>>>16,C+=65535&B,U+=B>>>16,U+=(C+=(K+=(I+=65535&S)>>>16)>>>16)>>>16,e[1]=Q=65535&C|U<<16,t[1]=H=65535&I|K<<16,I=65535&(S=_),K=S>>>16,C=65535&(B=R),U=B>>>16,B=e[2],K+=(S=t[2])>>>16,C+=65535&B,U+=B>>>16,U+=(C+=(K+=(I+=65535&S)>>>16)>>>16)>>>16,e[2]=R=65535&C|U<<16,t[2]=_=65535&I|K<<16,I=65535&(S=z),K=S>>>16,C=65535&(B=T),U=B>>>16,B=e[3],K+=(S=t[3])>>>16,C+=65535&B,U+=B>>>16,U+=(C+=(K+=(I+=65535&S)>>>16)>>>16)>>>16,e[3]=T=65535&C|U<<16,t[3]=z=65535&I|K<<16,I=65535&(S=G),K=S>>>16,C=65535&(B=M),U=B>>>16,B=e[4],K+=(S=t[4])>>>16,C+=65535&B,U+=B>>>16,U+=(C+=(K+=(I+=65535&S)>>>16)>>>16)>>>16,e[4]=M=65535&C|U<<16,t[4]=G=65535&I|K<<16,I=65535&(S=q),K=S>>>16,C=65535&(B=L),U=B>>>16,B=e[5],K+=(S=t[5])>>>16,C+=65535&B,U+=B>>>16,U+=(C+=(K+=(I+=65535&S)>>>16)>>>16)>>>16,e[5]=L=65535&C|U<<16,t[5]=q=65535&I|K<<16,I=65535&(S=j),K=S>>>16,C=65535&(B=N),U=B>>>16,B=e[6],K+=(S=t[6])>>>16,C+=65535&B,U+=B>>>16,U+=(C+=(K+=(I+=65535&S)>>>16)>>>16)>>>16,e[6]=N=65535&C|U<<16,t[6]=j=65535&I|K<<16,I=65535&(S=V),K=S>>>16,C=65535&(B=F),U=B>>>16,B=e[7],K+=(S=t[7])>>>16,C+=65535&B,U+=B>>>16,U+=(C+=(K+=(I+=65535&S)>>>16)>>>16)>>>16,e[7]=F=65535&C|U<<16,t[7]=V=65535&I|K<<16,Y+=128,n-=128}return n}function It(e,t,r){var n,i=new Int32Array(8),s=new Int32Array(8),a=new Uint8Array(256),o=r;for(i[0]=1779033703,i[1]=3144134277,i[2]=1013904242,i[3]=2773480762,i[4]=1359893119,i[5]=2600822924,i[6]=528734635,i[7]=1541459225,s[0]=4089235720,s[1]=2227873595,s[2]=4271175723,s[3]=1595750129,s[4]=2917565137,s[5]=725511199,s[6]=4215389547,s[7]=327033209,St(i,s,t,r),r%=128,n=0;n<r;n++)a[n]=t[o-r+n];for(a[r]=128,a[(r=256-128*(r<112?1:0))-9]=0,ct(a,r-8,o/536870912|0,o<<3),St(i,s,a,r),n=0;n<8;n++)ct(e,8*n,i[n],s[n]);return 0}function Kt(e,t){var r=Je(),n=Je(),i=Je(),s=Je(),a=Je(),o=Je(),c=Je(),u=Je(),h=Je();wt(r,e[1],e[0]),wt(h,t[1],t[0]),mt(r,r,h),At(n,e[0],e[1]),At(h,t[0],t[1]),mt(n,n,h),mt(i,e[3],t[3]),mt(i,i,it),mt(s,e[2],t[2]),At(s,s,s),wt(a,n,r),wt(o,s,i),At(c,s,i),At(u,n,r),mt(e[0],a,o),mt(e[1],u,c),mt(e[2],c,o),mt(e[3],a,u)}function Ct(e,t,r){var n;for(n=0;n<4;n++)yt(e[n],t[n],r)}function Ut(e,t){var r=Je(),n=Je(),i=Je();kt(i,t[2]),mt(r,t[0],i),mt(n,t[1],i),ft(e,n),e[31]^=gt(r)<<7}function Pt(e,t,r){var n,i;for(ht(e[0],et),ht(e[1],tt),ht(e[2],tt),ht(e[3],et),i=255;i>=0;--i)Ct(e,t,n=r[i/8|0]>>(7&i)&1),Kt(t,e),Kt(e,e),Ct(e,t,n)}function Dt(e,t){var r=[Je(),Je(),Je(),Je()];ht(r[0],st),ht(r[1],at),ht(r[2],tt),mt(r[3],st,at),Pt(e,r,t)}function xt(e,t,r){var n,i=new Uint8Array(64),s=[Je(),Je(),Je(),Je()];for(r||Xe(t,32),It(i,t,32),i[0]&=248,i[31]&=127,i[31]|=64,Dt(s,i),Ut(e,s),n=0;n<32;n++)t[n+32]=e[n];return 0}var Qt=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function Rt(e,t){var r,n,i,s;for(n=63;n>=32;--n){for(r=0,i=n-32,s=n-12;i<s;++i)t[i]+=r-16*t[n]*Qt[i-(n-32)],r=Math.floor((t[i]+128)/256),t[i]-=256*r;t[i]+=r,t[n]=0}for(r=0,i=0;i<32;i++)t[i]+=r-(t[31]>>4)*Qt[i],r=t[i]>>8,t[i]&=255;for(i=0;i<32;i++)t[i]-=r*Qt[i];for(n=0;n<32;n++)t[n+1]+=t[n]>>8,e[n]=255&t[n]}function Tt(e){var t,r=new Float64Array(64);for(t=0;t<64;t++)r[t]=e[t];for(t=0;t<64;t++)e[t]=0;Rt(e,r)}function Mt(e,t){var r=Je(),n=Je(),i=Je(),s=Je(),a=Je(),o=Je(),c=Je();return ht(e[2],tt),dt(e[1],t),bt(i,e[1]),mt(s,i,nt),wt(i,i,e[2]),At(s,e[2],s),bt(a,s),bt(o,a),mt(c,o,a),mt(r,c,i),mt(r,r,s),function(e,t){var r,n=Je();for(r=0;r<16;r++)n[r]=t[r];for(r=250;r>=0;r--)bt(n,n),1!==r&&mt(n,n,t);for(r=0;r<16;r++)e[r]=n[r]}(r,r),mt(r,r,i),mt(r,r,s),mt(r,r,s),mt(e[0],r,s),bt(n,e[0]),mt(n,n,s),pt(n,i)&&mt(e[0],e[0],ot),bt(n,e[0]),mt(n,n,s),pt(n,i)?-1:(gt(e[0])===t[31]>>7&&wt(e[0],et,e[0]),mt(e[3],e[0],e[1]),0)}var Lt=64;function Nt(){for(var e=0;e<arguments.length;e++)if(!(arguments[e]instanceof Uint8Array))throw new TypeError("unexpected type, use Uint8Array")}We.scalarMult=function(e,t){if(Nt(e,t),32!==e.length)throw Error("bad n size");if(32!==t.length)throw Error("bad p size");var r=new Uint8Array(32);return Et(r,e,t),r},We.box={},We.box.keyPair=function(){var e=new Uint8Array(32),t=new Uint8Array(32);return function(e,t){Xe(t,32),vt(e,t)}(e,t),{publicKey:e,secretKey:t}},We.box.keyPair.fromSecretKey=function(e){if(Nt(e),32!==e.length)throw Error("bad secret key size");var t=new Uint8Array(32);return vt(t,e),{publicKey:t,secretKey:new Uint8Array(e)}},We.sign=function(e,t){if(Nt(e,t),64!==t.length)throw Error("bad secret key size");var r=new Uint8Array(Lt+e.length);return function(e,t,r,n){var i,s,a=new Uint8Array(64),o=new Uint8Array(64),c=new Uint8Array(64),u=new Float64Array(64),h=[Je(),Je(),Je(),Je()];It(a,n,32),a[0]&=248,a[31]&=127,a[31]|=64;var l=r+64;for(i=0;i<r;i++)e[64+i]=t[i];for(i=0;i<32;i++)e[32+i]=a[32+i];for(It(c,e.subarray(32),r+32),Tt(c),Dt(h,c),Ut(e,h),i=32;i<64;i++)e[i]=n[i];for(It(o,e,r+64),Tt(o),i=0;i<64;i++)u[i]=0;for(i=0;i<32;i++)u[i]=c[i];for(i=0;i<32;i++)for(s=0;s<32;s++)u[i+s]+=o[i]*a[s];Rt(e.subarray(32),u)}(r,e,e.length,t),r},We.sign.detached=function(e,t){for(var r=We.sign(e,t),n=new Uint8Array(Lt),i=0;i<n.length;i++)n[i]=r[i];return n},We.sign.detached.verify=function(e,t,r){if(Nt(e,t,r),t.length!==Lt)throw Error("bad signature size");if(32!==r.length)throw Error("bad public key size");var n,i=new Uint8Array(Lt+e.length),s=new Uint8Array(Lt+e.length);for(n=0;n<Lt;n++)i[n]=t[n];for(n=0;n<e.length;n++)i[n+Lt]=e[n];return function(e,t,r,n){var i,s=new Uint8Array(32),a=new Uint8Array(64),o=[Je(),Je(),Je(),Je()],c=[Je(),Je(),Je(),Je()];if(r<64)return-1;if(Mt(c,n))return-1;for(i=0;i<r;i++)e[i]=t[i];for(i=0;i<32;i++)e[i+32]=n[i];if(It(a,e,r),Tt(a),Pt(o,c,a),Dt(c,t.subarray(32)),Kt(o,c),Ut(s,o),r-=64,ut(t,0,s,0)){for(i=0;i<r;i++)e[i]=0;return-1}for(i=0;i<r;i++)e[i]=t[i+64];return r}(s,i,i.length,r)>=0},We.sign.keyPair=function(){var e=new Uint8Array(32),t=new Uint8Array(64);return xt(e,t),{publicKey:e,secretKey:t}},We.sign.keyPair.fromSecretKey=function(e){if(Nt(e),64!==e.length)throw Error("bad secret key size");for(var t=new Uint8Array(32),r=0;r<t.length;r++)t[r]=e[32+r];return{publicKey:t,secretKey:new Uint8Array(e)}},We.sign.keyPair.fromSeed=function(e){if(Nt(e),32!==e.length)throw Error("bad seed size");for(var t=new Uint8Array(32),r=new Uint8Array(64),n=0;n<32;n++)r[n]=e[n];return xt(t,r,!0),{publicKey:t,secretKey:r}},We.setPRNG=function(e){Xe=e},function(){if(Ze&&Ze.getRandomValues){We.setPRNG((function(e,t){var r,n=new Uint8Array(t);for(r=0;r<t;r+=65536)Ze.getRandomValues(n.subarray(r,r+Math.min(t-r,65536)));for(r=0;r<t;r++)e[r]=n[r];!function(e){for(var t=0;t<e.length;t++)e[t]=0}(n)}))}}();const Ft={"2a8648ce3d030107":Q.curve.nistP256,"2b81040022":Q.curve.nistP384,"2b81040023":Q.curve.nistP521,"2b8104000a":Q.curve.secp256k1,"2b06010401da470f01":Q.curve.ed25519Legacy,"2b060104019755010501":Q.curve.curve25519Legacy,"2b2403030208010107":Q.curve.brainpoolP256r1,"2b240303020801010b":Q.curve.brainpoolP384r1,"2b240303020801010d":Q.curve.brainpoolP512r1};class Ot{constructor(e){if(e instanceof Ot)this.oid=e.oid;else if(M.isArray(e)||M.isUint8Array(e)){if(6===(e=new Uint8Array(e))[0]){if(e[1]!==e.length-2)throw Error("Length mismatch in DER encoded oid");e=e.subarray(2)}this.oid=e}else this.oid=""}read(e){if(e.length>=1){const t=e[0];if(e.length>=1+t)return this.oid=e.subarray(1,1+t),1+this.oid.length}throw Error("Invalid oid")}write(){return M.concatUint8Array([new Uint8Array([this.oid.length]),this.oid])}toHex(){return M.uint8ArrayToHex(this.oid)}getName(){const e=Ft[this.toHex()];if(!e)throw Error("Unknown curve object identifier.");return e}}function Ht(e){let t,r=0;const n=e[0];return n<192?([r]=e,t=1):n<255?(r=(e[0]-192<<8)+e[1]+192,t=2):255===n&&(r=M.readNumber(e.subarray(1,5)),t=5),{len:r,offset:t}}function _t(e){return e<192?new Uint8Array([e]):e>191&&e<8384?new Uint8Array([192+(e-192>>8),e-192&255]):M.concatUint8Array([new Uint8Array([255]),M.writeNumber(e,4)])}function zt(e){if(e<0||e>30)throw Error("Partial Length power must be between 1 and 30");return new Uint8Array([224+e])}function Gt(e){return new Uint8Array([192|e])}function qt(e,t){return M.concatUint8Array([Gt(e),_t(t)])}function jt(e){return[Q.packet.literalData,Q.packet.compressedData,Q.packet.symmetricallyEncryptedData,Q.packet.symEncryptedIntegrityProtectedData,Q.packet.aeadEncryptedData].includes(e)}async function Vt(e,t){const r=P(e);let n,i;try{const s=await r.peekBytes(2);if(!s||s.length<2||!(128&s[0]))throw Error("Error during parsing. This message / key probably does not conform to a valid OpenPGP format.");const a=await r.readByte();let o,c,u=-1,h=-1;h=0,64&a&&(h=1),h?u=63&a:(u=(63&a)>>2,c=3&a);const l=jt(u);let y,f=null;if(l){if("array"===M.isStream(e)){const e=new ArrayStream;n=D(e),f=e}else{const e=new TransformStream;n=D(e.writable),f=e.readable}i=t({tag:u,packet:f})}else f=[];do{if(h){const e=await r.readByte();if(y=!1,e<192)o=e;else if(e>=192&&e<224)o=(e-192<<8)+await r.readByte()+192;else if(e>223&&e<255){if(o=1<<(31&e),y=!0,!l)throw new TypeError("This packet type does not support partial lengths.")}else o=await r.readByte()<<24|await r.readByte()<<16|await r.readByte()<<8|await r.readByte()}else switch(c){case 0:o=await r.readByte();break;case 1:o=await r.readByte()<<8|await r.readByte();break;case 2:o=await r.readByte()<<24|await r.readByte()<<16|await r.readByte()<<8|await r.readByte();break;default:o=1/0}if(o>0){let e=0;for(;;){n&&await n.ready;const{done:t,value:i}=await r.read();if(t){if(o===1/0)break;throw Error("Unexpected end of packet")}const s=o===1/0?i:i.subarray(0,o-e);if(n?await n.write(s):f.push(s),e+=i.length,e>=o){r.unshift(i.subarray(o-e+i.length));break}}}}while(y);const p=await r.peekBytes(l?1/0:2);return n?(await n.ready,await n.close()):(f=M.concatUint8Array(f),await t({tag:u,packet:f})),!p||!p.length}catch(e){if(n)return await n.abort(e),!0;throw e}finally{n&&await i,r.releaseLock()}}class Yt extends Error{constructor(...e){super(...e),Error.captureStackTrace&&Error.captureStackTrace(this,Yt),this.name="UnsupportedError"}}class Zt extends Yt{constructor(...e){super(...e),Error.captureStackTrace&&Error.captureStackTrace(this,Yt),this.name="UnknownPacketError"}}class Wt{constructor(e,t){this.tag=e,this.rawContent=t}write(){return this.rawContent}}
3
- /*! noble-ed25519 - MIT License (c) 2019 Paul Miller (paulmillr.com) */const Jt=BigInt(0),Xt=BigInt(1),$t=BigInt(2),er=BigInt(8),tr=BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),rr=Object.freeze({a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),P:BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),l:tr,n:tr,h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960")}),nr=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000"),ir=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");BigInt("6853475219497561581579357271197624642482790079785650197046958215289687604742");const sr=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),ar=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),or=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),cr=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952");class ur{constructor(e,t,r,n){this.x=e,this.y=t,this.z=r,this.t=n}static fromAffine(e){if(!(e instanceof dr))throw new TypeError("ExtendedPoint#fromAffine: expected Point");return e.equals(dr.ZERO)?ur.ZERO:new ur(e.x,e.y,Xt,Cr(e.x*e.y))}static toAffineBatch(e){const t=function(e,t=rr.P){const r=Array(e.length),n=e.reduce(((e,n,i)=>n===Jt?e:(r[i]=e,Cr(e*n,t))),Xt),i=Ur(n,t);return e.reduceRight(((e,n,i)=>n===Jt?e:(r[i]=Cr(e*r[i],t),Cr(e*n,t))),i),r}(e.map((e=>e.z)));return e.map(((e,r)=>e.toAffine(t[r])))}static normalizeZ(e){return this.toAffineBatch(e).map(this.fromAffine)}equals(e){lr(e);const{x:t,y:r,z:n}=this,{x:i,y:s,z:a}=e,o=Cr(t*a),c=Cr(i*n),u=Cr(r*a),h=Cr(s*n);return o===c&&u===h}negate(){return new ur(Cr(-this.x),this.y,this.z,Cr(-this.t))}double(){const{x:e,y:t,z:r}=this,{a:n}=rr,i=Cr(e*e),s=Cr(t*t),a=Cr($t*Cr(r*r)),o=Cr(n*i),c=e+t,u=Cr(Cr(c*c)-i-s),h=o+s,l=h-a,y=o-s,f=Cr(u*l),p=Cr(h*y),g=Cr(u*y),d=Cr(l*h);return new ur(f,p,d,g)}add(e){lr(e);const{x:t,y:r,z:n,t:i}=this,{x:s,y:a,z:o,t:c}=e,u=Cr((r-t)*(a+s)),h=Cr((r+t)*(a-s)),l=Cr(h-u);if(l===Jt)return this.double();const y=Cr(n*$t*c),f=Cr(i*$t*o),p=f+y,g=h+u,d=f-y,A=Cr(p*l),w=Cr(g*d),m=Cr(p*d),b=Cr(l*g);return new ur(A,w,b,m)}subtract(e){return this.add(e.negate())}precomputeWindow(e){const t=1+256/e,r=[];let n=this,i=n;for(let s=0;s<t;s++){i=n,r.push(i);for(let t=1;t<2**(e-1);t++)i=i.add(n),r.push(i);n=i.double()}return r}wNAF(e,t){!t&&this.equals(ur.BASE)&&(t=dr.BASE);const r=t&&t._WINDOW_SIZE||1;if(256%r)throw Error("Point#wNAF: Invalid precomputation window, must be power of 2");let n=t&&gr.get(t);n||(n=this.precomputeWindow(r),t&&1!==r&&(n=ur.normalizeZ(n),gr.set(t,n)));let i=ur.ZERO,s=ur.BASE;const a=1+256/r,o=2**(r-1),c=BigInt(2**r-1),u=2**r,h=BigInt(r);for(let t=0;t<a;t++){const r=t*o;let a=Number(e&c);e>>=h,a>o&&(a-=u,e+=Xt);const l=r,y=r+Math.abs(a)-1,f=t%2!=0,p=a<0;0===a?s=s.add(hr(f,n[l])):i=i.add(hr(p,n[y]))}return ur.normalizeZ([i,s])[0]}multiply(e,t){return this.wNAF(Tr(e,rr.l),t)}multiplyUnsafe(e){let t=Tr(e,rr.l,!1);const r=ur.BASE,n=ur.ZERO;if(t===Jt)return n;if(this.equals(n)||t===Xt)return this;if(this.equals(r))return this.wNAF(t);let i=n,s=this;for(;t>Jt;)t&Xt&&(i=i.add(s)),s=s.double(),t>>=Xt;return i}isSmallOrder(){return this.multiplyUnsafe(rr.h).equals(ur.ZERO)}isTorsionFree(){let e=this.multiplyUnsafe(rr.l/$t).double();return rr.l%$t&&(e=e.add(this)),e.equals(ur.ZERO)}toAffine(e){const{x:t,y:r,z:n}=this,i=this.equals(ur.ZERO);null==e&&(e=i?er:Ur(n));const s=Cr(t*e),a=Cr(r*e),o=Cr(n*e);if(i)return dr.ZERO;if(o!==Xt)throw Error("invZ was invalid");return new dr(s,a)}fromRistrettoBytes(){fr()}toRistrettoBytes(){fr()}fromRistrettoHash(){fr()}}function hr(e,t){const r=t.negate();return e?r:t}function lr(e){if(!(e instanceof ur))throw new TypeError("ExtendedPoint expected")}function yr(e){if(!(e instanceof pr))throw new TypeError("RistrettoPoint expected")}function fr(){throw Error("Legacy method: switch to RistrettoPoint")}ur.BASE=new ur(rr.Gx,rr.Gy,Xt,Cr(rr.Gx*rr.Gy)),ur.ZERO=new ur(Jt,Xt,Xt,Jt);class pr{constructor(e){this.ep=e}static calcElligatorRistrettoMap(e){const{d:t}=rr,r=Cr(ir*e*e),n=Cr((r+Xt)*or);let i=BigInt(-1);const s=Cr((i-t*r)*Cr(r+t));let{isValid:a,value:o}=Dr(n,s),c=Cr(o*e);Br(c)||(c=Cr(-c)),a||(o=c),a||(i=r);const u=Cr(i*(r-Xt)*cr-s),h=o*o,l=Cr((o+o)*s),y=Cr(u*sr),f=Cr(Xt-h),p=Cr(Xt+h);return new ur(Cr(l*p),Cr(f*y),Cr(y*p),Cr(l*f))}static hashToCurve(e){const t=Kr((e=Rr(e,64)).slice(0,32)),r=this.calcElligatorRistrettoMap(t),n=Kr(e.slice(32,64)),i=this.calcElligatorRistrettoMap(n);return new pr(r.add(i))}static fromHex(e){e=Rr(e,32);const{a:t,d:r}=rr,n="RistrettoPoint.fromHex: the hex is not valid encoding of RistrettoPoint",i=Kr(e);if(!function(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0}(vr(i),e)||Br(i))throw Error(n);const s=Cr(i*i),a=Cr(Xt+t*s),o=Cr(Xt-t*s),c=Cr(a*a),u=Cr(o*o),h=Cr(t*r*c-u),{isValid:l,value:y}=xr(Cr(h*u)),f=Cr(y*o),p=Cr(y*f*h);let g=Cr((i+i)*f);Br(g)&&(g=Cr(-g));const d=Cr(a*p),A=Cr(g*d);if(!l||Br(A)||d===Jt)throw Error(n);return new pr(new ur(g,d,Xt,A))}toRawBytes(){let{x:e,y:t,z:r,t:n}=this.ep;const i=Cr(Cr(r+t)*Cr(r-t)),s=Cr(e*t),a=Cr(s*s),{value:o}=xr(Cr(i*a)),c=Cr(o*i),u=Cr(o*s),h=Cr(c*u*n);let l;if(Br(n*h)){let r=Cr(t*ir),n=Cr(e*ir);e=r,t=n,l=Cr(c*ar)}else l=u;Br(e*h)&&(t=Cr(-t));let y=Cr((r-t)*l);return Br(y)&&(y=Cr(-y)),vr(y)}toHex(){return br(this.toRawBytes())}toString(){return this.toHex()}equals(e){yr(e);const t=this.ep,r=e.ep,n=Cr(t.x*r.y)===Cr(t.y*r.x),i=Cr(t.y*r.y)===Cr(t.x*r.x);return n||i}add(e){return yr(e),new pr(this.ep.add(e.ep))}subtract(e){return yr(e),new pr(this.ep.subtract(e.ep))}multiply(e){return new pr(this.ep.multiply(e))}multiplyUnsafe(e){return new pr(this.ep.multiplyUnsafe(e))}}pr.BASE=new pr(ur.BASE),pr.ZERO=new pr(ur.ZERO);const gr=new WeakMap;class dr{constructor(e,t){this.x=e,this.y=t}_setWindowSize(e){this._WINDOW_SIZE=e,gr.delete(this)}static fromHex(e,t=!0){const{d:r,P:n}=rr,i=(e=Rr(e,32)).slice();i[31]=-129&e[31];const s=Sr(i);if(t&&s>=n)throw Error("Expected 0 < hex < P");if(!t&&s>=nr)throw Error("Expected 0 < hex < 2**256");const a=Cr(s*s),o=Cr(a-Xt),c=Cr(r*a+Xt);let{isValid:u,value:h}=Dr(o,c);if(!u)throw Error("Point.fromHex: invalid y coordinate");const l=(h&Xt)===Xt;return!!(128&e[31])!==l&&(h=Cr(-h)),new dr(h,s)}static async fromPrivateKey(e){return(await Lr(e)).point}toRawBytes(){const e=vr(this.y);return e[31]|=this.x&Xt?128:0,e}toHex(){return br(this.toRawBytes())}toX25519(){const{y:e}=this;return vr(Cr((Xt+e)*Ur(Xt-e)))}isTorsionFree(){return ur.fromAffine(this).isTorsionFree()}equals(e){return this.x===e.x&&this.y===e.y}negate(){return new dr(Cr(-this.x),this.y)}add(e){return ur.fromAffine(this).add(ur.fromAffine(e)).toAffine()}subtract(e){return this.add(e.negate())}multiply(e){return ur.fromAffine(this).multiply(e,this).toAffine()}}dr.BASE=new dr(rr.Gx,rr.Gy),dr.ZERO=new dr(Jt,Xt);let Ar=class e{constructor(e,t){this.r=e,this.s=t,this.assertValidity()}static fromHex(t){const r=Rr(t,64),n=dr.fromHex(r.slice(0,32),!1),i=Sr(r.slice(32,64));return new e(n,i)}assertValidity(){const{r:e,s:t}=this;if(!(e instanceof dr))throw Error("Expected Point instance");return Tr(t,rr.l,!1),this}toRawBytes(){const e=new Uint8Array(64);return e.set(this.r.toRawBytes()),e.set(vr(this.s),32),e}toHex(){return br(this.toRawBytes())}};function wr(...e){if(!e.every((e=>e instanceof Uint8Array)))throw Error("Expected Uint8Array list");if(1===e.length)return e[0];const t=e.reduce(((e,t)=>e+t.length),0),r=new Uint8Array(t);for(let t=0,n=0;t<e.length;t++){const i=e[t];r.set(i,n),n+=i.length}return r}const mr=Array.from({length:256},((e,t)=>t.toString(16).padStart(2,"0")));function br(e){if(!(e instanceof Uint8Array))throw Error("Uint8Array expected");let t="";for(let r=0;r<e.length;r++)t+=mr[e[r]];return t}function kr(e){if("string"!=typeof e)throw new TypeError("hexToBytes: expected string, got "+typeof e);if(e.length%2)throw Error("hexToBytes: received invalid unpadded hex");const t=new Uint8Array(e.length/2);for(let r=0;r<t.length;r++){const n=2*r,i=e.slice(n,n+2),s=Number.parseInt(i,16);if(Number.isNaN(s)||s<0)throw Error("Invalid byte sequence");t[r]=s}return t}function Er(e){return kr(e.toString(16).padStart(64,"0"))}function vr(e){return Er(e).reverse()}function Br(e){return(Cr(e)&Xt)===Xt}function Sr(e){if(!(e instanceof Uint8Array))throw Error("Expected Uint8Array");return BigInt("0x"+br(Uint8Array.from(e).reverse()))}const Ir=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function Kr(e){return Cr(Sr(e)&Ir)}function Cr(e,t=rr.P){const r=e%t;return r>=Jt?r:t+r}function Ur(e,t=rr.P){if(e===Jt||t<=Jt)throw Error(`invert: expected positive integers, got n=${e} mod=${t}`);let r=Cr(e,t),n=t,i=Jt,s=Xt;for(;r!==Jt;){const e=n%r,t=i-s*(n/r);n=r,r=e,i=s,s=t}if(n!==Xt)throw Error("invert: does not exist");return Cr(i,t)}function Pr(e,t){const{P:r}=rr;let n=e;for(;t-- >Jt;)n*=n,n%=r;return n}function Dr(e,t){const r=Cr(t*t*t),n=function(e){const{P:t}=rr,r=BigInt(5),n=BigInt(10),i=BigInt(20),s=BigInt(40),a=BigInt(80),o=e*e%t*e%t,c=Pr(o,$t)*o%t,u=Pr(c,Xt)*e%t,h=Pr(u,r)*u%t,l=Pr(h,n)*h%t,y=Pr(l,i)*l%t,f=Pr(y,s)*y%t,p=Pr(f,a)*f%t,g=Pr(p,a)*f%t,d=Pr(g,n)*h%t;return{pow_p_5_8:Pr(d,$t)*e%t,b2:o}}(e*Cr(r*r*t)).pow_p_5_8;let i=Cr(e*r*n);const s=Cr(t*i*i),a=i,o=Cr(i*ir),c=s===e,u=s===Cr(-e),h=s===Cr(-e*ir);return c&&(i=a),(u||h)&&(i=o),Br(i)&&(i=Cr(-i)),{isValid:c||u,value:i}}function xr(e){return Dr(Xt,e)}function Qr(e){return Cr(Sr(e),rr.l)}function Rr(e,t){const r=e instanceof Uint8Array?Uint8Array.from(e):kr(e);if("number"==typeof t&&r.length!==t)throw Error(`Expected ${t} bytes`);return r}function Tr(e,t,r=!0){if(!t)throw new TypeError("Specify max value");if("number"==typeof e&&Number.isSafeInteger(e)&&(e=BigInt(e)),"bigint"==typeof e&&e<t)if(r){if(Jt<e)return e}else if(Jt<=e)return e;throw new TypeError("Expected valid scalar: 0 < scalar < max")}let Mr;async function Lr(e){return function(e){const t=function(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}(e.slice(0,32)),r=e.slice(32,64),n=Qr(t),i=dr.BASE.multiply(n),s=i.toRawBytes();return{head:t,prefix:r,scalar:n,point:i,pointBytes:s}}(await Or.sha512(function(e){if(32!==(e="bigint"==typeof e||"number"==typeof e?Er(Tr(e,nr)):Rr(e)).length)throw Error("Expected 32 bytes");return e}(e)))}async function Nr(e,t,r){const{r:n,SB:i,msg:s,pub:a}=function(e,t,r){t=Rr(t),r instanceof dr||(r=dr.fromHex(r,!1));const{r:n,s:i}=e instanceof Ar?e.assertValidity():Ar.fromHex(e);return{r:n,s:i,SB:ur.BASE.multiplyUnsafe(i),pub:r,msg:t}}(e,t,r),o=await Or.sha512(n.toRawBytes(),a.toRawBytes(),s);return function(e,t,r,n){const i=Qr(n),s=ur.fromAffine(e).multiplyUnsafe(i);return ur.fromAffine(t).add(s).subtract(r).multiplyUnsafe(rr.h).equals(ur.ZERO)}(a,n,i,o)}dr.BASE._setWindowSize(8);const Fr={node:null,web:"object"==typeof self&&"crypto"in self?self.crypto:void 0},Or={bytesToHex:br,hexToBytes:kr,concatBytes:wr,getExtendedPublicKey:Lr,mod:Cr,invert:Ur,TORSION_SUBGROUP:["0100000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a","0000000000000000000000000000000000000000000000000000000000000080","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05","ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85","0000000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa"],hashToPrivateScalar:e=>{if((e=Rr(e)).length<40||e.length>1024)throw Error("Expected 40-1024 bytes of private key as per FIPS 186");return Cr(Sr(e),rr.l-Xt)+Xt},randomBytes:(e=32)=>{if(Fr.web)return Fr.web.getRandomValues(new Uint8Array(e));throw Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>Or.randomBytes(32),sha512:async(...e)=>{const t=wr(...e);if(Fr.web){const e=await Fr.web.subtle.digest("SHA-512",t.buffer);return new Uint8Array(e)}throw Error("The environment doesn't have sha512 function")},precompute(e=8,t=dr.BASE){const r=t.equals(dr.BASE)?t:new dr(t.x,t.y);return r._setWindowSize(e),r.multiply($t),r},sha512Sync:void 0};async function Hr(e){switch(e){case Q.publicKey.ed25519:try{const e=M.getWebCrypto(),t=await e.generateKey("Ed25519",!0,["sign","verify"]).catch((e=>{if("OperationError"===e.name){const e=Error("Unexpected key generation issue");throw e.name="NotSupportedError",e}throw e})),r=await e.exportKey("jwk",t.privateKey),n=await e.exportKey("jwk",t.publicKey);return{A:new Uint8Array(_(n.x)),seed:_(r.d)}}catch(t){if("NotSupportedError"!==t.name)throw t;const r=ye(qr(e)),{publicKey:n}=We.sign.keyPair.fromSeed(r);return{A:n,seed:r}}case Q.publicKey.ed448:{const e=await M.getNobleCurve(Q.publicKey.ed448),t=e.utils.randomPrivateKey();return{A:e.getPublicKey(t),seed:t}}default:throw Error("Unsupported EdDSA algorithm")}}async function _r(e,t,r,n,i,s){switch(e){case Q.publicKey.ed25519:try{const t=M.getWebCrypto(),r=Yr(e,n,i),a=await t.importKey("jwk",r,"Ed25519",!1,["sign"]);return{RS:new Uint8Array(await t.sign("Ed25519",a,s))}}catch(e){if("NotSupportedError"!==e.name)throw e;const t=M.concatUint8Array([i,n]);return{RS:We.sign.detached(s,t)}}case Q.publicKey.ed448:return{RS:(await M.getNobleCurve(Q.publicKey.ed448)).sign(s,i)};default:throw Error("Unsupported EdDSA algorithm")}}async function zr(e,t,{RS:r},n,i,s){switch(e){case Q.publicKey.ed25519:try{const t=M.getWebCrypto(),n=Vr(e,i),a=await t.importKey("jwk",n,"Ed25519",!1,["verify"]);return await t.verify("Ed25519",a,r,s)}catch(e){if("NotSupportedError"!==e.name)throw e;return Nr(r,s,i)}case Q.publicKey.ed448:return(await M.getNobleCurve(Q.publicKey.ed448)).verify(r,s,i);default:throw Error("Unsupported EdDSA algorithm")}}async function Gr(e,t,r){switch(e){case Q.publicKey.ed25519:{const{publicKey:e}=We.sign.keyPair.fromSeed(r);return M.equalsUint8Array(t,e)}case Q.publicKey.ed448:{const e=(await M.getNobleCurve(Q.publicKey.ed448)).getPublicKey(r);return M.equalsUint8Array(t,e)}default:return!1}}function qr(e){switch(e){case Q.publicKey.ed25519:return 32;case Q.publicKey.ed448:return 57;default:throw Error("Unsupported EdDSA algorithm")}}function jr(e){switch(e){case Q.publicKey.ed25519:return Q.hash.sha256;case Q.publicKey.ed448:return Q.hash.sha512;default:throw Error("Unknown EdDSA algo")}}Object.defineProperties(Or,{sha512Sync:{configurable:!1,get:()=>Mr,set(e){Mr||(Mr=e)}}});const Vr=(e,t)=>{if(e===Q.publicKey.ed25519){return{kty:"OKP",crv:"Ed25519",x:z(t),ext:!0}}throw Error("Unsupported EdDSA algorithm")},Yr=(e,t,r)=>{if(e===Q.publicKey.ed25519){const n=Vr(e,t);return n.d=z(r),n}throw Error("Unsupported EdDSA algorithm")};var Zr=/*#__PURE__*/Object.freeze({__proto__:null,generate:Hr,getPayloadSize:qr,getPreferredHashAlgo:jr,sign:_r,validateParams:Gr,verify:zr});function Wr(e){return e instanceof Uint8Array||null!=e&&"object"==typeof e&&"Uint8Array"===e.constructor.name}function Jr(e,...t){if(!Wr(e))throw Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw Error(`Uint8Array expected of length ${t}, not of length=${e.length}`)}function Xr(e,t=!0){if(e.destroyed)throw Error("Hash instance has been destroyed");if(t&&e.finished)throw Error("Hash#digest() has already been called")}function $r(e,t){Jr(e);const r=t.outputLen;if(e.length<r)throw Error("digestInto() expects output buffer of length at least "+r)}
4
- /*! noble-ciphers - MIT License (c) 2023 Paul Miller (paulmillr.com) */const en=e=>new Uint8Array(e.buffer,e.byteOffset,e.byteLength),tn=e=>new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4)),rn=e=>new DataView(e.buffer,e.byteOffset,e.byteLength);if(!(68===new Uint8Array(new Uint32Array([287454020]).buffer)[0]))throw Error("Non little-endian hardware is not supported");function nn(e){if("string"==typeof e)e=function(e){if("string"!=typeof e)throw Error("string expected, got "+typeof e);return new Uint8Array((new TextEncoder).encode(e))}(e);else{if(!Wr(e))throw Error("Uint8Array expected, got "+typeof e);e=un(e)}return e}function sn(e,t){if(e.length!==t.length)return!1;let r=0;for(let n=0;n<e.length;n++)r|=e[n]^t[n];return 0===r}const an=(e,t)=>(Object.assign(t,e),t);function on(e,t,r,n){if("function"==typeof e.setBigUint64)return e.setBigUint64(t,r,n);const i=BigInt(32),s=BigInt(4294967295),a=Number(r>>i&s),o=Number(r&s);e.setUint32(t+0,a,n),e.setUint32(t+4,o,n)}function cn(e){return e.byteOffset%4==0}function un(e){return Uint8Array.from(e)}function hn(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}const ln=16,yn=/* @__PURE__ */new Uint8Array(16),fn=tn(yn),pn=e=>(e>>>0&255)<<24|(e>>>8&255)<<16|(e>>>16&255)<<8|e>>>24&255;class gn{constructor(e,t){this.blockLen=ln,this.outputLen=ln,this.s0=0,this.s1=0,this.s2=0,this.s3=0,this.finished=!1,Jr(e=nn(e),16);const r=rn(e);let n=r.getUint32(0,!1),i=r.getUint32(4,!1),s=r.getUint32(8,!1),a=r.getUint32(12,!1);const o=[];for(let e=0;e<128;e++)o.push({s0:pn(n),s1:pn(i),s2:pn(s),s3:pn(a)}),({s0:n,s1:i,s2:s,s3:a}={s3:(h=s)<<31|(l=a)>>>1,s2:(u=i)<<31|h>>>1,s1:(c=n)<<31|u>>>1,s0:c>>>1^225<<24&-(1&l)});var c,u,h,l;const y=(e=>e>65536?8:e>1024?4:2)(t||1024);if(![1,2,4,8].includes(y))throw Error(`ghash: wrong window size=${y}, should be 2, 4 or 8`);this.W=y;const f=128/y,p=this.windowSize=2**y,g=[];for(let e=0;e<f;e++)for(let t=0;t<p;t++){let r=0,n=0,i=0,s=0;for(let a=0;a<y;a++){if(!(t>>>y-a-1&1))continue;const{s0:c,s1:u,s2:h,s3:l}=o[y*e+a];r^=c,n^=u,i^=h,s^=l}g.push({s0:r,s1:n,s2:i,s3:s})}this.t=g}_updateBlock(e,t,r,n){e^=this.s0,t^=this.s1,r^=this.s2,n^=this.s3;const{W:i,t:s,windowSize:a}=this;let o=0,c=0,u=0,h=0;const l=(1<<i)-1;let y=0;for(const f of[e,t,r,n])for(let e=0;e<4;e++){const t=f>>>8*e&255;for(let e=8/i-1;e>=0;e--){const r=t>>>i*e&l,{s0:n,s1:f,s2:p,s3:g}=s[y*a+r];o^=n,c^=f,u^=p,h^=g,y+=1}}this.s0=o,this.s1=c,this.s2=u,this.s3=h}update(e){e=nn(e),Xr(this);const t=tn(e),r=Math.floor(e.length/ln),n=e.length%ln;for(let e=0;e<r;e++)this._updateBlock(t[4*e+0],t[4*e+1],t[4*e+2],t[4*e+3]);return n&&(yn.set(e.subarray(r*ln)),this._updateBlock(fn[0],fn[1],fn[2],fn[3]),hn(fn)),this}destroy(){const{t:e}=this;for(const t of e)t.s0=0,t.s1=0,t.s2=0,t.s3=0}digestInto(e){Xr(this),$r(e,this),this.finished=!0;const{s0:t,s1:r,s2:n,s3:i}=this,s=tn(e);return s[0]=t,s[1]=r,s[2]=n,s[3]=i,e}digest(){const e=new Uint8Array(ln);return this.digestInto(e),this.destroy(),e}}class dn extends gn{constructor(e,t){const r=function(e){e.reverse();const t=1&e[15];let r=0;for(let t=0;t<e.length;t++){const n=e[t];e[t]=n>>>1|r,r=(1&n)<<7}return e[0]^=225&-t,e}(un(e=nn(e)));super(r,t),hn(r)}update(e){e=nn(e),Xr(this);const t=tn(e),r=e.length%ln,n=Math.floor(e.length/ln);for(let e=0;e<n;e++)this._updateBlock(pn(t[4*e+3]),pn(t[4*e+2]),pn(t[4*e+1]),pn(t[4*e+0]));return r&&(yn.set(e.subarray(n*ln)),this._updateBlock(pn(fn[3]),pn(fn[2]),pn(fn[1]),pn(fn[0])),hn(fn)),this}digestInto(e){Xr(this),$r(e,this),this.finished=!0;const{s0:t,s1:r,s2:n,s3:i}=this,s=tn(e);return s[0]=t,s[1]=r,s[2]=n,s[3]=i,e.reverse()}}function An(e){const t=(t,r)=>e(r,t.length).update(nn(t)).digest(),r=e(new Uint8Array(16),0);return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=(t,r)=>e(t,r),t}const wn=An(((e,t)=>new gn(e,t)));An(((e,t)=>new dn(e,t)));const mn=16,bn=new Uint8Array(mn),kn=283;function En(e){return e<<1^kn&-(e>>7)}function vn(e,t){let r=0;for(;t>0;t>>=1)r^=e&-(1&t),e=En(e);return r}const Bn=/* @__PURE__ */(()=>{const e=new Uint8Array(256);for(let t=0,r=1;t<256;t++,r^=En(r))e[t]=r;const t=new Uint8Array(256);t[0]=99;for(let r=0;r<255;r++){let n=e[255-r];n|=n<<8,t[e[r]]=255&(n^n>>4^n>>5^n>>6^n>>7^99)}return hn(e),t})(),Sn=/* @__PURE__ */Bn.map(((e,t)=>Bn.indexOf(t))),In=e=>e<<24|e>>>8,Kn=e=>e<<8|e>>>24,Cn=e=>e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255;function Un(e,t){if(256!==e.length)throw Error("Wrong sbox length");const r=new Uint32Array(256).map(((r,n)=>t(e[n]))),n=r.map(Kn),i=n.map(Kn),s=i.map(Kn),a=new Uint32Array(65536),o=new Uint32Array(65536),c=new Uint16Array(65536);for(let t=0;t<256;t++)for(let u=0;u<256;u++){const h=256*t+u;a[h]=r[t]^n[u],o[h]=i[t]^s[u],c[h]=e[t]<<8|e[u]}return{sbox:e,sbox2:c,T0:r,T1:n,T2:i,T3:s,T01:a,T23:o}}const Pn=/* @__PURE__ */Un(Bn,(e=>vn(e,3)<<24|e<<16|e<<8|vn(e,2))),Dn=/* @__PURE__ */Un(Sn,(e=>vn(e,11)<<24|vn(e,13)<<16|vn(e,9)<<8|vn(e,14))),xn=/* @__PURE__ */(()=>{const e=new Uint8Array(16);for(let t=0,r=1;t<16;t++,r=En(r))e[t]=r;return e})();function Qn(e){Jr(e);const t=e.length;if(![16,24,32].includes(t))throw Error("aes: wrong key size: should be 16, 24 or 32, got: "+t);const{sbox2:r}=Pn,n=[];cn(e)||n.push(e=un(e));const i=tn(e),s=i.length,a=e=>Mn(r,e,e,e,e),o=new Uint32Array(t+28);o.set(i);for(let e=s;e<o.length;e++){let t=o[e-1];e%s==0?t=a(In(t))^xn[e/s-1]:s>6&&e%s==4&&(t=a(t)),o[e]=o[e-s]^t}return hn(...n),o}function Rn(e){const t=Qn(e),r=t.slice(),n=t.length,{sbox2:i}=Pn,{T0:s,T1:a,T2:o,T3:c}=Dn;for(let e=0;e<n;e+=4)for(let i=0;i<4;i++)r[e+i]=t[n-e-4+i];hn(t);for(let e=4;e<n-4;e++){const t=r[e],n=Mn(i,t,t,t,t);r[e]=s[255&n]^a[n>>>8&255]^o[n>>>16&255]^c[n>>>24]}return r}function Tn(e,t,r,n,i,s){return e[r<<8&65280|n>>>8&255]^t[i>>>8&65280|s>>>24&255]}function Mn(e,t,r,n,i){return e[255&t|65280&r]|e[n>>>16&255|i>>>16&65280]<<16}function Ln(e,t,r,n,i){const{sbox2:s,T01:a,T23:o}=Pn;let c=0;t^=e[c++],r^=e[c++],n^=e[c++],i^=e[c++];const u=e.length/4-2;for(let s=0;s<u;s++){const s=e[c++]^Tn(a,o,t,r,n,i),u=e[c++]^Tn(a,o,r,n,i,t),h=e[c++]^Tn(a,o,n,i,t,r),l=e[c++]^Tn(a,o,i,t,r,n);t=s,r=u,n=h,i=l}return{s0:e[c++]^Mn(s,t,r,n,i),s1:e[c++]^Mn(s,r,n,i,t),s2:e[c++]^Mn(s,n,i,t,r),s3:e[c++]^Mn(s,i,t,r,n)}}function Nn(e,t,r,n,i){const{sbox2:s,T01:a,T23:o}=Dn;let c=0;t^=e[c++],r^=e[c++],n^=e[c++],i^=e[c++];const u=e.length/4-2;for(let s=0;s<u;s++){const s=e[c++]^Tn(a,o,t,i,n,r),u=e[c++]^Tn(a,o,r,t,i,n),h=e[c++]^Tn(a,o,n,r,t,i),l=e[c++]^Tn(a,o,i,n,r,t);t=s,r=u,n=h,i=l}return{s0:e[c++]^Mn(s,t,i,n,r),s1:e[c++]^Mn(s,r,t,i,n),s2:e[c++]^Mn(s,n,r,t,i),s3:e[c++]^Mn(s,i,n,r,t)}}function Fn(e,t){if(void 0===t)return new Uint8Array(e);if(Jr(t),t.length<e)throw Error(`aes: wrong destination length, expected at least ${e}, got: ${t.length}`);if(!cn(t))throw Error("unaligned dst");return t}function On(e,t,r,n){Jr(t,mn),Jr(r);const i=r.length;n=Fn(i,n);const s=t,a=tn(s);let{s0:o,s1:c,s2:u,s3:h}=Ln(e,a[0],a[1],a[2],a[3]);const l=tn(r),y=tn(n);for(let t=0;t+4<=l.length;t+=4){y[t+0]=l[t+0]^o,y[t+1]=l[t+1]^c,y[t+2]=l[t+2]^u,y[t+3]=l[t+3]^h;let r=1;for(let e=s.length-1;e>=0;e--)r=r+(255&s[e])|0,s[e]=255&r,r>>>=8;({s0:o,s1:c,s2:u,s3:h}=Ln(e,a[0],a[1],a[2],a[3]))}const f=mn*Math.floor(l.length/4);if(f<i){const e=new Uint32Array([o,c,u,h]),t=en(e);for(let e=f,s=0;e<i;e++,s++)n[e]=r[e]^t[s];hn(e)}return n}function Hn(e,t,r,n,i){Jr(r,mn),Jr(n),i=Fn(n.length,i);const s=r,a=tn(s),o=rn(s),c=tn(n),u=tn(i),h=t?0:12,l=n.length;let y=o.getUint32(h,t),{s0:f,s1:p,s2:g,s3:d}=Ln(e,a[0],a[1],a[2],a[3]);for(let r=0;r+4<=c.length;r+=4)u[r+0]=c[r+0]^f,u[r+1]=c[r+1]^p,u[r+2]=c[r+2]^g,u[r+3]=c[r+3]^d,y=y+1>>>0,o.setUint32(h,y,t),({s0:f,s1:p,s2:g,s3:d}=Ln(e,a[0],a[1],a[2],a[3]));const A=mn*Math.floor(c.length/4);if(A<l){const e=new Uint32Array([f,p,g,d]),t=en(e);for(let e=A,r=0;e<l;e++,r++)i[e]=n[e]^t[r];hn(e)}return i}const _n=an({blockSize:16,nonceLength:16},(function(e,t){function r(r,n){if(Jr(r),void 0!==n&&(Jr(n),!cn(n)))throw Error("unaligned destination");const i=Qn(e),s=un(t),a=[i,s];cn(r)||a.push(r=un(r));const o=On(i,s,r,n);return hn(...a),o}return Jr(e),Jr(t,mn),{encrypt:(e,t)=>r(e,t),decrypt:(e,t)=>r(e,t)}}));const zn=an({blockSize:16,nonceLength:16},(function(e,t,r={}){Jr(e),Jr(t,16);const n=!r.disablePadding;return{encrypt(r,i){const s=Qn(e),{b:a,o,out:c}=function(e,t,r){Jr(e);let n=e.length;const i=n%mn;if(!t&&0!==i)throw Error("aec/(cbc-ecb): unpadded plaintext with disabled padding");cn(e)||(e=un(e));const s=tn(e);if(t){let e=mn-i;e||(e=mn),n+=e}const a=Fn(n,r);return{b:s,o:tn(a),out:a}}(r,n,i);let u=t;const h=[s];cn(u)||h.push(u=un(u));const l=tn(u);let y=l[0],f=l[1],p=l[2],g=l[3],d=0;for(;d+4<=a.length;)y^=a[d+0],f^=a[d+1],p^=a[d+2],g^=a[d+3],({s0:y,s1:f,s2:p,s3:g}=Ln(s,y,f,p,g)),o[d++]=y,o[d++]=f,o[d++]=p,o[d++]=g;if(n){const e=function(e){const t=new Uint8Array(16),r=tn(t);t.set(e);const n=mn-e.length;for(let e=mn-n;e<mn;e++)t[e]=n;return r}(r.subarray(4*d));y^=e[0],f^=e[1],p^=e[2],g^=e[3],({s0:y,s1:f,s2:p,s3:g}=Ln(s,y,f,p,g)),o[d++]=y,o[d++]=f,o[d++]=p,o[d++]=g}return hn(...h),c},decrypt(r,i){!function(e){if(Jr(e),e.length%mn!=0)throw Error("aes/(cbc-ecb).decrypt ciphertext should consist of blocks with size 16")}(r);const s=Rn(e);let a=t;const o=[s];cn(a)||o.push(a=un(a));const c=tn(a),u=Fn(r.length,i);cn(r)||o.push(r=un(r));const h=tn(r),l=tn(u);let y=c[0],f=c[1],p=c[2],g=c[3];for(let e=0;e+4<=h.length;){const t=y,r=f,n=p,i=g;y=h[e+0],f=h[e+1],p=h[e+2],g=h[e+3];const{s0:a,s1:o,s2:c,s3:u}=Nn(s,y,f,p,g);l[e++]=a^t,l[e++]=o^r,l[e++]=c^n,l[e++]=u^i}return hn(...o),function(e,t){if(!t)return e;const r=e.length;if(!r)throw Error("aes/pcks5: empty ciphertext not allowed");const n=e[r-1];if(n<=0||n>16)throw Error("aes/pcks5: wrong padding");const i=e.subarray(0,-n);for(let t=0;t<n;t++)if(e[r-t-1]!==n)throw Error("aes/pcks5: wrong padding");return i}(u,n)}}})),Gn=an({blockSize:16,nonceLength:16},(function(e,t){function r(r,n,i){Jr(r);const s=r.length;i=Fn(s,i);const a=Qn(e);let o=t;const c=[a];cn(o)||c.push(o=un(o)),cn(r)||c.push(r=un(r));const u=tn(r),h=tn(i),l=n?h:u,y=tn(o);let f=y[0],p=y[1],g=y[2],d=y[3];for(let e=0;e+4<=u.length;){const{s0:t,s1:r,s2:n,s3:i}=Ln(a,f,p,g,d);h[e+0]=u[e+0]^t,h[e+1]=u[e+1]^r,h[e+2]=u[e+2]^n,h[e+3]=u[e+3]^i,f=l[e++],p=l[e++],g=l[e++],d=l[e++]}const A=mn*Math.floor(u.length/4);if(A<s){({s0:f,s1:p,s2:g,s3:d}=Ln(a,f,p,g,d));const e=en(new Uint32Array([f,p,g,d]));for(let t=A,n=0;t<s;t++,n++)i[t]=r[t]^e[n];hn(e)}return hn(...c),i}return Jr(e),Jr(t,16),{encrypt:(e,t)=>r(e,!0,t),decrypt:(e,t)=>r(e,!1,t)}}));const qn=an({blockSize:16,nonceLength:12,tagLength:16},(function(e,t,r){if(Jr(e),Jr(t),void 0!==r&&Jr(r),t.length<8)throw Error("aes/gcm: invalid nonce length");const n=16;function i(e,t,n){const i=function(e,t,r,n,i){const s=null==i?0:i.length,a=e.create(r,n.length+s);i&&a.update(i),a.update(n);const o=new Uint8Array(16),c=rn(o);i&&on(c,0,BigInt(8*s),t),on(c,8,BigInt(8*n.length),t),a.update(o);const u=a.digest();return hn(o),u}(wn,!1,e,n,r);for(let e=0;e<t.length;e++)i[e]^=t[e];return i}function s(){const r=Qn(e),n=bn.slice(),i=bn.slice();if(Hn(r,!1,i,i,n),12===t.length)i.set(t);else{const e=bn.slice();on(rn(e),8,BigInt(8*t.length),!1);const r=wn.create(n).update(t).update(e);r.digestInto(i),r.destroy()}return{xk:r,authKey:n,counter:i,tagMask:Hn(r,!1,i,bn)}}return{encrypt(e){Jr(e);const{xk:t,authKey:r,counter:a,tagMask:o}=s(),c=new Uint8Array(e.length+n),u=[t,r,a,o];cn(e)||u.push(e=un(e)),Hn(t,!1,a,e,c);const h=i(r,o,c.subarray(0,c.length-n));return u.push(h),c.set(h,e.length),hn(...u),c},decrypt(e){if(Jr(e),e.length<n)throw Error("aes/gcm: ciphertext less than tagLen (16)");const{xk:t,authKey:r,counter:a,tagMask:o}=s(),c=[t,r,o,a];cn(e)||c.push(e=un(e));const u=e.subarray(0,-16),h=e.subarray(-16),l=i(r,o,u);if(c.push(l),!sn(l,h))throw Error("aes/gcm: invalid ghash tag");const y=Hn(t,!1,a,u);return hn(...c),y}}}));function jn(e){return null!=e&&"object"==typeof e&&(e instanceof Uint32Array||"Uint32Array"===e.constructor.name)}function Vn(e,t){if(Jr(t,16),!jn(e))throw Error("_encryptBlock accepts result of expandKeyLE");const r=tn(t);let{s0:n,s1:i,s2:s,s3:a}=Ln(e,r[0],r[1],r[2],r[3]);return r[0]=n,r[1]=i,r[2]=s,r[3]=a,t}function Yn(e,t){if(Jr(t,16),!jn(e))throw Error("_decryptBlock accepts result of expandKeyLE");const r=tn(t);let{s0:n,s1:i,s2:s,s3:a}=Nn(e,r[0],r[1],r[2],r[3]);return r[0]=n,r[1]=i,r[2]=s,r[3]=a,t}const Zn={encrypt(e,t){if(t.length>=2**32)throw Error("plaintext should be less than 4gb");const r=Qn(e);if(16===t.length)Vn(r,t);else{const e=tn(t);let n=e[0],i=e[1];for(let t=0,s=1;t<6;t++)for(let t=2;t<e.length;t+=2,s++){const{s0:a,s1:o,s2:c,s3:u}=Ln(r,n,i,e[t],e[t+1]);n=a,i=o^Cn(s),e[t]=c,e[t+1]=u}e[0]=n,e[1]=i}r.fill(0)},decrypt(e,t){if(t.length-8>=2**32)throw Error("ciphertext should be less than 4gb");const r=Rn(e),n=t.length/8-1;if(1===n)Yn(r,t);else{const e=tn(t);let i=e[0],s=e[1];for(let t=0,a=6*n;t<6;t++)for(let t=2*n;t>=1;t-=2,a--){s^=Cn(a);const{s0:n,s1:o,s2:c,s3:u}=Nn(r,i,s,e[t],e[t+1]);i=n,s=o,e[t]=c,e[t+1]=u}e[0]=i,e[1]=s}r.fill(0)}},Wn=new Uint8Array(8).fill(166),Jn=an({blockSize:8},(e=>({encrypt(t){if(Jr(t),!t.length||t.length%8!=0)throw Error("invalid plaintext length");if(8===t.length)throw Error("8-byte keys not allowed in AESKW, use AESKWP instead");const r=function(...e){let t=0;for(let r=0;r<e.length;r++){const n=e[r];Jr(n),t+=n.length}const r=new Uint8Array(t);for(let t=0,n=0;t<e.length;t++){const i=e[t];r.set(i,n),n+=i.length}return r}(Wn,t);return Zn.encrypt(e,r),r},decrypt(t){if(Jr(t),t.length%8!=0||t.length<24)throw Error("invalid ciphertext length");const r=un(t);if(Zn.decrypt(e,r),!sn(r.subarray(0,8),Wn))throw Error("integrity check failed");return r.subarray(0,8).fill(0),r.subarray(8)}}))),Xn={expandKeyLE:Qn,expandKeyDecLE:Rn,encrypt:Ln,decrypt:Nn,encryptBlock:Vn,decryptBlock:Yn,ctrCounter:On,ctr32:Hn};async function $n(e){switch(e){case Q.symmetric.aes128:case Q.symmetric.aes192:case Q.symmetric.aes256:throw Error("Not a legacy cipher");case Q.symmetric.cast5:case Q.symmetric.blowfish:case Q.symmetric.twofish:case Q.symmetric.tripledes:{const{legacyCiphers:t}=await Promise.resolve().then((function(){return Hf})),r=Q.read(Q.symmetric,e),n=t.get(r);if(!n)throw Error("Unsupported cipher algorithm");return n}default:throw Error("Unsupported cipher algorithm")}}function ei(e){switch(e){case Q.symmetric.aes128:case Q.symmetric.aes192:case Q.symmetric.aes256:case Q.symmetric.twofish:return 16;case Q.symmetric.blowfish:case Q.symmetric.cast5:case Q.symmetric.tripledes:return 8;default:throw Error("Unsupported cipher")}}function ti(e){switch(e){case Q.symmetric.aes128:case Q.symmetric.blowfish:case Q.symmetric.cast5:return 16;case Q.symmetric.aes192:case Q.symmetric.tripledes:return 24;case Q.symmetric.aes256:case Q.symmetric.twofish:return 32;default:throw Error("Unsupported cipher")}}function ri(e){return{keySize:ti(e),blockSize:ei(e)}}const ni=M.getWebCrypto();async function ii(e,t,r){const{keySize:n}=ri(e);if(!M.isAES(e)||t.length!==n)throw Error("Unexpected algorithm or key size");try{const e=await ni.importKey("raw",t,{name:"AES-KW"},!1,["wrapKey"]),n=await ni.importKey("raw",r,{name:"HMAC",hash:"SHA-256"},!0,["sign"]),i=await ni.wrapKey("raw",n,e,{name:"AES-KW"});return new Uint8Array(i)}catch(e){if("NotSupportedError"!==e.name&&(24!==t.length||"OperationError"!==e.name))throw e;M.printDebugError("Browser did not support operation: "+e.message)}return Jn(t).encrypt(r)}async function si(e,t,r){const{keySize:n}=ri(e);if(!M.isAES(e)||t.length!==n)throw Error("Unexpected algorithm or key size");let i;try{i=await ni.importKey("raw",t,{name:"AES-KW"},!1,["unwrapKey"])}catch(e){if("NotSupportedError"!==e.name&&(24!==t.length||"OperationError"!==e.name))throw e;return M.printDebugError("Browser did not support operation: "+e.message),Jn(t).decrypt(r)}try{const e=await ni.unwrapKey("raw",r,i,{name:"AES-KW"},{name:"HMAC",hash:"SHA-256"},!0,["sign"]);return new Uint8Array(await ni.exportKey("raw",e))}catch(e){if("OperationError"===e.name)throw Error("Key Data Integrity failed");throw e}}const ai=M.getWebCrypto();async function oi(e,t,r,n,i){const s=Q.read(Q.webHash,e);if(!s)throw Error("Hash algo not supported with HKDF");const a=await ai.importKey("raw",t,"HKDF",!1,["deriveBits"]),o=await ai.deriveBits({name:"HKDF",hash:s,salt:r,info:n},a,8*i);return new Uint8Array(o)}const ci={x25519:M.encodeUTF8("OpenPGP X25519"),x448:M.encodeUTF8("OpenPGP X448")};async function ui(e){switch(e){case Q.publicKey.x25519:try{const e=M.getWebCrypto(),t=await e.generateKey("X25519",!0,["deriveKey","deriveBits"]).catch((e=>{if("OperationError"===e.name){const e=Error("Unexpected key generation issue");throw e.name="NotSupportedError",e}throw e})),r=await e.exportKey("jwk",t.privateKey),n=await e.exportKey("jwk",t.publicKey);if(r.x!==n.x){const e=Error("Unexpected mismatching public point");throw e.name="NotSupportedError",e}return{A:new Uint8Array(_(n.x)),k:_(r.d)}}catch(e){if("NotSupportedError"!==e.name)throw e;const t=ye(32),{publicKey:r}=We.box.keyPair.fromSecretKey(t);return{A:r,k:t}}case Q.publicKey.x448:{const e=await M.getNobleCurve(Q.publicKey.x448),t=e.utils.randomPrivateKey();return{A:e.getPublicKey(t),k:t}}default:throw Error("Unsupported ECDH algorithm")}}async function hi(e,t,r){switch(e){case Q.publicKey.x25519:{const{publicKey:e}=We.box.keyPair.fromSecretKey(r);return M.equalsUint8Array(t,e)}case Q.publicKey.x448:{const e=(await M.getNobleCurve(Q.publicKey.x448)).getPublicKey(r);return M.equalsUint8Array(t,e)}default:return!1}}async function li(e,t,r){const{ephemeralPublicKey:n,sharedSecret:i}=await pi(e,r),s=M.concatUint8Array([n,r,i]);switch(e){case Q.publicKey.x25519:{const e=Q.symmetric.aes128,{keySize:r}=ri(e),i=await oi(Q.hash.sha256,s,new Uint8Array,ci.x25519,r);return{ephemeralPublicKey:n,wrappedKey:await ii(e,i,t)}}case Q.publicKey.x448:{const e=Q.symmetric.aes256,{keySize:r}=ri(Q.symmetric.aes256),i=await oi(Q.hash.sha512,s,new Uint8Array,ci.x448,r);return{ephemeralPublicKey:n,wrappedKey:await ii(e,i,t)}}default:throw Error("Unsupported ECDH algorithm")}}async function yi(e,t,r,n,i){const s=await gi(e,t,n,i),a=M.concatUint8Array([t,n,s]);switch(e){case Q.publicKey.x25519:{const e=Q.symmetric.aes128,{keySize:t}=ri(e);return si(e,await oi(Q.hash.sha256,a,new Uint8Array,ci.x25519,t),r)}case Q.publicKey.x448:{const e=Q.symmetric.aes256,{keySize:t}=ri(Q.symmetric.aes256);return si(e,await oi(Q.hash.sha512,a,new Uint8Array,ci.x448,t),r)}default:throw Error("Unsupported ECDH algorithm")}}function fi(e){switch(e){case Q.publicKey.x25519:return 32;case Q.publicKey.x448:return 56;default:throw Error("Unsupported ECDH algorithm")}}async function pi(e,t){switch(e){case Q.publicKey.x25519:try{const r=M.getWebCrypto(),n=await r.generateKey("X25519",!0,["deriveKey","deriveBits"]).catch((e=>{if("OperationError"===e.name){const e=Error("Unexpected key generation issue");throw e.name="NotSupportedError",e}throw e})),i=await r.exportKey("jwk",n.publicKey);if((await r.exportKey("jwk",n.privateKey)).x!==i.x){const e=Error("Unexpected mismatching public point");throw e.name="NotSupportedError",e}const s=Ai(e,t),a=await r.importKey("jwk",s,"X25519",!1,[]),o=await r.deriveBits({name:"X25519",public:a},n.privateKey,8*fi(e));return{sharedSecret:new Uint8Array(o),ephemeralPublicKey:new Uint8Array(_(i.x))}}catch(r){if("NotSupportedError"!==r.name)throw r;const n=ye(fi(e)),i=We.scalarMult(n,t);di(i);const{publicKey:s}=We.box.keyPair.fromSecretKey(n);return{ephemeralPublicKey:s,sharedSecret:i}}case Q.publicKey.x448:{const e=await M.getNobleCurve(Q.publicKey.x448),r=e.utils.randomPrivateKey(),n=e.getSharedSecret(r,t);di(n);return{ephemeralPublicKey:e.getPublicKey(r),sharedSecret:n}}default:throw Error("Unsupported ECDH algorithm")}}async function gi(e,t,r,n){switch(e){case Q.publicKey.x25519:try{const i=M.getWebCrypto(),s=function(e,t,r){if(e===Q.publicKey.x25519){const n=Ai(e,t);return n.d=z(r),n}throw Error("Unsupported ECDH algorithm")}(e,r,n),a=Ai(e,t),o=await i.importKey("jwk",s,"X25519",!1,["deriveKey","deriveBits"]),c=await i.importKey("jwk",a,"X25519",!1,[]),u=await i.deriveBits({name:"X25519",public:c},o,8*fi(e));return new Uint8Array(u)}catch(e){if("NotSupportedError"!==e.name)throw e;const r=We.scalarMult(n,t);return di(r),r}case Q.publicKey.x448:{const e=(await M.getNobleCurve(Q.publicKey.x448)).getSharedSecret(n,t);return di(e),e}default:throw Error("Unsupported ECDH algorithm")}}function di(e){let t=0;for(let r=0;r<e.length;r++)t|=e[r];if(0===t)throw Error("Unexpected low order point")}function Ai(e,t){if(e===Q.publicKey.x25519){return{kty:"OKP",crv:"X25519",x:z(t),ext:!0}}throw Error("Unsupported ECDH algorithm")}var wi=/*#__PURE__*/Object.freeze({__proto__:null,decrypt:yi,encrypt:li,generate:ui,generateEphemeralEncryptionMaterial:pi,getPayloadSize:fi,recomputeSharedSecret:gi,validateParams:hi});const mi=M.getWebCrypto(),bi=M.getNodeCrypto(),ki={[Q.curve.nistP256]:"P-256",[Q.curve.nistP384]:"P-384",[Q.curve.nistP521]:"P-521"},Ei=bi?bi.getCurves():[],vi=bi?{[Q.curve.secp256k1]:Ei.includes("secp256k1")?"secp256k1":void 0,[Q.curve.nistP256]:Ei.includes("prime256v1")?"prime256v1":void 0,[Q.curve.nistP384]:Ei.includes("secp384r1")?"secp384r1":void 0,[Q.curve.nistP521]:Ei.includes("secp521r1")?"secp521r1":void 0,[Q.curve.ed25519Legacy]:Ei.includes("ED25519")?"ED25519":void 0,[Q.curve.curve25519Legacy]:Ei.includes("X25519")?"X25519":void 0,[Q.curve.brainpoolP256r1]:Ei.includes("brainpoolP256r1")?"brainpoolP256r1":void 0,[Q.curve.brainpoolP384r1]:Ei.includes("brainpoolP384r1")?"brainpoolP384r1":void 0,[Q.curve.brainpoolP512r1]:Ei.includes("brainpoolP512r1")?"brainpoolP512r1":void 0}:{},Bi={[Q.curve.nistP256]:{oid:[6,8,42,134,72,206,61,3,1,7],keyType:Q.publicKey.ecdsa,hash:Q.hash.sha256,cipher:Q.symmetric.aes128,node:vi[Q.curve.nistP256],web:ki[Q.curve.nistP256],payloadSize:32,sharedSize:256,wireFormatLeadingByte:4},[Q.curve.nistP384]:{oid:[6,5,43,129,4,0,34],keyType:Q.publicKey.ecdsa,hash:Q.hash.sha384,cipher:Q.symmetric.aes192,node:vi[Q.curve.nistP384],web:ki[Q.curve.nistP384],payloadSize:48,sharedSize:384,wireFormatLeadingByte:4},[Q.curve.nistP521]:{oid:[6,5,43,129,4,0,35],keyType:Q.publicKey.ecdsa,hash:Q.hash.sha512,cipher:Q.symmetric.aes256,node:vi[Q.curve.nistP521],web:ki[Q.curve.nistP521],payloadSize:66,sharedSize:528,wireFormatLeadingByte:4},[Q.curve.secp256k1]:{oid:[6,5,43,129,4,0,10],keyType:Q.publicKey.ecdsa,hash:Q.hash.sha256,cipher:Q.symmetric.aes128,node:vi[Q.curve.secp256k1],payloadSize:32,wireFormatLeadingByte:4},[Q.curve.ed25519Legacy]:{oid:[6,9,43,6,1,4,1,218,71,15,1],keyType:Q.publicKey.eddsaLegacy,hash:Q.hash.sha512,node:!1,payloadSize:32,wireFormatLeadingByte:64},[Q.curve.curve25519Legacy]:{oid:[6,10,43,6,1,4,1,151,85,1,5,1],keyType:Q.publicKey.ecdh,hash:Q.hash.sha256,cipher:Q.symmetric.aes128,node:!1,payloadSize:32,wireFormatLeadingByte:64},[Q.curve.brainpoolP256r1]:{oid:[6,9,43,36,3,3,2,8,1,1,7],keyType:Q.publicKey.ecdsa,hash:Q.hash.sha256,cipher:Q.symmetric.aes128,node:vi[Q.curve.brainpoolP256r1],payloadSize:32,wireFormatLeadingByte:4},[Q.curve.brainpoolP384r1]:{oid:[6,9,43,36,3,3,2,8,1,1,11],keyType:Q.publicKey.ecdsa,hash:Q.hash.sha384,cipher:Q.symmetric.aes192,node:vi[Q.curve.brainpoolP384r1],payloadSize:48,wireFormatLeadingByte:4},[Q.curve.brainpoolP512r1]:{oid:[6,9,43,36,3,3,2,8,1,1,13],keyType:Q.publicKey.ecdsa,hash:Q.hash.sha512,cipher:Q.symmetric.aes256,node:vi[Q.curve.brainpoolP512r1],payloadSize:64,wireFormatLeadingByte:4}};class Si{constructor(e){try{this.name=e instanceof Ot?e.getName():Q.write(Q.curve,e)}catch(e){throw new Yt("Unknown curve")}const t=Bi[this.name];this.keyType=t.keyType,this.oid=t.oid,this.hash=t.hash,this.cipher=t.cipher,this.node=t.node,this.web=t.web,this.payloadSize=t.payloadSize,this.sharedSize=t.sharedSize,this.wireFormatLeadingByte=t.wireFormatLeadingByte,this.web&&M.getWebCrypto()?this.type="web":this.node&&M.getNodeCrypto()?this.type="node":this.name===Q.curve.curve25519Legacy?this.type="curve25519Legacy":this.name===Q.curve.ed25519Legacy&&(this.type="ed25519Legacy")}async genKeyPair(){switch(this.type){case"web":try{return await async function(e,t){const r=await mi.generateKey({name:"ECDSA",namedCurve:ki[e]},!0,["sign","verify"]),n=await mi.exportKey("jwk",r.privateKey);return{publicKey:Di(await mi.exportKey("jwk",r.publicKey),t),privateKey:_(n.d)}}(this.name,this.wireFormatLeadingByte)}catch(e){return M.printDebugError("Browser did not support generating ec key "+e.message),Pi(this.name)}case"node":return async function(e){const t=bi.createECDH(vi[e]);return await t.generateKeys(),{publicKey:new Uint8Array(t.getPublicKey()),privateKey:new Uint8Array(t.getPrivateKey())}}(this.name);case"curve25519Legacy":{const{k:e,A:t}=await ui(Q.publicKey.x25519),r=e.slice().reverse();r[0]=127&r[0]|64,r[31]&=248;return{publicKey:M.concatUint8Array([new Uint8Array([this.wireFormatLeadingByte]),t]),privateKey:r}}case"ed25519Legacy":{const{seed:e,A:t}=await Hr(Q.publicKey.ed25519);return{publicKey:M.concatUint8Array([new Uint8Array([this.wireFormatLeadingByte]),t]),privateKey:e}}default:return Pi(this.name)}}}async function Ii(e){const t=new Si(e),{oid:r,hash:n,cipher:i}=t,s=await t.genKeyPair();return{oid:r,Q:s.publicKey,secret:M.leftPad(s.privateKey,t.payloadSize),hash:n,cipher:i}}function Ki(e){return Bi[e.getName()].hash}async function Ci(e,t,r,n){const i={[Q.curve.nistP256]:!0,[Q.curve.nistP384]:!0,[Q.curve.nistP521]:!0,[Q.curve.secp256k1]:!0,[Q.curve.curve25519Legacy]:e===Q.publicKey.ecdh,[Q.curve.brainpoolP256r1]:!0,[Q.curve.brainpoolP384r1]:!0,[Q.curve.brainpoolP512r1]:!0},s=t.getName();if(!i[s])return!1;if(s===Q.curve.curve25519Legacy){n=n.slice().reverse();const{publicKey:e}=We.box.keyPair.fromSecretKey(n);r=new Uint8Array(r);const t=new Uint8Array([64,...e]);return!!M.equalsUint8Array(t,r)}const a=(await M.getNobleCurve(Q.publicKey.ecdsa,s)).getPublicKey(n,!1);return!!M.equalsUint8Array(a,r)}function Ui(e,t){const{payloadSize:r,wireFormatLeadingByte:n,name:i}=e,s=i===Q.curve.curve25519Legacy||i===Q.curve.ed25519Legacy?r:2*r;if(t[0]!==n||t.length!==s+1)throw Error("Invalid point encoding")}async function Pi(e){const t=await M.getNobleCurve(Q.publicKey.ecdsa,e),r=t.utils.randomPrivateKey();return{publicKey:t.getPublicKey(r,!1),privateKey:r}}function Di(e,t){const r=_(e.x),n=_(e.y),i=new Uint8Array(r.length+n.length+1);return i[0]=t,i.set(r,1),i.set(n,r.length+1),i}function xi(e,t,r){const n=e,i=r.slice(1,n+1),s=r.slice(n+1,2*n+1);return{kty:"EC",crv:t,x:z(i),y:z(s),ext:!0}}function Qi(e,t,r,n){const i=xi(e,t,r);return i.d=z(n),i}const Ri=M.getWebCrypto(),Ti=M.getNodeCrypto();async function Mi(e,t,r,n,i,s){const a=new Si(e);if(Ui(a,n),r&&!M.isStream(r)){const e={publicKey:n,privateKey:i};switch(a.type){case"web":try{return await async function(e,t,r,n){const i=e.payloadSize,s=Qi(e.payloadSize,ki[e.name],n.publicKey,n.privateKey),a=await Ri.importKey("jwk",s,{name:"ECDSA",namedCurve:ki[e.name],hash:{name:Q.read(Q.webHash,e.hash)}},!1,["sign"]),o=new Uint8Array(await Ri.sign({name:"ECDSA",namedCurve:ki[e.name],hash:{name:Q.read(Q.webHash,t)}},a,r));return{r:o.slice(0,i),s:o.slice(i,i<<1)}}(a,t,r,e)}catch(e){if("nistP521"!==a.name&&("DataError"===e.name||"OperationError"===e.name))throw e;M.printDebugError("Browser did not support signing: "+e.message)}break;case"node":return async function(e,t,r,n){const i=M.nodeRequire("eckey-utils"),s=M.getNodeBuffer(),{privateKey:a}=i.generateDer({curveName:vi[e.name],privateKey:s.from(n)}),o=Ti.createSign(Q.read(Q.hash,t));o.write(r),o.end();const c=new Uint8Array(o.sign({key:a,format:"der",type:"sec1",dsaEncoding:"ieee-p1363"})),u=e.payloadSize;return{r:c.subarray(0,u),s:c.subarray(u,u<<1)}}(a,t,r,i)}}const o=(await M.getNobleCurve(Q.publicKey.ecdsa,a.name)).sign(s,i,{lowS:!1});return{r:he(o.r,"be",a.payloadSize),s:he(o.s,"be",a.payloadSize)}}async function Li(e,t,r,n,i,s){const a=new Si(e);Ui(a,i);const o=async()=>0===s[0]&&Ni(a,r,s.subarray(1),i);if(n&&!M.isStream(n))switch(a.type){case"web":try{const e=await async function(e,t,{r,s:n},i,s){const a=xi(e.payloadSize,ki[e.name],s),o=await Ri.importKey("jwk",a,{name:"ECDSA",namedCurve:ki[e.name],hash:{name:Q.read(Q.webHash,e.hash)}},!1,["verify"]),c=M.concatUint8Array([r,n]).buffer;return Ri.verify({name:"ECDSA",namedCurve:ki[e.name],hash:{name:Q.read(Q.webHash,t)}},o,c,i)}(a,t,r,n,i);return e||o()}catch(e){if("nistP521"!==a.name&&("DataError"===e.name||"OperationError"===e.name))throw e;M.printDebugError("Browser did not support verifying: "+e.message)}break;case"node":{const e=await async function(e,t,{r,s:n},i,s){const a=M.nodeRequire("eckey-utils"),o=M.getNodeBuffer(),{publicKey:c}=a.generateDer({curveName:vi[e.name],publicKey:o.from(s)}),u=Ti.createVerify(Q.read(Q.hash,t));u.write(i),u.end();const h=M.concatUint8Array([r,n]);try{return u.verify({key:c,format:"der",type:"spki",dsaEncoding:"ieee-p1363"},h)}catch(e){return!1}}(a,t,r,n,i);return e||o()}}return await Ni(a,r,s,i)||o()}async function Ni(e,t,r,n){return(await M.getNobleCurve(Q.publicKey.ecdsa,e.name)).verify(M.concatUint8Array([t.r,t.s]),r,n,{lowS:!1})}var Fi=/*#__PURE__*/Object.freeze({__proto__:null,sign:Mi,validateParams:async function(e,t,r){const n=new Si(e);if(n.keyType!==Q.publicKey.ecdsa)return!1;switch(n.type){case"web":case"node":{const n=ye(8),i=Q.hash.sha256,s=await xe(i,n);try{const a=await Mi(e,i,n,t,r,s);return await Li(e,i,a,n,t,s)}catch(e){return!1}}default:return Ci(Q.publicKey.ecdsa,e,t,r)}},verify:Li});async function Oi(e,t,r,n,i,s){Ui(new Si(e),n);const{RS:a}=await _r(Q.publicKey.ed25519,0,0,n.subarray(1),i,s);return{r:a.subarray(0,32),s:a.subarray(32)}}async function Hi(e,t,{r,s:n},i,s,a){Ui(new Si(e),s);const o=M.concatUint8Array([r,n]);return zr(Q.publicKey.ed25519,0,{RS:o},0,s.subarray(1),a)}async function _i(e,t,r){if(e.getName()!==Q.curve.ed25519Legacy)return!1;const{publicKey:n}=We.sign.keyPair.fromSeed(r),i=new Uint8Array([64,...n]);return M.equalsUint8Array(t,i)}var zi=/*#__PURE__*/Object.freeze({__proto__:null,sign:Oi,validateParams:_i,verify:Hi});function Gi(e){const t=e.length;if(t>0){const r=e[t-1];if(r>=1){const n=e.subarray(t-r),i=new Uint8Array(r).fill(r);if(M.equalsUint8Array(n,i))return e.subarray(0,t-r)}}throw Error("Invalid padding")}const qi=M.getWebCrypto(),ji=M.getNodeCrypto();function Vi(e,t,r,n){return M.concatUint8Array([t.write(),new Uint8Array([e]),r.write(!0),M.stringToUint8Array("Anonymous Sender "),r.replacementFingerprint||n])}async function Yi(e,t,r,n,i=!1,s=!1){let a;if(i){for(a=0;a<t.length&&0===t[a];a++);t=t.subarray(a)}if(s){for(a=t.length-1;a>=0&&0===t[a];a--);t=t.subarray(0,a+1)}return(await xe(e,M.concatUint8Array([new Uint8Array([0,0,0,1]),t,n]))).subarray(0,r)}async function Zi(e,t){switch(e.type){case"curve25519Legacy":{const{sharedSecret:r,ephemeralPublicKey:n}=await pi(Q.publicKey.x25519,t.subarray(1));return{publicKey:M.concatUint8Array([new Uint8Array([e.wireFormatLeadingByte]),n]),sharedKey:r}}case"web":if(e.web&&M.getWebCrypto())try{return await async function(e,t){const r=xi(e.payloadSize,e.web,t);let n=qi.generateKey({name:"ECDH",namedCurve:e.web},!0,["deriveKey","deriveBits"]),i=qi.importKey("jwk",r,{name:"ECDH",namedCurve:e.web},!1,[]);[n,i]=await Promise.all([n,i]);let s=qi.deriveBits({name:"ECDH",namedCurve:e.web,public:i},n.privateKey,e.sharedSize),a=qi.exportKey("jwk",n.publicKey);[s,a]=await Promise.all([s,a]);const o=new Uint8Array(s),c=new Uint8Array(Di(a,e.wireFormatLeadingByte));return{publicKey:c,sharedKey:o}}(e,t)}catch(r){return M.printDebugError(r),es(e,t)}break;case"node":return async function(e,t){const r=ji.createECDH(e.node);r.generateKeys();const n=new Uint8Array(r.computeSecret(t));return{publicKey:new Uint8Array(r.getPublicKey()),sharedKey:n}}(e,t);default:return es(e,t)}}async function Wi(e,t,r,n,i){const s=function(e){const t=8-e.length%8,r=new Uint8Array(e.length+t).fill(t);return r.set(e),r}(r),a=new Si(e);Ui(a,n);const{publicKey:o,sharedKey:c}=await Zi(a,n),u=Vi(Q.publicKey.ecdh,e,t,i),{keySize:h}=ri(t.cipher),l=await Yi(t.hash,c,h,u);return{publicKey:o,wrappedKey:await ii(t.cipher,l,s)}}async function Ji(e,t,r,n){if(n.length!==e.payloadSize){const t=new Uint8Array(e.payloadSize);t.set(n,e.payloadSize-n.length),n=t}switch(e.type){case"curve25519Legacy":{const e=n.slice().reverse();return{secretKey:e,sharedKey:await gi(Q.publicKey.x25519,t.subarray(1),r.subarray(1),e)}}case"web":if(e.web&&M.getWebCrypto())try{return await async function(e,t,r,n){const i=Qi(e.payloadSize,e.web,r,n);let s=qi.importKey("jwk",i,{name:"ECDH",namedCurve:e.web},!0,["deriveKey","deriveBits"]);const a=xi(e.payloadSize,e.web,t);let o=qi.importKey("jwk",a,{name:"ECDH",namedCurve:e.web},!0,[]);[s,o]=await Promise.all([s,o]);let c=qi.deriveBits({name:"ECDH",namedCurve:e.web,public:o},s,e.sharedSize),u=qi.exportKey("jwk",s);[c,u]=await Promise.all([c,u]);const h=new Uint8Array(c);return{secretKey:_(u.d),sharedKey:h}}(e,t,r,n)}catch(r){return M.printDebugError(r),$i(e,t,n)}break;case"node":return async function(e,t,r){const n=ji.createECDH(e.node);n.setPrivateKey(r);const i=new Uint8Array(n.computeSecret(t));return{secretKey:new Uint8Array(n.getPrivateKey()),sharedKey:i}}(e,t,n);default:return $i(e,t,n)}}async function Xi(e,t,r,n,i,s,a){const o=new Si(e);Ui(o,i),Ui(o,r);const{sharedKey:c}=await Ji(o,r,i,s),u=Vi(Q.publicKey.ecdh,e,t,a),{keySize:h}=ri(t.cipher);let l;for(let e=0;e<3;e++)try{const r=await Yi(t.hash,c,h,u,1===e,2===e);return Gi(await si(t.cipher,r,n))}catch(e){l=e}throw l}async function $i(e,t,r){return{secretKey:r,sharedKey:(await M.getNobleCurve(Q.publicKey.ecdh,e.name)).getSharedSecret(r,t).subarray(1)}}async function es(e,t){const r=await M.getNobleCurve(Q.publicKey.ecdh,e.name),{publicKey:n,privateKey:i}=await e.genKeyPair();return{publicKey:n,sharedKey:r.getSharedSecret(i,t).subarray(1)}}var ts=/*#__PURE__*/Object.freeze({__proto__:null,decrypt:Xi,encrypt:Wi,validateParams:async function(e,t,r){return Ci(Q.publicKey.ecdh,e,t,r)}}),rs=/*#__PURE__*/Object.freeze({__proto__:null,CurveWithOID:Si,ecdh:ts,ecdhX:wi,ecdsa:Fi,eddsa:Zr,eddsaLegacy:zi,generate:Ii,getPreferredHashAlgo:Ki});const ns=BigInt(0),is=BigInt(1);const ss=new Set([Q.hash.sha1,Q.hash.sha256,Q.hash.sha512]),as=M.getWebCrypto(),os=M.getNodeCrypto();async function cs(e,t){if(e===Q.publicKey.pqc_mlkem_x25519){const{ml_kem768:e}=await Promise.resolve().then((function(){return Mp})),{publicKey:r,secretKey:n}=e.keygen(t);return{mlkemPublicKey:r,mlkemSecretKey:n}}throw Error("Unsupported KEM algorithm")}async function us(e){const{eccPublicKey:t,eccSecretKey:r}=await async function(e){if(e===Q.publicKey.pqc_mlkem_x25519){const{A:e,k:t}=await ui(Q.publicKey.x25519);return{eccPublicKey:e,eccSecretKey:t}}throw Error("Unsupported KEM algorithm")}(e),{mlkemPublicKey:n,mlkemSeed:i,mlkemSecretKey:s}=await async function(e){if(e===Q.publicKey.pqc_mlkem_x25519){const t=ye(64),{mlkemSecretKey:r,mlkemPublicKey:n}=await cs(e,t);return{mlkemSeed:t,mlkemSecretKey:r,mlkemPublicKey:n}}throw Error("Unsupported KEM algorithm")}(e);return{eccPublicKey:t,eccSecretKey:r,mlkemPublicKey:n,mlkemSeed:i,mlkemSecretKey:s}}async function hs(e,t,r,n){const{eccKeyShare:i,eccCipherText:s}=await async function(e,t){if(e===Q.publicKey.pqc_mlkem_x25519){const{ephemeralPublicKey:e,sharedSecret:r}=await pi(Q.publicKey.x25519,t);return{eccCipherText:e,eccKeyShare:r}}throw Error("Unsupported KEM algorithm")}(e,t),{mlkemKeyShare:a,mlkemCipherText:o}=await async function(e,t){if(e===Q.publicKey.pqc_mlkem_x25519){const{ml_kem768:e}=await Promise.resolve().then((function(){return Mp})),{cipherText:r,sharedSecret:n}=e.encapsulate(t);return{mlkemCipherText:r,mlkemKeyShare:n}}throw Error("Unsupported KEM algorithm")}(e,r),c=await ys(e,a,i,s,t);return{eccCipherText:s,mlkemCipherText:o,wrappedKey:await ii(Q.symmetric.aes256,c,n)}}async function ls(e,t,r,n,i,s,a,o){const c=await async function(e,t,r,n){if(e===Q.publicKey.pqc_mlkem_x25519)return await gi(Q.publicKey.x25519,t,n,r);throw Error("Unsupported KEM algorithm")}(e,t,n,i),u=await async function(e,t,r){if(e===Q.publicKey.pqc_mlkem_x25519){const{ml_kem768:e}=await Promise.resolve().then((function(){return Mp}));return e.decapsulate(t,r)}throw Error("Unsupported KEM algorithm")}(e,r,s),h=await ys(e,u,c,t,i);return await si(Q.symmetric.aes256,h,o)}async function ys(e,t,r,n,i){const s=M.encodeUTF8("OpenPGPCompositeKDFv1"),a=M.concatUint8Array([t,r,n,i,new Uint8Array([e]),s,new Uint8Array([s.length])]);return await xe(Q.hash.sha3_256,a)}async function fs(e,t,r,n,i){const s=async function(e,t,r){if(e===Q.publicKey.pqc_mlkem_x25519)return hi(Q.publicKey.x25519,t,r);throw Error("Unsupported KEM algorithm")}(e,t,r),a=async function(e,t,r){if(e===Q.publicKey.pqc_mlkem_x25519){const{mlkemPublicKey:n}=await cs(e,r);return M.equalsUint8Array(t,n)}throw Error("Unsupported KEM algorithm")}(e,n,i);return await s&&await a}async function ps(e,t){if(e===Q.publicKey.pqc_mldsa_ed25519){const{ml_dsa65:e}=await Promise.resolve().then((function(){return Mp})),{secretKey:r,publicKey:n}=e.keygen(t);return{mldsaSecretKey:r,mldsaPublicKey:n}}throw Error("Unsupported signature algorithm")}async function gs(e){if(e===Q.publicKey.pqc_mldsa_ed25519){const{eccSecretKey:t,eccPublicKey:r}=await async function(e){if(e===Q.publicKey.pqc_mldsa_ed25519){const{A:e,seed:t}=await Hr(Q.publicKey.ed25519);return{eccPublicKey:e,eccSecretKey:t}}throw Error("Unsupported signature algorithm")}(e),{mldsaSeed:n,mldsaSecretKey:i,mldsaPublicKey:s}=await async function(e){if(e===Q.publicKey.pqc_mldsa_ed25519){const t=ye(32),{mldsaSecretKey:r,mldsaPublicKey:n}=await ps(e,t);return{mldsaSeed:t,mldsaSecretKey:r,mldsaPublicKey:n}}throw Error("Unsupported signature algorithm")}(e);return{eccSecretKey:t,eccPublicKey:r,mldsaSeed:n,mldsaSecretKey:i,mldsaPublicKey:s}}throw Error("Unsupported signature algorithm")}async function ds(e,t,r,n,i,s){if(e===Q.publicKey.pqc_mldsa_ed25519){const{eccSignature:t}=await async function(e,t,r,n,i){if(e===Q.publicKey.pqc_mldsa_ed25519){const{RS:e}=await _r(Q.publicKey.ed25519,0,0,n,r,i);return{eccSignature:e}}throw Error("Unsupported signature algorithm")}(e,0,r,n,s),{mldsaSignature:a}=await async function(e,t,r){if(e===Q.publicKey.pqc_mldsa_ed25519){const{ml_dsa65:e}=await Promise.resolve().then((function(){return Mp}));return{mldsaSignature:e.sign(t,r)}}throw Error("Unsupported signature algorithm")}(e,i,s);return{eccSignature:t,mldsaSignature:a}}throw Error("Unsupported signature algorithm")}async function As(e,t,r,n,i,{eccSignature:s,mldsaSignature:a}){if(e===Q.publicKey.pqc_mldsa_ed25519){const t=async function(e,t,r,n,i){if(e===Q.publicKey.pqc_mldsa_ed25519)return zr(Q.publicKey.ed25519,0,{RS:i},0,r,n);throw Error("Unsupported signature algorithm")}(e,0,r,i,s),o=async function(e,t,r,n){if(e===Q.publicKey.pqc_mldsa_ed25519){const{ml_dsa65:e}=await Promise.resolve().then((function(){return Mp}));return e.verify(t,r,n)}throw Error("Unsupported signature algorithm")}(e,n,i,a);return await t&&await o}throw Error("Unsupported signature algorithm")}function ws(e,t){if(e===Q.publicKey.pqc_mldsa_ed25519)return Qe(t)>=32;throw Error("Unsupported signature algorithm")}async function ms(e,t,r,n,i){const s=async function(e,t,r){if(e===Q.publicKey.pqc_mldsa_ed25519)return Gr(Q.publicKey.ed25519,t,r);throw Error("Unsupported signature algorithm")}(e,t,r),a=async function(e,t,r){if(e===Q.publicKey.pqc_mldsa_ed25519){const{mldsaPublicKey:n}=await ps(e,r);return M.equalsUint8Array(t,n)}throw Error("Unsupported signature algorithm")}(e,n,i);return await s&&await a}class bs{constructor(e){e&&(this.data=e)}read(e){if(e.length>=1){const t=e[0];if(e.length>=1+t)return this.data=e.subarray(1,1+t),1+this.data.length}throw Error("Invalid symmetric key")}write(){return M.concatUint8Array([new Uint8Array([this.data.length]),this.data])}}class ks{constructor(e){if(void 0===e&&(e=new Uint8Array([])),!M.isUint8Array(e))throw Error("data must be in the form of a Uint8Array");this.data=e,this.length=this.data.byteLength}write(){return M.concatUint8Array([new Uint8Array([this.length]),this.data])}read(e){if(e.length>=1){const t=e[0];if(e.length>=t+1)return this.data=e.subarray(1,1+t),this.length=t,1+t}throw Error("Invalid octet string")}}class Es{constructor(e){if(e){const{version:t,hash:r,cipher:n,replacementFingerprint:i}=e;this.version=t||1,this.hash=r,this.cipher=n,this.replacementFingerprint=i}else this.version=null,this.hash=null,this.cipher=null,this.replacementFingerprint=null}read(e){if(e.length<4||1!==e[1]&&255!==e[1])throw new Yt("Cannot read KDFParams");const t=e[0];this.version=e[1],this.hash=e[2],this.cipher=e[3];let r=4;if(255===this.version){const n=t-r+1;this.replacementFingerprint=e.slice(r,r+n),r+=n}return r}write(e){if(!this.version||1===this.version||e)return new Uint8Array([3,1,this.hash,this.cipher]);return M.concatUint8Array([new Uint8Array([3+this.replacementFingerprint.length,this.version,this.hash,this.cipher]),this.replacementFingerprint])}}const vs=e=>class{constructor(e){this.data=void 0===e?null:e}read(t){const r=t[0];return this.data=Q.write(e,r),1}write(){return new Uint8Array([this.data])}getName(){return Q.read(e,this.data)}getValue(){return this.data}},Bs=vs(Q.aead),Ss=vs(Q.symmetric),Is=vs(Q.hash);class Ks{static fromObject({wrappedKey:e,algorithm:t}){const r=new Ks;return r.wrappedKey=e,r.algorithm=t,r}read(e){let t=0,r=e[t++];this.algorithm=r%2?e[t++]:null,r-=r%2,this.wrappedKey=M.readExactSubarray(e,t,t+r),t+=r}write(){return M.concatUint8Array([this.algorithm?new Uint8Array([this.wrappedKey.length+1,this.algorithm]):new Uint8Array([this.wrappedKey.length]),this.wrappedKey])}}const Cs=M.getWebCrypto(),Us=M.getNodeCrypto(),Ps=Us?Us.getCiphers():[],Ds={idea:Ps.includes("idea-cfb")?"idea-cfb":void 0,tripledes:Ps.includes("des-ede3-cfb")?"des-ede3-cfb":void 0,cast5:Ps.includes("cast5-cfb")?"cast5-cfb":void 0,blowfish:Ps.includes("bf-cfb")?"bf-cfb":void 0,aes128:Ps.includes("aes-128-cfb")?"aes-128-cfb":void 0,aes192:Ps.includes("aes-192-cfb")?"aes-192-cfb":void 0,aes256:Ps.includes("aes-256-cfb")?"aes-256-cfb":void 0};async function xs(e){const{blockSize:t}=ri(e),r=await ye(t),n=new Uint8Array([r[r.length-2],r[r.length-1]]);return M.concat([r,n])}async function Qs(e,t,r,n,i){const s=Q.read(Q.symmetric,e);if(M.getNodeCrypto()&&Ds[s])return function(e,t,r,n){const i=Q.read(Q.symmetric,e),s=new Us.createCipheriv(Ds[i],t,n);return b(r,(e=>new Uint8Array(s.update(e))))}(e,t,r,n);if(M.isAES(e))return async function(e,t,r,n){if(Cs&&await Ts.isSupported(e)){const i=new Ts(e,t,n);return M.isStream(r)?b(r,(e=>i.encryptChunk(e)),(()=>i.finish())):i.encrypt(r)}if(M.isStream(r)){const i=new Ms(!0,e,t,n);return b(r,(e=>i.processChunk(e)),(()=>i.finish()))}return Gn(t,n).encrypt(r)}(e,t,r,n);const a=new(await $n(e))(t),o=a.blockSize,c=n.slice();let u=new Uint8Array;const h=e=>{e&&(u=M.concatUint8Array([u,e]));const t=new Uint8Array(u.length);let r,n=0;for(;e?u.length>=o:u.length;){const e=a.encrypt(c);for(r=0;r<o;r++)c[r]=u[r]^e[r],t[n++]=c[r];u=u.subarray(o)}return t.subarray(0,n)};return b(r,h,h)}async function Rs(e,t,r,n){const i=Q.read(Q.symmetric,e);if(Us&&Ds[i])return function(e,t,r,n){const i=Q.read(Q.symmetric,e),s=new Us.createDecipheriv(Ds[i],t,n);return b(r,(e=>new Uint8Array(s.update(e))))}(e,t,r,n);if(M.isAES(e))return async function(e,t,r,n){if(M.isStream(r)){const i=new Ms(!1,e,t,n);return b(r,(e=>i.processChunk(e)),(()=>i.finish()))}return Gn(t,n).decrypt(r)}(e,t,r,n);const s=new(await $n(e))(t),a=s.blockSize;let o=n,c=new Uint8Array;const u=e=>{e&&(c=M.concatUint8Array([c,e]));const t=new Uint8Array(c.length);let r,n=0;for(;e?c.length>=a:c.length;){const e=s.encrypt(o);for(o=c.subarray(0,a),r=0;r<a;r++)t[n++]=o[r]^e[r];c=c.subarray(a)}return t.subarray(0,n)};return b(r,u,u)}class Ts{constructor(e,t,r){const{blockSize:n}=ri(e);this.key=t,this.prevBlock=r,this.nextBlock=new Uint8Array(n),this.i=0,this.blockSize=n,this.zeroBlock=new Uint8Array(this.blockSize)}static async isSupported(e){const{keySize:t}=ri(e);return Cs.importKey("raw",new Uint8Array(t),"aes-cbc",!1,["encrypt"]).then((()=>!0),(()=>!1))}async _runCBC(e,t){const r="AES-CBC";this.keyRef=this.keyRef||await Cs.importKey("raw",this.key,r,!1,["encrypt"]);const n=await Cs.encrypt({name:r,iv:t||this.zeroBlock},this.keyRef,e);return new Uint8Array(n).subarray(0,e.length)}async encryptChunk(e){const t=this.nextBlock.length-this.i,r=e.subarray(0,t);if(this.nextBlock.set(r,this.i),this.i+e.length>=2*this.blockSize){const r=(e.length-t)%this.blockSize,n=M.concatUint8Array([this.nextBlock,e.subarray(t,e.length-r)]),i=M.concatUint8Array([this.prevBlock,n.subarray(0,n.length-this.blockSize)]),s=await this._runCBC(i);return Ls(s,n),this.prevBlock=s.slice(-this.blockSize),r>0&&this.nextBlock.set(e.subarray(-r)),this.i=r,s}let n;if(this.i+=r.length,this.i===this.nextBlock.length){const t=this.nextBlock;n=await this._runCBC(this.prevBlock),Ls(n,t),this.prevBlock=n.slice(),this.i=0;const i=e.subarray(r.length);this.nextBlock.set(i,this.i),this.i+=i.length}else n=new Uint8Array;return n}async finish(){let e;if(0===this.i)e=new Uint8Array;else{this.nextBlock=this.nextBlock.subarray(0,this.i);const t=this.nextBlock,r=await this._runCBC(this.prevBlock);Ls(r,t),e=r.subarray(0,t.length)}return this.clearSensitiveData(),e}clearSensitiveData(){this.nextBlock.fill(0),this.prevBlock.fill(0),this.keyRef=null,this.key=null}async encrypt(e){const t=(await this._runCBC(M.concatUint8Array([new Uint8Array(this.blockSize),e]),this.iv)).subarray(0,e.length);return Ls(t,e),this.clearSensitiveData(),t}}class Ms{constructor(e,t,r,n){this.forEncryption=e;const{blockSize:i}=ri(t);this.key=Xn.expandKeyLE(r),n.byteOffset%4!=0&&(n=n.slice()),this.prevBlock=Ns(n),this.nextBlock=new Uint8Array(i),this.i=0,this.blockSize=i}_runCFB(e){const t=Ns(e),r=new Uint8Array(e.length),n=Ns(r);for(let e=0;e+4<=n.length;e+=4){const{s0:r,s1:i,s2:s,s3:a}=Xn.encrypt(this.key,this.prevBlock[0],this.prevBlock[1],this.prevBlock[2],this.prevBlock[3]);n[e+0]=t[e+0]^r,n[e+1]=t[e+1]^i,n[e+2]=t[e+2]^s,n[e+3]=t[e+3]^a,this.prevBlock=(this.forEncryption?n:t).slice(e,e+4)}return r}async processChunk(e){const t=this.nextBlock.length-this.i,r=e.subarray(0,t);if(this.nextBlock.set(r,this.i),this.i+e.length>=2*this.blockSize){const r=(e.length-t)%this.blockSize,n=M.concatUint8Array([this.nextBlock,e.subarray(t,e.length-r)]),i=this._runCFB(n);return r>0&&this.nextBlock.set(e.subarray(-r)),this.i=r,i}let n;if(this.i+=r.length,this.i===this.nextBlock.length){n=this._runCFB(this.nextBlock),this.i=0;const t=e.subarray(r.length);this.nextBlock.set(t,this.i),this.i+=t.length}else n=new Uint8Array;return n}async finish(){let e;if(0===this.i)e=new Uint8Array;else{e=this._runCFB(this.nextBlock).subarray(0,this.i)}return this.clearSensitiveData(),e}clearSensitiveData(){this.nextBlock.fill(0),this.prevBlock.fill(0),this.key.fill(0)}}function Ls(e,t){const r=Math.min(e.length,t.length);for(let n=0;n<r;n++)e[n]=e[n]^t[n]}const Ns=e=>new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4));const Fs=M.getWebCrypto(),Os=M.getNodeCrypto(),Hs=16;function _s(e,t){const r=e.length-Hs;for(let n=0;n<Hs;n++)e[n+r]^=t[n];return e}const zs=new Uint8Array(Hs);async function Gs(e){const t=await qs(e),r=M.double(await t(zs)),n=M.double(r);return async function(e){return(await t(function(e,t,r){if(e.length&&e.length%Hs==0)return _s(e,t);const n=new Uint8Array(e.length+(Hs-e.length%Hs));return n.set(e),n[e.length]=128,_s(n,r)}(e,r,n))).subarray(-Hs)}}async function qs(e){if(M.getNodeCrypto())return async function(t){const r=new Os.createCipheriv("aes-"+8*e.length+"-cbc",e,zs).update(t);return new Uint8Array(r)};if(M.getWebCrypto())try{return e=await Fs.importKey("raw",e,{name:"AES-CBC",length:8*e.length},!1,["encrypt"]),async function(t){const r=await Fs.encrypt({name:"AES-CBC",iv:zs,length:8*Hs},e,t);return new Uint8Array(r).subarray(0,r.byteLength-Hs)}}catch(t){if("NotSupportedError"!==t.name&&(24!==e.length||"OperationError"!==t.name))throw t;M.printDebugError("Browser did not support operation: "+t.message)}return async function(t){return zn(e,zs,{disablePadding:!0}).encrypt(t)}}const js=M.getWebCrypto(),Vs=M.getNodeCrypto(),Ys=M.getNodeBuffer(),Zs=16,Ws=Zs,Js=Zs,Xs=new Uint8Array(Zs),$s=new Uint8Array(Zs);$s[Zs-1]=1;const ea=new Uint8Array(Zs);async function ta(e){const t=await Gs(e);return function(e,r){return t(M.concatUint8Array([e,r]))}}async function ra(e){if(M.getNodeCrypto())return async function(t,r){const n=new Vs.createCipheriv("aes-"+8*e.length+"-ctr",e,r),i=Ys.concat([n.update(t),n.final()]);return new Uint8Array(i)};if(M.getWebCrypto())try{const t=await js.importKey("raw",e,{name:"AES-CTR",length:8*e.length},!1,["encrypt"]);return async function(e,r){const n=await js.encrypt({name:"AES-CTR",counter:r,length:8*Zs},t,e);return new Uint8Array(n)}}catch(t){if("NotSupportedError"!==t.name&&(24!==e.length||"OperationError"!==t.name))throw t;M.printDebugError("Browser did not support operation: "+t.message)}return async function(t,r){return _n(e,r).encrypt(t)}}async function na(e,t){if(e!==Q.symmetric.aes128&&e!==Q.symmetric.aes192&&e!==Q.symmetric.aes256)throw Error("EAX mode supports only AES cipher");const[r,n]=await Promise.all([ta(t),ra(t)]);return{encrypt:async function(e,t,i){const[s,a]=await Promise.all([r(Xs,t),r($s,i)]),o=await n(e,s),c=await r(ea,o);for(let e=0;e<Js;e++)c[e]^=a[e]^s[e];return M.concatUint8Array([o,c])},decrypt:async function(e,t,i){if(e.length<Js)throw Error("Invalid EAX ciphertext");const s=e.subarray(0,-Js),a=e.subarray(-Js),[o,c,u]=await Promise.all([r(Xs,t),r($s,i),r(ea,s)]),h=u;for(let e=0;e<Js;e++)h[e]^=c[e]^o[e];if(!M.equalsUint8Array(a,h))throw Error("Authentication tag mismatch");return await n(s,o)}}}ea[Zs-1]=2,na.getNonce=function(e,t){const r=e.slice();for(let e=0;e<t.length;e++)r[8+e]^=t[e];return r},na.blockLength=Zs,na.ivLength=Ws,na.tagLength=Js;const ia=16,sa=15,aa=16;function oa(e){let t=0;for(let r=1;!(e&r);r<<=1)t++;return t}function ca(e,t){for(let r=0;r<e.length;r++)e[r]^=t[r];return e}function ua(e,t){return ca(e.slice(),t)}const ha=new Uint8Array(ia),la=new Uint8Array([1]);async function ya(e,t){const{keySize:r}=ri(e);if(!M.isAES(e)||t.length!==r)throw Error("Unexpected algorithm or key size");let n=0;const i=zn(t,ha,{disablePadding:!0}),s=e=>i.encrypt(e),a=e=>i.decrypt(e);let o;function c(e,t,r,i){const a=t.length/ia|0;!function(e,t){const r=M.nbits(Math.max(e.length,t.length)/ia|0)-1;for(let e=n+1;e<=r;e++)o[e]=M.double(o[e-1]);n=r}(t,i);const c=M.concatUint8Array([ha.subarray(0,sa-r.length),la,r]),u=63&c[ia-1];c[ia-1]&=192;const h=s(c),l=M.concatUint8Array([h,ua(h.subarray(0,8),h.subarray(1,9))]),y=M.shiftRight(l.subarray(0+(u>>3),17+(u>>3)),8-(7&u)).subarray(1),f=new Uint8Array(ia),p=new Uint8Array(t.length+aa);let g,d=0;for(g=0;g<a;g++)ca(y,o[oa(g+1)]),p.set(ca(e(ua(y,t)),y),d),ca(f,e===s?t:p.subarray(d)),t=t.subarray(ia),d+=ia;if(t.length){ca(y,o.x);const r=s(y);p.set(ua(t,r),d);const n=new Uint8Array(ia);n.set(e===s?t:p.subarray(d,-aa),0),n[t.length]=128,ca(f,n),d+=t.length}const A=ca(s(ca(ca(f,y),o.$)),function(e){if(!e.length)return ha;const t=e.length/ia|0,r=new Uint8Array(ia),n=new Uint8Array(ia);for(let i=0;i<t;i++)ca(r,o[oa(i+1)]),ca(n,s(ua(r,e))),e=e.subarray(ia);if(e.length){ca(r,o.x);const t=new Uint8Array(ia);t.set(e,0),t[e.length]=128,ca(t,r),ca(n,s(t))}return n}(i));return p.set(A,d),p}return function(){const e=s(ha),t=M.double(e);o=[],o[0]=M.double(t),o.x=e,o.$=t}(),{encrypt:async function(e,t,r){return c(s,e,t,r)},decrypt:async function(e,t,r){if(e.length<aa)throw Error("Invalid OCB ciphertext");const n=e.subarray(-aa);e=e.subarray(0,-aa);const i=c(a,e,t,r);if(M.equalsUint8Array(n,i.subarray(-aa)))return i.subarray(0,-aa);throw Error("Authentication tag mismatch")}}}ya.getNonce=function(e,t){const r=e.slice();for(let e=0;e<t.length;e++)r[7+e]^=t[e];return r},ya.blockLength=ia,ya.ivLength=sa,ya.tagLength=aa;const fa=M.getWebCrypto(),pa=M.getNodeCrypto(),ga=M.getNodeBuffer(),da=16,Aa="AES-GCM";async function wa(e,t){if(e!==Q.symmetric.aes128&&e!==Q.symmetric.aes192&&e!==Q.symmetric.aes256)throw Error("GCM mode supports only AES cipher");if(M.getNodeCrypto())return{encrypt:async function(e,r,n=new Uint8Array){const i=new pa.createCipheriv("aes-"+8*t.length+"-gcm",t,r);i.setAAD(n);const s=ga.concat([i.update(e),i.final(),i.getAuthTag()]);return new Uint8Array(s)},decrypt:async function(e,r,n=new Uint8Array){const i=new pa.createDecipheriv("aes-"+8*t.length+"-gcm",t,r);i.setAAD(n),i.setAuthTag(e.slice(e.length-da,e.length));const s=ga.concat([i.update(e.slice(0,e.length-da)),i.final()]);return new Uint8Array(s)}};if(M.getWebCrypto())try{const e=await fa.importKey("raw",t,{name:Aa},!1,["encrypt","decrypt"]),r=navigator.userAgent.match(/Version\/13\.\d(\.\d)* Safari/)||navigator.userAgent.match(/Version\/(13|14)\.\d(\.\d)* Mobile\/\S* Safari/);return{encrypt:async function(n,i,s=new Uint8Array){if(r&&!n.length)return qn(t,i,s).encrypt(n);const a=await fa.encrypt({name:Aa,iv:i,additionalData:s,tagLength:8*da},e,n);return new Uint8Array(a)},decrypt:async function(n,i,s=new Uint8Array){if(r&&n.length===da)return qn(t,i,s).decrypt(n);try{const t=await fa.decrypt({name:Aa,iv:i,additionalData:s,tagLength:8*da},e,n);return new Uint8Array(t)}catch(e){if("OperationError"===e.name)throw Error("Authentication tag mismatch")}}}}catch(e){if("NotSupportedError"!==e.name&&(24!==t.length||"OperationError"!==e.name))throw e;M.printDebugError("Browser did not support operation: "+e.message)}return{encrypt:async function(e,r,n){return qn(t,r,n).encrypt(e)},decrypt:async function(e,r,n){return qn(t,r,n).decrypt(e)}}}function ma(e,t=!1){switch(e){case Q.aead.eax:return na;case Q.aead.ocb:return ya;case Q.aead.gcm:return wa;case Q.aead.experimentalGCM:if(!t)throw Error("Unexpected non-standard `experimentalGCM` AEAD algorithm provided in `config.preferredAEADAlgorithm`: use `gcm` instead");return wa;default:throw Error("Unsupported AEAD mode")}}async function ba(e,t,r,n,i,s){switch(e){case Q.publicKey.rsaEncrypt:case Q.publicKey.rsaEncryptSign:{const{n:e,e:t}=r;return{c:await ze(i,e,t)}}case Q.publicKey.elgamal:{const{p:e,g:t,y:n}=r;return async function(e,t,r,n){t=te(t),r=te(r),n=te(n);const i=te(Te(e,ue(t))),s=fe(Ye,t-Ye);return{c1:he(ne(r,s,t)),c2:he(re(ne(n,s,t)*i,t))}}(i,e,t,n)}case Q.publicKey.ecdh:{const{oid:e,Q:t,kdfParams:n}=r,{publicKey:a,wrappedKey:o}=await Wi(e,n,i,t,s);return{V:a,C:new bs(o)}}case Q.publicKey.x25519:case Q.publicKey.x448:{if(t&&!M.isAES(t))throw Error("X25519 and X448 keys can only encrypt AES session keys");const{A:n}=r,{ephemeralPublicKey:s,wrappedKey:a}=await li(e,i,n);return{ephemeralPublicKey:s,C:Ks.fromObject({algorithm:t,wrappedKey:a})}}case Q.publicKey.aead:{if(!n)throw Error("Cannot encrypt with symmetric key missing private parameters");const{cipher:e}=r,t=e.getValue(),{keyMaterial:s}=n,a=R.preferredAEADAlgorithm,o=ma(R.preferredAEADAlgorithm),{ivLength:c}=o,u=ye(c),h=await o(t,s),l=await h.encrypt(i,u,new Uint8Array);return{aeadMode:new Bs(a),iv:u,c:new ks(l)}}case Q.publicKey.pqc_mlkem_x25519:{const{eccPublicKey:n,mlkemPublicKey:s}=r,{eccCipherText:a,mlkemCipherText:o,wrappedKey:c}=await hs(e,n,s,i);return{eccCipherText:a,mlkemCipherText:o,C:Ks.fromObject({algorithm:t,wrappedKey:c})}}default:return[]}}async function ka(e,t,r,n,i,s){switch(e){case Q.publicKey.rsaEncryptSign:case Q.publicKey.rsaEncrypt:{const{c:e}=n,{n:i,e:a}=t,{d:o,p:c,q:u,u:h}=r;return Ge(e,i,a,o,c,u,h,s)}case Q.publicKey.elgamal:{const{c1:e,c2:i}=n;return async function(e,t,r,n,i){return e=te(e),t=te(t),r=te(r),Me(he(re(se(ne(e,n=te(n),r),r)*t,r),"be",ue(r)),i)}(e,i,t.p,r.x,s)}case Q.publicKey.ecdh:{const{oid:e,Q:s,kdfParams:a}=t,{d:o}=r,{V:c,C:u}=n;return Xi(e,a,c,u.data,s,o,i)}case Q.publicKey.x25519:case Q.publicKey.x448:{const{A:i}=t,{k:s}=r,{ephemeralPublicKey:a,C:o}=n;if(null!==o.algorithm&&!M.isAES(o.algorithm))throw Error("AES session key expected");return yi(e,a,o.wrappedKey,i,s)}case Q.publicKey.aead:{const{cipher:e}=t,i=e.getValue(),{keyMaterial:s}=r,{aeadMode:a,iv:o,c}=n,u=ma(a.getValue());return(await u(i,s)).decrypt(c.data,o,new Uint8Array)}case Q.publicKey.pqc_mlkem_x25519:{const{eccSecretKey:i,mlkemSecretKey:s}=r,{eccPublicKey:a,mlkemPublicKey:o}=t,{eccCipherText:c,mlkemCipherText:u,C:h}=n;return ls(e,c,u,i,a,s,0,h.wrappedKey)}default:throw Error("Unknown public key encryption algorithm.")}}async function Ea(e,t,r){let n=0;switch(e){case Q.publicKey.rsaEncrypt:case Q.publicKey.rsaEncryptSign:case Q.publicKey.rsaSign:{const e=M.readMPI(t.subarray(n));n+=e.length+2;const r=M.readMPI(t.subarray(n));n+=r.length+2;const i=M.readMPI(t.subarray(n));n+=i.length+2;const s=M.readMPI(t.subarray(n));return n+=s.length+2,{read:n,privateParams:{d:e,p:r,q:i,u:s}}}case Q.publicKey.dsa:case Q.publicKey.elgamal:{const e=M.readMPI(t.subarray(n));return n+=e.length+2,{read:n,privateParams:{x:e}}}case Q.publicKey.ecdsa:case Q.publicKey.ecdh:{const i=Ua(e,r.oid);let s=M.readMPI(t.subarray(n));return n+=s.length+2,s=M.leftPad(s,i),{read:n,privateParams:{d:s}}}case Q.publicKey.eddsaLegacy:{const i=Ua(e,r.oid);if(r.oid.getName()!==Q.curve.ed25519Legacy)throw Error("Unexpected OID for eddsaLegacy");let s=M.readMPI(t.subarray(n));return n+=s.length+2,s=M.leftPad(s,i),{read:n,privateParams:{seed:s}}}case Q.publicKey.ed25519:case Q.publicKey.ed448:{const r=Ua(e),i=M.readExactSubarray(t,n,n+r);return n+=i.length,{read:n,privateParams:{seed:i}}}case Q.publicKey.x25519:case Q.publicKey.x448:{const r=Ua(e),i=M.readExactSubarray(t,n,n+r);return n+=i.length,{read:n,privateParams:{k:i}}}case Q.publicKey.hmac:{const{cipher:e}=r,i=Qe(e.getValue()),s=t.subarray(n,n+32);n+=32;const a=t.subarray(n,n+i);return n+=i,{read:n,privateParams:{hashSeed:s,keyMaterial:a}}}case Q.publicKey.aead:{const{cipher:e}=r,i=t.subarray(n,n+32);n+=32;const{keySize:s}=ri(e.getValue()),a=t.subarray(n,n+s);return n+=s,{read:n,privateParams:{hashSeed:i,keyMaterial:a}}}case Q.publicKey.pqc_mlkem_x25519:{const r=M.readExactSubarray(t,n,n+Ua(Q.publicKey.x25519));n+=r.length;const i=M.readExactSubarray(t,n,n+64);n+=i.length;const{mlkemSecretKey:s}=await cs(e,i);return{read:n,privateParams:{eccSecretKey:r,mlkemSecretKey:s,mlkemSeed:i}}}case Q.publicKey.pqc_mldsa_ed25519:{const r=M.readExactSubarray(t,n,n+Ua(Q.publicKey.ed25519));n+=r.length;const i=M.readExactSubarray(t,n,n+32);n+=i.length;const{mldsaSecretKey:s}=await ps(e,i);return{read:n,privateParams:{eccSecretKey:r,mldsaSecretKey:s,mldsaSeed:i}}}default:throw new Yt("Unknown public key encryption algorithm.")}}function va(e,t){const r=new Set([Q.publicKey.ed25519,Q.publicKey.x25519,Q.publicKey.ed448,Q.publicKey.x448,Q.publicKey.aead,Q.publicKey.hmac,Q.publicKey.pqc_mlkem_x25519,Q.publicKey.pqc_mldsa_ed25519]),n={[Q.publicKey.pqc_mlkem_x25519]:new Set(["mlkemSecretKey"]),[Q.publicKey.pqc_mldsa_ed25519]:new Set(["mldsaSecretKey"])},i=Object.keys(t).map((i=>{if(n[e]?.has(i))return new Uint8Array;const s=t[i];return M.isUint8Array(s)?r.has(e)?s:M.uint8ArrayToMPI(s):s.write()}));return M.concatUint8Array(i)}async function Ba(e,t,r,n){switch(e){case Q.publicKey.rsaEncrypt:case Q.publicKey.rsaEncryptSign:case Q.publicKey.rsaSign:return async function(e,t){if(t=BigInt(t),M.getWebCrypto()){const r={name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:he(t),hash:{name:"SHA-1"}},n=await Ne.generateKey(r,!0,["sign","verify"]);return Ve(await Ne.exportKey("jwk",n.privateKey),t)}if(M.getNodeCrypto()){const r={modulusLength:e,publicExponent:ae(t),publicKeyEncoding:{type:"pkcs1",format:"jwk"},privateKeyEncoding:{type:"pkcs1",format:"jwk"}},n=await new Promise(((e,t)=>{Fe.generateKeyPair("rsa",r,((r,n,i)=>{r?t(r):e(i)}))}));return Ve(n,t)}let r,n,i;do{n=ge(e-(e>>1),t,40),r=ge(e>>1,t,40),i=r*n}while(ce(i)!==e);const s=(r-Oe)*(n-Oe);return n<r&&([r,n]=[n,r]),{n:he(i),e:he(t),d:he(se(t,s)),p:he(r),q:he(n),u:he(se(r,n))}}(t,65537).then((({n:e,e:t,d:r,p:n,q:i,u:s})=>({privateParams:{d:r,p:n,q:i,u:s},publicParams:{n:e,e:t}})));case Q.publicKey.ecdsa:return Ii(r).then((({oid:e,Q:t,secret:r})=>({privateParams:{d:r},publicParams:{oid:new Ot(e),Q:t}})));case Q.publicKey.eddsaLegacy:return Ii(r).then((({oid:e,Q:t,secret:r})=>({privateParams:{seed:r},publicParams:{oid:new Ot(e),Q:t}})));case Q.publicKey.ecdh:return Ii(r).then((({oid:e,Q:t,secret:r,hash:n,cipher:i})=>({privateParams:{d:r},publicParams:{oid:new Ot(e),Q:t,kdfParams:new Es({hash:n,cipher:i})}})));case Q.publicKey.ed25519:case Q.publicKey.ed448:return Hr(e).then((({A:e,seed:t})=>({privateParams:{seed:t},publicParams:{A:e}})));case Q.publicKey.x25519:case Q.publicKey.x448:return ui(e).then((({A:e,k:t})=>({privateParams:{k:t},publicParams:{A:e}})));case Q.publicKey.hmac:return Sa(await async function(e){if(!ss.has(e))throw Error("Unsupported hash algorithm.");const t=Q.read(Q.webHash,e),r=as||os.webcrypto.subtle,n=await r.generateKey({name:"HMAC",hash:{name:t}},!0,["sign","verify"]),i=await r.exportKey("raw",n);return new Uint8Array(i)}(n),new Is(n));case Q.publicKey.aead:return Sa(Ka(n),new Ss(n));case Q.publicKey.pqc_mlkem_x25519:return us(e).then((({eccSecretKey:e,eccPublicKey:t,mlkemSeed:r,mlkemSecretKey:n,mlkemPublicKey:i})=>({privateParams:{eccSecretKey:e,mlkemSeed:r,mlkemSecretKey:n},publicParams:{eccPublicKey:t,mlkemPublicKey:i}})));case Q.publicKey.pqc_mldsa_ed25519:return gs(e).then((({eccSecretKey:e,eccPublicKey:t,mldsaSeed:r,mldsaSecretKey:n,mldsaPublicKey:i})=>({privateParams:{eccSecretKey:e,mldsaSeed:r,mldsaSecretKey:n},publicParams:{eccPublicKey:t,mldsaPublicKey:i}})));case Q.publicKey.dsa:case Q.publicKey.elgamal:throw Error("Unsupported algorithm for key generation.");default:throw Error("Unknown public key algorithm.")}}async function Sa(e,t){const r=ye(32);return{privateParams:{hashSeed:r,keyMaterial:e},publicParams:{cipher:t,digest:await xe(Q.hash.sha256,r)}}}async function Ia(e,t,r){if(!t||!r)throw Error("Missing key parameters");switch(e){case Q.publicKey.rsaEncrypt:case Q.publicKey.rsaEncryptSign:case Q.publicKey.rsaSign:{const{n:e,e:n}=t,{d:i,p:s,q:a,u:o}=r;return async function(e,t,r,n,i,s){if(e=te(e),(n=te(n))*(i=te(i))!==e)return!1;const a=BigInt(2);if(re(n*(s=te(s)),i)!==BigInt(1))return!1;t=te(t),r=te(r);const o=fe(a,a<<BigInt(Math.floor(ce(e)/3))),c=o*r*t;return!(re(c,n-Oe)!==o||re(c,i-Oe)!==o)}(e,n,i,s,a,o)}case Q.publicKey.dsa:{const{p:e,q:n,g:i,y:s}=t,{x:a}=r;return async function(e,t,r,n,i){if(e=te(e),t=te(t),r=te(r),n=te(n),r<=is||r>=e)return!1;if(re(e-is,t)!==ns)return!1;if(ne(r,t,e)!==is)return!1;const s=BigInt(ce(t));if(s<BigInt(150)||!de(t,null,32))return!1;i=te(i);const a=BigInt(2);return n===ne(r,t*fe(a<<s-is,a<<s)+i,e)}(e,n,i,s,a)}case Q.publicKey.elgamal:{const{p:e,g:n,y:i}=t,{x:s}=r;return async function(e,t,r,n){if(e=te(e),t=te(t),r=te(r),t<=Ye||t>=e)return!1;const i=BigInt(ce(e));if(i<BigInt(1023))return!1;if(ne(t,e-Ye,e)!==Ye)return!1;let s=t,a=BigInt(1);const o=BigInt(2),c=o<<BigInt(17);for(;a<c;){if(s=re(s*t,e),s===Ye)return!1;a++}n=te(n);const u=fe(o<<i-Ye,o<<i);return r===ne(t,(e-Ye)*u+n,e)}(e,n,i,s)}case Q.publicKey.ecdsa:case Q.publicKey.ecdh:{const n=rs[Q.read(Q.publicKey,e)],{oid:i,Q:s}=t,{d:a}=r;return n.validateParams(i,s,a)}case Q.publicKey.eddsaLegacy:{const{Q:e,oid:n}=t,{seed:i}=r;return _i(n,e,i)}case Q.publicKey.ed25519:case Q.publicKey.ed448:{const{A:n}=t,{seed:i}=r;return Gr(e,n,i)}case Q.publicKey.x25519:case Q.publicKey.x448:{const{A:n}=t,{k:i}=r;return hi(e,n,i)}case Q.publicKey.hmac:{const{cipher:e,digest:n}=t,{hashSeed:i,keyMaterial:s}=r;return Qe(e.getValue())===s.length&&M.equalsUint8Array(n,await xe(Q.hash.sha256,i))}case Q.publicKey.aead:{const{cipher:e,digest:n}=t,{hashSeed:i,keyMaterial:s}=r,{keySize:a}=ri(e.getValue());return a===s.length&&M.equalsUint8Array(n,await xe(Q.hash.sha256,i))}case Q.publicKey.pqc_mlkem_x25519:{const{eccSecretKey:n,mlkemSeed:i}=r,{eccPublicKey:s,mlkemPublicKey:a}=t;return fs(e,s,n,a,i)}case Q.publicKey.pqc_mldsa_ed25519:{const{eccSecretKey:n,mldsaSeed:i}=r,{eccPublicKey:s,mldsaPublicKey:a}=t;return ms(e,s,n,a,i)}default:throw Error("Unknown public key algorithm.")}}function Ka(e){const{keySize:t}=ri(e);return ye(t)}function Ca(e){try{e.getName()}catch(e){throw new Yt("Unknown curve OID")}}function Ua(e,t){switch(e){case Q.publicKey.ecdsa:case Q.publicKey.ecdh:case Q.publicKey.eddsaLegacy:return new Si(t).payloadSize;case Q.publicKey.ed25519:case Q.publicKey.ed448:return qr(e);case Q.publicKey.x25519:case Q.publicKey.x448:return fi(e);default:throw Error("Unknown elliptic algo")}}async function Pa(e,t,r,n,i,s,a){switch(e){case Q.publicKey.rsaEncryptSign:case Q.publicKey.rsaEncrypt:case Q.publicKey.rsaSign:{const{n:e,e:i}=n;return _e(t,s,M.leftPad(r.s,e.length),e,i,a)}case Q.publicKey.dsa:{const{g:e,p:t,q:i,y:s}=n,{r:o,s:c}=r;return async function(e,t,r,n,i,s,a,o){if(t=te(t),r=te(r),s=te(s),a=te(a),i=te(i),o=te(o),t<=ns||t>=a||r<=ns||r>=a)return M.printDebug("invalid DSA Signature"),!1;const c=re(te(n.subarray(0,ue(a))),a),u=se(r,a);if(u===ns)return M.printDebug("invalid DSA Signature"),!1;i=re(i,s),o=re(o,s);const h=re(c*u,a),l=re(t*u,a);return re(re(ne(i,h,s)*ne(o,l,s),s),a)===t}(0,o,c,a,e,t,i,s)}case Q.publicKey.ecdsa:{const{oid:e,Q:i}=n,o=new Si(e).payloadSize;return Li(e,t,{r:M.leftPad(r.r,o),s:M.leftPad(r.s,o)},s,i,a)}case Q.publicKey.eddsaLegacy:{if(Qe(t)<Qe(Q.hash.sha256))throw Error("Hash algorithm too weak for EdDSALegacy.");const{oid:e,Q:i}=n,s=new Si(e).payloadSize;return Hi(e,0,{r:M.leftPad(r.r,s),s:M.leftPad(r.s,s)},0,i,a)}case Q.publicKey.ed25519:case Q.publicKey.ed448:{if(Qe(t)<Qe(jr(e)))throw Error("Hash algorithm too weak for EdDSA.");const{A:i}=n;return zr(e,0,r,0,i,a)}case Q.publicKey.hmac:{if(!i)throw Error("Cannot verify HMAC signature with symmetric key missing private parameters");const{cipher:e}=n,{keyMaterial:t}=i;return async function(e,t,r,n){if(!ss.has(e))throw Error("Unsupported hash algorithm.");const i=Q.read(Q.webHash,e),s=as||os.webcrypto.subtle,a=await s.importKey("raw",t,{name:"HMAC",hash:{name:i}},!1,["verify"]);return s.verify("HMAC",a,r,n)}(e.getValue(),t,r.mac.data,a)}case Q.publicKey.pqc_mldsa_ed25519:{if(!ws(e,t))throw Error("Unexpected hash algorithm for PQC signature: digest size too short");const{eccPublicKey:i,mldsaPublicKey:s}=n;return As(e,0,i,s,a,r)}default:throw Error("Unknown signature algorithm.")}}async function Da(e,t,r,n,i,s){if(!r||!n)throw Error("Missing key parameters");switch(e){case Q.publicKey.rsaEncryptSign:case Q.publicKey.rsaEncrypt:case Q.publicKey.rsaSign:{const{n:e,e:a}=r,{d:o,p:c,q:u,u:h}=n;return{s:await He(t,i,e,a,o,c,u,h,s)}}case Q.publicKey.dsa:{const{g:e,p:t,q:i}=r,{x:a}=n;return async function(e,t,r,n,i,s){const a=BigInt(0);let o,c,u,h;n=te(n),i=te(i),r=te(r),s=te(s),r=re(r,n),s=re(s,i);const l=re(te(t.subarray(0,ue(i))),i);for(;;){if(o=fe(is,i),c=re(ne(r,o,n),i),c===a)continue;const e=re(s*c,i);if(h=re(l+e,i),u=re(se(o,i)*h,i),u!==a)break}return{r:he(c,"be",ue(n)),s:he(u,"be",ue(n))}}(0,s,e,t,i,a)}case Q.publicKey.elgamal:throw Error("Signing with Elgamal is not defined in the OpenPGP standard.");case Q.publicKey.ecdsa:{const{oid:e,Q:a}=r,{d:o}=n;return Mi(e,t,i,a,o,s)}case Q.publicKey.eddsaLegacy:{if(Qe(t)<Qe(Q.hash.sha256))throw Error("Hash algorithm too weak for EdDSALegacy.");const{oid:e,Q:i}=r,{seed:a}=n;return Oi(e,0,0,i,a,s)}case Q.publicKey.ed25519:case Q.publicKey.ed448:{if(Qe(t)<Qe(jr(e)))throw Error("Hash algorithm too weak for EdDSA.");const{A:i}=r,{seed:a}=n;return _r(e,0,0,i,a,s)}case Q.publicKey.hmac:{const{cipher:e}=r,{keyMaterial:t}=n,i=await async function(e,t,r){if(!ss.has(e))throw Error("Unsupported hash algorithm.");const n=Q.read(Q.webHash,e),i=as||os.webcrypto.subtle,s=await i.importKey("raw",t,{name:"HMAC",hash:{name:n}},!1,["sign"]),a=await i.sign("HMAC",s,r);return new Uint8Array(a)}(e.getValue(),t,s);return{mac:new ks(i)}}case Q.publicKey.pqc_mldsa_ed25519:{if(!ws(e,t))throw Error("Unexpected hash algorithm for PQC signature: digest size too short");const{eccPublicKey:i}=r,{eccSecretKey:a,mldsaSecretKey:o}=n;return ds(e,0,a,i,o,s)}default:throw Error("Unknown signature algorithm.")}}wa.getNonce=function(e,t){const r=e.slice();for(let e=0;e<t.length;e++)r[4+e]^=t[e];return r},wa.blockLength=16,wa.ivLength=12,wa.tagLength=da;class xa extends Error{constructor(...e){super(...e),Error.captureStackTrace&&Error.captureStackTrace(this,xa),this.name="Argon2OutOfMemoryError"}}let Qa,Ra,Ta=2<<19;class Ma{static get ARGON2_WASM_MEMORY_THRESHOLD_RELOAD(){return Ta}static set ARGON2_WASM_MEMORY_THRESHOLD_RELOAD(e){Ta=e}static reloadWasmModule(){Qa&&(Ra=Qa(),Ra.catch((()=>{})))}constructor(e=R){const{passes:t,parallelism:r,memoryExponent:n}=e.s2kArgon2Params;this.type="argon2",this.salt=null,this.t=t,this.p=r,this.encodedM=n}generateSalt(){this.salt=ye(16)}read(e){let t=0;return this.salt=e.subarray(t,t+16),t+=16,this.t=e[t++],this.p=e[t++],this.encodedM=e[t++],t}write(){const e=[new Uint8Array([Q.write(Q.s2k,this.type)]),this.salt,new Uint8Array([this.t,this.p,this.encodedM])];return M.concatUint8Array(e)}async produceKey(e,t){const r=2<<this.encodedM-1;try{Qa=Qa||(await Promise.resolve().then((function(){return bg}))).default,Ra=Ra||Qa();const n=await Ra,i=n({version:19,type:2,password:M.encodeUTF8(e),salt:this.salt,tagLength:t,memorySize:r,parallelism:this.p,passes:this.t});return r>Ma.ARGON2_WASM_MEMORY_THRESHOLD_RELOAD&&Ma.reloadWasmModule(),i}catch(e){throw e.message&&(e.message.includes("Unable to grow instance memory")||e.message.includes("failed to grow memory")||e.message.includes("WebAssembly.Memory.grow")||e.message.includes("Out of memory"))?new xa("Could not allocate required memory for Argon2"):e}}}class La{constructor(e,t=R){this.algorithm=Q.hash.sha256,this.type=Q.read(Q.s2k,e),this.c=t.s2kIterationCountByte,this.salt=null}generateSalt(){switch(this.type){case"salted":case"iterated":this.salt=ye(8)}}getCount(){return 16+(15&this.c)<<6+(this.c>>4)}read(e){let t=0;switch(this.algorithm=e[t++],this.type){case"simple":break;case"salted":this.salt=e.subarray(t,t+8),t+=8;break;case"iterated":this.salt=e.subarray(t,t+8),t+=8,this.c=e[t++];break;case"gnu":if("GNU"!==M.uint8ArrayToString(e.subarray(t,t+3)))throw new Yt("Unknown s2k type.");t+=3;if(1001!==1e3+e[t++])throw new Yt("Unknown s2k gnu protection mode.");this.type="gnu-dummy";break;default:throw new Yt("Unknown s2k type.")}return t}write(){if("gnu-dummy"===this.type)return new Uint8Array([101,0,...M.stringToUint8Array("GNU"),1]);const e=[new Uint8Array([Q.write(Q.s2k,this.type),this.algorithm])];switch(this.type){case"simple":break;case"salted":e.push(this.salt);break;case"iterated":e.push(this.salt),e.push(new Uint8Array([this.c]));break;case"gnu":throw Error("GNU s2k type not supported.");default:throw Error("Unknown s2k type.")}return M.concatUint8Array(e)}async produceKey(e,t){e=M.encodeUTF8(e);const r=[];let n=0,i=0;for(;n<t;){let t;switch(this.type){case"simple":t=M.concatUint8Array([new Uint8Array(i),e]);break;case"salted":t=M.concatUint8Array([new Uint8Array(i),this.salt,e]);break;case"iterated":{const r=M.concatUint8Array([this.salt,e]);let n=r.length;const s=Math.max(this.getCount(),n);t=new Uint8Array(i+s),t.set(r,i);for(let e=i+n;e<s;e+=n,n*=2)t.copyWithin(e,i,e);break}case"gnu":throw Error("GNU s2k type not supported.");default:throw Error("Unknown s2k type.")}const s=await xe(this.algorithm,t);r.push(s),n+=s.length,i++}return M.concatUint8Array(r).subarray(0,t)}}const Na=new Set([Q.s2k.argon2,Q.s2k.iterated]);function Fa(e,t=R){switch(e){case Q.s2k.argon2:return new Ma(t);case Q.s2k.iterated:case Q.s2k.gnu:case Q.s2k.salted:case Q.s2k.simple:return new La(e,t);default:throw new Yt("Unsupported S2K type")}}function Oa(e){const{s2kType:t}=e;if(!Na.has(t))throw Error("The provided `config.s2kType` value is not allowed");return Fa(t,e)}var Ha=Uint8Array,_a=Uint16Array,za=Uint32Array,Ga=new Ha([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),qa=new Ha([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),ja=new Ha([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Va=function(e,t){for(var r=new _a(31),n=0;n<31;++n)r[n]=t+=1<<e[n-1];var i=new za(r[30]);for(n=1;n<30;++n)for(var s=r[n];s<r[n+1];++s)i[s]=s-r[n]<<5|n;return[r,i]},Ya=Va(Ga,2),Za=Ya[0],Wa=Ya[1];Za[28]=258,Wa[258]=28;for(var Ja=Va(qa,0),Xa=Ja[0],$a=Ja[1],eo=new _a(32768),to=0;to<32768;++to){var ro=(43690&to)>>>1|(21845&to)<<1;ro=(61680&(ro=(52428&ro)>>>2|(13107&ro)<<2))>>>4|(3855&ro)<<4,eo[to]=((65280&ro)>>>8|(255&ro)<<8)>>>1}var no=function(e,t,r){for(var n=e.length,i=0,s=new _a(t);i<n;++i)e[i]&&++s[e[i]-1];var a,o=new _a(t);for(i=0;i<t;++i)o[i]=o[i-1]+s[i-1]<<1;if(r){a=new _a(1<<t);var c=15-t;for(i=0;i<n;++i)if(e[i])for(var u=i<<4|e[i],h=t-e[i],l=o[e[i]-1]++<<h,y=l|(1<<h)-1;l<=y;++l)a[eo[l]>>>c]=u}else for(a=new _a(n),i=0;i<n;++i)e[i]&&(a[i]=eo[o[e[i]-1]++]>>>15-e[i]);return a},io=new Ha(288);for(to=0;to<144;++to)io[to]=8;for(to=144;to<256;++to)io[to]=9;for(to=256;to<280;++to)io[to]=7;for(to=280;to<288;++to)io[to]=8;var so=new Ha(32);for(to=0;to<32;++to)so[to]=5;var ao=/*#__PURE__*/no(io,9,0),oo=/*#__PURE__*/no(io,9,1),co=/*#__PURE__*/no(so,5,0),uo=/*#__PURE__*/no(so,5,1),ho=function(e){for(var t=e[0],r=1;r<e.length;++r)e[r]>t&&(t=e[r]);return t},lo=function(e,t,r){var n=t/8|0;return(e[n]|e[n+1]<<8)>>(7&t)&r},yo=function(e,t){var r=t/8|0;return(e[r]|e[r+1]<<8|e[r+2]<<16)>>(7&t)},fo=function(e){return(e+7)/8|0},po=function(e,t,r){(null==t||t<0)&&(t=0),(null==r||r>e.length)&&(r=e.length);var n=new(2==e.BYTES_PER_ELEMENT?_a:4==e.BYTES_PER_ELEMENT?za:Ha)(r-t);return n.set(e.subarray(t,r)),n},go=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],Ao=function(e,t,r){var n=Error(t||go[e]);if(n.code=e,Error.captureStackTrace&&Error.captureStackTrace(n,Ao),!r)throw n;return n},wo=function(e,t,r){r<<=7&t;var n=t/8|0;e[n]|=r,e[n+1]|=r>>>8},mo=function(e,t,r){r<<=7&t;var n=t/8|0;e[n]|=r,e[n+1]|=r>>>8,e[n+2]|=r>>>16},bo=function(e,t){for(var r=[],n=0;n<e.length;++n)e[n]&&r.push({s:n,f:e[n]});var i=r.length,s=r.slice();if(!i)return[Ko,0];if(1==i){var a=new Ha(r[0].s+1);return a[r[0].s]=1,[a,1]}r.sort((function(e,t){return e.f-t.f})),r.push({s:-1,f:25001});var o=r[0],c=r[1],u=0,h=1,l=2;for(r[0]={s:-1,f:o.f+c.f,l:o,r:c};h!=i-1;)o=r[r[u].f<r[l].f?u++:l++],c=r[u!=h&&r[u].f<r[l].f?u++:l++],r[h++]={s:-1,f:o.f+c.f,l:o,r:c};var y=s[0].s;for(n=1;n<i;++n)s[n].s>y&&(y=s[n].s);var f=new _a(y+1),p=ko(r[h-1],f,0);if(p>t){n=0;var g=0,d=p-t,A=1<<d;for(s.sort((function(e,t){return f[t.s]-f[e.s]||e.f-t.f}));n<i;++n){var w=s[n].s;if(!(f[w]>t))break;g+=A-(1<<p-f[w]),f[w]=t}for(g>>>=d;g>0;){var m=s[n].s;f[m]<t?g-=1<<t-f[m]++-1:++n}for(;n>=0&&g;--n){var b=s[n].s;f[b]==t&&(--f[b],++g)}p=t}return[new Ha(f),p]},ko=function(e,t,r){return-1==e.s?Math.max(ko(e.l,t,r+1),ko(e.r,t,r+1)):t[e.s]=r},Eo=function(e){for(var t=e.length;t&&!e[--t];);for(var r=new _a(++t),n=0,i=e[0],s=1,a=function(e){r[n++]=e},o=1;o<=t;++o)if(e[o]==i&&o!=t)++s;else{if(!i&&s>2){for(;s>138;s-=138)a(32754);s>2&&(a(s>10?s-11<<5|28690:s-3<<5|12305),s=0)}else if(s>3){for(a(i),--s;s>6;s-=6)a(8304);s>2&&(a(s-3<<5|8208),s=0)}for(;s--;)a(i);s=1,i=e[o]}return[r.subarray(0,n),t]},vo=function(e,t){for(var r=0,n=0;n<t.length;++n)r+=e[n]*t[n];return r},Bo=function(e,t,r){var n=r.length,i=fo(t+2);e[i]=255&n,e[i+1]=n>>>8,e[i+2]=255^e[i],e[i+3]=255^e[i+1];for(var s=0;s<n;++s)e[i+s+4]=r[s];return 8*(i+4+n)},So=function(e,t,r,n,i,s,a,o,c,u,h){wo(t,h++,r),++i[256];for(var l=bo(i,15),y=l[0],f=l[1],p=bo(s,15),g=p[0],d=p[1],A=Eo(y),w=A[0],m=A[1],b=Eo(g),k=b[0],E=b[1],v=new _a(19),B=0;B<w.length;++B)v[31&w[B]]++;for(B=0;B<k.length;++B)v[31&k[B]]++;for(var S=bo(v,7),I=S[0],K=S[1],C=19;C>4&&!I[ja[C-1]];--C);var U,P,D,x,Q=u+5<<3,R=vo(i,io)+vo(s,so)+a,T=vo(i,y)+vo(s,g)+a+14+3*C+vo(v,I)+(2*v[16]+3*v[17]+7*v[18]);if(Q<=R&&Q<=T)return Bo(t,h,e.subarray(c,c+u));if(wo(t,h,1+(T<R)),h+=2,T<R){U=no(y,f,0),P=y,D=no(g,d,0),x=g;var M=no(I,K,0);wo(t,h,m-257),wo(t,h+5,E-1),wo(t,h+10,C-4),h+=14;for(B=0;B<C;++B)wo(t,h+3*B,I[ja[B]]);h+=3*C;for(var L=[w,k],N=0;N<2;++N){var F=L[N];for(B=0;B<F.length;++B){var O=31&F[B];wo(t,h,M[O]),h+=I[O],O>15&&(wo(t,h,F[B]>>>5&127),h+=F[B]>>>12)}}}else U=ao,P=io,D=co,x=so;for(B=0;B<o;++B)if(n[B]>255){O=n[B]>>>18&31;mo(t,h,U[O+257]),h+=P[O+257],O>7&&(wo(t,h,n[B]>>>23&31),h+=Ga[O]);var H=31&n[B];mo(t,h,D[H]),h+=x[H],H>3&&(mo(t,h,n[B]>>>5&8191),h+=qa[H])}else mo(t,h,U[n[B]]),h+=P[n[B]];return mo(t,h,U[256]),h+P[256]},Io=/*#__PURE__*/new za([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),Ko=/*#__PURE__*/new Ha(0),Co=function(e,t,r,n,i){return function(e,t,r,n,i,s){var a=e.length,o=new Ha(n+a+5*(1+Math.ceil(a/7e3))+i),c=o.subarray(n,o.length-i),u=0;if(!t||a<8)for(var h=0;h<=a;h+=65535){var l=h+65535;l>=a&&(c[u>>3]=s),u=Bo(c,u+1,e.subarray(h,l))}else{for(var y=Io[t-1],f=y>>>13,p=8191&y,g=(1<<r)-1,d=new _a(32768),A=new _a(g+1),w=Math.ceil(r/3),m=2*w,b=function(t){return(e[t]^e[t+1]<<w^e[t+2]<<m)&g},k=new za(25e3),E=new _a(288),v=new _a(32),B=0,S=0,I=(h=0,0),K=0,C=0;h<a;++h){var U=b(h),P=32767&h,D=A[U];if(d[P]=D,A[U]=P,K<=h){var x=a-h;if((B>7e3||I>24576)&&x>423){u=So(e,c,0,k,E,v,S,I,C,h-C,u),I=B=S=0,C=h;for(var Q=0;Q<286;++Q)E[Q]=0;for(Q=0;Q<30;++Q)v[Q]=0}var R=2,T=0,M=p,L=P-D&32767;if(x>2&&U==b(h-L))for(var N=Math.min(f,x)-1,F=Math.min(32767,h),O=Math.min(258,x);L<=F&&--M&&P!=D;){if(e[h+R]==e[h+R-L]){for(var H=0;H<O&&e[h+H]==e[h+H-L];++H);if(H>R){if(R=H,T=L,H>N)break;var _=Math.min(L,H-2),z=0;for(Q=0;Q<_;++Q){var G=h-L+Q+32768&32767,q=G-d[G]+32768&32767;q>z&&(z=q,D=G)}}}L+=(P=D)-(D=d[P])+32768&32767}if(T){k[I++]=268435456|Wa[R]<<18|$a[T];var j=31&Wa[R],V=31&$a[T];S+=Ga[j]+qa[V],++E[257+j],++v[V],K=h+R,++B}else k[I++]=e[h],++E[e[h]]}}u=So(e,c,s,k,E,v,S,I,C,h-C,u),!s&&7&u&&(u=Bo(c,u+1,Ko))}return po(o,0,n+fo(u)+i)}(e,null==t.level?6:t.level,null==t.mem?Math.ceil(1.5*Math.max(8,Math.min(13,Math.log(e.length)))):12+t.mem,r,n,!i)},Uo=/*#__PURE__*/function(){function e(e,t){t||"function"!=typeof e||(t=e,e={}),this.ondata=t,this.o=e||{}}return e.prototype.p=function(e,t){this.ondata(Co(e,this.o,0,0,!t),t)},e.prototype.push=function(e,t){this.ondata||Ao(5),this.d&&Ao(4),this.d=t,this.p(e,t||!1)},e}(),Po=/*#__PURE__*/function(){function e(e){this.s={},this.p=new Ha(0),this.ondata=e}return e.prototype.e=function(e){this.ondata||Ao(5),this.d&&Ao(4);var t=this.p.length,r=new Ha(t+e.length);r.set(this.p),r.set(e,t),this.p=r},e.prototype.c=function(e){this.d=this.s.i=e||!1;var t=this.s.b,r=function(e,t,r){var n=e.length;if(!n||r&&r.f&&!r.l)return t||new Ha(0);var i=!t||r,s=!r||r.i;r||(r={}),t||(t=new Ha(3*n));var a=function(e){var r=t.length;if(e>r){var n=new Ha(Math.max(2*r,e));n.set(t),t=n}},o=r.f||0,c=r.p||0,u=r.b||0,h=r.l,l=r.d,y=r.m,f=r.n,p=8*n;do{if(!h){o=lo(e,c,1);var g=lo(e,c+1,3);if(c+=3,!g){var d=e[(K=fo(c)+4)-4]|e[K-3]<<8,A=K+d;if(A>n){s&&Ao(0);break}i&&a(u+d),t.set(e.subarray(K,A),u),r.b=u+=d,r.p=c=8*A,r.f=o;continue}if(1==g)h=oo,l=uo,y=9,f=5;else if(2==g){var w=lo(e,c,31)+257,m=lo(e,c+10,15)+4,b=w+lo(e,c+5,31)+1;c+=14;for(var k=new Ha(b),E=new Ha(19),v=0;v<m;++v)E[ja[v]]=lo(e,c+3*v,7);c+=3*m;var B=ho(E),S=(1<<B)-1,I=no(E,B,1);for(v=0;v<b;){var K,C=I[lo(e,c,S)];if(c+=15&C,(K=C>>>4)<16)k[v++]=K;else{var U=0,P=0;for(16==K?(P=3+lo(e,c,3),c+=2,U=k[v-1]):17==K?(P=3+lo(e,c,7),c+=3):18==K&&(P=11+lo(e,c,127),c+=7);P--;)k[v++]=U}}var D=k.subarray(0,w),x=k.subarray(w);y=ho(D),f=ho(x),h=no(D,y,1),l=no(x,f,1)}else Ao(1);if(c>p){s&&Ao(0);break}}i&&a(u+131072);for(var Q=(1<<y)-1,R=(1<<f)-1,T=c;;T=c){var M=(U=h[yo(e,c)&Q])>>>4;if((c+=15&U)>p){s&&Ao(0);break}if(U||Ao(2),M<256)t[u++]=M;else{if(256==M){T=c,h=null;break}var L=M-254;if(M>264){var N=Ga[v=M-257];L=lo(e,c,(1<<N)-1)+Za[v],c+=N}var F=l[yo(e,c)&R],O=F>>>4;if(F||Ao(3),c+=15&F,x=Xa[O],O>3&&(N=qa[O],x+=yo(e,c)&(1<<N)-1,c+=N),c>p){s&&Ao(0);break}i&&a(u+131072);for(var H=u+L;u<H;u+=4)t[u]=t[u-x],t[u+1]=t[u+1-x],t[u+2]=t[u+2-x],t[u+3]=t[u+3-x];u=H}}r.l=h,r.p=T,r.b=u,r.f=o,h&&(o=1,r.m=y,r.d=l,r.n=f)}while(!o);return u==t.length?t:po(t,0,u)}(this.p,this.o,this.s);this.ondata(po(r,t,this.s.b),this.d),this.o=po(r,this.s.b-32768),this.s.b=this.o.length,this.p=po(this.p,this.s.p/8|0),this.s.p&=7},e.prototype.push=function(e,t){this.e(e),this.c(t)},e}(),Do=/*#__PURE__*/function(){function e(e,t){var r,n;this.c=(r=1,n=0,{p:function(e){for(var t=r,i=n,s=0|e.length,a=0;a!=s;){for(var o=Math.min(a+2655,s);a<o;++a)i+=t+=e[a];t=(65535&t)+15*(t>>16),i=(65535&i)+15*(i>>16)}r=t,n=i},d:function(){return(255&(r%=65521))<<24|r>>>8<<16|(255&(n%=65521))<<8|n>>>8}}),this.v=1,Uo.call(this,e,t)}return e.prototype.push=function(e,t){Uo.prototype.push.call(this,e,t)},e.prototype.p=function(e,t){this.c.p(e);var r=Co(e,this.o,this.v&&2,t&&4,!t);this.v&&(function(e,t){var r=t.level,n=0==r?0:r<6?1:9==r?3:2;e[0]=120,e[1]=n<<6|(n?32-2*n:1)}(r,this.o),this.v=0),t&&function(e,t,r){for(;r;++t)e[t]=r,r>>>=8}(r,r.length-4,this.c.d()),this.ondata(r,t)},e}(),xo=/*#__PURE__*/function(){function e(e){this.v=1,Po.call(this,e)}return e.prototype.push=function(e,t){if(Po.prototype.e.call(this,e),this.v){if(this.p.length<2&&!t)return;this.p=this.p.subarray(2),this.v=0}t&&(this.p.length<4&&Ao(6,"invalid zlib data"),this.p=this.p.subarray(0,-4)),Po.prototype.c.call(this,t)},e}(),Qo="undefined"!=typeof TextDecoder&&/*#__PURE__*/new TextDecoder;try{Qo.decode(Ko,{stream:!0}),1}catch(e){}class Ro{static get tag(){return Q.packet.literalData}constructor(e=new Date){this.format=Q.literal.utf8,this.date=M.normalizeDate(e),this.text=null,this.data=null,this.filename=""}setText(e,t=Q.literal.utf8){this.format=t,this.text=e,this.data=null}getText(e=!1){return(null===this.text||M.isStream(this.text))&&(this.text=M.decodeUTF8(M.nativeEOL(this.getBytes(e)))),this.text}setBytes(e,t){this.format=t,this.data=e,this.text=null}getBytes(e=!1){return null===this.data&&(this.data=M.canonicalizeEOL(M.encodeUTF8(this.text))),e?B(this.data):this.data}setFilename(e){this.filename=e}getFilename(){return this.filename}async read(e){await E(e,(async e=>{const t=await e.readByte(),r=await e.readByte();this.filename=M.decodeUTF8(await e.readBytes(r)),this.date=M.readDate(await e.readBytes(4));let n=e.remainder();a(n)&&(n=await K(n)),this.setBytes(n,t)}))}writeHeader(){const e=M.encodeUTF8(this.filename),t=new Uint8Array([e.length]),r=new Uint8Array([this.format]),n=M.writeDate(this.date);return M.concatUint8Array([r,t,e,n])}write(){const e=this.writeHeader(),t=this.getBytes();return M.concat([e,t])}}class To{constructor(){this.bytes=""}read(e){return this.bytes=M.uint8ArrayToString(e.subarray(0,8)),this.bytes.length}write(){return M.stringToUint8Array(this.bytes)}toHex(){return M.uint8ArrayToHex(M.stringToUint8Array(this.bytes))}equals(e,t=!1){return t&&(e.isWildcard()||this.isWildcard())||this.bytes===e.bytes}isNull(){return""===this.bytes}isWildcard(){return/^0+$/.test(this.toHex())}static mapToHex(e){return e.toHex()}static fromID(e){const t=new To;return t.read(M.hexToUint8Array(e)),t}static wildcard(){const e=new To;return e.read(new Uint8Array(8)),e}}const Mo=Symbol("verified"),Lo="salt@notations.openpgpjs.org",No=new Set([Q.signatureSubpacket.issuerKeyID,Q.signatureSubpacket.issuerFingerprint,Q.signatureSubpacket.embeddedSignature]);class Fo{static get tag(){return Q.packet.signature}constructor(){this.version=null,this.signatureType=null,this.hashAlgorithm=null,this.publicKeyAlgorithm=null,this.signatureData=null,this.unhashedSubpackets=[],this.unknownSubpackets=[],this.signedHashValue=null,this.salt=null,this.created=null,this.signatureExpirationTime=null,this.signatureNeverExpires=!0,this.exportable=null,this.trustLevel=null,this.trustAmount=null,this.regularExpression=null,this.revocable=null,this.keyExpirationTime=null,this.keyNeverExpires=null,this.preferredSymmetricAlgorithms=null,this.revocationKeyClass=null,this.revocationKeyAlgorithm=null,this.revocationKeyFingerprint=null,this.issuerKeyID=new To,this.rawNotations=[],this.notations={},this.preferredHashAlgorithms=null,this.preferredCompressionAlgorithms=null,this.keyServerPreferences=null,this.preferredKeyServer=null,this.isPrimaryUserID=null,this.policyURI=null,this.keyFlags=null,this.signersUserID=null,this.reasonForRevocationFlag=null,this.reasonForRevocationString=null,this.features=null,this.signatureTargetPublicKeyAlgorithm=null,this.signatureTargetHashAlgorithm=null,this.signatureTargetHash=null,this.embeddedSignature=null,this.issuerKeyVersion=null,this.issuerFingerprint=null,this.preferredAEADAlgorithms=null,this.preferredCipherSuites=null,this.revoked=null,this[Mo]=null}read(e,t=R){let r=0;if(this.version=e[r++],5===this.version&&!t.enableParsingV5Entities)throw new Yt("Support for v5 entities is disabled; turn on `config.enableParsingV5Entities` if needed");if(4!==this.version&&5!==this.version&&6!==this.version)throw new Yt(`Version ${this.version} of the signature packet is unsupported.`);if(this.signatureType=e[r++],this.publicKeyAlgorithm=e[r++],this.hashAlgorithm=e[r++],r+=this.readSubPackets(e.subarray(r,e.length),!0),!this.created)throw Error("Missing signature creation time subpacket.");if(this.signatureData=e.subarray(0,r),r+=this.readSubPackets(e.subarray(r,e.length),!1),this.signedHashValue=e.subarray(r,r+2),r+=2,6===this.version){const t=e[r++];this.salt=e.subarray(r,r+t),r+=t}const n=e.subarray(r,e.length),{read:i,signatureParams:s}=function(e,t){let r=0;switch(e){case Q.publicKey.rsaEncryptSign:case Q.publicKey.rsaEncrypt:case Q.publicKey.rsaSign:{const e=M.readMPI(t.subarray(r));return r+=e.length+2,{read:r,signatureParams:{s:e}}}case Q.publicKey.dsa:case Q.publicKey.ecdsa:{const e=M.readMPI(t.subarray(r));r+=e.length+2;const n=M.readMPI(t.subarray(r));return r+=n.length+2,{read:r,signatureParams:{r:e,s:n}}}case Q.publicKey.eddsaLegacy:{const e=M.readMPI(t.subarray(r));r+=e.length+2;const n=M.readMPI(t.subarray(r));return r+=n.length+2,{read:r,signatureParams:{r:e,s:n}}}case Q.publicKey.ed25519:case Q.publicKey.ed448:{const n=2*qr(e),i=M.readExactSubarray(t,r,r+n);return r+=i.length,{read:r,signatureParams:{RS:i}}}case Q.publicKey.hmac:{const e=new ks;return r+=e.read(t.subarray(r)),{read:r,signatureParams:{mac:e}}}case Q.publicKey.pqc_mldsa_ed25519:{const e=2*qr(Q.publicKey.ed25519),n=M.readExactSubarray(t,r,r+e);r+=n.length;const i=M.readExactSubarray(t,r,r+3309);return r+=i.length,{read:r,signatureParams:{eccSignature:n,mldsaSignature:i}}}default:throw new Yt("Unknown signature algorithm.")}}(this.publicKeyAlgorithm,n);if(i<n.length)throw Error("Error reading MPIs");this.params=s}writeParams(){return this.params instanceof Promise?U((async()=>va(this.publicKeyAlgorithm,await this.params))):va(this.publicKeyAlgorithm,this.params)}write(){const e=[];return e.push(this.signatureData),e.push(this.writeUnhashedSubPackets()),e.push(this.signedHashValue),6===this.version&&(e.push(new Uint8Array([this.salt.length])),e.push(this.salt)),e.push(this.writeParams()),M.concat(e)}async sign(e,t,r=new Date,n=!1,i){this.version=e.version,this.created=M.normalizeDate(r),this.issuerKeyVersion=e.version,this.issuerFingerprint=e.getFingerprintBytes(),this.issuerKeyID=e.getKeyID();const s=[new Uint8Array([this.version,this.signatureType,this.publicKeyAlgorithm,this.hashAlgorithm])];if(6===this.version){const e=Ho(this.hashAlgorithm);if(null===this.salt)this.salt=ye(e);else if(e!==this.salt.length)throw Error("Provided salt does not have the required length")}else if(i.nonDeterministicSignaturesViaNotation){if(0!==this.rawNotations.filter((({name:e})=>e===Lo)).length)throw Error("Unexpected existing salt notation");{const e=ye(Ho(this.hashAlgorithm));this.rawNotations.push({name:Lo,value:e,humanReadable:!1,critical:!1})}}s.push(this.writeHashedSubPackets()),this.unhashedSubpackets=[],this.signatureData=M.concat(s);const a=this.toHash(this.signatureType,t,n),o=await this.hash(this.signatureType,t,a,n);this.signedHashValue=I(v(o),0,2);const c=async()=>Da(this.publicKeyAlgorithm,this.hashAlgorithm,e.publicParams,e.privateParams,a,await K(o));M.isStream(o)?this.params=c():(this.params=await c(),this[Mo]=!0)}writeHashedSubPackets(){const e=Q.signatureSubpacket,t=[];let r;if(null===this.created)throw Error("Missing signature creation time");t.push(Oo(e.signatureCreationTime,!0,M.writeDate(this.created))),null!==this.signatureExpirationTime&&t.push(Oo(e.signatureExpirationTime,!0,M.writeNumber(this.signatureExpirationTime,4))),null!==this.exportable&&t.push(Oo(e.exportableCertification,!0,new Uint8Array([this.exportable?1:0]))),null!==this.trustLevel&&(r=new Uint8Array([this.trustLevel,this.trustAmount]),t.push(Oo(e.trustSignature,!0,r))),null!==this.regularExpression&&t.push(Oo(e.regularExpression,!0,this.regularExpression)),null!==this.revocable&&t.push(Oo(e.revocable,!0,new Uint8Array([this.revocable?1:0]))),null!==this.keyExpirationTime&&t.push(Oo(e.keyExpirationTime,!0,M.writeNumber(this.keyExpirationTime,4))),null!==this.preferredSymmetricAlgorithms&&(r=M.stringToUint8Array(M.uint8ArrayToString(this.preferredSymmetricAlgorithms)),t.push(Oo(e.preferredSymmetricAlgorithms,!1,r))),null!==this.revocationKeyClass&&(r=new Uint8Array([this.revocationKeyClass,this.revocationKeyAlgorithm]),r=M.concat([r,this.revocationKeyFingerprint]),t.push(Oo(e.revocationKey,!1,r))),!this.issuerKeyID.isNull()&&this.issuerKeyVersion<5&&t.push(Oo(e.issuerKeyID,!0,this.issuerKeyID.write())),this.rawNotations.forEach((({name:n,value:i,humanReadable:s,critical:a})=>{r=[new Uint8Array([s?128:0,0,0,0])];const o=M.encodeUTF8(n);r.push(M.writeNumber(o.length,2)),r.push(M.writeNumber(i.length,2)),r.push(o),r.push(i),r=M.concat(r),t.push(Oo(e.notationData,a,r))})),null!==this.preferredHashAlgorithms&&(r=M.stringToUint8Array(M.uint8ArrayToString(this.preferredHashAlgorithms)),t.push(Oo(e.preferredHashAlgorithms,!1,r))),null!==this.preferredCompressionAlgorithms&&(r=M.stringToUint8Array(M.uint8ArrayToString(this.preferredCompressionAlgorithms)),t.push(Oo(e.preferredCompressionAlgorithms,!1,r))),null!==this.keyServerPreferences&&(r=M.stringToUint8Array(M.uint8ArrayToString(this.keyServerPreferences)),t.push(Oo(e.keyServerPreferences,!1,r))),null!==this.preferredKeyServer&&t.push(Oo(e.preferredKeyServer,!1,M.encodeUTF8(this.preferredKeyServer))),null!==this.isPrimaryUserID&&t.push(Oo(e.primaryUserID,!1,new Uint8Array([this.isPrimaryUserID?1:0]))),null!==this.policyURI&&t.push(Oo(e.policyURI,!1,M.encodeUTF8(this.policyURI))),null!==this.keyFlags&&(r=M.stringToUint8Array(M.uint8ArrayToString(this.keyFlags)),t.push(Oo(e.keyFlags,!0,r))),null!==this.signersUserID&&t.push(Oo(e.signersUserID,!1,M.encodeUTF8(this.signersUserID))),null!==this.reasonForRevocationFlag&&(r=M.stringToUint8Array(String.fromCharCode(this.reasonForRevocationFlag)+this.reasonForRevocationString),t.push(Oo(e.reasonForRevocation,!0,r))),null!==this.features&&(r=M.stringToUint8Array(M.uint8ArrayToString(this.features)),t.push(Oo(e.features,!1,r))),null!==this.signatureTargetPublicKeyAlgorithm&&(r=[new Uint8Array([this.signatureTargetPublicKeyAlgorithm,this.signatureTargetHashAlgorithm])],r.push(M.stringToUint8Array(this.signatureTargetHash)),r=M.concat(r),t.push(Oo(e.signatureTarget,!0,r))),null!==this.embeddedSignature&&t.push(Oo(e.embeddedSignature,!0,this.embeddedSignature.write())),null!==this.issuerFingerprint&&(r=[new Uint8Array([this.issuerKeyVersion]),this.issuerFingerprint],r=M.concat(r),t.push(Oo(e.issuerFingerprint,this.version>=5,r))),null!==this.preferredAEADAlgorithms&&(r=M.stringToUint8Array(M.uint8ArrayToString(this.preferredAEADAlgorithms)),t.push(Oo(e.preferredAEADAlgorithms,!1,r))),null!==this.preferredCipherSuites&&(r=new Uint8Array([].concat(...this.preferredCipherSuites)),t.push(Oo(e.preferredCipherSuites,!1,r)));const n=M.concat(t),i=M.writeNumber(n.length,6===this.version?4:2);return M.concat([i,n])}writeUnhashedSubPackets(){const e=this.unhashedSubpackets.map((({type:e,critical:t,body:r})=>Oo(e,t,r))),t=M.concat(e),r=M.writeNumber(t.length,6===this.version?4:2);return M.concat([r,t])}readSubPacket(e,t=!0){let r=0;const n=!!(128&e[r]),i=127&e[r];if(r++,t||(this.unhashedSubpackets.push({type:i,critical:n,body:e.subarray(r,e.length)}),No.has(i)))switch(i){case Q.signatureSubpacket.signatureCreationTime:this.created=M.readDate(e.subarray(r,e.length));break;case Q.signatureSubpacket.signatureExpirationTime:{const t=M.readNumber(e.subarray(r,e.length));this.signatureNeverExpires=0===t,this.signatureExpirationTime=t;break}case Q.signatureSubpacket.exportableCertification:this.exportable=1===e[r++];break;case Q.signatureSubpacket.trustSignature:this.trustLevel=e[r++],this.trustAmount=e[r++];break;case Q.signatureSubpacket.regularExpression:this.regularExpression=e[r];break;case Q.signatureSubpacket.revocable:this.revocable=1===e[r++];break;case Q.signatureSubpacket.keyExpirationTime:{const t=M.readNumber(e.subarray(r,e.length));this.keyExpirationTime=t,this.keyNeverExpires=0===t;break}case Q.signatureSubpacket.preferredSymmetricAlgorithms:this.preferredSymmetricAlgorithms=[...e.subarray(r,e.length)];break;case Q.signatureSubpacket.revocationKey:this.revocationKeyClass=e[r++],this.revocationKeyAlgorithm=e[r++],this.revocationKeyFingerprint=e.subarray(r,r+20);break;case Q.signatureSubpacket.issuerKeyID:if(4===this.version)this.issuerKeyID.read(e.subarray(r,e.length));else if(t)throw Error("Unexpected Issuer Key ID subpacket");break;case Q.signatureSubpacket.notationData:{const t=!!(128&e[r]);r+=4;const i=M.readNumber(e.subarray(r,r+2));r+=2;const s=M.readNumber(e.subarray(r,r+2));r+=2;const a=M.decodeUTF8(e.subarray(r,r+i)),o=e.subarray(r+i,r+i+s);this.rawNotations.push({name:a,humanReadable:t,value:o,critical:n}),t&&(this.notations[a]=M.decodeUTF8(o));break}case Q.signatureSubpacket.preferredHashAlgorithms:this.preferredHashAlgorithms=[...e.subarray(r,e.length)];break;case Q.signatureSubpacket.preferredCompressionAlgorithms:this.preferredCompressionAlgorithms=[...e.subarray(r,e.length)];break;case Q.signatureSubpacket.keyServerPreferences:this.keyServerPreferences=[...e.subarray(r,e.length)];break;case Q.signatureSubpacket.preferredKeyServer:this.preferredKeyServer=M.decodeUTF8(e.subarray(r,e.length));break;case Q.signatureSubpacket.primaryUserID:this.isPrimaryUserID=0!==e[r++];break;case Q.signatureSubpacket.policyURI:this.policyURI=M.decodeUTF8(e.subarray(r,e.length));break;case Q.signatureSubpacket.keyFlags:this.keyFlags=[...e.subarray(r,e.length)];break;case Q.signatureSubpacket.signersUserID:this.signersUserID=M.decodeUTF8(e.subarray(r,e.length));break;case Q.signatureSubpacket.reasonForRevocation:this.reasonForRevocationFlag=e[r++],this.reasonForRevocationString=M.decodeUTF8(e.subarray(r,e.length));break;case Q.signatureSubpacket.features:this.features=[...e.subarray(r,e.length)];break;case Q.signatureSubpacket.signatureTarget:{this.signatureTargetPublicKeyAlgorithm=e[r++],this.signatureTargetHashAlgorithm=e[r++];const t=Qe(this.signatureTargetHashAlgorithm);this.signatureTargetHash=M.uint8ArrayToString(e.subarray(r,r+t));break}case Q.signatureSubpacket.embeddedSignature:this.embeddedSignature=new Fo,this.embeddedSignature.read(e.subarray(r,e.length));break;case Q.signatureSubpacket.issuerFingerprint:this.issuerKeyVersion=e[r++],this.issuerFingerprint=e.subarray(r,e.length),this.issuerKeyVersion>=5?this.issuerKeyID.read(this.issuerFingerprint):this.issuerKeyID.read(this.issuerFingerprint.subarray(-8));break;case Q.signatureSubpacket.preferredAEADAlgorithms:this.preferredAEADAlgorithms=[...e.subarray(r,e.length)];break;case Q.signatureSubpacket.preferredCipherSuites:this.preferredCipherSuites=[];for(let t=r;t<e.length;t+=2)this.preferredCipherSuites.push([e[t],e[t+1]]);break;default:this.unknownSubpackets.push({type:i,critical:n,body:e.subarray(r,e.length)})}}readSubPackets(e,t=!0,r){const n=6===this.version?4:2,i=M.readNumber(e.subarray(0,n));let s=n;for(;s<2+i;){const n=Ht(e.subarray(s,e.length));s+=n.offset,this.readSubPacket(e.subarray(s,s+n.len),t,r),s+=n.len}return s}toSign(e,t){const r=Q.signature;switch(e){case r.binary:return null!==t.text?M.encodeUTF8(t.getText(!0)):t.getBytes(!0);case r.text:{const e=t.getBytes(!0);return M.canonicalizeEOL(e)}case r.standalone:return new Uint8Array(0);case r.certGeneric:case r.certPersona:case r.certCasual:case r.certPositive:case r.certRevocation:{let e,n;if(t.userID)n=180,e=t.userID;else{if(!t.userAttribute)throw Error("Either a userID or userAttribute packet needs to be supplied for certification.");n=209,e=t.userAttribute}const i=e.write();return M.concat([this.toSign(r.key,t),new Uint8Array([n]),M.writeNumber(i.length,4),i])}case r.subkeyBinding:case r.subkeyRevocation:case r.keyBinding:return M.concat([this.toSign(r.key,t),this.toSign(r.key,{key:t.bind})]);case r.key:if(void 0===t.key)throw Error("Key packet is required for this signature.");return t.key.writeForHash(this.version);case r.keyRevocation:return this.toSign(r.key,t);case r.timestamp:return new Uint8Array(0);case r.thirdParty:throw Error("Not implemented");default:throw Error("Unknown signature type.")}}calculateTrailer(e,t){let r=0;return b(v(this.signatureData),(e=>{r+=e.length}),(()=>{const n=[];return 5!==this.version||this.signatureType!==Q.signature.binary&&this.signatureType!==Q.signature.text||(t?n.push(new Uint8Array(6)):n.push(e.writeHeader())),n.push(new Uint8Array([this.version,255])),5===this.version&&n.push(new Uint8Array(4)),n.push(M.writeNumber(r,4)),M.concat(n)}))}toHash(e,t,r=!1){const n=this.toSign(e,t);return M.concat([this.salt||new Uint8Array,n,this.signatureData,this.calculateTrailer(t,r)])}async hash(e,t,r,n=!1){if(6===this.version&&this.salt.length!==Ho(this.hashAlgorithm))throw Error("Signature salt does not have the expected length");return r||(r=this.toHash(e,t,n)),xe(this.hashAlgorithm,r)}async verify(e,t,r,n=new Date,i=!1,s=R){if(!this.issuerKeyID.equals(e.getKeyID()))throw Error("Signature was not issued by the given public key");if(this.publicKeyAlgorithm!==e.algorithm)throw Error("Public key algorithm used to sign signature does not match issuer key algorithm.");const a=t===Q.signature.binary||t===Q.signature.text;if(!(this[Mo]&&!a)){let n,s;if(this.hashed?s=await this.hashed:(n=this.toHash(t,r,i),s=await this.hash(t,r,n)),s=await K(s),this.signedHashValue[0]!==s[0]||this.signedHashValue[1]!==s[1])throw Error("Signed digest did not match");this.params=await this.params;const a=this.publicKeyAlgorithm===Q.publicKey.hmac?e.privateParams:null;if(this[Mo]=await Pa(this.publicKeyAlgorithm,this.hashAlgorithm,this.params,e.publicParams,a,n,s),!this[Mo])throw Error("Signature verification failed")}const o=M.normalizeDate(n);if(o&&this.created>o)throw Error("Signature creation time is in the future");if(o&&o>=this.getExpirationTime())throw Error("Signature is expired");if(s.rejectHashAlgorithms.has(this.hashAlgorithm))throw Error("Insecure hash algorithm: "+Q.read(Q.hash,this.hashAlgorithm).toUpperCase());if(s.rejectMessageHashAlgorithms.has(this.hashAlgorithm)&&[Q.signature.binary,Q.signature.text].includes(this.signatureType))throw Error("Insecure message hash algorithm: "+Q.read(Q.hash,this.hashAlgorithm).toUpperCase());if(this.unknownSubpackets.forEach((({type:e,critical:t})=>{if(t)throw Error("Unknown critical signature subpacket type "+e)})),this.rawNotations.forEach((({name:e,critical:t})=>{if(t&&s.knownNotations.indexOf(e)<0)throw Error("Unknown critical notation: "+e)})),null!==this.revocationKeyClass)throw Error("This key is intended to be revoked with an authorized key, which OpenPGP.js does not support.")}isExpired(e=new Date){const t=M.normalizeDate(e);return null!==t&&!(this.created<=t&&t<this.getExpirationTime())}getExpirationTime(){return this.signatureNeverExpires?1/0:new Date(this.created.getTime()+1e3*this.signatureExpirationTime)}}function Oo(e,t,r){const n=[];return n.push(_t(r.length+1)),n.push(new Uint8Array([(t?128:0)|e])),n.push(r),M.concat(n)}function Ho(e){switch(e){case Q.hash.sha256:return 16;case Q.hash.sha384:return 24;case Q.hash.sha512:return 32;case Q.hash.sha224:case Q.hash.sha3_256:return 16;case Q.hash.sha3_512:return 32;default:throw Error("Unsupported hash function")}}class _o{static get tag(){return Q.packet.onePassSignature}static fromSignaturePacket(e,t){const r=new _o;return r.version=6===e.version?6:3,r.signatureType=e.signatureType,r.hashAlgorithm=e.hashAlgorithm,r.publicKeyAlgorithm=e.publicKeyAlgorithm,r.issuerKeyID=e.issuerKeyID,r.salt=e.salt,r.issuerFingerprint=e.issuerFingerprint,r.flags=t?1:0,r}constructor(){this.version=null,this.signatureType=null,this.hashAlgorithm=null,this.publicKeyAlgorithm=null,this.salt=null,this.issuerKeyID=null,this.issuerFingerprint=null,this.flags=null}read(e){let t=0;if(this.version=e[t++],3!==this.version&&6!==this.version)throw new Yt(`Version ${this.version} of the one-pass signature packet is unsupported.`);if(this.signatureType=e[t++],this.hashAlgorithm=e[t++],this.publicKeyAlgorithm=e[t++],6===this.version){const r=e[t++];this.salt=e.subarray(t,t+r),t+=r,this.issuerFingerprint=e.subarray(t,t+32),t+=32,this.issuerKeyID=new To,this.issuerKeyID.read(this.issuerFingerprint)}else this.issuerKeyID=new To,this.issuerKeyID.read(e.subarray(t,t+8)),t+=8;return this.flags=e[t++],this}write(){const e=[new Uint8Array([this.version,this.signatureType,this.hashAlgorithm,this.publicKeyAlgorithm])];return 6===this.version?e.push(new Uint8Array([this.salt.length]),this.salt,this.issuerFingerprint):e.push(this.issuerKeyID.write()),e.push(new Uint8Array([this.flags])),M.concatUint8Array(e)}calculateTrailer(...e){return U((async()=>Fo.prototype.calculateTrailer.apply(await this.correspondingSig,e)))}async verify(){const e=await this.correspondingSig;if(!e||e.constructor.tag!==Q.packet.signature)throw Error("Corresponding signature packet missing");if(e.signatureType!==this.signatureType||e.hashAlgorithm!==this.hashAlgorithm||e.publicKeyAlgorithm!==this.publicKeyAlgorithm||!e.issuerKeyID.equals(this.issuerKeyID)||3===this.version&&6===e.version||6===this.version&&6!==e.version||6===this.version&&!M.equalsUint8Array(e.issuerFingerprint,this.issuerFingerprint)||6===this.version&&!M.equalsUint8Array(e.salt,this.salt))throw Error("Corresponding signature packet does not match one-pass signature packet");return e.hashed=this.hashed,e.verify.apply(e,arguments)}}_o.prototype.hash=Fo.prototype.hash,_o.prototype.toHash=Fo.prototype.toHash,_o.prototype.toSign=Fo.prototype.toSign;class zo extends Error{constructor(...e){super(...e),Error.captureStackTrace&&Error.captureStackTrace(this,zo),this.name="GrammarError"}}const Go=(e,t)=>{const r=e.filter((e=>e!==Q.packet.marker&&e!==Q.packet.padding&&!(e=>{try{return Q.read(Q.packet,e),!1}catch(e){return!0}})(e)));return 1===(n=r).length&&n[0]===Q.packet.literalData||(e=>1===e.length&&e[0]===Q.packet.compressedData)(r)||(e=>{const t=(e,t)=>e.every((e=>new Set([Q.packet.publicKeyEncryptedSessionKey,Q.packet.symEncryptedSessionKey]).has(e))),r=e.findIndex((e=>new Set([Q.packet.aeadEncryptedData,Q.packet.symmetricallyEncryptedData,Q.packet.symEncryptedIntegrityProtectedData]).has(e)));return r<0?t(e):r===e.length-1&&t(e.slice(0,r))})(r)||((e,t)=>{if(0===e.findIndex((e=>e===Q.packet.signature)))return Go(e.slice(1),t);if(0===e.findIndex((e=>e===Q.packet.onePassSignature))){const r=M.findLastIndex(e,(e=>e===Q.packet.signature));return!(r!==e.length-1&&!t)&&Go(e.slice(1,r<0?void 0:r),t)}return!1})(r,t);var n},qo=({delayReporting:e})=>{let t=!1;return(r,n,i)=>{if(e&&n)return null;if(!Go(r,n)){const e=new zo(`Data does not respect OpenPGP grammar [${r}]`);if(t||(i.pluggableGrammarErrorReporter?.(e.message),M.printDebugError(e),t=!0),i.enforceGrammar)throw e;return!0}return!0}};function jo(e,t){if(!t[e]){let t;try{t=Q.read(Q.packet,e)}catch(t){throw new Zt("Unknown packet type with tag: "+e)}throw Error("Packet not allowed in this context: "+t)}return new t[e]}class Vo extends Array{static async fromBinary(e,t,r=R,n=null){const i=new Vo;return await i.read(e,t,r,n),i}async read(e,t,r=R,n=null){r.additionalAllowedPackets.length&&(t={...t,...M.constructAllowedPackets(r.additionalAllowedPackets)}),this.stream=k(e,(async(e,i)=>{const s=D(i),a=[];try{for(;;){await s.ready;if(await Vt(e,(async e=>{try{if(e.tag===Q.packet.marker||e.tag===Q.packet.trust||e.tag===Q.packet.padding)return;const i=jo(e.tag,t);i.packets=new Vo,i.fromStream=M.isStream(e.packet),await i.read(e.packet,r),await s.write(i),a.push(e.tag),n?.(a,!0,r)}catch(t){if(t instanceof Zt){if(!(e.tag<=39))return;await s.abort(t)}const i=!r.ignoreUnsupportedPackets&&t instanceof Yt,o=!(r.ignoreMalformedPackets||t instanceof Yt);if(i||o||t instanceof zo||jt(e.tag))await s.abort(t);else{const t=new Wt(e.tag,e.packet);await s.write(t),a.push(e.tag),n?.(a,!0,r)}M.printDebugError(t)}})))return n?.(a,!1,r),await s.ready,void await s.close()}}catch(e){await s.abort(e)}}));const i=P(this.stream);for(;;){const{done:e,value:t}=await i.read();if(e?this.stream=null:this.push(t),e||jt(t.constructor.tag))break}i.releaseLock()}write(){const e=[];for(let t=0;t<this.length;t++){const r=this[t]instanceof Wt?this[t].tag:this[t].constructor.tag,n=this[t].write();if(M.isStream(n)&&jt(this[t].constructor.tag)){let t=[],i=0;const s=512;e.push(Gt(r)),e.push(b(n,(e=>{if(t.push(e),i+=e.length,i>=s){const e=Math.min(Math.log(i)/Math.LN2|0,30),r=2**e,n=M.concat([zt(e)].concat(t));return t=[n.subarray(1+r)],i=t[0].length,n.subarray(0,1+r)}}),(()=>M.concat([_t(i)].concat(t)))))}else{if(M.isStream(n)){let t=0;e.push(b(v(n),(e=>{t+=e.length}),(()=>qt(r,t))))}else e.push(qt(r,n.length));e.push(n)}}return M.concat(e)}filterByTag(...e){const t=new Vo,r=e=>t=>e===t;for(let n=0;n<this.length;n++)e.some(r(this[n].constructor.tag))&&t.push(this[n]);return t}findPacket(e){return this.find((t=>t.constructor.tag===e))}indexOfTag(...e){const t=[],r=this,n=e=>t=>e===t;for(let i=0;i<this.length;i++)e.some(n(r[i].constructor.tag))&&t.push(i);return t}}const Yo=/*#__PURE__*/M.constructAllowedPackets([Ro,_o,Fo]);class Zo{static get tag(){return Q.packet.compressedData}constructor(e=R){this.packets=null,this.algorithm=e.preferredCompressionAlgorithm,this.compressed=null}async read(e,t=R){await E(e,(async e=>{this.algorithm=await e.readByte(),this.compressed=e.remainder(),await this.decompress(t)}))}write(){return null===this.compressed&&this.compress(),M.concat([new Uint8Array([this.algorithm]),this.compressed])}async decompress(e=R){const t=Q.read(Q.compression,this.algorithm),r=ec[t];if(!r)throw Error(t+" decompression not supported");this.packets=await Vo.fromBinary(await r(this.compressed),Yo,e,qo({enforceDelay:!1}))}compress(){const e=Q.read(Q.compression,this.algorithm),t=$o[e];if(!t)throw Error(e+" compression not supported");this.compressed=t(this.packets.write())}}function Wo(e,t){return r=>{if(!M.isStream(r)||a(r))return U((()=>K(r).then((e=>new Promise(((r,n)=>{const i=new t;i.ondata=e=>{r(e)};try{i.push(e,!0)}catch(e){n(e)}}))))));if(e)try{const t=e();return r.pipeThrough(t)}catch(e){if("TypeError"!==e.name)throw e}const n=r.getReader(),i=new t;return new ReadableStream({async start(e){for(i.ondata=async(t,r)=>{e.enqueue(t),r&&e.close()};;){const{done:e,value:t}=await n.read();if(e)return void i.push(new Uint8Array,!0);t.length&&i.push(t)}}})}}function Jo(){return async function(e){const{decode:t}=await Promise.resolve().then((function(){return Fg}));return U((async()=>t(await K(e))))}}const Xo=e=>({compressor:"undefined"!=typeof CompressionStream&&(()=>new CompressionStream(e)),decompressor:"undefined"!=typeof DecompressionStream&&(()=>new DecompressionStream(e))}),$o={zip:/*#__PURE__*/Wo(Xo("deflate-raw").compressor,Uo),zlib:/*#__PURE__*/Wo(Xo("deflate").compressor,Do)},ec={uncompressed:e=>e,zip:/*#__PURE__*/Wo(Xo("deflate-raw").decompressor,Po),zlib:/*#__PURE__*/Wo(Xo("deflate").decompressor,xo),bzip2:/*#__PURE__*/Jo()},tc=/*#__PURE__*/M.constructAllowedPackets([Ro,Zo,_o,Fo]);class rc{static get tag(){return Q.packet.symEncryptedIntegrityProtectedData}static fromObject({version:e,aeadAlgorithm:t}){if(1!==e&&2!==e)throw Error("Unsupported SEIPD version");const r=new rc;return r.version=e,2===e&&(r.aeadAlgorithm=t),r}constructor(){this.version=null,this.cipherAlgorithm=null,this.aeadAlgorithm=null,this.chunkSizeByte=null,this.salt=null,this.encrypted=null,this.packets=null}async read(e){await E(e,(async e=>{if(this.version=await e.readByte(),1!==this.version&&2!==this.version)throw new Yt(`Version ${this.version} of the SEIP packet is unsupported.`);2===this.version&&(this.cipherAlgorithm=await e.readByte(),this.aeadAlgorithm=await e.readByte(),this.chunkSizeByte=await e.readByte(),this.salt=await e.readBytes(32)),this.encrypted=e.remainder()}))}write(){return 2===this.version?M.concat([new Uint8Array([this.version,this.cipherAlgorithm,this.aeadAlgorithm,this.chunkSizeByte]),this.salt,this.encrypted]):M.concat([new Uint8Array([this.version]),this.encrypted])}async encrypt(e,t,r=R){const{blockSize:n,keySize:i}=ri(e);if(t.length!==i)throw Error("Unexpected session key size");let s=this.packets.write();if(a(s)&&(s=await K(s)),2===this.version)this.cipherAlgorithm=e,this.salt=ye(32),this.chunkSizeByte=r.aeadChunkSizeByte,this.encrypted=await nc(this,"encrypt",t,s);else{const r=await xs(e),i=new Uint8Array([211,20]),a=M.concat([r,s,i]),o=await xe(Q.hash.sha1,B(a)),c=M.concat([a,o]);this.encrypted=await Qs(e,t,c,new Uint8Array(n))}return!0}async decrypt(e,t,r=R){if(t.length!==ri(e).keySize)throw Error("Unexpected session key size");let n,i,s=v(this.encrypted);if(a(s)&&(s=await K(s)),2===this.version){if(this.cipherAlgorithm!==e)throw Error("Unexpected session key algorithm");n=await nc(this,"decrypt",t,s),i=qo({delayReporting:!1})}else{const{blockSize:a}=ri(e),o=await Rs(e,t,s,new Uint8Array(a)),c=M.isStream(s)&&r.allowUnauthenticatedStream;i=qo({delayReporting:c});const u=I(B(o),-20),h=I(o,0,-20),l=Promise.all([K(await xe(Q.hash.sha1,B(h))),K(u)]).then((([e,t])=>{if(!M.equalsUint8Array(e,t))throw Error("Modification detected.");return new Uint8Array})),y=I(h,a+2);n=I(y,0,-2),n=d([n,U((()=>l))]),c||(n=await K(n))}return this.packets=await Vo.fromBinary(n,tc,r,i),!0}}async function nc(e,t,r,n){const i=e instanceof rc&&2===e.version,s=!i&&e.constructor.tag===Q.packet.aeadEncryptedData;if(!i&&!s)throw Error("Unexpected packet type");const a=ma(e.aeadAlgorithm,s),o="decrypt"===t?a.tagLength:0,c="encrypt"===t?a.tagLength:0,u=2**(e.chunkSizeByte+6)+o,h=s?8:0,l=new ArrayBuffer(13+h),y=new Uint8Array(l,0,5+h),f=new Uint8Array(l),p=new DataView(l),g=new Uint8Array(l,5,8);y.set([192|e.constructor.tag,e.version,e.cipherAlgorithm,e.aeadAlgorithm,e.chunkSizeByte],0);let d,w,m=0,b=Promise.resolve(),E=0,v=0;if(i){const{keySize:t}=ri(e.cipherAlgorithm),{ivLength:n}=a,i=new Uint8Array(l,0,5),s=await oi(Q.hash.sha256,r,e.salt,i,t+n);r=s.subarray(0,t),d=s.subarray(t),d.fill(0,d.length-8),w=new DataView(d.buffer,d.byteOffset,d.byteLength)}else d=e.iv;const B=await a(e.cipherAlgorithm,r);return k(n,(async(r,n)=>{if("array"!==M.isStream(r)){const t=new TransformStream({},{highWaterMark:M.getHardwareConcurrency()*2**(e.chunkSizeByte+6),size:e=>e.length});A(t.readable,n),n=t.writable}const s=P(r),a=D(n);try{for(;;){let e=await s.readBytes(u+o)||new Uint8Array;const r=e.subarray(e.length-o);let n,l,A;if(e=e.subarray(0,e.length-o),i)A=d;else{A=d.slice();for(let e=0;e<8;e++)A[d.length-8+e]^=g[e]}if(!m||e.length?(s.unshift(r),n=B[t](e,A,y),n.catch((()=>{})),v+=e.length-o+c):(p.setInt32(5+h+4,E),n=B[t](r,A,f),n.catch((()=>{})),v+=c,l=!0),E+=e.length-o,b=b.then((()=>n)).then((async e=>{await a.ready,await a.write(e),v-=e.length})).catch((e=>a.abort(e))),(l||v>a.desiredSize)&&await b,l){await a.close();break}i?w.setInt32(d.length-4,++m):p.setInt32(9,++m)}}catch(e){await a.ready.catch((()=>{})),await a.abort(e)}}))}const ic=/*#__PURE__*/M.constructAllowedPackets([Ro,Zo,_o,Fo]);class sc{static get tag(){return Q.packet.aeadEncryptedData}constructor(){this.version=1,this.cipherAlgorithm=null,this.aeadAlgorithm=Q.aead.eax,this.chunkSizeByte=null,this.iv=null,this.encrypted=null,this.packets=null}async read(e){await E(e,(async e=>{const t=await e.readByte();if(1!==t)throw new Yt(`Version ${t} of the AEAD-encrypted data packet is not supported.`);this.cipherAlgorithm=await e.readByte(),this.aeadAlgorithm=await e.readByte(),this.chunkSizeByte=await e.readByte();const r=ma(this.aeadAlgorithm,!0);this.iv=await e.readBytes(r.ivLength),this.encrypted=e.remainder()}))}write(){return M.concat([new Uint8Array([this.version,this.cipherAlgorithm,this.aeadAlgorithm,this.chunkSizeByte]),this.iv,this.encrypted])}async decrypt(e,t,r=R){this.packets=await Vo.fromBinary(await nc(this,"decrypt",t,v(this.encrypted)),ic,r,qo({enforceDelay:!1}))}async encrypt(e,t,r=R){this.cipherAlgorithm=e;const{ivLength:n}=ma(this.aeadAlgorithm,!0);this.iv=ye(n),this.chunkSizeByte=r.aeadChunkSizeByte;const i=this.packets.write();this.encrypted=await nc(this,"encrypt",t,i)}}const ac=new Set([Q.publicKey.x25519,Q.publicKey.x448,Q.publicKey.pqc_mlkem_x25519]);class oc{static get tag(){return Q.packet.publicKeyEncryptedSessionKey}constructor(){this.version=null,this.publicKeyID=new To,this.publicKeyVersion=null,this.publicKeyFingerprint=null,this.publicKeyAlgorithm=null,this.sessionKey=null,this.sessionKeyAlgorithm=null,this.encrypted={}}static fromObject({version:e,encryptionKeyPacket:t,anonymousRecipient:r,sessionKey:n,sessionKeyAlgorithm:i}){const s=new oc;if(3!==e&&6!==e)throw Error("Unsupported PKESK version");return s.version=e,6===e&&(s.publicKeyVersion=r?null:t.version,s.publicKeyFingerprint=r?null:t.getFingerprintBytes()),s.publicKeyID=r?To.wildcard():t.getKeyID(),s.publicKeyAlgorithm=t.algorithm,s.sessionKey=n,s.sessionKeyAlgorithm=i,s}read(e){let t=0;if(this.version=e[t++],3!==this.version&&6!==this.version)throw new Yt(`Version ${this.version} of the PKESK packet is unsupported.`);if(6===this.version){const r=e[t++];if(r){this.publicKeyVersion=e[t++];const n=r-1;this.publicKeyFingerprint=e.subarray(t,t+n),t+=n,this.publicKeyVersion>=5?this.publicKeyID.read(this.publicKeyFingerprint):this.publicKeyID.read(this.publicKeyFingerprint.subarray(-8))}else this.publicKeyID=To.wildcard()}else t+=this.publicKeyID.read(e.subarray(t,t+8));if(this.publicKeyAlgorithm=e[t++],this.encrypted=function(e,t){let r=0;switch(e){case Q.publicKey.rsaEncrypt:case Q.publicKey.rsaEncryptSign:return{c:M.readMPI(t.subarray(r))};case Q.publicKey.elgamal:{const e=M.readMPI(t.subarray(r));return r+=e.length+2,{c1:e,c2:M.readMPI(t.subarray(r))}}case Q.publicKey.ecdh:{const e=M.readMPI(t.subarray(r));r+=e.length+2;const n=new bs;return n.read(t.subarray(r)),{V:e,C:n}}case Q.publicKey.x25519:case Q.publicKey.x448:{const n=Ua(e),i=M.readExactSubarray(t,r,r+n);r+=i.length;const s=new Ks;return s.read(t.subarray(r)),{ephemeralPublicKey:i,C:s}}case Q.publicKey.aead:{const e=new Bs;r+=e.read(t.subarray(r));const{ivLength:n}=ma(e.getValue()),i=t.subarray(r,r+n);r+=n;const s=new ks;return r+=s.read(t.subarray(r)),{aeadMode:e,iv:i,c:s}}case Q.publicKey.pqc_mlkem_x25519:{const e=M.readExactSubarray(t,r,r+Ua(Q.publicKey.x25519));r+=e.length;const n=M.readExactSubarray(t,r,r+1088);r+=n.length;const i=new Ks;return i.read(t.subarray(r)),{eccCipherText:e,mlkemCipherText:n,C:i}}default:throw new Yt("Unknown public key encryption algorithm.")}}(this.publicKeyAlgorithm,e.subarray(t)),ac.has(this.publicKeyAlgorithm))if(3===this.version)this.sessionKeyAlgorithm=Q.write(Q.symmetric,this.encrypted.C.algorithm);else if(null!==this.encrypted.C.algorithm)throw Error("Unexpected cleartext symmetric algorithm")}write(){const e=[new Uint8Array([this.version])];return 6===this.version?null!==this.publicKeyFingerprint?(e.push(new Uint8Array([this.publicKeyFingerprint.length+1,this.publicKeyVersion])),e.push(this.publicKeyFingerprint)):e.push(new Uint8Array([0])):e.push(this.publicKeyID.write()),e.push(new Uint8Array([this.publicKeyAlgorithm]),va(this.publicKeyAlgorithm,this.encrypted)),M.concatUint8Array(e)}async encrypt(e){const t=Q.write(Q.publicKey,this.publicKeyAlgorithm),r=3===this.version?this.sessionKeyAlgorithm:null,n=5===e.version?e.getFingerprintBytes().subarray(0,20):e.getFingerprintBytes(),i=cc(this.version,t,r,this.sessionKey),s=t===Q.publicKey.aead?e.privateParams:null;this.encrypted=await ba(t,r,e.publicParams,s,i,n)}async decrypt(e,t){if(this.publicKeyAlgorithm!==e.algorithm)throw Error("Decryption error");const r=t?cc(this.version,this.publicKeyAlgorithm,t.sessionKeyAlgorithm,t.sessionKey):null,n=5===e.version?e.getFingerprintBytes().subarray(0,20):e.getFingerprintBytes(),i=await ka(this.publicKeyAlgorithm,e.publicParams,e.privateParams,this.encrypted,n,r),{sessionKey:s,sessionKeyAlgorithm:a}=function(e,t,r,n){switch(t){case Q.publicKey.rsaEncrypt:case Q.publicKey.rsaEncryptSign:case Q.publicKey.elgamal:case Q.publicKey.ecdh:case Q.publicKey.aead:{const t=r.subarray(0,r.length-2),i=r.subarray(r.length-2),s=M.writeChecksum(t.subarray(t.length%8)),a=s[0]===i[0]&s[1]===i[1],o=6===e?{sessionKeyAlgorithm:null,sessionKey:t}:{sessionKeyAlgorithm:t[0],sessionKey:t.subarray(1)};if(n){const t=a&o.sessionKeyAlgorithm===n.sessionKeyAlgorithm&o.sessionKey.length===n.sessionKey.length;return{sessionKey:M.selectUint8Array(t,o.sessionKey,n.sessionKey),sessionKeyAlgorithm:6===e?null:M.selectUint8(t,o.sessionKeyAlgorithm,n.sessionKeyAlgorithm)}}if(a&&(6===e||Q.read(Q.symmetric,o.sessionKeyAlgorithm)))return o;throw Error("Decryption error")}case Q.publicKey.x25519:case Q.publicKey.x448:case Q.publicKey.pqc_mlkem_x25519:return{sessionKeyAlgorithm:null,sessionKey:r};default:throw Error("Unsupported public key algorithm")}}(this.version,this.publicKeyAlgorithm,i,t);if(3===this.version){const e=!ac.has(this.publicKeyAlgorithm);if(this.sessionKeyAlgorithm=e?a:this.sessionKeyAlgorithm,s.length!==ri(this.sessionKeyAlgorithm).keySize)throw Error("Unexpected session key size")}this.sessionKey=s}}function cc(e,t,r,n){switch(t){case Q.publicKey.rsaEncrypt:case Q.publicKey.rsaEncryptSign:case Q.publicKey.elgamal:case Q.publicKey.ecdh:case Q.publicKey.aead:return M.concatUint8Array([new Uint8Array(6===e?[]:[r]),n,M.writeChecksum(n.subarray(n.length%8))]);case Q.publicKey.x25519:case Q.publicKey.x448:case Q.publicKey.pqc_mlkem_x25519:return n;default:throw Error("Unsupported public key algorithm")}}class uc{static get tag(){return Q.packet.symEncryptedSessionKey}constructor(e=R){this.version=e.aeadProtect?6:4,this.sessionKey=null,this.sessionKeyEncryptionAlgorithm=null,this.sessionKeyAlgorithm=null,this.aeadAlgorithm=Q.write(Q.aead,e.preferredAEADAlgorithm),this.encrypted=null,this.s2k=null,this.iv=null}read(e){let t=0;if(this.version=e[t++],4!==this.version&&5!==this.version&&6!==this.version)throw new Yt(`Version ${this.version} of the SKESK packet is unsupported.`);6===this.version&&t++;const r=e[t++];this.version>=5&&(this.aeadAlgorithm=e[t++],6===this.version&&t++);const n=e[t++];if(this.s2k=Fa(n),t+=this.s2k.read(e.subarray(t,e.length)),this.version>=5){const r=ma(this.aeadAlgorithm,!0);this.iv=e.subarray(t,t+=r.ivLength)}this.version>=5||t<e.length?(this.encrypted=e.subarray(t,e.length),this.sessionKeyEncryptionAlgorithm=r):this.sessionKeyAlgorithm=r}write(){const e=null===this.encrypted?this.sessionKeyAlgorithm:this.sessionKeyEncryptionAlgorithm;let t;const r=this.s2k.write();if(6===this.version){const n=r.length,i=3+n+this.iv.length;t=M.concatUint8Array([new Uint8Array([this.version,i,e,this.aeadAlgorithm,n]),r,this.iv,this.encrypted])}else 5===this.version?t=M.concatUint8Array([new Uint8Array([this.version,e,this.aeadAlgorithm]),r,this.iv,this.encrypted]):(t=M.concatUint8Array([new Uint8Array([this.version,e]),r]),null!==this.encrypted&&(t=M.concatUint8Array([t,this.encrypted])));return t}async decrypt(e){const t=null!==this.sessionKeyEncryptionAlgorithm?this.sessionKeyEncryptionAlgorithm:this.sessionKeyAlgorithm,{blockSize:r,keySize:n}=ri(t),i=await this.s2k.produceKey(e,n);if(this.version>=5){const e=ma(this.aeadAlgorithm,!0),r=new Uint8Array([192|uc.tag,this.version,this.sessionKeyEncryptionAlgorithm,this.aeadAlgorithm]),s=6===this.version?await oi(Q.hash.sha256,i,new Uint8Array,r,n):i,a=await e(t,s);this.sessionKey=await a.decrypt(this.encrypted,this.iv,r)}else if(null!==this.encrypted){const e=await Rs(t,i,this.encrypted,new Uint8Array(r));if(this.sessionKeyAlgorithm=Q.write(Q.symmetric,e[0]),this.sessionKey=e.subarray(1,e.length),this.sessionKey.length!==ri(this.sessionKeyAlgorithm).keySize)throw Error("Unexpected session key size")}else this.sessionKey=i}async encrypt(e,t=R){const r=null!==this.sessionKeyEncryptionAlgorithm?this.sessionKeyEncryptionAlgorithm:this.sessionKeyAlgorithm;this.sessionKeyEncryptionAlgorithm=r,this.s2k=Oa(t),this.s2k.generateSalt();const{blockSize:n,keySize:i}=ri(r),s=await this.s2k.produceKey(e,i);if(null===this.sessionKey&&(this.sessionKey=Ka(this.sessionKeyAlgorithm)),this.version>=5){const e=ma(this.aeadAlgorithm);this.iv=ye(e.ivLength);const t=new Uint8Array([192|uc.tag,this.version,this.sessionKeyEncryptionAlgorithm,this.aeadAlgorithm]),n=6===this.version?await oi(Q.hash.sha256,s,new Uint8Array,t,i):s,a=await e(r,n);this.encrypted=await a.encrypt(this.sessionKey,this.iv,t)}else{const e=M.concatUint8Array([new Uint8Array([this.sessionKeyAlgorithm]),this.sessionKey]);this.encrypted=await Qs(r,s,e,new Uint8Array(n))}}}class hc{static get tag(){return Q.packet.publicKey}constructor(e=new Date,t=R){this.version=t.v6Keys?6:4,this.created=M.normalizeDate(e),this.algorithm=null,this.publicParams=null,this.expirationTimeV3=0,this.fingerprint=null,this.keyID=null}static fromSecretKeyPacket(e){const t=new hc,{version:r,created:n,algorithm:i,publicParams:s,keyID:a,fingerprint:o}=e;return t.version=r,t.created=n,t.algorithm=i,t.publicParams=s,t.keyID=a,t.fingerprint=o,t}async read(e,t=R){let r=0;if(this.version=e[r++],5===this.version&&!t.enableParsingV5Entities)throw new Yt("Support for parsing v5 entities is disabled; turn on `config.enableParsingV5Entities` if needed");if(4===this.version||5===this.version||6===this.version){this.created=M.readDate(e.subarray(r,r+4)),r+=4,this.algorithm=e[r++],this.version>=5&&(r+=4);const{read:t,publicParams:n}=function(e,t){let r=0;switch(e){case Q.publicKey.rsaEncrypt:case Q.publicKey.rsaEncryptSign:case Q.publicKey.rsaSign:{const e=M.readMPI(t.subarray(r));r+=e.length+2;const n=M.readMPI(t.subarray(r));return r+=n.length+2,{read:r,publicParams:{n:e,e:n}}}case Q.publicKey.dsa:{const e=M.readMPI(t.subarray(r));r+=e.length+2;const n=M.readMPI(t.subarray(r));r+=n.length+2;const i=M.readMPI(t.subarray(r));r+=i.length+2;const s=M.readMPI(t.subarray(r));return r+=s.length+2,{read:r,publicParams:{p:e,q:n,g:i,y:s}}}case Q.publicKey.elgamal:{const e=M.readMPI(t.subarray(r));r+=e.length+2;const n=M.readMPI(t.subarray(r));r+=n.length+2;const i=M.readMPI(t.subarray(r));return r+=i.length+2,{read:r,publicParams:{p:e,g:n,y:i}}}case Q.publicKey.ecdsa:{const e=new Ot;r+=e.read(t),Ca(e);const n=M.readMPI(t.subarray(r));return r+=n.length+2,{read:r,publicParams:{oid:e,Q:n}}}case Q.publicKey.eddsaLegacy:{const e=new Ot;if(r+=e.read(t),Ca(e),e.getName()!==Q.curve.ed25519Legacy)throw Error("Unexpected OID for eddsaLegacy");let n=M.readMPI(t.subarray(r));return r+=n.length+2,n=M.leftPad(n,33),{read:r,publicParams:{oid:e,Q:n}}}case Q.publicKey.ecdh:{const e=new Ot;r+=e.read(t),Ca(e);const n=M.readMPI(t.subarray(r));r+=n.length+2;const i=new Es;return r+=i.read(t.subarray(r)),{read:r,publicParams:{oid:e,Q:n,kdfParams:i}}}case Q.publicKey.ed25519:case Q.publicKey.ed448:case Q.publicKey.x25519:case Q.publicKey.x448:{const n=M.readExactSubarray(t,r,r+Ua(e));return r+=n.length,{read:r,publicParams:{A:n}}}case Q.publicKey.hmac:case Q.publicKey.aead:{const e=new Ss;r+=e.read(t);const n=Qe(Q.hash.sha256),i=t.subarray(r,r+n);return r+=n,{read:r,publicParams:{cipher:e,digest:i}}}case Q.publicKey.pqc_mlkem_x25519:{const e=M.readExactSubarray(t,r,r+Ua(Q.publicKey.x25519));r+=e.length;const n=M.readExactSubarray(t,r,r+1184);return r+=n.length,{read:r,publicParams:{eccPublicKey:e,mlkemPublicKey:n}}}case Q.publicKey.pqc_mldsa_ed25519:{const e=M.readExactSubarray(t,r,r+Ua(Q.publicKey.ed25519));r+=e.length;const n=M.readExactSubarray(t,r,r+1952);return r+=n.length,{read:r,publicParams:{eccPublicKey:e,mldsaPublicKey:n}}}default:throw new Yt("Unknown public key encryption algorithm.")}}(this.algorithm,e.subarray(r));if(6===this.version&&n.oid&&(n.oid.getName()===Q.curve.curve25519Legacy||n.oid.getName()===Q.curve.ed25519Legacy))throw Error("Legacy curve25519 cannot be used with v6 keys");if(6!==this.version&&this.algorithm===Q.publicKey.pqc_mldsa_ed25519)throw Error("Unexpected key version: ML-DSA algorithms can only be used with v6 keys");return this.publicParams=n,r+=t,await this.computeFingerprintAndKeyID(),r}throw new Yt(`Version ${this.version} of the key packet is unsupported.`)}write(){const e=[];e.push(new Uint8Array([this.version])),e.push(M.writeDate(this.created)),e.push(new Uint8Array([this.algorithm]));const t=va(this.algorithm,this.publicParams);return this.version>=5&&e.push(M.writeNumber(t.length,4)),e.push(t),M.concatUint8Array(e)}writeForHash(e){const t=this.writePublicKey(),r=149+e,n=e>=5?4:2;return M.concatUint8Array([new Uint8Array([r]),M.writeNumber(t.length,n),t])}isDecrypted(){return null}getCreationTime(){return this.created}getKeyID(){return this.keyID}async computeFingerprintAndKeyID(){if(await this.computeFingerprint(),this.keyID=new To,this.version>=5)this.keyID.read(this.fingerprint.subarray(0,8));else{if(4!==this.version)throw Error("Unsupported key version");this.keyID.read(this.fingerprint.subarray(12,20))}}async computeFingerprint(){const e=this.writeForHash(this.version);if(this.version>=5)this.fingerprint=await xe(Q.hash.sha256,e);else{if(4!==this.version)throw Error("Unsupported key version");this.fingerprint=await xe(Q.hash.sha1,e)}}getFingerprintBytes(){return this.fingerprint}getFingerprint(){return M.uint8ArrayToHex(this.getFingerprintBytes())}hasSameFingerprintAs(e){return this.version===e.version&&M.equalsUint8Array(this.writePublicKey(),e.writePublicKey())}getAlgorithmInfo(){const e={};e.algorithm=Q.read(Q.publicKey,this.algorithm);const t=this.publicParams.n||this.publicParams.p;return t?e.bits=M.uint8ArrayBitLength(t):this.publicParams.oid?e.curve=this.publicParams.oid.getName():this.publicParams.cipher&&(e.symmetric=this.publicParams.cipher.getName()),e}}hc.prototype.readPublicKey=hc.prototype.read,hc.prototype.writePublicKey=hc.prototype.write;const lc=/*#__PURE__*/M.constructAllowedPackets([Ro,Zo,_o,Fo]);class yc{static get tag(){return Q.packet.symmetricallyEncryptedData}constructor(){this.encrypted=null,this.packets=null}read(e){this.encrypted=e}write(){return this.encrypted}async decrypt(e,t,r=R){if(!r.allowUnauthenticatedMessages)throw Error("Message is not authenticated.");const{blockSize:n}=ri(e),i=await K(v(this.encrypted)),s=await Rs(e,t,i.subarray(n+2),i.subarray(2,n+2));this.packets=await Vo.fromBinary(s,lc,r)}async encrypt(e,t,r=R){const n=this.packets.write(),{blockSize:i}=ri(e),s=await xs(e),a=await Qs(e,t,s,new Uint8Array(i)),o=await Qs(e,t,n,a.subarray(2));this.encrypted=M.concat([a,o])}}class fc{static get tag(){return Q.packet.marker}read(e){return 80===e[0]&&71===e[1]&&80===e[2]}write(){return new Uint8Array([80,71,80])}}class pc extends hc{static get tag(){return Q.packet.publicSubkey}constructor(e,t){super(e,t)}static fromSecretSubkeyPacket(e){const t=new pc,{version:r,created:n,algorithm:i,publicParams:s,keyID:a,fingerprint:o}=e;return t.version=r,t.created=n,t.algorithm=i,t.publicParams=s,t.keyID=a,t.fingerprint=o,t}}class gc{static get tag(){return Q.packet.userAttribute}constructor(){this.attributes=[]}read(e){let t=0;for(;t<e.length;){const r=Ht(e.subarray(t,e.length));t+=r.offset,this.attributes.push(M.uint8ArrayToString(e.subarray(t,t+r.len))),t+=r.len}}write(){const e=[];for(let t=0;t<this.attributes.length;t++)e.push(_t(this.attributes[t].length)),e.push(M.stringToUint8Array(this.attributes[t]));return M.concatUint8Array(e)}equals(e){return!!(e&&e instanceof gc)&&this.attributes.every((function(t,r){return t===e.attributes[r]}))}}class dc extends hc{static get tag(){return Q.packet.secretKey}constructor(e=new Date,t=R){super(e,t),this.keyMaterial=null,this.isEncrypted=null,this.s2kUsage=0,this.s2k=null,this.symmetric=null,this.aead=null,this.isLegacyAEAD=null,this.privateParams=null,this.usedModernAEAD=null}async read(e,t=R){let r=await this.readPublicKey(e,t);const n=r;this.s2kUsage=e[r++],5===this.version&&r++,6===this.version&&this.s2kUsage&&r++;try{if(255===this.s2kUsage||254===this.s2kUsage||253===this.s2kUsage){this.symmetric=e[r++],253===this.s2kUsage&&(this.aead=e[r++]),6===this.version&&r++;const t=e[r++];if(this.s2k=Fa(t),r+=this.s2k.read(e.subarray(r,e.length)),"gnu-dummy"===this.s2k.type)return}else this.s2kUsage&&(this.symmetric=this.s2kUsage);this.s2kUsage&&(this.isLegacyAEAD=253===this.s2kUsage&&(5===this.version||4===this.version&&t.parseAEADEncryptedV4KeysAsLegacy),253!==this.s2kUsage||this.isLegacyAEAD?(this.iv=e.subarray(r,r+ri(this.symmetric).blockSize),this.usedModernAEAD=!1):(this.iv=e.subarray(r,r+ma(this.aead).ivLength),this.usedModernAEAD=!0),r+=this.iv.length)}catch(t){if(!this.s2kUsage)throw t;this.unparseableKeyMaterial=e.subarray(n),this.isEncrypted=!0}if(5===this.version&&(r+=4),this.keyMaterial=e.subarray(r),this.isEncrypted=!!this.s2kUsage,!this.isEncrypted){let e;if(6===this.version)e=this.keyMaterial;else if(e=this.keyMaterial.subarray(0,-2),!M.equalsUint8Array(M.writeChecksum(e),this.keyMaterial.subarray(-2)))throw Error("Key checksum mismatch");try{const{read:t,privateParams:r}=await Ea(this.algorithm,e,this.publicParams);if(t<e.length)throw Error("Error reading MPIs");this.privateParams=r}catch(e){if(e instanceof Yt)throw e;throw Error("Error reading MPIs")}}}write(){const e=this.writePublicKey();if(this.unparseableKeyMaterial)return M.concatUint8Array([e,this.unparseableKeyMaterial]);const t=[e];t.push(new Uint8Array([this.s2kUsage]));const r=[];if(255===this.s2kUsage||254===this.s2kUsage||253===this.s2kUsage){r.push(this.symmetric),253===this.s2kUsage&&r.push(this.aead);const e=this.s2k.write();6===this.version&&r.push(e.length),r.push(...e)}return this.s2kUsage&&"gnu-dummy"!==this.s2k.type&&r.push(...this.iv),(5===this.version||6===this.version&&this.s2kUsage)&&t.push(new Uint8Array([r.length])),t.push(new Uint8Array(r)),this.isDummy()||(this.s2kUsage||(this.keyMaterial=va(this.algorithm,this.privateParams)),5===this.version&&t.push(M.writeNumber(this.keyMaterial.length,4)),t.push(this.keyMaterial),this.s2kUsage||6===this.version||t.push(M.writeChecksum(this.keyMaterial))),M.concatUint8Array(t)}isDecrypted(){return!1===this.isEncrypted}isMissingSecretKeyMaterial(){return void 0!==this.unparseableKeyMaterial||this.isDummy()}isDummy(){return!(!this.s2k||"gnu-dummy"!==this.s2k.type)}makeDummy(e=R){this.isDummy()||(this.isDecrypted()&&this.clearPrivateParams(),delete this.unparseableKeyMaterial,this.isEncrypted=null,this.keyMaterial=null,this.s2k=Fa(Q.s2k.gnu,e),this.s2k.algorithm=0,this.s2k.c=0,this.s2k.type="gnu-dummy",this.s2kUsage=254,this.symmetric=Q.symmetric.aes256,this.isLegacyAEAD=null,this.usedModernAEAD=null)}async encrypt(e,t=R){if(this.isDummy())return;if(!this.isDecrypted())throw Error("Key packet is already encrypted");if(!e)throw Error("A non-empty passphrase is required for key encryption.");this.s2k=Oa(t),this.s2k.generateSalt();const r=va(this.algorithm,this.privateParams);this.symmetric=Q.symmetric.aes256;const{blockSize:n}=ri(this.symmetric);if(t.aeadProtect){this.s2kUsage=253,this.aead=t.preferredAEADAlgorithm;const i=ma(this.aead);this.isLegacyAEAD=5===this.version,this.usedModernAEAD=!this.isLegacyAEAD;const s=Gt(this.constructor.tag),a=await Ac(this.version,this.s2k,e,this.symmetric,this.aead,s,this.isLegacyAEAD),o=await i(this.symmetric,a);this.iv=this.isLegacyAEAD?ye(n):ye(i.ivLength);const c=this.isLegacyAEAD?new Uint8Array:M.concatUint8Array([s,this.writePublicKey()]);this.keyMaterial=await o.encrypt(r,this.iv.subarray(0,i.ivLength),c)}else{this.s2kUsage=254,this.usedModernAEAD=!1;const t=await Ac(this.version,this.s2k,e,this.symmetric);this.iv=ye(n),this.keyMaterial=await Qs(this.symmetric,t,M.concatUint8Array([r,await xe(Q.hash.sha1,r)]),this.iv)}}async decrypt(e){if(this.isDummy())return!1;if(this.unparseableKeyMaterial)throw Error("Key packet cannot be decrypted: unsupported S2K or cipher algo");if(this.isDecrypted())throw Error("Key packet is already decrypted.");let t;const r=Gt(this.constructor.tag);if(254!==this.s2kUsage&&253!==this.s2kUsage)throw 255===this.s2kUsage?Error("Encrypted private key is authenticated using an insecure two-byte hash"):Error("Private key is encrypted using an insecure S2K function: unsalted MD5");let n;if(t=await Ac(this.version,this.s2k,e,this.symmetric,this.aead,r,this.isLegacyAEAD),253===this.s2kUsage){const e=ma(this.aead,!0),i=await e(this.symmetric,t);try{const t=this.isLegacyAEAD?new Uint8Array:M.concatUint8Array([r,this.writePublicKey()]);n=await i.decrypt(this.keyMaterial,this.iv.subarray(0,e.ivLength),t)}catch(e){if("Authentication tag mismatch"===e.message)throw Error("Incorrect key passphrase: "+e.message);throw e}}else{const e=await Rs(this.symmetric,t,this.keyMaterial,this.iv);n=e.subarray(0,-20);const r=await xe(Q.hash.sha1,n);if(!M.equalsUint8Array(r,e.subarray(-20)))throw Error("Incorrect key passphrase")}try{const{privateParams:e}=await Ea(this.algorithm,n,this.publicParams);this.privateParams=e}catch(e){throw Error("Error reading MPIs")}this.isEncrypted=!1,this.keyMaterial=null,this.s2kUsage=0,this.aead=null,this.symmetric=null,this.isLegacyAEAD=null}async validate(){if(this.isDummy())return;if(!this.isDecrypted())throw Error("Key is not decrypted");if(this.usedModernAEAD)return;let e;try{e=await Ia(this.algorithm,this.publicParams,this.privateParams)}catch(t){e=!1}if(!e)throw Error("Key is invalid")}async generate(e,t,r){if(6===this.version&&(this.algorithm===Q.publicKey.ecdh&&t===Q.curve.curve25519Legacy||this.algorithm===Q.publicKey.eddsaLegacy))throw Error(`Cannot generate v6 keys of type 'ecc' with curve ${t}. Generate a key of type 'curve25519' instead`);if(6!==this.version&&this.algorithm===Q.publicKey.pqc_mldsa_ed25519)throw Error(`Cannot generate v${this.version} signing keys of type 'pqc'. Generate a v6 key instead`);const{privateParams:n,publicParams:i}=await Ba(this.algorithm,e,t,r);this.privateParams=n,this.publicParams=i,this.isEncrypted=!1}clearPrivateParams(){this.isMissingSecretKeyMaterial()||(Object.keys(this.privateParams).forEach((e=>{this.privateParams[e].fill(0),delete this.privateParams[e]})),this.privateParams=null,this.isEncrypted=!0)}}async function Ac(e,t,r,n,i,s,a){if("argon2"===t.type&&!i)throw Error("Using Argon2 S2K without AEAD is not allowed");if("simple"===t.type&&6===e)throw Error("Using Simple S2K with version 6 keys is not allowed");const{keySize:o}=ri(n),c=await t.produceKey(r,o);if(!i||5===e||a)return c;const u=M.concatUint8Array([s,new Uint8Array([e,n,i])]);return oi(Q.hash.sha256,c,new Uint8Array,u,o)}class wc{static get tag(){return Q.packet.userID}constructor(){this.userID="",this.name="",this.email="",this.comment=""}static fromObject(e){if(M.isString(e)||e.name&&!M.isString(e.name)||e.email&&!M.isEmailAddress(e.email)||e.comment&&!M.isString(e.comment))throw Error("Invalid user ID format");const t=new wc;Object.assign(t,e);const r=[];return t.name&&r.push(t.name),t.comment&&r.push(`(${t.comment})`),t.email&&r.push(`<${t.email}>`),t.userID=r.join(" "),t}read(e,t=R){const r=M.decodeUTF8(e);if(r.length>t.maxUserIDLength)throw Error("User ID string is too long");const n=/^(?<name>[^()]+\s+)?(?<comment>\([^()]+\)\s+)?(?<email><\S+@\S+>)$/.exec(r);if(null!==n){const{name:e,comment:t,email:r}=n.groups;this.comment=t?.replace(/^\(|\)|\s$/g,"").trim()||"",this.name=e?.trim()||"",this.email=r.substring(1,r.length-1)}else/^[^\s@]+@[^\s@]+$/.test(r)&&(this.email=r);this.userID=r}write(){return M.encodeUTF8(this.userID)}equals(e){return e&&e.userID===this.userID}}class mc extends dc{static get tag(){return Q.packet.secretSubkey}constructor(e=new Date,t=R){super(e,t)}}class bc{static get tag(){return Q.packet.trust}read(){throw new Yt("Trust packets are not supported")}write(){throw new Yt("Trust packets are not supported")}}class kc{static get tag(){return Q.packet.padding}constructor(){this.padding=null}read(e){}write(){return this.padding}async createPadding(e){this.padding=await ye(e)}}const Ec=/*#__PURE__*/M.constructAllowedPackets([Fo]);class vc{constructor(e){this.packets=e||new Vo}write(){return this.packets.write()}armor(e=R){const t=this.packets.some((e=>e.constructor.tag===Fo.tag&&6!==e.version));return X(Q.armor.signature,this.write(),void 0,void 0,void 0,t,e)}getSigningKeyIDs(){return this.packets.map((e=>e.issuerKeyID))}}async function Bc({armoredSignature:e,binarySignature:t,config:r,...n}){r={...R,...r};let i=e||t;if(!i)throw Error("readSignature: must pass options object containing `armoredSignature` or `binarySignature`");if(e&&!M.isString(e))throw Error("readSignature: options.armoredSignature must be a string");if(t&&!M.isUint8Array(t))throw Error("readSignature: options.binarySignature must be a Uint8Array");const s=Object.keys(n);if(s.length>0)throw Error("Unknown option: "+s.join(", "));if(e){const{type:e,data:t}=await J(i);if(e!==Q.armor.signature)throw Error("Armored text not of type signature");i=t}const a=await Vo.fromBinary(i,Ec,r);return new vc(a)}async function Sc(e,t){const r=new mc(e.date,t);return r.packets=null,r.algorithm=Q.write(Q.publicKey,e.algorithm),await r.generate(e.rsaBits,e.curve,e.symmetric),await r.computeFingerprintAndKeyID(),r}async function Ic(e,t){const r=new dc(e.date,t);return r.packets=null,r.algorithm=Q.write(Q.publicKey,e.algorithm),await r.generate(e.rsaBits,e.curve,e.symmetric),await r.computeFingerprintAndKeyID(),r}async function Kc(e,t,r,n,i=new Date,s){let a,o;for(let c=e.length-1;c>=0;c--)try{(!a||e[c].created>=a.created)&&(await e[c].verify(t,r,n,i,void 0,s),a=e[c])}catch(e){o=e}if(!a)throw M.wrapError(`Could not find valid ${Q.read(Q.signature,r)} signature in key ${t.getKeyID().toHex()}`.replace("certGeneric ","self-").replace(/([a-z])([A-Z])/g,((e,t,r)=>t+" "+r.toLowerCase())),o);return a}function Cc(e,t,r=new Date){const n=M.normalizeDate(r);if(null!==n){const r=Rc(e,t);return!(e.created<=n&&n<r)}return!1}async function Uc(e,t,r,n){const i={};i.key=t,i.bind=e;const s={signatureType:Q.signature.subkeyBinding};r.sign?(s.keyFlags=[Q.keyFlags.signData],s.embeddedSignature=await Dc(i,[],e,{signatureType:Q.signature.keyBinding},r.date,void 0,void 0,void 0,n)):s.keyFlags=r.forwarding?[Q.keyFlags.forwardedCommunication]:[Q.keyFlags.encryptCommunication|Q.keyFlags.encryptStorage],r.keyExpirationTime>0&&(s.keyExpirationTime=r.keyExpirationTime,s.keyNeverExpires=!1);return await Dc(i,[],t,s,r.date,void 0,void 0,void 0,n)}async function Pc(e,t,r=new Date,n=[],i){const s=Q.hash.sha256,a=i.preferredHashAlgorithm,o=await Promise.all(e.map((async(e,t)=>(await e.getPrimarySelfSignature(r,n[t],i)).preferredHashAlgorithms||[]))),c=new Map;for(const e of o)for(const t of e)try{const e=Q.write(Q.hash,t);c.set(e,c.has(e)?c.get(e)+1:1)}catch{}const u=t=>0===e.length||c.get(t)===e.length||t===s,h=()=>{if(0===c.size)return s;const e=Array.from(c.keys()).filter((e=>u(e))).sort(((e,t)=>Qe(e)-Qe(t)))[0];return Qe(e)>=Qe(s)?e:s},l=new Set([Q.publicKey.ecdsa,Q.publicKey.eddsaLegacy,Q.publicKey.ed25519,Q.publicKey.ed448]),y=new Set([Q.publicKey.pqc_mldsa_ed25519]);if(l.has(t.algorithm)){const e=function(e,t){switch(e){case Q.publicKey.ecdsa:case Q.publicKey.eddsaLegacy:return Ki(t);case Q.publicKey.ed25519:case Q.publicKey.ed448:return jr(e);default:throw Error("Unknown elliptic signing algo")}}(t.algorithm,t.publicParams.oid),r=u(a),n=Qe(a)>=Qe(e);if(r&&n)return a;{const t=h();return Qe(t)>=Qe(e)?t:e}}if(y.has(t.algorithm)){if(u(a)&&ws(t.algorithm,a))return a;{const e=h();return ws(t.algorithm,e)?e:s}}return u(a)?a:h()}async function Dc(e,t,r,n,i,s,a=[],o=!1,c){if(r.isDummy())throw Error("Cannot sign with a gnu-dummy key.");if(!r.isDecrypted())throw Error("Signing key is not decrypted.");const u=new Fo;return Object.assign(u,n),u.publicKeyAlgorithm=r.algorithm,u.hashAlgorithm=await Pc(t,r,i,s,c),u.rawNotations=[...a],await u.sign(r,e,i,o,c),u}async function xc(e,t,r,n=new Date,i){(e=e[r])&&(t[r].length?await Promise.all(e.map((async function(e){e.isExpired(n)||i&&!await i(e)||t[r].some((function(t){return M.equalsUint8Array(t.writeParams(),e.writeParams())}))||t[r].push(e)}))):t[r]=e)}async function Qc(e,t,r,n,i,s,a=new Date,o){s=s||e;const c=[];return await Promise.all(n.map((async function(e){try{if(!i||e.issuerKeyID.equals(i.issuerKeyID)){const n=![Q.reasonForRevocation.keyRetired,Q.reasonForRevocation.keySuperseded,Q.reasonForRevocation.userIDInvalid].includes(e.reasonForRevocationFlag);await e.verify(s,t,r,n?null:a,!1,o),c.push(e.issuerKeyID)}}catch(e){}}))),i?(i.revoked=!!c.some((e=>e.equals(i.issuerKeyID)))||(i.revoked||!1),i.revoked):c.length>0}function Rc(e,t){let r;return!1===t.keyNeverExpires&&(r=e.created.getTime()+1e3*t.keyExpirationTime),r?new Date(r):1/0}function Tc(e,t={}){if(e.type=e.type||t.type,e.curve=e.curve||t.curve,e.rsaBits=e.rsaBits||t.rsaBits,e.symmetricHash=e.symmetricHash||t.symmetricHash,e.symmetricCipher=e.symmetricCipher||t.symmetricCipher,e.keyExpirationTime=void 0!==e.keyExpirationTime?e.keyExpirationTime:t.keyExpirationTime,e.passphrase=M.isString(e.passphrase)?e.passphrase:t.passphrase,e.date=e.date||t.date,e.sign=e.sign||!1,e.forwarding=e.forwarding||!1,e.sign&&e.forwarding)throw Error('Incompatible options: "sign" and "forwarding" cannot be set together');switch(e.type){case"pqc":e.sign?e.algorithm=Q.publicKey.pqc_mldsa_ed25519:e.algorithm=Q.publicKey.pqc_mlkem_x25519;break;case"ecc":try{e.curve=Q.write(Q.curve,e.curve)}catch(e){throw Error("Unknown curve")}e.curve!==Q.curve.ed25519Legacy&&e.curve!==Q.curve.curve25519Legacy&&"ed25519"!==e.curve&&"curve25519"!==e.curve||(e.curve=e.sign?Q.curve.ed25519Legacy:Q.curve.curve25519Legacy),e.sign?e.algorithm=e.curve===Q.curve.ed25519Legacy?Q.publicKey.eddsaLegacy:Q.publicKey.ecdsa:e.algorithm=Q.publicKey.ecdh;break;case"curve25519":e.algorithm=e.sign?Q.publicKey.ed25519:Q.publicKey.x25519;break;case"curve448":e.algorithm=e.sign?Q.publicKey.ed448:Q.publicKey.x448;break;case"rsa":e.algorithm=Q.publicKey.rsaEncryptSign;break;case"symmetric":if(e.sign){e.algorithm=Q.publicKey.hmac;try{e.symmetric=Q.write(Q.hash,e.symmetricHash)}catch(e){throw Error("Unknown hash algorithm")}}else{e.algorithm=Q.publicKey.aead;try{e.symmetric=Q.write(Q.symmetric,e.symmetricCipher)}catch(e){throw Error("Unknown symmetric algorithm")}}break;default:throw Error("Unsupported key type "+e.type)}return e}function Mc(e,t,r){switch(e.algorithm){case Q.publicKey.rsaEncryptSign:case Q.publicKey.rsaSign:case Q.publicKey.dsa:case Q.publicKey.ecdsa:case Q.publicKey.eddsaLegacy:case Q.publicKey.ed25519:case Q.publicKey.ed448:case Q.publicKey.hmac:case Q.publicKey.pqc_mldsa_ed25519:if(!t.keyFlags&&!r.allowMissingKeyFlags)throw Error("None of the key flags is set: consider passing `config.allowMissingKeyFlags`");return!t.keyFlags||!!(t.keyFlags[0]&Q.keyFlags.signData);default:return!1}}function Lc(e,t,r){switch(e.algorithm){case Q.publicKey.rsaEncryptSign:case Q.publicKey.rsaEncrypt:case Q.publicKey.elgamal:case Q.publicKey.ecdh:case Q.publicKey.x25519:case Q.publicKey.x448:case Q.publicKey.aead:case Q.publicKey.pqc_mlkem_x25519:if(!t.keyFlags&&!r.allowMissingKeyFlags)throw Error("None of the key flags is set: consider passing `config.allowMissingKeyFlags`");return!t.keyFlags||!!(t.keyFlags[0]&Q.keyFlags.encryptCommunication)||!!(t.keyFlags[0]&Q.keyFlags.encryptStorage);default:return!1}}function Nc(e,t,r){if(!t.keyFlags&&!r.allowMissingKeyFlags)throw Error("None of the key flags is set: consider passing `config.allowMissingKeyFlags`");switch(e.algorithm){case Q.publicKey.rsaEncryptSign:case Q.publicKey.rsaEncrypt:case Q.publicKey.elgamal:case Q.publicKey.ecdh:case Q.publicKey.x25519:case Q.publicKey.x448:case Q.publicKey.pqc_mlkem_x25519:return!(!(!t.keyFlags||!!(t.keyFlags[0]&Q.keyFlags.signData))||!r.allowInsecureDecryptionWithSigningKeys)||(!t.keyFlags||!!(t.keyFlags[0]&Q.keyFlags.encryptCommunication)||!!(t.keyFlags[0]&Q.keyFlags.encryptStorage)||r.allowForwardedMessages&&!!(t.keyFlags[0]&Q.keyFlags.forwardedCommunication));default:return!1}}function Fc(e,t){const r=Q.write(Q.publicKey,e.algorithm),n=e.getAlgorithmInfo();if(t.rejectPublicKeyAlgorithms.has(r))throw Error(n.algorithm+" keys are considered too weak.");switch(r){case Q.publicKey.rsaEncryptSign:case Q.publicKey.rsaSign:case Q.publicKey.rsaEncrypt:if(n.bits<t.minRSABits)throw Error(`RSA keys shorter than ${t.minRSABits} bits are considered too weak.`);break;case Q.publicKey.ecdsa:case Q.publicKey.eddsaLegacy:case Q.publicKey.ecdh:if(t.rejectCurves.has(n.curve))throw Error(`Support for ${n.algorithm} keys using curve ${n.curve} is disabled.`)}}class Oc{constructor(e,t){this.userID=e.constructor.tag===Q.packet.userID?e:null,this.userAttribute=e.constructor.tag===Q.packet.userAttribute?e:null,this.selfCertifications=[],this.otherCertifications=[],this.revocationSignatures=[],this.mainKey=t}toPacketList(){const e=new Vo;return e.push(this.userID||this.userAttribute),e.push(...this.revocationSignatures),e.push(...this.selfCertifications),e.push(...this.otherCertifications),e}clone(){const e=new Oc(this.userID||this.userAttribute,this.mainKey);return e.selfCertifications=[...this.selfCertifications],e.otherCertifications=[...this.otherCertifications],e.revocationSignatures=[...this.revocationSignatures],e}async certify(e,t,r){const n=this.mainKey.keyPacket,i={userID:this.userID,userAttribute:this.userAttribute,key:n},s=new Oc(i.userID||i.userAttribute,this.mainKey);return s.otherCertifications=await Promise.all(e.map((async function(e){if(!e.isPrivate())throw Error("Need private key for signing");if(e.hasSameFingerprintAs(n))throw Error("The user's own key can only be used for self-certifications");const s=await e.getSigningKey(void 0,t,void 0,r);return Dc(i,[e],s.keyPacket,{signatureType:Q.signature.certGeneric,keyFlags:[Q.keyFlags.certifyKeys|Q.keyFlags.signData]},t,void 0,void 0,void 0,r)}))),await s.update(this,t,r),s}async isRevoked(e,t,r=new Date,n=R){const i=this.mainKey.keyPacket;return Qc(i,Q.signature.certRevocation,{key:i,userID:this.userID,userAttribute:this.userAttribute},this.revocationSignatures,e,t,r,n)}async verifyCertificate(e,t,r=new Date,n){const i=this,s=this.mainKey.keyPacket,a={userID:this.userID,userAttribute:this.userAttribute,key:s},{issuerKeyID:o}=e,c=t.filter((e=>e.getKeys(o).length>0));return 0===c.length?null:(await Promise.all(c.map((async t=>{const s=await t.getSigningKey(o,e.created,void 0,n);if(e.revoked||await i.isRevoked(e,s.keyPacket,r,n))throw Error("User certificate is revoked");try{await e.verify(s.keyPacket,Q.signature.certGeneric,a,r,void 0,n)}catch(e){throw M.wrapError("User certificate is invalid",e)}}))),!0)}async verifyAllCertifications(e,t=new Date,r){const n=this,i=this.selfCertifications.concat(this.otherCertifications);return Promise.all(i.map((async i=>({keyID:i.issuerKeyID,valid:await n.verifyCertificate(i,e,t,r).catch((()=>!1))}))))}async verify(e=new Date,t){if(!this.selfCertifications.length)throw Error("No self-certifications found");const r=this,n=this.mainKey.keyPacket,i={userID:this.userID,userAttribute:this.userAttribute,key:n};let s;for(let a=this.selfCertifications.length-1;a>=0;a--)try{const s=this.selfCertifications[a];if(s.revoked||await r.isRevoked(s,void 0,e,t))throw Error("Self-certification is revoked");try{await s.verify(n,Q.signature.certGeneric,i,e,void 0,t)}catch(e){throw M.wrapError("Self-certification is invalid",e)}return!0}catch(e){s=e}throw s}async update(e,t,r){const n=this.mainKey.keyPacket,i={userID:this.userID,userAttribute:this.userAttribute,key:n};await xc(e,this,"selfCertifications",t,(async function(e){try{return await e.verify(n,Q.signature.certGeneric,i,t,!1,r),!0}catch(e){return!1}})),await xc(e,this,"otherCertifications",t),await xc(e,this,"revocationSignatures",t,(function(e){return Qc(n,Q.signature.certRevocation,i,[e],void 0,void 0,t,r)}))}async revoke(e,{flag:t=Q.reasonForRevocation.noReason,string:r=""}={},n=new Date,i=R){const s={userID:this.userID,userAttribute:this.userAttribute,key:e},a=new Oc(s.userID||s.userAttribute,this.mainKey);return a.revocationSignatures.push(await Dc(s,[],e,{signatureType:Q.signature.certRevocation,reasonForRevocationFlag:Q.write(Q.reasonForRevocation,t),reasonForRevocationString:r},n,void 0,void 0,!1,i)),await a.update(this),a}}class Hc{constructor(e,t){this.keyPacket=e,this.bindingSignatures=[],this.revocationSignatures=[],this.mainKey=t}toPacketList(){const e=new Vo;return e.push(this.keyPacket),e.push(...this.revocationSignatures),e.push(...this.bindingSignatures),e}clone(){const e=new Hc(this.keyPacket,this.mainKey);return e.bindingSignatures=[...this.bindingSignatures],e.revocationSignatures=[...this.revocationSignatures],e}async isRevoked(e,t,r=new Date,n=R){const i=this.mainKey.keyPacket;return Qc(i,Q.signature.subkeyRevocation,{key:i,bind:this.keyPacket},this.revocationSignatures,e,t,r,n)}async verify(e=new Date,t=R){const r=this.mainKey.keyPacket,n={key:r,bind:this.keyPacket},i=await Kc(this.bindingSignatures,r,Q.signature.subkeyBinding,n,e,t);if(i.revoked||await this.isRevoked(i,null,e,t))throw Error("Subkey is revoked");if(Cc(this.keyPacket,i,e))throw Error("Subkey is expired");return i}async getExpirationTime(e=new Date,t=R){const r=this.mainKey.keyPacket,n={key:r,bind:this.keyPacket};let i;try{i=await Kc(this.bindingSignatures,r,Q.signature.subkeyBinding,n,e,t)}catch(e){return null}const s=Rc(this.keyPacket,i),a=i.getExpirationTime();return s<a?s:a}async update(e,t=new Date,r=R){const n=this.mainKey.keyPacket;if(!this.hasSameFingerprintAs(e))throw Error("Subkey update method: fingerprints of subkeys not equal");this.keyPacket.constructor.tag===Q.packet.publicSubkey&&e.keyPacket.constructor.tag===Q.packet.secretSubkey&&(this.keyPacket=e.keyPacket);const i=this,s={key:n,bind:i.keyPacket};await xc(e,this,"bindingSignatures",t,(async function(e){for(let t=0;t<i.bindingSignatures.length;t++)if(i.bindingSignatures[t].issuerKeyID.equals(e.issuerKeyID))return e.created>i.bindingSignatures[t].created&&(i.bindingSignatures[t]=e),!1;try{return await e.verify(n,Q.signature.subkeyBinding,s,t,void 0,r),!0}catch(e){return!1}})),await xc(e,this,"revocationSignatures",t,(function(e){return Qc(n,Q.signature.subkeyRevocation,s,[e],void 0,void 0,t,r)}))}async revoke(e,{flag:t=Q.reasonForRevocation.noReason,string:r=""}={},n=new Date,i=R){const s={key:e,bind:this.keyPacket},a=new Hc(this.keyPacket,this.mainKey);return a.revocationSignatures.push(await Dc(s,[],e,{signatureType:Q.signature.subkeyRevocation,reasonForRevocationFlag:Q.write(Q.reasonForRevocation,t),reasonForRevocationString:r},n,void 0,void 0,!1,i)),await a.update(this),a}hasSameFingerprintAs(e){return this.keyPacket.hasSameFingerprintAs(e.keyPacket||e)}}["getKeyID","getFingerprint","getAlgorithmInfo","getCreationTime","isDecrypted"].forEach((e=>{Hc.prototype[e]=function(){return this.keyPacket[e]()}}));const _c=/*#__PURE__*/M.constructAllowedPackets([Fo]),zc=new Set([Q.packet.publicKey,Q.packet.privateKey]),Gc=new Set([Q.packet.publicKey,Q.packet.privateKey,Q.packet.publicSubkey,Q.packet.privateSubkey]);class qc{packetListToStructure(e,t=new Set){let r,n,i,s;for(const a of e){if(a instanceof Wt){Gc.has(a.tag)&&!s&&(s=zc.has(a.tag)?zc:Gc);continue}const e=a.constructor.tag;if(s){if(!s.has(e))continue;s=null}if(t.has(e))throw Error("Unexpected packet type: "+e);switch(e){case Q.packet.publicKey:case Q.packet.secretKey:if(this.keyPacket)throw Error("Key block contains multiple keys");if(this.keyPacket=a,n=this.getKeyID(),!n)throw Error("Missing Key ID");break;case Q.packet.userID:case Q.packet.userAttribute:r=new Oc(a,this),this.users.push(r);break;case Q.packet.publicSubkey:case Q.packet.secretSubkey:r=null,i=new Hc(a,this),this.subkeys.push(i);break;case Q.packet.signature:switch(a.signatureType){case Q.signature.certGeneric:case Q.signature.certPersona:case Q.signature.certCasual:case Q.signature.certPositive:if(!r){M.printDebug("Dropping certification signatures without preceding user packet");continue}a.issuerKeyID.equals(n)?r.selfCertifications.push(a):r.otherCertifications.push(a);break;case Q.signature.certRevocation:r?r.revocationSignatures.push(a):this.directSignatures.push(a);break;case Q.signature.key:this.directSignatures.push(a);break;case Q.signature.subkeyBinding:if(!i){M.printDebug("Dropping subkey binding signature without preceding subkey packet");continue}i.bindingSignatures.push(a);break;case Q.signature.keyRevocation:this.revocationSignatures.push(a);break;case Q.signature.subkeyRevocation:if(!i){M.printDebug("Dropping subkey revocation signature without preceding subkey packet");continue}i.revocationSignatures.push(a)}}}}toPacketList(){const e=new Vo;return e.push(this.keyPacket),e.push(...this.revocationSignatures),e.push(...this.directSignatures),this.users.map((t=>e.push(...t.toPacketList()))),this.subkeys.map((t=>e.push(...t.toPacketList()))),e}clone(e=!1){const t=new this.constructor(this.toPacketList());return e&&t.getKeys().forEach((e=>{if(e.keyPacket=Object.create(Object.getPrototypeOf(e.keyPacket),Object.getOwnPropertyDescriptors(e.keyPacket)),!e.keyPacket.isDecrypted())return;const t={};Object.keys(e.keyPacket.privateParams).forEach((r=>{t[r]=new Uint8Array(e.keyPacket.privateParams[r])})),e.keyPacket.privateParams=t})),t}getSubkeys(e=null){return this.subkeys.filter((t=>!e||t.getKeyID().equals(e,!0)))}getKeys(e=null){const t=[];return e&&!this.getKeyID().equals(e,!0)||t.push(this),t.concat(this.getSubkeys(e))}getKeyIDs(){return this.getKeys().map((e=>e.getKeyID()))}getUserIDs(){return this.users.map((e=>e.userID?e.userID.userID:null)).filter((e=>null!==e))}write(){return this.toPacketList().write()}async getSigningKey(e=null,t=new Date,r={},n=R){await this.verifyPrimaryKey(t,r,n);const i=this.keyPacket;try{Fc(i,n)}catch(e){throw M.wrapError("Could not verify primary key",e)}const s=this.subkeys.slice().sort(((e,t)=>t.keyPacket.created-e.keyPacket.created));let a;for(const r of s)if(!e||r.getKeyID().equals(e))try{await r.verify(t,n);const e={key:i,bind:r.keyPacket},s=await Kc(r.bindingSignatures,i,Q.signature.subkeyBinding,e,t,n);if(!Mc(r.keyPacket,s,n))continue;if(!s.embeddedSignature)throw Error("Missing embedded signature");return await Kc([s.embeddedSignature],r.keyPacket,Q.signature.keyBinding,e,t,n),Fc(r.keyPacket,n),r}catch(e){a=e}try{const s=await this.getPrimarySelfSignature(t,r,n);if((!e||i.getKeyID().equals(e))&&Mc(i,s,n))return Fc(i,n),this}catch(e){a=e}throw M.wrapError("Could not find valid signing key packet in key "+this.getKeyID().toHex(),a)}async getEncryptionKey(e,t=new Date,r={},n=R){await this.verifyPrimaryKey(t,r,n);const i=this.keyPacket;try{Fc(i,n)}catch(e){throw M.wrapError("Could not verify primary key",e)}const s=this.subkeys.slice().sort(((e,t)=>t.keyPacket.created-e.keyPacket.created));let a;for(const r of s)if(!e||r.getKeyID().equals(e))try{await r.verify(t,n);const e={key:i,bind:r.keyPacket},s=await Kc(r.bindingSignatures,i,Q.signature.subkeyBinding,e,t,n);if(Lc(r.keyPacket,s,n))return Fc(r.keyPacket,n),r}catch(e){a=e}try{const s=await this.getPrimarySelfSignature(t,r,n);if((!e||i.getKeyID().equals(e))&&Lc(i,s,n))return Fc(i,n),this}catch(e){a=e}throw M.wrapError("Could not find valid encryption key packet in key "+this.getKeyID().toHex(),a)}async isRevoked(e,t,r=new Date,n=R){return Qc(this.keyPacket,Q.signature.keyRevocation,{key:this.keyPacket},this.revocationSignatures,e,t,r,n)}async verifyPrimaryKey(e=new Date,t={},r=R){const n=this.keyPacket;if(await this.isRevoked(null,null,e,r))throw Error("Primary key is revoked");if(Cc(n,await this.getPrimarySelfSignature(e,t,r),e))throw Error("Primary key is expired");if(6!==n.version){const t=await Kc(this.directSignatures,n,Q.signature.key,{key:n},e,r).catch((()=>{}));if(t&&Cc(n,t,e))throw Error("Primary key is expired")}}async getExpirationTime(e,t=R){let r;try{const n=await this.getPrimarySelfSignature(null,e,t),i=Rc(this.keyPacket,n),s=n.getExpirationTime(),a=6!==this.keyPacket.version&&await Kc(this.directSignatures,this.keyPacket,Q.signature.key,{key:this.keyPacket},null,t).catch((()=>{}));if(a){const e=Rc(this.keyPacket,a);r=Math.min(i,s,e)}else r=i<s?i:s}catch(e){r=null}return M.normalizeDate(r)}async getPrimarySelfSignature(e=new Date,t={},r=R){const n=this.keyPacket;if(6===n.version)return Kc(this.directSignatures,n,Q.signature.key,{key:n},e,r);const{selfCertification:i}=await this.getPrimaryUser(e,t,r);return i}async getPrimaryUser(e=new Date,t={},r=R){const n=this.keyPacket,i=[];let s;for(let a=0;a<this.users.length;a++)try{const s=this.users[a];if(!s.userID)continue;if(void 0!==t.name&&s.userID.name!==t.name||void 0!==t.email&&s.userID.email!==t.email||void 0!==t.comment&&s.userID.comment!==t.comment)throw Error("Could not find user that matches that user ID");const o={userID:s.userID,key:n},c=await Kc(s.selfCertifications,n,Q.signature.certGeneric,o,e,r);i.push({index:a,user:s,selfCertification:c})}catch(e){s=e}if(!i.length)throw s||Error("Could not find primary user");await Promise.all(i.map((async function(t){return t.selfCertification.revoked||t.user.isRevoked(t.selfCertification,null,e,r)})));const a=i.sort((function(e,t){const r=e.selfCertification,n=t.selfCertification;return n.revoked-r.revoked||r.isPrimaryUserID-n.isPrimaryUserID||r.created-n.created})).pop(),{user:o,selfCertification:c}=a;if(c.revoked||await o.isRevoked(c,null,e,r))throw Error("Primary user is revoked");return a}async update(e,t=new Date,r=R){if(!this.hasSameFingerprintAs(e))throw Error("Primary key fingerprints must be equal to update the key");if(!this.isPrivate()&&e.isPrivate()){if(!(this.subkeys.length===e.subkeys.length&&this.subkeys.every((t=>e.subkeys.some((e=>t.hasSameFingerprintAs(e)))))))throw Error("Cannot update public key with private key if subkeys mismatch");return e.update(this,r)}const n=this.clone();return await xc(e,n,"revocationSignatures",t,(i=>Qc(n.keyPacket,Q.signature.keyRevocation,n,[i],null,e.keyPacket,t,r))),await xc(e,n,"directSignatures",t),await Promise.all(e.users.map((async e=>{const i=n.users.filter((t=>e.userID&&e.userID.equals(t.userID)||e.userAttribute&&e.userAttribute.equals(t.userAttribute)));if(i.length>0)await Promise.all(i.map((n=>n.update(e,t,r))));else{const t=e.clone();t.mainKey=n,n.users.push(t)}}))),await Promise.all(e.subkeys.map((async e=>{const i=n.subkeys.filter((t=>t.hasSameFingerprintAs(e)));if(i.length>0)await Promise.all(i.map((n=>n.update(e,t,r))));else{const t=e.clone();t.mainKey=n,n.subkeys.push(t)}}))),n}async getRevocationCertificate(e=new Date,t=R){const r={key:this.keyPacket},n=await Kc(this.revocationSignatures,this.keyPacket,Q.signature.keyRevocation,r,e,t),i=new Vo;i.push(n);const s=6!==this.keyPacket.version;return X(Q.armor.publicKey,i.write(),null,null,"This is a revocation certificate",s,t)}async applyRevocationCertificate(e,t=new Date,r=R){const n=await J(e),i=(await Vo.fromBinary(n.data,_c,r)).findPacket(Q.packet.signature);if(!i||i.signatureType!==Q.signature.keyRevocation)throw Error("Could not find revocation signature packet");if(!i.issuerKeyID.equals(this.getKeyID()))throw Error("Revocation signature does not match key");try{await i.verify(this.keyPacket,Q.signature.keyRevocation,{key:this.keyPacket},t,void 0,r)}catch(e){throw M.wrapError("Could not verify revocation signature",e)}const s=this.clone();return s.revocationSignatures.push(i),s}async signPrimaryUser(e,t,r,n=R){const{index:i,user:s}=await this.getPrimaryUser(t,r,n),a=await s.certify(e,t,n),o=this.clone();return o.users[i]=a,o}async signAllUsers(e,t=new Date,r=R){const n=this.clone();return n.users=await Promise.all(this.users.map((function(n){return n.certify(e,t,r)}))),n}async verifyPrimaryUser(e,t=new Date,r,n=R){const i=this.keyPacket,{user:s}=await this.getPrimaryUser(t,r,n);return e?await s.verifyAllCertifications(e,t,n):[{keyID:i.getKeyID(),valid:await s.verify(t,n).catch((()=>!1))}]}async verifyAllUsers(e,t=new Date,r=R){const n=this.keyPacket,i=[];return await Promise.all(this.users.map((async s=>{const a=e?await s.verifyAllCertifications(e,t,r):[{keyID:n.getKeyID(),valid:await s.verify(t,r).catch((()=>!1))}];i.push(...a.map((e=>({userID:s.userID?s.userID.userID:null,userAttribute:s.userAttribute,keyID:e.keyID,valid:e.valid}))))}))),i}}["getKeyID","getFingerprint","getAlgorithmInfo","getCreationTime","hasSameFingerprintAs"].forEach((e=>{qc.prototype[e]=Hc.prototype[e]}));class jc extends qc{constructor(e){if(super(),this.keyPacket=null,this.revocationSignatures=[],this.directSignatures=[],this.users=[],this.subkeys=[],e&&(this.packetListToStructure(e,new Set([Q.packet.secretKey,Q.packet.secretSubkey])),!this.keyPacket))throw Error("Invalid key: missing public-key packet")}isPrivate(){return!1}toPublic(){return this}armor(e=R){const t=6!==this.keyPacket.version;return X(Q.armor.publicKey,this.toPacketList().write(),void 0,void 0,void 0,t,e)}}class Vc extends jc{constructor(e){if(super(),this.packetListToStructure(e,new Set([Q.packet.publicKey,Q.packet.publicSubkey])),!this.keyPacket)throw Error("Invalid key: missing private-key packet")}isPrivate(){return!0}toPublic(){const e=new Vo,t=this.toPacketList();let r=!1;for(const n of t)if(!r||n.constructor.tag!==Q.packet.Signature)switch(r&&(r=!1),n.constructor.tag){case Q.packet.secretKey:{if(n.algorithm===Q.publicKey.aead||n.algorithm===Q.publicKey.hmac)throw Error("Cannot create public key from symmetric private");const t=hc.fromSecretKeyPacket(n);e.push(t);break}case Q.packet.secretSubkey:{if(n.algorithm===Q.publicKey.aead||n.algorithm===Q.publicKey.hmac){r=!0;break}const t=pc.fromSecretSubkeyPacket(n);e.push(t);break}default:e.push(n)}return new jc(e)}armor(e=R){const t=6!==this.keyPacket.version;return X(Q.armor.privateKey,this.toPacketList().write(),void 0,void 0,void 0,t,e)}async getDecryptionKeys(e,t=new Date,r={},n=R){const i=this.keyPacket,s=[];let a=null;for(let r=0;r<this.subkeys.length;r++)if(!e||this.subkeys[r].getKeyID().equals(e,!0)){if(this.subkeys[r].keyPacket.isDummy()){a=a||Error("Gnu-dummy key packets cannot be used for decryption");continue}try{const e={key:i,bind:this.subkeys[r].keyPacket},a=await Kc(this.subkeys[r].bindingSignatures,i,Q.signature.subkeyBinding,e,t,n);Nc(this.subkeys[r].keyPacket,a,n)&&s.push(this.subkeys[r])}catch(e){a=e}}const o=await this.getPrimarySelfSignature(t,r,n);if(e&&!i.getKeyID().equals(e,!0)||!Nc(i,o,n)||(i.isDummy()?a=a||Error("Gnu-dummy key packets cannot be used for decryption"):s.push(this)),0===s.length)throw a||Error("No decryption key packets found");return s}isDecrypted(){return this.getKeys().some((({keyPacket:e})=>e.isDecrypted()))}async validate(e=R){if(!this.isPrivate())throw Error("Cannot validate a public key");let t;if(this.keyPacket.isDummy()){const r=await this.getSigningKey(null,null,void 0,{...e,rejectPublicKeyAlgorithms:new Set,minRSABits:0});r&&!r.keyPacket.isDummy()&&(t=r.keyPacket)}else t=this.keyPacket;if(t)return t.validate();{const e=this.getKeys();if(e.map((e=>e.keyPacket.isDummy())).every(Boolean))throw Error("Cannot validate an all-gnu-dummy key");return Promise.all(e.map((async e=>e.keyPacket.validate())))}}clearPrivateParams(){this.getKeys().forEach((({keyPacket:e})=>{e.isDecrypted()&&e.clearPrivateParams()}))}async revoke({flag:e=Q.reasonForRevocation.noReason,string:t=""}={},r=new Date,n=R){if(!this.isPrivate())throw Error("Need private key for revoking");const i={key:this.keyPacket},s=this.clone();return s.revocationSignatures.push(await Dc(i,[],this.keyPacket,{signatureType:Q.signature.keyRevocation,reasonForRevocationFlag:Q.write(Q.reasonForRevocation,e),reasonForRevocationString:t},r,void 0,void 0,void 0,n)),s}async addSubkey(e={}){const t={...R,...e.config};if(e.passphrase)throw Error("Subkey could not be encrypted here, please encrypt whole key");if(e.rsaBits<t.minRSABits)throw Error(`rsaBits should be at least ${t.minRSABits}, got: ${e.rsaBits}`);const r=this.keyPacket;if(r.isDummy())throw Error("Cannot add subkey to gnu-dummy primary key");if(!r.isDecrypted())throw Error("Key is not decrypted");const n=r.getAlgorithmInfo();n.type=function(e){switch(Q.write(Q.publicKey,e)){case Q.publicKey.rsaEncrypt:case Q.publicKey.rsaEncryptSign:case Q.publicKey.rsaSign:case Q.publicKey.dsa:return"rsa";case Q.publicKey.ecdsa:case Q.publicKey.eddsaLegacy:return"ecc";case Q.publicKey.ed25519:return"curve25519";case Q.publicKey.ed448:return"curve448";default:throw Error("Unsupported algorithm")}}(n.algorithm),n.rsaBits=n.bits||4096,n.curve=n.curve||"curve25519Legacy",e=Tc(e,n);const i=await Sc(e,{...t,v6Keys:6===this.keyPacket.version});Fc(i,t);const s=await Uc(i,r,e,t),a=this.toPacketList();return a.push(i,s),new Vc(a)}}const Yc=/*#__PURE__*/M.constructAllowedPackets([hc,pc,dc,mc,wc,gc,Fo]);function Zc(e){for(const t of e)switch(t.constructor.tag){case Q.packet.secretKey:return new Vc(e);case Q.packet.publicKey:return new jc(e)}throw Error("No key packet found")}async function Wc(e,t,r,n){r.passphrase&&await e.encrypt(r.passphrase,n),await Promise.all(t.map((async function(e,t){const i=r.subkeys[t].passphrase;i&&await e.encrypt(i,n)})));const i=new Vo;function s(e,t){return[t,...e.filter((e=>e!==t))]}function a(){const t={};t.keyFlags=[Q.keyFlags.certifyKeys|Q.keyFlags.signData];const i=s([Q.symmetric.aes256,Q.symmetric.aes128],n.preferredSymmetricAlgorithm);if(t.preferredSymmetricAlgorithms=i,n.aeadProtect){const e=s([Q.aead.gcm,Q.aead.eax,Q.aead.ocb],n.preferredAEADAlgorithm);t.preferredCipherSuites=e.flatMap((e=>i.map((t=>[t,e]))))}return t.preferredHashAlgorithms=s([Q.hash.sha512,Q.hash.sha256,...6===e.version?[Q.hash.sha3_512,Q.hash.sha3_256]:[]],n.preferredHashAlgorithm),t.preferredCompressionAlgorithms=s([Q.compression.uncompressed,Q.compression.zlib,Q.compression.zip],n.preferredCompressionAlgorithm),t.features=[0],t.features[0]|=Q.features.modificationDetection,n.aeadProtect&&(t.features[0]|=Q.features.seipdv2),r.keyExpirationTime>0&&(t.keyExpirationTime=r.keyExpirationTime,t.keyNeverExpires=!1),t}if(i.push(e),6===e.version){const t={key:e},s=a();s.signatureType=Q.signature.key;const o=await Dc(t,[],e,s,r.date,void 0,void 0,void 0,n);i.push(o)}await Promise.all(r.userIDs.map((async function(t,i){const s=wc.fromObject(t),o={userID:s,key:e},c=6!==e.version?a():{};c.signatureType=Q.signature.certPositive,0===i&&(c.isPrimaryUserID=!0);return{userIDPacket:s,signaturePacket:await Dc(o,[],e,c,r.date,void 0,void 0,void 0,n)}}))).then((e=>{e.forEach((({userIDPacket:e,signaturePacket:t})=>{i.push(e),i.push(t)}))})),await Promise.all(t.map((async function(t,i){const s=r.subkeys[i];return{secretSubkeyPacket:t,subkeySignaturePacket:await Uc(t,e,s,n)}}))).then((e=>{e.forEach((({secretSubkeyPacket:e,subkeySignaturePacket:t})=>{i.push(e),i.push(t)}))}));const o={key:e};return i.push(await Dc(o,[],e,{signatureType:Q.signature.keyRevocation,reasonForRevocationFlag:Q.reasonForRevocation.noReason,reasonForRevocationString:""},r.date,void 0,void 0,void 0,n)),r.passphrase&&e.clearPrivateParams(),await Promise.all(t.map((async function(e,t){r.subkeys[t].passphrase&&e.clearPrivateParams()}))),new Vc(i)}async function Jc({armoredKey:e,binaryKey:t,config:r,...n}){if(r={...R,...r},!e&&!t)throw Error("readKey: must pass options object containing `armoredKey` or `binaryKey`");if(e&&!M.isString(e))throw Error("readKey: options.armoredKey must be a string");if(t&&!M.isUint8Array(t))throw Error("readKey: options.binaryKey must be a Uint8Array");const i=Object.keys(n);if(i.length>0)throw Error("Unknown option: "+i.join(", "));let s;if(e){const{type:t,data:r}=await J(e);if(t!==Q.armor.publicKey&&t!==Q.armor.privateKey)throw Error("Armored text not of type key");s=r}else s=t;const a=await Vo.fromBinary(s,Yc,r),o=a.indexOfTag(Q.packet.publicKey,Q.packet.secretKey);if(0===o.length)throw Error("No key packet found");return Zc(a.slice(o[0],o[1]))}async function Xc({armoredKey:e,binaryKey:t,config:r,...n}){if(r={...R,...r},!e&&!t)throw Error("readPrivateKey: must pass options object containing `armoredKey` or `binaryKey`");if(e&&!M.isString(e))throw Error("readPrivateKey: options.armoredKey must be a string");if(t&&!M.isUint8Array(t))throw Error("readPrivateKey: options.binaryKey must be a Uint8Array");const i=Object.keys(n);if(i.length>0)throw Error("Unknown option: "+i.join(", "));let s;if(e){const{type:t,data:r}=await J(e);if(t!==Q.armor.privateKey)throw Error("Armored text not of type private key");s=r}else s=t;const a=await Vo.fromBinary(s,Yc,r),o=a.indexOfTag(Q.packet.publicKey,Q.packet.secretKey);for(let e=0;e<o.length;e++){if(a[o[e]].constructor.tag===Q.packet.publicKey)continue;const t=a.slice(o[e],o[e+1]);return new Vc(t)}throw Error("No secret key packet found")}async function $c({armoredKeys:e,binaryKeys:t,config:r,...n}){r={...R,...r};let i=e||t;if(!i)throw Error("readKeys: must pass options object containing `armoredKeys` or `binaryKeys`");if(e&&!M.isString(e))throw Error("readKeys: options.armoredKeys must be a string");if(t&&!M.isUint8Array(t))throw Error("readKeys: options.binaryKeys must be a Uint8Array");const s=Object.keys(n);if(s.length>0)throw Error("Unknown option: "+s.join(", "));if(e){const{type:t,data:r}=await J(e);if(t!==Q.armor.publicKey&&t!==Q.armor.privateKey)throw Error("Armored text not of type key");i=r}const a=[],o=await Vo.fromBinary(i,Yc,r),c=o.indexOfTag(Q.packet.publicKey,Q.packet.secretKey);if(0===c.length)throw Error("No key packet found");for(let e=0;e<c.length;e++){const t=Zc(o.slice(c[e],c[e+1]));a.push(t)}return a}async function eu({armoredKeys:e,binaryKeys:t,config:r}){r={...R,...r};let n=e||t;if(!n)throw Error("readPrivateKeys: must pass options object containing `armoredKeys` or `binaryKeys`");if(e&&!M.isString(e))throw Error("readPrivateKeys: options.armoredKeys must be a string");if(t&&!M.isUint8Array(t))throw Error("readPrivateKeys: options.binaryKeys must be a Uint8Array");if(e){const{type:t,data:r}=await J(e);if(t!==Q.armor.privateKey)throw Error("Armored text not of type private key");n=r}const i=[],s=await Vo.fromBinary(n,Yc,r),a=s.indexOfTag(Q.packet.publicKey,Q.packet.secretKey);for(let e=0;e<a.length;e++){if(s[a[e]].constructor.tag===Q.packet.publicKey)continue;const t=s.slice(a[e],a[e+1]),r=new Vc(t);i.push(r)}if(0===i.length)throw Error("No secret key packet found");return i}const tu=/*#__PURE__*/M.constructAllowedPackets([Ro,Zo,sc,rc,yc,oc,uc,_o,Fo]),ru=/*#__PURE__*/M.constructAllowedPackets([uc]),nu=/*#__PURE__*/M.constructAllowedPackets([Fo]);class iu{constructor(e){this.packets=e||new Vo}getEncryptionKeyIDs(){const e=[];return this.packets.filterByTag(Q.packet.publicKeyEncryptedSessionKey).forEach((function(t){e.push(t.publicKeyID)})),e}getSigningKeyIDs(){const e=this.unwrapCompressed(),t=e.packets.filterByTag(Q.packet.onePassSignature);if(t.length>0)return t.map((e=>e.issuerKeyID));return e.packets.filterByTag(Q.packet.signature).map((e=>e.issuerKeyID))}async decrypt(e,t,r,n=new Date,i=R){const s=this.packets.filterByTag(Q.packet.symmetricallyEncryptedData,Q.packet.symEncryptedIntegrityProtectedData,Q.packet.aeadEncryptedData);if(0===s.length)throw Error("No encrypted data found");const a=s[0],o=a.cipherAlgorithm,c=r||await this.decryptSessionKeys(e,t,o,n,i);let u=null;const h=Promise.all(c.map((async({algorithm:e,data:t})=>{if(!M.isUint8Array(t)||!a.cipherAlgorithm&&!M.isString(e))throw Error("Invalid session key for decryption.");try{const r=a.cipherAlgorithm||Q.write(Q.symmetric,e);await a.decrypt(r,t,i)}catch(e){M.printDebugError(e),u=e}})));if(C(a.encrypted),a.encrypted=null,await h,!a.packets||!a.packets.length)throw u||Error("Decryption failed.");const l=new iu(a.packets);return a.packets=new Vo,l}async decryptSessionKeys(e,t,r,n=new Date,i=R){let s,a=[];if(t){const e=this.packets.filterByTag(Q.packet.symEncryptedSessionKey);if(0===e.length)throw Error("No symmetrically encrypted session key packet found.");await Promise.all(t.map((async function(t,r){let n;n=r?await Vo.fromBinary(e.write(),ru,i):e,await Promise.all(n.map((async function(e){try{await e.decrypt(t),a.push(e)}catch(e){M.printDebugError(e),e instanceof xa&&(s=e)}})))})))}else{if(!e)throw Error("No key or password specified.");{const t=this.packets.filterByTag(Q.packet.publicKeyEncryptedSessionKey);if(0===t.length)throw Error("No public key encrypted session key packet found.");await Promise.all(t.map((async function(t){await Promise.all(e.map((async function(e){let o;try{o=(await e.getDecryptionKeys(t.publicKeyID,null,void 0,i)).map((e=>e.keyPacket))}catch(e){return void(s=e)}let c=[Q.symmetric.aes256,Q.symmetric.aes128,Q.symmetric.tripledes,Q.symmetric.cast5];try{const t=await e.getPrimarySelfSignature(n,void 0,i);t.preferredSymmetricAlgorithms&&(c=c.concat(t.preferredSymmetricAlgorithms))}catch(e){}await Promise.all(o.map((async function(e){if(!e.isDecrypted())throw Error("Decryption key is not decrypted.");if(i.constantTimePKCS1Decryption&&(t.publicKeyAlgorithm===Q.publicKey.rsaEncrypt||t.publicKeyAlgorithm===Q.publicKey.rsaEncryptSign||t.publicKeyAlgorithm===Q.publicKey.rsaSign||t.publicKeyAlgorithm===Q.publicKey.elgamal)){const n=t.write();await Promise.all((r?[r]:Array.from(i.constantTimePKCS1DecryptionSupportedSymmetricAlgorithms)).map((async t=>{const r=new oc;r.read(n);const i={sessionKeyAlgorithm:t,sessionKey:Ka(t)};try{await r.decrypt(e,i),a.push(r)}catch(e){M.printDebugError(e),s=e}})))}else try{await t.decrypt(e);const n=r||t.sessionKeyAlgorithm;if(n&&!c.includes(Q.write(Q.symmetric,n)))throw Error("A non-preferred symmetric algorithm was used.");a.push(t)}catch(e){M.printDebugError(e),s=e}})))}))),C(t.encrypted),t.encrypted=null})))}}if(a.length>0){if(a.length>1){const e=new Set;a=a.filter((t=>{const r=t.sessionKeyAlgorithm+M.uint8ArrayToString(t.sessionKey);return!e.has(r)&&(e.add(r),!0)}))}return a.map((e=>({data:e.sessionKey,algorithm:e.sessionKeyAlgorithm&&Q.read(Q.symmetric,e.sessionKeyAlgorithm)})))}throw s||Error("Session key decryption failed.")}getLiteralData(){const e=this.unwrapCompressed().packets.findPacket(Q.packet.literalData);return e&&e.getBytes()||null}getFilename(){const e=this.unwrapCompressed().packets.findPacket(Q.packet.literalData);return e&&e.getFilename()||null}getText(){const e=this.unwrapCompressed().packets.findPacket(Q.packet.literalData);return e?e.getText():null}static async generateSessionKey(e=[],t=new Date,r=[],n=R){const{symmetricAlgo:i,aeadAlgo:s}=await async function(e=[],t=new Date,r=[],n=R){const i=await Promise.all(e.map(((e,i)=>e.getPrimarySelfSignature(t,r[i],n))));if(e.length?!n.ignoreSEIPDv2FeatureFlag&&i.every((e=>e.features&&e.features[0]&Q.features.seipdv2)):n.aeadProtect){const e={symmetricAlgo:Q.symmetric.aes128,aeadAlgo:Q.aead.ocb},t=[{symmetricAlgo:n.preferredSymmetricAlgorithm,aeadAlgo:n.preferredAEADAlgorithm},{symmetricAlgo:n.preferredSymmetricAlgorithm,aeadAlgo:Q.aead.ocb},{symmetricAlgo:Q.symmetric.aes128,aeadAlgo:n.preferredAEADAlgorithm}];for(const e of t)if(i.every((t=>t.preferredCipherSuites&&t.preferredCipherSuites.some((t=>t[0]===e.symmetricAlgo&&t[1]===e.aeadAlgo)))))return e;return e}const s=Q.symmetric.aes128,a=n.preferredSymmetricAlgorithm;return{symmetricAlgo:i.every((e=>e.preferredSymmetricAlgorithms&&e.preferredSymmetricAlgorithms.includes(a)))?a:s,aeadAlgo:void 0}}(e,t,r,n),a=Q.read(Q.symmetric,i),o=s?Q.read(Q.aead,s):void 0;await Promise.all(e.map((e=>e.getEncryptionKey().catch((()=>null)).then((e=>{if(e&&(e.keyPacket.algorithm===Q.publicKey.x25519||e.keyPacket.algorithm===Q.publicKey.x448)&&!o&&!M.isAES(i))throw Error("Could not generate a session key compatible with the given `encryptionKeys`: X22519 and X448 keys can only be used to encrypt AES session keys; change `config.preferredSymmetricAlgorithm` accordingly.")})))));return{data:Ka(i),algorithm:a,aeadAlgorithm:o}}async encrypt(e,t,r,n=!1,i=[],s=new Date,a=[],o=R){if(r){if(!M.isUint8Array(r.data)||!M.isString(r.algorithm))throw Error("Invalid session key for encryption.")}else if(e&&e.length)r=await iu.generateSessionKey(e,s,a,o);else{if(!t||!t.length)throw Error("No keys, passwords, or session key provided.");r=await iu.generateSessionKey(void 0,void 0,void 0,o)}const{data:c,algorithm:u,aeadAlgorithm:h}=r,l=await iu.encryptSessionKey(c,u,h,e,t,n,i,s,a,o),y=rc.fromObject({version:h?2:1,aeadAlgorithm:h?Q.write(Q.aead,h):null});y.packets=this.packets;const f=Q.write(Q.symmetric,u);return await y.encrypt(f,c,o),l.packets.push(y),y.packets=new Vo,l}static async encryptSessionKey(e,t,r,n,i,s=!1,a=[],o=new Date,c=[],u=R){const h=new Vo,l=Q.write(Q.symmetric,t),y=r&&Q.write(Q.aead,r);if(n){const t=await Promise.all(n.map((async function(t,r){const n=await t.getEncryptionKey(a[r],o,c,u),i=oc.fromObject({version:y?6:3,encryptionKeyPacket:n.keyPacket,anonymousRecipient:s,sessionKey:e,sessionKeyAlgorithm:l});return await i.encrypt(n.keyPacket),delete i.sessionKey,i})));h.push(...t)}if(i){const t=async function(e,t){try{return await e.decrypt(t),1}catch(e){return 0}},r=(e,t)=>e+t,n=async function(e,s,a,o){const c=new uc(u);if(c.sessionKey=e,c.sessionKeyAlgorithm=s,a&&(c.aeadAlgorithm=a),await c.encrypt(o,u),u.passwordCollisionCheck){if(1!==(await Promise.all(i.map((e=>t(c,e))))).reduce(r))return n(e,s,o)}return delete c.sessionKey,c},s=await Promise.all(i.map((t=>n(e,l,y,t))));h.push(...s)}return new iu(h)}async sign(e=[],t=[],r=null,n=[],i=new Date,s=[],a=[],o=[],c=R){const u=new Vo,h=this.packets.findPacket(Q.packet.literalData);if(!h)throw Error("No literal data packet to sign.");const l=await su(h,e,t,r,n,i,s,a,o,!1,c),y=l.map(((e,t)=>_o.fromSignaturePacket(e,0===t))).reverse();return u.push(...y),u.push(h),u.push(...l),new iu(u)}compress(e,t=R){if(e===Q.compression.uncompressed)return this;const r=new Zo(t);r.algorithm=e,r.packets=this.packets;const n=new Vo;return n.push(r),new iu(n)}async signDetached(e=[],t=[],r=null,n=[],i=[],s=new Date,a=[],o=[],c=R){const u=this.packets.findPacket(Q.packet.literalData);if(!u)throw Error("No literal data packet to sign.");return new vc(await su(u,e,t,r,n,i,s,a,o,!0,c))}async verify(e,t=new Date,r=R){const n=this.unwrapCompressed(),i=n.packets.filterByTag(Q.packet.literalData);if(1!==i.length)throw Error("Can only verify message with one literal data packet.");a(n.packets.stream)&&n.packets.push(...await K(n.packets.stream,(e=>e||[])));const s=n.packets.filterByTag(Q.packet.onePassSignature).reverse(),o=n.packets.filterByTag(Q.packet.signature);return s.length&&!o.length&&M.isStream(n.packets.stream)&&!a(n.packets.stream)?(await Promise.all(s.map((async e=>{e.correspondingSig=new Promise(((t,r)=>{e.correspondingSigResolve=t,e.correspondingSigReject=r})),e.signatureData=U((async()=>(await e.correspondingSig).signatureData)),e.hashed=K(await e.hash(e.signatureType,i[0],void 0,!1)),e.hashed.catch((()=>{}))}))),n.packets.stream=k(n.packets.stream,(async(e,t)=>{const r=P(e),n=D(t);try{for(let e=0;e<s.length;e++){const{value:t}=await r.read();s[e].correspondingSigResolve(t)}await r.readToEnd(),await n.ready,await n.close()}catch(e){s.forEach((t=>{t.correspondingSigReject(e)})),await n.abort(e)}})),au(s,i,e,t,!1,r)):au(o,i,e,t,!1,r)}verifyDetached(e,t,r=new Date,n=R){const i=this.unwrapCompressed().packets.filterByTag(Q.packet.literalData);if(1!==i.length)throw Error("Can only verify message with one literal data packet.");return au(e.packets.filterByTag(Q.packet.signature),i,t,r,!0,n)}unwrapCompressed(){const e=this.packets.filterByTag(Q.packet.compressedData);return e.length?new iu(e[0].packets):this}async appendSignature(e,t=R){await this.packets.read(M.isUint8Array(e)?e:(await J(e)).data,nu,t)}write(){return this.packets.write()}armor(e=R){const t=this.packets[this.packets.length-1],r=t.constructor.tag===rc.tag?2!==t.version:this.packets.some((e=>e.constructor.tag===Fo.tag&&6!==e.version));return X(Q.armor.message,this.write(),null,null,null,r,e)}}async function su(e,t,r=[],n=null,i=[],s=new Date,a=[],o=[],c=[],u=!1,h=R){const l=new Vo,y=null===e.text?Q.signature.binary:Q.signature.text;if(await Promise.all(t.map((async(t,n)=>{const l=a[n];if(!t.isPrivate())throw Error("Need private key for signing");const f=await t.getSigningKey(i[n],s,l,h);return Dc(e,r.length?r:[t],f.keyPacket,{signatureType:y},s,o,c,u,h)}))).then((e=>{l.push(...e)})),n){const e=n.packets.filterByTag(Q.packet.signature);l.push(...e)}return l}async function au(e,t,r,n=new Date,i=!1,s=R){return Promise.all(e.filter((function(e){return["text","binary"].includes(Q.read(Q.signature,e.signatureType))})).map((async function(e){return async function(e,t,r,n=new Date,i=!1,s=R){let a,o;for(const t of r){const r=t.getKeys(e.issuerKeyID);if(r.length>0){a=t,o=r[0];break}}const c=e instanceof _o?e.correspondingSig:e,u={keyID:e.issuerKeyID,verified:(async()=>{if(!o)throw Error("Could not find signing key with key ID "+e.issuerKeyID.toHex());await e.verify(o.keyPacket,e.signatureType,t[0],n,i,s);const r=await c;if(o.getCreationTime()>r.created)throw Error("Key is newer than the signature");try{await a.getSigningKey(o.getKeyID(),r.created,void 0,s)}catch(e){if(!s.allowInsecureVerificationWithReformattedKeys||!e.message.match(/Signature creation time is in the future/))throw e;await a.getSigningKey(o.getKeyID(),n,void 0,s)}return!0})(),signature:(async()=>{const e=await c,t=new Vo;return e&&t.push(e),new vc(t)})()};return u.signature.catch((()=>{})),u.verified.catch((()=>{})),u}(e,t,r,n,i,s)})))}async function ou({armoredMessage:e,binaryMessage:t,config:r,...n}){r={...R,...r};let i=e||t;if(!i)throw Error("readMessage: must pass options object containing `armoredMessage` or `binaryMessage`");if(e&&!M.isString(e)&&!M.isStream(e))throw Error("readMessage: options.armoredMessage must be a string or stream");if(t&&!M.isUint8Array(t)&&!M.isStream(t))throw Error("readMessage: options.binaryMessage must be a Uint8Array or stream");const s=Object.keys(n);if(s.length>0)throw Error("Unknown option: "+s.join(", "));const a=M.isStream(i);if(e){const{type:e,data:t}=await J(i);if(e!==Q.armor.message)throw Error("Armored text not of type message");i=t}const o=await Vo.fromBinary(i,tu,r,qo({delayReporting:!1})),c=new iu(o);return c.fromStream=a,c}async function cu({text:e,binary:t,filename:r,date:n=new Date,format:i=(void 0!==e?"utf8":"binary"),...s}){const a=void 0!==e?e:t;if(void 0===a)throw Error("createMessage: must pass options object containing `text` or `binary`");if(e&&!M.isString(e)&&!M.isStream(e))throw Error("createMessage: options.text must be a string or stream");if(t&&!M.isUint8Array(t)&&!M.isStream(t))throw Error("createMessage: options.binary must be a Uint8Array or stream");const o=Object.keys(s);if(o.length>0)throw Error("Unknown option: "+o.join(", "));const c=M.isStream(a),u=new Ro(n);void 0!==e?u.setText(a,Q.write(Q.literal,i)):u.setBytes(a,Q.write(Q.literal,i)),void 0!==r&&u.setFilename(r);const h=new Vo;h.push(u);const l=new iu(h);return l.fromStream=c,l}const uu=/*#__PURE__*/M.constructAllowedPackets([Fo]);class hu{constructor(e,t){if(this.text=M.removeTrailingSpaces(e).replace(/\r?\n/g,"\r\n"),t&&!(t instanceof vc))throw Error("Invalid signature input");this.signature=t||new vc(new Vo)}getSigningKeyIDs(){const e=[];return this.signature.packets.forEach((function(t){e.push(t.issuerKeyID)})),e}async sign(e,t=[],r=null,n=[],i=new Date,s=[],a=[],o=[],c=R){const u=new Ro;u.setText(this.text);const h=new vc(await su(u,e,t,r,n,i,s,a,o,!0,c));return new hu(this.text,h)}verify(e,t=new Date,r=R){const n=this.signature.packets.filterByTag(Q.packet.signature),i=new Ro;return i.setText(this.text),au(n,[i],e,t,!0,r)}getText(){return this.text.replace(/\r\n/g,"\n")}armor(e=R){const t=this.signature.packets.some((e=>6!==e.version)),r={hash:t?Array.from(new Set(this.signature.packets.map((e=>Q.read(Q.hash,e.hashAlgorithm).toUpperCase())))).join():null,text:this.text,data:this.signature.packets.write()};return X(Q.armor.signed,r,void 0,void 0,void 0,t,e)}}async function lu({cleartextMessage:e,config:t,...r}){if(t={...R,...t},!e)throw Error("readCleartextMessage: must pass options object containing `cleartextMessage`");if(!M.isString(e))throw Error("readCleartextMessage: options.cleartextMessage must be a string");const n=Object.keys(r);if(n.length>0)throw Error("Unknown option: "+n.join(", "));const i=await J(e);if(i.type!==Q.armor.signed)throw Error("No cleartext signed message.");const s=await Vo.fromBinary(i.data,uu,t);!function(e,t){const r=function(e){const r=e=>t=>e.hashAlgorithm===t;for(let n=0;n<t.length;n++)if(t[n].constructor.tag===Q.packet.signature&&!e.some(r(t[n])))return!1;return!0},n=[];if(e.forEach((e=>{const t=e.match(/^Hash: (.+)$/);if(!t)throw Error('Only "Hash" header allowed in cleartext signed message');{const e=t[1].replace(/\s/g,"").split(",").map((e=>{try{return Q.write(Q.hash,e.toLowerCase())}catch(t){throw Error("Unknown hash algorithm in armor header: "+e.toLowerCase())}}));n.push(...e)}})),n.length&&!r(n))throw Error("Hash algorithm mismatch in armor header and signature")}(i.headers,s);const a=new vc(s);return new hu(i.text,a)}async function yu({text:e,...t}){if(!e)throw Error("createCleartextMessage: must pass options object containing `text`");if(!M.isString(e))throw Error("createCleartextMessage: options.text must be a string");const r=Object.keys(t);if(r.length>0)throw Error("Unknown option: "+r.join(", "));return new hu(e)}async function fu({userIDs:e=[],passphrase:t,type:r,curve:n,rsaBits:i=4096,symmetricHash:s="sha256",symmetricCipher:a="aes256",keyExpirationTime:o=0,date:c=new Date,subkeys:u=[{}],format:h="armored",config:l,...y}){Uu(l={...R,...l}),r||n?(r=r||"ecc",n=n||"curve25519Legacy"):(r=l.v6Keys?"curve25519":"ecc",n="curve25519Legacy"),e=Pu(e);const f=Object.keys(y);if(f.length>0)throw Error("Unknown option: "+f.join(", "));if(0===e.length&&!l.v6Keys)throw Error("UserIDs are required for V4 keys");if("rsa"===r&&i<l.minRSABits)throw Error(`rsaBits should be at least ${l.minRSABits}, got: ${i}`);const p={userIDs:e,passphrase:t,type:r,rsaBits:i,curve:n,keyExpirationTime:o,date:c,subkeys:u,symmetricHash:s,symmetricCipher:a};try{const{key:e,revocationCertificate:t}=await async function(e,t){e.sign=!0,(e=Tc(e)).subkeys=e.subkeys.map(((t,r)=>Tc(e.subkeys[r],e)));let r=[Ic(e,t)];r=r.concat(e.subkeys.map((e=>Sc(e,t))));const n=await Promise.all(r),i=await Wc(n[0],n.slice(1),e,t),s=await i.getRevocationCertificate(e.date,t);return i.revocationSignatures=[],{key:i,revocationCertificate:s}}(p,l);return e.getKeys().forEach((({keyPacket:e})=>Fc(e,l))),{privateKey:Qu(e,h,l),publicKey:"symmetric"!==r?Qu(e.toPublic(),h,l):null,revocationCertificate:t}}catch(e){throw M.wrapError("Error generating keypair",e)}}async function pu({privateKey:e,userIDs:t=[],passphrase:r,keyExpirationTime:n=0,date:i,format:s="armored",config:a,...o}){Uu(a={...R,...a}),t=Pu(t);const c=Object.keys(o);if(c.length>0)throw Error("Unknown option: "+c.join(", "));if(0===t.length&&6!==e.keyPacket.version)throw Error("UserIDs are required for V4 keys");const u={privateKey:e,userIDs:t,passphrase:r,keyExpirationTime:n,date:i};try{const{key:e,revocationCertificate:t}=await async function(e,t){e=o(e);const{privateKey:r}=e;if(!r.isPrivate())throw Error("Cannot reformat a public key");if(r.keyPacket.isDummy())throw Error("Cannot reformat a gnu-dummy primary key");if(!r.getKeys().every((({keyPacket:e})=>e.isDecrypted())))throw Error("Key is not decrypted");const n=r.keyPacket;e.subkeys||(e.subkeys=await Promise.all(r.subkeys.map((async e=>{const r=e.keyPacket,i={key:n,bind:r},s=await Kc(e.bindingSignatures,n,Q.signature.subkeyBinding,i,null,t).catch((()=>({})));return{sign:s.keyFlags&&s.keyFlags[0]&Q.keyFlags.signData,forwarding:s.keyFlags&&s.keyFlags[0]&Q.keyFlags.forwardedCommunication}}))));const i=r.subkeys.map((e=>e.keyPacket));if(e.subkeys.length!==i.length)throw Error("Number of subkey options does not match number of subkeys");e.subkeys=e.subkeys.map((t=>o(t,e)));const s=await Wc(n,i,e,t),a=await s.getRevocationCertificate(e.date,t);return s.revocationSignatures=[],{key:s,revocationCertificate:a};function o(e,t={}){return e.keyExpirationTime=e.keyExpirationTime||t.keyExpirationTime,e.passphrase=M.isString(e.passphrase)?e.passphrase:t.passphrase,e.date=e.date||t.date,e}}(u,a);return{privateKey:Qu(e,s,a),publicKey:Qu(e.toPublic(),s,a),revocationCertificate:t}}catch(e){throw M.wrapError("Error reformatting keypair",e)}}async function gu({key:e,revocationCertificate:t,reasonForRevocation:r,date:n=new Date,format:i="armored",config:s,...a}){Uu(s={...R,...s});const o=Object.keys(a);if(o.length>0)throw Error("Unknown option: "+o.join(", "));try{const a=t?await e.applyRevocationCertificate(t,n,s):await e.revoke(r,n,s);return a.isPrivate()?{privateKey:Qu(a,i,s),publicKey:Qu(a.toPublic(),i,s)}:{privateKey:null,publicKey:Qu(a,i,s)}}catch(e){throw M.wrapError("Error revoking key",e)}}async function du({privateKey:e,passphrase:t,config:r,...n}){Uu(r={...R,...r});const i=Object.keys(n);if(i.length>0)throw Error("Unknown option: "+i.join(", "));if(!e.isPrivate())throw Error("Cannot decrypt a public key");const s=e.clone(!0),a=M.isArray(t)?t:[t];try{return await Promise.all(s.getKeys().map((e=>M.anyPromise(a.map((t=>e.keyPacket.decrypt(t))))))),await s.validate(r),s}catch(e){throw s.clearPrivateParams(),M.wrapError("Error decrypting private key",e)}}async function Au({privateKey:e,passphrase:t,config:r,...n}){Uu(r={...R,...r});const i=Object.keys(n);if(i.length>0)throw Error("Unknown option: "+i.join(", "));if(!e.isPrivate())throw Error("Cannot encrypt a public key");const s=e.clone(!0),a=s.getKeys(),o=M.isArray(t)?t:Array(a.length).fill(t);if(o.length!==a.length)throw Error("Invalid number of passphrases given for key encryption");try{return await Promise.all(a.map((async(e,t)=>{const{keyPacket:n}=e;await n.encrypt(o[t],r),n.clearPrivateParams()}))),s}catch(e){throw s.clearPrivateParams(),M.wrapError("Error encrypting private key",e)}}async function wu({message:e,encryptionKeys:t,signingKeys:r,passwords:n,sessionKey:i,format:s="armored",signature:a=null,wildcard:o=!1,signingKeyIDs:c=[],encryptionKeyIDs:u=[],date:h=new Date,signingUserIDs:l=[],encryptionUserIDs:y=[],signatureNotations:f=[],config:p,...g}){if(Uu(p={...R,...p}),Su(e),Ku(s),t=Pu(t),r=Pu(r),n=Pu(n),c=Pu(c),u=Pu(u),l=Pu(l),y=Pu(y),f=Pu(f),g.detached)throw Error("The `detached` option has been removed from openpgp.encrypt, separately call openpgp.sign instead. Don't forget to remove the `privateKeys` option as well.");if(g.publicKeys)throw Error("The `publicKeys` option has been removed from openpgp.encrypt, pass `encryptionKeys` instead");if(g.privateKeys)throw Error("The `privateKeys` option has been removed from openpgp.encrypt, pass `signingKeys` instead");if(void 0!==g.armor)throw Error("The `armor` option has been removed from openpgp.encrypt, pass `format` instead.");const d=Object.keys(g);if(d.length>0)throw Error("Unknown option: "+d.join(", "));r||(r=[]);try{if((r.length||a)&&(e=await e.sign(r,t,a,c,h,l,u,f,p)),e=e.compress(await async function(e=[],t=new Date,r=[],n=R){const i=Q.compression.uncompressed,s=n.preferredCompressionAlgorithm,a=await Promise.all(e.map((async function(e,i){const a=(await e.getPrimarySelfSignature(t,r[i],n)).preferredCompressionAlgorithms;return!!a&&a.indexOf(s)>=0})));return a.every(Boolean)?s:i}(t,h,y,p),p),e=await e.encrypt(t,n,i,o,u,h,y,p),"object"===s)return e;const g="armored"===s?e.armor(p):e.write();return await Du(g)}catch(e){throw M.wrapError("Error encrypting message",e)}}async function mu({message:e,decryptionKeys:t,passwords:r,sessionKeys:n,verificationKeys:i,expectSigned:s=!1,format:a="utf8",signature:o=null,date:c=new Date,config:u,...h}){if(Uu(u={...R,...u}),Su(e),i=Pu(i),t=Pu(t),r=Pu(r),n=Pu(n),h.privateKeys)throw Error("The `privateKeys` option has been removed from openpgp.decrypt, pass `decryptionKeys` instead");if(h.publicKeys)throw Error("The `publicKeys` option has been removed from openpgp.decrypt, pass `verificationKeys` instead");const l=Object.keys(h);if(l.length>0)throw Error("Unknown option: "+l.join(", "));try{const h=await e.decrypt(t,r,n,c,u);i||(i=[]);const l={};if(l.signatures=o?await h.verifyDetached(o,i,c,u):await h.verify(i,c,u),l.data="binary"===a?h.getLiteralData():h.getText(),l.filename=h.getFilename(),xu(l,e,...new Set([h,h.unwrapCompressed()])),s){if(0===i.length)throw Error("Verification keys are required to verify message signatures");if(0===l.signatures.length)throw Error("Message is not signed");l.data=d([l.data,U((async()=>(await M.anyPromise(l.signatures.map((e=>e.verified))),"binary"===a?new Uint8Array:"")))])}return l.data=await Du(l.data),l}catch(e){throw M.wrapError("Error decrypting message",e)}}async function bu({message:e,signingKeys:t,recipientKeys:r=[],format:n="armored",detached:i=!1,signingKeyIDs:s=[],date:a=new Date,signingUserIDs:o=[],recipientUserIDs:c=[],signatureNotations:u=[],config:h,...l}){if(Uu(h={...R,...h}),Iu(e),Ku(n),t=Pu(t),s=Pu(s),o=Pu(o),r=Pu(r),c=Pu(c),u=Pu(u),l.privateKeys)throw Error("The `privateKeys` option has been removed from openpgp.sign, pass `signingKeys` instead");if(void 0!==l.armor)throw Error("The `armor` option has been removed from openpgp.sign, pass `format` instead.");const y=Object.keys(l);if(y.length>0)throw Error("Unknown option: "+y.join(", "));if(e instanceof hu&&"binary"===n)throw Error("Cannot return signed cleartext message in binary format");if(e instanceof hu&&i)throw Error("Cannot detach-sign a cleartext message");if(!t||0===t.length)throw Error("No signing keys provided");try{let l;if(l=i?await e.signDetached(t,r,void 0,s,a,o,c,u,h):await e.sign(t,r,void 0,s,a,o,c,u,h),"object"===n)return l;return l="armored"===n?l.armor(h):l.write(),i&&(l=k(e.packets.write(),(async(e,t)=>{await Promise.all([A(l,t),K(e).catch((()=>{}))])}))),await Du(l)}catch(e){throw M.wrapError("Error signing message",e)}}async function ku({message:e,verificationKeys:t,expectSigned:r=!1,format:n="utf8",signature:i=null,date:s=new Date,config:a,...o}){if(Uu(a={...R,...a}),Iu(e),t=Pu(t),o.publicKeys)throw Error("The `publicKeys` option has been removed from openpgp.verify, pass `verificationKeys` instead");const c=Object.keys(o);if(c.length>0)throw Error("Unknown option: "+c.join(", "));if(e instanceof hu&&"binary"===n)throw Error("Can't return cleartext message data as binary");if(e instanceof hu&&i)throw Error("Can't verify detached cleartext signature");try{const o={};if(o.signatures=i?await e.verifyDetached(i,t,s,a):await e.verify(t,s,a),o.data="binary"===n?e.getLiteralData():e.getText(),e.fromStream&&!i&&xu(o,...new Set([e,e.unwrapCompressed()])),r){if(0===o.signatures.length)throw Error("Message is not signed");o.data=d([o.data,U((async()=>(await M.anyPromise(o.signatures.map((e=>e.verified))),"binary"===n?new Uint8Array:"")))])}return o.data=await Du(o.data),o}catch(e){throw M.wrapError("Error verifying signed message",e)}}async function Eu({encryptionKeys:e,date:t=new Date,encryptionUserIDs:r=[],config:n,...i}){if(Uu(n={...R,...n}),e=Pu(e),r=Pu(r),i.publicKeys)throw Error("The `publicKeys` option has been removed from openpgp.generateSessionKey, pass `encryptionKeys` instead");const s=Object.keys(i);if(s.length>0)throw Error("Unknown option: "+s.join(", "));try{return await iu.generateSessionKey(e,t,r,n)}catch(e){throw M.wrapError("Error generating session key",e)}}async function vu({data:e,algorithm:t,aeadAlgorithm:r,encryptionKeys:n,passwords:i,format:s="armored",wildcard:a=!1,encryptionKeyIDs:o=[],date:c=new Date,encryptionUserIDs:u=[],config:h,...l}){if(Uu(h={...R,...h}),function(e){if(!M.isUint8Array(e))throw Error("Parameter [data] must be of type Uint8Array")}(e),function(e,t){if(!M.isString(e))throw Error("Parameter ["+t+"] must be of type String")}(t,"algorithm"),Ku(s),n=Pu(n),i=Pu(i),o=Pu(o),u=Pu(u),l.publicKeys)throw Error("The `publicKeys` option has been removed from openpgp.encryptSessionKey, pass `encryptionKeys` instead");const y=Object.keys(l);if(y.length>0)throw Error("Unknown option: "+y.join(", "));if(!(n&&0!==n.length||i&&0!==i.length))throw Error("No encryption keys or passwords provided.");try{return Qu(await iu.encryptSessionKey(e,t,r,n,i,a,o,c,u,h),s,h)}catch(e){throw M.wrapError("Error encrypting session key",e)}}async function Bu({message:e,decryptionKeys:t,passwords:r,date:n=new Date,config:i,...s}){if(Uu(i={...R,...i}),Su(e),t=Pu(t),r=Pu(r),s.privateKeys)throw Error("The `privateKeys` option has been removed from openpgp.decryptSessionKeys, pass `decryptionKeys` instead");const a=Object.keys(s);if(a.length>0)throw Error("Unknown option: "+a.join(", "));try{return await e.decryptSessionKeys(t,r,void 0,n,i)}catch(e){throw M.wrapError("Error decrypting session keys",e)}}function Su(e){if(!(e instanceof iu))throw Error("Parameter [message] needs to be of type Message")}function Iu(e){if(!(e instanceof hu||e instanceof iu))throw Error("Parameter [message] needs to be of type Message or CleartextMessage")}function Ku(e){if("armored"!==e&&"binary"!==e&&"object"!==e)throw Error("Unsupported format "+e)}const Cu=Object.keys(R).length;function Uu(e){const t=Object.keys(e);if(t.length!==Cu)for(const e of t)if(void 0===R[e])throw Error("Unknown config property: "+e)}function Pu(e){return e&&!M.isArray(e)&&(e=[e]),e}async function Du(e){return"array"===M.isStream(e)?K(e):e}function xu(e,t,...r){e.data=k(t.packets.stream,(async(t,n)=>{await A(e.data,n,{preventClose:!0});const i=D(n);try{await K(t,(e=>e)),await Promise.all(r.map((e=>K(e.packets.stream,(e=>e))))),await i.close()}catch(e){await i.abort(e)}}))}function Qu(e,t,r){switch(t){case"object":return e;case"armored":return e.armor(r);case"binary":return e.write();default:throw Error("Unsupported format "+t)}}function Ru(e){if(!Number.isSafeInteger(e)||e<0)throw Error("positive integer expected, got "+e)}function Tu(e,...t){if(!((r=e)instanceof Uint8Array||ArrayBuffer.isView(r)&&"Uint8Array"===r.constructor.name))throw Error("Uint8Array expected");var r;if(t.length>0&&!t.includes(e.length))throw Error("Uint8Array expected of length "+t+", got length="+e.length)}function Mu(e,t=!0){if(e.destroyed)throw Error("Hash instance has been destroyed");if(t&&e.finished)throw Error("Hash#digest() has already been called")}function Lu(e,t){Tu(e);const r=t.outputLen;if(e.length<r)throw Error("digestInto() expects output buffer of length at least "+r)}const Nu="object"==typeof e&&"crypto"in e?e.crypto:void 0,Fu=e=>new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4)),Ou=e=>new DataView(e.buffer,e.byteOffset,e.byteLength),Hu=(e,t)=>e<<32-t|e>>>t,_u=(e,t)=>e<<t|e>>>32-t>>>0,zu=/* @__PURE__ */(()=>68===new Uint8Array(new Uint32Array([287454020]).buffer)[0])();
5
- /*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */function Gu(e){for(let r=0;r<e.length;r++)e[r]=(t=e[r])<<24&4278190080|t<<8&16711680|t>>>8&65280|t>>>24&255;var t}function qu(e){if("string"!=typeof e)throw Error("utf8ToBytes expected string, got "+typeof e);return new Uint8Array((new TextEncoder).encode(e))}function ju(e){return"string"==typeof e&&(e=qu(e)),Tu(e),e}function Vu(...e){let t=0;for(let r=0;r<e.length;r++){const n=e[r];Tu(n),t+=n.length}const r=new Uint8Array(t);for(let t=0,n=0;t<e.length;t++){const i=e[t];r.set(i,n),n+=i.length}return r}class Yu{clone(){return this._cloneInto()}}function Zu(e){const t=t=>e().update(ju(t)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function Wu(e=32){if(Nu&&"function"==typeof Nu.getRandomValues)return Nu.getRandomValues(new Uint8Array(e));if(Nu&&"function"==typeof Nu.randomBytes)return Nu.randomBytes(e);throw Error("crypto.getRandomValues must be defined")}const Ju=(e,t,r)=>e&t^~e&r,Xu=(e,t,r)=>e&t^e&r^t&r;class $u extends Yu{constructor(e,t,r,n){super(),this.blockLen=e,this.outputLen=t,this.padOffset=r,this.isLE=n,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=Ou(this.buffer)}update(e){Mu(this);const{view:t,buffer:r,blockLen:n}=this,i=(e=ju(e)).length;for(let s=0;s<i;){const a=Math.min(n-this.pos,i-s);if(a!==n)r.set(e.subarray(s,s+a),this.pos),this.pos+=a,s+=a,this.pos===n&&(this.process(t,0),this.pos=0);else{const t=Ou(e);for(;n<=i-s;s+=n)this.process(t,s)}}return this.length+=e.length,this.roundClean(),this}digestInto(e){Mu(this),Lu(e,this),this.finished=!0;const{buffer:t,view:r,blockLen:n,isLE:i}=this;let{pos:s}=this;t[s++]=128,this.buffer.subarray(s).fill(0),this.padOffset>n-s&&(this.process(r,0),s=0);for(let e=s;e<n;e++)t[e]=0;!function(e,t,r,n){if("function"==typeof e.setBigUint64)return e.setBigUint64(t,r,n);const i=BigInt(32),s=BigInt(4294967295),a=Number(r>>i&s),o=Number(r&s),c=n?4:0,u=n?0:4;e.setUint32(t+c,a,n),e.setUint32(t+u,o,n)}(r,n-8,BigInt(8*this.length),i),this.process(r,0);const a=Ou(e),o=this.outputLen;if(o%4)throw Error("_sha2: outputLen should be aligned to 32bit");const c=o/4,u=this.get();if(c>u.length)throw Error("_sha2: outputLen bigger than state");for(let e=0;e<c;e++)a.setUint32(4*e,u[e],i)}digest(){const{buffer:e,outputLen:t}=this;this.digestInto(e);const r=e.slice(0,t);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:t,buffer:r,length:n,finished:i,destroyed:s,pos:a}=this;return e.length=n,e.pos=a,e.finished=i,e.destroyed=s,n%t&&e.buffer.set(r),e}}const eh=/* @__PURE__ */new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),th=/* @__PURE__ */new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),rh=/* @__PURE__ */new Uint32Array(64);class nh extends $u{constructor(){super(64,32,8,!1),this.A=0|th[0],this.B=0|th[1],this.C=0|th[2],this.D=0|th[3],this.E=0|th[4],this.F=0|th[5],this.G=0|th[6],this.H=0|th[7]}get(){const{A:e,B:t,C:r,D:n,E:i,F:s,G:a,H:o}=this;return[e,t,r,n,i,s,a,o]}set(e,t,r,n,i,s,a,o){this.A=0|e,this.B=0|t,this.C=0|r,this.D=0|n,this.E=0|i,this.F=0|s,this.G=0|a,this.H=0|o}process(e,t){for(let r=0;r<16;r++,t+=4)rh[r]=e.getUint32(t,!1);for(let e=16;e<64;e++){const t=rh[e-15],r=rh[e-2],n=Hu(t,7)^Hu(t,18)^t>>>3,i=Hu(r,17)^Hu(r,19)^r>>>10;rh[e]=i+rh[e-7]+n+rh[e-16]|0}let{A:r,B:n,C:i,D:s,E:a,F:o,G:c,H:u}=this;for(let e=0;e<64;e++){const t=u+(Hu(a,6)^Hu(a,11)^Hu(a,25))+Ju(a,o,c)+eh[e]+rh[e]|0,h=(Hu(r,2)^Hu(r,13)^Hu(r,22))+Xu(r,n,i)|0;u=c,c=o,o=a,a=s+t|0,s=i,i=n,n=r,r=t+h|0}r=r+this.A|0,n=n+this.B|0,i=i+this.C|0,s=s+this.D|0,a=a+this.E|0,o=o+this.F|0,c=c+this.G|0,u=u+this.H|0,this.set(r,n,i,s,a,o,c,u)}roundClean(){rh.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}class ih extends nh{constructor(){super(),this.A=-1056596264,this.B=914150663,this.C=812702999,this.D=-150054599,this.E=-4191439,this.F=1750603025,this.G=1694076839,this.H=-1090891868,this.outputLen=28}}const sh=/* @__PURE__ */Zu((()=>new nh)),ah=/* @__PURE__ */Zu((()=>new ih));class oh extends Yu{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,function(e){if("function"!=typeof e||"function"!=typeof e.create)throw Error("Hash should be wrapped by utils.wrapConstructor");Ru(e.outputLen),Ru(e.blockLen)}(e);const r=ju(t);if(this.iHash=e.create(),"function"!=typeof this.iHash.update)throw Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const n=this.blockLen,i=new Uint8Array(n);i.set(r.length>n?e.create().update(r).digest():r);for(let e=0;e<i.length;e++)i[e]^=54;this.iHash.update(i),this.oHash=e.create();for(let e=0;e<i.length;e++)i[e]^=106;this.oHash.update(i),i.fill(0)}update(e){return Mu(this),this.iHash.update(e),this}digestInto(e){Mu(this),Tu(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){const e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));const{oHash:t,iHash:r,finished:n,destroyed:i,blockLen:s,outputLen:a}=this;return e.finished=n,e.destroyed=i,e.blockLen=s,e.outputLen=a,e.oHash=t._cloneInto(e.oHash),e.iHash=r._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const ch=(e,t,r)=>new oh(e,t).update(r).digest();ch.create=(e,t)=>new oh(e,t)
6
- /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */;const uh=/* @__PURE__ */BigInt(0),hh=/* @__PURE__ */BigInt(1),lh=/* @__PURE__ */BigInt(2);function yh(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&"Uint8Array"===e.constructor.name}function fh(e){if(!yh(e))throw Error("Uint8Array expected")}function ph(e,t){if("boolean"!=typeof t)throw Error(e+" boolean expected, got "+t)}const gh=/* @__PURE__ */Array.from({length:256},((e,t)=>t.toString(16).padStart(2,"0")));function dh(e){fh(e);let t="";for(let r=0;r<e.length;r++)t+=gh[e[r]];return t}function Ah(e){const t=e.toString(16);return 1&t.length?"0"+t:t}function wh(e){if("string"!=typeof e)throw Error("hex string expected, got "+typeof e);return""===e?uh:BigInt("0x"+e)}const mh={_0:48,_9:57,A:65,F:70,a:97,f:102};function bh(e){return e>=mh._0&&e<=mh._9?e-mh._0:e>=mh.A&&e<=mh.F?e-(mh.A-10):e>=mh.a&&e<=mh.f?e-(mh.a-10):void 0}function kh(e){if("string"!=typeof e)throw Error("hex string expected, got "+typeof e);const t=e.length,r=t/2;if(t%2)throw Error("hex string expected, got unpadded hex of length "+t);const n=new Uint8Array(r);for(let t=0,i=0;t<r;t++,i+=2){const r=bh(e.charCodeAt(i)),s=bh(e.charCodeAt(i+1));if(void 0===r||void 0===s){const t=e[i]+e[i+1];throw Error('hex string expected, got non-hex character "'+t+'" at index '+i)}n[t]=16*r+s}return n}function Eh(e){return wh(dh(e))}function vh(e){return fh(e),wh(dh(Uint8Array.from(e).reverse()))}function Bh(e,t){return kh(e.toString(16).padStart(2*t,"0"))}function Sh(e,t){return Bh(e,t).reverse()}function Ih(e,t,r){let n;if("string"==typeof t)try{n=kh(t)}catch(t){throw Error(e+" must be hex string or Uint8Array, cause: "+t)}else{if(!yh(t))throw Error(e+" must be hex string or Uint8Array");n=Uint8Array.from(t)}const i=n.length;if("number"==typeof r&&i!==r)throw Error(e+" of length "+r+" expected, got "+i);return n}function Kh(...e){let t=0;for(let r=0;r<e.length;r++){const n=e[r];fh(n),t+=n.length}const r=new Uint8Array(t);for(let t=0,n=0;t<e.length;t++){const i=e[t];r.set(i,n),n+=i.length}return r}const Ch=e=>"bigint"==typeof e&&uh<=e;function Uh(e,t,r){return Ch(e)&&Ch(t)&&Ch(r)&&t<=e&&e<r}function Ph(e,t,r,n){if(!Uh(t,r,n))throw Error("expected valid "+e+": "+r+" <= n < "+n+", got "+t)}function Dh(e){let t;for(t=0;e>uh;e>>=hh,t+=1);return t}const xh=e=>(lh<<BigInt(e-1))-hh,Qh=e=>new Uint8Array(e),Rh=e=>Uint8Array.from(e);function Th(e,t,r){if("number"!=typeof e||e<2)throw Error("hashLen must be a number");if("number"!=typeof t||t<2)throw Error("qByteLen must be a number");if("function"!=typeof r)throw Error("hmacFn must be a function");let n=Qh(e),i=Qh(e),s=0;const a=()=>{n.fill(1),i.fill(0),s=0},o=(...e)=>r(i,n,...e),c=(e=Qh())=>{i=o(Rh([0]),e),n=o(),0!==e.length&&(i=o(Rh([1]),e),n=o())},u=()=>{if(s++>=1e3)throw Error("drbg: tried 1000 values");let e=0;const r=[];for(;e<t;){n=o();const t=n.slice();r.push(t),e+=n.length}return Kh(...r)};return(e,t)=>{let r;for(a(),c(e);!(r=t(u()));)c();return a(),r}}const Mh={bigint:e=>"bigint"==typeof e,function:e=>"function"==typeof e,boolean:e=>"boolean"==typeof e,string:e=>"string"==typeof e,stringOrUint8Array:e=>"string"==typeof e||yh(e),isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>"function"==typeof e&&Number.isSafeInteger(e.outputLen)};function Lh(e,t,r={}){const n=(t,r,n)=>{const i=Mh[r];if("function"!=typeof i)throw Error("invalid validator function");const s=e[t];if(!(n&&void 0===s||i(s,e)))throw Error("param "+t+" is invalid. Expected "+r+", got "+s)};for(const[e,r]of Object.entries(t))n(e,r,!1);for(const[e,t]of Object.entries(r))n(e,t,!0);return e}function Nh(e){const t=new WeakMap;return(r,...n)=>{const i=t.get(r);if(void 0!==i)return i;const s=e(r,...n);return t.set(r,s),s}}var Fh=/*#__PURE__*/Object.freeze({__proto__:null,aInRange:Ph,abool:ph,abytes:fh,bitGet:function(e,t){return e>>BigInt(t)&hh},bitLen:Dh,bitMask:xh,bitSet:function(e,t,r){return e|(r?hh:uh)<<BigInt(t)},bytesToHex:dh,bytesToNumberBE:Eh,bytesToNumberLE:vh,concatBytes:Kh,createHmacDrbg:Th,ensureBytes:Ih,equalBytes:function(e,t){if(e.length!==t.length)return!1;let r=0;for(let n=0;n<e.length;n++)r|=e[n]^t[n];return 0===r},hexToBytes:kh,hexToNumber:wh,inRange:Uh,isBytes:yh,memoized:Nh,notImplemented:()=>{throw Error("not implemented")},numberToBytesBE:Bh,numberToBytesLE:Sh,numberToHexUnpadded:Ah,numberToVarBytesBE:function(e){return kh(Ah(e))},utf8ToBytes:function(e){if("string"!=typeof e)throw Error("string expected");return new Uint8Array((new TextEncoder).encode(e))},validateObject:Lh});
7
- /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Oh=BigInt(0),Hh=BigInt(1),_h=/* @__PURE__ */BigInt(2),zh=/* @__PURE__ */BigInt(3),Gh=/* @__PURE__ */BigInt(4),qh=/* @__PURE__ */BigInt(5),jh=/* @__PURE__ */BigInt(8);function Vh(e,t){const r=e%t;return r>=Oh?r:t+r}function Yh(e,t,r){if(t<Oh)throw Error("invalid exponent, negatives unsupported");if(r<=Oh)throw Error("invalid modulus");if(r===Hh)return Oh;let n=Hh;for(;t>Oh;)t&Hh&&(n=n*e%r),e=e*e%r,t>>=Hh;return n}function Zh(e,t,r){let n=e;for(;t-- >Oh;)n*=n,n%=r;return n}function Wh(e,t){if(e===Oh)throw Error("invert: expected non-zero number");if(t<=Oh)throw Error("invert: expected positive modulus, got "+t);let r=Vh(e,t),n=t,i=Oh,s=Hh;for(;r!==Oh;){const e=n%r,t=i-s*(n/r);n=r,r=e,i=s,s=t}if(n!==Hh)throw Error("invert: does not exist");return Vh(i,t)}function Jh(e){if(e%Gh===zh){const t=(e+Hh)/Gh;return function(e,r){const n=e.pow(r,t);if(!e.eql(e.sqr(n),r))throw Error("Cannot find square root");return n}}if(e%jh===qh){const t=(e-qh)/jh;return function(e,r){const n=e.mul(r,_h),i=e.pow(n,t),s=e.mul(r,i),a=e.mul(e.mul(s,_h),i),o=e.mul(s,e.sub(a,e.ONE));if(!e.eql(e.sqr(o),r))throw Error("Cannot find square root");return o}}return function(e){const t=(e-Hh)/_h;let r,n,i;for(r=e-Hh,n=0;r%_h===Oh;r/=_h,n++);for(i=_h;i<e&&Yh(i,t,e)!==e-Hh;i++)if(i>1e3)throw Error("Cannot find square root: likely non-prime P");if(1===n){const t=(e+Hh)/Gh;return function(e,r){const n=e.pow(r,t);if(!e.eql(e.sqr(n),r))throw Error("Cannot find square root");return n}}const s=(r+Hh)/_h;return function(e,a){if(e.pow(a,t)===e.neg(e.ONE))throw Error("Cannot find square root");let o=n,c=e.pow(e.mul(e.ONE,i),r),u=e.pow(a,s),h=e.pow(a,r);for(;!e.eql(h,e.ONE);){if(e.eql(h,e.ZERO))return e.ZERO;let t=1;for(let r=e.sqr(h);t<o&&!e.eql(r,e.ONE);t++)r=e.sqr(r);const r=e.pow(c,Hh<<BigInt(o-t-1));c=e.sqr(r),u=e.mul(u,r),h=e.mul(h,c),o=t}return u}}(e)}const Xh=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function $h(e,t){const r=void 0!==t?t:e.toString(2).length;return{nBitLength:r,nByteLength:Math.ceil(r/8)}}function el(e,t,r=!1,n={}){if(e<=Oh)throw Error("invalid field: expected ORDER > 0, got "+e);const{nBitLength:i,nByteLength:s}=$h(e,t);if(s>2048)throw Error("invalid field: expected ORDER of <= 2048 bytes");let a;const o=Object.freeze({ORDER:e,BITS:i,BYTES:s,MASK:xh(i),ZERO:Oh,ONE:Hh,create:t=>Vh(t,e),isValid:t=>{if("bigint"!=typeof t)throw Error("invalid field element: expected bigint, got "+typeof t);return Oh<=t&&t<e},is0:e=>e===Oh,isOdd:e=>(e&Hh)===Hh,neg:t=>Vh(-t,e),eql:(e,t)=>e===t,sqr:t=>Vh(t*t,e),add:(t,r)=>Vh(t+r,e),sub:(t,r)=>Vh(t-r,e),mul:(t,r)=>Vh(t*r,e),pow:(e,t)=>function(e,t,r){if(r<Oh)throw Error("invalid exponent, negatives unsupported");if(r===Oh)return e.ONE;if(r===Hh)return t;let n=e.ONE,i=t;for(;r>Oh;)r&Hh&&(n=e.mul(n,i)),i=e.sqr(i),r>>=Hh;return n}(o,e,t),div:(t,r)=>Vh(t*Wh(r,e),e),sqrN:e=>e*e,addN:(e,t)=>e+t,subN:(e,t)=>e-t,mulN:(e,t)=>e*t,inv:t=>Wh(t,e),sqrt:n.sqrt||(t=>(a||(a=Jh(e)),a(o,t))),invertBatch:e=>function(e,t){const r=Array(t.length),n=t.reduce(((t,n,i)=>e.is0(n)?t:(r[i]=t,e.mul(t,n))),e.ONE),i=e.inv(n);return t.reduceRight(((t,n,i)=>e.is0(n)?t:(r[i]=e.mul(t,r[i]),e.mul(t,n))),i),r}(o,e),cmov:(e,t,r)=>r?t:e,toBytes:e=>r?Sh(e,s):Bh(e,s),fromBytes:e=>{if(e.length!==s)throw Error("Field.fromBytes: expected "+s+" bytes, got "+e.length);return r?vh(e):Eh(e)}});return Object.freeze(o)}function tl(e){if("bigint"!=typeof e)throw Error("field order must be bigint");const t=e.toString(2).length;return Math.ceil(t/8)}function rl(e){const t=tl(e);return t+Math.ceil(t/2)}
1
+ /*! OpenPGP.js v6.2.1 - 2025-08-28 - this is LGPL licensed code, see LICENSE/our website https://openpgpjs.org/ for more information. */
2
+ const e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function t(e,t){return t.forEach((function(t){t&&"string"!=typeof t&&!Array.isArray(t)&&Object.keys(t).forEach((function(r){if("default"!==r&&!(r in e)){var n=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(e,r,n.get?n:{enumerable:!0,get:function(){return t[r]}})}}))})),Object.freeze(e)}const r=Symbol("doneWritingPromise"),n=Symbol("doneWritingResolve"),i=Symbol("doneWritingReject"),s=Symbol("readingIndex");class ArrayStream extends Array{constructor(){super(),Object.setPrototypeOf(this,ArrayStream.prototype),this[r]=new Promise(((e,t)=>{this[n]=e,this[i]=t})),this[r].catch((()=>{}))}}function a(e){return e&&e.getReader&&Array.isArray(e)}function o(e){if(!a(e)){const t=e.getWriter(),r=t.releaseLock;return t.releaseLock=()=>{t.closed.catch((function(){})),r.call(t)},t}this.stream=e}function c(t){if(a(t))return"array";if(e.ReadableStream&&e.ReadableStream.prototype.isPrototypeOf(t))return"web";if(t&&!(e.ReadableStream&&t instanceof e.ReadableStream)&&"function"==typeof t._read&&"object"==typeof t._readableState)throw Error("Native Node streams are no longer supported: please manually convert the stream to a WebStream, using e.g. `stream.Readable.toWeb`");return!(!t||!t.getReader)&&"web-like"}function u(e){return Uint8Array.prototype.isPrototypeOf(e)}function h(e){if(1===e.length)return e[0];let t=0;for(let r=0;r<e.length;r++){if(!u(e[r]))throw Error("concatUint8Array: Data must be in the form of a Uint8Array");t+=e[r].length}const r=new Uint8Array(t);let n=0;return e.forEach((function(e){r.set(e,n),n+=e.length})),r}ArrayStream.prototype.getReader=function(){return void 0===this[s]&&(this[s]=0),{read:async()=>(await this[r],this[s]===this.length?{value:void 0,done:!0}:{value:this[this[s]++],done:!1})}},ArrayStream.prototype.readToEnd=async function(e){await this[r];const t=e(this.slice(this[s]));return this.length=0,t},ArrayStream.prototype.clone=function(){const e=new ArrayStream;return e[r]=this[r].then((()=>{e.push(...this)})),e},o.prototype.write=async function(e){this.stream.push(e)},o.prototype.close=async function(){this.stream[n]()},o.prototype.abort=async function(e){return this.stream[i](e),e},o.prototype.releaseLock=function(){},"object"==typeof e.process&&e.process.versions;const l=new WeakSet,f=Symbol("externalBuffer");function y(e){if(this.stream=e,e[f]&&(this[f]=e[f].slice()),a(e)){const t=e.getReader();return this._read=t.read.bind(t),this._releaseLock=()=>{},void(this._cancel=()=>{})}if(c(e)){const t=e.getReader();return this._read=t.read.bind(t),this._releaseLock=()=>{t.closed.catch((function(){})),t.releaseLock()},void(this._cancel=t.cancel.bind(t))}let t=!1;this._read=async()=>t||l.has(e)?{value:void 0,done:!0}:(t=!0,{value:e,done:!1}),this._releaseLock=()=>{if(t)try{l.add(e)}catch(e){}}}function p(e){return c(e)?e:new ReadableStream({start(t){t.enqueue(e),t.close()}})}function d(e){if(c(e))return e;const t=new ArrayStream;return(async()=>{const r=D(t);await r.write(e),await r.close()})(),t}function g(e){return e.some((e=>c(e)&&!a(e)))?function(e){e=e.map(p);const t=m((async function(e){await Promise.all(n.map((t=>C(t,e))))}));let r=Promise.resolve();const n=e.map(((n,i)=>k(n,((n,s)=>(r=r.then((()=>A(n,t.writable,{preventClose:i!==e.length-1}))),r)))));return t.readable}(e):e.some((e=>a(e)))?function(e){const t=new ArrayStream;let r=Promise.resolve();return e.forEach(((n,i)=>(r=r.then((()=>A(n,t,{preventClose:i!==e.length-1}))),r))),t}(e):"string"==typeof e[0]?e.join(""):h(e)}async function A(e,t,{preventClose:r=!1,preventAbort:n=!1,preventCancel:i=!1}={}){if(c(e)&&!a(e)){e=p(e);try{if(e[f]){const r=D(t);for(let t=0;t<e[f].length;t++)await r.ready,await r.write(e[f][t]);r.releaseLock()}await e.pipeTo(t,{preventClose:r,preventAbort:n,preventCancel:i})}catch(e){}return}const s=P(e=d(e)),o=D(t);try{for(;;){await o.ready;const{done:e,value:t}=await s.read();if(e){r||await o.close();break}await o.write(t)}}catch(e){n||await o.abort(e)}finally{s.releaseLock(),o.releaseLock()}}function w(e,t){const r=new TransformStream(t);return A(e,r.writable),r.readable}function m(e){let t,r,n,i=!1,s=!1;return{readable:new ReadableStream({start(e){n=e},pull(){t?t():i=!0},async cancel(t){s=!0,e&&await e(t),r&&r(t)}},{highWaterMark:0}),writable:new WritableStream({write:async function(e){if(s)throw Error("Stream is cancelled");n.enqueue(e),i?i=!1:(await new Promise(((e,n)=>{t=e,r=n})),t=null,r=null)},close:n.close.bind(n),abort:n.error.bind(n)})}}function b(e,t=()=>{},r=()=>{}){if(a(e)){const n=new ArrayStream;return(async()=>{const i=D(n);try{const n=await B(e),s=t(n),a=r();let o;o=void 0!==s&&void 0!==a?g([s,a]):void 0!==s?s:a,await i.write(o),await i.close()}catch(e){await i.abort(e)}})(),n}if(c(e))return w(e,{async transform(e,r){try{const n=await t(e);void 0!==n&&r.enqueue(n)}catch(e){r.error(e)}},async flush(e){try{const t=await r();void 0!==t&&e.enqueue(t)}catch(t){e.error(t)}}});const n=t(e),i=r();return void 0!==n&&void 0!==i?g([n,i]):void 0!==n?n:i}function k(e,t){if(c(e)&&!a(e)){let r;const n=new TransformStream({start(e){r=e}}),i=A(e,n.writable),s=m((async function(e){r.error(e),await i,await new Promise(setTimeout)}));return t(n.readable,s.writable),s.readable}e=d(e);const r=new ArrayStream;return t(e,r),r}function E(e,t){let r;const n=k(e,((e,i)=>{const s=P(e);s.remainder=()=>(s.releaseLock(),A(e,i),n),r=t(s)}));return r}function v(e){if(a(e))return e.clone();if(c(e)){const t=function(e){if(a(e))throw Error("ArrayStream cannot be tee()d, use clone() instead");if(c(e)){const t=p(e).tee();return t[0][f]=t[1][f]=e[f],t}return[I(e),I(e)]}(e);return S(e,t[0]),t[1]}return I(e)}function K(e){return a(e)?v(e):c(e)?new ReadableStream({start(t){const r=k(e,(async(e,r)=>{const n=P(e),i=D(r);try{for(;;){await i.ready;const{done:e,value:r}=await n.read();if(e){try{t.close()}catch(e){}return void await i.close()}try{t.enqueue(r)}catch(e){}await i.write(r)}}catch(e){t.error(e),await i.abort(e)}}));S(e,r)}}):I(e)}function S(e,t){Object.entries(Object.getOwnPropertyDescriptors(e.constructor.prototype)).forEach((([r,n])=>{"constructor"!==r&&(n.value?n.value=n.value.bind(t):n.get=n.get.bind(t),Object.defineProperty(e,r,n))}))}function I(e,t=0,r=1/0){if(a(e))throw Error("Not implemented");if(c(e)){if(t>=0&&r>=0){let n=0;return w(e,{transform(e,i){n<r?(n+e.length>=t&&i.enqueue(I(e,Math.max(t-n,0),r-n)),n+=e.length):i.terminate()}})}if(t<0&&(r<0||r===1/0)){let n=[];return b(e,(e=>{e.length>=-t?n=[e]:n.push(e)}),(()=>I(g(n),t,r)))}if(0===t&&r<0){let n;return b(e,(e=>{const i=n?g([n,e]):e;if(i.length>=-r)return n=I(i,r),I(i,t,r);n=i}))}return console.warn(`stream.slice(input, ${t}, ${r}) not implemented efficiently.`),U((async()=>I(await B(e),t,r)))}return e[f]&&(e=g(e[f].concat([e]))),u(e)?e.subarray(t,r===1/0?e.length:r):e.slice(t,r)}async function B(e,t=g){return a(e)?e.readToEnd(t):c(e)?P(e).readToEnd(t):e}async function C(e,t){if(c(e)){if(e.cancel){const r=await e.cancel(t);return await new Promise(setTimeout),r}if(e.destroy)return e.destroy(t),await new Promise(setTimeout),t}}function U(e){const t=new ArrayStream;return(async()=>{const r=D(t);try{await r.write(await e()),await r.close()}catch(e){await r.abort(e)}})(),t}function P(e){return new y(e)}function D(e){return new o(e)}y.prototype.read=async function(){if(this[f]&&this[f].length){return{done:!1,value:this[f].shift()}}return this._read()},y.prototype.releaseLock=function(){this[f]&&(this.stream[f]=this[f]),this._releaseLock()},y.prototype.cancel=function(e){return this._cancel(e)},y.prototype.readLine=async function(){let e,t=[];for(;!e;){let{done:r,value:n}=await this.read();if(n+="",r)return t.length?g(t):void 0;const i=n.indexOf("\n")+1;i&&(e=g(t.concat(n.substr(0,i))),t=[]),i!==n.length&&t.push(n.substr(i))}return this.unshift(...t),e},y.prototype.readByte=async function(){const{done:e,value:t}=await this.read();if(e)return;const r=t[0];return this.unshift(I(t,1)),r},y.prototype.readBytes=async function(e){const t=[];let r=0;for(;;){const{done:n,value:i}=await this.read();if(n)return t.length?g(t):void 0;if(t.push(i),r+=i.length,r>=e){const r=g(t);return this.unshift(I(r,e)),I(r,0,e)}}},y.prototype.peekBytes=async function(e){const t=await this.readBytes(e);return this.unshift(t),t},y.prototype.unshift=function(...e){this[f]||(this[f]=[]),1===e.length&&u(e[0])&&this[f].length&&e[0].length&&this[f][0].byteOffset>=e[0].length?this[f][0]=new Uint8Array(this[f][0].buffer,this[f][0].byteOffset-e[0].length,this[f][0].byteLength+e[0].length):this[f].unshift(...e.filter((e=>e&&e.length)))},y.prototype.readToEnd=async function(e=g){const t=[];for(;;){const{done:e,value:r}=await this.read();if(e)break;t.push(r)}return e(t)};const x=Symbol("byValue");var Q={curve:{nistP256:"nistP256",p256:"nistP256",nistP384:"nistP384",p384:"nistP384",nistP521:"nistP521",p521:"nistP521",secp256k1:"secp256k1",ed25519Legacy:"ed25519Legacy",ed25519:"ed25519Legacy",curve25519Legacy:"curve25519Legacy",curve25519:"curve25519Legacy",brainpoolP256r1:"brainpoolP256r1",brainpoolP384r1:"brainpoolP384r1",brainpoolP512r1:"brainpoolP512r1"},kdfFlags:{replace_fingerprint:1,replace_kdf_params:2},s2k:{simple:0,salted:1,iterated:3,argon2:4,gnu:101},publicKey:{rsaEncryptSign:1,rsaEncrypt:2,rsaSign:3,elgamal:16,dsa:17,ecdh:18,ecdsa:19,eddsaLegacy:22,aedh:23,aedsa:24,x25519:25,x448:26,ed25519:27,ed448:28,pqc_mldsa_ed25519:30,pqc_mlkem_x25519:35,aead:100,hmac:101},symmetric:{idea:1,tripledes:2,cast5:3,blowfish:4,aes128:7,aes192:8,aes256:9,twofish:10},compression:{uncompressed:0,zip:1,zlib:2,bzip2:3},hash:{md5:1,sha1:2,ripemd:3,sha256:8,sha384:9,sha512:10,sha224:11,sha3_256:12,sha3_512:14},webHash:{"SHA-1":2,"SHA-256":8,"SHA-384":9,"SHA-512":10},aead:{eax:1,ocb:2,gcm:3,experimentalGCM:100},packet:{publicKeyEncryptedSessionKey:1,signature:2,symEncryptedSessionKey:3,onePassSignature:4,secretKey:5,publicKey:6,secretSubkey:7,compressedData:8,symmetricallyEncryptedData:9,marker:10,literalData:11,trust:12,userID:13,publicSubkey:14,userAttribute:17,symEncryptedIntegrityProtectedData:18,modificationDetectionCode:19,aeadEncryptedData:20,padding:21},literal:{binary:98,text:116,utf8:117,mime:109},signature:{binary:0,text:1,standalone:2,certGeneric:16,certPersona:17,certCasual:18,certPositive:19,certRevocation:48,subkeyBinding:24,keyBinding:25,key:31,keyRevocation:32,subkeyRevocation:40,timestamp:64,thirdParty:80},signatureSubpacket:{signatureCreationTime:2,signatureExpirationTime:3,exportableCertification:4,trustSignature:5,regularExpression:6,revocable:7,keyExpirationTime:9,placeholderBackwardsCompatibility:10,preferredSymmetricAlgorithms:11,revocationKey:12,issuerKeyID:16,notationData:20,preferredHashAlgorithms:21,preferredCompressionAlgorithms:22,keyServerPreferences:23,preferredKeyServer:24,primaryUserID:25,policyURI:26,keyFlags:27,signersUserID:28,reasonForRevocation:29,features:30,signatureTarget:31,embeddedSignature:32,issuerFingerprint:33,preferredAEADAlgorithms:34,preferredCipherSuites:39},keyFlags:{certifyKeys:1,signData:2,encryptCommunication:4,encryptStorage:8,splitPrivateKey:16,authentication:32,forwardedCommunication:64,sharedPrivateKey:128},armor:{multipartSection:0,multipartLast:1,signed:2,message:3,publicKey:4,privateKey:5,signature:6},reasonForRevocation:{noReason:0,keySuperseded:1,keyCompromised:2,keyRetired:3,userIDInvalid:32},features:{modificationDetection:1,aead:2,v5Keys:4,seipdv2:8},write:function(e,t){if("number"==typeof t&&(t=this.read(e,t)),void 0!==e[t])return e[t];throw Error("Invalid enum value.")},read:function(e,t){if(e[x]||(e[x]=[],Object.entries(e).forEach((([t,r])=>{e[x][r]=t}))),void 0!==e[x][t])return e[x][t];throw Error("Invalid enum value.")}},R={preferredHashAlgorithm:Q.hash.sha512,preferredSymmetricAlgorithm:Q.symmetric.aes256,preferredCompressionAlgorithm:Q.compression.uncompressed,aeadProtect:!1,ignoreSEIPDv2FeatureFlag:!1,parseAEADEncryptedV4KeysAsLegacy:!1,preferredAEADAlgorithm:Q.aead.gcm,aeadChunkSizeByte:12,v6Keys:!1,enableParsingV5Entities:!1,s2kType:Q.s2k.iterated,s2kIterationCountByte:224,s2kArgon2Params:{passes:3,parallelism:4,memoryExponent:16},allowUnauthenticatedMessages:!1,allowUnauthenticatedStream:!1,allowForwardedMessages:!1,minRSABits:2047,passwordCollisionCheck:!1,allowInsecureDecryptionWithSigningKeys:!1,allowInsecureVerificationWithReformattedKeys:!1,allowMissingKeyFlags:!1,constantTimePKCS1Decryption:!1,constantTimePKCS1DecryptionSupportedSymmetricAlgorithms:new Set([Q.symmetric.aes128,Q.symmetric.aes192,Q.symmetric.aes256]),ignoreUnsupportedPackets:!0,ignoreMalformedPackets:!1,enforceGrammar:!0,additionalAllowedPackets:[],showVersion:!1,showComment:!1,versionString:"OpenPGP.js 6.2.1",commentString:"https://openpgpjs.org",maxUserIDLength:5120,knownNotations:[],nonDeterministicSignaturesViaNotation:!0,useEllipticFallback:!0,rejectHashAlgorithms:new Set([Q.hash.md5,Q.hash.ripemd]),rejectMessageHashAlgorithms:new Set([Q.hash.md5,Q.hash.ripemd,Q.hash.sha1]),rejectPublicKeyAlgorithms:new Set([Q.publicKey.elgamal,Q.publicKey.dsa]),rejectCurves:new Set([Q.curve.secp256k1])};const T=(()=>{try{return"development"===process.env.NODE_ENV}catch(e){}return!1})(),M={isString:function(e){return"string"==typeof e||e instanceof String},nodeRequire:()=>{},isArray:function(e){return e instanceof Array},isUint8Array:u,isStream:c,getNobleCurve:async(e,t)=>{if(!R.useEllipticFallback)throw Error("This curve is only supported in the full build of OpenPGP.js");const{nobleCurves:r}=await Promise.resolve().then((function(){return sf}));switch(e){case Q.publicKey.ecdh:case Q.publicKey.ecdsa:{const e=r.get(t);if(!e)throw Error("Unsupported curve");return e}case Q.publicKey.x448:return r.get("x448");case Q.publicKey.ed448:return r.get("ed448");default:throw Error("Unsupported curve")}},readNumber:function(e){let t=0;for(let r=0;r<e.length;r++)t+=256**r*e[e.length-1-r];return t},writeNumber:function(e,t){const r=new Uint8Array(t);for(let n=0;n<t;n++)r[n]=e>>8*(t-n-1)&255;return r},readDate:function(e){const t=M.readNumber(e);return new Date(1e3*t)},writeDate:function(e){const t=Math.floor(e.getTime()/1e3);return M.writeNumber(t,4)},normalizeDate:function(e=Date.now()){return null===e||e===1/0?e:new Date(1e3*Math.floor(+e/1e3))},readMPI:function(e){const t=(e[0]<<8|e[1])+7>>>3;return M.readExactSubarray(e,2,2+t)},readExactSubarray:function(e,t,r){if(e.length<r-t)throw Error("Input array too short");return e.subarray(t,r)},leftPad(e,t){if(e.length>t)throw Error("Input array too long");const r=new Uint8Array(t),n=t-e.length;return r.set(e,n),r},uint8ArrayToMPI:function(e){const t=M.uint8ArrayBitLength(e);if(0===t)throw Error("Zero MPI");const r=e.subarray(e.length-Math.ceil(t/8)),n=new Uint8Array([(65280&t)>>8,255&t]);return M.concatUint8Array([n,r])},uint8ArrayBitLength:function(e){let t;for(t=0;t<e.length&&0===e[t];t++);if(t===e.length)return 0;const r=e.subarray(t);return 8*(r.length-1)+M.nbits(r[0])},hexToUint8Array:function(e){const t=new Uint8Array(e.length>>1);for(let r=0;r<e.length>>1;r++)t[r]=parseInt(e.substr(r<<1,2),16);return t},uint8ArrayToHex:function(e){const t="0123456789abcdef";let r="";return e.forEach((e=>{r+=t[e>>4]+t[15&e]})),r},stringToUint8Array:function(e){return b(e,(e=>{if(!M.isString(e))throw Error("stringToUint8Array: Data must be in the form of a string");const t=new Uint8Array(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}))},uint8ArrayToString:function(e){const t=[],r=16384,n=(e=new Uint8Array(e)).length;for(let i=0;i<n;i+=r)t.push(String.fromCharCode.apply(String,e.subarray(i,i+r<n?i+r:n)));return t.join("")},encodeUTF8:function(e){const t=new TextEncoder("utf-8");function r(e,r=!1){return t.encode(e,{stream:!r})}return b(e,r,(()=>r("",!0)))},decodeUTF8:function(e){const t=new TextDecoder("utf-8");function r(e,r=!1){return t.decode(e,{stream:!r})}return b(e,r,(()=>r(new Uint8Array,!0)))},concat:g,concatUint8Array:h,equalsUint8Array:function(e,t){if(!M.isUint8Array(e)||!M.isUint8Array(t))throw Error("Data must be in the form of a Uint8Array");if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0},findLastIndex:function(e,t){for(let r=e.length;r>=0;r--)if(t(e[r],r,e))return r;return-1},writeChecksum:function(e){let t=0;for(let r=0;r<e.length;r++)t=t+e[r]&65535;return M.writeNumber(t,2)},printDebug:function(e){T&&console.log("[OpenPGP.js debug]",e)},printDebugError:function(e){T&&console.error("[OpenPGP.js debug]",e)},nbits:function(e){let t=1,r=e>>>16;return 0!==r&&(e=r,t+=16),r=e>>8,0!==r&&(e=r,t+=8),r=e>>4,0!==r&&(e=r,t+=4),r=e>>2,0!==r&&(e=r,t+=2),r=e>>1,0!==r&&(e=r,t+=1),t},double:function(e){const t=new Uint8Array(e.length),r=e.length-1;for(let n=0;n<r;n++)t[n]=e[n]<<1^e[n+1]>>7;return t[r]=e[r]<<1^135*(e[0]>>7),t},shiftRight:function(e,t){if(t)for(let r=e.length-1;r>=0;r--)e[r]>>=t,r>0&&(e[r]|=e[r-1]<<8-t);return e},getWebCrypto:function(){const t=void 0!==e&&e.crypto&&e.crypto.subtle||this.getNodeCrypto()?.webcrypto.subtle;if(!t)throw Error("The WebCrypto API is not available");return t},getNodeCrypto:function(){return this.nodeRequire("crypto")},getNodeZlib:function(){return this.nodeRequire("zlib")},getNodeBuffer:function(){return(this.nodeRequire("buffer")||{}).Buffer},getHardwareConcurrency:function(){if("undefined"!=typeof navigator)return navigator.hardwareConcurrency||1;return this.nodeRequire("os").cpus().length},isEmailAddress:function(e){if(!M.isString(e))return!1;return/^[^\p{C}\p{Z}@<>\\]+@[^\p{C}\p{Z}@<>\\]+[^\p{C}\p{Z}\p{P}]$/u.test(e)},canonicalizeEOL:function(e){let t=!1;return b(e,(e=>{let r;t&&(e=M.concatUint8Array([new Uint8Array([13]),e])),13===e[e.length-1]?(t=!0,e=e.subarray(0,-1)):t=!1;const n=[];for(let t=0;r=e.indexOf(10,t)+1,r;t=r)13!==e[r-2]&&n.push(r);if(!n.length)return e;const i=new Uint8Array(e.length+n.length);let s=0;for(let t=0;t<n.length;t++){const r=e.subarray(n[t-1]||0,n[t]);i.set(r,s),s+=r.length,i[s-1]=13,i[s]=10,s++}return i.set(e.subarray(n[n.length-1]||0),s),i}),(()=>t?new Uint8Array([13]):void 0))},nativeEOL:function(e){let t=!1;return b(e,(e=>{let r;13===(e=t&&10!==e[0]?M.concatUint8Array([new Uint8Array([13]),e]):new Uint8Array(e))[e.length-1]?(t=!0,e=e.subarray(0,-1)):t=!1;let n=0;for(let t=0;t!==e.length;t=r){r=e.indexOf(13,t)+1,r||(r=e.length);const i=r-(10===e[r]?1:0);t&&e.copyWithin(n,t,i),n+=i-t}return e.subarray(0,n)}),(()=>t?new Uint8Array([13]):void 0))},removeTrailingSpaces:function(e){return e.split("\n").map((e=>{let t=e.length-1;for(;t>=0&&(" "===e[t]||"\t"===e[t]||"\r"===e[t]);t--);return e.substr(0,t+1)})).join("\n")},wrapError:function(e,t){if(!t)return e instanceof Error?e:Error(e);if(e instanceof Error){try{e.message+=": "+t.message,e.cause=t}catch(e){}return e}return Error(e+": "+t.message,{cause:t})},constructAllowedPackets:function(e){const t={};return e.forEach((e=>{if(!e.tag)throw Error("Invalid input: expected a packet class");t[e.tag]=e})),t},anyPromise:function(e){return new Promise((async(t,r)=>{let n;await Promise.all(e.map((async e=>{try{t(await e)}catch(e){n=e}}))),r(n)}))},selectUint8Array:function(e,t,r){const n=Math.max(t.length,r.length),i=new Uint8Array(n);let s=0;for(let n=0;n<i.length;n++)i[n]=t[n]&256-e|r[n]&255+e,s+=e&n<t.length|1-e&n<r.length;return i.subarray(0,s)},selectUint8:function(e,t,r){return t&256-e|r&255+e},isAES:function(e){return e===Q.symmetric.aes128||e===Q.symmetric.aes192||e===Q.symmetric.aes256}},L=M.getNodeBuffer();let F,O;function N(e){let t=new Uint8Array;return b(e,(e=>{t=M.concatUint8Array([t,e]);const r=[],n=Math.floor(t.length/45),i=45*n,s=F(t.subarray(0,i));for(let e=0;e<n;e++)r.push(s.substr(60*e,60)),r.push("\n");return t=t.subarray(i),r.join("")}),(()=>t.length?F(t)+"\n":""))}function _(e){let t="";return b(e,(e=>{t+=e;let r=0;const n=[" ","\t","\r","\n"];for(let e=0;e<n.length;e++){const i=n[e];for(let e=t.indexOf(i);-1!==e;e=t.indexOf(i,e+1))r++}let i=t.length;for(;i>0&&(i-r)%4!=0;i--)n.includes(t[i])&&r--;const s=O(t.substr(0,i));return t=t.substr(i),s}),(()=>O(t)))}function H(e){return _(e.replace(/-/g,"+").replace(/_/g,"/"))}function z(e,t){let r=N(e).replace(/[\r\n]/g,"");return r=r.replace(/[+]/g,"-").replace(/[/]/g,"_").replace(/[=]/g,""),r}function G(e){const t=e.match(/^-----BEGIN PGP (MESSAGE, PART \d+\/\d+|MESSAGE, PART \d+|SIGNED MESSAGE|MESSAGE|PUBLIC KEY BLOCK|PRIVATE KEY BLOCK|SIGNATURE)-----$/m);if(!t)throw Error("Unknown ASCII armor type");return/MESSAGE, PART \d+\/\d+/.test(t[1])?Q.armor.multipartSection:/MESSAGE, PART \d+/.test(t[1])?Q.armor.multipartLast:/SIGNED MESSAGE/.test(t[1])?Q.armor.signed:/MESSAGE/.test(t[1])?Q.armor.message:/PUBLIC KEY BLOCK/.test(t[1])?Q.armor.publicKey:/PRIVATE KEY BLOCK/.test(t[1])?Q.armor.privateKey:/SIGNATURE/.test(t[1])?Q.armor.signature:void 0}function q(e,t){let r="";return t.showVersion&&(r+="Version: "+t.versionString+"\n"),t.showComment&&(r+="Comment: "+t.commentString+"\n"),e&&(r+="Comment: "+e+"\n"),r+="\n",r}function j(e){const t=function(e){let t=13501623;return b(e,(e=>{const r=Y?Math.floor(e.length/4):0,n=new Uint32Array(e.buffer,e.byteOffset,r);for(let e=0;e<r;e++)t^=n[e],t=V[0][t>>24&255]^V[1][t>>16&255]^V[2][t>>8&255]^V[3][255&t];for(let n=4*r;n<e.length;n++)t=t>>8^V[0][255&t^e[n]]}),(()=>new Uint8Array([t,t>>8,t>>16])))}(e);return N(t)}L?(F=e=>L.from(e).toString("base64"),O=e=>{const t=L.from(e,"base64");return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}):(F=e=>btoa(M.uint8ArrayToString(e)),O=e=>M.stringToUint8Array(atob(e)));const V=[Array(255),Array(255),Array(255),Array(255)];for(let e=0;e<=255;e++){let t=e<<16;for(let e=0;e<8;e++)t=t<<1^(8388608&t?8801531:0);V[0][e]=(16711680&t)>>16|65280&t|(255&t)<<16}for(let e=0;e<=255;e++)V[1][e]=V[0][e]>>8^V[0][255&V[0][e]];for(let e=0;e<=255;e++)V[2][e]=V[1][e]>>8^V[0][255&V[1][e]];for(let e=0;e<=255;e++)V[3][e]=V[2][e]>>8^V[0][255&V[2][e]];const Y=function(){const e=new ArrayBuffer(2);return new DataView(e).setInt16(0,255,!0),255===new Int16Array(e)[0]}();function Z(e){for(let t=0;t<e.length;t++)/^([^\s:]|[^\s:][^:]*[^\s:]): .+$/.test(e[t])||M.printDebugError(Error("Improperly formatted armor header: "+e[t])),/^(Version|Comment|MessageID|Hash|Charset): .+$/.test(e[t])||M.printDebugError(Error("Unknown header: "+e[t]))}function J(e){let t=e;const r=e.lastIndexOf("=");return r>=0&&r!==e.length-1&&(t=e.slice(0,r)),t}function X(e){return new Promise((async(t,r)=>{try{const n=/^-----[^-]+-----$/m,i=/^[ \f\r\t\u00a0\u2000-\u200a\u202f\u205f\u3000]*$/;let s;const a=[];let o,c,u=a,h=[];const l=_(k(e,(async(e,f)=>{const y=P(e);try{for(;;){let e=await y.readLine();if(void 0===e)throw Error("Misformed armored text");if(e=M.removeTrailingSpaces(e.replace(/[\r\n]/g,"")),s)if(o)c||s!==Q.armor.signed||(n.test(e)?(h=h.join("\r\n"),c=!0,Z(u),u=[],o=!1):h.push(e.replace(/^- /,"")));else if(n.test(e)&&r(Error("Mandatory blank line missing between armor headers and armor data")),i.test(e)){if(Z(u),o=!0,c||s!==Q.armor.signed){t({text:h,data:l,headers:a,type:s});break}}else u.push(e);else n.test(e)&&(s=G(e))}}catch(e){return void r(e)}const p=D(f);try{for(;;){await p.ready;const{done:e,value:t}=await y.read();if(e)throw Error("Misformed armored text");const r=t+"";if(-1!==r.indexOf("=")||-1!==r.indexOf("-")){let e=await y.readToEnd();e.length||(e=""),e=r+e,e=M.removeTrailingSpaces(e.replace(/\r/g,""));const t=e.split(n);if(1===t.length)throw Error("Misformed armored text");const i=J(t[0].slice(0,-1));await p.write(i);break}await p.write(r)}await p.ready,await p.close()}catch(e){await p.abort(e)}})))}catch(e){r(e)}})).then((async e=>(a(e.data)&&(e.data=await B(e.data)),e)))}function W(e,t,r,n,i,s=!1,a=R){let o,c;e===Q.armor.signed&&(o=t.text,c=t.hash,t=t.data);const u=s&&K(t),h=[];switch(e){case Q.armor.multipartSection:h.push("-----BEGIN PGP MESSAGE, PART "+r+"/"+n+"-----\n"),h.push(q(i,a)),h.push(N(t)),u&&h.push("=",j(u)),h.push("-----END PGP MESSAGE, PART "+r+"/"+n+"-----\n");break;case Q.armor.multipartLast:h.push("-----BEGIN PGP MESSAGE, PART "+r+"-----\n"),h.push(q(i,a)),h.push(N(t)),u&&h.push("=",j(u)),h.push("-----END PGP MESSAGE, PART "+r+"-----\n");break;case Q.armor.signed:h.push("-----BEGIN PGP SIGNED MESSAGE-----\n"),h.push(c?`Hash: ${c}\n\n`:"\n"),h.push(o.replace(/^-/gm,"- -")),h.push("\n-----BEGIN PGP SIGNATURE-----\n"),h.push(q(i,a)),h.push(N(t)),u&&h.push("=",j(u)),h.push("-----END PGP SIGNATURE-----\n");break;case Q.armor.message:h.push("-----BEGIN PGP MESSAGE-----\n"),h.push(q(i,a)),h.push(N(t)),u&&h.push("=",j(u)),h.push("-----END PGP MESSAGE-----\n");break;case Q.armor.publicKey:h.push("-----BEGIN PGP PUBLIC KEY BLOCK-----\n"),h.push(q(i,a)),h.push(N(t)),u&&h.push("=",j(u)),h.push("-----END PGP PUBLIC KEY BLOCK-----\n");break;case Q.armor.privateKey:h.push("-----BEGIN PGP PRIVATE KEY BLOCK-----\n"),h.push(q(i,a)),h.push(N(t)),u&&h.push("=",j(u)),h.push("-----END PGP PRIVATE KEY BLOCK-----\n");break;case Q.armor.signature:h.push("-----BEGIN PGP SIGNATURE-----\n"),h.push(q(i,a)),h.push(N(t)),u&&h.push("=",j(u)),h.push("-----END PGP SIGNATURE-----\n")}return M.concat(h)}const $=BigInt(0),ee=BigInt(1);function te(e){const t="0123456789ABCDEF";let r="";return e.forEach((e=>{r+=t[e>>4]+t[15&e]})),BigInt("0x0"+r)}function re(e,t){const r=e%t;return r<$?r+t:r}function ne(e,t,r){if(r===$)throw Error("Modulo cannot be zero");if(r===ee)return BigInt(0);if(t<$)throw Error("Unsopported negative exponent");let n=t,i=e;i%=r;let s=BigInt(1);for(;n>$;){const e=n&ee;n>>=ee;s=e?s*i%r:s,i=i*i%r}return s}function ie(e){return e>=$?e:-e}function se(e,t){const{gcd:r,x:n}=function(e,t){let r=BigInt(0),n=BigInt(1),i=BigInt(1),s=BigInt(0),a=ie(e),o=ie(t);const c=e<$,u=t<$;for(;o!==$;){const e=a/o;let t=r;r=i-e*r,i=t,t=n,n=s-e*n,s=t,t=o,o=a%o,a=t}return{x:c?-i:i,y:u?-s:s,gcd:a}}(e,t);if(r!==ee)throw Error("Inverse does not exist");return re(n+t,t)}function ae(e){const t=Number(e);if(t>Number.MAX_SAFE_INTEGER)throw Error("Number can only safely store up to 53 bits");return t}function oe(e,t){return(e>>BigInt(t)&ee)===$?0:1}function ce(e){const t=e<$?BigInt(-1):$;let r=1,n=e;for(;(n>>=ee)!==t;)r++;return r}function ue(e){const t=e<$?BigInt(-1):$,r=BigInt(8);let n=1,i=e;for(;(i>>=r)!==t;)n++;return n}function he(e,t="be",r){let n=e.toString(16);n.length%2==1&&(n="0"+n);const i=n.length/2,s=new Uint8Array(r||i),a=r?r-i:0;let o=0;for(;o<i;)s[o+a]=parseInt(n.slice(2*o,2*o+2),16),o++;return"be"!==t&&s.reverse(),s}const le=M.getNodeCrypto();function fe(e){const t="undefined"!=typeof crypto?crypto:le?.webcrypto;if(t?.getRandomValues){const r=new Uint8Array(e);return t.getRandomValues(r)}throw Error("No secure random number generator available.")}function ye(e,t){if(t<e)throw Error("Illegal parameter value: max <= min");const r=t-e;return re(te(fe(ue(r)+8)),r)+e}const pe=BigInt(1);function de(e,t,r){const n=BigInt(30),i=pe<<BigInt(e-1),s=[1,6,5,4,3,2,1,4,3,2,1,2,1,4,3,2,1,2,1,4,3,2,1,6,5,4,3,2,1,2];let a=ye(i,i<<pe),o=ae(re(a,n));do{a+=BigInt(s[o]),o=(o+s[o])%s.length,ce(a)>e&&(a=re(a,i<<pe),a+=i,o=ae(re(a,n)))}while(!ge(a,t,r));return a}function ge(e,t,r){return(!t||function(e,t){let r=e,n=t;for(;n!==$;){const e=n;n=r%n,r=e}return r}(e-pe,t)===pe)&&(!!function(e){const t=BigInt(0);return Ae.every((r=>re(e,r)!==t))}(e)&&(!!function(e,t=BigInt(2)){return ne(t,e-pe,e)===pe}(e)&&!!function(e,t){const r=ce(e);t||(t=Math.max(1,r/48|0));const n=e-pe;let i=0;for(;!oe(n,i);)i++;const s=e>>BigInt(i);for(;t>0;t--){let t,r=ne(ye(BigInt(2),n),s,e);if(r!==pe&&r!==n){for(t=1;t<i;t++){if(r=re(r*r,e),r===pe)return!1;if(r===n)break}if(t===i)return!1}}return!0}(e,r)))}const Ae=[7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997,1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,1063,1069,1087,1091,1093,1097,1103,1109,1117,1123,1129,1151,1153,1163,1171,1181,1187,1193,1201,1213,1217,1223,1229,1231,1237,1249,1259,1277,1279,1283,1289,1291,1297,1301,1303,1307,1319,1321,1327,1361,1367,1373,1381,1399,1409,1423,1427,1429,1433,1439,1447,1451,1453,1459,1471,1481,1483,1487,1489,1493,1499,1511,1523,1531,1543,1549,1553,1559,1567,1571,1579,1583,1597,1601,1607,1609,1613,1619,1621,1627,1637,1657,1663,1667,1669,1693,1697,1699,1709,1721,1723,1733,1741,1747,1753,1759,1777,1783,1787,1789,1801,1811,1823,1831,1847,1861,1867,1871,1873,1877,1879,1889,1901,1907,1913,1931,1933,1949,1951,1973,1979,1987,1993,1997,1999,2003,2011,2017,2027,2029,2039,2053,2063,2069,2081,2083,2087,2089,2099,2111,2113,2129,2131,2137,2141,2143,2153,2161,2179,2203,2207,2213,2221,2237,2239,2243,2251,2267,2269,2273,2281,2287,2293,2297,2309,2311,2333,2339,2341,2347,2351,2357,2371,2377,2381,2383,2389,2393,2399,2411,2417,2423,2437,2441,2447,2459,2467,2473,2477,2503,2521,2531,2539,2543,2549,2551,2557,2579,2591,2593,2609,2617,2621,2633,2647,2657,2659,2663,2671,2677,2683,2687,2689,2693,2699,2707,2711,2713,2719,2729,2731,2741,2749,2753,2767,2777,2789,2791,2797,2801,2803,2819,2833,2837,2843,2851,2857,2861,2879,2887,2897,2903,2909,2917,2927,2939,2953,2957,2963,2969,2971,2999,3001,3011,3019,3023,3037,3041,3049,3061,3067,3079,3083,3089,3109,3119,3121,3137,3163,3167,3169,3181,3187,3191,3203,3209,3217,3221,3229,3251,3253,3257,3259,3271,3299,3301,3307,3313,3319,3323,3329,3331,3343,3347,3359,3361,3371,3373,3389,3391,3407,3413,3433,3449,3457,3461,3463,3467,3469,3491,3499,3511,3517,3527,3529,3533,3539,3541,3547,3557,3559,3571,3581,3583,3593,3607,3613,3617,3623,3631,3637,3643,3659,3671,3673,3677,3691,3697,3701,3709,3719,3727,3733,3739,3761,3767,3769,3779,3793,3797,3803,3821,3823,3833,3847,3851,3853,3863,3877,3881,3889,3907,3911,3917,3919,3923,3929,3931,3943,3947,3967,3989,4001,4003,4007,4013,4019,4021,4027,4049,4051,4057,4073,4079,4091,4093,4099,4111,4127,4129,4133,4139,4153,4157,4159,4177,4201,4211,4217,4219,4229,4231,4241,4243,4253,4259,4261,4271,4273,4283,4289,4297,4327,4337,4339,4349,4357,4363,4373,4391,4397,4409,4421,4423,4441,4447,4451,4457,4463,4481,4483,4493,4507,4513,4517,4519,4523,4547,4549,4561,4567,4583,4591,4597,4603,4621,4637,4639,4643,4649,4651,4657,4663,4673,4679,4691,4703,4721,4723,4729,4733,4751,4759,4783,4787,4789,4793,4799,4801,4813,4817,4831,4861,4871,4877,4889,4903,4909,4919,4931,4933,4937,4943,4951,4957,4967,4969,4973,4987,4993,4999].map((e=>BigInt(e)));const we=M.getWebCrypto(),me=M.getNodeCrypto(),be=me&&me.getHashes();function ke(e){if(me&&be.includes(e))return async function(t){const r=me.createHash(e);return b(t,(e=>{r.update(e)}),(()=>new Uint8Array(r.digest())))}}function Ee(e,t){const r=async()=>{const{nobleHashes:t}=await Promise.resolve().then((function(){return xf})),r=t.get(e);if(!r)throw Error("Unsupported hash");return r};return async function(e){if(a(e)&&(e=await B(e)),M.isStream(e)){const t=(await r()).create();return b(e,(e=>{t.update(e)}),(()=>t.digest()))}if(we&&t)return new Uint8Array(await we.digest(t,e));return(await r())(e)}}const ve=ke("md5")||Ee("md5"),Ke=ke("sha1")||Ee("sha1","SHA-1"),Se=ke("sha224")||Ee("sha224"),Ie=ke("sha256")||Ee("sha256","SHA-256"),Be=ke("sha384")||Ee("sha384","SHA-384"),Ce=ke("sha512")||Ee("sha512","SHA-512"),Ue=ke("ripemd160")||Ee("ripemd160"),Pe=ke("sha3-256")||Ee("sha3_256"),De=ke("sha3-512")||Ee("sha3_512");function xe(e,t){switch(e){case Q.hash.md5:return ve(t);case Q.hash.sha1:return Ke(t);case Q.hash.ripemd:return Ue(t);case Q.hash.sha256:return Ie(t);case Q.hash.sha384:return Be(t);case Q.hash.sha512:return Ce(t);case Q.hash.sha224:return Se(t);case Q.hash.sha3_256:return Pe(t);case Q.hash.sha3_512:return De(t);default:throw Error("Unsupported hash function")}}function Qe(e){switch(e){case Q.hash.md5:return 16;case Q.hash.sha1:case Q.hash.ripemd:return 20;case Q.hash.sha256:return 32;case Q.hash.sha384:return 48;case Q.hash.sha512:return 64;case Q.hash.sha224:return 28;case Q.hash.sha3_256:return 32;case Q.hash.sha3_512:return 64;default:throw Error("Invalid hash algorithm.")}}const Re=[];function Te(e,t){const r=e.length;if(r>t-11)throw Error("Message too long");const n=function(e){const t=new Uint8Array(e);let r=0;for(;r<e;){const n=fe(e-r);for(let e=0;e<n.length;e++)0!==n[e]&&(t[r++]=n[e])}return t}(t-r-3),i=new Uint8Array(t);return i[1]=2,i.set(n,2),i.set(e,t-r),i}function Me(e,t){let r=2,n=1;for(let t=r;t<e.length;t++)n&=0!==e[t],r+=n;const i=r-2,s=e.subarray(r+1),a=0===e[0]&2===e[1]&i>=8&!n;if(t)return M.selectUint8Array(a,s,t);if(a)return s;throw Error("Decryption error")}function Le(e,t,r){let n;if(t.length!==Qe(e))throw Error("Invalid hash length");const i=new Uint8Array(Re[e].length);for(n=0;n<Re[e].length;n++)i[n]=Re[e][n];const s=i.length+t.length;if(r<s+11)throw Error("Intended encoded message length too short");const a=new Uint8Array(r-s-3).fill(255),o=new Uint8Array(r);return o[1]=1,o.set(a,2),o.set(i,r-s),o.set(t,r-t.length),o}Re[1]=[48,32,48,12,6,8,42,134,72,134,247,13,2,5,5,0,4,16],Re[2]=[48,33,48,9,6,5,43,14,3,2,26,5,0,4,20],Re[3]=[48,33,48,9,6,5,43,36,3,2,1,5,0,4,20],Re[8]=[48,49,48,13,6,9,96,134,72,1,101,3,4,2,1,5,0,4,32],Re[9]=[48,65,48,13,6,9,96,134,72,1,101,3,4,2,2,5,0,4,48],Re[10]=[48,81,48,13,6,9,96,134,72,1,101,3,4,2,3,5,0,4,64],Re[11]=[48,45,48,13,6,9,96,134,72,1,101,3,4,2,4,5,0,4,28];const Fe=M.getWebCrypto(),Oe=M.getNodeCrypto(),Ne=BigInt(1);async function _e(e,t,r,n,i,s,a,o,c){if(Qe(e)>=r.length)throw Error("Digest size cannot exceed key modulus size");if(t&&!M.isStream(t))if(M.getWebCrypto())try{return await async function(e,t,r,n,i,s,a,o){const c=await qe(r,n,i,s,a,o),u={name:"RSASSA-PKCS1-v1_5",hash:{name:e}},h=await Fe.importKey("jwk",c,u,!1,["sign"]);return new Uint8Array(await Fe.sign("RSASSA-PKCS1-v1_5",h,t))}(Q.read(Q.webHash,e),t,r,n,i,s,a,o)}catch(e){M.printDebugError(e)}else if(M.getNodeCrypto())return async function(e,t,r,n,i,s,a,o){const c=Oe.createSign(Q.read(Q.hash,e));c.write(t),c.end();const u=await qe(r,n,i,s,a,o);return new Uint8Array(c.sign({key:u,format:"jwk",type:"pkcs1"}))}(e,t,r,n,i,s,a,o);return async function(e,t,r,n){t=te(t);const i=te(Le(e,n,ue(t)));return r=te(r),he(ne(i,r,t),"be",ue(t))}(e,r,i,c)}async function He(e,t,r,n,i,s){if(t&&!M.isStream(t))if(M.getWebCrypto())try{return await async function(e,t,r,n,i){const s=je(n,i),a=await Fe.importKey("jwk",s,{name:"RSASSA-PKCS1-v1_5",hash:{name:e}},!1,["verify"]);return Fe.verify("RSASSA-PKCS1-v1_5",a,r,t)}(Q.read(Q.webHash,e),t,r,n,i)}catch(e){M.printDebugError(e)}else if(M.getNodeCrypto())return async function(e,t,r,n,i){const s=je(n,i),a={key:s,format:"jwk",type:"pkcs1"},o=Oe.createVerify(Q.read(Q.hash,e));o.write(t),o.end();try{return o.verify(a,r)}catch(e){return!1}}(e,t,r,n,i);return async function(e,t,r,n,i){if(r=te(r),t=te(t),n=te(n),t>=r)throw Error("Signature size cannot exceed modulus size");const s=he(ne(t,n,r),"be",ue(r)),a=Le(e,i,ue(r));return M.equalsUint8Array(s,a)}(e,r,n,i,s)}async function ze(e,t,r){return M.getNodeCrypto()?async function(e,t,r){const n=je(t,r),i={key:n,format:"jwk",type:"pkcs1",padding:Oe.constants.RSA_PKCS1_PADDING};return new Uint8Array(Oe.publicEncrypt(i,e))}(e,t,r):async function(e,t,r){if(t=te(t),e=te(Te(e,ue(t))),r=te(r),e>=t)throw Error("Message size cannot exceed modulus size");return he(ne(e,r,t),"be",ue(t))}(e,t,r)}async function Ge(e,t,r,n,i,s,a,o){if(M.getNodeCrypto()&&!o)try{return await async function(e,t,r,n,i,s,a){const o=await qe(t,r,n,i,s,a),c={key:o,format:"jwk",type:"pkcs1",padding:Oe.constants.RSA_PKCS1_PADDING};try{return new Uint8Array(Oe.privateDecrypt(c,e))}catch(e){throw Error("Decryption error")}}(e,t,r,n,i,s,a)}catch(e){M.printDebugError(e)}return async function(e,t,r,n,i,s,a,o){if(e=te(e),t=te(t),r=te(r),n=te(n),i=te(i),s=te(s),a=te(a),e>=t)throw Error("Data too large.");const c=re(n,s-Ne),u=re(n,i-Ne),h=ye(BigInt(2),t),l=ne(se(h,t),r,t);e=re(e*l,t);const f=ne(e,u,i),y=ne(e,c,s),p=re(a*(y-f),s);let d=p*i+f;return d=re(d*h,t),Me(he(d,"be",ue(t)),o)}(e,t,r,n,i,s,a,o)}async function qe(e,t,r,n,i,s){const a=te(n),o=te(i),c=te(r);let u=re(c,o-Ne),h=re(c,a-Ne);return h=he(h),u=he(u),{kty:"RSA",n:z(e),e:z(t),d:z(r),p:z(i),q:z(n),dp:z(u),dq:z(h),qi:z(s),ext:!0}}function je(e,t){return{kty:"RSA",n:z(e),e:z(t),ext:!0}}function Ve(e,t){return{n:H(e.n),e:he(t),d:H(e.d),p:H(e.q),q:H(e.p),u:H(e.qi)}}const Ye=BigInt(1);const Ze={"2a8648ce3d030107":Q.curve.nistP256,"2b81040022":Q.curve.nistP384,"2b81040023":Q.curve.nistP521,"2b8104000a":Q.curve.secp256k1,"2b06010401da470f01":Q.curve.ed25519Legacy,"2b060104019755010501":Q.curve.curve25519Legacy,"2b2403030208010107":Q.curve.brainpoolP256r1,"2b240303020801010b":Q.curve.brainpoolP384r1,"2b240303020801010d":Q.curve.brainpoolP512r1};class Je{constructor(e){if(e instanceof Je)this.oid=e.oid;else if(M.isArray(e)||M.isUint8Array(e)){if(6===(e=new Uint8Array(e))[0]){if(e[1]!==e.length-2)throw Error("Length mismatch in DER encoded oid");e=e.subarray(2)}this.oid=e}else this.oid=""}read(e){if(e.length>=1){const t=e[0];if(e.length>=1+t)return this.oid=e.subarray(1,1+t),1+this.oid.length}throw Error("Invalid oid")}write(){return M.concatUint8Array([new Uint8Array([this.oid.length]),this.oid])}toHex(){return M.uint8ArrayToHex(this.oid)}getName(){const e=Ze[this.toHex()];if(!e)throw Error("Unknown curve object identifier.");return e}}function Xe(e){let t,r=0;const n=e[0];return n<192?([r]=e,t=1):n<255?(r=(e[0]-192<<8)+e[1]+192,t=2):255===n&&(r=M.readNumber(e.subarray(1,5)),t=5),{len:r,offset:t}}function We(e){return e<192?new Uint8Array([e]):e>191&&e<8384?new Uint8Array([192+(e-192>>8),e-192&255]):M.concatUint8Array([new Uint8Array([255]),M.writeNumber(e,4)])}function $e(e){if(e<0||e>30)throw Error("Partial Length power must be between 1 and 30");return new Uint8Array([224+e])}function et(e){return new Uint8Array([192|e])}function tt(e,t){return M.concatUint8Array([et(e),We(t)])}function rt(e){return[Q.packet.literalData,Q.packet.compressedData,Q.packet.symmetricallyEncryptedData,Q.packet.symEncryptedIntegrityProtectedData,Q.packet.aeadEncryptedData].includes(e)}async function nt(e,t,r){let n,i;try{const s=await e.peekBytes(2);if(!s||s.length<2||!(128&s[0]))throw Error("Error during parsing. This message / key probably does not conform to a valid OpenPGP format.");const a=await e.readByte();let o,c,u=-1,h=-1;h=0,64&a&&(h=1),h?u=63&a:(u=(63&a)>>2,c=3&a);const l=rt(u);let f,y=null;if(t&&l){if("array"===t){const e=new ArrayStream;n=D(e),y=e}else{const e=new TransformStream;n=D(e.writable),y=e.readable}i=r({tag:u,packet:y})}else y=[];do{if(h){const t=await e.readByte();if(f=!1,t<192)o=t;else if(t>=192&&t<224)o=(t-192<<8)+await e.readByte()+192;else if(t>223&&t<255){if(o=1<<(31&t),f=!0,!l)throw new TypeError("This packet type does not support partial lengths.")}else o=await e.readByte()<<24|await e.readByte()<<16|await e.readByte()<<8|await e.readByte()}else switch(c){case 0:o=await e.readByte();break;case 1:o=await e.readByte()<<8|await e.readByte();break;case 2:o=await e.readByte()<<24|await e.readByte()<<16|await e.readByte()<<8|await e.readByte();break;default:o=1/0}if(o>0){let t=0;for(;;){n&&await n.ready;const{done:r,value:i}=await e.read();if(r){if(o===1/0)break;throw Error("Unexpected end of packet")}const s=o===1/0?i:i.subarray(0,o-t);if(n?await n.write(s):y.push(s),t+=i.length,t>=o){e.unshift(i.subarray(o-t+i.length));break}}}}while(f);n?(await n.ready,await n.close()):(y=M.concatUint8Array(y),await r({tag:u,packet:y}))}catch(e){if(n)return await n.abort(e),!0;throw e}finally{n&&await i}}class it extends Error{constructor(...e){super(...e),Error.captureStackTrace&&Error.captureStackTrace(this,it),this.name="UnsupportedError"}}class st extends it{constructor(...e){super(...e),Error.captureStackTrace&&Error.captureStackTrace(this,it),this.name="UnknownPacketError"}}class at extends it{constructor(...e){super(...e),Error.captureStackTrace&&Error.captureStackTrace(this,it),this.name="MalformedPacketError"}}class ot{constructor(e,t){this.tag=e,this.rawContent=t}write(){return this.rawContent}}async function ct(e){switch(e){case Q.publicKey.ed25519:try{const e=M.getWebCrypto(),t=await e.generateKey("Ed25519",!0,["sign","verify"]).catch((e=>{if("OperationError"===e.name){const e=Error("Unexpected key generation issue");throw e.name="NotSupportedError",e}throw e})),r=await e.exportKey("jwk",t.privateKey),n=await e.exportKey("jwk",t.publicKey);return{A:new Uint8Array(H(n.x)),seed:H(r.d)}}catch(t){if("NotSupportedError"!==t.name)throw t;const{default:r}=await Promise.resolve().then((function(){return vy})),n=fe(ft(e)),{publicKey:i}=r.sign.keyPair.fromSeed(n);return{A:i,seed:n}}case Q.publicKey.ed448:{const e=await M.getNobleCurve(Q.publicKey.ed448),{secretKey:t,publicKey:r}=e.keygen();return{A:r,seed:t}}default:throw Error("Unsupported EdDSA algorithm")}}async function ut(e,t,r,n,i,s){switch(e){case Q.publicKey.ed25519:try{const t=M.getWebCrypto(),r=dt(e,n,i),a=await t.importKey("jwk",r,"Ed25519",!1,["sign"]);return{RS:new Uint8Array(await t.sign("Ed25519",a,s))}}catch(e){if("NotSupportedError"!==e.name)throw e;const{default:t}=await Promise.resolve().then((function(){return vy})),r=M.concatUint8Array([i,n]);return{RS:t.sign.detached(s,r)}}case Q.publicKey.ed448:return{RS:(await M.getNobleCurve(Q.publicKey.ed448)).sign(s,i)};default:throw Error("Unsupported EdDSA algorithm")}}async function ht(e,t,{RS:r},n,i,s){switch(e){case Q.publicKey.ed25519:try{const t=M.getWebCrypto(),n=pt(e,i),a=await t.importKey("jwk",n,"Ed25519",!1,["verify"]);return await t.verify("Ed25519",a,r,s)}catch(e){if("NotSupportedError"!==e.name)throw e;const{default:t}=await Promise.resolve().then((function(){return vy}));return t.sign.detached.verify(s,r,i)}case Q.publicKey.ed448:return(await M.getNobleCurve(Q.publicKey.ed448)).verify(r,s,i);default:throw Error("Unsupported EdDSA algorithm")}}async function lt(e,t,r){switch(e){case Q.publicKey.ed25519:try{const n=M.getWebCrypto(),i=dt(e,t,r),s=pt(e,t),a=await n.importKey("jwk",i,"Ed25519",!1,["sign"]),o=await n.importKey("jwk",s,"Ed25519",!1,["verify"]),c=fe(8),u=new Uint8Array(await n.sign("Ed25519",a,c));return await n.verify("Ed25519",o,u,c)}catch(e){if("NotSupportedError"!==e.name)return!1;const{default:n}=await Promise.resolve().then((function(){return vy})),{publicKey:i}=n.sign.keyPair.fromSeed(r);return M.equalsUint8Array(t,i)}case Q.publicKey.ed448:{const e=(await M.getNobleCurve(Q.publicKey.ed448)).getPublicKey(r);return M.equalsUint8Array(t,e)}default:return!1}}function ft(e){switch(e){case Q.publicKey.ed25519:return 32;case Q.publicKey.ed448:return 57;default:throw Error("Unsupported EdDSA algorithm")}}function yt(e){switch(e){case Q.publicKey.ed25519:return Q.hash.sha256;case Q.publicKey.ed448:return Q.hash.sha512;default:throw Error("Unknown EdDSA algo")}}const pt=(e,t)=>{if(e===Q.publicKey.ed25519){return{kty:"OKP",crv:"Ed25519",x:z(t),ext:!0}}throw Error("Unsupported EdDSA algorithm")},dt=(e,t,r)=>{if(e===Q.publicKey.ed25519){const n=pt(e,t);return n.d=z(r),n}throw Error("Unsupported EdDSA algorithm")};var gt=/*#__PURE__*/Object.freeze({__proto__:null,generate:ct,getPayloadSize:ft,getPreferredHashAlgo:yt,sign:ut,validateParams:lt,verify:ht});
3
+ /*! noble-ciphers - MIT License (c) 2023 Paul Miller (paulmillr.com) */function At(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&"Uint8Array"===e.constructor.name}function wt(e,...t){if(!At(e))throw Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw Error("Uint8Array expected of length "+t+", got length="+e.length)}function mt(e,t=!0){if(e.destroyed)throw Error("Hash instance has been destroyed");if(t&&e.finished)throw Error("Hash#digest() has already been called")}function bt(e,t){wt(e);const r=t.outputLen;if(e.length<r)throw Error("digestInto() expects output buffer of length at least "+r)}function kt(e){return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}function Et(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function vt(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function Kt(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}const St=/* @__PURE__ */(()=>68===new Uint8Array(new Uint32Array([287454020]).buffer)[0])();function It(e){if("string"==typeof e)e=function(e){if("string"!=typeof e)throw Error("string expected");return new Uint8Array((new TextEncoder).encode(e))}(e);else{if(!At(e))throw Error("Uint8Array expected, got "+typeof e);e=Rt(e)}return e}function Bt(e,t){return e.buffer===t.buffer&&e.byteOffset<t.byteOffset+t.byteLength&&t.byteOffset<e.byteOffset+e.byteLength}function Ct(e,t){if(Bt(e,t)&&e.byteOffset<t.byteOffset)throw Error("complex overlap of input and output is not supported")}function Ut(e,t){if(e.length!==t.length)return!1;let r=0;for(let n=0;n<e.length;n++)r|=e[n]^t[n];return 0===r}const Pt=(e,t)=>{function r(r,...n){if(wt(r),!St)throw Error("Non little-endian hardware is not yet supported");if(void 0!==e.nonceLength){const t=n[0];if(!t)throw Error("nonce / iv required");e.varSizeNonce?wt(t):wt(t,e.nonceLength)}const i=e.tagLength;i&&void 0!==n[1]&&wt(n[1]);const s=t(r,...n),a=(e,t)=>{if(void 0!==t){if(2!==e)throw Error("cipher output not supported");wt(t)}};let o=!1;return{encrypt(e,t){if(o)throw Error("cannot encrypt() twice with same key + nonce");return o=!0,wt(e),a(s.encrypt.length,t),s.encrypt(e,t)},decrypt(e,t){if(wt(e),i&&e.length<i)throw Error("invalid ciphertext length: smaller than tagLength="+i);return a(s.decrypt.length,t),s.decrypt(e,t)}}}return Object.assign(r,e),r};function Dt(e,t,r=!0){if(void 0===t)return new Uint8Array(e);if(t.length!==e)throw Error("invalid output length, expected "+e+", got: "+t.length);if(r&&!Qt(t))throw Error("invalid output, must be aligned");return t}function xt(e,t,r,n){if("function"==typeof e.setBigUint64)return e.setBigUint64(t,r,n);const i=BigInt(32),s=BigInt(4294967295),a=Number(r>>i&s),o=Number(r&s);e.setUint32(t+0,a,n),e.setUint32(t+4,o,n)}function Qt(e){return e.byteOffset%4==0}function Rt(e){return Uint8Array.from(e)}const Tt=16,Mt=/* @__PURE__ */new Uint8Array(16),Lt=Et(Mt),Ft=e=>(e>>>0&255)<<24|(e>>>8&255)<<16|(e>>>16&255)<<8|e>>>24&255;class Ot{constructor(e,t){this.blockLen=Tt,this.outputLen=Tt,this.s0=0,this.s1=0,this.s2=0,this.s3=0,this.finished=!1,wt(e=It(e),16);const r=Kt(e);let n=r.getUint32(0,!1),i=r.getUint32(4,!1),s=r.getUint32(8,!1),a=r.getUint32(12,!1);const o=[];for(let e=0;e<128;e++)o.push({s0:Ft(n),s1:Ft(i),s2:Ft(s),s3:Ft(a)}),({s0:n,s1:i,s2:s,s3:a}={s3:(h=s)<<31|(l=a)>>>1,s2:(u=i)<<31|h>>>1,s1:(c=n)<<31|u>>>1,s0:c>>>1^225<<24&-(1&l)});var c,u,h,l;const f=(y=t||1024)>65536?8:y>1024?4:2;var y;if(![1,2,4,8].includes(f))throw Error("ghash: invalid window size, expected 2, 4 or 8");this.W=f;const p=128/f,d=this.windowSize=2**f,g=[];for(let e=0;e<p;e++)for(let t=0;t<d;t++){let r=0,n=0,i=0,s=0;for(let a=0;a<f;a++){if(!(t>>>f-a-1&1))continue;const{s0:c,s1:u,s2:h,s3:l}=o[f*e+a];r^=c,n^=u,i^=h,s^=l}g.push({s0:r,s1:n,s2:i,s3:s})}this.t=g}_updateBlock(e,t,r,n){e^=this.s0,t^=this.s1,r^=this.s2,n^=this.s3;const{W:i,t:s,windowSize:a}=this;let o=0,c=0,u=0,h=0;const l=(1<<i)-1;let f=0;for(const y of[e,t,r,n])for(let e=0;e<4;e++){const t=y>>>8*e&255;for(let e=8/i-1;e>=0;e--){const r=t>>>i*e&l,{s0:n,s1:y,s2:p,s3:d}=s[f*a+r];o^=n,c^=y,u^=p,h^=d,f+=1}}this.s0=o,this.s1=c,this.s2=u,this.s3=h}update(e){mt(this),wt(e=It(e));const t=Et(e),r=Math.floor(e.length/Tt),n=e.length%Tt;for(let e=0;e<r;e++)this._updateBlock(t[4*e+0],t[4*e+1],t[4*e+2],t[4*e+3]);return n&&(Mt.set(e.subarray(r*Tt)),this._updateBlock(Lt[0],Lt[1],Lt[2],Lt[3]),vt(Lt)),this}destroy(){const{t:e}=this;for(const t of e)t.s0=0,t.s1=0,t.s2=0,t.s3=0}digestInto(e){mt(this),bt(e,this),this.finished=!0;const{s0:t,s1:r,s2:n,s3:i}=this,s=Et(e);return s[0]=t,s[1]=r,s[2]=n,s[3]=i,e}digest(){const e=new Uint8Array(Tt);return this.digestInto(e),this.destroy(),e}}class Nt extends Ot{constructor(e,t){wt(e=It(e));const r=function(e){e.reverse();const t=1&e[15];let r=0;for(let t=0;t<e.length;t++){const n=e[t];e[t]=n>>>1|r,r=(1&n)<<7}return e[0]^=225&-t,e}(Rt(e));super(r,t),vt(r)}update(e){e=It(e),mt(this);const t=Et(e),r=e.length%Tt,n=Math.floor(e.length/Tt);for(let e=0;e<n;e++)this._updateBlock(Ft(t[4*e+3]),Ft(t[4*e+2]),Ft(t[4*e+1]),Ft(t[4*e+0]));return r&&(Mt.set(e.subarray(n*Tt)),this._updateBlock(Ft(Lt[3]),Ft(Lt[2]),Ft(Lt[1]),Ft(Lt[0])),vt(Lt)),this}digestInto(e){mt(this),bt(e,this),this.finished=!0;const{s0:t,s1:r,s2:n,s3:i}=this,s=Et(e);return s[0]=t,s[1]=r,s[2]=n,s[3]=i,e.reverse()}}function _t(e){const t=(t,r)=>e(r,t.length).update(It(t)).digest(),r=e(new Uint8Array(16),0);return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=(t,r)=>e(t,r),t}const Ht=_t(((e,t)=>new Ot(e,t)));_t(((e,t)=>new Nt(e,t)));const zt=16,Gt=/* @__PURE__ */new Uint8Array(zt);function qt(e){return e<<1^283&-(e>>7)}function jt(e,t){let r=0;for(;t>0;t>>=1)r^=e&-(1&t),e=qt(e);return r}const Vt=/* @__PURE__ */(()=>{const e=new Uint8Array(256);for(let t=0,r=1;t<256;t++,r^=qt(r))e[t]=r;const t=new Uint8Array(256);t[0]=99;for(let r=0;r<255;r++){let n=e[255-r];n|=n<<8,t[e[r]]=255&(n^n>>4^n>>5^n>>6^n>>7^99)}return vt(e),t})(),Yt=/* @__PURE__ */Vt.map(((e,t)=>Vt.indexOf(t))),Zt=e=>e<<8|e>>>24,Jt=e=>e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255;function Xt(e,t){if(256!==e.length)throw Error("Wrong sbox length");const r=new Uint32Array(256).map(((r,n)=>t(e[n]))),n=r.map(Zt),i=n.map(Zt),s=i.map(Zt),a=new Uint32Array(65536),o=new Uint32Array(65536),c=new Uint16Array(65536);for(let t=0;t<256;t++)for(let u=0;u<256;u++){const h=256*t+u;a[h]=r[t]^n[u],o[h]=i[t]^s[u],c[h]=e[t]<<8|e[u]}return{sbox:e,sbox2:c,T0:r,T1:n,T2:i,T3:s,T01:a,T23:o}}const Wt=/* @__PURE__ */Xt(Vt,(e=>jt(e,3)<<24|e<<16|e<<8|jt(e,2))),$t=/* @__PURE__ */Xt(Yt,(e=>jt(e,11)<<24|jt(e,13)<<16|jt(e,9)<<8|jt(e,14))),er=/* @__PURE__ */(()=>{const e=new Uint8Array(16);for(let t=0,r=1;t<16;t++,r=qt(r))e[t]=r;return e})();function tr(e){wt(e);const t=e.length;if(![16,24,32].includes(t))throw Error("aes: invalid key size, should be 16, 24 or 32, got "+t);const{sbox2:r}=Wt,n=[];Qt(e)||n.push(e=Rt(e));const i=Et(e),s=i.length,a=e=>ir(r,e,e,e,e),o=new Uint32Array(t+28);o.set(i);for(let e=s;e<o.length;e++){let t=o[e-1];e%s==0?t=a((c=t)<<24|c>>>8)^er[e/s-1]:s>6&&e%s==4&&(t=a(t)),o[e]=o[e-s]^t}var c;return vt(...n),o}function rr(e){const t=tr(e),r=t.slice(),n=t.length,{sbox2:i}=Wt,{T0:s,T1:a,T2:o,T3:c}=$t;for(let e=0;e<n;e+=4)for(let i=0;i<4;i++)r[e+i]=t[n-e-4+i];vt(t);for(let e=4;e<n-4;e++){const t=r[e],n=ir(i,t,t,t,t);r[e]=s[255&n]^a[n>>>8&255]^o[n>>>16&255]^c[n>>>24]}return r}function nr(e,t,r,n,i,s){return e[r<<8&65280|n>>>8&255]^t[i>>>8&65280|s>>>24&255]}function ir(e,t,r,n,i){return e[255&t|65280&r]|e[n>>>16&255|i>>>16&65280]<<16}function sr(e,t,r,n,i){const{sbox2:s,T01:a,T23:o}=Wt;let c=0;t^=e[c++],r^=e[c++],n^=e[c++],i^=e[c++];const u=e.length/4-2;for(let s=0;s<u;s++){const s=e[c++]^nr(a,o,t,r,n,i),u=e[c++]^nr(a,o,r,n,i,t),h=e[c++]^nr(a,o,n,i,t,r),l=e[c++]^nr(a,o,i,t,r,n);t=s,r=u,n=h,i=l}return{s0:e[c++]^ir(s,t,r,n,i),s1:e[c++]^ir(s,r,n,i,t),s2:e[c++]^ir(s,n,i,t,r),s3:e[c++]^ir(s,i,t,r,n)}}function ar(e,t,r,n,i){const{sbox2:s,T01:a,T23:o}=$t;let c=0;t^=e[c++],r^=e[c++],n^=e[c++],i^=e[c++];const u=e.length/4-2;for(let s=0;s<u;s++){const s=e[c++]^nr(a,o,t,i,n,r),u=e[c++]^nr(a,o,r,t,i,n),h=e[c++]^nr(a,o,n,r,t,i),l=e[c++]^nr(a,o,i,n,r,t);t=s,r=u,n=h,i=l}return{s0:e[c++]^ir(s,t,i,n,r),s1:e[c++]^ir(s,r,t,i,n),s2:e[c++]^ir(s,n,r,t,i),s3:e[c++]^ir(s,i,n,r,t)}}function or(e,t,r,n){wt(t,zt),wt(r);const i=r.length;Ct(r,n=Dt(i,n));const s=t,a=Et(s);let{s0:o,s1:c,s2:u,s3:h}=sr(e,a[0],a[1],a[2],a[3]);const l=Et(r),f=Et(n);for(let t=0;t+4<=l.length;t+=4){f[t+0]=l[t+0]^o,f[t+1]=l[t+1]^c,f[t+2]=l[t+2]^u,f[t+3]=l[t+3]^h;let r=1;for(let e=s.length-1;e>=0;e--)r=r+(255&s[e])|0,s[e]=255&r,r>>>=8;({s0:o,s1:c,s2:u,s3:h}=sr(e,a[0],a[1],a[2],a[3]))}const y=zt*Math.floor(l.length/4);if(y<i){const e=new Uint32Array([o,c,u,h]),t=kt(e);for(let e=y,s=0;e<i;e++,s++)n[e]=r[e]^t[s];vt(e)}return n}function cr(e,t,r,n,i){wt(r,zt),wt(n),i=Dt(n.length,i);const s=r,a=Et(s),o=Kt(s),c=Et(n),u=Et(i),h=t?0:12,l=n.length;let f=o.getUint32(h,t),{s0:y,s1:p,s2:d,s3:g}=sr(e,a[0],a[1],a[2],a[3]);for(let r=0;r+4<=c.length;r+=4)u[r+0]=c[r+0]^y,u[r+1]=c[r+1]^p,u[r+2]=c[r+2]^d,u[r+3]=c[r+3]^g,f=f+1>>>0,o.setUint32(h,f,t),({s0:y,s1:p,s2:d,s3:g}=sr(e,a[0],a[1],a[2],a[3]));const A=zt*Math.floor(c.length/4);if(A<l){const e=new Uint32Array([y,p,d,g]),t=kt(e);for(let e=A,r=0;e<l;e++,r++)i[e]=n[e]^t[r];vt(e)}return i}const ur=/* @__PURE__ */Pt({blockSize:16,nonceLength:16},(function(e,t){function r(r,n){if(wt(r),void 0!==n&&(wt(n),!Qt(n)))throw Error("unaligned destination");const i=tr(e),s=Rt(t),a=[i,s];Qt(r)||a.push(r=Rt(r));const o=or(i,s,r,n);return vt(...a),o}return{encrypt:(e,t)=>r(e,t),decrypt:(e,t)=>r(e,t)}}));const hr=/* @__PURE__ */Pt({blockSize:16,nonceLength:16},(function(e,t,r={}){const n=!r.disablePadding;return{encrypt(r,i){const s=tr(e),{b:a,o,out:c}=function(e,t,r){wt(e);let n=e.length;const i=n%zt;if(!t&&0!==i)throw Error("aec/(cbc-ecb): unpadded plaintext with disabled padding");Qt(e)||(e=Rt(e));const s=Et(e);if(t){let e=zt-i;e||(e=zt),n+=e}return Ct(e,r=Dt(n,r)),{b:s,o:Et(r),out:r}}(r,n,i);let u=t;const h=[s];Qt(u)||h.push(u=Rt(u));const l=Et(u);let f=l[0],y=l[1],p=l[2],d=l[3],g=0;for(;g+4<=a.length;)f^=a[g+0],y^=a[g+1],p^=a[g+2],d^=a[g+3],({s0:f,s1:y,s2:p,s3:d}=sr(s,f,y,p,d)),o[g++]=f,o[g++]=y,o[g++]=p,o[g++]=d;if(n){const e=function(e){const t=new Uint8Array(16),r=Et(t);t.set(e);const n=zt-e.length;for(let e=zt-n;e<zt;e++)t[e]=n;return r}(r.subarray(4*g));f^=e[0],y^=e[1],p^=e[2],d^=e[3],({s0:f,s1:y,s2:p,s3:d}=sr(s,f,y,p,d)),o[g++]=f,o[g++]=y,o[g++]=p,o[g++]=d}return vt(...h),c},decrypt(r,i){!function(e){if(wt(e),e.length%zt!=0)throw Error("aes-(cbc/ecb).decrypt ciphertext should consist of blocks with size 16")}(r);const s=rr(e);let a=t;const o=[s];Qt(a)||o.push(a=Rt(a));const c=Et(a);i=Dt(r.length,i),Qt(r)||o.push(r=Rt(r)),Ct(r,i);const u=Et(r),h=Et(i);let l=c[0],f=c[1],y=c[2],p=c[3];for(let e=0;e+4<=u.length;){const t=l,r=f,n=y,i=p;l=u[e+0],f=u[e+1],y=u[e+2],p=u[e+3];const{s0:a,s1:o,s2:c,s3:d}=ar(s,l,f,y,p);h[e++]=a^t,h[e++]=o^r,h[e++]=c^n,h[e++]=d^i}return vt(...o),function(e,t){if(!t)return e;const r=e.length;if(!r)throw Error("aes/pcks5: empty ciphertext not allowed");const n=e[r-1];if(n<=0||n>16)throw Error("aes/pcks5: wrong padding");const i=e.subarray(0,-n);for(let t=0;t<n;t++)if(e[r-t-1]!==n)throw Error("aes/pcks5: wrong padding");return i}(i,n)}}})),lr=/* @__PURE__ */Pt({blockSize:16,nonceLength:16},(function(e,t){function r(r,n,i){wt(r);const s=r.length;if(Bt(r,i=Dt(s,i)))throw Error("overlapping src and dst not supported.");const a=tr(e);let o=t;const c=[a];Qt(o)||c.push(o=Rt(o)),Qt(r)||c.push(r=Rt(r));const u=Et(r),h=Et(i),l=n?h:u,f=Et(o);let y=f[0],p=f[1],d=f[2],g=f[3];for(let e=0;e+4<=u.length;){const{s0:t,s1:r,s2:n,s3:i}=sr(a,y,p,d,g);h[e+0]=u[e+0]^t,h[e+1]=u[e+1]^r,h[e+2]=u[e+2]^n,h[e+3]=u[e+3]^i,y=l[e++],p=l[e++],d=l[e++],g=l[e++]}const A=zt*Math.floor(u.length/4);if(A<s){({s0:y,s1:p,s2:d,s3:g}=sr(a,y,p,d,g));const e=kt(new Uint32Array([y,p,d,g]));for(let t=A,n=0;t<s;t++,n++)i[t]=r[t]^e[n];vt(e)}return vt(...c),i}return{encrypt:(e,t)=>r(e,!0,t),decrypt:(e,t)=>r(e,!1,t)}}));function fr(e,t,r,n,i){const s=i?i.length:0,a=e.create(r,n.length+s);i&&a.update(i);const o=function(e,t,r){const n=new Uint8Array(16),i=Kt(n);return xt(i,0,BigInt(t),r),xt(i,8,BigInt(e),r),n}(8*n.length,8*s,t);a.update(n),a.update(o);const c=a.digest();return vt(o),c}const yr=/* @__PURE__ */Pt({blockSize:16,nonceLength:12,tagLength:16,varSizeNonce:!0},(function(e,t,r){if(t.length<8)throw Error("aes/gcm: invalid nonce length");function n(e,t,n){const i=fr(Ht,!1,e,n,r);for(let e=0;e<t.length;e++)i[e]^=t[e];return i}function i(){const r=tr(e),n=Gt.slice(),i=Gt.slice();if(cr(r,!1,i,i,n),12===t.length)i.set(t);else{const e=Gt.slice();xt(Kt(e),8,BigInt(8*t.length),!1);const r=Ht.create(n).update(t).update(e);r.digestInto(i),r.destroy()}return{xk:r,authKey:n,counter:i,tagMask:cr(r,!1,i,Gt)}}return{encrypt(e){const{xk:t,authKey:r,counter:s,tagMask:a}=i(),o=new Uint8Array(e.length+16),c=[t,r,s,a];Qt(e)||c.push(e=Rt(e)),cr(t,!1,s,e,o.subarray(0,e.length));const u=n(r,a,o.subarray(0,o.length-16));return c.push(u),o.set(u,e.length),vt(...c),o},decrypt(e){const{xk:t,authKey:r,counter:s,tagMask:a}=i(),o=[t,r,a,s];Qt(e)||o.push(e=Rt(e));const c=e.subarray(0,-16),u=e.subarray(-16),h=n(r,a,c);if(o.push(h),!Ut(h,u))throw Error("aes/gcm: invalid ghash tag");const l=cr(t,!1,s,c);return vt(...o),l}}}));function pr(e){return e instanceof Uint32Array||ArrayBuffer.isView(e)&&"Uint32Array"===e.constructor.name}function dr(e,t){if(wt(t,16),!pr(e))throw Error("_encryptBlock accepts result of expandKeyLE");const r=Et(t);let{s0:n,s1:i,s2:s,s3:a}=sr(e,r[0],r[1],r[2],r[3]);return r[0]=n,r[1]=i,r[2]=s,r[3]=a,t}function gr(e,t){if(wt(t,16),!pr(e))throw Error("_decryptBlock accepts result of expandKeyLE");const r=Et(t);let{s0:n,s1:i,s2:s,s3:a}=ar(e,r[0],r[1],r[2],r[3]);return r[0]=n,r[1]=i,r[2]=s,r[3]=a,t}const Ar={encrypt(e,t){if(t.length>=2**32)throw Error("plaintext should be less than 4gb");const r=tr(e);if(16===t.length)dr(r,t);else{const e=Et(t);let n=e[0],i=e[1];for(let t=0,s=1;t<6;t++)for(let t=2;t<e.length;t+=2,s++){const{s0:a,s1:o,s2:c,s3:u}=sr(r,n,i,e[t],e[t+1]);n=a,i=o^Jt(s),e[t]=c,e[t+1]=u}e[0]=n,e[1]=i}r.fill(0)},decrypt(e,t){if(t.length-8>=2**32)throw Error("ciphertext should be less than 4gb");const r=rr(e),n=t.length/8-1;if(1===n)gr(r,t);else{const e=Et(t);let i=e[0],s=e[1];for(let t=0,a=6*n;t<6;t++)for(let t=2*n;t>=1;t-=2,a--){s^=Jt(a);const{s0:n,s1:o,s2:c,s3:u}=ar(r,i,s,e[t],e[t+1]);i=n,s=o,e[t]=c,e[t+1]=u}e[0]=i,e[1]=s}r.fill(0)}},wr=/* @__PURE__ */new Uint8Array(8).fill(166),mr=/* @__PURE__ */Pt({blockSize:8},(e=>({encrypt(t){if(!t.length||t.length%8!=0)throw Error("invalid plaintext length");if(8===t.length)throw Error("8-byte keys not allowed in AESKW, use AESKWP instead");const r=function(...e){let t=0;for(let r=0;r<e.length;r++){const n=e[r];wt(n),t+=n.length}const r=new Uint8Array(t);for(let t=0,n=0;t<e.length;t++){const i=e[t];r.set(i,n),n+=i.length}return r}(wr,t);return Ar.encrypt(e,r),r},decrypt(t){if(t.length%8!=0||t.length<24)throw Error("invalid ciphertext length");const r=Rt(t);if(Ar.decrypt(e,r),!Ut(r.subarray(0,8),wr))throw Error("integrity check failed");return r.subarray(0,8).fill(0),r.subarray(8)}}))),br={expandKeyLE:tr,expandKeyDecLE:rr,encrypt:sr,decrypt:ar,encryptBlock:dr,decryptBlock:gr,ctrCounter:or,ctr32:cr};async function kr(e){switch(e){case Q.symmetric.aes128:case Q.symmetric.aes192:case Q.symmetric.aes256:throw Error("Not a legacy cipher");case Q.symmetric.cast5:case Q.symmetric.blowfish:case Q.symmetric.twofish:case Q.symmetric.tripledes:{const{legacyCiphers:t}=await Promise.resolve().then((function(){return Fy})),r=Q.read(Q.symmetric,e),n=t.get(r);if(!n)throw Error("Unsupported cipher algorithm");return n}default:throw Error("Unsupported cipher algorithm")}}function Er(e){switch(e){case Q.symmetric.aes128:case Q.symmetric.aes192:case Q.symmetric.aes256:case Q.symmetric.twofish:return 16;case Q.symmetric.blowfish:case Q.symmetric.cast5:case Q.symmetric.tripledes:return 8;default:throw Error("Unsupported cipher")}}function vr(e){switch(e){case Q.symmetric.aes128:case Q.symmetric.blowfish:case Q.symmetric.cast5:return 16;case Q.symmetric.aes192:case Q.symmetric.tripledes:return 24;case Q.symmetric.aes256:case Q.symmetric.twofish:return 32;default:throw Error("Unsupported cipher")}}function Kr(e){return{keySize:vr(e),blockSize:Er(e)}}const Sr=M.getWebCrypto();async function Ir(e,t,r){const{keySize:n}=Kr(e);if(!M.isAES(e)||t.length!==n)throw Error("Unexpected algorithm or key size");try{const e=await Sr.importKey("raw",t,{name:"AES-KW"},!1,["wrapKey"]),n=await Sr.importKey("raw",r,{name:"HMAC",hash:"SHA-256"},!0,["sign"]),i=await Sr.wrapKey("raw",n,e,{name:"AES-KW"});return new Uint8Array(i)}catch(e){if("NotSupportedError"!==e.name&&(24!==t.length||"OperationError"!==e.name))throw e;M.printDebugError("Browser did not support operation: "+e.message)}return mr(t).encrypt(r)}async function Br(e,t,r){const{keySize:n}=Kr(e);if(!M.isAES(e)||t.length!==n)throw Error("Unexpected algorithm or key size");let i;try{i=await Sr.importKey("raw",t,{name:"AES-KW"},!1,["unwrapKey"])}catch(e){if("NotSupportedError"!==e.name&&(24!==t.length||"OperationError"!==e.name))throw e;return M.printDebugError("Browser did not support operation: "+e.message),mr(t).decrypt(r)}try{const e=await Sr.unwrapKey("raw",r,i,{name:"AES-KW"},{name:"HMAC",hash:"SHA-256"},!0,["sign"]);return new Uint8Array(await Sr.exportKey("raw",e))}catch(e){if("OperationError"===e.name)throw Error("Key Data Integrity failed");throw e}}async function Cr(e,t,r,n,i){const s=M.getWebCrypto(),a=Q.read(Q.webHash,e);if(!a)throw Error("Hash algo not supported with HKDF");const o=await s.importKey("raw",t,"HKDF",!1,["deriveBits"]),c=await s.deriveBits({name:"HKDF",hash:a,salt:r,info:n},o,8*i);return new Uint8Array(c)}const Ur={x25519:M.encodeUTF8("OpenPGP X25519"),x448:M.encodeUTF8("OpenPGP X448")};async function Pr(e){switch(e){case Q.publicKey.x25519:try{const e=M.getWebCrypto(),t=await e.generateKey("X25519",!0,["deriveKey","deriveBits"]).catch((e=>{if("OperationError"===e.name){const e=Error("Unexpected key generation issue");throw e.name="NotSupportedError",e}throw e})),r=await e.exportKey("jwk",t.privateKey),n=await e.exportKey("jwk",t.publicKey);if(r.x!==n.x){const e=Error("Unexpected mismatching public point");throw e.name="NotSupportedError",e}return{A:new Uint8Array(H(n.x)),k:H(r.d)}}catch(e){if("NotSupportedError"!==e.name)throw e;const{default:t}=await Promise.resolve().then((function(){return vy})),{secretKey:r,publicKey:n}=t.box.keyPair();return{A:n,k:r}}case Q.publicKey.x448:{const e=await M.getNobleCurve(Q.publicKey.x448),{secretKey:t,publicKey:r}=e.keygen();return{A:r,k:t}}default:throw Error("Unsupported ECDH algorithm")}}async function Dr(e,t,r){switch(e){case Q.publicKey.x25519:try{const{ephemeralPublicKey:n,sharedSecret:i}=await Tr(e,t),s=await Mr(e,n,t,r);return M.equalsUint8Array(i,s)}catch(e){return!1}case Q.publicKey.x448:{const e=(await M.getNobleCurve(Q.publicKey.x448)).getPublicKey(r);return M.equalsUint8Array(t,e)}default:return!1}}async function xr(e,t,r){const{ephemeralPublicKey:n,sharedSecret:i}=await Tr(e,r),s=M.concatUint8Array([n,r,i]);switch(e){case Q.publicKey.x25519:{const e=Q.symmetric.aes128,{keySize:r}=Kr(e),i=await Cr(Q.hash.sha256,s,new Uint8Array,Ur.x25519,r);return{ephemeralPublicKey:n,wrappedKey:await Ir(e,i,t)}}case Q.publicKey.x448:{const e=Q.symmetric.aes256,{keySize:r}=Kr(Q.symmetric.aes256),i=await Cr(Q.hash.sha512,s,new Uint8Array,Ur.x448,r);return{ephemeralPublicKey:n,wrappedKey:await Ir(e,i,t)}}default:throw Error("Unsupported ECDH algorithm")}}async function Qr(e,t,r,n,i){const s=await Mr(e,t,n,i),a=M.concatUint8Array([t,n,s]);switch(e){case Q.publicKey.x25519:{const e=Q.symmetric.aes128,{keySize:t}=Kr(e);return Br(e,await Cr(Q.hash.sha256,a,new Uint8Array,Ur.x25519,t),r)}case Q.publicKey.x448:{const e=Q.symmetric.aes256,{keySize:t}=Kr(Q.symmetric.aes256);return Br(e,await Cr(Q.hash.sha512,a,new Uint8Array,Ur.x448,t),r)}default:throw Error("Unsupported ECDH algorithm")}}function Rr(e){switch(e){case Q.publicKey.x25519:return 32;case Q.publicKey.x448:return 56;default:throw Error("Unsupported ECDH algorithm")}}async function Tr(e,t){switch(e){case Q.publicKey.x25519:try{const r=M.getWebCrypto(),n=await r.generateKey("X25519",!0,["deriveKey","deriveBits"]).catch((e=>{if("OperationError"===e.name){const e=Error("Unexpected key generation issue");throw e.name="NotSupportedError",e}throw e})),i=await r.exportKey("jwk",n.publicKey);if((await r.exportKey("jwk",n.privateKey)).x!==i.x){const e=Error("Unexpected mismatching public point");throw e.name="NotSupportedError",e}const s=Fr(e,t),a=await r.importKey("jwk",s,"X25519",!1,[]),o=await r.deriveBits({name:"X25519",public:a},n.privateKey,8*Rr(e));return{sharedSecret:new Uint8Array(o),ephemeralPublicKey:new Uint8Array(H(i.x))}}catch(e){if("NotSupportedError"!==e.name)throw e;const{default:r}=await Promise.resolve().then((function(){return vy})),{secretKey:n,publicKey:i}=r.box.keyPair(),s=r.scalarMult(n,t);return Lr(s),{ephemeralPublicKey:i,sharedSecret:s}}case Q.publicKey.x448:{const e=await M.getNobleCurve(Q.publicKey.x448),{secretKey:r,publicKey:n}=e.keygen(),i=e.getSharedSecret(r,t);return Lr(i),{ephemeralPublicKey:n,sharedSecret:i}}default:throw Error("Unsupported ECDH algorithm")}}async function Mr(e,t,r,n){switch(e){case Q.publicKey.x25519:try{const i=M.getWebCrypto(),s=function(e,t,r){if(e===Q.publicKey.x25519){const n=Fr(e,t);return n.d=z(r),n}throw Error("Unsupported ECDH algorithm")}(e,r,n),a=Fr(e,t),o=await i.importKey("jwk",s,"X25519",!1,["deriveKey","deriveBits"]),c=await i.importKey("jwk",a,"X25519",!1,[]),u=await i.deriveBits({name:"X25519",public:c},o,8*Rr(e));return new Uint8Array(u)}catch(e){if("NotSupportedError"!==e.name)throw e;const{default:r}=await Promise.resolve().then((function(){return vy})),i=r.scalarMult(n,t);return Lr(i),i}case Q.publicKey.x448:{const e=(await M.getNobleCurve(Q.publicKey.x448)).getSharedSecret(n,t);return Lr(e),e}default:throw Error("Unsupported ECDH algorithm")}}function Lr(e){let t=0;for(let r=0;r<e.length;r++)t|=e[r];if(0===t)throw Error("Unexpected low order point")}function Fr(e,t){if(e===Q.publicKey.x25519){return{kty:"OKP",crv:"X25519",x:z(t),ext:!0}}throw Error("Unsupported ECDH algorithm")}var Or=/*#__PURE__*/Object.freeze({__proto__:null,decrypt:Qr,encrypt:xr,generate:Pr,generateEphemeralEncryptionMaterial:Tr,getPayloadSize:Rr,recomputeSharedSecret:Mr,validateParams:Dr});const Nr=M.getWebCrypto(),_r=M.getNodeCrypto(),Hr={[Q.curve.nistP256]:"P-256",[Q.curve.nistP384]:"P-384",[Q.curve.nistP521]:"P-521"},zr=_r?_r.getCurves():[],Gr=_r?{[Q.curve.secp256k1]:zr.includes("secp256k1")?"secp256k1":void 0,[Q.curve.nistP256]:zr.includes("prime256v1")?"prime256v1":void 0,[Q.curve.nistP384]:zr.includes("secp384r1")?"secp384r1":void 0,[Q.curve.nistP521]:zr.includes("secp521r1")?"secp521r1":void 0,[Q.curve.ed25519Legacy]:zr.includes("ED25519")?"ED25519":void 0,[Q.curve.curve25519Legacy]:zr.includes("X25519")?"X25519":void 0,[Q.curve.brainpoolP256r1]:zr.includes("brainpoolP256r1")?"brainpoolP256r1":void 0,[Q.curve.brainpoolP384r1]:zr.includes("brainpoolP384r1")?"brainpoolP384r1":void 0,[Q.curve.brainpoolP512r1]:zr.includes("brainpoolP512r1")?"brainpoolP512r1":void 0}:{},qr={[Q.curve.nistP256]:{oid:[6,8,42,134,72,206,61,3,1,7],keyType:Q.publicKey.ecdsa,hash:Q.hash.sha256,cipher:Q.symmetric.aes128,node:Gr[Q.curve.nistP256],web:Hr[Q.curve.nistP256],payloadSize:32,sharedSize:256,wireFormatLeadingByte:4},[Q.curve.nistP384]:{oid:[6,5,43,129,4,0,34],keyType:Q.publicKey.ecdsa,hash:Q.hash.sha384,cipher:Q.symmetric.aes192,node:Gr[Q.curve.nistP384],web:Hr[Q.curve.nistP384],payloadSize:48,sharedSize:384,wireFormatLeadingByte:4},[Q.curve.nistP521]:{oid:[6,5,43,129,4,0,35],keyType:Q.publicKey.ecdsa,hash:Q.hash.sha512,cipher:Q.symmetric.aes256,node:Gr[Q.curve.nistP521],web:Hr[Q.curve.nistP521],payloadSize:66,sharedSize:528,wireFormatLeadingByte:4},[Q.curve.secp256k1]:{oid:[6,5,43,129,4,0,10],keyType:Q.publicKey.ecdsa,hash:Q.hash.sha256,cipher:Q.symmetric.aes128,node:Gr[Q.curve.secp256k1],payloadSize:32,wireFormatLeadingByte:4},[Q.curve.ed25519Legacy]:{oid:[6,9,43,6,1,4,1,218,71,15,1],keyType:Q.publicKey.eddsaLegacy,hash:Q.hash.sha512,node:!1,payloadSize:32,wireFormatLeadingByte:64},[Q.curve.curve25519Legacy]:{oid:[6,10,43,6,1,4,1,151,85,1,5,1],keyType:Q.publicKey.ecdh,hash:Q.hash.sha256,cipher:Q.symmetric.aes128,node:!1,payloadSize:32,wireFormatLeadingByte:64},[Q.curve.brainpoolP256r1]:{oid:[6,9,43,36,3,3,2,8,1,1,7],keyType:Q.publicKey.ecdsa,hash:Q.hash.sha256,cipher:Q.symmetric.aes128,node:Gr[Q.curve.brainpoolP256r1],payloadSize:32,wireFormatLeadingByte:4},[Q.curve.brainpoolP384r1]:{oid:[6,9,43,36,3,3,2,8,1,1,11],keyType:Q.publicKey.ecdsa,hash:Q.hash.sha384,cipher:Q.symmetric.aes192,node:Gr[Q.curve.brainpoolP384r1],payloadSize:48,wireFormatLeadingByte:4},[Q.curve.brainpoolP512r1]:{oid:[6,9,43,36,3,3,2,8,1,1,13],keyType:Q.publicKey.ecdsa,hash:Q.hash.sha512,cipher:Q.symmetric.aes256,node:Gr[Q.curve.brainpoolP512r1],payloadSize:64,wireFormatLeadingByte:4}};class jr{constructor(e){try{this.name=e instanceof Je?e.getName():Q.write(Q.curve,e)}catch(e){throw new it("Unknown curve")}const t=qr[this.name];this.keyType=t.keyType,this.oid=t.oid,this.hash=t.hash,this.cipher=t.cipher,this.node=t.node,this.web=t.web,this.payloadSize=t.payloadSize,this.sharedSize=t.sharedSize,this.wireFormatLeadingByte=t.wireFormatLeadingByte,this.web&&M.getWebCrypto()?this.type="web":this.node&&M.getNodeCrypto()?this.type="node":this.name===Q.curve.curve25519Legacy?this.type="curve25519Legacy":this.name===Q.curve.ed25519Legacy&&(this.type="ed25519Legacy")}async genKeyPair(){switch(this.type){case"web":try{return await async function(e,t){const r=await Nr.generateKey({name:"ECDSA",namedCurve:Hr[e]},!0,["sign","verify"]),n=await Nr.exportKey("jwk",r.privateKey);return{publicKey:Wr(await Nr.exportKey("jwk",r.publicKey),t),privateKey:H(n.d)}}(this.name,this.wireFormatLeadingByte)}catch(e){return M.printDebugError("Browser did not support generating ec key "+e.message),Xr(this.name)}case"node":return async function(e){const t=_r.createECDH(Gr[e]);return await t.generateKeys(),{publicKey:new Uint8Array(t.getPublicKey()),privateKey:new Uint8Array(t.getPrivateKey())}}(this.name);case"curve25519Legacy":{const{k:e,A:t}=await Pr(Q.publicKey.x25519),r=e.slice().reverse();r[0]=127&r[0]|64,r[31]&=248;return{publicKey:M.concatUint8Array([new Uint8Array([this.wireFormatLeadingByte]),t]),privateKey:r}}case"ed25519Legacy":{const{seed:e,A:t}=await ct(Q.publicKey.ed25519);return{publicKey:M.concatUint8Array([new Uint8Array([this.wireFormatLeadingByte]),t]),privateKey:e}}default:return Xr(this.name)}}}async function Vr(e){const t=new jr(e),{oid:r,hash:n,cipher:i}=t,s=await t.genKeyPair();return{oid:r,Q:s.publicKey,secret:M.leftPad(s.privateKey,t.payloadSize),hash:n,cipher:i}}function Yr(e){return qr[e.getName()].hash}async function Zr(e,t,r,n){const i={[Q.curve.nistP256]:!0,[Q.curve.nistP384]:!0,[Q.curve.nistP521]:!0,[Q.curve.secp256k1]:!0,[Q.curve.curve25519Legacy]:e===Q.publicKey.ecdh,[Q.curve.brainpoolP256r1]:!0,[Q.curve.brainpoolP384r1]:!0,[Q.curve.brainpoolP512r1]:!0},s=t.getName();if(!i[s])return!1;if(s===Q.curve.curve25519Legacy){const e=n.slice().reverse();return!(r.length<1||64!==r[0])&&Dr(Q.publicKey.x25519,r.subarray(1),e)}const a=(await M.getNobleCurve(Q.publicKey.ecdsa,s)).getPublicKey(n,!1);return!!M.equalsUint8Array(a,r)}function Jr(e,t){const{payloadSize:r,wireFormatLeadingByte:n,name:i}=e,s=i===Q.curve.curve25519Legacy||i===Q.curve.ed25519Legacy?r:2*r;if(t[0]!==n||t.length!==s+1)throw Error("Invalid point encoding")}async function Xr(e){const t=await M.getNobleCurve(Q.publicKey.ecdsa,e),{secretKey:r}=t.keygen();return{publicKey:t.getPublicKey(r,!1),privateKey:r}}function Wr(e,t){const r=H(e.x),n=H(e.y),i=new Uint8Array(r.length+n.length+1);return i[0]=t,i.set(r,1),i.set(n,r.length+1),i}function $r(e,t,r){const n=e,i=r.slice(1,n+1),s=r.slice(n+1,2*n+1);return{kty:"EC",crv:t,x:z(i),y:z(s),ext:!0}}function en(e,t,r,n){const i=$r(e,t,r);return i.d=z(n),i}const tn=M.getWebCrypto(),rn=M.getNodeCrypto();async function nn(e,t,r,n,i,s){const a=new jr(e);if(Jr(a,n),r&&!M.isStream(r)){const e={publicKey:n,privateKey:i};switch(a.type){case"web":try{return await async function(e,t,r,n){const i=e.payloadSize,s=en(e.payloadSize,Hr[e.name],n.publicKey,n.privateKey),a=await tn.importKey("jwk",s,{name:"ECDSA",namedCurve:Hr[e.name],hash:{name:Q.read(Q.webHash,e.hash)}},!1,["sign"]),o=new Uint8Array(await tn.sign({name:"ECDSA",namedCurve:Hr[e.name],hash:{name:Q.read(Q.webHash,t)}},a,r));return{r:o.slice(0,i),s:o.slice(i,i<<1)}}(a,t,r,e)}catch(e){if("nistP521"!==a.name&&("DataError"===e.name||"OperationError"===e.name))throw e;M.printDebugError("Browser did not support signing: "+e.message)}break;case"node":return async function(e,t,r,n){const i=M.nodeRequire("eckey-utils"),s=M.getNodeBuffer(),{privateKey:a}=i.generateDer({curveName:Gr[e.name],privateKey:s.from(n)}),o=rn.createSign(Q.read(Q.hash,t));o.write(r),o.end();const c=new Uint8Array(o.sign({key:a,format:"der",type:"sec1",dsaEncoding:"ieee-p1363"})),u=e.payloadSize;return{r:c.subarray(0,u),s:c.subarray(u,u<<1)}}(a,t,r,i)}}const o=(await M.getNobleCurve(Q.publicKey.ecdsa,a.name)).sign(s,i,{lowS:!1});return{r:he(o.r,"be",a.payloadSize),s:he(o.s,"be",a.payloadSize)}}async function sn(e,t,r,n,i,s){const a=new jr(e);Jr(a,i);const o=async()=>0===s[0]&&an(a,r,s.subarray(1),i);if(n&&!M.isStream(n))switch(a.type){case"web":try{const e=await async function(e,t,{r,s:n},i,s){const a=$r(e.payloadSize,Hr[e.name],s),o=await tn.importKey("jwk",a,{name:"ECDSA",namedCurve:Hr[e.name],hash:{name:Q.read(Q.webHash,e.hash)}},!1,["verify"]),c=M.concatUint8Array([r,n]).buffer;return tn.verify({name:"ECDSA",namedCurve:Hr[e.name],hash:{name:Q.read(Q.webHash,t)}},o,c,i)}(a,t,r,n,i);return e||o()}catch(e){if("nistP521"!==a.name&&("DataError"===e.name||"OperationError"===e.name))throw e;M.printDebugError("Browser did not support verifying: "+e.message)}break;case"node":{const e=await async function(e,t,{r,s:n},i,s){const a=M.nodeRequire("eckey-utils"),o=M.getNodeBuffer(),{publicKey:c}=a.generateDer({curveName:Gr[e.name],publicKey:o.from(s)}),u=rn.createVerify(Q.read(Q.hash,t));u.write(i),u.end();const h=M.concatUint8Array([r,n]);try{return u.verify({key:c,format:"der",type:"spki",dsaEncoding:"ieee-p1363"},h)}catch(e){return!1}}(a,t,r,n,i);return e||o()}}return await an(a,r,s,i)||o()}async function an(e,t,r,n){return(await M.getNobleCurve(Q.publicKey.ecdsa,e.name)).verify(M.concatUint8Array([t.r,t.s]),r,n,{lowS:!1})}var on=/*#__PURE__*/Object.freeze({__proto__:null,sign:nn,validateParams:async function(e,t,r){const n=new jr(e);if(n.keyType!==Q.publicKey.ecdsa)return!1;switch(n.type){case"web":case"node":{const n=fe(8),i=Q.hash.sha256,s=await xe(i,n);try{const a=await nn(e,i,n,t,r,s);return await sn(e,i,a,n,t,s)}catch(e){return!1}}default:return Zr(Q.publicKey.ecdsa,e,t,r)}},verify:sn});async function cn(e,t,r,n,i,s){Jr(new jr(e),n);const{RS:a}=await ut(Q.publicKey.ed25519,0,0,n.subarray(1),i,s);return{r:a.subarray(0,32),s:a.subarray(32)}}async function un(e,t,{r,s:n},i,s,a){Jr(new jr(e),s);const o=M.concatUint8Array([r,n]);return ht(Q.publicKey.ed25519,0,{RS:o},0,s.subarray(1),a)}async function hn(e,t,r){return e.getName()===Q.curve.ed25519Legacy&&(!(t.length<1||64!==t[0])&&lt(Q.publicKey.ed25519,t.subarray(1),r))}var ln=/*#__PURE__*/Object.freeze({__proto__:null,sign:cn,validateParams:hn,verify:un});function fn(e){const t=e.length;if(t>0){const r=e[t-1];if(r>=1){const n=e.subarray(t-r),i=new Uint8Array(r).fill(r);if(M.equalsUint8Array(n,i))return e.subarray(0,t-r)}}throw Error("Invalid padding")}function yn(e,t,r,n){return M.concatUint8Array([t.write(),new Uint8Array([e]),r.write(!0),M.stringToUint8Array("Anonymous Sender "),r.replacementFingerprint||n])}async function pn(e,t,r,n,i=!1,s=!1){let a;if(i){for(a=0;a<t.length&&0===t[a];a++);t=t.subarray(a)}if(s){for(a=t.length-1;a>=0&&0===t[a];a--);t=t.subarray(0,a+1)}return(await xe(e,M.concatUint8Array([new Uint8Array([0,0,0,1]),t,n]))).subarray(0,r)}async function dn(e,t){switch(e.type){case"curve25519Legacy":{const{sharedSecret:r,ephemeralPublicKey:n}=await Tr(Q.publicKey.x25519,t.subarray(1));return{publicKey:M.concatUint8Array([new Uint8Array([e.wireFormatLeadingByte]),n]),sharedKey:r}}case"web":if(e.web&&M.getWebCrypto())try{return await async function(e,t){const r=M.getWebCrypto(),n=$r(e.payloadSize,e.web,t);let i=r.generateKey({name:"ECDH",namedCurve:e.web},!0,["deriveKey","deriveBits"]),s=r.importKey("jwk",n,{name:"ECDH",namedCurve:e.web},!1,[]);[i,s]=await Promise.all([i,s]);let a=r.deriveBits({name:"ECDH",namedCurve:e.web,public:s},i.privateKey,e.sharedSize),o=r.exportKey("jwk",i.publicKey);[a,o]=await Promise.all([a,o]);const c=new Uint8Array(a),u=new Uint8Array(Wr(o,e.wireFormatLeadingByte));return{publicKey:u,sharedKey:c}}(e,t)}catch(r){return M.printDebugError(r),bn(e,t)}break;case"node":return async function(e,t){const r=M.getNodeCrypto(),n=r.createECDH(e.node);n.generateKeys();const i=new Uint8Array(n.computeSecret(t));return{publicKey:new Uint8Array(n.getPublicKey()),sharedKey:i}}(e,t);default:return bn(e,t)}}async function gn(e,t,r,n,i){const s=function(e){const t=8-e.length%8,r=new Uint8Array(e.length+t).fill(t);return r.set(e),r}(r),a=new jr(e);Jr(a,n);const{publicKey:o,sharedKey:c}=await dn(a,n),u=yn(Q.publicKey.ecdh,e,t,i),{keySize:h}=Kr(t.cipher),l=await pn(t.hash,c,h,u);return{publicKey:o,wrappedKey:await Ir(t.cipher,l,s)}}async function An(e,t,r,n){if(n.length!==e.payloadSize){const t=new Uint8Array(e.payloadSize);t.set(n,e.payloadSize-n.length),n=t}switch(e.type){case"curve25519Legacy":{const e=n.slice().reverse();return{secretKey:e,sharedKey:await Mr(Q.publicKey.x25519,t.subarray(1),r.subarray(1),e)}}case"web":if(e.web&&M.getWebCrypto())try{return await async function(e,t,r,n){const i=M.getWebCrypto(),s=en(e.payloadSize,e.web,r,n);let a=i.importKey("jwk",s,{name:"ECDH",namedCurve:e.web},!0,["deriveKey","deriveBits"]);const o=$r(e.payloadSize,e.web,t);let c=i.importKey("jwk",o,{name:"ECDH",namedCurve:e.web},!0,[]);[a,c]=await Promise.all([a,c]);let u=i.deriveBits({name:"ECDH",namedCurve:e.web,public:c},a,e.sharedSize),h=i.exportKey("jwk",a);[u,h]=await Promise.all([u,h]);const l=new Uint8Array(u);return{secretKey:H(h.d),sharedKey:l}}(e,t,r,n)}catch(r){return M.printDebugError(r),mn(e,t,n)}break;case"node":return async function(e,t,r){const n=M.getNodeCrypto(),i=n.createECDH(e.node);i.setPrivateKey(r);const s=new Uint8Array(i.computeSecret(t));return{secretKey:new Uint8Array(i.getPrivateKey()),sharedKey:s}}(e,t,n);default:return mn(e,t,n)}}async function wn(e,t,r,n,i,s,a){const o=new jr(e);Jr(o,i),Jr(o,r);const{sharedKey:c}=await An(o,r,i,s),u=yn(Q.publicKey.ecdh,e,t,a),{keySize:h}=Kr(t.cipher);let l;for(let e=0;e<3;e++)try{const r=await pn(t.hash,c,h,u,1===e,2===e);return fn(await Br(t.cipher,r,n))}catch(e){l=e}throw l}async function mn(e,t,r){return{secretKey:r,sharedKey:(await M.getNobleCurve(Q.publicKey.ecdh,e.name)).getSharedSecret(r,t).subarray(1)}}async function bn(e,t){const r=await M.getNobleCurve(Q.publicKey.ecdh,e.name),{publicKey:n,privateKey:i}=await e.genKeyPair();return{publicKey:n,sharedKey:r.getSharedSecret(i,t).subarray(1)}}var kn=/*#__PURE__*/Object.freeze({__proto__:null,decrypt:wn,encrypt:gn,validateParams:async function(e,t,r){return Zr(Q.publicKey.ecdh,e,t,r)}}),En=/*#__PURE__*/Object.freeze({__proto__:null,CurveWithOID:jr,ecdh:kn,ecdhX:Or,ecdsa:on,eddsa:gt,eddsaLegacy:ln,generate:Vr,getPreferredHashAlgo:Yr});const vn=BigInt(0),Kn=BigInt(1);const Sn=new Set([Q.hash.sha1,Q.hash.sha256,Q.hash.sha512]),In=M.getWebCrypto(),Bn=M.getNodeCrypto();async function Cn(e,t){if(e===Q.publicKey.pqc_mlkem_x25519){const{ml_kem768:e}=await Promise.resolve().then((function(){return ld})),{publicKey:r,secretKey:n}=e.keygen(t);return{mlkemPublicKey:r,mlkemSecretKey:n}}throw Error("Unsupported KEM algorithm")}async function Un(e){const{eccPublicKey:t,eccSecretKey:r}=await async function(e){if(e===Q.publicKey.pqc_mlkem_x25519){const{A:e,k:t}=await Pr(Q.publicKey.x25519);return{eccPublicKey:e,eccSecretKey:t}}throw Error("Unsupported KEM algorithm")}(e),{mlkemPublicKey:n,mlkemSeed:i,mlkemSecretKey:s}=await async function(e){if(e===Q.publicKey.pqc_mlkem_x25519){const t=fe(64),{mlkemSecretKey:r,mlkemPublicKey:n}=await Cn(e,t);return{mlkemSeed:t,mlkemSecretKey:r,mlkemPublicKey:n}}throw Error("Unsupported KEM algorithm")}(e);return{eccPublicKey:t,eccSecretKey:r,mlkemPublicKey:n,mlkemSeed:i,mlkemSecretKey:s}}async function Pn(e,t,r,n){const{eccKeyShare:i,eccCipherText:s}=await async function(e,t){if(e===Q.publicKey.pqc_mlkem_x25519){const{ephemeralPublicKey:e,sharedSecret:r}=await Tr(Q.publicKey.x25519,t);return{eccCipherText:e,eccKeyShare:r}}throw Error("Unsupported KEM algorithm")}(e,t),{mlkemKeyShare:a,mlkemCipherText:o}=await async function(e,t){if(e===Q.publicKey.pqc_mlkem_x25519){const{ml_kem768:e}=await Promise.resolve().then((function(){return ld})),{cipherText:r,sharedSecret:n}=e.encapsulate(t);return{mlkemCipherText:r,mlkemKeyShare:n}}throw Error("Unsupported KEM algorithm")}(e,r),c=await xn(e,a,i,s,t);return{eccCipherText:s,mlkemCipherText:o,wrappedKey:await Ir(Q.symmetric.aes256,c,n)}}async function Dn(e,t,r,n,i,s,a,o){const c=await async function(e,t,r,n){if(e===Q.publicKey.pqc_mlkem_x25519)return await Mr(Q.publicKey.x25519,t,n,r);throw Error("Unsupported KEM algorithm")}(e,t,n,i),u=await async function(e,t,r){if(e===Q.publicKey.pqc_mlkem_x25519){const{ml_kem768:e}=await Promise.resolve().then((function(){return ld}));return e.decapsulate(t,r)}throw Error("Unsupported KEM algorithm")}(e,r,s),h=await xn(e,u,c,t,i);return await Br(Q.symmetric.aes256,h,o)}async function xn(e,t,r,n,i){const s=M.encodeUTF8("OpenPGPCompositeKDFv1"),a=M.concatUint8Array([t,r,n,i,new Uint8Array([e]),s,new Uint8Array([s.length])]);return await xe(Q.hash.sha3_256,a)}async function Qn(e,t,r,n,i){const s=async function(e,t,r){if(e===Q.publicKey.pqc_mlkem_x25519)return Dr(Q.publicKey.x25519,t,r);throw Error("Unsupported KEM algorithm")}(e,t,r),a=async function(e,t,r){if(e===Q.publicKey.pqc_mlkem_x25519){const{mlkemPublicKey:n}=await Cn(e,r);return M.equalsUint8Array(t,n)}throw Error("Unsupported KEM algorithm")}(e,n,i);return await s&&await a}async function Rn(e,t){if(e===Q.publicKey.pqc_mldsa_ed25519){const{ml_dsa65:e}=await Promise.resolve().then((function(){return ld})),{secretKey:r,publicKey:n}=e.keygen(t);return{mldsaSecretKey:r,mldsaPublicKey:n}}throw Error("Unsupported signature algorithm")}async function Tn(e){if(e===Q.publicKey.pqc_mldsa_ed25519){const{eccSecretKey:t,eccPublicKey:r}=await async function(e){if(e===Q.publicKey.pqc_mldsa_ed25519){const{A:e,seed:t}=await ct(Q.publicKey.ed25519);return{eccPublicKey:e,eccSecretKey:t}}throw Error("Unsupported signature algorithm")}(e),{mldsaSeed:n,mldsaSecretKey:i,mldsaPublicKey:s}=await async function(e){if(e===Q.publicKey.pqc_mldsa_ed25519){const t=fe(32),{mldsaSecretKey:r,mldsaPublicKey:n}=await Rn(e,t);return{mldsaSeed:t,mldsaSecretKey:r,mldsaPublicKey:n}}throw Error("Unsupported signature algorithm")}(e);return{eccSecretKey:t,eccPublicKey:r,mldsaSeed:n,mldsaSecretKey:i,mldsaPublicKey:s}}throw Error("Unsupported signature algorithm")}async function Mn(e,t,r,n,i,s){if(e===Q.publicKey.pqc_mldsa_ed25519){const{eccSignature:t}=await async function(e,t,r,n,i){if(e===Q.publicKey.pqc_mldsa_ed25519){const{RS:e}=await ut(Q.publicKey.ed25519,0,0,n,r,i);return{eccSignature:e}}throw Error("Unsupported signature algorithm")}(e,0,r,n,s),{mldsaSignature:a}=await async function(e,t,r){if(e===Q.publicKey.pqc_mldsa_ed25519){const{ml_dsa65:e}=await Promise.resolve().then((function(){return ld}));return{mldsaSignature:e.sign(t,r)}}throw Error("Unsupported signature algorithm")}(e,i,s);return{eccSignature:t,mldsaSignature:a}}throw Error("Unsupported signature algorithm")}async function Ln(e,t,r,n,i,{eccSignature:s,mldsaSignature:a}){if(e===Q.publicKey.pqc_mldsa_ed25519){const t=async function(e,t,r,n,i){if(e===Q.publicKey.pqc_mldsa_ed25519)return ht(Q.publicKey.ed25519,0,{RS:i},0,r,n);throw Error("Unsupported signature algorithm")}(e,0,r,i,s),o=async function(e,t,r,n){if(e===Q.publicKey.pqc_mldsa_ed25519){const{ml_dsa65:e}=await Promise.resolve().then((function(){return ld}));return e.verify(t,r,n)}throw Error("Unsupported signature algorithm")}(e,n,i,a);return await t&&await o}throw Error("Unsupported signature algorithm")}function Fn(e,t){if(e===Q.publicKey.pqc_mldsa_ed25519)return Qe(t)>=32;throw Error("Unsupported signature algorithm")}async function On(e,t,r,n,i){const s=async function(e,t,r){if(e===Q.publicKey.pqc_mldsa_ed25519)return lt(Q.publicKey.ed25519,t,r);throw Error("Unsupported signature algorithm")}(e,t,r),a=async function(e,t,r){if(e===Q.publicKey.pqc_mldsa_ed25519){const{mldsaPublicKey:n}=await Rn(e,r);return M.equalsUint8Array(t,n)}throw Error("Unsupported signature algorithm")}(e,n,i);return await s&&await a}class Nn{constructor(e){e&&(this.data=e)}read(e){if(e.length>=1){const t=e[0];if(e.length>=1+t)return this.data=e.subarray(1,1+t),1+this.data.length}throw Error("Invalid symmetric key")}write(){return M.concatUint8Array([new Uint8Array([this.data.length]),this.data])}}class _n{constructor(e){if(void 0===e&&(e=new Uint8Array([])),!M.isUint8Array(e))throw Error("data must be in the form of a Uint8Array");this.data=e,this.length=this.data.byteLength}write(){return M.concatUint8Array([new Uint8Array([this.length]),this.data])}read(e){if(e.length>=1){const t=e[0];if(e.length>=t+1)return this.data=e.subarray(1,1+t),this.length=t,1+t}throw Error("Invalid octet string")}}class Hn{constructor(e){if(e){const{version:t,hash:r,cipher:n,replacementFingerprint:i}=e;this.version=t||1,this.hash=r,this.cipher=n,this.replacementFingerprint=i}else this.version=null,this.hash=null,this.cipher=null,this.replacementFingerprint=null}read(e){if(e.length<4||1!==e[1]&&255!==e[1])throw new it("Cannot read KDFParams");const t=e[0];this.version=e[1],this.hash=e[2],this.cipher=e[3];let r=4;if(255===this.version){const n=t-r+1;this.replacementFingerprint=e.slice(r,r+n),r+=n}return r}write(e){if(!this.version||1===this.version||e)return new Uint8Array([3,1,this.hash,this.cipher]);return M.concatUint8Array([new Uint8Array([3+this.replacementFingerprint.length,this.version,this.hash,this.cipher]),this.replacementFingerprint])}}const zn=e=>class{constructor(e){this.data=void 0===e?null:e}read(t){const r=t[0];return this.data=Q.write(e,r),1}write(){return new Uint8Array([this.data])}getName(){return Q.read(e,this.data)}getValue(){return this.data}},Gn=zn(Q.aead),qn=zn(Q.symmetric),jn=zn(Q.hash);class Vn{static fromObject({wrappedKey:e,algorithm:t}){const r=new Vn;return r.wrappedKey=e,r.algorithm=t,r}read(e){let t=0,r=e[t++];this.algorithm=r%2?e[t++]:null,r-=r%2,this.wrappedKey=M.readExactSubarray(e,t,t+r),t+=r}write(){return M.concatUint8Array([this.algorithm?new Uint8Array([this.wrappedKey.length+1,this.algorithm]):new Uint8Array([this.wrappedKey.length]),this.wrappedKey])}}const Yn=M.getWebCrypto(),Zn=M.getNodeCrypto(),Jn=Zn?Zn.getCiphers():[],Xn={idea:Jn.includes("idea-cfb")?"idea-cfb":void 0,tripledes:Jn.includes("des-ede3-cfb")?"des-ede3-cfb":void 0,cast5:Jn.includes("cast5-cfb")?"cast5-cfb":void 0,blowfish:Jn.includes("bf-cfb")?"bf-cfb":void 0,aes128:Jn.includes("aes-128-cfb")?"aes-128-cfb":void 0,aes192:Jn.includes("aes-192-cfb")?"aes-192-cfb":void 0,aes256:Jn.includes("aes-256-cfb")?"aes-256-cfb":void 0};async function Wn(e){const{blockSize:t}=Kr(e),r=await fe(t),n=new Uint8Array([r[r.length-2],r[r.length-1]]);return M.concat([r,n])}async function $n(e,t,r,n,i){const s=Q.read(Q.symmetric,e);if(M.getNodeCrypto()&&Xn[s])return function(e,t,r,n){const i=Q.read(Q.symmetric,e),s=new Zn.createCipheriv(Xn[i],t,n);return b(r,(e=>new Uint8Array(s.update(e))))}(e,t,r,n);if(M.isAES(e))return async function(e,t,r,n){if(Yn&&await ti.isSupported(e)){const i=new ti(e,t,n);return M.isStream(r)?b(r,(e=>i.encryptChunk(e)),(()=>i.finish())):i.encrypt(r)}if(M.isStream(r)){const i=new ri(!0,e,t,n);return b(r,(e=>i.processChunk(e)),(()=>i.finish()))}return lr(t,n).encrypt(r)}(e,t,r,n);const a=new(await kr(e))(t),o=a.blockSize,c=n.slice();let u=new Uint8Array;const h=e=>{e&&(u=M.concatUint8Array([u,e]));const t=new Uint8Array(u.length);let r,n=0;for(;e?u.length>=o:u.length;){const e=a.encrypt(c);for(r=0;r<o;r++)c[r]=u[r]^e[r],t[n++]=c[r];u=u.subarray(o)}return t.subarray(0,n)};return b(r,h,h)}async function ei(e,t,r,n){const i=Q.read(Q.symmetric,e);if(Zn&&Xn[i])return function(e,t,r,n){const i=Q.read(Q.symmetric,e),s=new Zn.createDecipheriv(Xn[i],t,n);return b(r,(e=>new Uint8Array(s.update(e))))}(e,t,r,n);if(M.isAES(e))return async function(e,t,r,n){if(M.isStream(r)){const i=new ri(!1,e,t,n);return b(r,(e=>i.processChunk(e)),(()=>i.finish()))}return lr(t,n).decrypt(r)}(e,t,r,n);const s=new(await kr(e))(t),a=s.blockSize;let o=n,c=new Uint8Array;const u=e=>{e&&(c=M.concatUint8Array([c,e]));const t=new Uint8Array(c.length);let r,n=0;for(;e?c.length>=a:c.length;){const e=s.encrypt(o);for(o=c.subarray(0,a),r=0;r<a;r++)t[n++]=o[r]^e[r];c=c.subarray(a)}return t.subarray(0,n)};return b(r,u,u)}class ti{constructor(e,t,r){const{blockSize:n}=Kr(e);this.key=t,this.prevBlock=r,this.nextBlock=new Uint8Array(n),this.i=0,this.blockSize=n,this.zeroBlock=new Uint8Array(this.blockSize)}static async isSupported(e){const{keySize:t}=Kr(e);return Yn.importKey("raw",new Uint8Array(t),"aes-cbc",!1,["encrypt"]).then((()=>!0),(()=>!1))}async _runCBC(e,t){const r="AES-CBC";this.keyRef=this.keyRef||await Yn.importKey("raw",this.key,r,!1,["encrypt"]);const n=await Yn.encrypt({name:r,iv:t||this.zeroBlock},this.keyRef,e);return new Uint8Array(n).subarray(0,e.length)}async encryptChunk(e){const t=this.nextBlock.length-this.i,r=e.subarray(0,t);if(this.nextBlock.set(r,this.i),this.i+e.length>=2*this.blockSize){const r=(e.length-t)%this.blockSize,n=M.concatUint8Array([this.nextBlock,e.subarray(t,e.length-r)]),i=M.concatUint8Array([this.prevBlock,n.subarray(0,n.length-this.blockSize)]),s=await this._runCBC(i);return ni(s,n),this.prevBlock=s.slice(-this.blockSize),r>0&&this.nextBlock.set(e.subarray(-r)),this.i=r,s}let n;if(this.i+=r.length,this.i===this.nextBlock.length){const t=this.nextBlock;n=await this._runCBC(this.prevBlock),ni(n,t),this.prevBlock=n.slice(),this.i=0;const i=e.subarray(r.length);this.nextBlock.set(i,this.i),this.i+=i.length}else n=new Uint8Array;return n}async finish(){let e;if(0===this.i)e=new Uint8Array;else{this.nextBlock=this.nextBlock.subarray(0,this.i);const t=this.nextBlock,r=await this._runCBC(this.prevBlock);ni(r,t),e=r.subarray(0,t.length)}return this.clearSensitiveData(),e}clearSensitiveData(){this.nextBlock.fill(0),this.prevBlock.fill(0),this.keyRef=null,this.key=null}async encrypt(e){const t=(await this._runCBC(M.concatUint8Array([new Uint8Array(this.blockSize),e]),this.iv)).subarray(0,e.length);return ni(t,e),this.clearSensitiveData(),t}}class ri{constructor(e,t,r,n){this.forEncryption=e;const{blockSize:i}=Kr(t);this.key=br.expandKeyLE(r),n.byteOffset%4!=0&&(n=n.slice()),this.prevBlock=ii(n),this.nextBlock=new Uint8Array(i),this.i=0,this.blockSize=i}_runCFB(e){const t=ii(e),r=new Uint8Array(e.length),n=ii(r);for(let e=0;e+4<=n.length;e+=4){const{s0:r,s1:i,s2:s,s3:a}=br.encrypt(this.key,this.prevBlock[0],this.prevBlock[1],this.prevBlock[2],this.prevBlock[3]);n[e+0]=t[e+0]^r,n[e+1]=t[e+1]^i,n[e+2]=t[e+2]^s,n[e+3]=t[e+3]^a,this.prevBlock=(this.forEncryption?n:t).slice(e,e+4)}return r}async processChunk(e){const t=this.nextBlock.length-this.i,r=e.subarray(0,t);if(this.nextBlock.set(r,this.i),this.i+e.length>=2*this.blockSize){const r=(e.length-t)%this.blockSize,n=M.concatUint8Array([this.nextBlock,e.subarray(t,e.length-r)]),i=this._runCFB(n);return r>0&&this.nextBlock.set(e.subarray(-r)),this.i=r,i}let n;if(this.i+=r.length,this.i===this.nextBlock.length){n=this._runCFB(this.nextBlock),this.i=0;const t=e.subarray(r.length);this.nextBlock.set(t,this.i),this.i+=t.length}else n=new Uint8Array;return n}async finish(){let e;if(0===this.i)e=new Uint8Array;else{e=this._runCFB(this.nextBlock).subarray(0,this.i)}return this.clearSensitiveData(),e}clearSensitiveData(){this.nextBlock.fill(0),this.prevBlock.fill(0),this.key.fill(0)}}function ni(e,t){const r=Math.min(e.length,t.length);for(let n=0;n<r;n++)e[n]=e[n]^t[n]}const ii=e=>new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4));const si=M.getWebCrypto(),ai=M.getNodeCrypto(),oi=16;function ci(e,t){const r=e.length-oi;for(let n=0;n<oi;n++)e[n+r]^=t[n];return e}const ui=new Uint8Array(oi);async function hi(e){const t=await li(e),r=M.double(await t(ui)),n=M.double(r);return async function(e){return(await t(function(e,t,r){if(e.length&&e.length%oi==0)return ci(e,t);const n=new Uint8Array(e.length+(oi-e.length%oi));return n.set(e),n[e.length]=128,ci(n,r)}(e,r,n))).subarray(-16)}}async function li(e){if(M.getNodeCrypto())return async function(t){const r=new ai.createCipheriv("aes-"+8*e.length+"-cbc",e,ui).update(t);return new Uint8Array(r)};if(M.getWebCrypto())try{return e=await si.importKey("raw",e,{name:"AES-CBC",length:8*e.length},!1,["encrypt"]),async function(t){const r=await si.encrypt({name:"AES-CBC",iv:ui,length:128},e,t);return new Uint8Array(r).subarray(0,r.byteLength-oi)}}catch(t){if("NotSupportedError"!==t.name&&(24!==e.length||"OperationError"!==t.name))throw t;M.printDebugError("Browser did not support operation: "+t.message)}return async function(t){return hr(e,ui,{disablePadding:!0}).encrypt(t)}}const fi=M.getWebCrypto(),yi=M.getNodeCrypto(),pi=M.getNodeBuffer(),di=16,gi=di,Ai=new Uint8Array(di),wi=new Uint8Array(di);wi[15]=1;const mi=new Uint8Array(di);async function bi(e){const t=await hi(e);return function(e,r){return t(M.concatUint8Array([e,r]))}}async function ki(e){if(M.getNodeCrypto())return async function(t,r){const n=new yi.createCipheriv("aes-"+8*e.length+"-ctr",e,r),i=pi.concat([n.update(t),n.final()]);return new Uint8Array(i)};if(M.getWebCrypto())try{const t=await fi.importKey("raw",e,{name:"AES-CTR",length:8*e.length},!1,["encrypt"]);return async function(e,r){const n=await fi.encrypt({name:"AES-CTR",counter:r,length:128},t,e);return new Uint8Array(n)}}catch(t){if("NotSupportedError"!==t.name&&(24!==e.length||"OperationError"!==t.name))throw t;M.printDebugError("Browser did not support operation: "+t.message)}return async function(t,r){return ur(e,r).encrypt(t)}}async function Ei(e,t){if(e!==Q.symmetric.aes128&&e!==Q.symmetric.aes192&&e!==Q.symmetric.aes256)throw Error("EAX mode supports only AES cipher");const[r,n]=await Promise.all([bi(t),ki(t)]);return{encrypt:async function(e,t,i){const[s,a]=await Promise.all([r(Ai,t),r(wi,i)]),o=await n(e,s),c=await r(mi,o);for(let e=0;e<gi;e++)c[e]^=a[e]^s[e];return M.concatUint8Array([o,c])},decrypt:async function(e,t,i){if(e.length<gi)throw Error("Invalid EAX ciphertext");const s=e.subarray(0,-16),a=e.subarray(-16),[o,c,u]=await Promise.all([r(Ai,t),r(wi,i),r(mi,s)]),h=u;for(let e=0;e<gi;e++)h[e]^=c[e]^o[e];if(!M.equalsUint8Array(a,h))throw Error("Authentication tag mismatch");return await n(s,o)}}}mi[15]=2,Ei.getNonce=function(e,t){const r=e.slice();for(let e=0;e<t.length;e++)r[8+e]^=t[e];return r},Ei.blockLength=di,Ei.ivLength=16,Ei.tagLength=gi;const vi=16,Ki=16;function Si(e){let t=0;for(let r=1;!(e&r);r<<=1)t++;return t}function Ii(e,t){for(let r=0;r<e.length;r++)e[r]^=t[r];return e}function Bi(e,t){return Ii(e.slice(),t)}const Ci=new Uint8Array(vi),Ui=new Uint8Array([1]);async function Pi(e,t){const{keySize:r}=Kr(e);if(!M.isAES(e)||t.length!==r)throw Error("Unexpected algorithm or key size");let n=0;const i=e=>hr(t,Ci,{disablePadding:!0}).encrypt(e),s=e=>hr(t,Ci,{disablePadding:!0}).decrypt(e);let a;function o(e,t,r,s){const o=t.length/vi|0;!function(e,t){const r=M.nbits(Math.max(e.length,t.length)/vi|0)-1;for(let e=n+1;e<=r;e++)a[e]=M.double(a[e-1]);n=r}(t,s);const c=M.concatUint8Array([Ci.subarray(0,15-r.length),Ui,r]),u=63&c[15];c[15]&=192;const h=i(c),l=M.concatUint8Array([h,Bi(h.subarray(0,8),h.subarray(1,9))]),f=M.shiftRight(l.subarray(0+(u>>3),17+(u>>3)),8-(7&u)).subarray(1),y=new Uint8Array(vi),p=new Uint8Array(t.length+Ki);let d,g=0;for(d=0;d<o;d++)Ii(f,a[Si(d+1)]),p.set(Ii(e(Bi(f,t)),f),g),Ii(y,e===i?t:p.subarray(g)),t=t.subarray(vi),g+=vi;if(t.length){Ii(f,a.x);const r=i(f);p.set(Bi(t,r),g);const n=new Uint8Array(vi);n.set(e===i?t:p.subarray(g,-16),0),n[t.length]=128,Ii(y,n),g+=t.length}const A=Ii(i(Ii(Ii(y,f),a.$)),function(e){if(!e.length)return Ci;const t=e.length/vi|0,r=new Uint8Array(vi),n=new Uint8Array(vi);for(let s=0;s<t;s++)Ii(r,a[Si(s+1)]),Ii(n,i(Bi(r,e))),e=e.subarray(vi);if(e.length){Ii(r,a.x);const t=new Uint8Array(vi);t.set(e,0),t[e.length]=128,Ii(t,r),Ii(n,i(t))}return n}(s));return p.set(A,g),p}return function(){const e=i(Ci),t=M.double(e);a=[],a[0]=M.double(t),a.x=e,a.$=t}(),{encrypt:async function(e,t,r){return o(i,e,t,r)},decrypt:async function(e,t,r){if(e.length<Ki)throw Error("Invalid OCB ciphertext");const n=e.subarray(-16);e=e.subarray(0,-16);const i=o(s,e,t,r);if(M.equalsUint8Array(n,i.subarray(-16)))return i.subarray(0,-16);throw Error("Authentication tag mismatch")}}}Pi.getNonce=function(e,t){const r=e.slice();for(let e=0;e<t.length;e++)r[7+e]^=t[e];return r},Pi.blockLength=vi,Pi.ivLength=15,Pi.tagLength=Ki;const Di=M.getWebCrypto(),xi=M.getNodeCrypto(),Qi=M.getNodeBuffer(),Ri=16,Ti="AES-GCM";async function Mi(e,t){if(e!==Q.symmetric.aes128&&e!==Q.symmetric.aes192&&e!==Q.symmetric.aes256)throw Error("GCM mode supports only AES cipher");if(M.getNodeCrypto())return{encrypt:async function(e,r,n=new Uint8Array){const i=new xi.createCipheriv("aes-"+8*t.length+"-gcm",t,r);i.setAAD(n);const s=Qi.concat([i.update(e),i.final(),i.getAuthTag()]);return new Uint8Array(s)},decrypt:async function(e,r,n=new Uint8Array){const i=new xi.createDecipheriv("aes-"+8*t.length+"-gcm",t,r);i.setAAD(n),i.setAuthTag(e.slice(e.length-Ri,e.length));const s=Qi.concat([i.update(e.slice(0,e.length-Ri)),i.final()]);return new Uint8Array(s)}};if(M.getWebCrypto())try{const e=await Di.importKey("raw",t,{name:Ti},!1,["encrypt","decrypt"]),r=navigator.userAgent.match(/Version\/13\.\d(\.\d)* Safari/)||navigator.userAgent.match(/Version\/(13|14)\.\d(\.\d)* Mobile\/\S* Safari/);return{encrypt:async function(n,i,s=new Uint8Array){if(r&&!n.length)return yr(t,i,s).encrypt(n);const a=await Di.encrypt({name:Ti,iv:i,additionalData:s,tagLength:128},e,n);return new Uint8Array(a)},decrypt:async function(n,i,s=new Uint8Array){if(r&&n.length===Ri)return yr(t,i,s).decrypt(n);try{const t=await Di.decrypt({name:Ti,iv:i,additionalData:s,tagLength:128},e,n);return new Uint8Array(t)}catch(e){if("OperationError"===e.name)throw Error("Authentication tag mismatch")}}}}catch(e){if("NotSupportedError"!==e.name&&(24!==t.length||"OperationError"!==e.name))throw e;M.printDebugError("Browser did not support operation: "+e.message)}return{encrypt:async function(e,r,n){return yr(t,r,n).encrypt(e)},decrypt:async function(e,r,n){return yr(t,r,n).decrypt(e)}}}function Li(e,t=!1){switch(e){case Q.aead.eax:return Ei;case Q.aead.ocb:return Pi;case Q.aead.gcm:return Mi;case Q.aead.experimentalGCM:if(!t)throw Error("Unexpected non-standard `experimentalGCM` AEAD algorithm provided in `config.preferredAEADAlgorithm`: use `gcm` instead");return Mi;default:throw Error("Unsupported AEAD mode")}}async function Fi(e,t,r,n,i,s){switch(e){case Q.publicKey.rsaEncrypt:case Q.publicKey.rsaEncryptSign:{const{n:e,e:t}=r;return{c:await ze(i,e,t)}}case Q.publicKey.elgamal:{const{p:e,g:t,y:n}=r;return async function(e,t,r,n){t=te(t),r=te(r),n=te(n);const i=te(Te(e,ue(t))),s=ye(Ye,t-Ye);return{c1:he(ne(r,s,t)),c2:he(re(ne(n,s,t)*i,t))}}(i,e,t,n)}case Q.publicKey.ecdh:{const{oid:e,Q:t,kdfParams:n}=r,{publicKey:a,wrappedKey:o}=await gn(e,n,i,t,s);return{V:a,C:new Nn(o)}}case Q.publicKey.x25519:case Q.publicKey.x448:{if(t&&!M.isAES(t))throw Error("X25519 and X448 keys can only encrypt AES session keys");const{A:n}=r,{ephemeralPublicKey:s,wrappedKey:a}=await xr(e,i,n);return{ephemeralPublicKey:s,C:Vn.fromObject({algorithm:t,wrappedKey:a})}}case Q.publicKey.aead:{if(!n)throw Error("Cannot encrypt with symmetric key missing private parameters");const{cipher:e}=r,t=e.getValue(),{keyMaterial:s}=n,a=R.preferredAEADAlgorithm,o=Li(R.preferredAEADAlgorithm),{ivLength:c}=o,u=fe(c),h=await o(t,s),l=await h.encrypt(i,u,new Uint8Array);return{aeadMode:new Gn(a),iv:u,c:new _n(l)}}case Q.publicKey.pqc_mlkem_x25519:{const{eccPublicKey:n,mlkemPublicKey:s}=r,{eccCipherText:a,mlkemCipherText:o,wrappedKey:c}=await Pn(e,n,s,i);return{eccCipherText:a,mlkemCipherText:o,C:Vn.fromObject({algorithm:t,wrappedKey:c})}}default:return[]}}async function Oi(e,t,r,n,i,s){switch(e){case Q.publicKey.rsaEncryptSign:case Q.publicKey.rsaEncrypt:{const{c:e}=n,{n:i,e:a}=t,{d:o,p:c,q:u,u:h}=r;return Ge(e,i,a,o,c,u,h,s)}case Q.publicKey.elgamal:{const{c1:e,c2:i}=n;return async function(e,t,r,n,i){return e=te(e),t=te(t),r=te(r),Me(he(re(se(ne(e,n=te(n),r),r)*t,r),"be",ue(r)),i)}(e,i,t.p,r.x,s)}case Q.publicKey.ecdh:{const{oid:e,Q:s,kdfParams:a}=t,{d:o}=r,{V:c,C:u}=n;return wn(e,a,c,u.data,s,o,i)}case Q.publicKey.x25519:case Q.publicKey.x448:{const{A:i}=t,{k:s}=r,{ephemeralPublicKey:a,C:o}=n;if(null!==o.algorithm&&!M.isAES(o.algorithm))throw Error("AES session key expected");return Qr(e,a,o.wrappedKey,i,s)}case Q.publicKey.aead:{const{cipher:e}=t,i=e.getValue(),{keyMaterial:s}=r,{aeadMode:a,iv:o,c}=n,u=Li(a.getValue());return(await u(i,s)).decrypt(c.data,o,new Uint8Array)}case Q.publicKey.pqc_mlkem_x25519:{const{eccSecretKey:i,mlkemSecretKey:s}=r,{eccPublicKey:a,mlkemPublicKey:o}=t,{eccCipherText:c,mlkemCipherText:u,C:h}=n;return Dn(e,c,u,i,a,s,0,h.wrappedKey)}default:throw Error("Unknown public key encryption algorithm.")}}async function Ni(e,t,r){let n=0;switch(e){case Q.publicKey.rsaEncrypt:case Q.publicKey.rsaEncryptSign:case Q.publicKey.rsaSign:{const e=M.readMPI(t.subarray(n));n+=e.length+2;const r=M.readMPI(t.subarray(n));n+=r.length+2;const i=M.readMPI(t.subarray(n));n+=i.length+2;const s=M.readMPI(t.subarray(n));return n+=s.length+2,{read:n,privateParams:{d:e,p:r,q:i,u:s}}}case Q.publicKey.dsa:case Q.publicKey.elgamal:{const e=M.readMPI(t.subarray(n));return n+=e.length+2,{read:n,privateParams:{x:e}}}case Q.publicKey.ecdsa:case Q.publicKey.ecdh:{const i=Vi(e,r.oid);let s=M.readMPI(t.subarray(n));return n+=s.length+2,s=M.leftPad(s,i),{read:n,privateParams:{d:s}}}case Q.publicKey.eddsaLegacy:{const i=Vi(e,r.oid);if(r.oid.getName()!==Q.curve.ed25519Legacy)throw Error("Unexpected OID for eddsaLegacy");let s=M.readMPI(t.subarray(n));return n+=s.length+2,s=M.leftPad(s,i),{read:n,privateParams:{seed:s}}}case Q.publicKey.ed25519:case Q.publicKey.ed448:{const r=Vi(e),i=M.readExactSubarray(t,n,n+r);return n+=i.length,{read:n,privateParams:{seed:i}}}case Q.publicKey.x25519:case Q.publicKey.x448:{const r=Vi(e),i=M.readExactSubarray(t,n,n+r);return n+=i.length,{read:n,privateParams:{k:i}}}case Q.publicKey.hmac:{const{cipher:e}=r,i=Qe(e.getValue()),s=t.subarray(n,n+32);n+=32;const a=t.subarray(n,n+i);return n+=i,{read:n,privateParams:{hashSeed:s,keyMaterial:a}}}case Q.publicKey.aead:{const{cipher:e}=r,i=t.subarray(n,n+32);n+=32;const{keySize:s}=Kr(e.getValue()),a=t.subarray(n,n+s);return n+=s,{read:n,privateParams:{hashSeed:i,keyMaterial:a}}}case Q.publicKey.pqc_mlkem_x25519:{const r=M.readExactSubarray(t,n,n+Vi(Q.publicKey.x25519));n+=r.length;const i=M.readExactSubarray(t,n,n+64);n+=i.length;const{mlkemSecretKey:s}=await Cn(e,i);return{read:n,privateParams:{eccSecretKey:r,mlkemSecretKey:s,mlkemSeed:i}}}case Q.publicKey.pqc_mldsa_ed25519:{const r=M.readExactSubarray(t,n,n+Vi(Q.publicKey.ed25519));n+=r.length;const i=M.readExactSubarray(t,n,n+32);n+=i.length;const{mldsaSecretKey:s}=await Rn(e,i);return{read:n,privateParams:{eccSecretKey:r,mldsaSecretKey:s,mldsaSeed:i}}}default:throw new it("Unknown public key encryption algorithm.")}}function _i(e,t){const r=new Set([Q.publicKey.ed25519,Q.publicKey.x25519,Q.publicKey.ed448,Q.publicKey.x448,Q.publicKey.aead,Q.publicKey.hmac,Q.publicKey.pqc_mlkem_x25519,Q.publicKey.pqc_mldsa_ed25519]),n={[Q.publicKey.pqc_mlkem_x25519]:new Set(["mlkemSecretKey"]),[Q.publicKey.pqc_mldsa_ed25519]:new Set(["mldsaSecretKey"])},i=Object.keys(t).map((i=>{if(n[e]?.has(i))return new Uint8Array;const s=t[i];return M.isUint8Array(s)?r.has(e)?s:M.uint8ArrayToMPI(s):s.write()}));return M.concatUint8Array(i)}async function Hi(e,t,r,n){switch(e){case Q.publicKey.rsaEncrypt:case Q.publicKey.rsaEncryptSign:case Q.publicKey.rsaSign:return async function(e,t){if(t=BigInt(t),M.getWebCrypto()){const r={name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:he(t),hash:{name:"SHA-1"}},n=await Fe.generateKey(r,!0,["sign","verify"]);return Ve(await Fe.exportKey("jwk",n.privateKey),t)}if(M.getNodeCrypto()){const r={modulusLength:e,publicExponent:ae(t),publicKeyEncoding:{type:"pkcs1",format:"jwk"},privateKeyEncoding:{type:"pkcs1",format:"jwk"}},n=await new Promise(((e,t)=>{Oe.generateKeyPair("rsa",r,((r,n,i)=>{r?t(r):e(i)}))}));return Ve(n,t)}let r,n,i;do{n=de(e-(e>>1),t,40),r=de(e>>1,t,40),i=r*n}while(ce(i)!==e);const s=(r-Ne)*(n-Ne);return n<r&&([r,n]=[n,r]),{n:he(i),e:he(t),d:he(se(t,s)),p:he(r),q:he(n),u:he(se(r,n))}}(t,65537).then((({n:e,e:t,d:r,p:n,q:i,u:s})=>({privateParams:{d:r,p:n,q:i,u:s},publicParams:{n:e,e:t}})));case Q.publicKey.ecdsa:return Vr(r).then((({oid:e,Q:t,secret:r})=>({privateParams:{d:r},publicParams:{oid:new Je(e),Q:t}})));case Q.publicKey.eddsaLegacy:return Vr(r).then((({oid:e,Q:t,secret:r})=>({privateParams:{seed:r},publicParams:{oid:new Je(e),Q:t}})));case Q.publicKey.ecdh:return Vr(r).then((({oid:e,Q:t,secret:r,hash:n,cipher:i})=>({privateParams:{d:r},publicParams:{oid:new Je(e),Q:t,kdfParams:new Hn({hash:n,cipher:i})}})));case Q.publicKey.ed25519:case Q.publicKey.ed448:return ct(e).then((({A:e,seed:t})=>({privateParams:{seed:t},publicParams:{A:e}})));case Q.publicKey.x25519:case Q.publicKey.x448:return Pr(e).then((({A:e,k:t})=>({privateParams:{k:t},publicParams:{A:e}})));case Q.publicKey.hmac:return zi(await async function(e){if(!Sn.has(e))throw Error("Unsupported hash algorithm.");const t=Q.read(Q.webHash,e),r=In||Bn.webcrypto.subtle,n=await r.generateKey({name:"HMAC",hash:{name:t}},!0,["sign","verify"]),i=await r.exportKey("raw",n);return new Uint8Array(i)}(n),new jn(n));case Q.publicKey.aead:return zi(qi(n),new qn(n));case Q.publicKey.pqc_mlkem_x25519:return Un(e).then((({eccSecretKey:e,eccPublicKey:t,mlkemSeed:r,mlkemSecretKey:n,mlkemPublicKey:i})=>({privateParams:{eccSecretKey:e,mlkemSeed:r,mlkemSecretKey:n},publicParams:{eccPublicKey:t,mlkemPublicKey:i}})));case Q.publicKey.pqc_mldsa_ed25519:return Tn(e).then((({eccSecretKey:e,eccPublicKey:t,mldsaSeed:r,mldsaSecretKey:n,mldsaPublicKey:i})=>({privateParams:{eccSecretKey:e,mldsaSeed:r,mldsaSecretKey:n},publicParams:{eccPublicKey:t,mldsaPublicKey:i}})));case Q.publicKey.dsa:case Q.publicKey.elgamal:throw Error("Unsupported algorithm for key generation.");default:throw Error("Unknown public key algorithm.")}}async function zi(e,t){const r=fe(32);return{privateParams:{hashSeed:r,keyMaterial:e},publicParams:{cipher:t,digest:await xe(Q.hash.sha256,r)}}}async function Gi(e,t,r){if(!t||!r)throw Error("Missing key parameters");switch(e){case Q.publicKey.rsaEncrypt:case Q.publicKey.rsaEncryptSign:case Q.publicKey.rsaSign:{const{n:e,e:n}=t,{d:i,p:s,q:a,u:o}=r;return async function(e,t,r,n,i,s){if(e=te(e),(n=te(n))*(i=te(i))!==e)return!1;const a=BigInt(2);if(re(n*(s=te(s)),i)!==BigInt(1))return!1;t=te(t),r=te(r);const o=ye(a,a<<BigInt(Math.floor(ce(e)/3))),c=o*r*t;return!(re(c,n-Ne)!==o||re(c,i-Ne)!==o)}(e,n,i,s,a,o)}case Q.publicKey.dsa:{const{p:e,q:n,g:i,y:s}=t,{x:a}=r;return async function(e,t,r,n,i){if(e=te(e),t=te(t),r=te(r),n=te(n),r<=Kn||r>=e)return!1;if(re(e-Kn,t)!==vn)return!1;if(ne(r,t,e)!==Kn)return!1;const s=BigInt(ce(t));if(s<BigInt(150)||!ge(t,null,32))return!1;i=te(i);const a=BigInt(2);return n===ne(r,t*ye(a<<s-Kn,a<<s)+i,e)}(e,n,i,s,a)}case Q.publicKey.elgamal:{const{p:e,g:n,y:i}=t,{x:s}=r;return async function(e,t,r,n){if(e=te(e),t=te(t),r=te(r),t<=Ye||t>=e)return!1;const i=BigInt(ce(e));if(i<BigInt(1023))return!1;if(ne(t,e-Ye,e)!==Ye)return!1;let s=t,a=BigInt(1);const o=BigInt(2),c=o<<BigInt(17);for(;a<c;){if(s=re(s*t,e),s===Ye)return!1;a++}n=te(n);const u=ye(o<<i-Ye,o<<i);return r===ne(t,(e-Ye)*u+n,e)}(e,n,i,s)}case Q.publicKey.ecdsa:case Q.publicKey.ecdh:{const n=En[Q.read(Q.publicKey,e)],{oid:i,Q:s}=t,{d:a}=r;return n.validateParams(i,s,a)}case Q.publicKey.eddsaLegacy:{const{Q:e,oid:n}=t,{seed:i}=r;return hn(n,e,i)}case Q.publicKey.ed25519:case Q.publicKey.ed448:{const{A:n}=t,{seed:i}=r;return lt(e,n,i)}case Q.publicKey.x25519:case Q.publicKey.x448:{const{A:n}=t,{k:i}=r;return Dr(e,n,i)}case Q.publicKey.hmac:{const{cipher:e,digest:n}=t,{hashSeed:i,keyMaterial:s}=r;return Qe(e.getValue())===s.length&&M.equalsUint8Array(n,await xe(Q.hash.sha256,i))}case Q.publicKey.aead:{const{cipher:e,digest:n}=t,{hashSeed:i,keyMaterial:s}=r,{keySize:a}=Kr(e.getValue());return a===s.length&&M.equalsUint8Array(n,await xe(Q.hash.sha256,i))}case Q.publicKey.pqc_mlkem_x25519:{const{eccSecretKey:n,mlkemSeed:i}=r,{eccPublicKey:s,mlkemPublicKey:a}=t;return Qn(e,s,n,a,i)}case Q.publicKey.pqc_mldsa_ed25519:{const{eccSecretKey:n,mldsaSeed:i}=r,{eccPublicKey:s,mldsaPublicKey:a}=t;return On(e,s,n,a,i)}default:throw Error("Unknown public key algorithm.")}}function qi(e){const{keySize:t}=Kr(e);return fe(t)}function ji(e){try{e.getName()}catch(e){throw new it("Unknown curve OID")}}function Vi(e,t){switch(e){case Q.publicKey.ecdsa:case Q.publicKey.ecdh:case Q.publicKey.eddsaLegacy:return new jr(t).payloadSize;case Q.publicKey.ed25519:case Q.publicKey.ed448:return ft(e);case Q.publicKey.x25519:case Q.publicKey.x448:return Rr(e);default:throw Error("Unknown elliptic algo")}}async function Yi(e,t,r,n,i,s,a){switch(e){case Q.publicKey.rsaEncryptSign:case Q.publicKey.rsaEncrypt:case Q.publicKey.rsaSign:{const{n:e,e:i}=n;return He(t,s,M.leftPad(r.s,e.length),e,i,a)}case Q.publicKey.dsa:{const{g:e,p:t,q:i,y:s}=n,{r:o,s:c}=r;return async function(e,t,r,n,i,s,a,o){if(t=te(t),r=te(r),s=te(s),a=te(a),i=te(i),o=te(o),t<=vn||t>=a||r<=vn||r>=a)return M.printDebug("invalid DSA Signature"),!1;const c=re(te(n.subarray(0,ue(a))),a),u=se(r,a);if(u===vn)return M.printDebug("invalid DSA Signature"),!1;i=re(i,s),o=re(o,s);const h=re(c*u,a),l=re(t*u,a);return re(re(ne(i,h,s)*ne(o,l,s),s),a)===t}(0,o,c,a,e,t,i,s)}case Q.publicKey.ecdsa:{const{oid:e,Q:i}=n,o=new jr(e).payloadSize;return sn(e,t,{r:M.leftPad(r.r,o),s:M.leftPad(r.s,o)},s,i,a)}case Q.publicKey.eddsaLegacy:{if(Qe(t)<Qe(Q.hash.sha256))throw Error("Hash algorithm too weak for EdDSALegacy.");const{oid:e,Q:i}=n,s=new jr(e).payloadSize;return un(e,0,{r:M.leftPad(r.r,s),s:M.leftPad(r.s,s)},0,i,a)}case Q.publicKey.ed25519:case Q.publicKey.ed448:{if(Qe(t)<Qe(yt(e)))throw Error("Hash algorithm too weak for EdDSA.");const{A:i}=n;return ht(e,0,r,0,i,a)}case Q.publicKey.hmac:{if(!i)throw Error("Cannot verify HMAC signature with symmetric key missing private parameters");const{cipher:e}=n,{keyMaterial:t}=i;return async function(e,t,r,n){if(!Sn.has(e))throw Error("Unsupported hash algorithm.");const i=Q.read(Q.webHash,e),s=In||Bn.webcrypto.subtle,a=await s.importKey("raw",t,{name:"HMAC",hash:{name:i}},!1,["verify"]);return s.verify("HMAC",a,r,n)}(e.getValue(),t,r.mac.data,a)}case Q.publicKey.pqc_mldsa_ed25519:{if(!Fn(e,t))throw Error("Unexpected hash algorithm for PQC signature: digest size too short");const{eccPublicKey:i,mldsaPublicKey:s}=n;return Ln(e,0,i,s,a,r)}default:throw Error("Unknown signature algorithm.")}}async function Zi(e,t,r,n,i,s){if(!r||!n)throw Error("Missing key parameters");switch(e){case Q.publicKey.rsaEncryptSign:case Q.publicKey.rsaEncrypt:case Q.publicKey.rsaSign:{const{n:e,e:a}=r,{d:o,p:c,q:u,u:h}=n;return{s:await _e(t,i,e,a,o,c,u,h,s)}}case Q.publicKey.dsa:{const{g:e,p:t,q:i}=r,{x:a}=n;return async function(e,t,r,n,i,s){const a=BigInt(0);let o,c,u,h;n=te(n),i=te(i),r=te(r),s=te(s),r=re(r,n),s=re(s,i);const l=re(te(t.subarray(0,ue(i))),i);for(;;){if(o=ye(Kn,i),c=re(ne(r,o,n),i),c===a)continue;const e=re(s*c,i);if(h=re(l+e,i),u=re(se(o,i)*h,i),u!==a)break}return{r:he(c,"be",ue(n)),s:he(u,"be",ue(n))}}(0,s,e,t,i,a)}case Q.publicKey.elgamal:throw Error("Signing with Elgamal is not defined in the OpenPGP standard.");case Q.publicKey.ecdsa:{const{oid:e,Q:a}=r,{d:o}=n;return nn(e,t,i,a,o,s)}case Q.publicKey.eddsaLegacy:{if(Qe(t)<Qe(Q.hash.sha256))throw Error("Hash algorithm too weak for EdDSALegacy.");const{oid:e,Q:i}=r,{seed:a}=n;return cn(e,0,0,i,a,s)}case Q.publicKey.ed25519:case Q.publicKey.ed448:{if(Qe(t)<Qe(yt(e)))throw Error("Hash algorithm too weak for EdDSA.");const{A:i}=r,{seed:a}=n;return ut(e,0,0,i,a,s)}case Q.publicKey.hmac:{const{cipher:e}=r,{keyMaterial:t}=n,i=await async function(e,t,r){if(!Sn.has(e))throw Error("Unsupported hash algorithm.");const n=Q.read(Q.webHash,e),i=In||Bn.webcrypto.subtle,s=await i.importKey("raw",t,{name:"HMAC",hash:{name:n}},!1,["sign"]),a=await i.sign("HMAC",s,r);return new Uint8Array(a)}(e.getValue(),t,s);return{mac:new _n(i)}}case Q.publicKey.pqc_mldsa_ed25519:{if(!Fn(e,t))throw Error("Unexpected hash algorithm for PQC signature: digest size too short");const{eccPublicKey:i}=r,{eccSecretKey:a,mldsaSecretKey:o}=n;return Mn(e,0,a,i,o,s)}default:throw Error("Unknown signature algorithm.")}}Mi.getNonce=function(e,t){const r=e.slice();for(let e=0;e<t.length;e++)r[4+e]^=t[e];return r},Mi.blockLength=16,Mi.ivLength=12,Mi.tagLength=Ri;class Ji extends Error{constructor(...e){super(...e),Error.captureStackTrace&&Error.captureStackTrace(this,Ji),this.name="Argon2OutOfMemoryError"}}let Xi,Wi,$i=2<<19;class es{static get ARGON2_WASM_MEMORY_THRESHOLD_RELOAD(){return $i}static set ARGON2_WASM_MEMORY_THRESHOLD_RELOAD(e){$i=e}static reloadWasmModule(){Xi&&(Wi=Xi(),Wi.catch((()=>{})))}constructor(e=R){const{passes:t,parallelism:r,memoryExponent:n}=e.s2kArgon2Params;this.type="argon2",this.salt=null,this.t=t,this.p=r,this.encodedM=n}generateSalt(){this.salt=fe(16)}read(e){let t=0;return this.salt=e.subarray(t,t+16),t+=16,this.t=e[t++],this.p=e[t++],this.encodedM=e[t++],t}write(){const e=[new Uint8Array([Q.write(Q.s2k,this.type)]),this.salt,new Uint8Array([this.t,this.p,this.encodedM])];return M.concatUint8Array(e)}async produceKey(e,t){const r=2<<this.encodedM-1;try{Xi=Xi||(await Promise.resolve().then((function(){return zd}))).default,Wi=Wi||Xi();const n=await Wi,i=n({version:19,type:2,password:M.encodeUTF8(e),salt:this.salt,tagLength:t,memorySize:r,parallelism:this.p,passes:this.t});return r>es.ARGON2_WASM_MEMORY_THRESHOLD_RELOAD&&es.reloadWasmModule(),i}catch(e){throw e.message&&(e.message.includes("Unable to grow instance memory")||e.message.includes("failed to grow memory")||e.message.includes("WebAssembly.Memory.grow")||e.message.includes("Out of memory"))?new Ji("Could not allocate required memory for Argon2"):e}}}class ts{constructor(e,t=R){this.algorithm=Q.hash.sha256,this.type=Q.read(Q.s2k,e),this.c=t.s2kIterationCountByte,this.salt=null}generateSalt(){switch(this.type){case"salted":case"iterated":this.salt=fe(8)}}getCount(){return 16+(15&this.c)<<6+(this.c>>4)}read(e){let t=0;switch(this.algorithm=e[t++],this.type){case"simple":break;case"salted":this.salt=e.subarray(t,t+8),t+=8;break;case"iterated":this.salt=e.subarray(t,t+8),t+=8,this.c=e[t++];break;case"gnu":if("GNU"!==M.uint8ArrayToString(e.subarray(t,t+3)))throw new it("Unknown s2k type.");t+=3;if(1001!==1e3+e[t++])throw new it("Unknown s2k gnu protection mode.");this.type="gnu-dummy";break;default:throw new it("Unknown s2k type.")}return t}write(){if("gnu-dummy"===this.type)return new Uint8Array([101,0,...M.stringToUint8Array("GNU"),1]);const e=[new Uint8Array([Q.write(Q.s2k,this.type),this.algorithm])];switch(this.type){case"simple":break;case"salted":e.push(this.salt);break;case"iterated":e.push(this.salt),e.push(new Uint8Array([this.c]));break;case"gnu":throw Error("GNU s2k type not supported.");default:throw Error("Unknown s2k type.")}return M.concatUint8Array(e)}async produceKey(e,t){e=M.encodeUTF8(e);const r=[];let n=0,i=0;for(;n<t;){let t;switch(this.type){case"simple":t=M.concatUint8Array([new Uint8Array(i),e]);break;case"salted":t=M.concatUint8Array([new Uint8Array(i),this.salt,e]);break;case"iterated":{const r=M.concatUint8Array([this.salt,e]);let n=r.length;const s=Math.max(this.getCount(),n);t=new Uint8Array(i+s),t.set(r,i);for(let e=i+n;e<s;e+=n,n*=2)t.copyWithin(e,i,e);break}case"gnu":throw Error("GNU s2k type not supported.");default:throw Error("Unknown s2k type.")}const s=await xe(this.algorithm,t);r.push(s),n+=s.length,i++}return M.concatUint8Array(r).subarray(0,t)}}const rs=new Set([Q.s2k.argon2,Q.s2k.iterated]);function ns(e,t=R){switch(e){case Q.s2k.argon2:return new es(t);case Q.s2k.iterated:case Q.s2k.gnu:case Q.s2k.salted:case Q.s2k.simple:return new ts(e,t);default:throw new it("Unsupported S2K type")}}function is(e){const{s2kType:t}=e;if(!rs.has(t))throw Error("The provided `config.s2kType` value is not allowed");return ns(t,e)}var ss=Uint8Array,as=Uint16Array,os=Int32Array,cs=new ss([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),us=new ss([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),hs=new ss([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),ls=function(e,t){for(var r=new as(31),n=0;n<31;++n)r[n]=t+=1<<e[n-1];var i=new os(r[30]);for(n=1;n<30;++n)for(var s=r[n];s<r[n+1];++s)i[s]=s-r[n]<<5|n;return{b:r,r:i}},fs=ls(cs,2),ys=fs.b,ps=fs.r;ys[28]=258,ps[258]=28;for(var ds=ls(us,0),gs=ds.b,As=ds.r,ws=new as(32768),ms=0;ms<32768;++ms){var bs=(43690&ms)>>1|(21845&ms)<<1;bs=(61680&(bs=(52428&bs)>>2|(13107&bs)<<2))>>4|(3855&bs)<<4,ws[ms]=((65280&bs)>>8|(255&bs)<<8)>>1}var ks=function(e,t,r){for(var n=e.length,i=0,s=new as(t);i<n;++i)e[i]&&++s[e[i]-1];var a,o=new as(t);for(i=1;i<t;++i)o[i]=o[i-1]+s[i-1]<<1;if(r){a=new as(1<<t);var c=15-t;for(i=0;i<n;++i)if(e[i])for(var u=i<<4|e[i],h=t-e[i],l=o[e[i]-1]++<<h,f=l|(1<<h)-1;l<=f;++l)a[ws[l]>>c]=u}else for(a=new as(n),i=0;i<n;++i)e[i]&&(a[i]=ws[o[e[i]-1]++]>>15-e[i]);return a},Es=new ss(288);for(ms=0;ms<144;++ms)Es[ms]=8;for(ms=144;ms<256;++ms)Es[ms]=9;for(ms=256;ms<280;++ms)Es[ms]=7;for(ms=280;ms<288;++ms)Es[ms]=8;var vs=new ss(32);for(ms=0;ms<32;++ms)vs[ms]=5;var Ks=/*#__PURE__*/ks(Es,9,0),Ss=/*#__PURE__*/ks(Es,9,1),Is=/*#__PURE__*/ks(vs,5,0),Bs=/*#__PURE__*/ks(vs,5,1),Cs=function(e){for(var t=e[0],r=1;r<e.length;++r)e[r]>t&&(t=e[r]);return t},Us=function(e,t,r){var n=t/8|0;return(e[n]|e[n+1]<<8)>>(7&t)&r},Ps=function(e,t){var r=t/8|0;return(e[r]|e[r+1]<<8|e[r+2]<<16)>>(7&t)},Ds=function(e){return(e+7)/8|0},xs=function(e,t,r){return(null==t||t<0)&&(t=0),(null==r||r>e.length)&&(r=e.length),new ss(e.subarray(t,r))},Qs=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],Rs=function(e,t,r){var n=Error(t||Qs[e]);if(n.code=e,Error.captureStackTrace&&Error.captureStackTrace(n,Rs),!r)throw n;return n},Ts=function(e,t,r){r<<=7&t;var n=t/8|0;e[n]|=r,e[n+1]|=r>>8},Ms=function(e,t,r){r<<=7&t;var n=t/8|0;e[n]|=r,e[n+1]|=r>>8,e[n+2]|=r>>16},Ls=function(e,t){for(var r=[],n=0;n<e.length;++n)e[n]&&r.push({s:n,f:e[n]});var i=r.length,s=r.slice();if(!i)return{t:Gs,l:0};if(1==i){var a=new ss(r[0].s+1);return a[r[0].s]=1,{t:a,l:1}}r.sort((function(e,t){return e.f-t.f})),r.push({s:-1,f:25001});var o=r[0],c=r[1],u=0,h=1,l=2;for(r[0]={s:-1,f:o.f+c.f,l:o,r:c};h!=i-1;)o=r[r[u].f<r[l].f?u++:l++],c=r[u!=h&&r[u].f<r[l].f?u++:l++],r[h++]={s:-1,f:o.f+c.f,l:o,r:c};var f=s[0].s;for(n=1;n<i;++n)s[n].s>f&&(f=s[n].s);var y=new as(f+1),p=Fs(r[h-1],y,0);if(p>t){n=0;var d=0,g=p-t,A=1<<g;for(s.sort((function(e,t){return y[t.s]-y[e.s]||e.f-t.f}));n<i;++n){var w=s[n].s;if(!(y[w]>t))break;d+=A-(1<<p-y[w]),y[w]=t}for(d>>=g;d>0;){var m=s[n].s;y[m]<t?d-=1<<t-y[m]++-1:++n}for(;n>=0&&d;--n){var b=s[n].s;y[b]==t&&(--y[b],++d)}p=t}return{t:new ss(y),l:p}},Fs=function(e,t,r){return-1==e.s?Math.max(Fs(e.l,t,r+1),Fs(e.r,t,r+1)):t[e.s]=r},Os=function(e){for(var t=e.length;t&&!e[--t];);for(var r=new as(++t),n=0,i=e[0],s=1,a=function(e){r[n++]=e},o=1;o<=t;++o)if(e[o]==i&&o!=t)++s;else{if(!i&&s>2){for(;s>138;s-=138)a(32754);s>2&&(a(s>10?s-11<<5|28690:s-3<<5|12305),s=0)}else if(s>3){for(a(i),--s;s>6;s-=6)a(8304);s>2&&(a(s-3<<5|8208),s=0)}for(;s--;)a(i);s=1,i=e[o]}return{c:r.subarray(0,n),n:t}},Ns=function(e,t){for(var r=0,n=0;n<t.length;++n)r+=e[n]*t[n];return r},_s=function(e,t,r){var n=r.length,i=Ds(t+2);e[i]=255&n,e[i+1]=n>>8,e[i+2]=255^e[i],e[i+3]=255^e[i+1];for(var s=0;s<n;++s)e[i+s+4]=r[s];return 8*(i+4+n)},Hs=function(e,t,r,n,i,s,a,o,c,u,h){Ts(t,h++,r),++i[256];for(var l=Ls(i,15),f=l.t,y=l.l,p=Ls(s,15),d=p.t,g=p.l,A=Os(f),w=A.c,m=A.n,b=Os(d),k=b.c,E=b.n,v=new as(19),K=0;K<w.length;++K)++v[31&w[K]];for(K=0;K<k.length;++K)++v[31&k[K]];for(var S=Ls(v,7),I=S.t,B=S.l,C=19;C>4&&!I[hs[C-1]];--C);var U,P,D,x,Q=u+5<<3,R=Ns(i,Es)+Ns(s,vs)+a,T=Ns(i,f)+Ns(s,d)+a+14+3*C+Ns(v,I)+2*v[16]+3*v[17]+7*v[18];if(c>=0&&Q<=R&&Q<=T)return _s(t,h,e.subarray(c,c+u));if(Ts(t,h,1+(T<R)),h+=2,T<R){U=ks(f,y,0),P=f,D=ks(d,g,0),x=d;var M=ks(I,B,0);Ts(t,h,m-257),Ts(t,h+5,E-1),Ts(t,h+10,C-4),h+=14;for(K=0;K<C;++K)Ts(t,h+3*K,I[hs[K]]);h+=3*C;for(var L=[w,k],F=0;F<2;++F){var O=L[F];for(K=0;K<O.length;++K){var N=31&O[K];Ts(t,h,M[N]),h+=I[N],N>15&&(Ts(t,h,O[K]>>5&127),h+=O[K]>>12)}}}else U=Ks,P=Es,D=Is,x=vs;for(K=0;K<o;++K){var _=n[K];if(_>255){Ms(t,h,U[(N=_>>18&31)+257]),h+=P[N+257],N>7&&(Ts(t,h,_>>23&31),h+=cs[N]);var H=31&_;Ms(t,h,D[H]),h+=x[H],H>3&&(Ms(t,h,_>>5&8191),h+=us[H])}else Ms(t,h,U[_]),h+=P[_]}return Ms(t,h,U[256]),h+P[256]},zs=/*#__PURE__*/new os([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),Gs=/*#__PURE__*/new ss(0),qs=function(){var e=1,t=0;return{p:function(r){for(var n=e,i=t,s=0|r.length,a=0;a!=s;){for(var o=Math.min(a+2655,s);a<o;++a)i+=n+=r[a];n=(65535&n)+15*(n>>16),i=(65535&i)+15*(i>>16)}e=n,t=i},d:function(){return(255&(e%=65521))<<24|(65280&e)<<8|(255&(t%=65521))<<8|t>>8}}},js=function(e,t,r,n,i){if(!i&&(i={l:1},t.dictionary)){var s=t.dictionary.subarray(-32768),a=new ss(s.length+e.length);a.set(s),a.set(e,s.length),e=a,i.w=s.length}return function(e,t,r,n,i,s){var a=s.z||e.length,o=new ss(n+a+5*(1+Math.ceil(a/7e3))+i),c=o.subarray(n,o.length-i),u=s.l,h=7&(s.r||0);if(t){h&&(c[0]=s.r>>3);for(var l=zs[t-1],f=l>>13,y=8191&l,p=(1<<r)-1,d=s.p||new as(32768),g=s.h||new as(p+1),A=Math.ceil(r/3),w=2*A,m=function(t){return(e[t]^e[t+1]<<A^e[t+2]<<w)&p},b=new os(25e3),k=new as(288),E=new as(32),v=0,K=0,S=s.i||0,I=0,B=s.w||0,C=0;S+2<a;++S){var U=m(S),P=32767&S,D=g[U];if(d[P]=D,g[U]=P,B<=S){var x=a-S;if((v>7e3||I>24576)&&(x>423||!u)){h=Hs(e,c,0,b,k,E,K,I,C,S-C,h),I=v=K=0,C=S;for(var Q=0;Q<286;++Q)k[Q]=0;for(Q=0;Q<30;++Q)E[Q]=0}var R=2,T=0,M=y,L=P-D&32767;if(x>2&&U==m(S-L))for(var F=Math.min(f,x)-1,O=Math.min(32767,S),N=Math.min(258,x);L<=O&&--M&&P!=D;){if(e[S+R]==e[S+R-L]){for(var _=0;_<N&&e[S+_]==e[S+_-L];++_);if(_>R){if(R=_,T=L,_>F)break;var H=Math.min(L,_-2),z=0;for(Q=0;Q<H;++Q){var G=S-L+Q&32767,q=G-d[G]&32767;q>z&&(z=q,D=G)}}}L+=(P=D)-(D=d[P])&32767}if(T){b[I++]=268435456|ps[R]<<18|As[T];var j=31&ps[R],V=31&As[T];K+=cs[j]+us[V],++k[257+j],++E[V],B=S+R,++v}else b[I++]=e[S],++k[e[S]]}}for(S=Math.max(S,B);S<a;++S)b[I++]=e[S],++k[e[S]];h=Hs(e,c,u,b,k,E,K,I,C,S-C,h),u||(s.r=7&h|c[h/8|0]<<3,h-=7,s.h=g,s.p=d,s.i=S,s.w=B)}else{for(S=s.w||0;S<a+u;S+=65535){var Y=S+65535;Y>=a&&(c[h/8|0]=u,Y=a),h=_s(c,h+1,e.subarray(S,Y))}s.i=a}return xs(o,0,n+Ds(h)+i)}(e,null==t.level?6:t.level,null==t.mem?i.l?Math.ceil(1.5*Math.max(8,Math.min(13,Math.log(e.length)))):20:12+t.mem,r,n,i)},Vs=function(e,t,r){for(;r;++t)e[t]=r,r>>>=8},Ys=/*#__PURE__*/function(){function e(e,t){if("function"==typeof e&&(t=e,e={}),this.ondata=t,this.o=e||{},this.s={l:0,i:32768,w:32768,z:32768},this.b=new ss(98304),this.o.dictionary){var r=this.o.dictionary.subarray(-32768);this.b.set(r,32768-r.length),this.s.i=32768-r.length}}return e.prototype.p=function(e,t){this.ondata(js(e,this.o,0,0,this.s),t)},e.prototype.push=function(e,t){this.ondata||Rs(5),this.s.l&&Rs(4);var r=e.length+this.s.z;if(r>this.b.length){if(r>2*this.b.length-32768){var n=new ss(-32768&r);n.set(this.b.subarray(0,this.s.z)),this.b=n}var i=this.b.length-this.s.z;this.b.set(e.subarray(0,i),this.s.z),this.s.z=this.b.length,this.p(this.b,!1),this.b.set(this.b.subarray(-32768)),this.b.set(e.subarray(i),32768),this.s.z=e.length-i+32768,this.s.i=32766,this.s.w=32768}else this.b.set(e,this.s.z),this.s.z+=e.length;this.s.l=1&t,(this.s.z>this.s.w+8191||t)&&(this.p(this.b,t||!1),this.s.w=this.s.i,this.s.i-=2)},e.prototype.flush=function(){this.ondata||Rs(5),this.s.l&&Rs(4),this.p(this.b,!1),this.s.w=this.s.i,this.s.i-=2},e}(),Zs=/*#__PURE__*/function(){function e(e,t){"function"==typeof e&&(t=e,e={}),this.ondata=t;var r=e&&e.dictionary&&e.dictionary.subarray(-32768);this.s={i:0,b:r?r.length:0},this.o=new ss(32768),this.p=new ss(0),r&&this.o.set(r)}return e.prototype.e=function(e){if(this.ondata||Rs(5),this.d&&Rs(4),this.p.length){if(e.length){var t=new ss(this.p.length+e.length);t.set(this.p),t.set(e,this.p.length),this.p=t}}else this.p=e},e.prototype.c=function(e){this.s.i=+(this.d=e||!1);var t=this.s.b,r=function(e,t,r,n){var i=e.length;if(!i||t.f&&!t.l)return r||new ss(0);var s=!r,a=s||2!=t.i,o=t.i;s&&(r=new ss(3*i));var c=function(e){var t=r.length;if(e>t){var n=new ss(Math.max(2*t,e));n.set(r),r=n}},u=t.f||0,h=t.p||0,l=t.b||0,f=t.l,y=t.d,p=t.m,d=t.n,g=8*i;do{if(!f){u=Us(e,h,1);var A=Us(e,h+1,3);if(h+=3,!A){var w=e[(U=Ds(h)+4)-4]|e[U-3]<<8,m=U+w;if(m>i){o&&Rs(0);break}a&&c(l+w),r.set(e.subarray(U,m),l),t.b=l+=w,t.p=h=8*m,t.f=u;continue}if(1==A)f=Ss,y=Bs,p=9,d=5;else if(2==A){var b=Us(e,h,31)+257,k=Us(e,h+10,15)+4,E=b+Us(e,h+5,31)+1;h+=14;for(var v=new ss(E),K=new ss(19),S=0;S<k;++S)K[hs[S]]=Us(e,h+3*S,7);h+=3*k;var I=Cs(K),B=(1<<I)-1,C=ks(K,I,1);for(S=0;S<E;){var U,P=C[Us(e,h,B)];if(h+=15&P,(U=P>>4)<16)v[S++]=U;else{var D=0,x=0;for(16==U?(x=3+Us(e,h,3),h+=2,D=v[S-1]):17==U?(x=3+Us(e,h,7),h+=3):18==U&&(x=11+Us(e,h,127),h+=7);x--;)v[S++]=D}}var Q=v.subarray(0,b),R=v.subarray(b);p=Cs(Q),d=Cs(R),f=ks(Q,p,1),y=ks(R,d,1)}else Rs(1);if(h>g){o&&Rs(0);break}}a&&c(l+131072);for(var T=(1<<p)-1,M=(1<<d)-1,L=h;;L=h){var F=(D=f[Ps(e,h)&T])>>4;if((h+=15&D)>g){o&&Rs(0);break}if(D||Rs(2),F<256)r[l++]=F;else{if(256==F){L=h,f=null;break}var O=F-254;if(F>264){var N=cs[S=F-257];O=Us(e,h,(1<<N)-1)+ys[S],h+=N}var _=y[Ps(e,h)&M],H=_>>4;if(_||Rs(3),h+=15&_,R=gs[H],H>3&&(N=us[H],R+=Ps(e,h)&(1<<N)-1,h+=N),h>g){o&&Rs(0);break}a&&c(l+131072);var z=l+O;if(l<R){var G=0-R,q=Math.min(R,z);for(G+l<0&&Rs(3);l<q;++l)r[l]=n[G+l]}for(;l<z;++l)r[l]=r[l-R]}}t.l=f,t.p=L,t.b=l,t.f=u,f&&(u=1,t.m=p,t.d=y,t.n=d)}while(!u);return l!=r.length&&s?xs(r,0,l):r.subarray(0,l)}(this.p,this.s,this.o);this.ondata(xs(r,t,this.s.b),this.d),this.o=xs(r,this.s.b-32768),this.s.b=this.o.length,this.p=xs(this.p,this.s.p/8|0),this.s.p&=7},e.prototype.push=function(e,t){this.e(e),this.c(t)},e}(),Js=/*#__PURE__*/function(){function e(e,t){this.c=qs(),this.v=1,Ys.call(this,e,t)}return e.prototype.push=function(e,t){this.c.p(e),Ys.prototype.push.call(this,e,t)},e.prototype.p=function(e,t){var r=js(e,this.o,this.v&&(this.o.dictionary?6:2),t&&4,this.s);this.v&&(function(e,t){var r=t.level,n=0==r?0:r<6?1:9==r?3:2;if(e[0]=120,e[1]=n<<6|(t.dictionary&&32),e[1]|=31-(e[0]<<8|e[1])%31,t.dictionary){var i=qs();i.p(t.dictionary),Vs(e,2,i.d())}}(r,this.o),this.v=0),t&&Vs(r,r.length-4,this.c.d()),this.ondata(r,t)},e.prototype.flush=function(){Ys.prototype.flush.call(this)},e}(),Xs=/*#__PURE__*/function(){function e(e,t){Zs.call(this,e,t),this.v=e&&e.dictionary?2:1}return e.prototype.push=function(e,t){if(Zs.prototype.e.call(this,e),this.v){if(this.p.length<6&&!t)return;this.p=this.p.subarray((r=this.p,n=this.v-1,(8!=(15&r[0])||r[0]>>4>7||(r[0]<<8|r[1])%31)&&Rs(6,"invalid zlib data"),(r[1]>>5&1)==+!n&&Rs(6,"invalid zlib data: "+(32&r[1]?"need":"unexpected")+" dictionary"),2+(r[1]>>3&4))),this.v=0}var r,n;t&&(this.p.length<4&&Rs(6,"invalid zlib data"),this.p=this.p.subarray(0,-4)),Zs.prototype.c.call(this,t)},e}(),Ws="undefined"!=typeof TextDecoder&&/*#__PURE__*/new TextDecoder;try{Ws.decode(Gs,{stream:!0})}catch(e){}class $s{static get tag(){return Q.packet.literalData}constructor(e=new Date){this.format=Q.literal.utf8,this.date=M.normalizeDate(e),this.text=null,this.data=null,this.filename=""}setText(e,t=Q.literal.utf8){this.format=t,this.text=e,this.data=null}getText(e=!1){return(null===this.text||M.isStream(this.text))&&(this.text=M.decodeUTF8(M.nativeEOL(this.getBytes(e)))),this.text}setBytes(e,t){this.format=t,this.data=e,this.text=null}getBytes(e=!1){return null===this.data&&(this.data=M.canonicalizeEOL(M.encodeUTF8(this.text))),e?K(this.data):this.data}setFilename(e){this.filename=e}getFilename(){return this.filename}async read(e){await E(e,(async e=>{const t=await e.readByte(),r=await e.readByte();this.filename=M.decodeUTF8(await e.readBytes(r)),this.date=M.readDate(await e.readBytes(4));let n=e.remainder();a(n)&&(n=await B(n)),this.setBytes(n,t)}))}writeHeader(){const e=M.encodeUTF8(this.filename),t=new Uint8Array([e.length]),r=new Uint8Array([this.format]),n=M.writeDate(this.date);return M.concatUint8Array([r,t,e,n])}write(){const e=this.writeHeader(),t=this.getBytes();return M.concat([e,t])}}class ea{constructor(){this.bytes=""}read(e){return this.bytes=M.uint8ArrayToString(e.subarray(0,8)),this.bytes.length}write(){return M.stringToUint8Array(this.bytes)}toHex(){return M.uint8ArrayToHex(M.stringToUint8Array(this.bytes))}equals(e,t=!1){return t&&(e.isWildcard()||this.isWildcard())||this.bytes===e.bytes}isNull(){return""===this.bytes}isWildcard(){return/^0+$/.test(this.toHex())}static mapToHex(e){return e.toHex()}static fromID(e){const t=new ea;return t.read(M.hexToUint8Array(e)),t}static wildcard(){const e=new ea;return e.read(new Uint8Array(8)),e}}const ta=Symbol("verified"),ra="salt@notations.openpgpjs.org",na=new Set([Q.signatureSubpacket.issuerKeyID,Q.signatureSubpacket.issuerFingerprint,Q.signatureSubpacket.embeddedSignature]);class ia{static get tag(){return Q.packet.signature}constructor(){this.version=null,this.signatureType=null,this.hashAlgorithm=null,this.publicKeyAlgorithm=null,this.signatureData=null,this.unhashedSubpackets=[],this.unknownSubpackets=[],this.signedHashValue=null,this.salt=null,this.created=null,this.signatureExpirationTime=null,this.signatureNeverExpires=!0,this.exportable=null,this.trustLevel=null,this.trustAmount=null,this.regularExpression=null,this.revocable=null,this.keyExpirationTime=null,this.keyNeverExpires=null,this.preferredSymmetricAlgorithms=null,this.revocationKeyClass=null,this.revocationKeyAlgorithm=null,this.revocationKeyFingerprint=null,this.issuerKeyID=new ea,this.rawNotations=[],this.notations={},this.preferredHashAlgorithms=null,this.preferredCompressionAlgorithms=null,this.keyServerPreferences=null,this.preferredKeyServer=null,this.isPrimaryUserID=null,this.policyURI=null,this.keyFlags=null,this.signersUserID=null,this.reasonForRevocationFlag=null,this.reasonForRevocationString=null,this.features=null,this.signatureTargetPublicKeyAlgorithm=null,this.signatureTargetHashAlgorithm=null,this.signatureTargetHash=null,this.embeddedSignature=null,this.issuerKeyVersion=null,this.issuerFingerprint=null,this.preferredAEADAlgorithms=null,this.preferredCipherSuites=null,this.revoked=null,this[ta]=null}read(e,t=R){let r=0;if(this.version=e[r++],5===this.version&&!t.enableParsingV5Entities)throw new it("Support for v5 entities is disabled; turn on `config.enableParsingV5Entities` if needed");if(4!==this.version&&5!==this.version&&6!==this.version)throw new it(`Version ${this.version} of the signature packet is unsupported.`);if(this.signatureType=e[r++],this.publicKeyAlgorithm=e[r++],this.hashAlgorithm=e[r++],r+=this.readSubPackets(e.subarray(r,e.length),!0),!this.created)throw Error("Missing signature creation time subpacket.");if(this.signatureData=e.subarray(0,r),r+=this.readSubPackets(e.subarray(r,e.length),!1),this.signedHashValue=e.subarray(r,r+2),r+=2,6===this.version){const t=e[r++];this.salt=e.subarray(r,r+t),r+=t}const n=e.subarray(r,e.length),{read:i,signatureParams:s}=function(e,t){let r=0;switch(e){case Q.publicKey.rsaEncryptSign:case Q.publicKey.rsaEncrypt:case Q.publicKey.rsaSign:{const e=M.readMPI(t.subarray(r));return r+=e.length+2,{read:r,signatureParams:{s:e}}}case Q.publicKey.dsa:case Q.publicKey.ecdsa:{const e=M.readMPI(t.subarray(r));r+=e.length+2;const n=M.readMPI(t.subarray(r));return r+=n.length+2,{read:r,signatureParams:{r:e,s:n}}}case Q.publicKey.eddsaLegacy:{const e=M.readMPI(t.subarray(r));r+=e.length+2;const n=M.readMPI(t.subarray(r));return r+=n.length+2,{read:r,signatureParams:{r:e,s:n}}}case Q.publicKey.ed25519:case Q.publicKey.ed448:{const n=2*ft(e),i=M.readExactSubarray(t,r,r+n);return r+=i.length,{read:r,signatureParams:{RS:i}}}case Q.publicKey.hmac:{const e=new _n;return r+=e.read(t.subarray(r)),{read:r,signatureParams:{mac:e}}}case Q.publicKey.pqc_mldsa_ed25519:{const e=2*ft(Q.publicKey.ed25519),n=M.readExactSubarray(t,r,r+e);r+=n.length;const i=M.readExactSubarray(t,r,r+3309);return r+=i.length,{read:r,signatureParams:{eccSignature:n,mldsaSignature:i}}}default:throw new it("Unknown signature algorithm.")}}(this.publicKeyAlgorithm,n);if(i<n.length)throw Error("Error reading MPIs");this.params=s}writeParams(){return this.params instanceof Promise?U((async()=>_i(this.publicKeyAlgorithm,await this.params))):_i(this.publicKeyAlgorithm,this.params)}write(){const e=[];return e.push(this.signatureData),e.push(this.writeUnhashedSubPackets()),e.push(this.signedHashValue),6===this.version&&(e.push(new Uint8Array([this.salt.length])),e.push(this.salt)),e.push(this.writeParams()),M.concat(e)}async sign(e,t,r=new Date,n=!1,i){this.version=e.version,this.created=M.normalizeDate(r),this.issuerKeyVersion=e.version,this.issuerFingerprint=e.getFingerprintBytes(),this.issuerKeyID=e.getKeyID();const s=[new Uint8Array([this.version,this.signatureType,this.publicKeyAlgorithm,this.hashAlgorithm])];if(6===this.version){const e=aa(this.hashAlgorithm);if(null===this.salt)this.salt=fe(e);else if(e!==this.salt.length)throw Error("Provided salt does not have the required length")}else if(i.nonDeterministicSignaturesViaNotation){if(0!==this.rawNotations.filter((({name:e})=>e===ra)).length)throw Error("Unexpected existing salt notation");{const e=fe(aa(this.hashAlgorithm));this.rawNotations.push({name:ra,value:e,humanReadable:!1,critical:!1})}}s.push(this.writeHashedSubPackets()),this.unhashedSubpackets=[],this.signatureData=M.concat(s);const a=this.toHash(this.signatureType,t,n),o=await this.hash(this.signatureType,t,a,n);this.signedHashValue=I(v(o),0,2);const c=async()=>Zi(this.publicKeyAlgorithm,this.hashAlgorithm,e.publicParams,e.privateParams,a,await B(o));M.isStream(o)?this.params=c():(this.params=await c(),this[ta]=!0)}writeHashedSubPackets(){const e=Q.signatureSubpacket,t=[];let r;if(null===this.created)throw Error("Missing signature creation time");t.push(sa(e.signatureCreationTime,!0,M.writeDate(this.created))),null!==this.signatureExpirationTime&&t.push(sa(e.signatureExpirationTime,!0,M.writeNumber(this.signatureExpirationTime,4))),null!==this.exportable&&t.push(sa(e.exportableCertification,!0,new Uint8Array([this.exportable?1:0]))),null!==this.trustLevel&&(r=new Uint8Array([this.trustLevel,this.trustAmount]),t.push(sa(e.trustSignature,!0,r))),null!==this.regularExpression&&t.push(sa(e.regularExpression,!0,this.regularExpression)),null!==this.revocable&&t.push(sa(e.revocable,!0,new Uint8Array([this.revocable?1:0]))),null!==this.keyExpirationTime&&t.push(sa(e.keyExpirationTime,!0,M.writeNumber(this.keyExpirationTime,4))),null!==this.preferredSymmetricAlgorithms&&(r=M.stringToUint8Array(M.uint8ArrayToString(this.preferredSymmetricAlgorithms)),t.push(sa(e.preferredSymmetricAlgorithms,!1,r))),null!==this.revocationKeyClass&&(r=new Uint8Array([this.revocationKeyClass,this.revocationKeyAlgorithm]),r=M.concat([r,this.revocationKeyFingerprint]),t.push(sa(e.revocationKey,!1,r))),!this.issuerKeyID.isNull()&&this.issuerKeyVersion<5&&t.push(sa(e.issuerKeyID,!1,this.issuerKeyID.write())),this.rawNotations.forEach((({name:n,value:i,humanReadable:s,critical:a})=>{r=[new Uint8Array([s?128:0,0,0,0])];const o=M.encodeUTF8(n);r.push(M.writeNumber(o.length,2)),r.push(M.writeNumber(i.length,2)),r.push(o),r.push(i),r=M.concat(r),t.push(sa(e.notationData,a,r))})),null!==this.preferredHashAlgorithms&&(r=M.stringToUint8Array(M.uint8ArrayToString(this.preferredHashAlgorithms)),t.push(sa(e.preferredHashAlgorithms,!1,r))),null!==this.preferredCompressionAlgorithms&&(r=M.stringToUint8Array(M.uint8ArrayToString(this.preferredCompressionAlgorithms)),t.push(sa(e.preferredCompressionAlgorithms,!1,r))),null!==this.keyServerPreferences&&(r=M.stringToUint8Array(M.uint8ArrayToString(this.keyServerPreferences)),t.push(sa(e.keyServerPreferences,!1,r))),null!==this.preferredKeyServer&&t.push(sa(e.preferredKeyServer,!1,M.encodeUTF8(this.preferredKeyServer))),null!==this.isPrimaryUserID&&t.push(sa(e.primaryUserID,!1,new Uint8Array([this.isPrimaryUserID?1:0]))),null!==this.policyURI&&t.push(sa(e.policyURI,!1,M.encodeUTF8(this.policyURI))),null!==this.keyFlags&&(r=M.stringToUint8Array(M.uint8ArrayToString(this.keyFlags)),t.push(sa(e.keyFlags,!0,r))),null!==this.signersUserID&&t.push(sa(e.signersUserID,!1,M.encodeUTF8(this.signersUserID))),null!==this.reasonForRevocationFlag&&(r=M.stringToUint8Array(String.fromCharCode(this.reasonForRevocationFlag)+this.reasonForRevocationString),t.push(sa(e.reasonForRevocation,!0,r))),null!==this.features&&(r=M.stringToUint8Array(M.uint8ArrayToString(this.features)),t.push(sa(e.features,!1,r))),null!==this.signatureTargetPublicKeyAlgorithm&&(r=[new Uint8Array([this.signatureTargetPublicKeyAlgorithm,this.signatureTargetHashAlgorithm])],r.push(M.stringToUint8Array(this.signatureTargetHash)),r=M.concat(r),t.push(sa(e.signatureTarget,!0,r))),null!==this.embeddedSignature&&t.push(sa(e.embeddedSignature,!0,this.embeddedSignature.write())),null!==this.issuerFingerprint&&(r=[new Uint8Array([this.issuerKeyVersion]),this.issuerFingerprint],r=M.concat(r),t.push(sa(e.issuerFingerprint,this.version>=5,r))),null!==this.preferredAEADAlgorithms&&(r=M.stringToUint8Array(M.uint8ArrayToString(this.preferredAEADAlgorithms)),t.push(sa(e.preferredAEADAlgorithms,!1,r))),null!==this.preferredCipherSuites&&(r=new Uint8Array([].concat(...this.preferredCipherSuites)),t.push(sa(e.preferredCipherSuites,!1,r)));const n=M.concat(t),i=M.writeNumber(n.length,6===this.version?4:2);return M.concat([i,n])}writeUnhashedSubPackets(){const e=this.unhashedSubpackets.map((({type:e,critical:t,body:r})=>sa(e,t,r))),t=M.concat(e),r=M.writeNumber(t.length,6===this.version?4:2);return M.concat([r,t])}readSubPacket(e,t=!0){let r=0;const n=!!(128&e[r]),i=127&e[r];if(r++,t||(this.unhashedSubpackets.push({type:i,critical:n,body:e.subarray(r,e.length)}),na.has(i)))switch(i){case Q.signatureSubpacket.signatureCreationTime:this.created=M.readDate(e.subarray(r,e.length));break;case Q.signatureSubpacket.signatureExpirationTime:{const t=M.readNumber(e.subarray(r,e.length));this.signatureNeverExpires=0===t,this.signatureExpirationTime=t;break}case Q.signatureSubpacket.exportableCertification:this.exportable=1===e[r++];break;case Q.signatureSubpacket.trustSignature:this.trustLevel=e[r++],this.trustAmount=e[r++];break;case Q.signatureSubpacket.regularExpression:this.regularExpression=e[r];break;case Q.signatureSubpacket.revocable:this.revocable=1===e[r++];break;case Q.signatureSubpacket.keyExpirationTime:{const t=M.readNumber(e.subarray(r,e.length));this.keyExpirationTime=t,this.keyNeverExpires=0===t;break}case Q.signatureSubpacket.preferredSymmetricAlgorithms:this.preferredSymmetricAlgorithms=[...e.subarray(r,e.length)];break;case Q.signatureSubpacket.revocationKey:this.revocationKeyClass=e[r++],this.revocationKeyAlgorithm=e[r++],this.revocationKeyFingerprint=e.subarray(r,r+20);break;case Q.signatureSubpacket.issuerKeyID:if(4===this.version)this.issuerKeyID.read(e.subarray(r,e.length));else if(t)throw Error("Unexpected Issuer Key ID subpacket");break;case Q.signatureSubpacket.notationData:{const t=!!(128&e[r]);r+=4;const i=M.readNumber(e.subarray(r,r+2));r+=2;const s=M.readNumber(e.subarray(r,r+2));r+=2;const a=M.decodeUTF8(e.subarray(r,r+i)),o=e.subarray(r+i,r+i+s);this.rawNotations.push({name:a,humanReadable:t,value:o,critical:n}),t&&(this.notations[a]=M.decodeUTF8(o));break}case Q.signatureSubpacket.preferredHashAlgorithms:this.preferredHashAlgorithms=[...e.subarray(r,e.length)];break;case Q.signatureSubpacket.preferredCompressionAlgorithms:this.preferredCompressionAlgorithms=[...e.subarray(r,e.length)];break;case Q.signatureSubpacket.keyServerPreferences:this.keyServerPreferences=[...e.subarray(r,e.length)];break;case Q.signatureSubpacket.preferredKeyServer:this.preferredKeyServer=M.decodeUTF8(e.subarray(r,e.length));break;case Q.signatureSubpacket.primaryUserID:this.isPrimaryUserID=0!==e[r++];break;case Q.signatureSubpacket.policyURI:this.policyURI=M.decodeUTF8(e.subarray(r,e.length));break;case Q.signatureSubpacket.keyFlags:this.keyFlags=[...e.subarray(r,e.length)];break;case Q.signatureSubpacket.signersUserID:this.signersUserID=M.decodeUTF8(e.subarray(r,e.length));break;case Q.signatureSubpacket.reasonForRevocation:this.reasonForRevocationFlag=e[r++],this.reasonForRevocationString=M.decodeUTF8(e.subarray(r,e.length));break;case Q.signatureSubpacket.features:this.features=[...e.subarray(r,e.length)];break;case Q.signatureSubpacket.signatureTarget:{this.signatureTargetPublicKeyAlgorithm=e[r++],this.signatureTargetHashAlgorithm=e[r++];const t=Qe(this.signatureTargetHashAlgorithm);this.signatureTargetHash=M.uint8ArrayToString(e.subarray(r,r+t));break}case Q.signatureSubpacket.embeddedSignature:this.embeddedSignature=new ia,this.embeddedSignature.read(e.subarray(r,e.length));break;case Q.signatureSubpacket.issuerFingerprint:this.issuerKeyVersion=e[r++],this.issuerFingerprint=e.subarray(r,e.length),this.issuerKeyVersion>=5?this.issuerKeyID.read(this.issuerFingerprint):this.issuerKeyID.read(this.issuerFingerprint.subarray(-8));break;case Q.signatureSubpacket.preferredAEADAlgorithms:this.preferredAEADAlgorithms=[...e.subarray(r,e.length)];break;case Q.signatureSubpacket.preferredCipherSuites:this.preferredCipherSuites=[];for(let t=r;t<e.length;t+=2)this.preferredCipherSuites.push([e[t],e[t+1]]);break;default:this.unknownSubpackets.push({type:i,critical:n,body:e.subarray(r,e.length)})}}readSubPackets(e,t=!0,r){const n=6===this.version?4:2,i=M.readNumber(e.subarray(0,n));let s=n;for(;s<2+i;){const n=Xe(e.subarray(s,e.length));s+=n.offset,this.readSubPacket(e.subarray(s,s+n.len),t,r),s+=n.len}return s}toSign(e,t){const r=Q.signature;switch(e){case r.binary:return null!==t.text?M.encodeUTF8(t.getText(!0)):t.getBytes(!0);case r.text:{const e=t.getBytes(!0);return M.canonicalizeEOL(e)}case r.standalone:return new Uint8Array(0);case r.certGeneric:case r.certPersona:case r.certCasual:case r.certPositive:case r.certRevocation:{let e,n;if(t.userID)n=180,e=t.userID;else{if(!t.userAttribute)throw Error("Either a userID or userAttribute packet needs to be supplied for certification.");n=209,e=t.userAttribute}const i=e.write();return M.concat([this.toSign(r.key,t),new Uint8Array([n]),M.writeNumber(i.length,4),i])}case r.subkeyBinding:case r.subkeyRevocation:case r.keyBinding:return M.concat([this.toSign(r.key,t),this.toSign(r.key,{key:t.bind})]);case r.key:if(void 0===t.key)throw Error("Key packet is required for this signature.");return t.key.writeForHash(this.version);case r.keyRevocation:return this.toSign(r.key,t);case r.timestamp:return new Uint8Array(0);case r.thirdParty:throw Error("Not implemented");default:throw Error("Unknown signature type.")}}calculateTrailer(e,t){let r=0;return b(v(this.signatureData),(e=>{r+=e.length}),(()=>{const n=[];return 5!==this.version||this.signatureType!==Q.signature.binary&&this.signatureType!==Q.signature.text||(t?n.push(new Uint8Array(6)):n.push(e.writeHeader())),n.push(new Uint8Array([this.version,255])),5===this.version&&n.push(new Uint8Array(4)),n.push(M.writeNumber(r,4)),M.concat(n)}))}toHash(e,t,r=!1){const n=this.toSign(e,t);return M.concat([this.salt||new Uint8Array,n,this.signatureData,this.calculateTrailer(t,r)])}async hash(e,t,r,n=!1){if(6===this.version&&this.salt.length!==aa(this.hashAlgorithm))throw Error("Signature salt does not have the expected length");return r||(r=this.toHash(e,t,n)),xe(this.hashAlgorithm,r)}async verify(e,t,r,n=new Date,i=!1,s=R){if(!this.issuerKeyID.equals(e.getKeyID()))throw Error("Signature was not issued by the given public key");if(this.publicKeyAlgorithm!==e.algorithm)throw Error("Public key algorithm used to sign signature does not match issuer key algorithm.");const a=t===Q.signature.binary||t===Q.signature.text;if(!(this[ta]&&!a)){let n,s;if(this.hashed?s=await this.hashed:(n=this.toHash(t,r,i),s=await this.hash(t,r,n)),s=await B(s),this.signedHashValue[0]!==s[0]||this.signedHashValue[1]!==s[1])throw Error("Signed digest did not match");this.params=await this.params;const a=this.publicKeyAlgorithm===Q.publicKey.hmac?e.privateParams:null;if(this[ta]=await Yi(this.publicKeyAlgorithm,this.hashAlgorithm,this.params,e.publicParams,a,n,s),!this[ta])throw Error("Signature verification failed")}const o=M.normalizeDate(n);if(o&&this.created>o)throw Error("Signature creation time is in the future");if(o&&o>=this.getExpirationTime())throw Error("Signature is expired");if(s.rejectHashAlgorithms.has(this.hashAlgorithm))throw Error("Insecure hash algorithm: "+Q.read(Q.hash,this.hashAlgorithm).toUpperCase());if(s.rejectMessageHashAlgorithms.has(this.hashAlgorithm)&&[Q.signature.binary,Q.signature.text].includes(this.signatureType))throw Error("Insecure message hash algorithm: "+Q.read(Q.hash,this.hashAlgorithm).toUpperCase());if(this.unknownSubpackets.forEach((({type:e,critical:t})=>{if(t)throw Error("Unknown critical signature subpacket type "+e)})),this.rawNotations.forEach((({name:e,critical:t})=>{if(t&&s.knownNotations.indexOf(e)<0)throw Error("Unknown critical notation: "+e)})),null!==this.revocationKeyClass)throw Error("This key is intended to be revoked with an authorized key, which OpenPGP.js does not support.")}isExpired(e=new Date){const t=M.normalizeDate(e);return null!==t&&!(this.created<=t&&t<this.getExpirationTime())}getExpirationTime(){return this.signatureNeverExpires?1/0:new Date(this.created.getTime()+1e3*this.signatureExpirationTime)}}function sa(e,t,r){const n=[];return n.push(We(r.length+1)),n.push(new Uint8Array([(t?128:0)|e])),n.push(r),M.concat(n)}function aa(e){switch(e){case Q.hash.sha256:return 16;case Q.hash.sha384:return 24;case Q.hash.sha512:return 32;case Q.hash.sha224:case Q.hash.sha3_256:return 16;case Q.hash.sha3_512:return 32;default:throw Error("Unsupported hash function")}}class oa{static get tag(){return Q.packet.onePassSignature}static fromSignaturePacket(e,t){const r=new oa;return r.version=6===e.version?6:3,r.signatureType=e.signatureType,r.hashAlgorithm=e.hashAlgorithm,r.publicKeyAlgorithm=e.publicKeyAlgorithm,r.issuerKeyID=e.issuerKeyID,r.salt=e.salt,r.issuerFingerprint=e.issuerFingerprint,r.flags=t?1:0,r}constructor(){this.version=null,this.signatureType=null,this.hashAlgorithm=null,this.publicKeyAlgorithm=null,this.salt=null,this.issuerKeyID=null,this.issuerFingerprint=null,this.flags=null}read(e){let t=0;if(this.version=e[t++],3!==this.version&&6!==this.version)throw new it(`Version ${this.version} of the one-pass signature packet is unsupported.`);if(this.signatureType=e[t++],this.hashAlgorithm=e[t++],this.publicKeyAlgorithm=e[t++],6===this.version){const r=e[t++];this.salt=e.subarray(t,t+r),t+=r,this.issuerFingerprint=e.subarray(t,t+32),t+=32,this.issuerKeyID=new ea,this.issuerKeyID.read(this.issuerFingerprint)}else this.issuerKeyID=new ea,this.issuerKeyID.read(e.subarray(t,t+8)),t+=8;return this.flags=e[t++],this}write(){const e=[new Uint8Array([this.version,this.signatureType,this.hashAlgorithm,this.publicKeyAlgorithm])];return 6===this.version?e.push(new Uint8Array([this.salt.length]),this.salt,this.issuerFingerprint):e.push(this.issuerKeyID.write()),e.push(new Uint8Array([this.flags])),M.concatUint8Array(e)}calculateTrailer(...e){return U((async()=>ia.prototype.calculateTrailer.apply(await this.correspondingSig,e)))}async verify(){const e=await this.correspondingSig;if(!e||e.constructor.tag!==Q.packet.signature)throw Error("Corresponding signature packet missing");if(e.signatureType!==this.signatureType||e.hashAlgorithm!==this.hashAlgorithm||e.publicKeyAlgorithm!==this.publicKeyAlgorithm||!e.issuerKeyID.equals(this.issuerKeyID)||3===this.version&&6===e.version||6===this.version&&6!==e.version||6===this.version&&!M.equalsUint8Array(e.issuerFingerprint,this.issuerFingerprint)||6===this.version&&!M.equalsUint8Array(e.salt,this.salt))throw Error("Corresponding signature packet does not match one-pass signature packet");return e.hashed=this.hashed,e.verify.apply(e,arguments)}}function ca(e,t){if(!t[e]){let t;try{t=Q.read(Q.packet,e)}catch(t){throw new st("Unknown packet type with tag: "+e)}throw Error("Packet not allowed in this context: "+t)}return new t[e]}oa.prototype.hash=ia.prototype.hash,oa.prototype.toHash=ia.prototype.toHash,oa.prototype.toSign=ia.prototype.toSign;class ua extends Array{static async fromBinary(e,t,r=R,n=null,i=!1){const s=new ua;return await s.read(e,t,r,n,i),s}async read(e,t,r=R,n=null,i=!1){let s;r.additionalAllowedPackets.length&&(s=M.constructAllowedPackets(r.additionalAllowedPackets),t={...t,...s}),this.stream=k(e,(async(e,a)=>{const o=P(e),c=D(a);try{let a=M.isStream(e);for(;;){let e,u;if(await c.ready,await nt(o,a,(async a=>{try{if(a.tag===Q.packet.marker||a.tag===Q.packet.trust||a.tag===Q.packet.padding)return;const e=ca(a.tag,t);try{n?.recordPacket(a.tag,s)}catch(e){if(r.enforceGrammar)throw e;M.printDebugError(e)}e.packets=new ua,e.fromStream=M.isStream(a.packet),u=e.fromStream;try{await e.read(a.packet,r)}catch(t){if(!(t instanceof it))throw M.wrapError(new at(`Parsing ${e.constructor.name} failed`),t);throw t}await c.write(e)}catch(t){const n=t instanceof st&&a.tag<=39,s=t instanceof it&&!(t instanceof st)&&!r.ignoreUnsupportedPackets,o=t instanceof at&&!r.ignoreMalformedPackets,u=rt(a.tag);if(n||s||o||u||!(t instanceof st||t instanceof it||t instanceof at))i?e=t:await c.abort(t);else{const e=new ot(a.tag,a.packet);await c.write(e)}M.printDebugError(t)}})),u&&(a=null),e)throw await o.readToEnd(),e;const h=await o.peekBytes(2);if(!h||!h.length){try{n?.recordEnd()}catch(e){if(r.enforceGrammar)throw e;M.printDebugError(e)}return await c.ready,void await c.close()}}}catch(e){await c.abort(e)}}));const a=P(this.stream);for(;;){const{done:e,value:t}=await a.read();if(e?this.stream=null:this.push(t),e||rt(t.constructor.tag))break}a.releaseLock()}write(){const e=[];for(let t=0;t<this.length;t++){const r=this[t]instanceof ot?this[t].tag:this[t].constructor.tag,n=this[t].write();if(M.isStream(n)&&rt(this[t].constructor.tag)){let t=[],i=0;const s=512;e.push(et(r)),e.push(b(n,(e=>{if(t.push(e),i+=e.length,i>=s){const e=Math.min(Math.log(i)/Math.LN2|0,30),r=2**e,n=M.concat([$e(e)].concat(t));return t=[n.subarray(1+r)],i=t[0].length,n.subarray(0,1+r)}}),(()=>M.concat([We(i)].concat(t)))))}else{if(M.isStream(n)){let t=0;e.push(b(v(n),(e=>{t+=e.length}),(()=>tt(r,t))))}else e.push(tt(r,n.length));e.push(n)}}return M.concat(e)}filterByTag(...e){const t=new ua,r=e=>t=>e===t;for(let n=0;n<this.length;n++)e.some(r(this[n].constructor.tag))&&t.push(this[n]);return t}findPacket(e){return this.find((t=>t.constructor.tag===e))}indexOfTag(...e){const t=[],r=this,n=e=>t=>e===t;for(let i=0;i<this.length;i++)e.some(n(r[i].constructor.tag))&&t.push(i);return t}}class ha extends Error{constructor(...e){super(...e),Error.captureStackTrace&&Error.captureStackTrace(this,ha),this.name="GrammarError"}}var la;!function(e){e[e.EmptyMessage=0]="EmptyMessage",e[e.PlaintextOrEncryptedData=1]="PlaintextOrEncryptedData",e[e.EncryptedSessionKeys=2]="EncryptedSessionKeys",e[e.StandaloneAdditionalAllowedData=3]="StandaloneAdditionalAllowedData"}(la||(la={}));class fa{constructor(){this.state=la.EmptyMessage,this.leadingOnePassSignatureCounter=0}recordPacket(e,t){switch(this.state){case la.EmptyMessage:case la.StandaloneAdditionalAllowedData:switch(e){case Q.packet.literalData:case Q.packet.compressedData:case Q.packet.aeadEncryptedData:case Q.packet.symEncryptedIntegrityProtectedData:case Q.packet.symmetricallyEncryptedData:return void(this.state=la.PlaintextOrEncryptedData);case Q.packet.signature:if(this.state===la.StandaloneAdditionalAllowedData&&--this.leadingOnePassSignatureCounter<0)throw new ha("Trailing signature packet without OPS");return;case Q.packet.onePassSignature:if(this.state===la.StandaloneAdditionalAllowedData)throw new ha("OPS following StandaloneAdditionalAllowedData");return void this.leadingOnePassSignatureCounter++;case Q.packet.publicKeyEncryptedSessionKey:case Q.packet.symEncryptedSessionKey:return void(this.state=la.EncryptedSessionKeys);default:if(!t?.[e])throw new ha(`Unexpected packet ${e} in state ${this.state}`);return void(this.state=la.StandaloneAdditionalAllowedData)}case la.PlaintextOrEncryptedData:if(e===Q.packet.signature){if(--this.leadingOnePassSignatureCounter<0)throw new ha("Trailing signature packet without OPS");return void(this.state=la.PlaintextOrEncryptedData)}if(!t?.[e])throw new ha(`Unexpected packet ${e} in state ${this.state}`);return void(this.state=la.PlaintextOrEncryptedData);case la.EncryptedSessionKeys:switch(e){case Q.packet.publicKeyEncryptedSessionKey:case Q.packet.symEncryptedSessionKey:return void(this.state=la.EncryptedSessionKeys);case Q.packet.symEncryptedIntegrityProtectedData:case Q.packet.aeadEncryptedData:case Q.packet.symmetricallyEncryptedData:return void(this.state=la.PlaintextOrEncryptedData);case Q.packet.signature:if(--this.leadingOnePassSignatureCounter<0)throw new ha("Trailing signature packet without OPS");return void(this.state=la.PlaintextOrEncryptedData);default:if(!t?.[e])throw new ha(`Unexpected packet ${e} in state ${this.state}`);this.state=la.EncryptedSessionKeys}}}recordEnd(){switch(this.state){case la.EmptyMessage:case la.PlaintextOrEncryptedData:case la.EncryptedSessionKeys:case la.StandaloneAdditionalAllowedData:if(this.leadingOnePassSignatureCounter>0)throw new ha("Missing trailing signature packets")}}}const ya=/*#__PURE__*/M.constructAllowedPackets([$s,oa,ia]);class pa{static get tag(){return Q.packet.compressedData}constructor(e=R){this.packets=null,this.algorithm=e.preferredCompressionAlgorithm,this.compressed=null}async read(e,t=R){await E(e,(async e=>{this.algorithm=await e.readByte(),this.compressed=e.remainder(),await this.decompress(t)}))}write(){return null===this.compressed&&this.compress(),M.concat([new Uint8Array([this.algorithm]),this.compressed])}async decompress(e=R){const t=Q.read(Q.compression,this.algorithm),r=ma[t];if(!r)throw Error(t+" decompression not supported");this.packets=await ua.fromBinary(await r(this.compressed),ya,e,new fa)}compress(){const e=Q.read(Q.compression,this.algorithm),t=wa[e];if(!t)throw Error(e+" compression not supported");this.compressed=t(this.packets.write())}}function da(e,t){return r=>{if(!M.isStream(r)||a(r))return U((()=>B(r).then((e=>new Promise(((r,n)=>{const i=new t;i.ondata=e=>{r(e)};try{i.push(e,!0)}catch(e){n(e)}}))))));if(e)try{const t=e();return r.pipeThrough(t)}catch(e){if("TypeError"!==e.name)throw e}const n=r.getReader(),i=new t;return new ReadableStream({async start(e){for(i.ondata=async(t,r)=>{e.enqueue(t),r&&e.close()};;){const{done:e,value:t}=await n.read();if(e)return void i.push(new Uint8Array,!0);t.length&&i.push(t)}}})}}function ga(){return async function(e){const{decode:t}=await Promise.resolve().then((function(){return jd}));return U((async()=>t(await B(e))))}}const Aa=e=>({compressor:"undefined"!=typeof CompressionStream&&(()=>new CompressionStream(e)),decompressor:"undefined"!=typeof DecompressionStream&&(()=>new DecompressionStream(e))}),wa={zip:/*#__PURE__*/da(Aa("deflate-raw").compressor,Ys),zlib:/*#__PURE__*/da(Aa("deflate").compressor,Js)},ma={uncompressed:e=>e,zip:/*#__PURE__*/da(Aa("deflate-raw").decompressor,Zs),zlib:/*#__PURE__*/da(Aa("deflate").decompressor,Xs),bzip2:/*#__PURE__*/ga()},ba=/*#__PURE__*/M.constructAllowedPackets([$s,pa,oa,ia]);class ka{static get tag(){return Q.packet.symEncryptedIntegrityProtectedData}static fromObject({version:e,aeadAlgorithm:t}){if(1!==e&&2!==e)throw Error("Unsupported SEIPD version");const r=new ka;return r.version=e,2===e&&(r.aeadAlgorithm=t),r}constructor(){this.version=null,this.cipherAlgorithm=null,this.aeadAlgorithm=null,this.chunkSizeByte=null,this.salt=null,this.encrypted=null,this.packets=null}async read(e){await E(e,(async e=>{if(this.version=await e.readByte(),1!==this.version&&2!==this.version)throw new it(`Version ${this.version} of the SEIP packet is unsupported.`);2===this.version&&(this.cipherAlgorithm=await e.readByte(),this.aeadAlgorithm=await e.readByte(),this.chunkSizeByte=await e.readByte(),this.salt=await e.readBytes(32)),this.encrypted=e.remainder()}))}write(){return 2===this.version?M.concat([new Uint8Array([this.version,this.cipherAlgorithm,this.aeadAlgorithm,this.chunkSizeByte]),this.salt,this.encrypted]):M.concat([new Uint8Array([this.version]),this.encrypted])}async encrypt(e,t,r=R){const{blockSize:n,keySize:i}=Kr(e);if(t.length!==i)throw Error("Unexpected session key size");let s=this.packets.write();if(a(s)&&(s=await B(s)),2===this.version)this.cipherAlgorithm=e,this.salt=fe(32),this.chunkSizeByte=r.aeadChunkSizeByte,this.encrypted=await Ea(this,"encrypt",t,s);else{const r=await Wn(e),i=new Uint8Array([211,20]),a=M.concat([r,s,i]),o=await xe(Q.hash.sha1,K(a)),c=M.concat([a,o]);this.encrypted=await $n(e,t,c,new Uint8Array(n))}return!0}async decrypt(e,t,r=R){if(t.length!==Kr(e).keySize)throw Error("Unexpected session key size");let n,i=v(this.encrypted);a(i)&&(i=await B(i));let s=!1;if(2===this.version){if(this.cipherAlgorithm!==e)throw Error("Unexpected session key algorithm");n=await Ea(this,"decrypt",t,i)}else{const{blockSize:a}=Kr(e),o=await ei(e,t,i,new Uint8Array(a)),c=I(K(o),-20),u=I(o,0,-20),h=Promise.all([B(await xe(Q.hash.sha1,K(u))),B(c)]).then((([e,t])=>{if(!M.equalsUint8Array(e,t))throw Error("Modification detected.");return new Uint8Array})),l=I(u,a+2);n=I(l,0,-2),n=g([n,U((()=>h))]),M.isStream(i)&&r.allowUnauthenticatedStream?s=!0:n=await B(n)}return this.packets=await ua.fromBinary(n,ba,r,new fa,s),!0}}async function Ea(e,t,r,n){const i=e instanceof ka&&2===e.version,s=!i&&e.constructor.tag===Q.packet.aeadEncryptedData;if(!i&&!s)throw Error("Unexpected packet type");const a=Li(e.aeadAlgorithm,s),o="decrypt"===t?a.tagLength:0,c="encrypt"===t?a.tagLength:0,u=2**(e.chunkSizeByte+6)+o,h=s?8:0,l=new ArrayBuffer(13+h),f=new Uint8Array(l,0,5+h),y=new Uint8Array(l),p=new DataView(l),d=new Uint8Array(l,5,8);f.set([192|e.constructor.tag,e.version,e.cipherAlgorithm,e.aeadAlgorithm,e.chunkSizeByte],0);let g,w,m=0,b=Promise.resolve(),E=0,v=0;if(i){const{keySize:t}=Kr(e.cipherAlgorithm),{ivLength:n}=a,i=new Uint8Array(l,0,5),s=await Cr(Q.hash.sha256,r,e.salt,i,t+n);r=s.subarray(0,t),g=s.subarray(t),g.fill(0,g.length-8),w=new DataView(g.buffer,g.byteOffset,g.byteLength)}else g=e.iv;const K=await a(e.cipherAlgorithm,r);return k(n,(async(r,n)=>{if("array"!==M.isStream(r)){const t=new TransformStream({},{highWaterMark:M.getHardwareConcurrency()*2**(e.chunkSizeByte+6),size:e=>e.length});A(t.readable,n),n=t.writable}const s=P(r),a=D(n);try{for(;;){let e=await s.readBytes(u+o)||new Uint8Array;const r=e.subarray(e.length-o);let n,l,A;if(e=e.subarray(0,e.length-o),i)A=g;else{A=g.slice();for(let e=0;e<8;e++)A[g.length-8+e]^=d[e]}if(!m||e.length?(s.unshift(r),n=K[t](e,A,f),n.catch((()=>{})),v+=e.length-o+c):(p.setInt32(5+h+4,E),n=K[t](r,A,y),n.catch((()=>{})),v+=c,l=!0),E+=e.length-o,b=b.then((()=>n)).then((async e=>{await a.ready,await a.write(e),v-=e.length})).catch((e=>a.abort(e))),(l||v>a.desiredSize)&&await b,l){await a.close();break}i?w.setInt32(g.length-4,++m):p.setInt32(9,++m)}}catch(e){await a.ready.catch((()=>{})),await a.abort(e)}}))}const va=/*#__PURE__*/M.constructAllowedPackets([$s,pa,oa,ia]);class Ka{static get tag(){return Q.packet.aeadEncryptedData}constructor(){this.version=1,this.cipherAlgorithm=null,this.aeadAlgorithm=Q.aead.eax,this.chunkSizeByte=null,this.iv=null,this.encrypted=null,this.packets=null}async read(e){await E(e,(async e=>{const t=await e.readByte();if(1!==t)throw new it(`Version ${t} of the AEAD-encrypted data packet is not supported.`);this.cipherAlgorithm=await e.readByte(),this.aeadAlgorithm=await e.readByte(),this.chunkSizeByte=await e.readByte();const r=Li(this.aeadAlgorithm,!0);this.iv=await e.readBytes(r.ivLength),this.encrypted=e.remainder()}))}write(){return M.concat([new Uint8Array([this.version,this.cipherAlgorithm,this.aeadAlgorithm,this.chunkSizeByte]),this.iv,this.encrypted])}async decrypt(e,t,r=R){this.packets=await ua.fromBinary(await Ea(this,"decrypt",t,v(this.encrypted)),va,r,new fa)}async encrypt(e,t,r=R){this.cipherAlgorithm=e;const{ivLength:n}=Li(this.aeadAlgorithm,!0);this.iv=fe(n),this.chunkSizeByte=r.aeadChunkSizeByte;const i=this.packets.write();this.encrypted=await Ea(this,"encrypt",t,i)}}const Sa=new Set([Q.publicKey.x25519,Q.publicKey.x448,Q.publicKey.pqc_mlkem_x25519]);class Ia{static get tag(){return Q.packet.publicKeyEncryptedSessionKey}constructor(){this.version=null,this.publicKeyID=new ea,this.publicKeyVersion=null,this.publicKeyFingerprint=null,this.publicKeyAlgorithm=null,this.sessionKey=null,this.sessionKeyAlgorithm=null,this.encrypted={}}static fromObject({version:e,encryptionKeyPacket:t,anonymousRecipient:r,sessionKey:n,sessionKeyAlgorithm:i}){const s=new Ia;if(3!==e&&6!==e)throw Error("Unsupported PKESK version");return s.version=e,6===e&&(s.publicKeyVersion=r?null:t.version,s.publicKeyFingerprint=r?null:t.getFingerprintBytes()),s.publicKeyID=r?ea.wildcard():t.getKeyID(),s.publicKeyAlgorithm=t.algorithm,s.sessionKey=n,s.sessionKeyAlgorithm=i,s}read(e){let t=0;if(this.version=e[t++],3!==this.version&&6!==this.version)throw new it(`Version ${this.version} of the PKESK packet is unsupported.`);if(6===this.version){const r=e[t++];if(r){this.publicKeyVersion=e[t++];const n=r-1;this.publicKeyFingerprint=e.subarray(t,t+n),t+=n,this.publicKeyVersion>=5?this.publicKeyID.read(this.publicKeyFingerprint):this.publicKeyID.read(this.publicKeyFingerprint.subarray(-8))}else this.publicKeyID=ea.wildcard()}else t+=this.publicKeyID.read(e.subarray(t,t+8));if(this.publicKeyAlgorithm=e[t++],this.encrypted=function(e,t){let r=0;switch(e){case Q.publicKey.rsaEncrypt:case Q.publicKey.rsaEncryptSign:return{c:M.readMPI(t.subarray(r))};case Q.publicKey.elgamal:{const e=M.readMPI(t.subarray(r));return r+=e.length+2,{c1:e,c2:M.readMPI(t.subarray(r))}}case Q.publicKey.ecdh:{const e=M.readMPI(t.subarray(r));r+=e.length+2;const n=new Nn;return n.read(t.subarray(r)),{V:e,C:n}}case Q.publicKey.x25519:case Q.publicKey.x448:{const n=Vi(e),i=M.readExactSubarray(t,r,r+n);r+=i.length;const s=new Vn;return s.read(t.subarray(r)),{ephemeralPublicKey:i,C:s}}case Q.publicKey.aead:{const e=new Gn;r+=e.read(t.subarray(r));const{ivLength:n}=Li(e.getValue()),i=t.subarray(r,r+n);r+=n;const s=new _n;return r+=s.read(t.subarray(r)),{aeadMode:e,iv:i,c:s}}case Q.publicKey.pqc_mlkem_x25519:{const e=M.readExactSubarray(t,r,r+Vi(Q.publicKey.x25519));r+=e.length;const n=M.readExactSubarray(t,r,r+1088);r+=n.length;const i=new Vn;return i.read(t.subarray(r)),{eccCipherText:e,mlkemCipherText:n,C:i}}default:throw new it("Unknown public key encryption algorithm.")}}(this.publicKeyAlgorithm,e.subarray(t)),Sa.has(this.publicKeyAlgorithm))if(3===this.version)this.sessionKeyAlgorithm=Q.write(Q.symmetric,this.encrypted.C.algorithm);else if(null!==this.encrypted.C.algorithm)throw Error("Unexpected cleartext symmetric algorithm")}write(){const e=[new Uint8Array([this.version])];return 6===this.version?null!==this.publicKeyFingerprint?(e.push(new Uint8Array([this.publicKeyFingerprint.length+1,this.publicKeyVersion])),e.push(this.publicKeyFingerprint)):e.push(new Uint8Array([0])):e.push(this.publicKeyID.write()),e.push(new Uint8Array([this.publicKeyAlgorithm]),_i(this.publicKeyAlgorithm,this.encrypted)),M.concatUint8Array(e)}async encrypt(e){const t=Q.write(Q.publicKey,this.publicKeyAlgorithm),r=3===this.version?this.sessionKeyAlgorithm:null,n=5===e.version?e.getFingerprintBytes().subarray(0,20):e.getFingerprintBytes(),i=Ba(this.version,t,r,this.sessionKey),s=t===Q.publicKey.aead?e.privateParams:null;this.encrypted=await Fi(t,r,e.publicParams,s,i,n)}async decrypt(e,t){if(this.publicKeyAlgorithm!==e.algorithm)throw Error("Decryption error");const r=t?Ba(this.version,this.publicKeyAlgorithm,t.sessionKeyAlgorithm,t.sessionKey):null,n=5===e.version?e.getFingerprintBytes().subarray(0,20):e.getFingerprintBytes(),i=await Oi(this.publicKeyAlgorithm,e.publicParams,e.privateParams,this.encrypted,n,r),{sessionKey:s,sessionKeyAlgorithm:a}=function(e,t,r,n){switch(t){case Q.publicKey.rsaEncrypt:case Q.publicKey.rsaEncryptSign:case Q.publicKey.elgamal:case Q.publicKey.ecdh:case Q.publicKey.aead:{const t=r.subarray(0,r.length-2),i=r.subarray(r.length-2),s=M.writeChecksum(t.subarray(t.length%8)),a=s[0]===i[0]&s[1]===i[1],o=6===e?{sessionKeyAlgorithm:null,sessionKey:t}:{sessionKeyAlgorithm:t[0],sessionKey:t.subarray(1)};if(n){const t=a&o.sessionKeyAlgorithm===n.sessionKeyAlgorithm&o.sessionKey.length===n.sessionKey.length;return{sessionKey:M.selectUint8Array(t,o.sessionKey,n.sessionKey),sessionKeyAlgorithm:6===e?null:M.selectUint8(t,o.sessionKeyAlgorithm,n.sessionKeyAlgorithm)}}if(a&&(6===e||Q.read(Q.symmetric,o.sessionKeyAlgorithm)))return o;throw Error("Decryption error")}case Q.publicKey.x25519:case Q.publicKey.x448:case Q.publicKey.pqc_mlkem_x25519:return{sessionKeyAlgorithm:null,sessionKey:r};default:throw Error("Unsupported public key algorithm")}}(this.version,this.publicKeyAlgorithm,i,t);if(3===this.version){const e=!Sa.has(this.publicKeyAlgorithm);if(this.sessionKeyAlgorithm=e?a:this.sessionKeyAlgorithm,s.length!==Kr(this.sessionKeyAlgorithm).keySize)throw Error("Unexpected session key size")}this.sessionKey=s}}function Ba(e,t,r,n){switch(t){case Q.publicKey.rsaEncrypt:case Q.publicKey.rsaEncryptSign:case Q.publicKey.elgamal:case Q.publicKey.ecdh:case Q.publicKey.aead:return M.concatUint8Array([new Uint8Array(6===e?[]:[r]),n,M.writeChecksum(n.subarray(n.length%8))]);case Q.publicKey.x25519:case Q.publicKey.x448:case Q.publicKey.pqc_mlkem_x25519:return n;default:throw Error("Unsupported public key algorithm")}}class Ca{static get tag(){return Q.packet.symEncryptedSessionKey}constructor(e=R){this.version=e.aeadProtect?6:4,this.sessionKey=null,this.sessionKeyEncryptionAlgorithm=null,this.sessionKeyAlgorithm=null,this.aeadAlgorithm=Q.write(Q.aead,e.preferredAEADAlgorithm),this.encrypted=null,this.s2k=null,this.iv=null}read(e){let t=0;if(this.version=e[t++],4!==this.version&&5!==this.version&&6!==this.version)throw new it(`Version ${this.version} of the SKESK packet is unsupported.`);6===this.version&&t++;const r=e[t++];this.version>=5&&(this.aeadAlgorithm=e[t++],6===this.version&&t++);const n=e[t++];if(this.s2k=ns(n),t+=this.s2k.read(e.subarray(t,e.length)),this.version>=5){const r=Li(this.aeadAlgorithm,!0);this.iv=e.subarray(t,t+=r.ivLength)}this.version>=5||t<e.length?(this.encrypted=e.subarray(t,e.length),this.sessionKeyEncryptionAlgorithm=r):this.sessionKeyAlgorithm=r}write(){const e=null===this.encrypted?this.sessionKeyAlgorithm:this.sessionKeyEncryptionAlgorithm;let t;const r=this.s2k.write();if(6===this.version){const n=r.length,i=3+n+this.iv.length;t=M.concatUint8Array([new Uint8Array([this.version,i,e,this.aeadAlgorithm,n]),r,this.iv,this.encrypted])}else 5===this.version?t=M.concatUint8Array([new Uint8Array([this.version,e,this.aeadAlgorithm]),r,this.iv,this.encrypted]):(t=M.concatUint8Array([new Uint8Array([this.version,e]),r]),null!==this.encrypted&&(t=M.concatUint8Array([t,this.encrypted])));return t}async decrypt(e){const t=null!==this.sessionKeyEncryptionAlgorithm?this.sessionKeyEncryptionAlgorithm:this.sessionKeyAlgorithm,{blockSize:r,keySize:n}=Kr(t),i=await this.s2k.produceKey(e,n);if(this.version>=5){const e=Li(this.aeadAlgorithm,!0),r=new Uint8Array([192|Ca.tag,this.version,this.sessionKeyEncryptionAlgorithm,this.aeadAlgorithm]),s=6===this.version?await Cr(Q.hash.sha256,i,new Uint8Array,r,n):i,a=await e(t,s);this.sessionKey=await a.decrypt(this.encrypted,this.iv,r)}else if(null!==this.encrypted){const e=await ei(t,i,this.encrypted,new Uint8Array(r));if(this.sessionKeyAlgorithm=Q.write(Q.symmetric,e[0]),this.sessionKey=e.subarray(1,e.length),this.sessionKey.length!==Kr(this.sessionKeyAlgorithm).keySize)throw Error("Unexpected session key size")}else this.sessionKey=i}async encrypt(e,t=R){const r=null!==this.sessionKeyEncryptionAlgorithm?this.sessionKeyEncryptionAlgorithm:this.sessionKeyAlgorithm;this.sessionKeyEncryptionAlgorithm=r,this.s2k=is(t),this.s2k.generateSalt();const{blockSize:n,keySize:i}=Kr(r),s=await this.s2k.produceKey(e,i);if(null===this.sessionKey&&(this.sessionKey=qi(this.sessionKeyAlgorithm)),this.version>=5){const e=Li(this.aeadAlgorithm);this.iv=fe(e.ivLength);const t=new Uint8Array([192|Ca.tag,this.version,this.sessionKeyEncryptionAlgorithm,this.aeadAlgorithm]),n=6===this.version?await Cr(Q.hash.sha256,s,new Uint8Array,t,i):s,a=await e(r,n);this.encrypted=await a.encrypt(this.sessionKey,this.iv,t)}else{const e=M.concatUint8Array([new Uint8Array([this.sessionKeyAlgorithm]),this.sessionKey]);this.encrypted=await $n(r,s,e,new Uint8Array(n))}}}class Ua{static get tag(){return Q.packet.publicKey}constructor(e=new Date,t=R){this.version=t.v6Keys?6:4,this.created=M.normalizeDate(e),this.algorithm=null,this.publicParams=null,this.expirationTimeV3=0,this.fingerprint=null,this.keyID=null}static fromSecretKeyPacket(e){const t=new Ua,{version:r,created:n,algorithm:i,publicParams:s,keyID:a,fingerprint:o}=e;return t.version=r,t.created=n,t.algorithm=i,t.publicParams=s,t.keyID=a,t.fingerprint=o,t}async read(e,t=R){let r=0;if(this.version=e[r++],5===this.version&&!t.enableParsingV5Entities)throw new it("Support for parsing v5 entities is disabled; turn on `config.enableParsingV5Entities` if needed");if(4===this.version||5===this.version||6===this.version){this.created=M.readDate(e.subarray(r,r+4)),r+=4,this.algorithm=e[r++],this.version>=5&&(r+=4);const{read:t,publicParams:n}=function(e,t){let r=0;switch(e){case Q.publicKey.rsaEncrypt:case Q.publicKey.rsaEncryptSign:case Q.publicKey.rsaSign:{const e=M.readMPI(t.subarray(r));r+=e.length+2;const n=M.readMPI(t.subarray(r));return r+=n.length+2,{read:r,publicParams:{n:e,e:n}}}case Q.publicKey.dsa:{const e=M.readMPI(t.subarray(r));r+=e.length+2;const n=M.readMPI(t.subarray(r));r+=n.length+2;const i=M.readMPI(t.subarray(r));r+=i.length+2;const s=M.readMPI(t.subarray(r));return r+=s.length+2,{read:r,publicParams:{p:e,q:n,g:i,y:s}}}case Q.publicKey.elgamal:{const e=M.readMPI(t.subarray(r));r+=e.length+2;const n=M.readMPI(t.subarray(r));r+=n.length+2;const i=M.readMPI(t.subarray(r));return r+=i.length+2,{read:r,publicParams:{p:e,g:n,y:i}}}case Q.publicKey.ecdsa:{const e=new Je;r+=e.read(t),ji(e);const n=M.readMPI(t.subarray(r));return r+=n.length+2,{read:r,publicParams:{oid:e,Q:n}}}case Q.publicKey.eddsaLegacy:{const e=new Je;if(r+=e.read(t),ji(e),e.getName()!==Q.curve.ed25519Legacy)throw Error("Unexpected OID for eddsaLegacy");let n=M.readMPI(t.subarray(r));return r+=n.length+2,n=M.leftPad(n,33),{read:r,publicParams:{oid:e,Q:n}}}case Q.publicKey.ecdh:{const e=new Je;r+=e.read(t),ji(e);const n=M.readMPI(t.subarray(r));r+=n.length+2;const i=new Hn;return r+=i.read(t.subarray(r)),{read:r,publicParams:{oid:e,Q:n,kdfParams:i}}}case Q.publicKey.ed25519:case Q.publicKey.ed448:case Q.publicKey.x25519:case Q.publicKey.x448:{const n=M.readExactSubarray(t,r,r+Vi(e));return r+=n.length,{read:r,publicParams:{A:n}}}case Q.publicKey.hmac:case Q.publicKey.aead:{const e=new qn;r+=e.read(t);const n=Qe(Q.hash.sha256),i=t.subarray(r,r+n);return r+=n,{read:r,publicParams:{cipher:e,digest:i}}}case Q.publicKey.pqc_mlkem_x25519:{const e=M.readExactSubarray(t,r,r+Vi(Q.publicKey.x25519));r+=e.length;const n=M.readExactSubarray(t,r,r+1184);return r+=n.length,{read:r,publicParams:{eccPublicKey:e,mlkemPublicKey:n}}}case Q.publicKey.pqc_mldsa_ed25519:{const e=M.readExactSubarray(t,r,r+Vi(Q.publicKey.ed25519));r+=e.length;const n=M.readExactSubarray(t,r,r+1952);return r+=n.length,{read:r,publicParams:{eccPublicKey:e,mldsaPublicKey:n}}}default:throw new it("Unknown public key encryption algorithm.")}}(this.algorithm,e.subarray(r));if(6===this.version&&n.oid&&(n.oid.getName()===Q.curve.curve25519Legacy||n.oid.getName()===Q.curve.ed25519Legacy))throw Error("Legacy curve25519 cannot be used with v6 keys");if(6!==this.version&&this.algorithm===Q.publicKey.pqc_mldsa_ed25519)throw Error("Unexpected key version: ML-DSA algorithms can only be used with v6 keys");return this.publicParams=n,r+=t,await this.computeFingerprintAndKeyID(),r}throw new it(`Version ${this.version} of the key packet is unsupported.`)}write(){const e=[];e.push(new Uint8Array([this.version])),e.push(M.writeDate(this.created)),e.push(new Uint8Array([this.algorithm]));const t=_i(this.algorithm,this.publicParams);return this.version>=5&&e.push(M.writeNumber(t.length,4)),e.push(t),M.concatUint8Array(e)}writeForHash(e){const t=this.writePublicKey(),r=149+e,n=e>=5?4:2;return M.concatUint8Array([new Uint8Array([r]),M.writeNumber(t.length,n),t])}isDecrypted(){return null}getCreationTime(){return this.created}getKeyID(){return this.keyID}async computeFingerprintAndKeyID(){if(await this.computeFingerprint(),this.keyID=new ea,this.version>=5)this.keyID.read(this.fingerprint.subarray(0,8));else{if(4!==this.version)throw Error("Unsupported key version");this.keyID.read(this.fingerprint.subarray(12,20))}}async computeFingerprint(){const e=this.writeForHash(this.version);if(this.version>=5)this.fingerprint=await xe(Q.hash.sha256,e);else{if(4!==this.version)throw Error("Unsupported key version");this.fingerprint=await xe(Q.hash.sha1,e)}}getFingerprintBytes(){return this.fingerprint}getFingerprint(){return M.uint8ArrayToHex(this.getFingerprintBytes())}hasSameFingerprintAs(e){return this.version===e.version&&M.equalsUint8Array(this.writePublicKey(),e.writePublicKey())}getAlgorithmInfo(){const e={};e.algorithm=Q.read(Q.publicKey,this.algorithm);const t=this.publicParams.n||this.publicParams.p;return t?e.bits=M.uint8ArrayBitLength(t):this.publicParams.oid?e.curve=this.publicParams.oid.getName():this.publicParams.cipher&&(e.symmetric=this.publicParams.cipher.getName()),e}}Ua.prototype.readPublicKey=Ua.prototype.read,Ua.prototype.writePublicKey=Ua.prototype.write;const Pa=/*#__PURE__*/M.constructAllowedPackets([$s,pa,oa,ia]);class Da{static get tag(){return Q.packet.symmetricallyEncryptedData}constructor(){this.encrypted=null,this.packets=null}read(e){this.encrypted=e}write(){return this.encrypted}async decrypt(e,t,r=R){if(!r.allowUnauthenticatedMessages)throw Error("Message is not authenticated.");const{blockSize:n}=Kr(e),i=await B(v(this.encrypted)),s=await ei(e,t,i.subarray(n+2),i.subarray(2,n+2));this.packets=await ua.fromBinary(s,Pa,r)}async encrypt(e,t,r=R){const n=this.packets.write(),{blockSize:i}=Kr(e),s=await Wn(e),a=await $n(e,t,s,new Uint8Array(i)),o=await $n(e,t,n,a.subarray(2));this.encrypted=M.concat([a,o])}}class xa{static get tag(){return Q.packet.marker}read(e){return 80===e[0]&&71===e[1]&&80===e[2]}write(){return new Uint8Array([80,71,80])}}class Qa extends Ua{static get tag(){return Q.packet.publicSubkey}constructor(e,t){super(e,t)}static fromSecretSubkeyPacket(e){const t=new Qa,{version:r,created:n,algorithm:i,publicParams:s,keyID:a,fingerprint:o}=e;return t.version=r,t.created=n,t.algorithm=i,t.publicParams=s,t.keyID=a,t.fingerprint=o,t}}class Ra{static get tag(){return Q.packet.userAttribute}constructor(){this.attributes=[]}read(e){let t=0;for(;t<e.length;){const r=Xe(e.subarray(t,e.length));t+=r.offset,this.attributes.push(M.uint8ArrayToString(e.subarray(t,t+r.len))),t+=r.len}}write(){const e=[];for(let t=0;t<this.attributes.length;t++)e.push(We(this.attributes[t].length)),e.push(M.stringToUint8Array(this.attributes[t]));return M.concatUint8Array(e)}equals(e){return!!(e&&e instanceof Ra)&&this.attributes.every((function(t,r){return t===e.attributes[r]}))}}class Ta extends Ua{static get tag(){return Q.packet.secretKey}constructor(e=new Date,t=R){super(e,t),this.keyMaterial=null,this.isEncrypted=null,this.s2kUsage=0,this.s2k=null,this.symmetric=null,this.aead=null,this.isLegacyAEAD=null,this.privateParams=null,this.usedModernAEAD=null}async read(e,t=R){let r=await this.readPublicKey(e,t);const n=r;this.s2kUsage=e[r++],5===this.version&&r++,6===this.version&&this.s2kUsage&&r++;try{if(255===this.s2kUsage||254===this.s2kUsage||253===this.s2kUsage){this.symmetric=e[r++],253===this.s2kUsage&&(this.aead=e[r++]),6===this.version&&r++;const t=e[r++];if(this.s2k=ns(t),r+=this.s2k.read(e.subarray(r,e.length)),"gnu-dummy"===this.s2k.type)return}else this.s2kUsage&&(this.symmetric=this.s2kUsage);this.s2kUsage&&(this.isLegacyAEAD=253===this.s2kUsage&&(5===this.version||4===this.version&&t.parseAEADEncryptedV4KeysAsLegacy),253!==this.s2kUsage||this.isLegacyAEAD?(this.iv=e.subarray(r,r+Kr(this.symmetric).blockSize),this.usedModernAEAD=!1):(this.iv=e.subarray(r,r+Li(this.aead).ivLength),this.usedModernAEAD=!0),r+=this.iv.length)}catch(t){if(!this.s2kUsage)throw t;this.unparseableKeyMaterial=e.subarray(n),this.isEncrypted=!0}if(5===this.version&&(r+=4),this.keyMaterial=e.subarray(r),this.isEncrypted=!!this.s2kUsage,!this.isEncrypted){let e;if(6===this.version)e=this.keyMaterial;else if(e=this.keyMaterial.subarray(0,-2),!M.equalsUint8Array(M.writeChecksum(e),this.keyMaterial.subarray(-2)))throw Error("Key checksum mismatch");try{const{read:t,privateParams:r}=await Ni(this.algorithm,e,this.publicParams);if(t<e.length)throw Error("Error reading MPIs");this.privateParams=r}catch(e){if(e instanceof it)throw e;throw Error("Error reading MPIs")}}}write(){const e=this.writePublicKey();if(this.unparseableKeyMaterial)return M.concatUint8Array([e,this.unparseableKeyMaterial]);const t=[e];t.push(new Uint8Array([this.s2kUsage]));const r=[];if(255===this.s2kUsage||254===this.s2kUsage||253===this.s2kUsage){r.push(this.symmetric),253===this.s2kUsage&&r.push(this.aead);const e=this.s2k.write();6===this.version&&r.push(e.length),r.push(...e)}return this.s2kUsage&&"gnu-dummy"!==this.s2k.type&&r.push(...this.iv),(5===this.version||6===this.version&&this.s2kUsage)&&t.push(new Uint8Array([r.length])),t.push(new Uint8Array(r)),this.isDummy()||(this.s2kUsage||(this.keyMaterial=_i(this.algorithm,this.privateParams)),5===this.version&&t.push(M.writeNumber(this.keyMaterial.length,4)),t.push(this.keyMaterial),this.s2kUsage||6===this.version||t.push(M.writeChecksum(this.keyMaterial))),M.concatUint8Array(t)}isDecrypted(){return!1===this.isEncrypted}isMissingSecretKeyMaterial(){return void 0!==this.unparseableKeyMaterial||this.isDummy()}isDummy(){return!(!this.s2k||"gnu-dummy"!==this.s2k.type)}makeDummy(e=R){this.isDummy()||(this.isDecrypted()&&this.clearPrivateParams(),delete this.unparseableKeyMaterial,this.isEncrypted=null,this.keyMaterial=null,this.s2k=ns(Q.s2k.gnu,e),this.s2k.algorithm=0,this.s2k.c=0,this.s2k.type="gnu-dummy",this.s2kUsage=254,this.symmetric=Q.symmetric.aes256,this.isLegacyAEAD=null,this.usedModernAEAD=null)}async encrypt(e,t=R){if(this.isDummy())return;if(!this.isDecrypted())throw Error("Key packet is already encrypted");if(!e)throw Error("A non-empty passphrase is required for key encryption.");this.s2k=is(t),this.s2k.generateSalt();const r=_i(this.algorithm,this.privateParams);this.symmetric=Q.symmetric.aes256;const{blockSize:n}=Kr(this.symmetric);if(t.aeadProtect){this.s2kUsage=253,this.aead=t.preferredAEADAlgorithm;const i=Li(this.aead);this.isLegacyAEAD=5===this.version,this.usedModernAEAD=!this.isLegacyAEAD;const s=et(this.constructor.tag),a=await Ma(this.version,this.s2k,e,this.symmetric,this.aead,s,this.isLegacyAEAD),o=await i(this.symmetric,a);this.iv=this.isLegacyAEAD?fe(n):fe(i.ivLength);const c=this.isLegacyAEAD?new Uint8Array:M.concatUint8Array([s,this.writePublicKey()]);this.keyMaterial=await o.encrypt(r,this.iv.subarray(0,i.ivLength),c)}else{this.s2kUsage=254,this.usedModernAEAD=!1;const t=await Ma(this.version,this.s2k,e,this.symmetric);this.iv=fe(n),this.keyMaterial=await $n(this.symmetric,t,M.concatUint8Array([r,await xe(Q.hash.sha1,r)]),this.iv)}}async decrypt(e){if(this.isDummy())return!1;if(this.unparseableKeyMaterial)throw Error("Key packet cannot be decrypted: unsupported S2K or cipher algo");if(this.isDecrypted())throw Error("Key packet is already decrypted.");let t;const r=et(this.constructor.tag);if(254!==this.s2kUsage&&253!==this.s2kUsage)throw 255===this.s2kUsage?Error("Encrypted private key is authenticated using an insecure two-byte hash"):Error("Private key is encrypted using an insecure S2K function: unsalted MD5");let n;if(t=await Ma(this.version,this.s2k,e,this.symmetric,this.aead,r,this.isLegacyAEAD),253===this.s2kUsage){const e=Li(this.aead,!0),i=await e(this.symmetric,t);try{const t=this.isLegacyAEAD?new Uint8Array:M.concatUint8Array([r,this.writePublicKey()]);n=await i.decrypt(this.keyMaterial,this.iv.subarray(0,e.ivLength),t)}catch(e){if("Authentication tag mismatch"===e.message)throw Error("Incorrect key passphrase: "+e.message);throw e}}else{const e=await ei(this.symmetric,t,this.keyMaterial,this.iv);n=e.subarray(0,-20);const r=await xe(Q.hash.sha1,n);if(!M.equalsUint8Array(r,e.subarray(-20)))throw Error("Incorrect key passphrase")}try{const{privateParams:e}=await Ni(this.algorithm,n,this.publicParams);this.privateParams=e}catch(e){throw Error("Error reading MPIs")}this.isEncrypted=!1,this.keyMaterial=null,this.s2kUsage=0,this.aead=null,this.symmetric=null,this.isLegacyAEAD=null}async validate(){if(this.isDummy())return;if(!this.isDecrypted())throw Error("Key is not decrypted");if(this.usedModernAEAD)return;let e;try{e=await Gi(this.algorithm,this.publicParams,this.privateParams)}catch(t){e=!1}if(!e)throw Error("Key is invalid")}async generate(e,t,r){if(6===this.version&&(this.algorithm===Q.publicKey.ecdh&&t===Q.curve.curve25519Legacy||this.algorithm===Q.publicKey.eddsaLegacy))throw Error(`Cannot generate v6 keys of type 'ecc' with curve ${t}. Generate a key of type 'curve25519' instead`);if(6!==this.version&&this.algorithm===Q.publicKey.pqc_mldsa_ed25519)throw Error(`Cannot generate v${this.version} signing keys of type 'pqc'. Generate a v6 key instead`);const{privateParams:n,publicParams:i}=await Hi(this.algorithm,e,t,r);this.privateParams=n,this.publicParams=i,this.isEncrypted=!1}clearPrivateParams(){this.isMissingSecretKeyMaterial()||(Object.keys(this.privateParams).forEach((e=>{this.privateParams[e].fill(0),delete this.privateParams[e]})),this.privateParams=null,this.isEncrypted=!0)}}async function Ma(e,t,r,n,i,s,a){if("argon2"===t.type&&!i)throw Error("Using Argon2 S2K without AEAD is not allowed");if("simple"===t.type&&6===e)throw Error("Using Simple S2K with version 6 keys is not allowed");const{keySize:o}=Kr(n),c=await t.produceKey(r,o);if(!i||5===e||a)return c;const u=M.concatUint8Array([s,new Uint8Array([e,n,i])]);return Cr(Q.hash.sha256,c,new Uint8Array,u,o)}class La{static get tag(){return Q.packet.userID}constructor(){this.userID="",this.name="",this.email="",this.comment=""}static fromObject(e){if(M.isString(e)||e.name&&!M.isString(e.name)||e.email&&!M.isEmailAddress(e.email)||e.comment&&!M.isString(e.comment))throw Error("Invalid user ID format");const t=new La;Object.assign(t,e);const r=[];return t.name&&r.push(t.name),t.comment&&r.push(`(${t.comment})`),t.email&&r.push(`<${t.email}>`),t.userID=r.join(" "),t}read(e,t=R){const r=M.decodeUTF8(e);if(r.length>t.maxUserIDLength)throw Error("User ID string is too long");const n=e=>/^[^\s@]+@[^\s@]+$/.test(e),i=r.indexOf("<"),s=r.lastIndexOf(">");if(-1!==i&&-1!==s&&s>i){const e=r.substring(i+1,s);if(n(e)){this.email=e;const t=r.substring(0,i).trim(),n=t.indexOf("("),s=t.lastIndexOf(")");-1!==n&&-1!==s&&s>n?(this.comment=t.substring(n+1,s).trim(),this.name=t.substring(0,n).trim()):(this.name=t,this.comment="")}}else n(r.trim())&&(this.email=r.trim(),this.name="",this.comment="");this.userID=r}write(){return M.encodeUTF8(this.userID)}equals(e){return e&&e.userID===this.userID}}class Fa extends Ta{static get tag(){return Q.packet.secretSubkey}constructor(e=new Date,t=R){super(e,t)}}class Oa{static get tag(){return Q.packet.trust}read(){throw new it("Trust packets are not supported")}write(){throw new it("Trust packets are not supported")}}class Na{static get tag(){return Q.packet.padding}constructor(){this.padding=null}read(e){}write(){return this.padding}async createPadding(e){this.padding=await fe(e)}}const _a=/*#__PURE__*/M.constructAllowedPackets([ia]);class Ha{constructor(e){this.packets=e||new ua}write(){return this.packets.write()}armor(e=R){const t=this.packets.some((e=>e.constructor.tag===ia.tag&&6!==e.version));return W(Q.armor.signature,this.write(),void 0,void 0,void 0,t,e)}getSigningKeyIDs(){return this.packets.map((e=>e.issuerKeyID))}}async function za({armoredSignature:e,binarySignature:t,config:r,...n}){r={...R,...r};let i=e||t;if(!i)throw Error("readSignature: must pass options object containing `armoredSignature` or `binarySignature`");if(e&&!M.isString(e))throw Error("readSignature: options.armoredSignature must be a string");if(t&&!M.isUint8Array(t))throw Error("readSignature: options.binarySignature must be a Uint8Array");const s=Object.keys(n);if(s.length>0)throw Error("Unknown option: "+s.join(", "));if(e){const{type:e,data:t}=await X(i);if(e!==Q.armor.signature)throw Error("Armored text not of type signature");i=t}const a=await ua.fromBinary(i,_a,r);return new Ha(a)}async function Ga(e,t){const r=new Fa(e.date,t);return r.packets=null,r.algorithm=Q.write(Q.publicKey,e.algorithm),await r.generate(e.rsaBits,e.curve,e.symmetric),await r.computeFingerprintAndKeyID(),r}async function qa(e,t){const r=new Ta(e.date,t);return r.packets=null,r.algorithm=Q.write(Q.publicKey,e.algorithm),await r.generate(e.rsaBits,e.curve,e.symmetric),await r.computeFingerprintAndKeyID(),r}async function ja(e,t,r,n,i=new Date,s){let a,o;for(let c=e.length-1;c>=0;c--)try{(!a||e[c].created>=a.created)&&(await e[c].verify(t,r,n,i,void 0,s),a=e[c])}catch(e){o=e}if(!a)throw M.wrapError(`Could not find valid ${Q.read(Q.signature,r)} signature in key ${t.getKeyID().toHex()}`.replace("certGeneric ","self-").replace(/([a-z])([A-Z])/g,((e,t,r)=>t+" "+r.toLowerCase())),o);return a}function Va(e,t,r=new Date){const n=M.normalizeDate(r);if(null!==n){const r=$a(e,t);return!(e.created<=n&&n<r)}return!1}async function Ya(e,t,r,n){const i={};i.key=t,i.bind=e;const s={signatureType:Q.signature.subkeyBinding};r.sign?(s.keyFlags=[Q.keyFlags.signData],s.embeddedSignature=await Ja(i,[],e,{signatureType:Q.signature.keyBinding},r.date,void 0,void 0,void 0,n)):s.keyFlags=r.forwarding?[Q.keyFlags.forwardedCommunication]:[Q.keyFlags.encryptCommunication|Q.keyFlags.encryptStorage],r.keyExpirationTime>0&&(s.keyExpirationTime=r.keyExpirationTime,s.keyNeverExpires=!1);return await Ja(i,[],t,s,r.date,void 0,void 0,void 0,n)}async function Za(e,t,r=new Date,n=[],i){const s=Q.hash.sha256,a=i.preferredHashAlgorithm,o=await Promise.all(e.map((async(e,t)=>(await e.getPrimarySelfSignature(r,n[t],i)).preferredHashAlgorithms||[]))),c=new Map;for(const e of o)for(const t of e)try{const e=Q.write(Q.hash,t);c.set(e,c.has(e)?c.get(e)+1:1)}catch{}const u=t=>0===e.length||c.get(t)===e.length||t===s,h=()=>{if(0===c.size)return s;const e=Array.from(c.keys()).filter((e=>u(e))).sort(((e,t)=>Qe(e)-Qe(t)))[0];return Qe(e)>=Qe(s)?e:s},l=new Set([Q.publicKey.ecdsa,Q.publicKey.eddsaLegacy,Q.publicKey.ed25519,Q.publicKey.ed448]),f=new Set([Q.publicKey.pqc_mldsa_ed25519]);if(l.has(t.algorithm)){const e=function(e,t){switch(e){case Q.publicKey.ecdsa:case Q.publicKey.eddsaLegacy:return Yr(t);case Q.publicKey.ed25519:case Q.publicKey.ed448:return yt(e);default:throw Error("Unknown elliptic signing algo")}}(t.algorithm,t.publicParams.oid),r=u(a),n=Qe(a)>=Qe(e);if(r&&n)return a;{const t=h();return Qe(t)>=Qe(e)?t:e}}if(f.has(t.algorithm)){if(u(a)&&Fn(t.algorithm,a))return a;{const e=h();return Fn(t.algorithm,e)?e:s}}return u(a)?a:h()}async function Ja(e,t,r,n,i,s,a=[],o=!1,c){if(r.isDummy())throw Error("Cannot sign with a gnu-dummy key.");if(!r.isDecrypted())throw Error("Signing key is not decrypted.");const u=new ia;return Object.assign(u,n),u.publicKeyAlgorithm=r.algorithm,u.hashAlgorithm=await Za(t,r,i,s,c),u.rawNotations=[...a],await u.sign(r,e,i,o,c),u}async function Xa(e,t,r,n=new Date,i){(e=e[r])&&(t[r].length?await Promise.all(e.map((async function(e){e.isExpired(n)||i&&!await i(e)||t[r].some((function(t){return M.equalsUint8Array(t.writeParams(),e.writeParams())}))||t[r].push(e)}))):t[r]=e)}async function Wa(e,t,r,n,i,s,a=new Date,o){s=s||e;const c=[];return await Promise.all(n.map((async function(e){try{if(!i||e.issuerKeyID.equals(i.issuerKeyID)){const n=![Q.reasonForRevocation.keyRetired,Q.reasonForRevocation.keySuperseded,Q.reasonForRevocation.userIDInvalid].includes(e.reasonForRevocationFlag);await e.verify(s,t,r,n?null:a,!1,o),c.push(e.issuerKeyID)}}catch(e){}}))),i?(i.revoked=!!c.some((e=>e.equals(i.issuerKeyID)))||(i.revoked||!1),i.revoked):c.length>0}function $a(e,t){let r;return!1===t.keyNeverExpires&&(r=e.created.getTime()+1e3*t.keyExpirationTime),r?new Date(r):1/0}function eo(e,t={}){if(e.type=e.type||t.type,e.curve=e.curve||t.curve,e.rsaBits=e.rsaBits||t.rsaBits,e.symmetricHash=e.symmetricHash||t.symmetricHash,e.symmetricCipher=e.symmetricCipher||t.symmetricCipher,e.keyExpirationTime=void 0!==e.keyExpirationTime?e.keyExpirationTime:t.keyExpirationTime,e.passphrase=M.isString(e.passphrase)?e.passphrase:t.passphrase,e.date=e.date||t.date,e.sign=e.sign||!1,e.forwarding=e.forwarding||!1,e.sign&&e.forwarding)throw Error('Incompatible options: "sign" and "forwarding" cannot be set together');switch(e.type){case"pqc":e.sign?e.algorithm=Q.publicKey.pqc_mldsa_ed25519:e.algorithm=Q.publicKey.pqc_mlkem_x25519;break;case"ecc":try{e.curve=Q.write(Q.curve,e.curve)}catch(e){throw Error("Unknown curve")}e.curve!==Q.curve.ed25519Legacy&&e.curve!==Q.curve.curve25519Legacy&&"ed25519"!==e.curve&&"curve25519"!==e.curve||(e.curve=e.sign?Q.curve.ed25519Legacy:Q.curve.curve25519Legacy),e.sign?e.algorithm=e.curve===Q.curve.ed25519Legacy?Q.publicKey.eddsaLegacy:Q.publicKey.ecdsa:e.algorithm=Q.publicKey.ecdh;break;case"curve25519":e.algorithm=e.sign?Q.publicKey.ed25519:Q.publicKey.x25519;break;case"curve448":e.algorithm=e.sign?Q.publicKey.ed448:Q.publicKey.x448;break;case"rsa":e.algorithm=Q.publicKey.rsaEncryptSign;break;case"symmetric":if(e.sign){e.algorithm=Q.publicKey.hmac;try{e.symmetric=Q.write(Q.hash,e.symmetricHash)}catch(e){throw Error("Unknown hash algorithm")}}else{e.algorithm=Q.publicKey.aead;try{e.symmetric=Q.write(Q.symmetric,e.symmetricCipher)}catch(e){throw Error("Unknown symmetric algorithm")}}break;default:throw Error("Unsupported key type "+e.type)}return e}function to(e,t,r){switch(e.algorithm){case Q.publicKey.rsaEncryptSign:case Q.publicKey.rsaSign:case Q.publicKey.dsa:case Q.publicKey.ecdsa:case Q.publicKey.eddsaLegacy:case Q.publicKey.ed25519:case Q.publicKey.ed448:case Q.publicKey.hmac:case Q.publicKey.pqc_mldsa_ed25519:if(!t.keyFlags&&!r.allowMissingKeyFlags)throw Error("None of the key flags is set: consider passing `config.allowMissingKeyFlags`");return!t.keyFlags||!!(t.keyFlags[0]&Q.keyFlags.signData);default:return!1}}function ro(e,t,r){switch(e.algorithm){case Q.publicKey.rsaEncryptSign:case Q.publicKey.rsaEncrypt:case Q.publicKey.elgamal:case Q.publicKey.ecdh:case Q.publicKey.x25519:case Q.publicKey.x448:case Q.publicKey.aead:case Q.publicKey.pqc_mlkem_x25519:if(!t.keyFlags&&!r.allowMissingKeyFlags)throw Error("None of the key flags is set: consider passing `config.allowMissingKeyFlags`");return!t.keyFlags||!!(t.keyFlags[0]&Q.keyFlags.encryptCommunication)||!!(t.keyFlags[0]&Q.keyFlags.encryptStorage);default:return!1}}function no(e,t,r){if(!t.keyFlags&&!r.allowMissingKeyFlags)throw Error("None of the key flags is set: consider passing `config.allowMissingKeyFlags`");switch(e.algorithm){case Q.publicKey.rsaEncryptSign:case Q.publicKey.rsaEncrypt:case Q.publicKey.elgamal:case Q.publicKey.ecdh:case Q.publicKey.x25519:case Q.publicKey.x448:case Q.publicKey.pqc_mlkem_x25519:return!(!(!t.keyFlags||!!(t.keyFlags[0]&Q.keyFlags.signData))||!r.allowInsecureDecryptionWithSigningKeys)||(!t.keyFlags||!!(t.keyFlags[0]&Q.keyFlags.encryptCommunication)||!!(t.keyFlags[0]&Q.keyFlags.encryptStorage)||r.allowForwardedMessages&&!!(t.keyFlags[0]&Q.keyFlags.forwardedCommunication));default:return!1}}function io(e,t){const r=Q.write(Q.publicKey,e.algorithm),n=e.getAlgorithmInfo();if(t.rejectPublicKeyAlgorithms.has(r))throw Error(n.algorithm+" keys are considered too weak.");switch(r){case Q.publicKey.rsaEncryptSign:case Q.publicKey.rsaSign:case Q.publicKey.rsaEncrypt:if(n.bits<t.minRSABits)throw Error(`RSA keys shorter than ${t.minRSABits} bits are considered too weak.`);break;case Q.publicKey.ecdsa:case Q.publicKey.eddsaLegacy:case Q.publicKey.ecdh:if(t.rejectCurves.has(n.curve))throw Error(`Support for ${n.algorithm} keys using curve ${n.curve} is disabled.`)}}class so{constructor(e,t){this.userID=e.constructor.tag===Q.packet.userID?e:null,this.userAttribute=e.constructor.tag===Q.packet.userAttribute?e:null,this.selfCertifications=[],this.otherCertifications=[],this.revocationSignatures=[],this.mainKey=t}toPacketList(){const e=new ua;return e.push(this.userID||this.userAttribute),e.push(...this.revocationSignatures),e.push(...this.selfCertifications),e.push(...this.otherCertifications),e}clone(){const e=new so(this.userID||this.userAttribute,this.mainKey);return e.selfCertifications=[...this.selfCertifications],e.otherCertifications=[...this.otherCertifications],e.revocationSignatures=[...this.revocationSignatures],e}async certify(e,t,r){const n=this.mainKey.keyPacket,i={userID:this.userID,userAttribute:this.userAttribute,key:n},s=new so(i.userID||i.userAttribute,this.mainKey);return s.otherCertifications=await Promise.all(e.map((async function(e){if(!e.isPrivate())throw Error("Need private key for signing");if(e.hasSameFingerprintAs(n))throw Error("The user's own key can only be used for self-certifications");const s=await e.getSigningKey(void 0,t,void 0,r);return Ja(i,[e],s.keyPacket,{signatureType:Q.signature.certGeneric,keyFlags:[Q.keyFlags.certifyKeys|Q.keyFlags.signData]},t,void 0,void 0,void 0,r)}))),await s.update(this,t,r),s}async isRevoked(e,t,r=new Date,n=R){const i=this.mainKey.keyPacket;return Wa(i,Q.signature.certRevocation,{key:i,userID:this.userID,userAttribute:this.userAttribute},this.revocationSignatures,e,t,r,n)}async verifyCertificate(e,t,r=new Date,n){const i=this,s=this.mainKey.keyPacket,a={userID:this.userID,userAttribute:this.userAttribute,key:s},{issuerKeyID:o}=e,c=t.filter((e=>e.getKeys(o).length>0));return 0===c.length?null:(await Promise.all(c.map((async t=>{const s=await t.getSigningKey(o,e.created,void 0,n);if(e.revoked||await i.isRevoked(e,s.keyPacket,r,n))throw Error("User certificate is revoked");try{await e.verify(s.keyPacket,Q.signature.certGeneric,a,r,void 0,n)}catch(e){throw M.wrapError("User certificate is invalid",e)}}))),!0)}async verifyAllCertifications(e,t=new Date,r){const n=this,i=this.selfCertifications.concat(this.otherCertifications);return Promise.all(i.map((async i=>({keyID:i.issuerKeyID,valid:await n.verifyCertificate(i,e,t,r).catch((()=>!1))}))))}async verify(e=new Date,t){if(!this.selfCertifications.length)throw Error("No self-certifications found");const r=this,n=this.mainKey.keyPacket,i={userID:this.userID,userAttribute:this.userAttribute,key:n};let s;for(let a=this.selfCertifications.length-1;a>=0;a--)try{const s=this.selfCertifications[a];if(s.revoked||await r.isRevoked(s,void 0,e,t))throw Error("Self-certification is revoked");try{await s.verify(n,Q.signature.certGeneric,i,e,void 0,t)}catch(e){throw M.wrapError("Self-certification is invalid",e)}return!0}catch(e){s=e}throw s}async update(e,t,r){const n=this.mainKey.keyPacket,i={userID:this.userID,userAttribute:this.userAttribute,key:n};await Xa(e,this,"selfCertifications",t,(async function(e){try{return await e.verify(n,Q.signature.certGeneric,i,t,!1,r),!0}catch(e){return!1}})),await Xa(e,this,"otherCertifications",t),await Xa(e,this,"revocationSignatures",t,(function(e){return Wa(n,Q.signature.certRevocation,i,[e],void 0,void 0,t,r)}))}async revoke(e,{flag:t=Q.reasonForRevocation.noReason,string:r=""}={},n=new Date,i=R){const s={userID:this.userID,userAttribute:this.userAttribute,key:e},a=new so(s.userID||s.userAttribute,this.mainKey);return a.revocationSignatures.push(await Ja(s,[],e,{signatureType:Q.signature.certRevocation,reasonForRevocationFlag:Q.write(Q.reasonForRevocation,t),reasonForRevocationString:r},n,void 0,void 0,!1,i)),await a.update(this),a}}class ao{constructor(e,t){this.keyPacket=e,this.bindingSignatures=[],this.revocationSignatures=[],this.mainKey=t}toPacketList(){const e=new ua;return e.push(this.keyPacket),e.push(...this.revocationSignatures),e.push(...this.bindingSignatures),e}clone(){const e=new ao(this.keyPacket,this.mainKey);return e.bindingSignatures=[...this.bindingSignatures],e.revocationSignatures=[...this.revocationSignatures],e}async isRevoked(e,t,r=new Date,n=R){const i=this.mainKey.keyPacket;return Wa(i,Q.signature.subkeyRevocation,{key:i,bind:this.keyPacket},this.revocationSignatures,e,t,r,n)}async verify(e=new Date,t=R){const r=this.mainKey.keyPacket,n={key:r,bind:this.keyPacket},i=await ja(this.bindingSignatures,r,Q.signature.subkeyBinding,n,e,t);if(i.revoked||await this.isRevoked(i,null,e,t))throw Error("Subkey is revoked");if(Va(this.keyPacket,i,e))throw Error("Subkey is expired");return i}async getExpirationTime(e=new Date,t=R){const r=this.mainKey.keyPacket,n={key:r,bind:this.keyPacket};let i;try{i=await ja(this.bindingSignatures,r,Q.signature.subkeyBinding,n,e,t)}catch(e){return null}const s=$a(this.keyPacket,i),a=i.getExpirationTime();return s<a?s:a}async update(e,t=new Date,r=R){const n=this.mainKey.keyPacket;if(!this.hasSameFingerprintAs(e))throw Error("Subkey update method: fingerprints of subkeys not equal");this.keyPacket.constructor.tag===Q.packet.publicSubkey&&e.keyPacket.constructor.tag===Q.packet.secretSubkey&&(this.keyPacket=e.keyPacket);const i=this,s={key:n,bind:i.keyPacket};await Xa(e,this,"bindingSignatures",t,(async function(e){for(let t=0;t<i.bindingSignatures.length;t++)if(i.bindingSignatures[t].issuerKeyID.equals(e.issuerKeyID))return e.created>i.bindingSignatures[t].created&&(i.bindingSignatures[t]=e),!1;try{return await e.verify(n,Q.signature.subkeyBinding,s,t,void 0,r),!0}catch(e){return!1}})),await Xa(e,this,"revocationSignatures",t,(function(e){return Wa(n,Q.signature.subkeyRevocation,s,[e],void 0,void 0,t,r)}))}async revoke(e,{flag:t=Q.reasonForRevocation.noReason,string:r=""}={},n=new Date,i=R){const s={key:e,bind:this.keyPacket},a=new ao(this.keyPacket,this.mainKey);return a.revocationSignatures.push(await Ja(s,[],e,{signatureType:Q.signature.subkeyRevocation,reasonForRevocationFlag:Q.write(Q.reasonForRevocation,t),reasonForRevocationString:r},n,void 0,void 0,!1,i)),await a.update(this),a}hasSameFingerprintAs(e){return this.keyPacket.hasSameFingerprintAs(e.keyPacket||e)}}["getKeyID","getFingerprint","getAlgorithmInfo","getCreationTime","isDecrypted"].forEach((e=>{ao.prototype[e]=function(){return this.keyPacket[e]()}}));const oo=/*#__PURE__*/M.constructAllowedPackets([ia]),co=new Set([Q.packet.publicKey,Q.packet.privateKey]),uo=new Set([Q.packet.publicKey,Q.packet.privateKey,Q.packet.publicSubkey,Q.packet.privateSubkey]);class ho{packetListToStructure(e,t=new Set){let r,n,i,s;for(const a of e){if(a instanceof ot){uo.has(a.tag)&&!s&&(s=co.has(a.tag)?co:uo);continue}const e=a.constructor.tag;if(s){if(!s.has(e))continue;s=null}if(t.has(e))throw Error("Unexpected packet type: "+e);switch(e){case Q.packet.publicKey:case Q.packet.secretKey:if(this.keyPacket)throw Error("Key block contains multiple keys");if(this.keyPacket=a,n=this.getKeyID(),!n)throw Error("Missing Key ID");break;case Q.packet.userID:case Q.packet.userAttribute:r=new so(a,this),this.users.push(r);break;case Q.packet.publicSubkey:case Q.packet.secretSubkey:r=null,i=new ao(a,this),this.subkeys.push(i);break;case Q.packet.signature:switch(a.signatureType){case Q.signature.certGeneric:case Q.signature.certPersona:case Q.signature.certCasual:case Q.signature.certPositive:if(!r){M.printDebug("Dropping certification signatures without preceding user packet");continue}a.issuerKeyID.equals(n)?r.selfCertifications.push(a):r.otherCertifications.push(a);break;case Q.signature.certRevocation:r?r.revocationSignatures.push(a):this.directSignatures.push(a);break;case Q.signature.key:this.directSignatures.push(a);break;case Q.signature.subkeyBinding:if(!i){M.printDebug("Dropping subkey binding signature without preceding subkey packet");continue}i.bindingSignatures.push(a);break;case Q.signature.keyRevocation:this.revocationSignatures.push(a);break;case Q.signature.subkeyRevocation:if(!i){M.printDebug("Dropping subkey revocation signature without preceding subkey packet");continue}i.revocationSignatures.push(a)}}}}toPacketList(){const e=new ua;return e.push(this.keyPacket),e.push(...this.revocationSignatures),e.push(...this.directSignatures),this.users.map((t=>e.push(...t.toPacketList()))),this.subkeys.map((t=>e.push(...t.toPacketList()))),e}clone(e=!1){const t=new this.constructor(this.toPacketList());return e&&t.getKeys().forEach((e=>{if(e.keyPacket=Object.create(Object.getPrototypeOf(e.keyPacket),Object.getOwnPropertyDescriptors(e.keyPacket)),!e.keyPacket.isDecrypted())return;const t={};Object.keys(e.keyPacket.privateParams).forEach((r=>{t[r]=new Uint8Array(e.keyPacket.privateParams[r])})),e.keyPacket.privateParams=t})),t}getSubkeys(e=null){return this.subkeys.filter((t=>!e||t.getKeyID().equals(e,!0)))}getKeys(e=null){const t=[];return e&&!this.getKeyID().equals(e,!0)||t.push(this),t.concat(this.getSubkeys(e))}getKeyIDs(){return this.getKeys().map((e=>e.getKeyID()))}getUserIDs(){return this.users.map((e=>e.userID?e.userID.userID:null)).filter((e=>null!==e))}write(){return this.toPacketList().write()}async getSigningKey(e=null,t=new Date,r={},n=R){await this.verifyPrimaryKey(t,r,n);const i=this.keyPacket;try{io(i,n)}catch(e){throw M.wrapError("Could not verify primary key",e)}const s=this.subkeys.slice().sort(((e,t)=>t.keyPacket.created-e.keyPacket.created||t.keyPacket.algorithm-e.keyPacket.algorithm));let a;for(const r of s)if(!e||r.getKeyID().equals(e))try{await r.verify(t,n);const e={key:i,bind:r.keyPacket},s=await ja(r.bindingSignatures,i,Q.signature.subkeyBinding,e,t,n);if(!to(r.keyPacket,s,n))continue;if(!s.embeddedSignature)throw Error("Missing embedded signature");return await ja([s.embeddedSignature],r.keyPacket,Q.signature.keyBinding,e,t,n),io(r.keyPacket,n),r}catch(e){a=e}try{const s=await this.getPrimarySelfSignature(t,r,n);if((!e||i.getKeyID().equals(e))&&to(i,s,n))return io(i,n),this}catch(e){a=e}throw M.wrapError("Could not find valid signing key packet in key "+this.getKeyID().toHex(),a)}async getEncryptionKey(e,t=new Date,r={},n=R){await this.verifyPrimaryKey(t,r,n);const i=this.keyPacket;try{io(i,n)}catch(e){throw M.wrapError("Could not verify primary key",e)}const s=this.subkeys.slice().sort(((e,t)=>t.keyPacket.created-e.keyPacket.created||t.keyPacket.algorithm-e.keyPacket.algorithm));let a;for(const r of s)if(!e||r.getKeyID().equals(e))try{await r.verify(t,n);const e={key:i,bind:r.keyPacket},s=await ja(r.bindingSignatures,i,Q.signature.subkeyBinding,e,t,n);if(ro(r.keyPacket,s,n))return io(r.keyPacket,n),r}catch(e){a=e}try{const s=await this.getPrimarySelfSignature(t,r,n);if((!e||i.getKeyID().equals(e))&&ro(i,s,n))return io(i,n),this}catch(e){a=e}throw M.wrapError("Could not find valid encryption key packet in key "+this.getKeyID().toHex(),a)}async isRevoked(e,t,r=new Date,n=R){return Wa(this.keyPacket,Q.signature.keyRevocation,{key:this.keyPacket},this.revocationSignatures,e,t,r,n)}async verifyPrimaryKey(e=new Date,t={},r=R){const n=this.keyPacket;if(await this.isRevoked(null,null,e,r))throw Error("Primary key is revoked");if(Va(n,await this.getPrimarySelfSignature(e,t,r),e))throw Error("Primary key is expired");if(6!==n.version){const t=await ja(this.directSignatures,n,Q.signature.key,{key:n},e,r).catch((()=>{}));if(t&&Va(n,t,e))throw Error("Primary key is expired")}}async getExpirationTime(e,t=R){let r;try{const n=await this.getPrimarySelfSignature(null,e,t),i=$a(this.keyPacket,n),s=n.getExpirationTime(),a=6!==this.keyPacket.version&&await ja(this.directSignatures,this.keyPacket,Q.signature.key,{key:this.keyPacket},null,t).catch((()=>{}));if(a){const e=$a(this.keyPacket,a);r=Math.min(i,s,e)}else r=i<s?i:s}catch(e){r=null}return M.normalizeDate(r)}async getPrimarySelfSignature(e=new Date,t={},r=R){const n=this.keyPacket;if(6===n.version)return ja(this.directSignatures,n,Q.signature.key,{key:n},e,r);const{selfCertification:i}=await this.getPrimaryUser(e,t,r);return i}async getPrimaryUser(e=new Date,t={},r=R){const n=this.keyPacket,i=[];let s;for(let a=0;a<this.users.length;a++)try{const s=this.users[a];if(!s.userID)continue;if(void 0!==t.name&&s.userID.name!==t.name||void 0!==t.email&&s.userID.email!==t.email||void 0!==t.comment&&s.userID.comment!==t.comment)throw Error("Could not find user that matches that user ID");const o={userID:s.userID,key:n},c=await ja(s.selfCertifications,n,Q.signature.certGeneric,o,e,r);i.push({index:a,user:s,selfCertification:c})}catch(e){s=e}if(!i.length)throw s||Error("Could not find primary user");await Promise.all(i.map((async function(t){return t.selfCertification.revoked||t.user.isRevoked(t.selfCertification,null,e,r)})));const a=i.sort((function(e,t){const r=e.selfCertification,n=t.selfCertification;return n.revoked-r.revoked||r.isPrimaryUserID-n.isPrimaryUserID||r.created-n.created})).pop(),{user:o,selfCertification:c}=a;if(c.revoked||await o.isRevoked(c,null,e,r))throw Error("Primary user is revoked");return a}async update(e,t=new Date,r=R){if(!this.hasSameFingerprintAs(e))throw Error("Primary key fingerprints must be equal to update the key");if(!this.isPrivate()&&e.isPrivate()){if(!(this.subkeys.length===e.subkeys.length&&this.subkeys.every((t=>e.subkeys.some((e=>t.hasSameFingerprintAs(e)))))))throw Error("Cannot update public key with private key if subkeys mismatch");return e.update(this,r)}const n=this.clone();return await Xa(e,n,"revocationSignatures",t,(i=>Wa(n.keyPacket,Q.signature.keyRevocation,n,[i],null,e.keyPacket,t,r))),await Xa(e,n,"directSignatures",t),await Promise.all(e.users.map((async e=>{const i=n.users.filter((t=>e.userID&&e.userID.equals(t.userID)||e.userAttribute&&e.userAttribute.equals(t.userAttribute)));if(i.length>0)await Promise.all(i.map((n=>n.update(e,t,r))));else{const t=e.clone();t.mainKey=n,n.users.push(t)}}))),await Promise.all(e.subkeys.map((async e=>{const i=n.subkeys.filter((t=>t.hasSameFingerprintAs(e)));if(i.length>0)await Promise.all(i.map((n=>n.update(e,t,r))));else{const t=e.clone();t.mainKey=n,n.subkeys.push(t)}}))),n}async getRevocationCertificate(e=new Date,t=R){const r={key:this.keyPacket},n=await ja(this.revocationSignatures,this.keyPacket,Q.signature.keyRevocation,r,e,t),i=new ua;i.push(n);const s=6!==this.keyPacket.version;return W(Q.armor.publicKey,i.write(),null,null,"This is a revocation certificate",s,t)}async applyRevocationCertificate(e,t=new Date,r=R){const n=await X(e),i=(await ua.fromBinary(n.data,oo,r)).findPacket(Q.packet.signature);if(!i||i.signatureType!==Q.signature.keyRevocation)throw Error("Could not find revocation signature packet");if(!i.issuerKeyID.equals(this.getKeyID()))throw Error("Revocation signature does not match key");try{await i.verify(this.keyPacket,Q.signature.keyRevocation,{key:this.keyPacket},t,void 0,r)}catch(e){throw M.wrapError("Could not verify revocation signature",e)}const s=this.clone();return s.revocationSignatures.push(i),s}async signPrimaryUser(e,t,r,n=R){const{index:i,user:s}=await this.getPrimaryUser(t,r,n),a=await s.certify(e,t,n),o=this.clone();return o.users[i]=a,o}async signAllUsers(e,t=new Date,r=R){const n=this.clone();return n.users=await Promise.all(this.users.map((function(n){return n.certify(e,t,r)}))),n}async verifyPrimaryUser(e,t=new Date,r,n=R){const i=this.keyPacket,{user:s}=await this.getPrimaryUser(t,r,n);return e?await s.verifyAllCertifications(e,t,n):[{keyID:i.getKeyID(),valid:await s.verify(t,n).catch((()=>!1))}]}async verifyAllUsers(e,t=new Date,r=R){const n=this.keyPacket,i=[];return await Promise.all(this.users.map((async s=>{const a=e?await s.verifyAllCertifications(e,t,r):[{keyID:n.getKeyID(),valid:await s.verify(t,r).catch((()=>!1))}];i.push(...a.map((e=>({userID:s.userID?s.userID.userID:null,userAttribute:s.userAttribute,keyID:e.keyID,valid:e.valid}))))}))),i}}["getKeyID","getFingerprint","getAlgorithmInfo","getCreationTime","hasSameFingerprintAs"].forEach((e=>{ho.prototype[e]=ao.prototype[e]}));class lo extends ho{constructor(e){if(super(),this.keyPacket=null,this.revocationSignatures=[],this.directSignatures=[],this.users=[],this.subkeys=[],e&&(this.packetListToStructure(e,new Set([Q.packet.secretKey,Q.packet.secretSubkey])),!this.keyPacket))throw Error("Invalid key: missing public-key packet")}isPrivate(){return!1}toPublic(){return this}armor(e=R){const t=6!==this.keyPacket.version;return W(Q.armor.publicKey,this.toPacketList().write(),void 0,void 0,void 0,t,e)}}class fo extends lo{constructor(e){if(super(),this.packetListToStructure(e,new Set([Q.packet.publicKey,Q.packet.publicSubkey])),!this.keyPacket)throw Error("Invalid key: missing private-key packet")}isPrivate(){return!0}toPublic(){const e=new ua,t=this.toPacketList();let r=!1;for(const n of t)if(!r||n.constructor.tag!==Q.packet.Signature)switch(r&&(r=!1),n.constructor.tag){case Q.packet.secretKey:{if(n.algorithm===Q.publicKey.aead||n.algorithm===Q.publicKey.hmac)throw Error("Cannot create public key from symmetric private");const t=Ua.fromSecretKeyPacket(n);e.push(t);break}case Q.packet.secretSubkey:{if(n.algorithm===Q.publicKey.aead||n.algorithm===Q.publicKey.hmac){r=!0;break}const t=Qa.fromSecretSubkeyPacket(n);e.push(t);break}default:e.push(n)}return new lo(e)}armor(e=R){const t=6!==this.keyPacket.version;return W(Q.armor.privateKey,this.toPacketList().write(),void 0,void 0,void 0,t,e)}async getDecryptionKeys(e,t=new Date,r={},n=R){const i=this.keyPacket,s=[];let a=null;for(let r=0;r<this.subkeys.length;r++)if(!e||this.subkeys[r].getKeyID().equals(e,!0)){if(this.subkeys[r].keyPacket.isDummy()){a=a||Error("Gnu-dummy key packets cannot be used for decryption");continue}try{const e={key:i,bind:this.subkeys[r].keyPacket},a=await ja(this.subkeys[r].bindingSignatures,i,Q.signature.subkeyBinding,e,t,n);no(this.subkeys[r].keyPacket,a,n)&&s.push(this.subkeys[r])}catch(e){a=e}}const o=await this.getPrimarySelfSignature(t,r,n);if(e&&!i.getKeyID().equals(e,!0)||!no(i,o,n)||(i.isDummy()?a=a||Error("Gnu-dummy key packets cannot be used for decryption"):s.push(this)),0===s.length)throw a||Error("No decryption key packets found");return s}isDecrypted(){return this.getKeys().some((({keyPacket:e})=>e.isDecrypted()))}async validate(e=R){if(!this.isPrivate())throw Error("Cannot validate a public key");let t;if(this.keyPacket.isDummy()){const r=await this.getSigningKey(null,null,void 0,{...e,rejectPublicKeyAlgorithms:new Set,minRSABits:0});r&&!r.keyPacket.isDummy()&&(t=r.keyPacket)}else t=this.keyPacket;if(t)return t.validate();{const e=this.getKeys();if(e.map((e=>e.keyPacket.isDummy())).every(Boolean))throw Error("Cannot validate an all-gnu-dummy key");return Promise.all(e.map((async e=>e.keyPacket.validate())))}}clearPrivateParams(){this.getKeys().forEach((({keyPacket:e})=>{e.isDecrypted()&&e.clearPrivateParams()}))}async revoke({flag:e=Q.reasonForRevocation.noReason,string:t=""}={},r=new Date,n=R){if(!this.isPrivate())throw Error("Need private key for revoking");const i={key:this.keyPacket},s=this.clone();return s.revocationSignatures.push(await Ja(i,[],this.keyPacket,{signatureType:Q.signature.keyRevocation,reasonForRevocationFlag:Q.write(Q.reasonForRevocation,e),reasonForRevocationString:t},r,void 0,void 0,void 0,n)),s}async addSubkey(e={}){const t={...R,...e.config};if(e.passphrase)throw Error("Subkey could not be encrypted here, please encrypt whole key");if(e.rsaBits<t.minRSABits)throw Error(`rsaBits should be at least ${t.minRSABits}, got: ${e.rsaBits}`);const r=this.keyPacket;if(r.isDummy())throw Error("Cannot add subkey to gnu-dummy primary key");if(!r.isDecrypted())throw Error("Key is not decrypted");const n=r.getAlgorithmInfo();n.type=function(e){switch(Q.write(Q.publicKey,e)){case Q.publicKey.rsaEncrypt:case Q.publicKey.rsaEncryptSign:case Q.publicKey.rsaSign:case Q.publicKey.dsa:return"rsa";case Q.publicKey.ecdsa:case Q.publicKey.eddsaLegacy:return"ecc";case Q.publicKey.ed25519:return"curve25519";case Q.publicKey.ed448:return"curve448";default:throw Error("Unsupported algorithm")}}(n.algorithm),n.rsaBits=n.bits||4096,n.curve=n.curve||"curve25519Legacy",e=eo(e,n);const i=await Ga(e,{...t,v6Keys:6===this.keyPacket.version});io(i,t);const s=await Ya(i,r,e,t),a=this.toPacketList();return a.push(i,s),new fo(a)}}const yo=/*#__PURE__*/M.constructAllowedPackets([Ua,Qa,Ta,Fa,La,Ra,ia]);function po(e){for(const t of e)switch(t.constructor.tag){case Q.packet.secretKey:return new fo(e);case Q.packet.publicKey:return new lo(e)}throw Error("No key packet found")}async function go(e,t,r,n){r.passphrase&&await e.encrypt(r.passphrase,n),await Promise.all(t.map((async function(e,t){const i=r.subkeys[t].passphrase;i&&await e.encrypt(i,n)})));const i=new ua;function s(e,t){return[t,...e.filter((e=>e!==t))]}function a(){const t={};t.keyFlags=[Q.keyFlags.certifyKeys|Q.keyFlags.signData];const i=s([Q.symmetric.aes256,Q.symmetric.aes128],n.preferredSymmetricAlgorithm);if(t.preferredSymmetricAlgorithms=i,n.aeadProtect){const e=s([Q.aead.gcm,Q.aead.eax,Q.aead.ocb],n.preferredAEADAlgorithm);t.preferredCipherSuites=e.flatMap((e=>i.map((t=>[t,e]))))}return t.preferredHashAlgorithms=s([Q.hash.sha512,Q.hash.sha256,...6===e.version?[Q.hash.sha3_512,Q.hash.sha3_256]:[]],n.preferredHashAlgorithm),t.preferredCompressionAlgorithms=s([Q.compression.uncompressed,Q.compression.zlib,Q.compression.zip],n.preferredCompressionAlgorithm),t.features=[0],t.features[0]|=Q.features.modificationDetection,n.aeadProtect&&(t.features[0]|=Q.features.seipdv2),r.keyExpirationTime>0&&(t.keyExpirationTime=r.keyExpirationTime,t.keyNeverExpires=!1),t}if(i.push(e),6===e.version){const t={key:e},s=a();s.signatureType=Q.signature.key;const o=await Ja(t,[],e,s,r.date,void 0,void 0,void 0,n);i.push(o)}await Promise.all(r.userIDs.map((async function(t,i){const s=La.fromObject(t),o={userID:s,key:e},c=6!==e.version?a():{};c.signatureType=Q.signature.certPositive,0===i&&(c.isPrimaryUserID=!0);return{userIDPacket:s,signaturePacket:await Ja(o,[],e,c,r.date,void 0,void 0,void 0,n)}}))).then((e=>{e.forEach((({userIDPacket:e,signaturePacket:t})=>{i.push(e),i.push(t)}))})),await Promise.all(t.map((async function(t,i){const s=r.subkeys[i];return{secretSubkeyPacket:t,subkeySignaturePacket:await Ya(t,e,s,n)}}))).then((e=>{e.forEach((({secretSubkeyPacket:e,subkeySignaturePacket:t})=>{i.push(e),i.push(t)}))}));const o={key:e};return i.push(await Ja(o,[],e,{signatureType:Q.signature.keyRevocation,reasonForRevocationFlag:Q.reasonForRevocation.noReason,reasonForRevocationString:""},r.date,void 0,void 0,void 0,n)),r.passphrase&&e.clearPrivateParams(),await Promise.all(t.map((async function(e,t){r.subkeys[t].passphrase&&e.clearPrivateParams()}))),new fo(i)}async function Ao({armoredKey:e,binaryKey:t,config:r,...n}){if(r={...R,...r},!e&&!t)throw Error("readKey: must pass options object containing `armoredKey` or `binaryKey`");if(e&&!M.isString(e))throw Error("readKey: options.armoredKey must be a string");if(t&&!M.isUint8Array(t))throw Error("readKey: options.binaryKey must be a Uint8Array");const i=Object.keys(n);if(i.length>0)throw Error("Unknown option: "+i.join(", "));let s;if(e){const{type:t,data:r}=await X(e);if(t!==Q.armor.publicKey&&t!==Q.armor.privateKey)throw Error("Armored text not of type key");s=r}else s=t;const a=await ua.fromBinary(s,yo,r),o=a.indexOfTag(Q.packet.publicKey,Q.packet.secretKey);if(0===o.length)throw Error("No key packet found");return po(a.slice(o[0],o[1]))}async function wo({armoredKey:e,binaryKey:t,config:r,...n}){if(r={...R,...r},!e&&!t)throw Error("readPrivateKey: must pass options object containing `armoredKey` or `binaryKey`");if(e&&!M.isString(e))throw Error("readPrivateKey: options.armoredKey must be a string");if(t&&!M.isUint8Array(t))throw Error("readPrivateKey: options.binaryKey must be a Uint8Array");const i=Object.keys(n);if(i.length>0)throw Error("Unknown option: "+i.join(", "));let s;if(e){const{type:t,data:r}=await X(e);if(t!==Q.armor.privateKey)throw Error("Armored text not of type private key");s=r}else s=t;const a=await ua.fromBinary(s,yo,r),o=a.indexOfTag(Q.packet.publicKey,Q.packet.secretKey);for(let e=0;e<o.length;e++){if(a[o[e]].constructor.tag===Q.packet.publicKey)continue;const t=a.slice(o[e],o[e+1]);return new fo(t)}throw Error("No secret key packet found")}async function mo({armoredKeys:e,binaryKeys:t,config:r,...n}){r={...R,...r};let i=e||t;if(!i)throw Error("readKeys: must pass options object containing `armoredKeys` or `binaryKeys`");if(e&&!M.isString(e))throw Error("readKeys: options.armoredKeys must be a string");if(t&&!M.isUint8Array(t))throw Error("readKeys: options.binaryKeys must be a Uint8Array");const s=Object.keys(n);if(s.length>0)throw Error("Unknown option: "+s.join(", "));if(e){const{type:t,data:r}=await X(e);if(t!==Q.armor.publicKey&&t!==Q.armor.privateKey)throw Error("Armored text not of type key");i=r}const a=[],o=await ua.fromBinary(i,yo,r),c=o.indexOfTag(Q.packet.publicKey,Q.packet.secretKey);if(0===c.length)throw Error("No key packet found");for(let e=0;e<c.length;e++){const t=po(o.slice(c[e],c[e+1]));a.push(t)}return a}async function bo({armoredKeys:e,binaryKeys:t,config:r}){r={...R,...r};let n=e||t;if(!n)throw Error("readPrivateKeys: must pass options object containing `armoredKeys` or `binaryKeys`");if(e&&!M.isString(e))throw Error("readPrivateKeys: options.armoredKeys must be a string");if(t&&!M.isUint8Array(t))throw Error("readPrivateKeys: options.binaryKeys must be a Uint8Array");if(e){const{type:t,data:r}=await X(e);if(t!==Q.armor.privateKey)throw Error("Armored text not of type private key");n=r}const i=[],s=await ua.fromBinary(n,yo,r),a=s.indexOfTag(Q.packet.publicKey,Q.packet.secretKey);for(let e=0;e<a.length;e++){if(s[a[e]].constructor.tag===Q.packet.publicKey)continue;const t=s.slice(a[e],a[e+1]),r=new fo(t);i.push(r)}if(0===i.length)throw Error("No secret key packet found");return i}const ko=/*#__PURE__*/M.constructAllowedPackets([$s,pa,Ka,ka,Da,Ia,Ca,oa,ia]),Eo=/*#__PURE__*/M.constructAllowedPackets([Ca]),vo=/*#__PURE__*/M.constructAllowedPackets([ia]);class Ko{constructor(e){this.packets=e||new ua}getEncryptionKeyIDs(){const e=[];return this.packets.filterByTag(Q.packet.publicKeyEncryptedSessionKey).forEach((function(t){e.push(t.publicKeyID)})),e}getSigningKeyIDs(){const e=this.unwrapCompressed(),t=e.packets.filterByTag(Q.packet.onePassSignature);if(t.length>0)return t.map((e=>e.issuerKeyID));return e.packets.filterByTag(Q.packet.signature).map((e=>e.issuerKeyID))}async decrypt(e,t,r,n=new Date,i=R){const s=this.packets.filterByTag(Q.packet.symmetricallyEncryptedData,Q.packet.symEncryptedIntegrityProtectedData,Q.packet.aeadEncryptedData);if(0===s.length)throw Error("No encrypted data found");const a=s[0],o=a.cipherAlgorithm,c=r||await this.decryptSessionKeys(e,t,o,n,i);let u=null;const h=Promise.all(c.map((async({algorithm:e,data:t})=>{if(!M.isUint8Array(t)||!a.cipherAlgorithm&&!M.isString(e))throw Error("Invalid session key for decryption.");try{const r=a.cipherAlgorithm||Q.write(Q.symmetric,e);await a.decrypt(r,t,i)}catch(e){M.printDebugError(e),u=e}})));if(C(a.encrypted),a.encrypted=null,await h,!a.packets||!a.packets.length)throw u||Error("Decryption failed.");const l=new Ko(a.packets);return a.packets=new ua,l}async decryptSessionKeys(e,t,r,n=new Date,i=R){let s,a=[];if(t){const e=this.packets.filterByTag(Q.packet.symEncryptedSessionKey);if(0===e.length)throw Error("No symmetrically encrypted session key packet found.");await Promise.all(t.map((async function(t,r){let n;n=r?await ua.fromBinary(e.write(),Eo,i):e,await Promise.all(n.map((async function(e){try{await e.decrypt(t),a.push(e)}catch(e){M.printDebugError(e),e instanceof Ji&&(s=e)}})))})))}else{if(!e)throw Error("No key or password specified.");{const t=this.packets.filterByTag(Q.packet.publicKeyEncryptedSessionKey);if(0===t.length)throw Error("No public key encrypted session key packet found.");await Promise.all(t.map((async function(t){await Promise.all(e.map((async function(e){let o;try{o=(await e.getDecryptionKeys(t.publicKeyID,null,void 0,i)).map((e=>e.keyPacket))}catch(e){return void(s=e)}let c=[Q.symmetric.aes256,Q.symmetric.aes128,Q.symmetric.tripledes,Q.symmetric.cast5];try{const t=await e.getPrimarySelfSignature(n,void 0,i);t.preferredSymmetricAlgorithms&&(c=c.concat(t.preferredSymmetricAlgorithms))}catch(e){}await Promise.all(o.map((async function(e){if(!e.isDecrypted())throw Error("Decryption key is not decrypted.");if(i.constantTimePKCS1Decryption&&(t.publicKeyAlgorithm===Q.publicKey.rsaEncrypt||t.publicKeyAlgorithm===Q.publicKey.rsaEncryptSign||t.publicKeyAlgorithm===Q.publicKey.rsaSign||t.publicKeyAlgorithm===Q.publicKey.elgamal)){const n=t.write();await Promise.all((r?[r]:Array.from(i.constantTimePKCS1DecryptionSupportedSymmetricAlgorithms)).map((async t=>{const r=new Ia;r.read(n);const i={sessionKeyAlgorithm:t,sessionKey:qi(t)};try{await r.decrypt(e,i),a.push(r)}catch(e){M.printDebugError(e),s=e}})))}else try{await t.decrypt(e);const n=r||t.sessionKeyAlgorithm;if(n&&!c.includes(Q.write(Q.symmetric,n)))throw Error("A non-preferred symmetric algorithm was used.");a.push(t)}catch(e){M.printDebugError(e),s=e}})))}))),C(t.encrypted),t.encrypted=null})))}}if(a.length>0){if(a.length>1){const e=new Set;a=a.filter((t=>{const r=t.sessionKeyAlgorithm+M.uint8ArrayToString(t.sessionKey);return!e.has(r)&&(e.add(r),!0)}))}return a.map((e=>({data:e.sessionKey,algorithm:e.sessionKeyAlgorithm&&Q.read(Q.symmetric,e.sessionKeyAlgorithm)})))}throw s||Error("Session key decryption failed.")}getLiteralData(){const e=this.unwrapCompressed().packets.findPacket(Q.packet.literalData);return e&&e.getBytes()||null}getFilename(){const e=this.unwrapCompressed().packets.findPacket(Q.packet.literalData);return e&&e.getFilename()||null}getText(){const e=this.unwrapCompressed().packets.findPacket(Q.packet.literalData);return e?e.getText():null}static async generateSessionKey(e=[],t=new Date,r=[],n=R){const{symmetricAlgo:i,aeadAlgo:s}=await async function(e=[],t=new Date,r=[],n=R){const i=await Promise.all(e.map(((e,i)=>e.getPrimarySelfSignature(t,r[i],n))));if(e.length?!n.ignoreSEIPDv2FeatureFlag&&i.every((e=>e.features&&e.features[0]&Q.features.seipdv2)):n.aeadProtect){const e={symmetricAlgo:Q.symmetric.aes128,aeadAlgo:Q.aead.ocb},t=[{symmetricAlgo:n.preferredSymmetricAlgorithm,aeadAlgo:n.preferredAEADAlgorithm},{symmetricAlgo:n.preferredSymmetricAlgorithm,aeadAlgo:Q.aead.ocb},{symmetricAlgo:Q.symmetric.aes128,aeadAlgo:n.preferredAEADAlgorithm}];for(const e of t)if(i.every((t=>t.preferredCipherSuites&&t.preferredCipherSuites.some((t=>t[0]===e.symmetricAlgo&&t[1]===e.aeadAlgo)))))return e;return e}const s=Q.symmetric.aes128,a=n.preferredSymmetricAlgorithm;return{symmetricAlgo:i.every((e=>e.preferredSymmetricAlgorithms&&e.preferredSymmetricAlgorithms.includes(a)))?a:s,aeadAlgo:void 0}}(e,t,r,n),a=Q.read(Q.symmetric,i),o=s?Q.read(Q.aead,s):void 0;await Promise.all(e.map((e=>e.getEncryptionKey().catch((()=>null)).then((e=>{if(e&&(e.keyPacket.algorithm===Q.publicKey.x25519||e.keyPacket.algorithm===Q.publicKey.x448)&&!o&&!M.isAES(i))throw Error("Could not generate a session key compatible with the given `encryptionKeys`: X22519 and X448 keys can only be used to encrypt AES session keys; change `config.preferredSymmetricAlgorithm` accordingly.")})))));return{data:qi(i),algorithm:a,aeadAlgorithm:o}}async encrypt(e,t,r,n=!1,i=[],s=new Date,a=[],o=R){if(r){if(!M.isUint8Array(r.data)||!M.isString(r.algorithm))throw Error("Invalid session key for encryption.")}else if(e&&e.length)r=await Ko.generateSessionKey(e,s,a,o);else{if(!t||!t.length)throw Error("No keys, passwords, or session key provided.");r=await Ko.generateSessionKey(void 0,void 0,void 0,o)}const{data:c,algorithm:u,aeadAlgorithm:h}=r,l=await Ko.encryptSessionKey(c,u,h,e,t,n,i,s,a,o),f=ka.fromObject({version:h?2:1,aeadAlgorithm:h?Q.write(Q.aead,h):null});f.packets=this.packets;const y=Q.write(Q.symmetric,u);return await f.encrypt(y,c,o),l.packets.push(f),f.packets=new ua,l}static async encryptSessionKey(e,t,r,n,i,s=!1,a=[],o=new Date,c=[],u=R){const h=new ua,l=Q.write(Q.symmetric,t),f=r&&Q.write(Q.aead,r);if(n){const t=await Promise.all(n.map((async function(t,r){const n=await t.getEncryptionKey(a[r],o,c,u),i=Ia.fromObject({version:f?6:3,encryptionKeyPacket:n.keyPacket,anonymousRecipient:s,sessionKey:e,sessionKeyAlgorithm:l});return await i.encrypt(n.keyPacket),delete i.sessionKey,i})));h.push(...t)}if(i){const t=async function(e,t){try{return await e.decrypt(t),1}catch(e){return 0}},r=(e,t)=>e+t,n=async function(e,s,a,o){const c=new Ca(u);if(c.sessionKey=e,c.sessionKeyAlgorithm=s,a&&(c.aeadAlgorithm=a),await c.encrypt(o,u),u.passwordCollisionCheck){if(1!==(await Promise.all(i.map((e=>t(c,e))))).reduce(r))return n(e,s,o)}return delete c.sessionKey,c},s=await Promise.all(i.map((t=>n(e,l,f,t))));h.push(...s)}return new Ko(h)}async sign(e=[],t=[],r=null,n=[],i=new Date,s=[],a=[],o=[],c=R){const u=new ua,h=this.packets.findPacket(Q.packet.literalData);if(!h)throw Error("No literal data packet to sign.");const l=await So(h,e,t,r,n,i,s,a,o,!1,c),f=l.map(((e,t)=>oa.fromSignaturePacket(e,0===t))).reverse();return u.push(...f),u.push(h),u.push(...l),new Ko(u)}compress(e,t=R){if(e===Q.compression.uncompressed)return this;const r=new pa(t);r.algorithm=e,r.packets=this.packets;const n=new ua;return n.push(r),new Ko(n)}async signDetached(e=[],t=[],r=null,n=[],i=[],s=new Date,a=[],o=[],c=R){const u=this.packets.findPacket(Q.packet.literalData);if(!u)throw Error("No literal data packet to sign.");return new Ha(await So(u,e,t,r,n,i,s,a,o,!0,c))}async verify(e,t=new Date,r=R){const n=this.unwrapCompressed(),i=n.packets.filterByTag(Q.packet.literalData);if(1!==i.length)throw Error("Can only verify message with one literal data packet.");let s=n.packets;a(s.stream)&&(s=s.concat(await B(s.stream,(e=>e||[]))));const o=s.filterByTag(Q.packet.onePassSignature).reverse(),c=s.filterByTag(Q.packet.signature);return o.length&&!c.length&&M.isStream(s.stream)&&!a(s.stream)?(await Promise.all(o.map((async e=>{e.correspondingSig=new Promise(((t,r)=>{e.correspondingSigResolve=t,e.correspondingSigReject=r})),e.signatureData=U((async()=>(await e.correspondingSig).signatureData)),e.hashed=B(await e.hash(e.signatureType,i[0],void 0,!1)),e.hashed.catch((()=>{}))}))),s.stream=k(s.stream,(async(e,t)=>{const r=P(e),n=D(t);try{for(let e=0;e<o.length;e++){const{value:t}=await r.read();o[e].correspondingSigResolve(t)}await r.readToEnd(),await n.ready,await n.close()}catch(e){o.forEach((t=>{t.correspondingSigReject(e)})),await n.abort(e)}})),Io(o,i,e,t,!1,r)):Io(c,i,e,t,!1,r)}verifyDetached(e,t,r=new Date,n=R){const i=this.unwrapCompressed().packets.filterByTag(Q.packet.literalData);if(1!==i.length)throw Error("Can only verify message with one literal data packet.");return Io(e.packets.filterByTag(Q.packet.signature),i,t,r,!0,n)}unwrapCompressed(){const e=this.packets.filterByTag(Q.packet.compressedData);return e.length?new Ko(e[0].packets):this}async appendSignature(e,t=R){await this.packets.read(M.isUint8Array(e)?e:(await X(e)).data,vo,t)}write(){return this.packets.write()}armor(e=R){const t=this.packets[this.packets.length-1],r=t.constructor.tag===ka.tag?2!==t.version:this.packets.some((e=>e.constructor.tag===ia.tag&&6!==e.version));return W(Q.armor.message,this.write(),null,null,null,r,e)}}async function So(e,t,r=[],n=null,i=[],s=new Date,a=[],o=[],c=[],u=!1,h=R){const l=new ua,f=null===e.text?Q.signature.binary:Q.signature.text;if(await Promise.all(t.map((async(t,n)=>{const l=a[n];if(!t.isPrivate())throw Error("Need private key for signing");const y=await t.getSigningKey(i[n],s,l,h);return Ja(e,r.length?r:[t],y.keyPacket,{signatureType:f},s,o,c,u,h)}))).then((e=>{l.push(...e)})),n){const e=n.packets.filterByTag(Q.packet.signature);l.push(...e)}return l}async function Io(e,t,r,n=new Date,i=!1,s=R){return Promise.all(e.filter((function(e){return["text","binary"].includes(Q.read(Q.signature,e.signatureType))})).map((async function(e){return async function(e,t,r,n=new Date,i=!1,s=R){let a,o;for(const t of r){const r=t.getKeys(e.issuerKeyID);if(r.length>0){a=t,o=r[0];break}}const c=e instanceof oa?e.correspondingSig:e,u={keyID:e.issuerKeyID,verified:(async()=>{if(!o)throw Error("Could not find signing key with key ID "+e.issuerKeyID.toHex());await e.verify(o.keyPacket,e.signatureType,t[0],n,i,s);const r=await c;if(o.getCreationTime()>r.created)throw Error("Key is newer than the signature");try{await a.getSigningKey(o.getKeyID(),r.created,void 0,s)}catch(e){if(!s.allowInsecureVerificationWithReformattedKeys||!e.message.match(/Signature creation time is in the future/))throw e;await a.getSigningKey(o.getKeyID(),n,void 0,s)}return!0})(),signature:(async()=>{const e=await c,t=new ua;return e&&t.push(e),new Ha(t)})()};return u.signature.catch((()=>{})),u.verified.catch((()=>{})),u}(e,t,r,n,i,s)})))}async function Bo({armoredMessage:e,binaryMessage:t,config:r,...n}){r={...R,...r};let i=e||t;if(!i)throw Error("readMessage: must pass options object containing `armoredMessage` or `binaryMessage`");if(e&&!M.isString(e)&&!M.isStream(e))throw Error("readMessage: options.armoredMessage must be a string or stream");if(t&&!M.isUint8Array(t)&&!M.isStream(t))throw Error("readMessage: options.binaryMessage must be a Uint8Array or stream");const s=Object.keys(n);if(s.length>0)throw Error("Unknown option: "+s.join(", "));const a=M.isStream(i);if(e){const{type:e,data:t}=await X(i);if(e!==Q.armor.message)throw Error("Armored text not of type message");i=t}const o=await ua.fromBinary(i,ko,r,new fa),c=new Ko(o);return c.fromStream=a,c}async function Co({text:e,binary:t,filename:r,date:n=new Date,format:i=(void 0!==e?"utf8":"binary"),...s}){const a=void 0!==e?e:t;if(void 0===a)throw Error("createMessage: must pass options object containing `text` or `binary`");if(e&&!M.isString(e)&&!M.isStream(e))throw Error("createMessage: options.text must be a string or stream");if(t&&!M.isUint8Array(t)&&!M.isStream(t))throw Error("createMessage: options.binary must be a Uint8Array or stream");const o=Object.keys(s);if(o.length>0)throw Error("Unknown option: "+o.join(", "));const c=M.isStream(a),u=new $s(n);void 0!==e?u.setText(a,Q.write(Q.literal,i)):u.setBytes(a,Q.write(Q.literal,i)),void 0!==r&&u.setFilename(r);const h=new ua;h.push(u);const l=new Ko(h);return l.fromStream=c,l}const Uo=/*#__PURE__*/M.constructAllowedPackets([ia]);class Po{constructor(e,t){if(this.text=M.removeTrailingSpaces(e).replace(/\r?\n/g,"\r\n"),t&&!(t instanceof Ha))throw Error("Invalid signature input");this.signature=t||new Ha(new ua)}getSigningKeyIDs(){const e=[];return this.signature.packets.forEach((function(t){e.push(t.issuerKeyID)})),e}async sign(e,t=[],r=null,n=[],i=new Date,s=[],a=[],o=[],c=R){const u=new $s;u.setText(this.text);const h=new Ha(await So(u,e,t,r,n,i,s,a,o,!0,c));return new Po(this.text,h)}verify(e,t=new Date,r=R){const n=this.signature.packets.filterByTag(Q.packet.signature),i=new $s;return i.setText(this.text),Io(n,[i],e,t,!0,r)}getText(){return this.text.replace(/\r\n/g,"\n")}armor(e=R){const t=this.signature.packets.some((e=>6!==e.version)),r={hash:t?Array.from(new Set(this.signature.packets.map((e=>Q.read(Q.hash,e.hashAlgorithm).toUpperCase())))).join():null,text:this.text,data:this.signature.packets.write()};return W(Q.armor.signed,r,void 0,void 0,void 0,t,e)}}async function Do({cleartextMessage:e,config:t,...r}){if(t={...R,...t},!e)throw Error("readCleartextMessage: must pass options object containing `cleartextMessage`");if(!M.isString(e))throw Error("readCleartextMessage: options.cleartextMessage must be a string");const n=Object.keys(r);if(n.length>0)throw Error("Unknown option: "+n.join(", "));const i=await X(e);if(i.type!==Q.armor.signed)throw Error("No cleartext signed message.");const s=await ua.fromBinary(i.data,Uo,t);!function(e,t){const r=function(e){const r=e=>t=>e.hashAlgorithm===t;for(let n=0;n<t.length;n++)if(t[n].constructor.tag===Q.packet.signature&&!e.some(r(t[n])))return!1;return!0},n=[];if(e.forEach((e=>{const t=e.match(/^Hash: (.+)$/);if(!t)throw Error('Only "Hash" header allowed in cleartext signed message');{const e=t[1].replace(/\s/g,"").split(",").map((e=>{try{return Q.write(Q.hash,e.toLowerCase())}catch(t){throw Error("Unknown hash algorithm in armor header: "+e.toLowerCase())}}));n.push(...e)}})),n.length&&!r(n))throw Error("Hash algorithm mismatch in armor header and signature")}(i.headers,s);const a=new Ha(s);return new Po(i.text,a)}async function xo({text:e,...t}){if(!e)throw Error("createCleartextMessage: must pass options object containing `text`");if(!M.isString(e))throw Error("createCleartextMessage: options.text must be a string");const r=Object.keys(t);if(r.length>0)throw Error("Unknown option: "+r.join(", "));return new Po(e)}async function Qo({userIDs:e=[],passphrase:t,type:r,curve:n,rsaBits:i=4096,symmetricHash:s="sha256",symmetricCipher:a="aes256",keyExpirationTime:o=0,date:c=new Date,subkeys:u=[{}],format:h="armored",config:l,...f}){Zo(l={...R,...l}),r||n?(r=r||"ecc",n=n||"curve25519Legacy"):(r=l.v6Keys?"curve25519":"ecc",n="curve25519Legacy"),e=Jo(e);const y=Object.keys(f);if(y.length>0)throw Error("Unknown option: "+y.join(", "));if(0===e.length&&!l.v6Keys)throw Error("UserIDs are required for V4 keys");if("rsa"===r&&i<l.minRSABits)throw Error(`rsaBits should be at least ${l.minRSABits}, got: ${i}`);const p={userIDs:e,passphrase:t,type:r,rsaBits:i,curve:n,keyExpirationTime:o,date:c,subkeys:u,symmetricHash:s,symmetricCipher:a};try{const{key:e,revocationCertificate:t}=await async function(e,t){e.sign=!0,(e=eo(e)).subkeys=e.subkeys.map(((t,r)=>eo(e.subkeys[r],e)));let r=[qa(e,t)];r=r.concat(e.subkeys.map((e=>Ga(e,t))));const n=await Promise.all(r),i=await go(n[0],n.slice(1),e,t),s=await i.getRevocationCertificate(e.date,t);return i.revocationSignatures=[],{key:i,revocationCertificate:s}}(p,l);return e.getKeys().forEach((({keyPacket:e})=>io(e,l))),{privateKey:$o(e,h,l),publicKey:"symmetric"!==r?$o(e.toPublic(),h,l):null,revocationCertificate:t}}catch(e){throw M.wrapError("Error generating keypair",e)}}async function Ro({privateKey:e,userIDs:t=[],passphrase:r,keyExpirationTime:n=0,date:i,format:s="armored",config:a,...o}){Zo(a={...R,...a}),t=Jo(t);const c=Object.keys(o);if(c.length>0)throw Error("Unknown option: "+c.join(", "));if(0===t.length&&6!==e.keyPacket.version)throw Error("UserIDs are required for V4 keys");const u={privateKey:e,userIDs:t,passphrase:r,keyExpirationTime:n,date:i};try{const{key:e,revocationCertificate:t}=await async function(e,t){e=o(e);const{privateKey:r}=e;if(!r.isPrivate())throw Error("Cannot reformat a public key");if(r.keyPacket.isDummy())throw Error("Cannot reformat a gnu-dummy primary key");if(!r.getKeys().every((({keyPacket:e})=>e.isDecrypted())))throw Error("Key is not decrypted");const n=r.keyPacket;e.subkeys||(e.subkeys=await Promise.all(r.subkeys.map((async e=>{const r=e.keyPacket,i={key:n,bind:r},s=await ja(e.bindingSignatures,n,Q.signature.subkeyBinding,i,null,t).catch((()=>({})));return{sign:s.keyFlags&&s.keyFlags[0]&Q.keyFlags.signData,forwarding:s.keyFlags&&s.keyFlags[0]&Q.keyFlags.forwardedCommunication}}))));const i=r.subkeys.map((e=>e.keyPacket));if(e.subkeys.length!==i.length)throw Error("Number of subkey options does not match number of subkeys");e.subkeys=e.subkeys.map((t=>o(t,e)));const s=await go(n,i,e,t),a=await s.getRevocationCertificate(e.date,t);return s.revocationSignatures=[],{key:s,revocationCertificate:a};function o(e,t={}){return e.keyExpirationTime=e.keyExpirationTime||t.keyExpirationTime,e.passphrase=M.isString(e.passphrase)?e.passphrase:t.passphrase,e.date=e.date||t.date,e}}(u,a);return{privateKey:$o(e,s,a),publicKey:$o(e.toPublic(),s,a),revocationCertificate:t}}catch(e){throw M.wrapError("Error reformatting keypair",e)}}async function To({key:e,revocationCertificate:t,reasonForRevocation:r,date:n=new Date,format:i="armored",config:s,...a}){Zo(s={...R,...s});const o=Object.keys(a);if(o.length>0)throw Error("Unknown option: "+o.join(", "));try{const a=t?await e.applyRevocationCertificate(t,n,s):await e.revoke(r,n,s);return a.isPrivate()?{privateKey:$o(a,i,s),publicKey:$o(a.toPublic(),i,s)}:{privateKey:null,publicKey:$o(a,i,s)}}catch(e){throw M.wrapError("Error revoking key",e)}}async function Mo({privateKey:e,passphrase:t,config:r,...n}){Zo(r={...R,...r});const i=Object.keys(n);if(i.length>0)throw Error("Unknown option: "+i.join(", "));if(!e.isPrivate())throw Error("Cannot decrypt a public key");const s=e.clone(!0),a=M.isArray(t)?t:[t];try{return await Promise.all(s.getKeys().map((e=>M.anyPromise(a.map((t=>e.keyPacket.decrypt(t))))))),await s.validate(r),s}catch(e){throw s.clearPrivateParams(),M.wrapError("Error decrypting private key",e)}}async function Lo({privateKey:e,passphrase:t,config:r,...n}){Zo(r={...R,...r});const i=Object.keys(n);if(i.length>0)throw Error("Unknown option: "+i.join(", "));if(!e.isPrivate())throw Error("Cannot encrypt a public key");const s=e.clone(!0),a=s.getKeys(),o=M.isArray(t)?t:Array(a.length).fill(t);if(o.length!==a.length)throw Error("Invalid number of passphrases given for key encryption");try{return await Promise.all(a.map((async(e,t)=>{const{keyPacket:n}=e;await n.encrypt(o[t],r),n.clearPrivateParams()}))),s}catch(e){throw s.clearPrivateParams(),M.wrapError("Error encrypting private key",e)}}async function Fo({message:e,encryptionKeys:t,signingKeys:r,passwords:n,sessionKey:i,format:s="armored",signature:a=null,wildcard:o=!1,signingKeyIDs:c=[],encryptionKeyIDs:u=[],date:h=new Date,signingUserIDs:l=[],encryptionUserIDs:f=[],signatureNotations:y=[],config:p,...d}){if(Zo(p={...R,...p}),qo(e),Vo(s),t=Jo(t),r=Jo(r),n=Jo(n),c=Jo(c),u=Jo(u),l=Jo(l),f=Jo(f),y=Jo(y),d.detached)throw Error("The `detached` option has been removed from openpgp.encrypt, separately call openpgp.sign instead. Don't forget to remove the `privateKeys` option as well.");if(d.publicKeys)throw Error("The `publicKeys` option has been removed from openpgp.encrypt, pass `encryptionKeys` instead");if(d.privateKeys)throw Error("The `privateKeys` option has been removed from openpgp.encrypt, pass `signingKeys` instead");if(void 0!==d.armor)throw Error("The `armor` option has been removed from openpgp.encrypt, pass `format` instead.");const g=Object.keys(d);if(g.length>0)throw Error("Unknown option: "+g.join(", "));r||(r=[]);try{if((r.length||a)&&(e=await e.sign(r,t,a,c,h,l,u,y,p)),e=e.compress(await async function(e=[],t=new Date,r=[],n=R){const i=Q.compression.uncompressed,s=n.preferredCompressionAlgorithm,a=await Promise.all(e.map((async function(e,i){const a=(await e.getPrimarySelfSignature(t,r[i],n)).preferredCompressionAlgorithms;return!!a&&a.indexOf(s)>=0})));return a.every(Boolean)?s:i}(t,h,f,p),p),e=await e.encrypt(t,n,i,o,u,h,f,p),"object"===s)return e;const d="armored"===s?e.armor(p):e.write();return await Xo(d)}catch(e){throw M.wrapError("Error encrypting message",e)}}async function Oo({message:e,decryptionKeys:t,passwords:r,sessionKeys:n,verificationKeys:i,expectSigned:s=!1,format:a="utf8",signature:o=null,date:c=new Date,config:u,...h}){if(Zo(u={...R,...u}),qo(e),i=Jo(i),t=Jo(t),r=Jo(r),n=Jo(n),h.privateKeys)throw Error("The `privateKeys` option has been removed from openpgp.decrypt, pass `decryptionKeys` instead");if(h.publicKeys)throw Error("The `publicKeys` option has been removed from openpgp.decrypt, pass `verificationKeys` instead");const l=Object.keys(h);if(l.length>0)throw Error("Unknown option: "+l.join(", "));try{const h=await e.decrypt(t,r,n,c,u);i||(i=[]);const l={};if(l.signatures=o?await h.verifyDetached(o,i,c,u):await h.verify(i,c,u),l.data="binary"===a?h.getLiteralData():h.getText(),l.filename=h.getFilename(),Wo(l,e,...new Set([h,h.unwrapCompressed()])),s){if(0===i.length)throw Error("Verification keys are required to verify message signatures");if(0===l.signatures.length)throw Error("Message is not signed");l.data=g([l.data,U((async()=>(await M.anyPromise(l.signatures.map((e=>e.verified))),"binary"===a?new Uint8Array:"")))])}return l.data=await Xo(l.data),l}catch(e){throw M.wrapError("Error decrypting message",e)}}async function No({message:e,signingKeys:t,recipientKeys:r=[],format:n="armored",detached:i=!1,signingKeyIDs:s=[],date:a=new Date,signingUserIDs:o=[],recipientUserIDs:c=[],signatureNotations:u=[],config:h,...l}){if(Zo(h={...R,...h}),jo(e),Vo(n),t=Jo(t),s=Jo(s),o=Jo(o),r=Jo(r),c=Jo(c),u=Jo(u),l.privateKeys)throw Error("The `privateKeys` option has been removed from openpgp.sign, pass `signingKeys` instead");if(void 0!==l.armor)throw Error("The `armor` option has been removed from openpgp.sign, pass `format` instead.");const f=Object.keys(l);if(f.length>0)throw Error("Unknown option: "+f.join(", "));if(e instanceof Po&&"binary"===n)throw Error("Cannot return signed cleartext message in binary format");if(e instanceof Po&&i)throw Error("Cannot detach-sign a cleartext message");if(!t||0===t.length)throw Error("No signing keys provided");try{let l;if(l=i?await e.signDetached(t,r,void 0,s,a,o,c,u,h):await e.sign(t,r,void 0,s,a,o,c,u,h),"object"===n)return l;return l="armored"===n?l.armor(h):l.write(),i&&(l=k(e.packets.write(),(async(e,t)=>{await Promise.all([A(l,t),B(e).catch((()=>{}))])}))),await Xo(l)}catch(e){throw M.wrapError("Error signing message",e)}}async function _o({message:e,verificationKeys:t,expectSigned:r=!1,format:n="utf8",signature:i=null,date:s=new Date,config:a,...o}){if(Zo(a={...R,...a}),jo(e),t=Jo(t),o.publicKeys)throw Error("The `publicKeys` option has been removed from openpgp.verify, pass `verificationKeys` instead");const c=Object.keys(o);if(c.length>0)throw Error("Unknown option: "+c.join(", "));if(e instanceof Po&&"binary"===n)throw Error("Can't return cleartext message data as binary");if(e instanceof Po&&i)throw Error("Can't verify detached cleartext signature");try{const o={};if(o.signatures=i?await e.verifyDetached(i,t,s,a):await e.verify(t,s,a),o.data="binary"===n?e.getLiteralData():e.getText(),e.fromStream&&!i&&Wo(o,...new Set([e,e.unwrapCompressed()])),r){if(0===o.signatures.length)throw Error("Message is not signed");o.data=g([o.data,U((async()=>(await M.anyPromise(o.signatures.map((e=>e.verified))),"binary"===n?new Uint8Array:"")))])}return o.data=await Xo(o.data),o}catch(e){throw M.wrapError("Error verifying signed message",e)}}async function Ho({encryptionKeys:e,date:t=new Date,encryptionUserIDs:r=[],config:n,...i}){if(Zo(n={...R,...n}),e=Jo(e),r=Jo(r),i.publicKeys)throw Error("The `publicKeys` option has been removed from openpgp.generateSessionKey, pass `encryptionKeys` instead");const s=Object.keys(i);if(s.length>0)throw Error("Unknown option: "+s.join(", "));try{return await Ko.generateSessionKey(e,t,r,n)}catch(e){throw M.wrapError("Error generating session key",e)}}async function zo({data:e,algorithm:t,aeadAlgorithm:r,encryptionKeys:n,passwords:i,format:s="armored",wildcard:a=!1,encryptionKeyIDs:o=[],date:c=new Date,encryptionUserIDs:u=[],config:h,...l}){if(Zo(h={...R,...h}),function(e){if(!M.isUint8Array(e))throw Error("Parameter [data] must be of type Uint8Array")}(e),function(e,t){if(!M.isString(e))throw Error("Parameter ["+t+"] must be of type String")}(t,"algorithm"),Vo(s),n=Jo(n),i=Jo(i),o=Jo(o),u=Jo(u),l.publicKeys)throw Error("The `publicKeys` option has been removed from openpgp.encryptSessionKey, pass `encryptionKeys` instead");const f=Object.keys(l);if(f.length>0)throw Error("Unknown option: "+f.join(", "));if(!(n&&0!==n.length||i&&0!==i.length))throw Error("No encryption keys or passwords provided.");try{return $o(await Ko.encryptSessionKey(e,t,r,n,i,a,o,c,u,h),s,h)}catch(e){throw M.wrapError("Error encrypting session key",e)}}async function Go({message:e,decryptionKeys:t,passwords:r,date:n=new Date,config:i,...s}){if(Zo(i={...R,...i}),qo(e),t=Jo(t),r=Jo(r),s.privateKeys)throw Error("The `privateKeys` option has been removed from openpgp.decryptSessionKeys, pass `decryptionKeys` instead");const a=Object.keys(s);if(a.length>0)throw Error("Unknown option: "+a.join(", "));try{return await e.decryptSessionKeys(t,r,void 0,n,i)}catch(e){throw M.wrapError("Error decrypting session keys",e)}}function qo(e){if(!(e instanceof Ko))throw Error("Parameter [message] needs to be of type Message")}function jo(e){if(!(e instanceof Po||e instanceof Ko))throw Error("Parameter [message] needs to be of type Message or CleartextMessage")}function Vo(e){if("armored"!==e&&"binary"!==e&&"object"!==e)throw Error("Unsupported format "+e)}const Yo=Object.keys(R).length;function Zo(e){const t=Object.keys(e);if(t.length!==Yo)for(const e of t)if(void 0===R[e])throw Error("Unknown config property: "+e)}function Jo(e){return e&&!M.isArray(e)&&(e=[e]),e}async function Xo(e){return"array"===M.isStream(e)?B(e):e}function Wo(e,t,...r){e.data=k(t.packets.stream,(async(t,n)=>{await A(e.data,n,{preventClose:!0});const i=D(n);try{await B(t,(e=>e)),await Promise.all(r.map((e=>B(e.packets.stream,(e=>e))))),await i.close()}catch(e){await i.abort(e)}}))}function $o(e,t,r){switch(t){case"object":return e;case"armored":return e.armor(r);case"binary":return e.write();default:throw Error("Unsupported format "+t)}}const ec="object"==typeof e&&"crypto"in e?e.crypto:void 0;
4
+ /*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */function tc(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&"Uint8Array"===e.constructor.name}function rc(e){if(!Number.isSafeInteger(e)||e<0)throw Error("positive integer expected, got "+e)}function nc(e,...t){if(!tc(e))throw Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw Error("Uint8Array expected of length "+t+", got length="+e.length)}function ic(e){if("function"!=typeof e||"function"!=typeof e.create)throw Error("Hash should be wrapped by utils.createHasher");rc(e.outputLen),rc(e.blockLen)}function sc(e,t=!0){if(e.destroyed)throw Error("Hash instance has been destroyed");if(t&&e.finished)throw Error("Hash#digest() has already been called")}function ac(e,t){nc(e);const r=t.outputLen;if(e.length<r)throw Error("digestInto() expects output buffer of length at least "+r)}function oc(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function cc(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function uc(e,t){return e<<32-t|e>>>t}function hc(e,t){return e<<t|e>>>32-t>>>0}const lc=/* @__PURE__ */(()=>68===new Uint8Array(new Uint32Array([287454020]).buffer)[0])()?e=>e:function(e){for(let r=0;r<e.length;r++)e[r]=(t=e[r])<<24&4278190080|t<<8&16711680|t>>>8&65280|t>>>24&255;var t;return e},fc=/* @__PURE__ */(()=>"function"==typeof Uint8Array.from([]).toHex&&"function"==typeof Uint8Array.fromHex)(),yc=/* @__PURE__ */Array.from({length:256},((e,t)=>t.toString(16).padStart(2,"0")));function pc(e){if(nc(e),fc)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=yc[e[r]];return t}const dc=48,gc=57,Ac=65,wc=70,mc=97,bc=102;function kc(e){return e>=dc&&e<=gc?e-dc:e>=Ac&&e<=wc?e-(Ac-10):e>=mc&&e<=bc?e-(mc-10):void 0}function Ec(e){if("string"!=typeof e)throw Error("hex string expected, got "+typeof e);if(fc)return Uint8Array.fromHex(e);const t=e.length,r=t/2;if(t%2)throw Error("hex string expected, got unpadded hex of length "+t);const n=new Uint8Array(r);for(let t=0,i=0;t<r;t++,i+=2){const r=kc(e.charCodeAt(i)),s=kc(e.charCodeAt(i+1));if(void 0===r||void 0===s){const t=e[i]+e[i+1];throw Error('hex string expected, got non-hex character "'+t+'" at index '+i)}n[t]=16*r+s}return n}function vc(e){return"string"==typeof e&&(e=function(e){if("string"!=typeof e)throw Error("string expected");return new Uint8Array((new TextEncoder).encode(e))}(e)),nc(e),e}function Kc(...e){let t=0;for(let r=0;r<e.length;r++){const n=e[r];nc(n),t+=n.length}const r=new Uint8Array(t);for(let t=0,n=0;t<e.length;t++){const i=e[t];r.set(i,n),n+=i.length}return r}let Sc=class{};function Ic(e){const t=t=>e().update(vc(t)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}const Bc=Ic;function Cc(e=32){if(ec&&"function"==typeof ec.getRandomValues)return ec.getRandomValues(new Uint8Array(e));if(ec&&"function"==typeof ec.randomBytes)return Uint8Array.from(ec.randomBytes(e));throw Error("crypto.getRandomValues must be defined")}
5
+ /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Uc=/* @__PURE__ */BigInt(0),Pc=/* @__PURE__ */BigInt(1);function Dc(e,t=""){if("boolean"!=typeof e){throw Error((t&&`"${t}"`)+"expected boolean, got type="+typeof e)}return e}function xc(e,t,r=""){const n=tc(e),i=e?.length,s=void 0!==t;if(!n||s&&i!==t){throw Error((r&&`"${r}" `)+"expected Uint8Array"+(s?" of length "+t:"")+", got "+(n?"length="+i:"type="+typeof e))}return e}function Qc(e){const t=e.toString(16);return 1&t.length?"0"+t:t}function Rc(e){if("string"!=typeof e)throw Error("hex string expected, got "+typeof e);return""===e?Uc:BigInt("0x"+e)}function Tc(e){return Rc(pc(e))}function Mc(e){return nc(e),Rc(pc(Uint8Array.from(e).reverse()))}function Lc(e,t){return Ec(e.toString(16).padStart(2*t,"0"))}function Fc(e,t){return Lc(e,t).reverse()}function Oc(e,t,r){let n;if("string"==typeof t)try{n=Ec(t)}catch(t){throw Error(e+" must be hex string or Uint8Array, cause: "+t)}else{if(!tc(t))throw Error(e+" must be hex string or Uint8Array");n=Uint8Array.from(t)}const i=n.length;if("number"==typeof r&&i!==r)throw Error(e+" of length "+r+" expected, got "+i);return n}function Nc(e){return Uint8Array.from(e)}const _c=e=>"bigint"==typeof e&&Uc<=e;function Hc(e,t,r,n){if(!function(e,t,r){return _c(e)&&_c(t)&&_c(r)&&t<=e&&e<r}(t,r,n))throw Error("expected valid "+e+": "+r+" <= n < "+n+", got "+t)}function zc(e){let t;for(t=0;e>Uc;e>>=Pc,t+=1);return t}const Gc=e=>(Pc<<BigInt(e))-Pc;function qc(e,t,r={}){if(!e||"object"!=typeof e)throw Error("expected valid options object");function n(t,r,n){const i=e[t];if(n&&void 0===i)return;const s=typeof i;if(s!==r||null===i)throw Error(`param "${t}" is invalid: expected ${r}, got ${s}`)}Object.entries(t).forEach((([e,t])=>n(e,t,!1))),Object.entries(r).forEach((([e,t])=>n(e,t,!0)))}function jc(e){const t=new WeakMap;return(r,...n)=>{const i=t.get(r);if(void 0!==i)return i;const s=e(r,...n);return t.set(r,s),s}}
6
+ /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Vc=BigInt(0),Yc=BigInt(1),Zc=/* @__PURE__ */BigInt(2),Jc=/* @__PURE__ */BigInt(3),Xc=/* @__PURE__ */BigInt(4),Wc=/* @__PURE__ */BigInt(5),$c=/* @__PURE__ */BigInt(7),eu=/* @__PURE__ */BigInt(8),tu=/* @__PURE__ */BigInt(9),ru=/* @__PURE__ */BigInt(16);function nu(e,t){const r=e%t;return r>=Vc?r:t+r}function iu(e,t,r){let n=e;for(;t-- >Vc;)n*=n,n%=r;return n}function su(e,t){if(e===Vc)throw Error("invert: expected non-zero number");if(t<=Vc)throw Error("invert: expected positive modulus, got "+t);let r=nu(e,t),n=t,i=Vc,s=Yc;for(;r!==Vc;){const e=n%r,t=i-s*(n/r);n=r,r=e,i=s,s=t}if(n!==Yc)throw Error("invert: does not exist");return nu(i,t)}function au(e,t,r){if(!e.eql(e.sqr(t),r))throw Error("Cannot find square root")}function ou(e,t){const r=(e.ORDER+Yc)/Xc,n=e.pow(t,r);return au(e,n,t),n}function cu(e,t){const r=(e.ORDER-Wc)/eu,n=e.mul(t,Zc),i=e.pow(n,r),s=e.mul(t,i),a=e.mul(e.mul(s,Zc),i),o=e.mul(s,e.sub(a,e.ONE));return au(e,o,t),o}function uu(e){if(e<Jc)throw Error("sqrt is not defined for small field");let t=e-Yc,r=0;for(;t%Zc===Vc;)t/=Zc,r++;let n=Zc;const i=du(e);for(;1===yu(i,n);)if(n++>1e3)throw Error("Cannot find square root: probably non-prime P");if(1===r)return ou;let s=i.pow(n,t);const a=(t+Yc)/Zc;return function(e,n){if(e.is0(n))return n;if(1!==yu(e,n))throw Error("Cannot find square root");let i=r,o=e.mul(e.ONE,s),c=e.pow(n,t),u=e.pow(n,a);for(;!e.eql(c,e.ONE);){if(e.is0(c))return e.ZERO;let t=1,r=e.sqr(c);for(;!e.eql(r,e.ONE);)if(t++,r=e.sqr(r),t===i)throw Error("Cannot find square root");const n=Yc<<BigInt(i-t-1),s=e.pow(o,n);i=t,o=e.sqr(s),c=e.mul(c,o),u=e.mul(u,s)}return u}}function hu(e){return e%Xc===Jc?ou:e%eu===Wc?cu:e%ru===tu?function(e){const t=du(e),r=uu(e),n=r(t,t.neg(t.ONE)),i=r(t,n),s=r(t,t.neg(n)),a=(e+$c)/ru;return(e,t)=>{let r=e.pow(t,a),o=e.mul(r,n);const c=e.mul(r,i),u=e.mul(r,s),h=e.eql(e.sqr(o),t),l=e.eql(e.sqr(c),t);r=e.cmov(r,o,h),o=e.cmov(u,c,l);const f=e.eql(e.sqr(o),t),y=e.cmov(r,o,f);return au(e,y,t),y}}(e):uu(e)}const lu=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function fu(e,t,r=!1){const n=Array(t.length).fill(r?e.ZERO:void 0),i=t.reduce(((t,r,i)=>e.is0(r)?t:(n[i]=t,e.mul(t,r))),e.ONE),s=e.inv(i);return t.reduceRight(((t,r,i)=>e.is0(r)?t:(n[i]=e.mul(t,n[i]),e.mul(t,r))),s),n}function yu(e,t){const r=(e.ORDER-Yc)/Zc,n=e.pow(t,r),i=e.eql(n,e.ONE),s=e.eql(n,e.ZERO),a=e.eql(n,e.neg(e.ONE));if(!i&&!s&&!a)throw Error("invalid Legendre symbol result");return i?1:s?0:-1}function pu(e,t){void 0!==t&&rc(t);const r=void 0!==t?t:e.toString(2).length;return{nBitLength:r,nByteLength:Math.ceil(r/8)}}function du(e,t,r=!1,n={}){if(e<=Vc)throw Error("invalid field: expected ORDER > 0, got "+e);let i,s,a,o=!1;if("object"==typeof t&&null!=t){if(n.sqrt||r)throw Error("cannot specify opts in two arguments");const e=t;e.BITS&&(i=e.BITS),e.sqrt&&(s=e.sqrt),"boolean"==typeof e.isLE&&(r=e.isLE),"boolean"==typeof e.modFromBytes&&(o=e.modFromBytes),a=e.allowedLengths}else"number"==typeof t&&(i=t),n.sqrt&&(s=n.sqrt);const{nBitLength:c,nByteLength:u}=pu(e,i);if(u>2048)throw Error("invalid field: expected ORDER of <= 2048 bytes");let h;const l=Object.freeze({ORDER:e,isLE:r,BITS:c,BYTES:u,MASK:Gc(c),ZERO:Vc,ONE:Yc,allowedLengths:a,create:t=>nu(t,e),isValid:t=>{if("bigint"!=typeof t)throw Error("invalid field element: expected bigint, got "+typeof t);return Vc<=t&&t<e},is0:e=>e===Vc,isValidNot0:e=>!l.is0(e)&&l.isValid(e),isOdd:e=>(e&Yc)===Yc,neg:t=>nu(-t,e),eql:(e,t)=>e===t,sqr:t=>nu(t*t,e),add:(t,r)=>nu(t+r,e),sub:(t,r)=>nu(t-r,e),mul:(t,r)=>nu(t*r,e),pow:(e,t)=>function(e,t,r){if(r<Vc)throw Error("invalid exponent, negatives unsupported");if(r===Vc)return e.ONE;if(r===Yc)return t;let n=e.ONE,i=t;for(;r>Vc;)r&Yc&&(n=e.mul(n,i)),i=e.sqr(i),r>>=Yc;return n}(l,e,t),div:(t,r)=>nu(t*su(r,e),e),sqrN:e=>e*e,addN:(e,t)=>e+t,subN:(e,t)=>e-t,mulN:(e,t)=>e*t,inv:t=>su(t,e),sqrt:s||(t=>(h||(h=hu(e)),h(l,t))),toBytes:e=>r?Fc(e,u):Lc(e,u),fromBytes:(t,n=!0)=>{if(a){if(!a.includes(t.length)||t.length>u)throw Error("Field.fromBytes: expected "+a+" bytes, got "+t.length);const e=new Uint8Array(u);e.set(t,r?0:e.length-t.length),t=e}if(t.length!==u)throw Error("Field.fromBytes: expected "+u+" bytes, got "+t.length);let i=r?Mc(t):Tc(t);if(o&&(i=nu(i,e)),!n&&!l.isValid(i))throw Error("invalid field element: outside of range 0..ORDER");return i},invertBatch:e=>fu(l,e),cmov:(e,t,r)=>r?t:e});return Object.freeze(l)}function gu(e){if("bigint"!=typeof e)throw Error("field order must be bigint");const t=e.toString(2).length;return Math.ceil(t/8)}function Au(e){const t=gu(e);return t+Math.ceil(t/2)}function wu(e,t,r){return e&t^~e&r}function mu(e,t,r){return e&t^e&r^t&r}class bu extends Sc{constructor(e,t,r,n){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=e,this.outputLen=t,this.padOffset=r,this.isLE=n,this.buffer=new Uint8Array(e),this.view=cc(this.buffer)}update(e){sc(this),nc(e=vc(e));const{view:t,buffer:r,blockLen:n}=this,i=e.length;for(let s=0;s<i;){const a=Math.min(n-this.pos,i-s);if(a!==n)r.set(e.subarray(s,s+a),this.pos),this.pos+=a,s+=a,this.pos===n&&(this.process(t,0),this.pos=0);else{const t=cc(e);for(;n<=i-s;s+=n)this.process(t,s)}}return this.length+=e.length,this.roundClean(),this}digestInto(e){sc(this),ac(e,this),this.finished=!0;const{buffer:t,view:r,blockLen:n,isLE:i}=this;let{pos:s}=this;t[s++]=128,oc(this.buffer.subarray(s)),this.padOffset>n-s&&(this.process(r,0),s=0);for(let e=s;e<n;e++)t[e]=0;!function(e,t,r,n){if("function"==typeof e.setBigUint64)return e.setBigUint64(t,r,n);const i=BigInt(32),s=BigInt(4294967295),a=Number(r>>i&s),o=Number(r&s),c=n?4:0,u=n?0:4;e.setUint32(t+c,a,n),e.setUint32(t+u,o,n)}(r,n-8,BigInt(8*this.length),i),this.process(r,0);const a=cc(e),o=this.outputLen;if(o%4)throw Error("_sha2: outputLen should be aligned to 32bit");const c=o/4,u=this.get();if(c>u.length)throw Error("_sha2: outputLen bigger than state");for(let e=0;e<c;e++)a.setUint32(4*e,u[e],i)}digest(){const{buffer:e,outputLen:t}=this;this.digestInto(e);const r=e.slice(0,t);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:t,buffer:r,length:n,finished:i,destroyed:s,pos:a}=this;return e.destroyed=s,e.finished=i,e.length=n,e.pos=a,n%t&&e.buffer.set(r),e}clone(){return this._cloneInto()}}const ku=/* @__PURE__ */Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Eu=/* @__PURE__ */Uint32Array.from([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]),vu=/* @__PURE__ */Uint32Array.from([3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]),Ku=/* @__PURE__ */Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]),Su=/* @__PURE__ */BigInt(2**32-1),Iu=/* @__PURE__ */BigInt(32);function Bu(e,t=!1){return t?{h:Number(e&Su),l:Number(e>>Iu&Su)}:{h:0|Number(e>>Iu&Su),l:0|Number(e&Su)}}function Cu(e,t=!1){const r=e.length;let n=new Uint32Array(r),i=new Uint32Array(r);for(let s=0;s<r;s++){const{h:r,l:a}=Bu(e[s],t);[n[s],i[s]]=[r,a]}return[n,i]}const Uu=(e,t,r)=>e>>>r,Pu=(e,t,r)=>e<<32-r|t>>>r,Du=(e,t,r)=>e>>>r|t<<32-r,xu=(e,t,r)=>e<<32-r|t>>>r,Qu=(e,t,r)=>e<<64-r|t>>>r-32,Ru=(e,t,r)=>e>>>r-32|t<<64-r;function Tu(e,t,r,n){const i=(t>>>0)+(n>>>0);return{h:e+r+(i/2**32|0)|0,l:0|i}}const Mu=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),Lu=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,Fu=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),Ou=(e,t,r,n,i)=>t+r+n+i+(e/2**32|0)|0,Nu=(e,t,r,n,i)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(i>>>0),_u=(e,t,r,n,i,s)=>t+r+n+i+s+(e/2**32|0)|0,Hu=/* @__PURE__ */Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),zu=/* @__PURE__ */new Uint32Array(64);class Gu extends bu{constructor(e=32){super(64,e,8,!1),this.A=0|ku[0],this.B=0|ku[1],this.C=0|ku[2],this.D=0|ku[3],this.E=0|ku[4],this.F=0|ku[5],this.G=0|ku[6],this.H=0|ku[7]}get(){const{A:e,B:t,C:r,D:n,E:i,F:s,G:a,H:o}=this;return[e,t,r,n,i,s,a,o]}set(e,t,r,n,i,s,a,o){this.A=0|e,this.B=0|t,this.C=0|r,this.D=0|n,this.E=0|i,this.F=0|s,this.G=0|a,this.H=0|o}process(e,t){for(let r=0;r<16;r++,t+=4)zu[r]=e.getUint32(t,!1);for(let e=16;e<64;e++){const t=zu[e-15],r=zu[e-2],n=uc(t,7)^uc(t,18)^t>>>3,i=uc(r,17)^uc(r,19)^r>>>10;zu[e]=i+zu[e-7]+n+zu[e-16]|0}let{A:r,B:n,C:i,D:s,E:a,F:o,G:c,H:u}=this;for(let e=0;e<64;e++){const t=u+(uc(a,6)^uc(a,11)^uc(a,25))+wu(a,o,c)+Hu[e]+zu[e]|0,h=(uc(r,2)^uc(r,13)^uc(r,22))+mu(r,n,i)|0;u=c,c=o,o=a,a=s+t|0,s=i,i=n,n=r,r=t+h|0}r=r+this.A|0,n=n+this.B|0,i=i+this.C|0,s=s+this.D|0,a=a+this.E|0,o=o+this.F|0,c=c+this.G|0,u=u+this.H|0,this.set(r,n,i,s,a,o,c,u)}roundClean(){oc(zu)}destroy(){this.set(0,0,0,0,0,0,0,0),oc(this.buffer)}}class qu extends Gu{constructor(){super(28),this.A=0|Eu[0],this.B=0|Eu[1],this.C=0|Eu[2],this.D=0|Eu[3],this.E=0|Eu[4],this.F=0|Eu[5],this.G=0|Eu[6],this.H=0|Eu[7]}}const ju=/* @__PURE__ */(()=>Cu(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map((e=>BigInt(e)))))(),Vu=/* @__PURE__ */(()=>ju[0])(),Yu=/* @__PURE__ */(()=>ju[1])(),Zu=/* @__PURE__ */new Uint32Array(80),Ju=/* @__PURE__ */new Uint32Array(80);class Xu extends bu{constructor(e=64){super(128,e,16,!1),this.Ah=0|Ku[0],this.Al=0|Ku[1],this.Bh=0|Ku[2],this.Bl=0|Ku[3],this.Ch=0|Ku[4],this.Cl=0|Ku[5],this.Dh=0|Ku[6],this.Dl=0|Ku[7],this.Eh=0|Ku[8],this.El=0|Ku[9],this.Fh=0|Ku[10],this.Fl=0|Ku[11],this.Gh=0|Ku[12],this.Gl=0|Ku[13],this.Hh=0|Ku[14],this.Hl=0|Ku[15]}get(){const{Ah:e,Al:t,Bh:r,Bl:n,Ch:i,Cl:s,Dh:a,Dl:o,Eh:c,El:u,Fh:h,Fl:l,Gh:f,Gl:y,Hh:p,Hl:d}=this;return[e,t,r,n,i,s,a,o,c,u,h,l,f,y,p,d]}set(e,t,r,n,i,s,a,o,c,u,h,l,f,y,p,d){this.Ah=0|e,this.Al=0|t,this.Bh=0|r,this.Bl=0|n,this.Ch=0|i,this.Cl=0|s,this.Dh=0|a,this.Dl=0|o,this.Eh=0|c,this.El=0|u,this.Fh=0|h,this.Fl=0|l,this.Gh=0|f,this.Gl=0|y,this.Hh=0|p,this.Hl=0|d}process(e,t){for(let r=0;r<16;r++,t+=4)Zu[r]=e.getUint32(t),Ju[r]=e.getUint32(t+=4);for(let e=16;e<80;e++){const t=0|Zu[e-15],r=0|Ju[e-15],n=Du(t,r,1)^Du(t,r,8)^Uu(t,0,7),i=xu(t,r,1)^xu(t,r,8)^Pu(t,r,7),s=0|Zu[e-2],a=0|Ju[e-2],o=Du(s,a,19)^Qu(s,a,61)^Uu(s,0,6),c=xu(s,a,19)^Ru(s,a,61)^Pu(s,a,6),u=Fu(i,c,Ju[e-7],Ju[e-16]),h=Ou(u,n,o,Zu[e-7],Zu[e-16]);Zu[e]=0|h,Ju[e]=0|u}let{Ah:r,Al:n,Bh:i,Bl:s,Ch:a,Cl:o,Dh:c,Dl:u,Eh:h,El:l,Fh:f,Fl:y,Gh:p,Gl:d,Hh:g,Hl:A}=this;for(let e=0;e<80;e++){const t=Du(h,l,14)^Du(h,l,18)^Qu(h,l,41),w=xu(h,l,14)^xu(h,l,18)^Ru(h,l,41),m=h&f^~h&p,b=Nu(A,w,l&y^~l&d,Yu[e],Ju[e]),k=_u(b,g,t,m,Vu[e],Zu[e]),E=0|b,v=Du(r,n,28)^Qu(r,n,34)^Qu(r,n,39),K=xu(r,n,28)^Ru(r,n,34)^Ru(r,n,39),S=r&i^r&a^i&a,I=n&s^n&o^s&o;g=0|p,A=0|d,p=0|f,d=0|y,f=0|h,y=0|l,({h,l}=Tu(0|c,0|u,0|k,0|E)),c=0|a,u=0|o,a=0|i,o=0|s,i=0|r,s=0|n;const B=Mu(E,K,I);r=Lu(B,k,v,S),n=0|B}({h:r,l:n}=Tu(0|this.Ah,0|this.Al,0|r,0|n)),({h:i,l:s}=Tu(0|this.Bh,0|this.Bl,0|i,0|s)),({h:a,l:o}=Tu(0|this.Ch,0|this.Cl,0|a,0|o)),({h:c,l:u}=Tu(0|this.Dh,0|this.Dl,0|c,0|u)),({h,l}=Tu(0|this.Eh,0|this.El,0|h,0|l)),({h:f,l:y}=Tu(0|this.Fh,0|this.Fl,0|f,0|y)),({h:p,l:d}=Tu(0|this.Gh,0|this.Gl,0|p,0|d)),({h:g,l:A}=Tu(0|this.Hh,0|this.Hl,0|g,0|A)),this.set(r,n,i,s,a,o,c,u,h,l,f,y,p,d,g,A)}roundClean(){oc(Zu,Ju)}destroy(){oc(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}class Wu extends Xu{constructor(){super(48),this.Ah=0|vu[0],this.Al=0|vu[1],this.Bh=0|vu[2],this.Bl=0|vu[3],this.Ch=0|vu[4],this.Cl=0|vu[5],this.Dh=0|vu[6],this.Dl=0|vu[7],this.Eh=0|vu[8],this.El=0|vu[9],this.Fh=0|vu[10],this.Fl=0|vu[11],this.Gh=0|vu[12],this.Gl=0|vu[13],this.Hh=0|vu[14],this.Hl=0|vu[15]}}const $u=/* @__PURE__ */Ic((()=>new Gu)),eh=/* @__PURE__ */Ic((()=>new qu)),th=/* @__PURE__ */Ic((()=>new Xu)),rh=/* @__PURE__ */Ic((()=>new Wu));class nh extends Sc{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,ic(e);const r=vc(t);if(this.iHash=e.create(),"function"!=typeof this.iHash.update)throw Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const n=this.blockLen,i=new Uint8Array(n);i.set(r.length>n?e.create().update(r).digest():r);for(let e=0;e<i.length;e++)i[e]^=54;this.iHash.update(i),this.oHash=e.create();for(let e=0;e<i.length;e++)i[e]^=106;this.oHash.update(i),oc(i)}update(e){return sc(this),this.iHash.update(e),this}digestInto(e){sc(this),nc(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){const e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));const{oHash:t,iHash:r,finished:n,destroyed:i,blockLen:s,outputLen:a}=this;return e.finished=n,e.destroyed=i,e.blockLen=s,e.outputLen=a,e.oHash=t._cloneInto(e.oHash),e.iHash=r._cloneInto(e.iHash),e}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const ih=(e,t,r)=>new nh(e,t).update(r).digest();ih.create=(e,t)=>new nh(e,t)
7
+ /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */;const sh=BigInt(0),ah=BigInt(1);function oh(e,t){const r=t.negate();return e?r:t}function ch(e,t){const r=fu(e.Fp,t.map((e=>e.Z)));return t.map(((t,n)=>e.fromAffine(t.toAffine(r[n]))))}function uh(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw Error("invalid window size, expected [1.."+t+"], got W="+e)}function hh(e,t){uh(e,t);const r=2**e;return{windows:Math.ceil(t/e)+1,windowSize:2**(e-1),mask:Gc(e),maxNumber:r,shiftBy:BigInt(e)}}function lh(e,t,r){const{windowSize:n,mask:i,maxNumber:s,shiftBy:a}=r;let o=Number(e&i),c=e>>a;o>n&&(o-=s,c+=ah);const u=t*n;return{nextN:c,offset:u+Math.abs(o)-1,isZero:0===o,isNeg:o<0,isNegF:t%2!=0,offsetF:u}}const fh=new WeakMap,yh=new WeakMap;function ph(e){return yh.get(e)||1}function dh(e){if(e!==sh)throw Error("invalid wNAF")}class gh{constructor(e,t){this.BASE=e.BASE,this.ZERO=e.ZERO,this.Fn=e.Fn,this.bits=t}_unsafeLadder(e,t,r=this.ZERO){let n=e;for(;t>sh;)t&ah&&(r=r.add(n)),n=n.double(),t>>=ah;return r}precomputeWindow(e,t){const{windows:r,windowSize:n}=hh(t,this.bits),i=[];let s=e,a=s;for(let e=0;e<r;e++){a=s,i.push(a);for(let e=1;e<n;e++)a=a.add(s),i.push(a);s=a.double()}return i}wNAF(e,t,r){if(!this.Fn.isValid(r))throw Error("invalid scalar");let n=this.ZERO,i=this.BASE;const s=hh(e,this.bits);for(let e=0;e<s.windows;e++){const{nextN:a,offset:o,isZero:c,isNeg:u,isNegF:h,offsetF:l}=lh(r,e,s);r=a,c?i=i.add(oh(h,t[l])):n=n.add(oh(u,t[o]))}return dh(r),{p:n,f:i}}wNAFUnsafe(e,t,r,n=this.ZERO){const i=hh(e,this.bits);for(let e=0;e<i.windows&&r!==sh;e++){const{nextN:s,offset:a,isZero:o,isNeg:c}=lh(r,e,i);if(r=s,!o){const e=t[a];n=n.add(c?e.negate():e)}}return dh(r),n}getPrecomputes(e,t,r){let n=fh.get(t);return n||(n=this.precomputeWindow(t,e),1!==e&&("function"==typeof r&&(n=r(n)),fh.set(t,n))),n}cached(e,t,r){const n=ph(e);return this.wNAF(n,this.getPrecomputes(n,e,r),t)}unsafe(e,t,r,n){const i=ph(e);return 1===i?this._unsafeLadder(e,t,n):this.wNAFUnsafe(i,this.getPrecomputes(i,e,r),t,n)}createCache(e,t){uh(t,this.bits),yh.set(e,t),fh.delete(e)}hasCache(e){return 1!==ph(e)}}function Ah(e,t,r,n){!function(e,t){if(!Array.isArray(e))throw Error("array expected");e.forEach(((e,r)=>{if(!(e instanceof t))throw Error("invalid point at index "+r)}))}(r,e),function(e,t){if(!Array.isArray(e))throw Error("array of scalars expected");e.forEach(((e,r)=>{if(!t.isValid(e))throw Error("invalid scalar at index "+r)}))}(n,t);const i=r.length,s=n.length;if(i!==s)throw Error("arrays of points and scalars must have equal length");const a=e.ZERO,o=zc(BigInt(i));let c=1;o>12?c=o-3:o>4?c=o-2:o>0&&(c=2);const u=Gc(c),h=Array(Number(u)+1).fill(a);let l=a;for(let e=Math.floor((t.BITS-1)/c)*c;e>=0;e-=c){h.fill(a);for(let t=0;t<s;t++){const i=n[t],s=Number(i>>BigInt(e)&u);h[s]=h[s].add(r[t])}let t=a;for(let e=h.length-1,r=a;e>0;e--)r=r.add(h[e]),t=t.add(r);if(l=l.add(t),0!==e)for(let e=0;e<c;e++)l=l.double()}return l}function wh(e,t,r){if(t){if(t.ORDER!==e)throw Error("Field.ORDER must match order: Fp == p, Fn == n");return function(e){qc(e,lu.reduce(((e,t)=>(e[t]="function",e)),{ORDER:"bigint",MASK:"bigint",BYTES:"number",BITS:"number"}))}(t),t}return du(e,{isLE:r})}function mh(e,t,r={},n){if(void 0===n&&(n="edwards"===e),!t||"object"!=typeof t)throw Error(`expected valid ${e} CURVE object`);for(const e of["p","n","h"]){const r=t[e];if(!("bigint"==typeof r&&r>sh))throw Error(`CURVE.${e} must be positive bigint`)}const i=wh(t.p,r.Fp,n),s=wh(t.n,r.Fn,n),a=["Gx","Gy","a","weierstrass"===e?"b":"d"];for(const e of a)if(!i.isValid(t[e]))throw Error(`CURVE.${e} must be valid field element of CURVE.Fp`);return{CURVE:t=Object.freeze(Object.assign({},t)),Fp:i,Fn:s}}
8
+ /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const bh=(e,t)=>(e+(e>=0?t:-t)/Ih)/t;function kh(e){if(!["compact","recovered","der"].includes(e))throw Error('Signature format must be "compact", "recovered", or "der"');return e}function Eh(e,t){const r={};for(let n of Object.keys(t))r[n]=void 0===e[n]?t[n]:e[n];return Dc(r.lowS,"lowS"),Dc(r.prehash,"prehash"),void 0!==r.format&&kh(r.format),r}const vh={Err:class extends Error{constructor(e=""){super(e)}},_tlv:{encode:(e,t)=>{const{Err:r}=vh;if(e<0||e>256)throw new r("tlv.encode: wrong tag");if(1&t.length)throw new r("tlv.encode: unpadded data");const n=t.length/2,i=Qc(n);if(i.length/2&128)throw new r("tlv.encode: long form length too big");const s=n>127?Qc(i.length/2|128):"";return Qc(e)+s+i+t},decode(e,t){const{Err:r}=vh;let n=0;if(e<0||e>256)throw new r("tlv.encode: wrong tag");if(t.length<2||t[n++]!==e)throw new r("tlv.decode: wrong tlv");const i=t[n++];let s=0;if(!!(128&i)){const e=127&i;if(!e)throw new r("tlv.decode(long): indefinite length not supported");if(e>4)throw new r("tlv.decode(long): byte length is too big");const a=t.subarray(n,n+e);if(a.length!==e)throw new r("tlv.decode: length bytes not complete");if(0===a[0])throw new r("tlv.decode(long): zero leftmost byte");for(const e of a)s=s<<8|e;if(n+=e,s<128)throw new r("tlv.decode(long): not minimal encoding")}else s=i;const a=t.subarray(n,n+s);if(a.length!==s)throw new r("tlv.decode: wrong value length");return{v:a,l:t.subarray(n+s)}}},_int:{encode(e){const{Err:t}=vh;if(e<Kh)throw new t("integer: negative integers are not allowed");let r=Qc(e);if(8&Number.parseInt(r[0],16)&&(r="00"+r),1&r.length)throw new t("unexpected DER parsing assertion: unpadded hex");return r},decode(e){const{Err:t}=vh;if(128&e[0])throw new t("invalid signature integer: negative");if(0===e[0]&&!(128&e[1]))throw new t("invalid signature integer: unnecessary leading zero");return Tc(e)}},toSig(e){const{Err:t,_int:r,_tlv:n}=vh,i=Oc("signature",e),{v:s,l:a}=n.decode(48,i);if(a.length)throw new t("invalid signature: left bytes after parsing");const{v:o,l:c}=n.decode(2,s),{v:u,l:h}=n.decode(2,c);if(h.length)throw new t("invalid signature: left bytes after parsing");return{r:r.decode(o),s:r.decode(u)}},hexFromSig(e){const{_tlv:t,_int:r}=vh,n=t.encode(2,r.encode(e.r))+t.encode(2,r.encode(e.s));return t.encode(48,n)}},Kh=BigInt(0),Sh=BigInt(1),Ih=BigInt(2),Bh=BigInt(3),Ch=BigInt(4);function Uh(e,t){const{BYTES:r}=e;let n;if("bigint"==typeof t)n=t;else{let i=Oc("private key",t);try{n=e.fromBytes(i)}catch(e){throw Error(`invalid private key: expected ui8a of size ${r}, got ${typeof t}`)}}if(!e.isValidNot0(n))throw Error("invalid private key: out of range [1..N-1]");return n}function Ph(e,t={}){const r=mh("weierstrass",e,t),{Fp:n,Fn:i}=r;let s=r.CURVE;const{h:a,n:o}=s;qc(t,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object",wrapPrivateKey:"boolean"});const{endo:c}=t;if(c&&(!n.is0(s.a)||"bigint"!=typeof c.beta||!Array.isArray(c.basises)))throw Error('invalid endo: expected "beta": bigint and "basises": array');const u=xh(n,i);function h(){if(!n.isOdd)throw Error("compression is not supported: Field does not have .isOdd()")}const l=t.toBytes||function(e,t,r){const{x:i,y:s}=t.toAffine(),a=n.toBytes(i);if(Dc(r,"isCompressed"),r){h();return Kc(Dh(!n.isOdd(s)),a)}return Kc(Uint8Array.of(4),a,n.toBytes(s))},f=t.fromBytes||function(e){xc(e,void 0,"Point");const{publicKey:t,publicKeyUncompressed:r}=u,i=e.length,s=e[0],a=e.subarray(1);if(i!==t||2!==s&&3!==s){if(i===r&&4===s){const e=n.BYTES,t=n.fromBytes(a.subarray(0,e)),r=n.fromBytes(a.subarray(e,2*e));if(!p(t,r))throw Error("bad point: is not on curve");return{x:t,y:r}}throw Error(`bad point: got length ${i}, expected compressed=${t} or uncompressed=${r}`)}{const e=n.fromBytes(a);if(!n.isValid(e))throw Error("bad point: is not on curve, wrong x");const t=y(e);let r;try{r=n.sqrt(t)}catch(e){const t=e instanceof Error?": "+e.message:"";throw Error("bad point: is not on curve, sqrt error"+t)}h();return!(1&~s)!==n.isOdd(r)&&(r=n.neg(r)),{x:e,y:r}}};function y(e){const t=n.sqr(e),r=n.mul(t,e);return n.add(n.add(r,n.mul(e,s.a)),s.b)}function p(e,t){const r=n.sqr(t),i=y(e);return n.eql(r,i)}if(!p(s.Gx,s.Gy))throw Error("bad curve params: generator point");const d=n.mul(n.pow(s.a,Bh),Ch),g=n.mul(n.sqr(s.b),BigInt(27));if(n.is0(n.add(d,g)))throw Error("bad curve params: a or b");function A(e,t,r=!1){if(!n.isValid(t)||r&&n.is0(t))throw Error("bad point coordinate "+e);return t}function w(e){if(!(e instanceof v))throw Error("ProjectivePoint expected")}function m(e){if(!c||!c.basises)throw Error("no endo");return function(e,t,r){const[[n,i],[s,a]]=t,o=bh(a*e,r),c=bh(-i*e,r);let u=e-o*n-c*s,h=-o*i-c*a;const l=u<Kh,f=h<Kh;l&&(u=-u),f&&(h=-h);const y=Gc(Math.ceil(zc(r)/2))+Sh;if(u<Kh||u>=y||h<Kh||h>=y)throw Error("splitScalar (endomorphism): failed, k="+e);return{k1neg:l,k1:u,k2neg:f,k2:h}}(e,c.basises,i.ORDER)}const b=jc(((e,t)=>{const{X:r,Y:i,Z:s}=e;if(n.eql(s,n.ONE))return{x:r,y:i};const a=e.is0();null==t&&(t=a?n.ONE:n.inv(s));const o=n.mul(r,t),c=n.mul(i,t),u=n.mul(s,t);if(a)return{x:n.ZERO,y:n.ZERO};if(!n.eql(u,n.ONE))throw Error("invZ was invalid");return{x:o,y:c}})),k=jc((e=>{if(e.is0()){if(t.allowInfinityPoint&&!n.is0(e.Y))return;throw Error("bad point: ZERO")}const{x:r,y:i}=e.toAffine();if(!n.isValid(r)||!n.isValid(i))throw Error("bad point: x or y not field elements");if(!p(r,i))throw Error("bad point: equation left != right");if(!e.isTorsionFree())throw Error("bad point: not in prime-order subgroup");return!0}));function E(e,t,r,i,s){return r=new v(n.mul(r.X,e),r.Y,r.Z),t=oh(i,t),r=oh(s,r),t.add(r)}class v{constructor(e,t,r){this.X=A("x",e),this.Y=A("y",t,!0),this.Z=A("z",r),Object.freeze(this)}static CURVE(){return s}static fromAffine(e){const{x:t,y:r}=e||{};if(!e||!n.isValid(t)||!n.isValid(r))throw Error("invalid affine point");if(e instanceof v)throw Error("projective point not allowed");return n.is0(t)&&n.is0(r)?v.ZERO:new v(t,r,n.ONE)}static fromBytes(e){const t=v.fromAffine(f(xc(e,void 0,"point")));return t.assertValidity(),t}static fromHex(e){return v.fromBytes(Oc("pointHex",e))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(e=8,t=!0){return S.createCache(this,e),t||this.multiply(Bh),this}assertValidity(){k(this)}hasEvenY(){const{y:e}=this.toAffine();if(!n.isOdd)throw Error("Field doesn't support isOdd");return!n.isOdd(e)}equals(e){w(e);const{X:t,Y:r,Z:i}=this,{X:s,Y:a,Z:o}=e,c=n.eql(n.mul(t,o),n.mul(s,i)),u=n.eql(n.mul(r,o),n.mul(a,i));return c&&u}negate(){return new v(this.X,n.neg(this.Y),this.Z)}double(){const{a:e,b:t}=s,r=n.mul(t,Bh),{X:i,Y:a,Z:o}=this;let c=n.ZERO,u=n.ZERO,h=n.ZERO,l=n.mul(i,i),f=n.mul(a,a),y=n.mul(o,o),p=n.mul(i,a);return p=n.add(p,p),h=n.mul(i,o),h=n.add(h,h),c=n.mul(e,h),u=n.mul(r,y),u=n.add(c,u),c=n.sub(f,u),u=n.add(f,u),u=n.mul(c,u),c=n.mul(p,c),h=n.mul(r,h),y=n.mul(e,y),p=n.sub(l,y),p=n.mul(e,p),p=n.add(p,h),h=n.add(l,l),l=n.add(h,l),l=n.add(l,y),l=n.mul(l,p),u=n.add(u,l),y=n.mul(a,o),y=n.add(y,y),l=n.mul(y,p),c=n.sub(c,l),h=n.mul(y,f),h=n.add(h,h),h=n.add(h,h),new v(c,u,h)}add(e){w(e);const{X:t,Y:r,Z:i}=this,{X:a,Y:o,Z:c}=e;let u=n.ZERO,h=n.ZERO,l=n.ZERO;const f=s.a,y=n.mul(s.b,Bh);let p=n.mul(t,a),d=n.mul(r,o),g=n.mul(i,c),A=n.add(t,r),m=n.add(a,o);A=n.mul(A,m),m=n.add(p,d),A=n.sub(A,m),m=n.add(t,i);let b=n.add(a,c);return m=n.mul(m,b),b=n.add(p,g),m=n.sub(m,b),b=n.add(r,i),u=n.add(o,c),b=n.mul(b,u),u=n.add(d,g),b=n.sub(b,u),l=n.mul(f,m),u=n.mul(y,g),l=n.add(u,l),u=n.sub(d,l),l=n.add(d,l),h=n.mul(u,l),d=n.add(p,p),d=n.add(d,p),g=n.mul(f,g),m=n.mul(y,m),d=n.add(d,g),g=n.sub(p,g),g=n.mul(f,g),m=n.add(m,g),p=n.mul(d,m),h=n.add(h,p),p=n.mul(b,m),u=n.mul(A,u),u=n.sub(u,p),p=n.mul(A,d),l=n.mul(b,l),l=n.add(l,p),new v(u,h,l)}subtract(e){return this.add(e.negate())}is0(){return this.equals(v.ZERO)}multiply(e){const{endo:r}=t;if(!i.isValidNot0(e))throw Error("invalid scalar: out of range");let n,s;const a=e=>S.cached(this,e,(e=>ch(v,e)));if(r){const{k1neg:t,k1:i,k2neg:o,k2:c}=m(e),{p:u,f:h}=a(i),{p:l,f}=a(c);s=h.add(f),n=E(r.beta,u,l,t,o)}else{const{p:t,f:r}=a(e);n=t,s=r}return ch(v,[n,s])[0]}multiplyUnsafe(e){const{endo:r}=t,n=this;if(!i.isValid(e))throw Error("invalid scalar: out of range");if(e===Kh||n.is0())return v.ZERO;if(e===Sh)return n;if(S.hasCache(this))return this.multiply(e);if(r){const{k1neg:t,k1:i,k2neg:s,k2:a}=m(e),{p1:o,p2:c}=function(e,t,r,n){let i=t,s=e.ZERO,a=e.ZERO;for(;r>sh||n>sh;)r&ah&&(s=s.add(i)),n&ah&&(a=a.add(i)),i=i.double(),r>>=ah,n>>=ah;return{p1:s,p2:a}}(v,n,i,a);return E(r.beta,o,c,t,s)}return S.unsafe(n,e)}multiplyAndAddUnsafe(e,t,r){const n=this.multiplyUnsafe(t).add(e.multiplyUnsafe(r));return n.is0()?void 0:n}toAffine(e){return b(this,e)}isTorsionFree(){const{isTorsionFree:e}=t;return a===Sh||(e?e(v,this):S.unsafe(this,o).is0())}clearCofactor(){const{clearCofactor:e}=t;return a===Sh?this:e?e(v,this):this.multiplyUnsafe(a)}isSmallOrder(){return this.multiplyUnsafe(a).is0()}toBytes(e=!0){return Dc(e,"isCompressed"),this.assertValidity(),l(v,this,e)}toHex(e=!0){return pc(this.toBytes(e))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get px(){return this.X}get py(){return this.X}get pz(){return this.Z}toRawBytes(e=!0){return this.toBytes(e)}_setWindowSize(e){this.precompute(e)}static normalizeZ(e){return ch(v,e)}static msm(e,t){return Ah(v,i,e,t)}static fromPrivateKey(e){return v.BASE.multiply(Uh(i,e))}}v.BASE=new v(s.Gx,s.Gy,n.ONE),v.ZERO=new v(n.ZERO,n.ONE,n.ZERO),v.Fp=n,v.Fn=i;const K=i.BITS,S=new gh(v,t.endo?Math.ceil(K/2):K);return v.BASE.precompute(8),v}function Dh(e){return Uint8Array.of(e?2:3)}function xh(e,t){return{secretKey:t.BYTES,publicKey:1+e.BYTES,publicKeyUncompressed:1+2*e.BYTES,publicKeyHasPrefix:!0,signature:2*t.BYTES}}function Qh(e,t={}){const{Fn:r}=e,n=t.randomBytes||Cc,i=Object.assign(xh(e.Fp,r),{seed:Au(r.ORDER)});function s(e){try{return!!Uh(r,e)}catch(e){return!1}}function a(e=n(i.seed)){return function(e,t,r=!1){const n=e.length,i=gu(t),s=Au(t);if(n<16||n<s||n>1024)throw Error("expected "+s+"-1024 bytes of input, got "+n);const a=nu(r?Mc(e):Tc(e),t-Yc)+Yc;return r?Fc(a,i):Lc(a,i)}(xc(e,i.seed,"seed"),r.ORDER)}function o(t,n=!0){return e.BASE.multiply(Uh(r,t)).toBytes(n)}function c(t){if("bigint"==typeof t)return!1;if(t instanceof e)return!0;const{secretKey:n,publicKey:s,publicKeyUncompressed:a}=i;if(r.allowedLengths||n===s)return;const o=Oc("key",t).length;return o===s||o===a}const u={isValidSecretKey:s,isValidPublicKey:function(t,r){const{publicKey:n,publicKeyUncompressed:s}=i;try{const i=t.length;return(!0!==r||i===n)&&((!1!==r||i===s)&&!!e.fromBytes(t))}catch(e){return!1}},randomSecretKey:a,isValidPrivateKey:s,randomPrivateKey:a,normPrivateKeyToScalar:e=>Uh(r,e),precompute:(t=8,r=e.BASE)=>r.precompute(t,!1)};return Object.freeze({getPublicKey:o,getSharedSecret:function(t,n,i=!0){if(!0===c(t))throw Error("first arg must be private key");if(!1===c(n))throw Error("second arg must be public key");const s=Uh(r,t);return e.fromHex(n).multiply(s).toBytes(i)},keygen:function(e){const t=a(e);return{secretKey:t,publicKey:o(t)}},Point:e,utils:u,lengths:i})}function Rh(e,t,r={}){ic(t),qc(r,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"});const n=r.randomBytes||Cc,i=r.hmac||((e,...r)=>ih(t,e,Kc(...r))),{Fp:s,Fn:a}=e,{ORDER:o,BITS:c}=a,{keygen:u,getPublicKey:h,getSharedSecret:l,utils:f,lengths:y}=Qh(e,r),p={prehash:!1,lowS:"boolean"==typeof r.lowS&&r.lowS,format:void 0,extraEntropy:!1},d="compact";function g(e){return e>o>>Sh}function A(e,t){if(!a.isValidNot0(t))throw Error(`invalid signature ${e}: out of range 1..Point.Fn.ORDER`);return t}class w{constructor(e,t,r){this.r=A("r",e),this.s=A("s",t),null!=r&&(this.recovery=r),Object.freeze(this)}static fromBytes(e,t=d){let r;if(function(e,t){kh(t);const r=y.signature;xc(e,"compact"===t?r:"recovered"===t?r+1:void 0,t+" signature")}(e,t),"der"===t){const{r:t,s:r}=vh.toSig(xc(e));return new w(t,r)}"recovered"===t&&(r=e[0],t="compact",e=e.subarray(1));const n=a.BYTES,i=e.subarray(0,n),s=e.subarray(n,2*n);return new w(a.fromBytes(i),a.fromBytes(s),r)}static fromHex(e,t){return this.fromBytes(Ec(e),t)}addRecoveryBit(e){return new w(this.r,this.s,e)}recoverPublicKey(t){const r=s.ORDER,{r:n,s:i,recovery:c}=this;if(null==c||![0,1,2,3].includes(c))throw Error("recovery id invalid");if(o*Ih<r&&c>1)throw Error("recovery id is ambiguous for h>1 curve");const u=2===c||3===c?n+o:n;if(!s.isValid(u))throw Error("recovery id 2 or 3 invalid");const h=s.toBytes(u),l=e.fromBytes(Kc(Dh(!(1&c)),h)),f=a.inv(u),y=b(Oc("msgHash",t)),p=a.create(-y*f),d=a.create(i*f),g=e.BASE.multiplyUnsafe(p).add(l.multiplyUnsafe(d));if(g.is0())throw Error("point at infinify");return g.assertValidity(),g}hasHighS(){return g(this.s)}toBytes(e=d){if(kh(e),"der"===e)return Ec(vh.hexFromSig(this));const t=a.toBytes(this.r),r=a.toBytes(this.s);if("recovered"===e){if(null==this.recovery)throw Error("recovery bit must be present");return Kc(Uint8Array.of(this.recovery),t,r)}return Kc(t,r)}toHex(e){return pc(this.toBytes(e))}assertValidity(){}static fromCompact(e){return w.fromBytes(Oc("sig",e),"compact")}static fromDER(e){return w.fromBytes(Oc("sig",e),"der")}normalizeS(){return this.hasHighS()?new w(this.r,a.neg(this.s),this.recovery):this}toDERRawBytes(){return this.toBytes("der")}toDERHex(){return pc(this.toBytes("der"))}toCompactRawBytes(){return this.toBytes("compact")}toCompactHex(){return pc(this.toBytes("compact"))}}const m=r.bits2int||function(e){if(e.length>8192)throw Error("input is too large");const t=Tc(e),r=8*e.length-c;return r>0?t>>BigInt(r):t},b=r.bits2int_modN||function(e){return a.create(m(e))},k=Gc(c);function E(e){return Hc("num < 2^"+c,e,Kh,k),a.toBytes(e)}function v(e,r){return xc(e,void 0,"message"),r?xc(t(e),void 0,"prehashed message"):e}return Object.freeze({keygen:u,getPublicKey:h,getSharedSecret:l,utils:f,lengths:y,Point:e,sign:function(r,s,o={}){r=Oc("message",r);const{seed:c,k2sig:u}=function(t,r,i){if(["recovered","canonical"].some((e=>e in i)))throw Error("sign() legacy options not supported");const{lowS:s,prehash:o,extraEntropy:c}=Eh(i,p);t=v(t,o);const u=b(t),h=Uh(a,r),l=[E(h),E(u)];if(null!=c&&!1!==c){const e=!0===c?n(y.secretKey):c;l.push(Oc("extraEntropy",e))}const f=Kc(...l),d=u;return{seed:f,k2sig:function(t){const r=m(t);if(!a.isValidNot0(r))return;const n=a.inv(r),i=e.BASE.multiply(r).toAffine(),o=a.create(i.x);if(o===Kh)return;const c=a.create(n*a.create(d+o*h));if(c===Kh)return;let u=(i.x===o?0:2)|Number(i.y&Sh),l=c;return s&&g(c)&&(l=a.neg(c),u^=1),new w(o,l,u)}}}(r,s,o),h=function(e,t,r){if("number"!=typeof e||e<2)throw Error("hashLen must be a number");if("number"!=typeof t||t<2)throw Error("qByteLen must be a number");if("function"!=typeof r)throw Error("hmacFn must be a function");const n=e=>new Uint8Array(e),i=e=>Uint8Array.of(e);let s=n(e),a=n(e),o=0;const c=()=>{s.fill(1),a.fill(0),o=0},u=(...e)=>r(a,s,...e),h=(e=n(0))=>{a=u(i(0),e),s=u(),0!==e.length&&(a=u(i(1),e),s=u())},l=()=>{if(o++>=1e3)throw Error("drbg: tried 1000 values");let e=0;const r=[];for(;e<t;){s=u();const t=s.slice();r.push(t),e+=s.length}return Kc(...r)};return(e,t)=>{let r;for(c(),h(e);!(r=t(l()));)h();return c(),r}}(t.outputLen,a.BYTES,i);return h(c,u)},verify:function(t,r,n,i={}){const{lowS:s,prehash:o,format:c}=Eh(i,p);if(n=Oc("publicKey",n),r=v(Oc("message",r),o),"strict"in i)throw Error("options.strict was renamed to lowS");const u=void 0===c?function(e){let t;const r="string"==typeof e||tc(e),n=!r&&null!==e&&"object"==typeof e&&"bigint"==typeof e.r&&"bigint"==typeof e.s;if(!r&&!n)throw Error("invalid signature, expected Uint8Array, hex string or Signature instance");if(n)t=new w(e.r,e.s);else if(r){try{t=w.fromBytes(Oc("sig",e),"der")}catch(e){if(!(e instanceof vh.Err))throw e}if(!t)try{t=w.fromBytes(Oc("sig",e),"compact")}catch(e){return!1}}return t||!1}(t):w.fromBytes(Oc("sig",t),c);if(!1===u)return!1;try{const t=e.fromBytes(n);if(s&&u.hasHighS())return!1;const{r:i,s:o}=u,c=b(r),h=a.inv(o),l=a.create(c*h),f=a.create(i*h),y=e.BASE.multiplyUnsafe(l).add(t.multiplyUnsafe(f));if(y.is0())return!1;return a.create(y.x)===i}catch(e){return!1}},recoverPublicKey:function(e,t,r={}){const{prehash:n}=Eh(r,p);return t=v(t,n),w.fromBytes(e,"recovered").recoverPublicKey(t).toBytes()},Signature:w,hash:t})}function Th(e){const{CURVE:t,curveOpts:r}=function(e){const t={a:e.a,b:e.b,p:e.Fp.ORDER,n:e.n,h:e.h,Gx:e.Gx,Gy:e.Gy},r=e.Fp;let n=e.allowedPrivateKeyLengths?Array.from(new Set(e.allowedPrivateKeyLengths.map((e=>Math.ceil(e/2))))):void 0;return{CURVE:t,curveOpts:{Fp:r,Fn:du(t.n,{BITS:e.nBitLength,allowedLengths:n,modFromBytes:e.wrapPrivateKey}),allowInfinityPoint:e.allowInfinityPoint,endo:e.endo,isTorsionFree:e.isTorsionFree,clearCofactor:e.clearCofactor,fromBytes:e.fromBytes,toBytes:e.toBytes}}}(e),n={hmac:e.hmac,randomBytes:e.randomBytes,lowS:e.lowS,bits2int:e.bits2int,bits2int_modN:e.bits2int_modN};return{CURVE:t,curveOpts:r,hash:e.hash,ecdsaOpts:n}}function Mh(e){const{CURVE:t,curveOpts:r,hash:n,ecdsaOpts:i}=Th(e);return function(e,t){const r=t.Point;return Object.assign({},t,{ProjectivePoint:r,CURVE:Object.assign({},e,pu(r.Fn.ORDER,r.Fn.BITS))})}(e,Rh(Ph(t,r),n,i))}
9
+ /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function Lh(e,t){const r=t=>Mh({...e,hash:t});return{...r(t),create:r}}
10
+ /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Fh={p:BigInt("0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff"),n:BigInt("0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551"),h:BigInt(1),a:BigInt("0xffffffff00000001000000000000000000000000fffffffffffffffffffffffc"),b:BigInt("0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b"),Gx:BigInt("0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296"),Gy:BigInt("0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5")},Oh={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff"),n:BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973"),h:BigInt(1),a:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc"),b:BigInt("0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef"),Gx:BigInt("0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7"),Gy:BigInt("0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f")},Nh={p:BigInt("0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),n:BigInt("0x01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409"),h:BigInt(1),a:BigInt("0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc"),b:BigInt("0x0051953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f00"),Gx:BigInt("0x00c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66"),Gy:BigInt("0x011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650")},_h=du(Fh.p),Hh=du(Oh.p),zh=du(Nh.p),Gh=Lh({...Fh,Fp:_h,lowS:!1},$u),qh=Lh({...Oh,Fp:Hh,lowS:!1},rh),jh=Lh({...Nh,Fp:zh,lowS:!1,allowedPrivateKeyLengths:[130,131,132]},th),Vh=BigInt(0),Yh=BigInt(1),Zh=BigInt(2),Jh=BigInt(7),Xh=BigInt(256),Wh=BigInt(113),$h=[],el=[],tl=[];for(let e=0,t=Yh,r=1,n=0;e<24;e++){[r,n]=[n,(2*r+3*n)%5],$h.push(2*(5*n+r)),el.push((e+1)*(e+2)/2%64);let i=Vh;for(let e=0;e<7;e++)t=(t<<Yh^(t>>Jh)*Wh)%Xh,t&Zh&&(i^=Yh<<(Yh<</* @__PURE__ */BigInt(e))-Yh);tl.push(i)}const rl=Cu(tl,!0),nl=rl[0],il=rl[1],sl=(e,t,r)=>r>32?((e,t,r)=>t<<r-32|e>>>64-r)(e,t,r):((e,t,r)=>e<<r|t>>>32-r)(e,t,r),al=(e,t,r)=>r>32?((e,t,r)=>e<<r-32|t>>>64-r)(e,t,r):((e,t,r)=>t<<r|e>>>32-r)(e,t,r);let ol=class e extends Sc{constructor(e,t,r,n=!1,i=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=e,this.suffix=t,this.outputLen=r,this.enableXOF=n,this.rounds=i,rc(r),!(0<e&&e<200))throw Error("only keccak-f1600 function is supported");var s;this.state=new Uint8Array(200),this.state32=(s=this.state,new Uint32Array(s.buffer,s.byteOffset,Math.floor(s.byteLength/4)))}clone(){return this._cloneInto()}keccak(){lc(this.state32),function(e,t=24){const r=new Uint32Array(10);for(let n=24-t;n<24;n++){for(let t=0;t<10;t++)r[t]=e[t]^e[t+10]^e[t+20]^e[t+30]^e[t+40];for(let t=0;t<10;t+=2){const n=(t+8)%10,i=(t+2)%10,s=r[i],a=r[i+1],o=sl(s,a,1)^r[n],c=al(s,a,1)^r[n+1];for(let r=0;r<50;r+=10)e[t+r]^=o,e[t+r+1]^=c}let t=e[2],i=e[3];for(let r=0;r<24;r++){const n=el[r],s=sl(t,i,n),a=al(t,i,n),o=$h[r];t=e[o],i=e[o+1],e[o]=s,e[o+1]=a}for(let t=0;t<50;t+=10){for(let n=0;n<10;n++)r[n]=e[t+n];for(let n=0;n<10;n++)e[t+n]^=~r[(n+2)%10]&r[(n+4)%10]}e[0]^=nl[n],e[1]^=il[n]}oc(r)}(this.state32,this.rounds),lc(this.state32),this.posOut=0,this.pos=0}update(e){sc(this),nc(e=vc(e));const{blockLen:t,state:r}=this,n=e.length;for(let i=0;i<n;){const s=Math.min(t-this.pos,n-i);for(let t=0;t<s;t++)r[this.pos++]^=e[i++];this.pos===t&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:e,suffix:t,pos:r,blockLen:n}=this;e[r]^=t,128&t&&r===n-1&&this.keccak(),e[n-1]^=128,this.keccak()}writeInto(e){sc(this,!1),nc(e),this.finish();const t=this.state,{blockLen:r}=this;for(let n=0,i=e.length;n<i;){this.posOut>=r&&this.keccak();const s=Math.min(r-this.posOut,i-n);e.set(t.subarray(this.posOut,this.posOut+s),n),this.posOut+=s,n+=s}return e}xofInto(e){if(!this.enableXOF)throw Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return rc(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(ac(e,this),this.finished)throw Error("digest() was already called");return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,oc(this.state)}_cloneInto(t){const{blockLen:r,suffix:n,outputLen:i,rounds:s,enableXOF:a}=this;return t||(t=new e(r,n,i,a,s)),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=s,t.suffix=n,t.outputLen=i,t.enableXOF=a,t.destroyed=this.destroyed,t}};const cl=(e,t,r)=>Ic((()=>new ol(t,e,r))),ul=/* @__PURE__ */(()=>cl(6,136,32))(),hl=/* @__PURE__ */(()=>cl(6,72,64))(),ll=(e,t,r)=>function(e){const t=(t,r)=>e(r).update(vc(t)).digest(),r=e({});return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=t=>e(t),t}(((n={})=>new ol(t,e,void 0===n.dkLen?r:n.dkLen,!0))),fl=/* @__PURE__ */(()=>ll(31,136,32))(),yl=BigInt(0),pl=BigInt(1),dl=BigInt(2),gl=BigInt(8);function Al(e,t={}){const r=mh("edwards",e,t,t.FpFnLE),{Fp:n,Fn:i}=r;let s=r.CURVE;const{h:a}=s;qc(t,{},{uvRatio:"function"});const o=dl<<BigInt(8*i.BYTES)-pl,c=e=>n.create(e),u=t.uvRatio||((e,t)=>{try{return{isValid:!0,value:n.sqrt(n.div(e,t))}}catch(e){return{isValid:!1,value:yl}}});if(!function(e,t,r,n){const i=e.sqr(r),s=e.sqr(n),a=e.add(e.mul(t.a,i),s),o=e.add(e.ONE,e.mul(t.d,e.mul(i,s)));return e.eql(a,o)}(n,s,s.Gx,s.Gy))throw Error("bad curve params: generator point");function h(e,t,r=!1){return Hc("coordinate "+e,t,r?pl:yl,o),t}function l(e){if(!(e instanceof p))throw Error("ExtendedPoint expected")}const f=jc(((e,t)=>{const{X:r,Y:i,Z:s}=e,a=e.is0();null==t&&(t=a?gl:n.inv(s));const o=c(r*t),u=c(i*t),h=n.mul(s,t);if(a)return{x:yl,y:pl};if(h!==pl)throw Error("invZ was invalid");return{x:o,y:u}})),y=jc((e=>{const{a:t,d:r}=s;if(e.is0())throw Error("bad point: ZERO");const{X:n,Y:i,Z:a,T:o}=e,u=c(n*n),h=c(i*i),l=c(a*a),f=c(l*l),y=c(u*t);if(c(l*c(y+h))!==c(f+c(r*c(u*h))))throw Error("bad point: equation left != right (1)");if(c(n*i)!==c(a*o))throw Error("bad point: equation left != right (2)");return!0}));class p{constructor(e,t,r,n){this.X=h("x",e),this.Y=h("y",t),this.Z=h("z",r,!0),this.T=h("t",n),Object.freeze(this)}static CURVE(){return s}static fromAffine(e){if(e instanceof p)throw Error("extended point not allowed");const{x:t,y:r}=e||{};return h("x",t),h("y",r),new p(t,r,pl,c(t*r))}static fromBytes(e,t=!1){const r=n.BYTES,{a:i,d:a}=s;e=Nc(xc(e,r,"point")),Dc(t,"zip215");const h=Nc(e),l=e[r-1];h[r-1]=-129&l;const f=Mc(h),y=t?o:n.ORDER;Hc("point.y",f,yl,y);const d=c(f*f),g=c(d-pl),A=c(a*d-i);let{isValid:w,value:m}=u(g,A);if(!w)throw Error("bad point: invalid y coordinate");const b=(m&pl)===pl,k=!!(128&l);if(!t&&m===yl&&k)throw Error("bad point: x=0 and x_0=1");return k!==b&&(m=c(-m)),p.fromAffine({x:m,y:f})}static fromHex(e,t=!1){return p.fromBytes(Oc("point",e),t)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(e=8,t=!0){return d.createCache(this,e),t||this.multiply(dl),this}assertValidity(){y(this)}equals(e){l(e);const{X:t,Y:r,Z:n}=this,{X:i,Y:s,Z:a}=e,o=c(t*a),u=c(i*n),h=c(r*a),f=c(s*n);return o===u&&h===f}is0(){return this.equals(p.ZERO)}negate(){return new p(c(-this.X),this.Y,this.Z,c(-this.T))}double(){const{a:e}=s,{X:t,Y:r,Z:n}=this,i=c(t*t),a=c(r*r),o=c(dl*c(n*n)),u=c(e*i),h=t+r,l=c(c(h*h)-i-a),f=u+a,y=f-o,d=u-a,g=c(l*y),A=c(f*d),w=c(l*d),m=c(y*f);return new p(g,A,m,w)}add(e){l(e);const{a:t,d:r}=s,{X:n,Y:i,Z:a,T:o}=this,{X:u,Y:h,Z:f,T:y}=e,d=c(n*u),g=c(i*h),A=c(o*r*y),w=c(a*f),m=c((n+i)*(u+h)-d-g),b=w-A,k=w+A,E=c(g-t*d),v=c(m*b),K=c(k*E),S=c(m*E),I=c(b*k);return new p(v,K,I,S)}subtract(e){return this.add(e.negate())}multiply(e){if(!i.isValidNot0(e))throw Error("invalid scalar: expected 1 <= sc < curve.n");const{p:t,f:r}=d.cached(this,e,(e=>ch(p,e)));return ch(p,[t,r])[0]}multiplyUnsafe(e,t=p.ZERO){if(!i.isValid(e))throw Error("invalid scalar: expected 0 <= sc < curve.n");return e===yl?p.ZERO:this.is0()||e===pl?this:d.unsafe(this,e,(e=>ch(p,e)),t)}isSmallOrder(){return this.multiplyUnsafe(a).is0()}isTorsionFree(){return d.unsafe(this,s.n).is0()}toAffine(e){return f(this,e)}clearCofactor(){return a===pl?this:this.multiplyUnsafe(a)}toBytes(){const{x:e,y:t}=this.toAffine(),r=n.toBytes(t);return r[r.length-1]|=e&pl?128:0,r}toHex(){return pc(this.toBytes())}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get ex(){return this.X}get ey(){return this.Y}get ez(){return this.Z}get et(){return this.T}static normalizeZ(e){return ch(p,e)}static msm(e,t){return Ah(p,i,e,t)}_setWindowSize(e){this.precompute(e)}toRawBytes(){return this.toBytes()}}p.BASE=new p(s.Gx,s.Gy,pl,c(s.Gx*s.Gy)),p.ZERO=new p(yl,pl,pl,yl),p.Fp=n,p.Fn=i;const d=new gh(p,i.BITS);return p.BASE.precompute(8),p}function wl(e,t,r={}){if("function"!=typeof t)throw Error('"hash" function param is required');qc(r,{},{adjustScalarBytes:"function",randomBytes:"function",domain:"function",prehash:"function",mapToCurve:"function"});const{prehash:n}=r,{BASE:i,Fp:s,Fn:a}=e,o=r.randomBytes||Cc,c=r.adjustScalarBytes||(e=>e),u=r.domain||((e,t,r)=>{if(Dc(r,"phflag"),t.length||r)throw Error("Contexts/pre-hash are not supported");return e});function h(e){return a.create(Mc(e))}function l(e){const{head:r,prefix:n,scalar:s}=function(e){const r=g.secretKey;e=Oc("private key",e,r);const n=Oc("hashed private key",t(e),2*r),i=c(n.slice(0,r));return{head:i,prefix:n.slice(r,2*r),scalar:h(i)}}(e),a=i.multiply(s),o=a.toBytes();return{head:r,prefix:n,scalar:s,point:a,pointBytes:o}}function f(e){return l(e).pointBytes}function y(e=Uint8Array.of(),...r){const i=Kc(...r);return h(t(u(i,Oc("context",e),!!n)))}const p={zip215:!0};const d=s.BYTES,g={secretKey:d,publicKey:d,signature:2*d,seed:d};function A(e=o(g.seed)){return xc(e,g.seed,"seed")}const w={getExtendedPublicKey:l,randomSecretKey:A,isValidSecretKey:function(e){return tc(e)&&e.length===a.BYTES},isValidPublicKey:function(t,r){try{return!!e.fromBytes(t,r)}catch(e){return!1}},toMontgomery(t){const{y:r}=e.fromBytes(t),n=g.publicKey,i=32===n;if(!i&&57!==n)throw Error("only defined for 25519 and 448");const a=i?s.div(pl+r,pl-r):s.div(r-pl,r+pl);return s.toBytes(a)},toMontgomeryPriv(e){const r=g.secretKey;xc(e,r);const n=t(e.subarray(0,r));return c(n).subarray(0,r)},randomPrivateKey:A,precompute:(t=8,r=e.BASE)=>r.precompute(t,!1)};return Object.freeze({keygen:function(e){const t=w.randomSecretKey(e);return{secretKey:t,publicKey:f(t)}},getPublicKey:f,sign:function(e,t,r={}){e=Oc("message",e),n&&(e=n(e));const{prefix:s,scalar:o,pointBytes:c}=l(t),u=y(r.context,s,e),h=i.multiply(u).toBytes(),f=y(r.context,h,c,e),p=a.create(u+f*o);if(!a.isValid(p))throw Error("sign failed: invalid s");return xc(Kc(h,a.toBytes(p)),g.signature,"result")},verify:function(t,r,s,a=p){const{context:o,zip215:c}=a,u=g.signature;t=Oc("signature",t,u),r=Oc("message",r),s=Oc("publicKey",s,g.publicKey),void 0!==c&&Dc(c,"zip215"),n&&(r=n(r));const h=u/2,l=t.subarray(0,h),f=Mc(t.subarray(h,u));let d,A,w;try{d=e.fromBytes(s,c),A=e.fromBytes(l,c),w=i.multiplyUnsafe(f)}catch(e){return!1}if(!c&&d.isSmallOrder())return!1;const m=y(o,A.toBytes(),d.toBytes(),r);return A.add(d.multiplyUnsafe(m)).subtract(w).clearCofactor().is0()},utils:w,Point:e,lengths:g})}
8
11
  /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
9
- const nl=BigInt(0),il=BigInt(1);function sl(e,t){const r=t.negate();return e?r:t}function al(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw Error("invalid window size, expected [1.."+t+"], got W="+e)}function ol(e,t){al(e,t);return{windows:Math.ceil(t/e)+1,windowSize:2**(e-1)}}const cl=new WeakMap,ul=new WeakMap;function hl(e){return ul.get(e)||1}function ll(e,t){return{constTimeNegate:sl,hasPrecomputes:e=>1!==hl(e),unsafeLadder(t,r,n=e.ZERO){let i=t;for(;r>nl;)r&il&&(n=n.add(i)),i=i.double(),r>>=il;return n},precomputeWindow(e,r){const{windows:n,windowSize:i}=ol(r,t),s=[];let a=e,o=a;for(let e=0;e<n;e++){o=a,s.push(o);for(let e=1;e<i;e++)o=o.add(a),s.push(o);a=o.double()}return s},wNAF(r,n,i){const{windows:s,windowSize:a}=ol(r,t);let o=e.ZERO,c=e.BASE;const u=BigInt(2**r-1),h=2**r,l=BigInt(r);for(let e=0;e<s;e++){const t=e*a;let r=Number(i&u);i>>=l,r>a&&(r-=h,i+=il);const s=t,y=t+Math.abs(r)-1,f=e%2!=0,p=r<0;0===r?c=c.add(sl(f,n[s])):o=o.add(sl(p,n[y]))}return{p:o,f:c}},wNAFUnsafe(r,n,i,s=e.ZERO){const{windows:a,windowSize:o}=ol(r,t),c=BigInt(2**r-1),u=2**r,h=BigInt(r);for(let e=0;e<a;e++){const t=e*o;if(i===nl)break;let r=Number(i&c);if(i>>=h,r>o&&(r-=u,i+=il),0===r)continue;let a=n[t+Math.abs(r)-1];r<0&&(a=a.negate()),s=s.add(a)}return s},getPrecomputes(e,t,r){let n=cl.get(t);return n||(n=this.precomputeWindow(t,e),1!==e&&cl.set(t,r(n))),n},wNAFCached(e,t,r){const n=hl(e);return this.wNAF(n,this.getPrecomputes(n,e,r),t)},wNAFCachedUnsafe(e,t,r,n){const i=hl(e);return 1===i?this.unsafeLadder(e,t,n):this.wNAFUnsafe(i,this.getPrecomputes(i,e,r),t,n)},setWindowSize(e,r){al(r,t),ul.set(e,r),cl.delete(e)}}}function yl(e,t,r,n){if(function(e,t){if(!Array.isArray(e))throw Error("array expected");e.forEach(((e,r)=>{if(!(e instanceof t))throw Error("invalid point at index "+r)}))}(r,e),function(e,t){if(!Array.isArray(e))throw Error("array of scalars expected");e.forEach(((e,r)=>{if(!t.isValid(e))throw Error("invalid scalar at index "+r)}))}(n,t),r.length!==n.length)throw Error("arrays of points and scalars must have equal length");const i=e.ZERO,s=Dh(BigInt(r.length)),a=s>12?s-3:s>4?s-2:s?2:1,o=(1<<a)-1,c=Array(o+1).fill(i);let u=i;for(let e=Math.floor((t.BITS-1)/a)*a;e>=0;e-=a){c.fill(i);for(let t=0;t<n.length;t++){const i=n[t],s=Number(i>>BigInt(e)&BigInt(o));c[s]=c[s].add(r[t])}let t=i;for(let e=c.length-1,r=i;e>0;e--)r=r.add(c[e]),t=t.add(r);if(u=u.add(t),0!==e)for(let e=0;e<a;e++)u=u.double()}return u}function fl(e){return Lh(e.Fp,Xh.reduce(((e,t)=>(e[t]="function",e)),{ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"})),Lh(e,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...$h(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}
10
- /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function pl(e){void 0!==e.lowS&&ph("lowS",e.lowS),void 0!==e.prehash&&ph("prehash",e.prehash)}const{bytesToNumberBE:gl,hexToBytes:dl}=Fh,Al={Err:class extends Error{constructor(e=""){super(e)}},_tlv:{encode:(e,t)=>{const{Err:r}=Al;if(e<0||e>256)throw new r("tlv.encode: wrong tag");if(1&t.length)throw new r("tlv.encode: unpadded data");const n=t.length/2,i=Ah(n);if(i.length/2&128)throw new r("tlv.encode: long form length too big");const s=n>127?Ah(i.length/2|128):"";return Ah(e)+s+i+t},decode(e,t){const{Err:r}=Al;let n=0;if(e<0||e>256)throw new r("tlv.encode: wrong tag");if(t.length<2||t[n++]!==e)throw new r("tlv.decode: wrong tlv");const i=t[n++];let s=0;if(!!(128&i)){const e=127&i;if(!e)throw new r("tlv.decode(long): indefinite length not supported");if(e>4)throw new r("tlv.decode(long): byte length is too big");const a=t.subarray(n,n+e);if(a.length!==e)throw new r("tlv.decode: length bytes not complete");if(0===a[0])throw new r("tlv.decode(long): zero leftmost byte");for(const e of a)s=s<<8|e;if(n+=e,s<128)throw new r("tlv.decode(long): not minimal encoding")}else s=i;const a=t.subarray(n,n+s);if(a.length!==s)throw new r("tlv.decode: wrong value length");return{v:a,l:t.subarray(n+s)}}},_int:{encode(e){const{Err:t}=Al;if(e<wl)throw new t("integer: negative integers are not allowed");let r=Ah(e);if(8&Number.parseInt(r[0],16)&&(r="00"+r),1&r.length)throw new t("unexpected DER parsing assertion: unpadded hex");return r},decode(e){const{Err:t}=Al;if(128&e[0])throw new t("invalid signature integer: negative");if(0===e[0]&&!(128&e[1]))throw new t("invalid signature integer: unnecessary leading zero");return gl(e)}},toSig(e){const{Err:t,_int:r,_tlv:n}=Al,i="string"==typeof e?dl(e):e;fh(i);const{v:s,l:a}=n.decode(48,i);if(a.length)throw new t("invalid signature: left bytes after parsing");const{v:o,l:c}=n.decode(2,s),{v:u,l:h}=n.decode(2,c);if(h.length)throw new t("invalid signature: left bytes after parsing");return{r:r.decode(o),s:r.decode(u)}},hexFromSig(e){const{_tlv:t,_int:r}=Al,n=t.encode(2,r.encode(e.r))+t.encode(2,r.encode(e.s));return t.encode(48,n)}},wl=BigInt(0),ml=BigInt(1);BigInt(2);const bl=BigInt(3);function kl(e){const t=function(e){const t=fl(e);Lh(t,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});const{endo:r,Fp:n,a:i}=t;if(r){if(!n.eql(i,n.ZERO))throw Error("invalid endomorphism, can only be defined for Koblitz curves that have a=0");if("object"!=typeof r||"bigint"!=typeof r.beta||"function"!=typeof r.splitScalar)throw Error("invalid endomorphism, expected beta: bigint and splitScalar: function")}return Object.freeze({...t})}(e),{Fp:r}=t,n=el(t.n,t.nBitLength),i=t.toBytes||((e,t,n)=>{const i=t.toAffine();return Kh(Uint8Array.from([4]),r.toBytes(i.x),r.toBytes(i.y))}),s=t.fromBytes||(e=>{const t=e.subarray(1);return{x:r.fromBytes(t.subarray(0,r.BYTES)),y:r.fromBytes(t.subarray(r.BYTES,2*r.BYTES))}});function a(e){const{a:n,b:i}=t,s=r.sqr(e),a=r.mul(s,e);return r.add(r.add(a,r.mul(e,n)),i)}if(!r.eql(r.sqr(t.Gy),a(t.Gx)))throw Error("bad generator point: equation left != right");function o(e){const{allowedPrivateKeyLengths:r,nByteLength:n,wrapPrivateKey:i,n:s}=t;if(r&&"bigint"!=typeof e){if(yh(e)&&(e=dh(e)),"string"!=typeof e||!r.includes(e.length))throw Error("invalid private key");e=e.padStart(2*n,"0")}let a;try{a="bigint"==typeof e?e:Eh(Ih("private key",e,n))}catch(t){throw Error("invalid private key, expected hex or "+n+" bytes, got "+typeof e)}return i&&(a=Vh(a,s)),Ph("private key",a,ml,s),a}function c(e){if(!(e instanceof l))throw Error("ProjectivePoint expected")}const u=Nh(((e,t)=>{const{px:n,py:i,pz:s}=e;if(r.eql(s,r.ONE))return{x:n,y:i};const a=e.is0();null==t&&(t=a?r.ONE:r.inv(s));const o=r.mul(n,t),c=r.mul(i,t),u=r.mul(s,t);if(a)return{x:r.ZERO,y:r.ZERO};if(!r.eql(u,r.ONE))throw Error("invZ was invalid");return{x:o,y:c}})),h=Nh((e=>{if(e.is0()){if(t.allowInfinityPoint&&!r.is0(e.py))return;throw Error("bad point: ZERO")}const{x:n,y:i}=e.toAffine();if(!r.isValid(n)||!r.isValid(i))throw Error("bad point: x or y not FE");const s=r.sqr(i),o=a(n);if(!r.eql(s,o))throw Error("bad point: equation left != right");if(!e.isTorsionFree())throw Error("bad point: not in prime-order subgroup");return!0}));class l{constructor(e,t,n){if(this.px=e,this.py=t,this.pz=n,null==e||!r.isValid(e))throw Error("x required");if(null==t||!r.isValid(t))throw Error("y required");if(null==n||!r.isValid(n))throw Error("z required");Object.freeze(this)}static fromAffine(e){const{x:t,y:n}=e||{};if(!e||!r.isValid(t)||!r.isValid(n))throw Error("invalid affine point");if(e instanceof l)throw Error("projective point not allowed");const i=e=>r.eql(e,r.ZERO);return i(t)&&i(n)?l.ZERO:new l(t,n,r.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(e){const t=r.invertBatch(e.map((e=>e.pz)));return e.map(((e,r)=>e.toAffine(t[r]))).map(l.fromAffine)}static fromHex(e){const t=l.fromAffine(s(Ih("pointHex",e)));return t.assertValidity(),t}static fromPrivateKey(e){return l.BASE.multiply(o(e))}static msm(e,t){return yl(l,n,e,t)}_setWindowSize(e){f.setWindowSize(this,e)}assertValidity(){h(this)}hasEvenY(){const{y:e}=this.toAffine();if(r.isOdd)return!r.isOdd(e);throw Error("Field doesn't support isOdd")}equals(e){c(e);const{px:t,py:n,pz:i}=this,{px:s,py:a,pz:o}=e,u=r.eql(r.mul(t,o),r.mul(s,i)),h=r.eql(r.mul(n,o),r.mul(a,i));return u&&h}negate(){return new l(this.px,r.neg(this.py),this.pz)}double(){const{a:e,b:n}=t,i=r.mul(n,bl),{px:s,py:a,pz:o}=this;let c=r.ZERO,u=r.ZERO,h=r.ZERO,y=r.mul(s,s),f=r.mul(a,a),p=r.mul(o,o),g=r.mul(s,a);return g=r.add(g,g),h=r.mul(s,o),h=r.add(h,h),c=r.mul(e,h),u=r.mul(i,p),u=r.add(c,u),c=r.sub(f,u),u=r.add(f,u),u=r.mul(c,u),c=r.mul(g,c),h=r.mul(i,h),p=r.mul(e,p),g=r.sub(y,p),g=r.mul(e,g),g=r.add(g,h),h=r.add(y,y),y=r.add(h,y),y=r.add(y,p),y=r.mul(y,g),u=r.add(u,y),p=r.mul(a,o),p=r.add(p,p),y=r.mul(p,g),c=r.sub(c,y),h=r.mul(p,f),h=r.add(h,h),h=r.add(h,h),new l(c,u,h)}add(e){c(e);const{px:n,py:i,pz:s}=this,{px:a,py:o,pz:u}=e;let h=r.ZERO,y=r.ZERO,f=r.ZERO;const p=t.a,g=r.mul(t.b,bl);let d=r.mul(n,a),A=r.mul(i,o),w=r.mul(s,u),m=r.add(n,i),b=r.add(a,o);m=r.mul(m,b),b=r.add(d,A),m=r.sub(m,b),b=r.add(n,s);let k=r.add(a,u);return b=r.mul(b,k),k=r.add(d,w),b=r.sub(b,k),k=r.add(i,s),h=r.add(o,u),k=r.mul(k,h),h=r.add(A,w),k=r.sub(k,h),f=r.mul(p,b),h=r.mul(g,w),f=r.add(h,f),h=r.sub(A,f),f=r.add(A,f),y=r.mul(h,f),A=r.add(d,d),A=r.add(A,d),w=r.mul(p,w),b=r.mul(g,b),A=r.add(A,w),w=r.sub(d,w),w=r.mul(p,w),b=r.add(b,w),d=r.mul(A,b),y=r.add(y,d),d=r.mul(k,b),h=r.mul(m,h),h=r.sub(h,d),d=r.mul(m,A),f=r.mul(k,f),f=r.add(f,d),new l(h,y,f)}subtract(e){return this.add(e.negate())}is0(){return this.equals(l.ZERO)}wNAF(e){return f.wNAFCached(this,e,l.normalizeZ)}multiplyUnsafe(e){const{endo:n,n:i}=t;Ph("scalar",e,wl,i);const s=l.ZERO;if(e===wl)return s;if(this.is0()||e===ml)return this;if(!n||f.hasPrecomputes(this))return f.wNAFCachedUnsafe(this,e,l.normalizeZ);let{k1neg:a,k1:o,k2neg:c,k2:u}=n.splitScalar(e),h=s,y=s,p=this;for(;o>wl||u>wl;)o&ml&&(h=h.add(p)),u&ml&&(y=y.add(p)),p=p.double(),o>>=ml,u>>=ml;return a&&(h=h.negate()),c&&(y=y.negate()),y=new l(r.mul(y.px,n.beta),y.py,y.pz),h.add(y)}multiply(e){const{endo:n,n:i}=t;let s,a;if(Ph("scalar",e,ml,i),n){const{k1neg:t,k1:i,k2neg:o,k2:c}=n.splitScalar(e);let{p:u,f:h}=this.wNAF(i),{p:y,f:p}=this.wNAF(c);u=f.constTimeNegate(t,u),y=f.constTimeNegate(o,y),y=new l(r.mul(y.px,n.beta),y.py,y.pz),s=u.add(y),a=h.add(p)}else{const{p:t,f:r}=this.wNAF(e);s=t,a=r}return l.normalizeZ([s,a])[0]}multiplyAndAddUnsafe(e,t,r){const n=l.BASE,i=(e,t)=>t!==wl&&t!==ml&&e.equals(n)?e.multiply(t):e.multiplyUnsafe(t),s=i(this,t).add(i(e,r));return s.is0()?void 0:s}toAffine(e){return u(this,e)}isTorsionFree(){const{h:e,isTorsionFree:r}=t;if(e===ml)return!0;if(r)return r(l,this);throw Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){const{h:e,clearCofactor:r}=t;return e===ml?this:r?r(l,this):this.multiplyUnsafe(t.h)}toRawBytes(e=!0){return ph("isCompressed",e),this.assertValidity(),i(l,this,e)}toHex(e=!0){return ph("isCompressed",e),dh(this.toRawBytes(e))}}l.BASE=new l(t.Gx,t.Gy,r.ONE),l.ZERO=new l(r.ZERO,r.ONE,r.ZERO);const y=t.nBitLength,f=ll(l,t.endo?Math.ceil(y/2):y);return{CURVE:t,ProjectivePoint:l,normPrivateKeyToScalar:o,weierstrassEquation:a,isWithinCurveOrder:function(e){return Uh(e,ml,t.n)}}}function El(e){const t=function(e){const t=fl(e);return Lh(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}(e),{Fp:r,n}=t,i=r.BYTES+1,s=2*r.BYTES+1;function a(e){return Vh(e,n)}function o(e){return Wh(e,n)}const{ProjectivePoint:c,normPrivateKeyToScalar:u,weierstrassEquation:h,isWithinCurveOrder:l}=kl({...t,toBytes(e,t,n){const i=t.toAffine(),s=r.toBytes(i.x),a=Kh;return ph("isCompressed",n),n?a(Uint8Array.from([t.hasEvenY()?2:3]),s):a(Uint8Array.from([4]),s,r.toBytes(i.y))},fromBytes(e){const t=e.length,n=e[0],a=e.subarray(1);if(t!==i||2!==n&&3!==n){if(t===s&&4===n){return{x:r.fromBytes(a.subarray(0,r.BYTES)),y:r.fromBytes(a.subarray(r.BYTES,2*r.BYTES))}}throw Error("invalid Point, expected length of "+i+", or uncompressed "+s+", got "+t)}{const e=Eh(a);if(!Uh(e,ml,r.ORDER))throw Error("Point is not on curve");const t=h(e);let i;try{i=r.sqrt(t)}catch(e){const t=e instanceof Error?": "+e.message:"";throw Error("Point is not on curve"+t)}return!(1&~n)!==((i&ml)===ml)&&(i=r.neg(i)),{x:e,y:i}}}}),y=e=>dh(Bh(e,t.nByteLength));function f(e){return e>n>>ml}const p=(e,t,r)=>Eh(e.slice(t,r));class g{constructor(e,t,r){this.r=e,this.s=t,this.recovery=r,this.assertValidity()}static fromCompact(e){const r=t.nByteLength;return e=Ih("compactSignature",e,2*r),new g(p(e,0,r),p(e,r,2*r))}static fromDER(e){const{r:t,s:r}=Al.toSig(Ih("DER",e));return new g(t,r)}assertValidity(){Ph("r",this.r,ml,n),Ph("s",this.s,ml,n)}addRecoveryBit(e){return new g(this.r,this.s,e)}recoverPublicKey(e){const{r:n,s:i,recovery:s}=this,u=m(Ih("msgHash",e));if(null==s||![0,1,2,3].includes(s))throw Error("recovery id invalid");const h=2===s||3===s?n+t.n:n;if(h>=r.ORDER)throw Error("recovery id 2 or 3 invalid");const l=1&s?"03":"02",f=c.fromHex(l+y(h)),p=o(h),g=a(-u*p),d=a(i*p),A=c.BASE.multiplyAndAddUnsafe(f,g,d);if(!A)throw Error("point at infinify");return A.assertValidity(),A}hasHighS(){return f(this.s)}normalizeS(){return this.hasHighS()?new g(this.r,a(-this.s),this.recovery):this}toDERRawBytes(){return kh(this.toDERHex())}toDERHex(){return Al.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return kh(this.toCompactHex())}toCompactHex(){return y(this.r)+y(this.s)}}const d={isValidPrivateKey(e){try{return u(e),!0}catch(e){return!1}},normPrivateKeyToScalar:u,randomPrivateKey:()=>{const e=rl(t.n);return function(e,t,r=!1){const n=e.length,i=tl(t),s=rl(t);if(n<16||n<s||n>1024)throw Error("expected "+s+"-1024 bytes of input, got "+n);const a=Vh(r?Eh(e):vh(e),t-Hh)+Hh;return r?Sh(a,i):Bh(a,i)}(t.randomBytes(e),t.n)},precompute:(e=8,t=c.BASE)=>(t._setWindowSize(e),t.multiply(BigInt(3)),t)};function A(e){const t=yh(e),r="string"==typeof e,n=(t||r)&&e.length;return t?n===i||n===s:r?n===2*i||n===2*s:e instanceof c}const w=t.bits2int||function(e){if(e.length>8192)throw Error("input is too large");const r=Eh(e),n=8*e.length-t.nBitLength;return n>0?r>>BigInt(n):r},m=t.bits2int_modN||function(e){return a(w(e))},b=xh(t.nBitLength);function k(e){return Ph("num < 2^"+t.nBitLength,e,wl,b),Bh(e,t.nByteLength)}function E(e,n,i=v){if(["recovered","canonical"].some((e=>e in i)))throw Error("sign() legacy options not supported");const{hash:s,randomBytes:h}=t;let{lowS:y,prehash:p,extraEntropy:d}=i;null==y&&(y=!0),e=Ih("msgHash",e),pl(i),p&&(e=Ih("prehashed msgHash",s(e)));const A=m(e),b=u(n),E=[k(b),k(A)];if(null!=d&&!1!==d){const e=!0===d?h(r.BYTES):d;E.push(Ih("extraEntropy",e))}const B=Kh(...E),S=A;return{seed:B,k2sig:function(e){const t=w(e);if(!l(t))return;const r=o(t),n=c.BASE.multiply(t).toAffine(),i=a(n.x);if(i===wl)return;const s=a(r*a(S+i*b));if(s===wl)return;let u=(n.x===i?0:2)|Number(n.y&ml),h=s;return y&&f(s)&&(h=function(e){return f(e)?a(-e):e}(s),u^=1),new g(i,h,u)}}}const v={lowS:t.lowS,prehash:!1},B={lowS:t.lowS,prehash:!1};return c.BASE._setWindowSize(8),{CURVE:t,getPublicKey:function(e,t=!0){return c.fromPrivateKey(e).toRawBytes(t)},getSharedSecret:function(e,t,r=!0){if(A(e))throw Error("first arg must be private key");if(!A(t))throw Error("second arg must be public key");return c.fromHex(t).multiply(u(e)).toRawBytes(r)},sign:function(e,r,n=v){const{seed:i,k2sig:s}=E(e,r,n),a=t;return Th(a.hash.outputLen,a.nByteLength,a.hmac)(i,s)},verify:function(e,r,n,i=B){const s=e;r=Ih("msgHash",r),n=Ih("publicKey",n);const{lowS:u,prehash:h,format:l}=i;if(pl(i),"strict"in i)throw Error("options.strict was renamed to lowS");if(void 0!==l&&"compact"!==l&&"der"!==l)throw Error("format must be compact or der");const y="string"==typeof s||yh(s),f=!y&&!l&&"object"==typeof s&&null!==s&&"bigint"==typeof s.r&&"bigint"==typeof s.s;if(!y&&!f)throw Error("invalid signature, expected Uint8Array, hex string or Signature instance");let p,d;try{if(f&&(p=new g(s.r,s.s)),y){try{"compact"!==l&&(p=g.fromDER(s))}catch(e){if(!(e instanceof Al.Err))throw e}p||"der"===l||(p=g.fromCompact(s))}d=c.fromHex(n)}catch(e){return!1}if(!p)return!1;if(u&&p.hasHighS())return!1;h&&(r=t.hash(r));const{r:A,s:w}=p,b=m(r),k=o(w),E=a(b*k),v=a(A*k),S=c.BASE.multiplyAndAddUnsafe(d,E,v)?.toAffine();return!!S&&a(S.x)===A},ProjectivePoint:c,Signature:g,utils:d}}
11
- /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function vl(e){return{hash:e,hmac:(t,...r)=>ch(e,t,Vu(...r)),randomBytes:Wu}}function Bl(e,t){const r=t=>El({...e,...vl(t)});return Object.freeze({...r(t),create:r})}
12
- /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */BigInt(4);const Sl=el(BigInt("0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff")),Il=Bl({a:Sl.create(BigInt("-3")),b:BigInt("0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b"),Fp:Sl,n:BigInt("0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551"),Gx:BigInt("0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296"),Gy:BigInt("0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5"),h:BigInt(1),lowS:!1},sh),Kl=/* @__PURE__ */BigInt(2**32-1),Cl=/* @__PURE__ */BigInt(32);function Ul(e,t=!1){return t?{h:Number(e&Kl),l:Number(e>>Cl&Kl)}:{h:0|Number(e>>Cl&Kl),l:0|Number(e&Kl)}}function Pl(e,t=!1){let r=new Uint32Array(e.length),n=new Uint32Array(e.length);for(let i=0;i<e.length;i++){const{h:s,l:a}=Ul(e[i],t);[r[i],n[i]]=[s,a]}return[r,n]}const Dl=(e,t,r)=>e<<r|t>>>32-r,xl=(e,t,r)=>t<<r|e>>>32-r,Ql=(e,t,r)=>t<<r-32|e>>>64-r,Rl=(e,t,r)=>e<<r-32|t>>>64-r;const Tl={fromBig:Ul,split:Pl,toBig:(e,t)=>BigInt(e>>>0)<<Cl|BigInt(t>>>0),shrSH:(e,t,r)=>e>>>r,shrSL:(e,t,r)=>e<<32-r|t>>>r,rotrSH:(e,t,r)=>e>>>r|t<<32-r,rotrSL:(e,t,r)=>e<<32-r|t>>>r,rotrBH:(e,t,r)=>e<<64-r|t>>>r-32,rotrBL:(e,t,r)=>e>>>r-32|t<<64-r,rotr32H:(e,t)=>t,rotr32L:(e,t)=>e,rotlSH:Dl,rotlSL:xl,rotlBH:Ql,rotlBL:Rl,add:function(e,t,r,n){const i=(t>>>0)+(n>>>0);return{h:e+r+(i/2**32|0)|0,l:0|i}},add3L:(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),add3H:(e,t,r,n)=>t+r+n+(e/2**32|0)|0,add4L:(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),add4H:(e,t,r,n,i)=>t+r+n+i+(e/2**32|0)|0,add5H:(e,t,r,n,i,s)=>t+r+n+i+s+(e/2**32|0)|0,add5L:(e,t,r,n,i)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(i>>>0)},[Ml,Ll]=/* @__PURE__ */(()=>Tl.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map((e=>BigInt(e)))))(),Nl=/* @__PURE__ */new Uint32Array(80),Fl=/* @__PURE__ */new Uint32Array(80);class Ol extends $u{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){const{Ah:e,Al:t,Bh:r,Bl:n,Ch:i,Cl:s,Dh:a,Dl:o,Eh:c,El:u,Fh:h,Fl:l,Gh:y,Gl:f,Hh:p,Hl:g}=this;return[e,t,r,n,i,s,a,o,c,u,h,l,y,f,p,g]}set(e,t,r,n,i,s,a,o,c,u,h,l,y,f,p,g){this.Ah=0|e,this.Al=0|t,this.Bh=0|r,this.Bl=0|n,this.Ch=0|i,this.Cl=0|s,this.Dh=0|a,this.Dl=0|o,this.Eh=0|c,this.El=0|u,this.Fh=0|h,this.Fl=0|l,this.Gh=0|y,this.Gl=0|f,this.Hh=0|p,this.Hl=0|g}process(e,t){for(let r=0;r<16;r++,t+=4)Nl[r]=e.getUint32(t),Fl[r]=e.getUint32(t+=4);for(let e=16;e<80;e++){const t=0|Nl[e-15],r=0|Fl[e-15],n=Tl.rotrSH(t,r,1)^Tl.rotrSH(t,r,8)^Tl.shrSH(t,r,7),i=Tl.rotrSL(t,r,1)^Tl.rotrSL(t,r,8)^Tl.shrSL(t,r,7),s=0|Nl[e-2],a=0|Fl[e-2],o=Tl.rotrSH(s,a,19)^Tl.rotrBH(s,a,61)^Tl.shrSH(s,a,6),c=Tl.rotrSL(s,a,19)^Tl.rotrBL(s,a,61)^Tl.shrSL(s,a,6),u=Tl.add4L(i,c,Fl[e-7],Fl[e-16]),h=Tl.add4H(u,n,o,Nl[e-7],Nl[e-16]);Nl[e]=0|h,Fl[e]=0|u}let{Ah:r,Al:n,Bh:i,Bl:s,Ch:a,Cl:o,Dh:c,Dl:u,Eh:h,El:l,Fh:y,Fl:f,Gh:p,Gl:g,Hh:d,Hl:A}=this;for(let e=0;e<80;e++){const t=Tl.rotrSH(h,l,14)^Tl.rotrSH(h,l,18)^Tl.rotrBH(h,l,41),w=Tl.rotrSL(h,l,14)^Tl.rotrSL(h,l,18)^Tl.rotrBL(h,l,41),m=h&y^~h&p,b=l&f^~l&g,k=Tl.add5L(A,w,b,Ll[e],Fl[e]),E=Tl.add5H(k,d,t,m,Ml[e],Nl[e]),v=0|k,B=Tl.rotrSH(r,n,28)^Tl.rotrBH(r,n,34)^Tl.rotrBH(r,n,39),S=Tl.rotrSL(r,n,28)^Tl.rotrBL(r,n,34)^Tl.rotrBL(r,n,39),I=r&i^r&a^i&a,K=n&s^n&o^s&o;d=0|p,A=0|g,p=0|y,g=0|f,y=0|h,f=0|l,({h,l}=Tl.add(0|c,0|u,0|E,0|v)),c=0|a,u=0|o,a=0|i,o=0|s,i=0|r,s=0|n;const C=Tl.add3L(v,S,K);r=Tl.add3H(C,E,B,I),n=0|C}({h:r,l:n}=Tl.add(0|this.Ah,0|this.Al,0|r,0|n)),({h:i,l:s}=Tl.add(0|this.Bh,0|this.Bl,0|i,0|s)),({h:a,l:o}=Tl.add(0|this.Ch,0|this.Cl,0|a,0|o)),({h:c,l:u}=Tl.add(0|this.Dh,0|this.Dl,0|c,0|u)),({h,l}=Tl.add(0|this.Eh,0|this.El,0|h,0|l)),({h:y,l:f}=Tl.add(0|this.Fh,0|this.Fl,0|y,0|f)),({h:p,l:g}=Tl.add(0|this.Gh,0|this.Gl,0|p,0|g)),({h:d,l:A}=Tl.add(0|this.Hh,0|this.Hl,0|d,0|A)),this.set(r,n,i,s,a,o,c,u,h,l,y,f,p,g,d,A)}roundClean(){Nl.fill(0),Fl.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}class Hl extends Ol{constructor(){super(),this.Ah=-876896931,this.Al=-1056596264,this.Bh=1654270250,this.Bl=914150663,this.Ch=-1856437926,this.Cl=812702999,this.Dh=355462360,this.Dl=-150054599,this.Eh=1731405415,this.El=-4191439,this.Fh=-1900787065,this.Fl=1750603025,this.Gh=-619958771,this.Gl=1694076839,this.Hh=1203062813,this.Hl=-1090891868,this.outputLen=48}}const _l=/* @__PURE__ */Zu((()=>new Ol)),zl=/* @__PURE__ */Zu((()=>new Hl)),Gl=el(BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff")),ql=Bl({a:Gl.create(BigInt("-3")),b:BigInt("0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef"),Fp:Gl,n:BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973"),Gx:BigInt("0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7"),Gy:BigInt("0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f"),h:BigInt(1),lowS:!1},zl),jl=el(BigInt("0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff")),Vl={a:jl.create(BigInt("-3")),b:BigInt("0x0051953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f00"),Fp:jl,n:BigInt("0x01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409"),Gx:BigInt("0x00c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66"),Gy:BigInt("0x011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650"),h:BigInt(1)},Yl=Bl({a:Vl.a,b:Vl.b,Fp:jl,n:Vl.n,Gx:Vl.Gx,Gy:Vl.Gy,h:Vl.h,lowS:!1,allowedPrivateKeyLengths:[130,131,132]},_l),Zl=[],Wl=[],Jl=[],Xl=/* @__PURE__ */BigInt(0),$l=/* @__PURE__ */BigInt(1),ey=/* @__PURE__ */BigInt(2),ty=/* @__PURE__ */BigInt(7),ry=/* @__PURE__ */BigInt(256),ny=/* @__PURE__ */BigInt(113);for(let e=0,t=$l,r=1,n=0;e<24;e++){[r,n]=[n,(2*r+3*n)%5],Zl.push(2*(5*n+r)),Wl.push((e+1)*(e+2)/2%64);let i=Xl;for(let e=0;e<7;e++)t=(t<<$l^(t>>ty)*ny)%ry,t&ey&&(i^=$l<<($l<</* @__PURE__ */BigInt(e))-$l);Jl.push(i)}const[iy,sy]=/* @__PURE__ */Pl(Jl,!0),ay=(e,t,r)=>r>32?Ql(e,t,r):Dl(e,t,r),oy=(e,t,r)=>r>32?Rl(e,t,r):xl(e,t,r);class cy extends Yu{constructor(e,t,r,n=!1,i=24){if(super(),this.blockLen=e,this.suffix=t,this.outputLen=r,this.enableXOF=n,this.rounds=i,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,Ru(r),0>=this.blockLen||this.blockLen>=200)throw Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=Fu(this.state)}keccak(){zu||Gu(this.state32),function(e,t=24){const r=new Uint32Array(10);for(let n=24-t;n<24;n++){for(let t=0;t<10;t++)r[t]=e[t]^e[t+10]^e[t+20]^e[t+30]^e[t+40];for(let t=0;t<10;t+=2){const n=(t+8)%10,i=(t+2)%10,s=r[i],a=r[i+1],o=ay(s,a,1)^r[n],c=oy(s,a,1)^r[n+1];for(let r=0;r<50;r+=10)e[t+r]^=o,e[t+r+1]^=c}let t=e[2],i=e[3];for(let r=0;r<24;r++){const n=Wl[r],s=ay(t,i,n),a=oy(t,i,n),o=Zl[r];t=e[o],i=e[o+1],e[o]=s,e[o+1]=a}for(let t=0;t<50;t+=10){for(let n=0;n<10;n++)r[n]=e[t+n];for(let n=0;n<10;n++)e[t+n]^=~r[(n+2)%10]&r[(n+4)%10]}e[0]^=iy[n],e[1]^=sy[n]}r.fill(0)}(this.state32,this.rounds),zu||Gu(this.state32),this.posOut=0,this.pos=0}update(e){Mu(this);const{blockLen:t,state:r}=this,n=(e=ju(e)).length;for(let i=0;i<n;){const s=Math.min(t-this.pos,n-i);for(let t=0;t<s;t++)r[this.pos++]^=e[i++];this.pos===t&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:e,suffix:t,pos:r,blockLen:n}=this;e[r]^=t,128&t&&r===n-1&&this.keccak(),e[n-1]^=128,this.keccak()}writeInto(e){Mu(this,!1),Tu(e),this.finish();const t=this.state,{blockLen:r}=this;for(let n=0,i=e.length;n<i;){this.posOut>=r&&this.keccak();const s=Math.min(r-this.posOut,i-n);e.set(t.subarray(this.posOut,this.posOut+s),n),this.posOut+=s,n+=s}return e}xofInto(e){if(!this.enableXOF)throw Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return Ru(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(Lu(e,this),this.finished)throw Error("digest() was already called");return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(e){const{blockLen:t,suffix:r,outputLen:n,rounds:i,enableXOF:s}=this;return e||(e=new cy(t,r,n,s,i)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=i,e.suffix=r,e.outputLen=n,e.enableXOF=s,e.destroyed=this.destroyed,e}}const uy=(e,t,r)=>Zu((()=>new cy(t,e,r))),hy=/* @__PURE__ */uy(6,136,32),ly=/* @__PURE__ */uy(6,72,64),yy=(e,t,r)=>function(e){const t=(t,r)=>e(r).update(ju(t)).digest(),r=e({});return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=t=>e(t),t}(((n={})=>new cy(t,e,void 0===n.dkLen?r:n.dkLen,!0))),fy=/* @__PURE__ */yy(31,168,16),py=/* @__PURE__ */yy(31,136,32),gy=BigInt(0),dy=BigInt(1),Ay=BigInt(2),wy=BigInt(8),my={zip215:!0};function by(e){const t=function(e){const t=fl(e);return Lh(e,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...t})}(e),{Fp:r,n,prehash:i,hash:s,randomBytes:a,nByteLength:o,h:c}=t,u=Ay<<BigInt(8*o)-dy,h=r.create,l=el(t.n,t.nBitLength),y=t.uvRatio||((e,t)=>{try{return{isValid:!0,value:r.sqrt(e*r.inv(t))}}catch(e){return{isValid:!1,value:gy}}}),f=t.adjustScalarBytes||(e=>e),p=t.domain||((e,t,r)=>{if(ph("phflag",r),t.length||r)throw Error("Contexts/pre-hash are not supported");return e});function g(e,t){Ph("coordinate "+e,t,gy,u)}function d(e){if(!(e instanceof m))throw Error("ExtendedPoint expected")}const A=Nh(((e,t)=>{const{ex:n,ey:i,ez:s}=e,a=e.is0();null==t&&(t=a?wy:r.inv(s));const o=h(n*t),c=h(i*t),u=h(s*t);if(a)return{x:gy,y:dy};if(u!==dy)throw Error("invZ was invalid");return{x:o,y:c}})),w=Nh((e=>{const{a:r,d:n}=t;if(e.is0())throw Error("bad point: ZERO");const{ex:i,ey:s,ez:a,et:o}=e,c=h(i*i),u=h(s*s),l=h(a*a),y=h(l*l),f=h(c*r);if(h(l*h(f+u))!==h(y+h(n*h(c*u))))throw Error("bad point: equation left != right (1)");if(h(i*s)!==h(a*o))throw Error("bad point: equation left != right (2)");return!0}));class m{constructor(e,t,r,n){this.ex=e,this.ey=t,this.ez=r,this.et=n,g("x",e),g("y",t),g("z",r),g("t",n),Object.freeze(this)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(e){if(e instanceof m)throw Error("extended point not allowed");const{x:t,y:r}=e||{};return g("x",t),g("y",r),new m(t,r,dy,h(t*r))}static normalizeZ(e){const t=r.invertBatch(e.map((e=>e.ez)));return e.map(((e,r)=>e.toAffine(t[r]))).map(m.fromAffine)}static msm(e,t){return yl(m,l,e,t)}_setWindowSize(e){E.setWindowSize(this,e)}assertValidity(){w(this)}equals(e){d(e);const{ex:t,ey:r,ez:n}=this,{ex:i,ey:s,ez:a}=e,o=h(t*a),c=h(i*n),u=h(r*a),l=h(s*n);return o===c&&u===l}is0(){return this.equals(m.ZERO)}negate(){return new m(h(-this.ex),this.ey,this.ez,h(-this.et))}double(){const{a:e}=t,{ex:r,ey:n,ez:i}=this,s=h(r*r),a=h(n*n),o=h(Ay*h(i*i)),c=h(e*s),u=r+n,l=h(h(u*u)-s-a),y=c+a,f=y-o,p=c-a,g=h(l*f),d=h(y*p),A=h(l*p),w=h(f*y);return new m(g,d,w,A)}add(e){d(e);const{a:r,d:n}=t,{ex:i,ey:s,ez:a,et:o}=this,{ex:c,ey:u,ez:l,et:y}=e;if(r===BigInt(-1)){const e=h((s-i)*(u+c)),t=h((s+i)*(u-c)),r=h(t-e);if(r===gy)return this.double();const n=h(a*Ay*y),f=h(o*Ay*l),p=f+n,g=t+e,d=f-n,A=h(p*r),w=h(g*d),b=h(p*d),k=h(r*g);return new m(A,w,k,b)}const f=h(i*c),p=h(s*u),g=h(o*n*y),A=h(a*l),w=h((i+s)*(c+u)-f-p),b=A-g,k=A+g,E=h(p-r*f),v=h(w*b),B=h(k*E),S=h(w*E),I=h(b*k);return new m(v,B,I,S)}subtract(e){return this.add(e.negate())}wNAF(e){return E.wNAFCached(this,e,m.normalizeZ)}multiply(e){const t=e;Ph("scalar",t,dy,n);const{p:r,f:i}=this.wNAF(t);return m.normalizeZ([r,i])[0]}multiplyUnsafe(e,t=m.ZERO){const r=e;return Ph("scalar",r,gy,n),r===gy?k:this.is0()||r===dy?this:E.wNAFCachedUnsafe(this,r,m.normalizeZ,t)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return E.unsafeLadder(this,n).is0()}toAffine(e){return A(this,e)}clearCofactor(){const{h:e}=t;return e===dy?this:this.multiplyUnsafe(e)}static fromHex(e,n=!1){const{d:i,a:s}=t,a=r.BYTES;e=Ih("pointHex",e,a),ph("zip215",n);const o=e.slice(),c=e[a-1];o[a-1]=-129&c;const l=vh(o),f=n?u:r.ORDER;Ph("pointHex.y",l,gy,f);const p=h(l*l),g=h(p-dy),d=h(i*p-s);let{isValid:A,value:w}=y(g,d);if(!A)throw Error("Point.fromHex: invalid y coordinate");const b=(w&dy)===dy,k=!!(128&c);if(!n&&w===gy&&k)throw Error("Point.fromHex: x=0 and x_0=1");return k!==b&&(w=h(-w)),m.fromAffine({x:w,y:l})}static fromPrivateKey(e){return S(e).point}toRawBytes(){const{x:e,y:t}=this.toAffine(),n=Sh(t,r.BYTES);return n[n.length-1]|=e&dy?128:0,n}toHex(){return dh(this.toRawBytes())}}m.BASE=new m(t.Gx,t.Gy,dy,h(t.Gx*t.Gy)),m.ZERO=new m(gy,dy,dy,gy);const{BASE:b,ZERO:k}=m,E=ll(m,8*o);function v(e){return Vh(e,n)}function B(e){return v(vh(e))}function S(e){const t=r.BYTES;e=Ih("private key",e,t);const n=Ih("hashed private key",s(e),2*t),i=f(n.slice(0,t)),a=n.slice(t,2*t),o=B(i),c=b.multiply(o),u=c.toRawBytes();return{head:i,prefix:a,scalar:o,point:c,pointBytes:u}}function I(e=new Uint8Array,...t){const r=Kh(...t);return B(s(p(r,Ih("context",e),!!i)))}const K=my;b._setWindowSize(8);return{CURVE:t,getPublicKey:function(e){return S(e).pointBytes},sign:function(e,t,s={}){e=Ih("message",e),i&&(e=i(e));const{prefix:a,scalar:o,pointBytes:c}=S(t),u=I(s.context,a,e),h=b.multiply(u).toRawBytes(),l=v(u+I(s.context,h,c,e)*o);return Ph("signature.s",l,gy,n),Ih("result",Kh(h,Sh(l,r.BYTES)),2*r.BYTES)},verify:function(e,t,n,s=K){const{context:a,zip215:o}=s,c=r.BYTES;e=Ih("signature",e,2*c),t=Ih("message",t),n=Ih("publicKey",n,c),void 0!==o&&ph("zip215",o),i&&(t=i(t));const u=vh(e.slice(c,2*c));let h,l,y;try{h=m.fromHex(n,o),l=m.fromHex(e.slice(0,c),o),y=b.multiplyUnsafe(u)}catch(e){return!1}if(!o&&h.isSmallOrder())return!1;const f=I(a,l.toRawBytes(),h.toRawBytes(),t);return l.add(h.multiplyUnsafe(f)).subtract(y).clearCofactor().equals(m.ZERO)},ExtendedPoint:m,utils:{getExtendedPublicKey:S,randomPrivateKey:()=>a(r.BYTES),precompute:(e=8,t=m.BASE)=>(t._setWindowSize(e),t.multiply(BigInt(3)),t)}}}
13
- /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const ky=BigInt(0),Ey=BigInt(1);function vy(e){const t=(Lh(r=e,{a:"bigint"},{montgomeryBits:"isSafeInteger",nByteLength:"isSafeInteger",adjustScalarBytes:"function",domain:"function",powPminus2:"function",Gu:"bigint"}),Object.freeze({...r}));var r;const{P:n}=t,i=e=>Vh(e,n),s=t.montgomeryBits,a=Math.ceil(s/8),o=t.nByteLength,c=t.adjustScalarBytes||(e=>e),u=t.powPminus2||(e=>Yh(e,n-BigInt(2),n));function h(e,t,r){const n=i(e*(t-r));return[t=i(t-n),r=i(r+n)]}const l=(t.a-BigInt(2))/BigInt(4);function y(e){return Sh(i(e),a)}function f(e,t){const r=function(e){const t=Ih("u coordinate",e,a);return 32===o&&(t[31]&=127),vh(t)}(t),f=function(e){const t=Ih("scalar",e),r=t.length;if(r!==a&&r!==o)throw Error("invalid scalar, expected "+a+" or "+o+" bytes, got "+r);return vh(c(t))}(e),p=function(e,t){Ph("u",e,ky,n),Ph("scalar",t,ky,n);const r=t,a=e;let o,c=Ey,y=ky,f=e,p=Ey,g=ky;for(let e=BigInt(s-1);e>=ky;e--){const t=r>>e&Ey;g^=t,o=h(g,c,f),c=o[0],f=o[1],o=h(g,y,p),y=o[0],p=o[1],g=t;const n=c+y,s=i(n*n),u=c-y,d=i(u*u),A=s-d,w=f+p,m=i((f-p)*n),b=i(w*u),k=m+b,E=m-b;f=i(k*k),p=i(a*i(E*E)),c=i(s*d),y=i(A*(s+i(l*A)))}o=h(g,c,f),c=o[0],f=o[1],o=h(g,y,p),y=o[0],p=o[1];const d=u(y);return i(c*d)}(r,f);if(p===ky)throw Error("invalid private or public key received");return y(p)}const p=y(t.Gu);function g(e){return f(e,p)}return{scalarMult:f,scalarMultBase:g,getSharedSecret:(e,t)=>f(e,t),getPublicKey:e=>g(e),utils:{randomPrivateKey:()=>t.randomBytes(t.nByteLength)},GuBytes:p}}
14
- /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const By=Zu((()=>py.create({dkLen:114}))),Sy=(Zu((()=>py.create({dkLen:64}))),BigInt("726838724295606890549323807888004534353641360687318060281490199180612328166730772686396383698676545930088884461843637361053498018365439")),Iy=BigInt(1),Ky=BigInt(2),Cy=BigInt(3);BigInt(4);const Uy=BigInt(11),Py=BigInt(22),Dy=BigInt(44),xy=BigInt(88),Qy=BigInt(223);function Ry(e){const t=Sy,r=e*e*e%t,n=r*r*e%t,i=Zh(n,Cy,t)*n%t,s=Zh(i,Cy,t)*n%t,a=Zh(s,Ky,t)*r%t,o=Zh(a,Uy,t)*a%t,c=Zh(o,Py,t)*o%t,u=Zh(c,Dy,t)*c%t,h=Zh(u,xy,t)*u%t,l=Zh(h,Dy,t)*c%t,y=Zh(l,Ky,t)*r%t,f=Zh(y,Iy,t)*e%t;return Zh(f,Qy,t)*y%t}function Ty(e){return e[0]&=252,e[55]|=128,e[56]=0,e}const My=el(Sy,456,!0),Ly={a:BigInt(1),d:BigInt("726838724295606890549323807888004534353641360687318060281490199180612328166730772686396383698676545930088884461843637361053498018326358"),Fp:My,n:BigInt("181709681073901722637330951972001133588410340171829515070372549795146003961539585716195755291692375963310293709091662304773755859649779"),nBitLength:456,h:BigInt(4),Gx:BigInt("224580040295924300187604334099896036246789641632564134246125461686950415467406032909029192869357953282578032075146446173674602635247710"),Gy:BigInt("298819210078481492676017930443930673437544040154080242095928241372331506189835876003536878655418784733982303233503462500531545062832660"),hash:By,randomBytes:Wu,adjustScalarBytes:Ty,domain:(e,t,r)=>{if(t.length>255)throw Error("context must be smaller than 255, got: "+t.length);return Vu(qu("SigEd448"),new Uint8Array([r?1:0,t.length]),t,e)},uvRatio:function(e,t){const r=Sy,n=Vh(e*e*t,r),i=Vh(n*e,r),s=Vh(i*n*t,r),a=Vh(i*Ry(s),r),o=Vh(a*a,r);return{isValid:Vh(o*t,r)===e,value:a}}},Ny=/* @__PURE__ */by(Ly),Fy=/* @__PURE__ */(()=>vy({a:BigInt(156326),montgomeryBits:448,nByteLength:56,P:Sy,Gu:BigInt(5),powPminus2:e=>{const t=Sy;return Vh(Zh(Ry(e),BigInt(2),t)*e,t)},adjustScalarBytes:Ty,randomBytes:Wu}))();My.ORDER,BigInt(3),BigInt(4),BigInt(156326),BigInt("39082"),BigInt("78163"),BigInt("98944233647732219769177004876929019128417576295529901074099889598043702116001257856802131563896515373927712232092845883226922417596214"),BigInt("315019913931389607337177038330951043522456072897266928557328499619017160722351061360252776265186336876723201881398623946864393857820716"),BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");
15
- /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
16
- const Oy=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),Hy=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),_y=BigInt(1),zy=BigInt(2),Gy=(e,t)=>(e+t/zy)/t;const qy=el(Oy,void 0,void 0,{sqrt:function(e){const t=Oy,r=BigInt(3),n=BigInt(6),i=BigInt(11),s=BigInt(22),a=BigInt(23),o=BigInt(44),c=BigInt(88),u=e*e*e%t,h=u*u*e%t,l=Zh(h,r,t)*h%t,y=Zh(l,r,t)*h%t,f=Zh(y,zy,t)*u%t,p=Zh(f,i,t)*f%t,g=Zh(p,s,t)*p%t,d=Zh(g,o,t)*g%t,A=Zh(d,c,t)*d%t,w=Zh(A,o,t)*g%t,m=Zh(w,r,t)*h%t,b=Zh(m,a,t)*p%t,k=Zh(b,n,t)*u%t,E=Zh(k,zy,t);if(!qy.eql(qy.sqr(E),e))throw Error("Cannot find square root");return E}}),jy=Bl({a:BigInt(0),b:BigInt(7),Fp:qy,n:Hy,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:e=>{const t=Hy,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-_y*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),s=r,a=BigInt("0x100000000000000000000000000000000"),o=Gy(s*e,t),c=Gy(-n*e,t);let u=Vh(e-o*r-c*i,t),h=Vh(-o*n-c*s,t);const l=u>a,y=h>a;if(l&&(u=t-u),y&&(h=t-h),u>a||h>a)throw Error("splitScalar: Endomorphism failed, k="+e);return{k1neg:l,k1:u,k2neg:y,k2:h}}}},sh);BigInt(0),jy.ProjectivePoint;const Vy=el(BigInt("0xa9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377")),Yy=Bl({a:Vy.create(BigInt("0x7d5a0975fc2c3057eef67530417affe7fb8055c126dc5c6ce94a4b44f330b5d9")),b:BigInt("0x26dc5c6ce94a4b44f330b5d9bbd77cbf958416295cf7e1ce6bccdc18ff8c07b6"),Fp:Vy,n:BigInt("0xa9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7"),Gx:BigInt("0x8bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262"),Gy:BigInt("0x547ef835c3dac4fd97f8461a14611dc9c27745132ded8e545c1d54c72f046997"),h:BigInt(1),lowS:!1},sh),Zy=el(BigInt("0x8cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53")),Wy=Bl({a:Zy.create(BigInt("0x7bc382c63d8c150c3c72080ace05afa0c2bea28e4fb22787139165efba91f90f8aa5814a503ad4eb04a8c7dd22ce2826")),b:BigInt("0x04a8c7dd22ce28268b39b55416f0447c2fb77de107dcd2a62e880ea53eeb62d57cb4390295dbc9943ab78696fa504c11"),Fp:Zy,n:BigInt("0x8cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046565"),Gx:BigInt("0x1d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e"),Gy:BigInt("0x8abe1d7520f9c2a45cb1eb8e95cfd55262b70b29feec5864e19c054ff99129280e4646217791811142820341263c5315"),h:BigInt(1),lowS:!1},zl),Jy=el(BigInt("0xaadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f3")),Xy=Bl({a:Jy.create(BigInt("0x7830a3318b603b89e2327145ac234cc594cbdd8d3df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94ca")),b:BigInt("0x3df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94cadc083e67984050b75ebae5dd2809bd638016f723"),Fp:Jy,n:BigInt("0xaadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90069"),Gx:BigInt("0x81aee4bdd82ed9645a21322e9c4c6a9385ed9f70b5d916c1b43b62eef4d0098eff3b1f78e2d0d48d50d1687b93b97d5f7c6d5047406a5e688b352209bcb9f822"),Gy:BigInt("0x7dde385d566332ecc0eabfa9cf7822fdf209f70024a57b1aa000c55b881f8111b2dcde494a5f485e5bca4bd88a2763aed1ca2b2fa8f0540678cd1e0f3ad80892"),h:BigInt(1),lowS:!1},_l),$y=new Map(Object.entries({nistP256:Il,nistP384:ql,nistP521:Yl,brainpoolP256r1:Yy,brainpoolP384r1:Wy,brainpoolP512r1:Xy,secp256k1:jy,x448:Fy,ed448:Ny}));var ef=/*#__PURE__*/Object.freeze({__proto__:null,nobleCurves:$y});const tf=/* @__PURE__ */new Uint32Array([1732584193,4023233417,2562383102,271733878,3285377520]),rf=/* @__PURE__ */new Uint32Array(80);class nf extends $u{constructor(){super(64,20,8,!1),this.A=0|tf[0],this.B=0|tf[1],this.C=0|tf[2],this.D=0|tf[3],this.E=0|tf[4]}get(){const{A:e,B:t,C:r,D:n,E:i}=this;return[e,t,r,n,i]}set(e,t,r,n,i){this.A=0|e,this.B=0|t,this.C=0|r,this.D=0|n,this.E=0|i}process(e,t){for(let r=0;r<16;r++,t+=4)rf[r]=e.getUint32(t,!1);for(let e=16;e<80;e++)rf[e]=_u(rf[e-3]^rf[e-8]^rf[e-14]^rf[e-16],1);let{A:r,B:n,C:i,D:s,E:a}=this;for(let e=0;e<80;e++){let t,o;e<20?(t=Ju(n,i,s),o=1518500249):e<40?(t=n^i^s,o=1859775393):e<60?(t=Xu(n,i,s),o=2400959708):(t=n^i^s,o=3395469782);const c=_u(r,5)+t+a+o+rf[e]|0;a=s,s=i,i=_u(n,30),n=r,r=c}r=r+this.A|0,n=n+this.B|0,i=i+this.C|0,s=s+this.D|0,a=a+this.E|0,this.set(r,n,i,s,a)}roundClean(){rf.fill(0)}destroy(){this.set(0,0,0,0,0),this.buffer.fill(0)}}const sf=/* @__PURE__ */Zu((()=>new nf)),af=/* @__PURE__ */new Uint8Array([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]),of=/* @__PURE__ */new Uint8Array(Array(16).fill(0).map(((e,t)=>t))),cf=/* @__PURE__ */of.map((e=>(9*e+5)%16));let uf=[of],hf=[cf];for(let e=0;e<4;e++)for(let t of[uf,hf])t.push(t[e].map((e=>af[e])));const lf=/* @__PURE__ */[[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8],[12,13,11,15,6,9,9,7,12,15,11,13,7,8,7,7],[13,15,14,11,7,7,6,8,13,14,13,12,5,5,6,9],[14,11,12,14,8,6,5,5,15,12,15,14,9,9,8,6],[15,12,13,13,9,5,8,6,14,11,12,11,8,6,5,5]].map((e=>new Uint8Array(e))),yf=/* @__PURE__ */uf.map(((e,t)=>e.map((e=>lf[t][e])))),ff=/* @__PURE__ */hf.map(((e,t)=>e.map((e=>lf[t][e])))),pf=/* @__PURE__ */new Uint32Array([0,1518500249,1859775393,2400959708,2840853838]),gf=/* @__PURE__ */new Uint32Array([1352829926,1548603684,1836072691,2053994217,0]);function df(e,t,r,n){return 0===e?t^r^n:1===e?t&r|~t&n:2===e?(t|~r)^n:3===e?t&n|r&~n:t^(r|~n)}const Af=/* @__PURE__ */new Uint32Array(16);class wf extends $u{constructor(){super(64,20,8,!0),this.h0=1732584193,this.h1=-271733879,this.h2=-1732584194,this.h3=271733878,this.h4=-1009589776}get(){const{h0:e,h1:t,h2:r,h3:n,h4:i}=this;return[e,t,r,n,i]}set(e,t,r,n,i){this.h0=0|e,this.h1=0|t,this.h2=0|r,this.h3=0|n,this.h4=0|i}process(e,t){for(let r=0;r<16;r++,t+=4)Af[r]=e.getUint32(t,!0);let r=0|this.h0,n=r,i=0|this.h1,s=i,a=0|this.h2,o=a,c=0|this.h3,u=c,h=0|this.h4,l=h;for(let e=0;e<5;e++){const t=4-e,y=pf[e],f=gf[e],p=uf[e],g=hf[e],d=yf[e],A=ff[e];for(let t=0;t<16;t++){const n=_u(r+df(e,i,a,c)+Af[p[t]]+y,d[t])+h|0;r=h,h=c,c=0|_u(a,10),a=i,i=n}for(let e=0;e<16;e++){const r=_u(n+df(t,s,o,u)+Af[g[e]]+f,A[e])+l|0;n=l,l=u,u=0|_u(o,10),o=s,s=r}}this.set(this.h1+a+u|0,this.h2+c+l|0,this.h3+h+n|0,this.h4+r+s|0,this.h0+i+o|0)}roundClean(){Af.fill(0)}destroy(){this.destroyed=!0,this.buffer.fill(0),this.set(0,0,0,0,0)}}const mf=/* @__PURE__ */Zu((()=>new wf)),bf=Array.from({length:64},((e,t)=>Math.floor(2**32*Math.abs(Math.sin(t+1))))),kf=(e,t,r)=>e&t^~e&r,Ef=/* @__PURE__ */new Uint32Array([1732584193,4023233417,2562383102,271733878]),vf=/* @__PURE__ */new Uint32Array(16);class Bf extends $u{constructor(){super(64,16,8,!0),this.A=0|Ef[0],this.B=0|Ef[1],this.C=0|Ef[2],this.D=0|Ef[3]}get(){const{A:e,B:t,C:r,D:n}=this;return[e,t,r,n]}set(e,t,r,n){this.A=0|e,this.B=0|t,this.C=0|r,this.D=0|n}process(e,t){for(let r=0;r<16;r++,t+=4)vf[r]=e.getUint32(t,!0);let{A:r,B:n,C:i,D:s}=this;for(let e=0;e<64;e++){let t,a,o;e<16?(t=kf(n,i,s),a=e,o=[7,12,17,22]):e<32?(t=kf(s,n,i),a=(5*e+1)%16,o=[5,9,14,20]):e<48?(t=n^i^s,a=(3*e+5)%16,o=[4,11,16,23]):(t=i^(n|~s),a=7*e%16,o=[6,10,15,21]),t=t+r+bf[e]+vf[a],r=s,s=i,i=n,n+=_u(t,o[e%4])}r=r+this.A|0,n=n+this.B|0,i=i+this.C|0,s=s+this.D|0,this.set(r,n,i,s)}roundClean(){vf.fill(0)}destroy(){this.set(0,0,0,0),this.buffer.fill(0)}}const Sf=new Map(Object.entries({md5:/* @__PURE__ */Zu((()=>new Bf)),sha1:sf,sha224:ah,sha256:sh,sha384:zl,sha512:_l,sha3_256:hy,sha3_512:ly,ripemd160:mf}));var If=/*#__PURE__*/Object.freeze({__proto__:null,nobleHashes:Sf});function Kf(e,t,r,n,i,s){const a=[16843776,0,65536,16843780,16842756,66564,4,65536,1024,16843776,16843780,1024,16778244,16842756,16777216,4,1028,16778240,16778240,66560,66560,16842752,16842752,16778244,65540,16777220,16777220,65540,0,1028,66564,16777216,65536,16843780,4,16842752,16843776,16777216,16777216,1024,16842756,65536,66560,16777220,1024,4,16778244,66564,16843780,65540,16842752,16778244,16777220,1028,66564,16843776,1028,16778240,16778240,0,65540,66560,0,16842756],o=[-2146402272,-2147450880,32768,1081376,1048576,32,-2146435040,-2147450848,-2147483616,-2146402272,-2146402304,-2147483648,-2147450880,1048576,32,-2146435040,1081344,1048608,-2147450848,0,-2147483648,32768,1081376,-2146435072,1048608,-2147483616,0,1081344,32800,-2146402304,-2146435072,32800,0,1081376,-2146435040,1048576,-2147450848,-2146435072,-2146402304,32768,-2146435072,-2147450880,32,-2146402272,1081376,32,32768,-2147483648,32800,-2146402304,1048576,-2147483616,1048608,-2147450848,-2147483616,1048608,1081344,0,-2147450880,32800,-2147483648,-2146435040,-2146402272,1081344],c=[520,134349312,0,134348808,134218240,0,131592,134218240,131080,134217736,134217736,131072,134349320,131080,134348800,520,134217728,8,134349312,512,131584,134348800,134348808,131592,134218248,131584,131072,134218248,8,134349320,512,134217728,134349312,134217728,131080,520,131072,134349312,134218240,0,512,131080,134349320,134218240,134217736,512,0,134348808,134218248,131072,134217728,134349320,8,131592,131584,134217736,134348800,134218248,520,134348800,131592,8,134348808,131584],u=[8396801,8321,8321,128,8396928,8388737,8388609,8193,0,8396800,8396800,8396929,129,0,8388736,8388609,1,8192,8388608,8396801,128,8388608,8193,8320,8388737,1,8320,8388736,8192,8396928,8396929,129,8388736,8388609,8396800,8396929,129,0,0,8396800,8320,8388736,8388737,1,8396801,8321,8321,128,8396929,129,1,8192,8388609,8193,8396928,8388737,8193,8320,8388608,8396801,128,8388608,8192,8396928],h=[256,34078976,34078720,1107296512,524288,256,1073741824,34078720,1074266368,524288,33554688,1074266368,1107296512,1107820544,524544,1073741824,33554432,1074266112,1074266112,0,1073742080,1107820800,1107820800,33554688,1107820544,1073742080,0,1107296256,34078976,33554432,1107296256,524544,524288,1107296512,256,33554432,1073741824,34078720,1107296512,1074266368,33554688,1073741824,1107820544,34078976,1074266368,256,33554432,1107820544,1107820800,524544,1107296256,1107820800,34078720,0,1074266112,1107296256,524544,33554688,1073742080,524288,0,1074266112,34078976,1073742080],l=[536870928,541065216,16384,541081616,541065216,16,541081616,4194304,536887296,4210704,4194304,536870928,4194320,536887296,536870912,16400,0,4194320,536887312,16384,4210688,536887312,16,541065232,541065232,0,4210704,541081600,16400,4210688,541081600,536870912,536887296,16,541065232,4210688,541081616,4194304,16400,536870928,4194304,536887296,536870912,16400,536870928,541081616,4210688,541065216,4210704,541081600,0,541065232,16,16384,541065216,4210704,16384,4194320,536887312,0,541081600,536870912,4194320,536887312],y=[2097152,69206018,67110914,0,2048,67110914,2099202,69208064,69208066,2097152,0,67108866,2,67108864,69206018,2050,67110912,2099202,2097154,67110912,67108866,69206016,69208064,2097154,69206016,2048,2050,69208066,2099200,2,67108864,2099200,67108864,2099200,2097152,67110914,67110914,69206018,69206018,2,2097154,67108864,67110912,2097152,69208064,2050,2099202,69208064,2050,67108866,69208066,69206016,2099200,0,2,69208066,0,2099202,69206016,2048,67108866,67110912,2048,2097154],f=[268439616,4096,262144,268701760,268435456,268439616,64,268435456,262208,268697600,268701760,266240,268701696,266304,4096,64,268697600,268435520,268439552,4160,266240,262208,268697664,268701696,4160,0,0,268697664,268435520,268439552,266304,262144,266304,262144,268701696,4096,64,268697664,4096,266304,268439552,64,268435520,268697600,268697664,268435456,262144,268439616,0,268701760,262208,268435520,268697600,268439552,268439616,0,268701760,266240,266240,4160,4160,262208,268435456,268701696];let p,g,d,A,w,m,b,k,E,v,B=0,S=t.length;const I=32===e.length?3:9;k=3===I?r?[0,32,2]:[30,-2,-2]:r?[0,32,2,62,30,-2,64,96,2]:[94,62,-2,32,64,2,30,-2,-2],r&&(t=function(e){const t=8-e.length%8;let r;if(!(t<8)){if(8===t)return e;throw Error("des: invalid padding")}r=0;const n=new Uint8Array(e.length+t);for(let t=0;t<e.length;t++)n[t]=e[t];for(let i=0;i<t;i++)n[e.length+i]=r;return n}(t),S=t.length);let K=new Uint8Array(S),C=0;for(;B<S;){for(m=t[B++]<<24|t[B++]<<16|t[B++]<<8|t[B++],b=t[B++]<<24|t[B++]<<16|t[B++]<<8|t[B++],d=252645135&(m>>>4^b),b^=d,m^=d<<4,d=65535&(m>>>16^b),b^=d,m^=d<<16,d=858993459&(b>>>2^m),m^=d,b^=d<<2,d=16711935&(b>>>8^m),m^=d,b^=d<<8,d=1431655765&(m>>>1^b),b^=d,m^=d<<1,m=m<<1|m>>>31,b=b<<1|b>>>31,g=0;g<I;g+=3){for(E=k[g+1],v=k[g+2],p=k[g];p!==E;p+=v)A=b^e[p],w=(b>>>4|b<<28)^e[p+1],d=m,m=b,b=d^(o[A>>>24&63]|u[A>>>16&63]|l[A>>>8&63]|f[63&A]|a[w>>>24&63]|c[w>>>16&63]|h[w>>>8&63]|y[63&w]);d=m,m=b,b=d}m=m>>>1|m<<31,b=b>>>1|b<<31,d=1431655765&(m>>>1^b),b^=d,m^=d<<1,d=16711935&(b>>>8^m),m^=d,b^=d<<8,d=858993459&(b>>>2^m),m^=d,b^=d<<2,d=65535&(m>>>16^b),b^=d,m^=d<<16,d=252645135&(m>>>4^b),b^=d,m^=d<<4,K[C++]=m>>>24,K[C++]=m>>>16&255,K[C++]=m>>>8&255,K[C++]=255&m,K[C++]=b>>>24,K[C++]=b>>>16&255,K[C++]=b>>>8&255,K[C++]=255&b}return r||(K=function(e){let t,r=null;if(t=0,!r){for(r=1;e[e.length-r]===t;)r++;r--}return e.subarray(0,e.length-r)}(K)),K}function Cf(e){const t=[0,4,536870912,536870916,65536,65540,536936448,536936452,512,516,536871424,536871428,66048,66052,536936960,536936964],r=[0,1,1048576,1048577,67108864,67108865,68157440,68157441,256,257,1048832,1048833,67109120,67109121,68157696,68157697],n=[0,8,2048,2056,16777216,16777224,16779264,16779272,0,8,2048,2056,16777216,16777224,16779264,16779272],i=[0,2097152,134217728,136314880,8192,2105344,134225920,136323072,131072,2228224,134348800,136445952,139264,2236416,134356992,136454144],s=[0,262144,16,262160,0,262144,16,262160,4096,266240,4112,266256,4096,266240,4112,266256],a=[0,1024,32,1056,0,1024,32,1056,33554432,33555456,33554464,33555488,33554432,33555456,33554464,33555488],o=[0,268435456,524288,268959744,2,268435458,524290,268959746,0,268435456,524288,268959744,2,268435458,524290,268959746],c=[0,65536,2048,67584,536870912,536936448,536872960,536938496,131072,196608,133120,198656,537001984,537067520,537004032,537069568],u=[0,262144,0,262144,2,262146,2,262146,33554432,33816576,33554432,33816576,33554434,33816578,33554434,33816578],h=[0,268435456,8,268435464,0,268435456,8,268435464,1024,268436480,1032,268436488,1024,268436480,1032,268436488],l=[0,32,0,32,1048576,1048608,1048576,1048608,8192,8224,8192,8224,1056768,1056800,1056768,1056800],y=[0,16777216,512,16777728,2097152,18874368,2097664,18874880,67108864,83886080,67109376,83886592,69206016,85983232,69206528,85983744],f=[0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128],p=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],g=e.length>8?3:1,d=Array(32*g),A=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0];let w,m,b,k=0,E=0;for(let v=0;v<g;v++){let g=e[k++]<<24|e[k++]<<16|e[k++]<<8|e[k++],v=e[k++]<<24|e[k++]<<16|e[k++]<<8|e[k++];b=252645135&(g>>>4^v),v^=b,g^=b<<4,b=65535&(v>>>-16^g),g^=b,v^=b<<-16,b=858993459&(g>>>2^v),v^=b,g^=b<<2,b=65535&(v>>>-16^g),g^=b,v^=b<<-16,b=1431655765&(g>>>1^v),v^=b,g^=b<<1,b=16711935&(v>>>8^g),g^=b,v^=b<<8,b=1431655765&(g>>>1^v),v^=b,g^=b<<1,b=g<<8|v>>>20&240,g=v<<24|v<<8&16711680|v>>>8&65280|v>>>24&240,v=b;for(let e=0;e<16;e++)A[e]?(g=g<<2|g>>>26,v=v<<2|v>>>26):(g=g<<1|g>>>27,v=v<<1|v>>>27),g&=-15,v&=-15,w=t[g>>>28]|r[g>>>24&15]|n[g>>>20&15]|i[g>>>16&15]|s[g>>>12&15]|a[g>>>8&15]|o[g>>>4&15],m=c[v>>>28]|u[v>>>24&15]|h[v>>>20&15]|l[v>>>16&15]|y[v>>>12&15]|f[v>>>8&15]|p[v>>>4&15],b=65535&(m>>>16^w),d[E++]=w^b,d[E++]=m^b<<16}return d}function Uf(e){this.key=[];for(let t=0;t<3;t++)this.key.push(new Uint8Array(e.subarray(8*t,8*t+8)));this.encrypt=function(e){return Kf(Cf(this.key[2]),Kf(Cf(this.key[1]),Kf(Cf(this.key[0]),e,!0),!1),!0)}}function Pf(){this.BlockSize=8,this.KeySize=16,this.setKey=function(e){if(this.masking=Array(16),this.rotate=Array(16),this.reset(),e.length!==this.KeySize)throw Error("CAST-128: keys must be 16 bytes");return this.keySchedule(e),!0},this.reset=function(){for(let e=0;e<16;e++)this.masking[e]=0,this.rotate[e]=0},this.getBlockSize=function(){return this.BlockSize},this.encrypt=function(e){const t=Array(e.length);for(let s=0;s<e.length;s+=8){let a,o=e[s]<<24|e[s+1]<<16|e[s+2]<<8|e[s+3],c=e[s+4]<<24|e[s+5]<<16|e[s+6]<<8|e[s+7];a=c,c=o^r(c,this.masking[0],this.rotate[0]),o=a,a=c,c=o^n(c,this.masking[1],this.rotate[1]),o=a,a=c,c=o^i(c,this.masking[2],this.rotate[2]),o=a,a=c,c=o^r(c,this.masking[3],this.rotate[3]),o=a,a=c,c=o^n(c,this.masking[4],this.rotate[4]),o=a,a=c,c=o^i(c,this.masking[5],this.rotate[5]),o=a,a=c,c=o^r(c,this.masking[6],this.rotate[6]),o=a,a=c,c=o^n(c,this.masking[7],this.rotate[7]),o=a,a=c,c=o^i(c,this.masking[8],this.rotate[8]),o=a,a=c,c=o^r(c,this.masking[9],this.rotate[9]),o=a,a=c,c=o^n(c,this.masking[10],this.rotate[10]),o=a,a=c,c=o^i(c,this.masking[11],this.rotate[11]),o=a,a=c,c=o^r(c,this.masking[12],this.rotate[12]),o=a,a=c,c=o^n(c,this.masking[13],this.rotate[13]),o=a,a=c,c=o^i(c,this.masking[14],this.rotate[14]),o=a,a=c,c=o^r(c,this.masking[15],this.rotate[15]),o=a,t[s]=c>>>24&255,t[s+1]=c>>>16&255,t[s+2]=c>>>8&255,t[s+3]=255&c,t[s+4]=o>>>24&255,t[s+5]=o>>>16&255,t[s+6]=o>>>8&255,t[s+7]=255&o}return t},this.decrypt=function(e){const t=Array(e.length);for(let s=0;s<e.length;s+=8){let a,o=e[s]<<24|e[s+1]<<16|e[s+2]<<8|e[s+3],c=e[s+4]<<24|e[s+5]<<16|e[s+6]<<8|e[s+7];a=c,c=o^r(c,this.masking[15],this.rotate[15]),o=a,a=c,c=o^i(c,this.masking[14],this.rotate[14]),o=a,a=c,c=o^n(c,this.masking[13],this.rotate[13]),o=a,a=c,c=o^r(c,this.masking[12],this.rotate[12]),o=a,a=c,c=o^i(c,this.masking[11],this.rotate[11]),o=a,a=c,c=o^n(c,this.masking[10],this.rotate[10]),o=a,a=c,c=o^r(c,this.masking[9],this.rotate[9]),o=a,a=c,c=o^i(c,this.masking[8],this.rotate[8]),o=a,a=c,c=o^n(c,this.masking[7],this.rotate[7]),o=a,a=c,c=o^r(c,this.masking[6],this.rotate[6]),o=a,a=c,c=o^i(c,this.masking[5],this.rotate[5]),o=a,a=c,c=o^n(c,this.masking[4],this.rotate[4]),o=a,a=c,c=o^r(c,this.masking[3],this.rotate[3]),o=a,a=c,c=o^i(c,this.masking[2],this.rotate[2]),o=a,a=c,c=o^n(c,this.masking[1],this.rotate[1]),o=a,a=c,c=o^r(c,this.masking[0],this.rotate[0]),o=a,t[s]=c>>>24&255,t[s+1]=c>>>16&255,t[s+2]=c>>>8&255,t[s+3]=255&c,t[s+4]=o>>>24&255,t[s+5]=o>>16&255,t[s+6]=o>>8&255,t[s+7]=255&o}return t};const e=[,,,,];e[0]=[,,,,],e[0][0]=[4,0,13,15,12,14,8],e[0][1]=[5,2,16,18,17,19,10],e[0][2]=[6,3,23,22,21,20,9],e[0][3]=[7,1,26,25,27,24,11],e[1]=[,,,,],e[1][0]=[0,6,21,23,20,22,16],e[1][1]=[1,4,0,2,1,3,18],e[1][2]=[2,5,7,6,5,4,17],e[1][3]=[3,7,10,9,11,8,19],e[2]=[,,,,],e[2][0]=[4,0,13,15,12,14,8],e[2][1]=[5,2,16,18,17,19,10],e[2][2]=[6,3,23,22,21,20,9],e[2][3]=[7,1,26,25,27,24,11],e[3]=[,,,,],e[3][0]=[0,6,21,23,20,22,16],e[3][1]=[1,4,0,2,1,3,18],e[3][2]=[2,5,7,6,5,4,17],e[3][3]=[3,7,10,9,11,8,19];const t=[,,,,];function r(e,t,r){const n=t+e,i=n<<r|n>>>32-r;return(s[0][i>>>24]^s[1][i>>>16&255])-s[2][i>>>8&255]+s[3][255&i]}function n(e,t,r){const n=t^e,i=n<<r|n>>>32-r;return s[0][i>>>24]-s[1][i>>>16&255]+s[2][i>>>8&255]^s[3][255&i]}function i(e,t,r){const n=t-e,i=n<<r|n>>>32-r;return(s[0][i>>>24]+s[1][i>>>16&255]^s[2][i>>>8&255])-s[3][255&i]}t[0]=[,,,,],t[0][0]=[24,25,23,22,18],t[0][1]=[26,27,21,20,22],t[0][2]=[28,29,19,18,25],t[0][3]=[30,31,17,16,28],t[1]=[,,,,],t[1][0]=[3,2,12,13,8],t[1][1]=[1,0,14,15,13],t[1][2]=[7,6,8,9,3],t[1][3]=[5,4,10,11,7],t[2]=[,,,,],t[2][0]=[19,18,28,29,25],t[2][1]=[17,16,30,31,28],t[2][2]=[23,22,24,25,18],t[2][3]=[21,20,26,27,22],t[3]=[,,,,],t[3][0]=[8,9,7,6,3],t[3][1]=[10,11,5,4,7],t[3][2]=[12,13,3,2,8],t[3][3]=[14,15,1,0,13],this.keySchedule=function(r){const n=[,,,,,,,,],i=Array(32);let a;for(let e=0;e<4;e++)a=4*e,n[e]=r[a]<<24|r[a+1]<<16|r[a+2]<<8|r[a+3];const o=[6,7,4,5];let c,u=0;for(let r=0;r<2;r++)for(let r=0;r<4;r++){for(a=0;a<4;a++){const t=e[r][a];c=n[t[1]],c^=s[4][n[t[2]>>>2]>>>24-8*(3&t[2])&255],c^=s[5][n[t[3]>>>2]>>>24-8*(3&t[3])&255],c^=s[6][n[t[4]>>>2]>>>24-8*(3&t[4])&255],c^=s[7][n[t[5]>>>2]>>>24-8*(3&t[5])&255],c^=s[o[a]][n[t[6]>>>2]>>>24-8*(3&t[6])&255],n[t[0]]=c}for(a=0;a<4;a++){const e=t[r][a];c=s[4][n[e[0]>>>2]>>>24-8*(3&e[0])&255],c^=s[5][n[e[1]>>>2]>>>24-8*(3&e[1])&255],c^=s[6][n[e[2]>>>2]>>>24-8*(3&e[2])&255],c^=s[7][n[e[3]>>>2]>>>24-8*(3&e[3])&255],c^=s[4+a][n[e[4]>>>2]>>>24-8*(3&e[4])&255],i[u]=c,u++}}for(let e=0;e<16;e++)this.masking[e]=i[e],this.rotate[e]=31&i[16+e]};const s=[,,,,,,,,];s[0]=[821772500,2678128395,1810681135,1059425402,505495343,2617265619,1610868032,3483355465,3218386727,2294005173,3791863952,2563806837,1852023008,365126098,3269944861,584384398,677919599,3229601881,4280515016,2002735330,1136869587,3744433750,2289869850,2731719981,2714362070,879511577,1639411079,575934255,717107937,2857637483,576097850,2731753936,1725645e3,2810460463,5111599,767152862,2543075244,1251459544,1383482551,3052681127,3089939183,3612463449,1878520045,1510570527,2189125840,2431448366,582008916,3163445557,1265446783,1354458274,3529918736,3202711853,3073581712,3912963487,3029263377,1275016285,4249207360,2905708351,3304509486,1442611557,3585198765,2712415662,2731849581,3248163920,2283946226,208555832,2766454743,1331405426,1447828783,3315356441,3108627284,2957404670,2981538698,3339933917,1669711173,286233437,1465092821,1782121619,3862771680,710211251,980974943,1651941557,430374111,2051154026,704238805,4128970897,3144820574,2857402727,948965521,3333752299,2227686284,718756367,2269778983,2731643755,718440111,2857816721,3616097120,1113355533,2478022182,410092745,1811985197,1944238868,2696854588,1415722873,1682284203,1060277122,1998114690,1503841958,82706478,2315155686,1068173648,845149890,2167947013,1768146376,1993038550,3566826697,3390574031,940016341,3355073782,2328040721,904371731,1205506512,4094660742,2816623006,825647681,85914773,2857843460,1249926541,1417871568,3287612,3211054559,3126306446,1975924523,1353700161,2814456437,2438597621,1800716203,722146342,2873936343,1151126914,4160483941,2877670899,458611604,2866078500,3483680063,770352098,2652916994,3367839148,3940505011,3585973912,3809620402,718646636,2504206814,2914927912,3631288169,2857486607,2860018678,575749918,2857478043,718488780,2069512688,3548183469,453416197,1106044049,3032691430,52586708,3378514636,3459808877,3211506028,1785789304,218356169,3571399134,3759170522,1194783844,1523787992,3007827094,1975193539,2555452411,1341901877,3045838698,3776907964,3217423946,2802510864,2889438986,1057244207,1636348243,3761863214,1462225785,2632663439,481089165,718503062,24497053,3332243209,3344655856,3655024856,3960371065,1195698900,2971415156,3710176158,2115785917,4027663609,3525578417,2524296189,2745972565,3564906415,1372086093,1452307862,2780501478,1476592880,3389271281,18495466,2378148571,901398090,891748256,3279637769,3157290713,2560960102,1447622437,4284372637,216884176,2086908623,1879786977,3588903153,2242455666,2938092967,3559082096,2810645491,758861177,1121993112,215018983,642190776,4169236812,1196255959,2081185372,3508738393,941322904,4124243163,2877523539,1848581667,2205260958,3180453958,2589345134,3694731276,550028657,2519456284,3789985535,2973870856,2093648313,443148163,46942275,2734146937,1117713533,1115362972,1523183689,3717140224,1551984063],s[1]=[522195092,4010518363,1776537470,960447360,4267822970,4005896314,1435016340,1929119313,2913464185,1310552629,3579470798,3724818106,2579771631,1594623892,417127293,2715217907,2696228731,1508390405,3994398868,3925858569,3695444102,4019471449,3129199795,3770928635,3520741761,990456497,4187484609,2783367035,21106139,3840405339,631373633,3783325702,532942976,396095098,3548038825,4267192484,2564721535,2011709262,2039648873,620404603,3776170075,2898526339,3612357925,4159332703,1645490516,223693667,1567101217,3362177881,1029951347,3470931136,3570957959,1550265121,119497089,972513919,907948164,3840628539,1613718692,3594177948,465323573,2659255085,654439692,2575596212,2699288441,3127702412,277098644,624404830,4100943870,2717858591,546110314,2403699828,3655377447,1321679412,4236791657,1045293279,4010672264,895050893,2319792268,494945126,1914543101,2777056443,3894764339,2219737618,311263384,4275257268,3458730721,669096869,3584475730,3835122877,3319158237,3949359204,2005142349,2713102337,2228954793,3769984788,569394103,3855636576,1425027204,108000370,2736431443,3671869269,3043122623,1750473702,2211081108,762237499,3972989403,2798899386,3061857628,2943854345,867476300,964413654,1591880597,1594774276,2179821409,552026980,3026064248,3726140315,2283577634,3110545105,2152310760,582474363,1582640421,1383256631,2043843868,3322775884,1217180674,463797851,2763038571,480777679,2718707717,2289164131,3118346187,214354409,200212307,3810608407,3025414197,2674075964,3997296425,1847405948,1342460550,510035443,4080271814,815934613,833030224,1620250387,1945732119,2703661145,3966000196,1388869545,3456054182,2687178561,2092620194,562037615,1356438536,3409922145,3261847397,1688467115,2150901366,631725691,3840332284,549916902,3455104640,394546491,837744717,2114462948,751520235,2221554606,2415360136,3999097078,2063029875,803036379,2702586305,821456707,3019566164,360699898,4018502092,3511869016,3677355358,2402471449,812317050,49299192,2570164949,3259169295,2816732080,3331213574,3101303564,2156015656,3705598920,3546263921,143268808,3200304480,1638124008,3165189453,3341807610,578956953,2193977524,3638120073,2333881532,807278310,658237817,2969561766,1641658566,11683945,3086995007,148645947,1138423386,4158756760,1981396783,2401016740,3699783584,380097457,2680394679,2803068651,3334260286,441530178,4016580796,1375954390,761952171,891809099,2183123478,157052462,3683840763,1592404427,341349109,2438483839,1417898363,644327628,2233032776,2353769706,2201510100,220455161,1815641738,182899273,2995019788,3627381533,3702638151,2890684138,1052606899,588164016,1681439879,4038439418,2405343923,4229449282,167996282,1336969661,1688053129,2739224926,1543734051,1046297529,1138201970,2121126012,115334942,1819067631,1902159161,1941945968,2206692869,1159982321],s[2]=[2381300288,637164959,3952098751,3893414151,1197506559,916448331,2350892612,2932787856,3199334847,4009478890,3905886544,1373570990,2450425862,4037870920,3778841987,2456817877,286293407,124026297,3001279700,1028597854,3115296800,4208886496,2691114635,2188540206,1430237888,1218109995,3572471700,308166588,570424558,2187009021,2455094765,307733056,1310360322,3135275007,1384269543,2388071438,863238079,2359263624,2801553128,3380786597,2831162807,1470087780,1728663345,4072488799,1090516929,532123132,2389430977,1132193179,2578464191,3051079243,1670234342,1434557849,2711078940,1241591150,3314043432,3435360113,3091448339,1812415473,2198440252,267246943,796911696,3619716990,38830015,1526438404,2806502096,374413614,2943401790,1489179520,1603809326,1920779204,168801282,260042626,2358705581,1563175598,2397674057,1356499128,2217211040,514611088,2037363785,2186468373,4022173083,2792511869,2913485016,1173701892,4200428547,3896427269,1334932762,2455136706,602925377,2835607854,1613172210,41346230,2499634548,2457437618,2188827595,41386358,4172255629,1313404830,2405527007,3801973774,2217704835,873260488,2528884354,2478092616,4012915883,2555359016,2006953883,2463913485,575479328,2218240648,2099895446,660001756,2341502190,3038761536,3888151779,3848713377,3286851934,1022894237,1620365795,3449594689,1551255054,15374395,3570825345,4249311020,4151111129,3181912732,310226346,1133119310,530038928,136043402,2476768958,3107506709,2544909567,1036173560,2367337196,1681395281,1758231547,3641649032,306774401,1575354324,3716085866,1990386196,3114533736,2455606671,1262092282,3124342505,2768229131,4210529083,1833535011,423410938,660763973,2187129978,1639812e3,3508421329,3467445492,310289298,272797111,2188552562,2456863912,310240523,677093832,1013118031,901835429,3892695601,1116285435,3036471170,1337354835,243122523,520626091,277223598,4244441197,4194248841,1766575121,594173102,316590669,742362309,3536858622,4176435350,3838792410,2501204839,1229605004,3115755532,1552908988,2312334149,979407927,3959474601,1148277331,176638793,3614686272,2083809052,40992502,1340822838,2731552767,3535757508,3560899520,1354035053,122129617,7215240,2732932949,3118912700,2718203926,2539075635,3609230695,3725561661,1928887091,2882293555,1988674909,2063640240,2491088897,1459647954,4189817080,2302804382,1113892351,2237858528,1927010603,4002880361,1856122846,1594404395,2944033133,3855189863,3474975698,1643104450,4054590833,3431086530,1730235576,2984608721,3084664418,2131803598,4178205752,267404349,1617849798,1616132681,1462223176,736725533,2327058232,551665188,2945899023,1749386277,2575514597,1611482493,674206544,2201269090,3642560800,728599968,1680547377,2620414464,1388111496,453204106,4156223445,1094905244,2754698257,2201108165,3757000246,2704524545,3922940700,3996465027],s[3]=[2645754912,532081118,2814278639,3530793624,1246723035,1689095255,2236679235,4194438865,2116582143,3859789411,157234593,2045505824,4245003587,1687664561,4083425123,605965023,672431967,1336064205,3376611392,214114848,4258466608,3232053071,489488601,605322005,3998028058,264917351,1912574028,756637694,436560991,202637054,135989450,85393697,2152923392,3896401662,2895836408,2145855233,3535335007,115294817,3147733898,1922296357,3464822751,4117858305,1037454084,2725193275,2127856640,1417604070,1148013728,1827919605,642362335,2929772533,909348033,1346338451,3547799649,297154785,1917849091,4161712827,2883604526,3968694238,1469521537,3780077382,3375584256,1763717519,136166297,4290970789,1295325189,2134727907,2798151366,1566297257,3672928234,2677174161,2672173615,965822077,2780786062,289653839,1133871874,3491843819,35685304,1068898316,418943774,672553190,642281022,2346158704,1954014401,3037126780,4079815205,2030668546,3840588673,672283427,1776201016,359975446,3750173538,555499703,2769985273,1324923,69110472,152125443,3176785106,3822147285,1340634837,798073664,1434183902,15393959,216384236,1303690150,3881221631,3711134124,3960975413,106373927,2578434224,1455997841,1801814300,1578393881,1854262133,3188178946,3258078583,2302670060,1539295533,3505142565,3078625975,2372746020,549938159,3278284284,2620926080,181285381,2865321098,3970029511,68876850,488006234,1728155692,2608167508,836007927,2435231793,919367643,3339422534,3655756360,1457871481,40520939,1380155135,797931188,234455205,2255801827,3990488299,397000196,739833055,3077865373,2871719860,4022553888,772369276,390177364,3853951029,557662966,740064294,1640166671,1699928825,3535942136,622006121,3625353122,68743880,1742502,219489963,1664179233,1577743084,1236991741,410585305,2366487942,823226535,1050371084,3426619607,3586839478,212779912,4147118561,1819446015,1911218849,530248558,3486241071,3252585495,2886188651,3410272728,2342195030,20547779,2982490058,3032363469,3631753222,312714466,1870521650,1493008054,3491686656,615382978,4103671749,2534517445,1932181,2196105170,278426614,6369430,3274544417,2913018367,697336853,2143000447,2946413531,701099306,1558357093,2805003052,3500818408,2321334417,3567135975,216290473,3591032198,23009561,1996984579,3735042806,2024298078,3739440863,569400510,2339758983,3016033873,3097871343,3639523026,3844324983,3256173865,795471839,2951117563,4101031090,4091603803,3603732598,971261452,534414648,428311343,3389027175,2844869880,694888862,1227866773,2456207019,3043454569,2614353370,3749578031,3676663836,459166190,4132644070,1794958188,51825668,2252611902,3084671440,2036672799,3436641603,1099053433,2469121526,3059204941,1323291266,2061838604,1018778475,2233344254,2553501054,334295216,3556750194,1065731521,183467730],s[4]=[2127105028,745436345,2601412319,2788391185,3093987327,500390133,1155374404,389092991,150729210,3891597772,3523549952,1935325696,716645080,946045387,2901812282,1774124410,3869435775,4039581901,3293136918,3438657920,948246080,363898952,3867875531,1286266623,1598556673,68334250,630723836,1104211938,1312863373,613332731,2377784574,1101634306,441780740,3129959883,1917973735,2510624549,3238456535,2544211978,3308894634,1299840618,4076074851,1756332096,3977027158,297047435,3790297736,2265573040,3621810518,1311375015,1667687725,47300608,3299642885,2474112369,201668394,1468347890,576830978,3594690761,3742605952,1958042578,1747032512,3558991340,1408974056,3366841779,682131401,1033214337,1545599232,4265137049,206503691,103024618,2855227313,1337551222,2428998917,2963842932,4015366655,3852247746,2796956967,3865723491,3747938335,247794022,3755824572,702416469,2434691994,397379957,851939612,2314769512,218229120,1380406772,62274761,214451378,3170103466,2276210409,3845813286,28563499,446592073,1693330814,3453727194,29968656,3093872512,220656637,2470637031,77972100,1667708854,1358280214,4064765667,2395616961,325977563,4277240721,4220025399,3605526484,3355147721,811859167,3069544926,3962126810,652502677,3075892249,4132761541,3498924215,1217549313,3250244479,3858715919,3053989961,1538642152,2279026266,2875879137,574252750,3324769229,2651358713,1758150215,141295887,2719868960,3515574750,4093007735,4194485238,1082055363,3417560400,395511885,2966884026,179534037,3646028556,3738688086,1092926436,2496269142,257381841,3772900718,1636087230,1477059743,2499234752,3811018894,2675660129,3285975680,90732309,1684827095,1150307763,1723134115,3237045386,1769919919,1240018934,815675215,750138730,2239792499,1234303040,1995484674,138143821,675421338,1145607174,1936608440,3238603024,2345230278,2105974004,323969391,779555213,3004902369,2861610098,1017501463,2098600890,2628620304,2940611490,2682542546,1171473753,3656571411,3687208071,4091869518,393037935,159126506,1662887367,1147106178,391545844,3452332695,1891500680,3016609650,1851642611,546529401,1167818917,3194020571,2848076033,3953471836,575554290,475796850,4134673196,450035699,2351251534,844027695,1080539133,86184846,1554234488,3692025454,1972511363,2018339607,1491841390,1141460869,1061690759,4244549243,2008416118,2351104703,2868147542,1598468138,722020353,1027143159,212344630,1387219594,1725294528,3745187956,2500153616,458938280,4129215917,1828119673,544571780,3503225445,2297937496,1241802790,267843827,2694610800,1397140384,1558801448,3782667683,1806446719,929573330,2234912681,400817706,616011623,4121520928,3603768725,1761550015,1968522284,4053731006,4192232858,4005120285,872482584,3140537016,3894607381,2287405443,1963876937,3663887957,1584857e3,2975024454,1833426440,4025083860],s[5]=[4143615901,749497569,1285769319,3795025788,2514159847,23610292,3974978748,844452780,3214870880,3751928557,2213566365,1676510905,448177848,3730751033,4086298418,2307502392,871450977,3222878141,4110862042,3831651966,2735270553,1310974780,2043402188,1218528103,2736035353,4274605013,2702448458,3936360550,2693061421,162023535,2827510090,687910808,23484817,3784910947,3371371616,779677500,3503626546,3473927188,4157212626,3500679282,4248902014,2466621104,3899384794,1958663117,925738300,1283408968,3669349440,1840910019,137959847,2679828185,1239142320,1315376211,1547541505,1690155329,739140458,3128809933,3933172616,3876308834,905091803,1548541325,4040461708,3095483362,144808038,451078856,676114313,2861728291,2469707347,993665471,373509091,2599041286,4025009006,4170239449,2149739950,3275793571,3749616649,2794760199,1534877388,572371878,2590613551,1753320020,3467782511,1405125690,4270405205,633333386,3026356924,3475123903,632057672,2846462855,1404951397,3882875879,3915906424,195638627,2385783745,3902872553,1233155085,3355999740,2380578713,2702246304,2144565621,3663341248,3894384975,2502479241,4248018925,3094885567,1594115437,572884632,3385116731,767645374,1331858858,1475698373,3793881790,3532746431,1321687957,619889600,1121017241,3440213920,2070816767,2833025776,1933951238,4095615791,890643334,3874130214,859025556,360630002,925594799,1764062180,3920222280,4078305929,979562269,2810700344,4087740022,1949714515,546639971,1165388173,3069891591,1495988560,922170659,1291546247,2107952832,1813327274,3406010024,3306028637,4241950635,153207855,2313154747,1608695416,1150242611,1967526857,721801357,1220138373,3691287617,3356069787,2112743302,3281662835,1111556101,1778980689,250857638,2298507990,673216130,2846488510,3207751581,3562756981,3008625920,3417367384,2198807050,529510932,3547516680,3426503187,2364944742,102533054,2294910856,1617093527,1204784762,3066581635,1019391227,1069574518,1317995090,1691889997,3661132003,510022745,3238594800,1362108837,1817929911,2184153760,805817662,1953603311,3699844737,120799444,2118332377,207536705,2282301548,4120041617,145305846,2508124933,3086745533,3261524335,1877257368,2977164480,3160454186,2503252186,4221677074,759945014,254147243,2767453419,3801518371,629083197,2471014217,907280572,3900796746,940896768,2751021123,2625262786,3161476951,3661752313,3260732218,1425318020,2977912069,1496677566,3988592072,2140652971,3126511541,3069632175,977771578,1392695845,1698528874,1411812681,1369733098,1343739227,3620887944,1142123638,67414216,3102056737,3088749194,1626167401,2546293654,3941374235,697522451,33404913,143560186,2595682037,994885535,1247667115,3859094837,2699155541,3547024625,4114935275,2968073508,3199963069,2732024527,1237921620,951448369,1898488916,1211705605,2790989240,2233243581,3598044975],s[6]=[2246066201,858518887,1714274303,3485882003,713916271,2879113490,3730835617,539548191,36158695,1298409750,419087104,1358007170,749914897,2989680476,1261868530,2995193822,2690628854,3443622377,3780124940,3796824509,2976433025,4259637129,1551479e3,512490819,1296650241,951993153,2436689437,2460458047,144139966,3136204276,310820559,3068840729,643875328,1969602020,1680088954,2185813161,3283332454,672358534,198762408,896343282,276269502,3014846926,84060815,197145886,376173866,3943890818,3813173521,3545068822,1316698879,1598252827,2633424951,1233235075,859989710,2358460855,3503838400,3409603720,1203513385,1193654839,2792018475,2060853022,207403770,1144516871,3068631394,1121114134,177607304,3785736302,326409831,1929119770,2983279095,4183308101,3474579288,3200513878,3228482096,119610148,1170376745,3378393471,3163473169,951863017,3337026068,3135789130,2907618374,1183797387,2015970143,4045674555,2182986399,2952138740,3928772205,384012900,2454997643,10178499,2879818989,2596892536,111523738,2995089006,451689641,3196290696,235406569,1441906262,3890558523,3013735005,4158569349,1644036924,376726067,1006849064,3664579700,2041234796,1021632941,1374734338,2566452058,371631263,4007144233,490221539,206551450,3140638584,1053219195,1853335209,3412429660,3562156231,735133835,1623211703,3104214392,2738312436,4096837757,3366392578,3110964274,3956598718,3196820781,2038037254,3877786376,2339753847,300912036,3766732888,2372630639,1516443558,4200396704,1574567987,4069441456,4122592016,2699739776,146372218,2748961456,2043888151,35287437,2596680554,655490400,1132482787,110692520,1031794116,2188192751,1324057718,1217253157,919197030,686247489,3261139658,1028237775,3135486431,3059715558,2460921700,986174950,2661811465,4062904701,2752986992,3709736643,367056889,1353824391,731860949,1650113154,1778481506,784341916,357075625,3608602432,1074092588,2480052770,3811426202,92751289,877911070,3600361838,1231880047,480201094,3756190983,3094495953,434011822,87971354,363687820,1717726236,1901380172,3926403882,2481662265,400339184,1490350766,2661455099,1389319756,2558787174,784598401,1983468483,30828846,3550527752,2716276238,3841122214,1765724805,1955612312,1277890269,1333098070,1564029816,2704417615,1026694237,3287671188,1260819201,3349086767,1016692350,1582273796,1073413053,1995943182,694588404,1025494639,3323872702,3551898420,4146854327,453260480,1316140391,1435673405,3038941953,3486689407,1622062951,403978347,817677117,950059133,4246079218,3278066075,1486738320,1417279718,481875527,2549965225,3933690356,760697757,1452955855,3897451437,1177426808,1702951038,4085348628,2447005172,1084371187,3516436277,3068336338,1073369276,1027665953,3284188590,1230553676,1368340146,2226246512,267243139,2274220762,4070734279,2497715176,2423353163,2504755875],s[7]=[3793104909,3151888380,2817252029,895778965,2005530807,3871412763,237245952,86829237,296341424,3851759377,3974600970,2475086196,709006108,1994621201,2972577594,937287164,3734691505,168608556,3189338153,2225080640,3139713551,3033610191,3025041904,77524477,185966941,1208824168,2344345178,1721625922,3354191921,1066374631,1927223579,1971335949,2483503697,1551748602,2881383779,2856329572,3003241482,48746954,1398218158,2050065058,313056748,4255789917,393167848,1912293076,940740642,3465845460,3091687853,2522601570,2197016661,1727764327,364383054,492521376,1291706479,3264136376,1474851438,1685747964,2575719748,1619776915,1814040067,970743798,1561002147,2925768690,2123093554,1880132620,3151188041,697884420,2550985770,2607674513,2659114323,110200136,1489731079,997519150,1378877361,3527870668,478029773,2766872923,1022481122,431258168,1112503832,897933369,2635587303,669726182,3383752315,918222264,163866573,3246985393,3776823163,114105080,1903216136,761148244,3571337562,1690750982,3166750252,1037045171,1888456500,2010454850,642736655,616092351,365016990,1185228132,4174898510,1043824992,2023083429,2241598885,3863320456,3279669087,3674716684,108438443,2132974366,830746235,606445527,4173263986,2204105912,1844756978,2532684181,4245352700,2969441100,3796921661,1335562986,4061524517,2720232303,2679424040,634407289,885462008,3294724487,3933892248,2094100220,339117932,4048830727,3202280980,1458155303,2689246273,1022871705,2464987878,3714515309,353796843,2822958815,4256850100,4052777845,551748367,618185374,3778635579,4020649912,1904685140,3069366075,2670879810,3407193292,2954511620,4058283405,2219449317,3135758300,1120655984,3447565834,1474845562,3577699062,550456716,3466908712,2043752612,881257467,869518812,2005220179,938474677,3305539448,3850417126,1315485940,3318264702,226533026,965733244,321539988,1136104718,804158748,573969341,3708209826,937399083,3290727049,2901666755,1461057207,4013193437,4066861423,3242773476,2421326174,1581322155,3028952165,786071460,3900391652,3918438532,1485433313,4023619836,3708277595,3678951060,953673138,1467089153,1930354364,1533292819,2492563023,1346121658,1685000834,1965281866,3765933717,4190206607,2052792609,3515332758,690371149,3125873887,2180283551,2903598061,3933952357,436236910,289419410,14314871,1242357089,2904507907,1616633776,2666382180,585885352,3471299210,2699507360,1432659641,277164553,3354103607,770115018,2303809295,3741942315,3177781868,2853364978,2269453327,3774259834,987383833,1290892879,225909803,1741533526,890078084,1496906255,1111072499,916028167,243534141,1252605537,2204162171,531204876,290011180,3916834213,102027703,237315147,209093447,1486785922,220223953,2758195998,4175039106,82940208,3127791296,2569425252,518464269,1353887104,3941492737,2377294467,3935040926]}function Df(e){this.cast5=new Pf,this.cast5.setKey(e),this.encrypt=function(e){return this.cast5.encrypt(e)}}Uf.keySize=Uf.prototype.keySize=24,Uf.blockSize=Uf.prototype.blockSize=8,Df.blockSize=Df.prototype.blockSize=8,Df.keySize=Df.prototype.keySize=16;const xf=4294967295;function Qf(e,t){return(e<<t|e>>>32-t)&xf}function Rf(e,t){return e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24}function Tf(e,t,r){e.splice(t,4,255&r,r>>>8&255,r>>>16&255,r>>>24&255)}function Mf(e,t){return e>>>8*t&255}function Lf(e){this.tf=function(){let e=null,t=null,r=-1,n=[],i=[[],[],[],[]];function s(e){return i[0][Mf(e,0)]^i[1][Mf(e,1)]^i[2][Mf(e,2)]^i[3][Mf(e,3)]}function a(e){return i[0][Mf(e,3)]^i[1][Mf(e,0)]^i[2][Mf(e,1)]^i[3][Mf(e,2)]}function o(e,t){let r=s(t[0]),i=a(t[1]);t[2]=Qf(t[2]^r+i+n[4*e+8]&xf,31),t[3]=Qf(t[3],1)^r+2*i+n[4*e+9]&xf,r=s(t[2]),i=a(t[3]),t[0]=Qf(t[0]^r+i+n[4*e+10]&xf,31),t[1]=Qf(t[1],1)^r+2*i+n[4*e+11]&xf}function c(e,t){let r=s(t[0]),i=a(t[1]);t[2]=Qf(t[2],1)^r+i+n[4*e+10]&xf,t[3]=Qf(t[3]^r+2*i+n[4*e+11]&xf,31),r=s(t[2]),i=a(t[3]),t[0]=Qf(t[0],1)^r+i+n[4*e+8]&xf,t[1]=Qf(t[1]^r+2*i+n[4*e+9]&xf,31)}return{name:"twofish",blocksize:16,open:function(t){let r,s,a,o,c;e=t;const u=[],h=[],l=[];let y;const f=[];let p,g,d;const A=[[8,1,7,13,6,15,3,2,0,11,5,9,14,12,10,4],[2,8,11,13,15,7,6,14,3,1,9,4,0,10,12,5]],w=[[14,12,11,8,1,2,3,5,15,4,10,6,7,0,9,13],[1,14,2,11,4,12,3,7,6,13,10,5,15,9,0,8]],m=[[11,10,5,14,6,13,9,0,12,8,15,3,2,4,7,1],[4,12,7,5,1,6,9,10,0,14,13,8,2,11,3,15]],b=[[13,7,15,4,1,2,6,14,9,11,3,0,8,5,12,10],[11,9,5,1,12,3,13,14,6,4,7,15,2,0,8,10]],k=[0,8,1,9,2,10,3,11,4,12,5,13,6,14,7,15],E=[0,9,2,11,4,13,6,15,8,1,10,3,12,5,14,7],v=[[],[]],B=[[],[],[],[]];function S(e){return e^e>>2^[0,90,180,238][3&e]}function I(e){return e^e>>1^e>>2^[0,238,180,90][3&e]}function K(e,t){let r,n,i;for(r=0;r<8;r++)n=t>>>24,t=t<<8&xf|e>>>24,e=e<<8&xf,i=n<<1,128&n&&(i^=333),t^=n^i<<16,i^=n>>>1,1&n&&(i^=166),t^=i<<24|i<<8;return t}function C(e,t){const r=t>>4,n=15&t,i=A[e][r^n],s=w[e][k[n]^E[r]];return b[e][k[s]^E[i]]<<4|m[e][i^s]}function U(e,t){let r=Mf(e,0),n=Mf(e,1),i=Mf(e,2),s=Mf(e,3);switch(y){case 4:r=v[1][r]^Mf(t[3],0),n=v[0][n]^Mf(t[3],1),i=v[0][i]^Mf(t[3],2),s=v[1][s]^Mf(t[3],3);case 3:r=v[1][r]^Mf(t[2],0),n=v[1][n]^Mf(t[2],1),i=v[0][i]^Mf(t[2],2),s=v[0][s]^Mf(t[2],3);case 2:r=v[0][v[0][r]^Mf(t[1],0)]^Mf(t[0],0),n=v[0][v[1][n]^Mf(t[1],1)]^Mf(t[0],1),i=v[1][v[0][i]^Mf(t[1],2)]^Mf(t[0],2),s=v[1][v[1][s]^Mf(t[1],3)]^Mf(t[0],3)}return B[0][r]^B[1][n]^B[2][i]^B[3][s]}for(e=e.slice(0,32),r=e.length;16!==r&&24!==r&&32!==r;)e[r++]=0;for(r=0;r<e.length;r+=4)l[r>>2]=Rf(e,r);for(r=0;r<256;r++)v[0][r]=C(0,r),v[1][r]=C(1,r);for(r=0;r<256;r++)p=v[1][r],g=S(p),d=I(p),B[0][r]=p+(g<<8)+(d<<16)+(d<<24),B[2][r]=g+(d<<8)+(p<<16)+(d<<24),p=v[0][r],g=S(p),d=I(p),B[1][r]=d+(d<<8)+(g<<16)+(p<<24),B[3][r]=g+(p<<8)+(d<<16)+(g<<24);for(y=l.length/2,r=0;r<y;r++)s=l[r+r],u[r]=s,a=l[r+r+1],h[r]=a,f[y-r-1]=K(s,a);for(r=0;r<40;r+=2)s=16843009*r,a=s+16843009,s=U(s,u),a=Qf(U(a,h),8),n[r]=s+a&xf,n[r+1]=Qf(s+2*a,9);for(r=0;r<256;r++)switch(s=a=o=c=r,y){case 4:s=v[1][s]^Mf(f[3],0),a=v[0][a]^Mf(f[3],1),o=v[0][o]^Mf(f[3],2),c=v[1][c]^Mf(f[3],3);case 3:s=v[1][s]^Mf(f[2],0),a=v[1][a]^Mf(f[2],1),o=v[0][o]^Mf(f[2],2),c=v[0][c]^Mf(f[2],3);case 2:i[0][r]=B[0][v[0][v[0][s]^Mf(f[1],0)]^Mf(f[0],0)],i[1][r]=B[1][v[0][v[1][a]^Mf(f[1],1)]^Mf(f[0],1)],i[2][r]=B[2][v[1][v[0][o]^Mf(f[1],2)]^Mf(f[0],2)],i[3][r]=B[3][v[1][v[1][c]^Mf(f[1],3)]^Mf(f[0],3)]}},close:function(){n=[],i=[[],[],[],[]]},encrypt:function(e,i){t=e,r=i;const s=[Rf(t,r)^n[0],Rf(t,r+4)^n[1],Rf(t,r+8)^n[2],Rf(t,r+12)^n[3]];for(let e=0;e<8;e++)o(e,s);return Tf(t,r,s[2]^n[4]),Tf(t,r+4,s[3]^n[5]),Tf(t,r+8,s[0]^n[6]),Tf(t,r+12,s[1]^n[7]),r+=16,t},decrypt:function(e,i){t=e,r=i;const s=[Rf(t,r)^n[4],Rf(t,r+4)^n[5],Rf(t,r+8)^n[6],Rf(t,r+12)^n[7]];for(let e=7;e>=0;e--)c(e,s);Tf(t,r,s[2]^n[0]),Tf(t,r+4,s[3]^n[1]),Tf(t,r+8,s[0]^n[2]),Tf(t,r+12,s[1]^n[3]),r+=16},finalize:function(){return t}}}(),this.tf.open(Array.from(e),0),this.encrypt=function(e){return this.tf.encrypt(Array.from(e),0)}}function Nf(){}function Ff(e){this.bf=new Nf,this.bf.init(e),this.encrypt=function(e){return this.bf.encryptBlock(e)}}Lf.keySize=Lf.prototype.keySize=32,Lf.blockSize=Lf.prototype.blockSize=16,Nf.prototype.BLOCKSIZE=8,Nf.prototype.SBOXES=[[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462]],Nf.prototype.PARRAY=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],Nf.prototype.NN=16,Nf.prototype._clean=function(e){if(e<0){e=(2147483647&e)+2147483648}return e},Nf.prototype._F=function(e){let t;const r=255&e,n=255&(e>>>=8),i=255&(e>>>=8),s=255&(e>>>=8);return t=this.sboxes[0][s]+this.sboxes[1][i],t^=this.sboxes[2][n],t+=this.sboxes[3][r],t},Nf.prototype._encryptBlock=function(e){let t,r=e[0],n=e[1];for(t=0;t<this.NN;++t){r^=this.parray[t],n=this._F(r)^n;const e=r;r=n,n=e}r^=this.parray[this.NN+0],n^=this.parray[this.NN+1],e[0]=this._clean(n),e[1]=this._clean(r)},Nf.prototype.encryptBlock=function(e){let t;const r=[0,0],n=this.BLOCKSIZE/2;for(t=0;t<this.BLOCKSIZE/2;++t)r[0]=r[0]<<8|255&e[t+0],r[1]=r[1]<<8|255&e[t+n];this._encryptBlock(r);const i=[];for(t=0;t<this.BLOCKSIZE/2;++t)i[t+0]=r[0]>>>24-8*t&255,i[t+n]=r[1]>>>24-8*t&255;return i},Nf.prototype._decryptBlock=function(e){let t,r=e[0],n=e[1];for(t=this.NN+1;t>1;--t){r^=this.parray[t],n=this._F(r)^n;const e=r;r=n,n=e}r^=this.parray[1],n^=this.parray[0],e[0]=this._clean(n),e[1]=this._clean(r)},Nf.prototype.init=function(e){let t,r=0;for(this.parray=[],t=0;t<this.NN+2;++t){let n=0;for(let t=0;t<4;++t)n=n<<8|255&e[r],++r>=e.length&&(r=0);this.parray[t]=this.PARRAY[t]^n}for(this.sboxes=[],t=0;t<4;++t)for(this.sboxes[t]=[],r=0;r<256;++r)this.sboxes[t][r]=this.SBOXES[t][r];const n=[0,0];for(t=0;t<this.NN+2;t+=2)this._encryptBlock(n),this.parray[t+0]=n[0],this.parray[t+1]=n[1];for(t=0;t<4;++t)for(r=0;r<256;r+=2)this._encryptBlock(n),this.sboxes[t][r+0]=n[0],this.sboxes[t][r+1]=n[1]},Ff.keySize=Ff.prototype.keySize=16,Ff.blockSize=Ff.prototype.blockSize=8;const Of=new Map(Object.entries({tripledes:Uf,cast5:Df,twofish:Lf,blowfish:Ff}));var Hf=/*#__PURE__*/Object.freeze({__proto__:null,legacyCiphers:Of});
17
- /*! noble-post-quantum - MIT License (c) 2024 Paul Miller (paulmillr.com) */const _f=Tu,zf=Wu;function Gf(e,t){if(e.length!==t.length)return!1;let r=0;for(let n=0;n<e.length;n++)r|=e[n]^t[n];return 0===r}function qf(...e){const t=e=>"number"==typeof e?e:e.bytesLen,r=e.reduce(((e,r)=>e+t(r)),0);return{bytesLen:r,encode:n=>{const i=new Uint8Array(r);for(let r=0,s=0;r<e.length;r++){const a=e[r],o=t(a),c="number"==typeof a?n[r]:a.encode(n[r]);_f(c,o),i.set(c,s),"number"!=typeof a&&c.fill(0),s+=o}return i},decode:n=>{_f(n,r);const i=[];for(const r of e){const e=t(r),s=n.subarray(0,e);i.push("number"==typeof r?s:r.decode(s)),n=n.subarray(e)}return i}}}function jf(e,t){const r=t*e.bytesLen;return{bytesLen:r,encode:n=>{if(n.length!==t)throw Error(`vecCoder.encode: wrong length=${n.length}. Expected: ${t}`);const i=new Uint8Array(r);for(let t=0,r=0;t<n.length;t++){const s=e.encode(n[t]);i.set(s,r),s.fill(0),r+=s.length}return i},decode:t=>{_f(t,r);const n=[];for(let r=0;r<t.length;r+=e.bytesLen)n.push(e.decode(t.subarray(r,r+e.bytesLen)));return n}}}function Vf(...e){for(const t of e)if(Array.isArray(t))for(const e of t)e.fill(0);else t.fill(0)}function Yf(e){return(1<<e)-1}
18
- /*! noble-post-quantum - MIT License (c) 2024 Paul Miller (paulmillr.com) */function Zf(e,t=8){const r=e.toString(2).padStart(8,"0").slice(-t).padStart(7,"0").split("").reverse().join("");return Number.parseInt(r,2)}const Wf=e=>{const{newPoly:t,N:r,Q:n,F:i,ROOT_OF_UNITY:s,brvBits:a,isKyber:o}=e,c=(e,t=n)=>{const r=e%t|0;return 0|(r>=0?r:t+r)};const u=function(){const e=t(r);for(let t=0;t<r;t++){const r=Zf(t,a),i=BigInt(s)**BigInt(r)%BigInt(n);e[t]=0|Number(i)}return e}(),h=o?128:r,l=o?1:0,y={encode:e=>{for(let t=1,n=128;n>l;n>>=1)for(let i=0;i<r;i+=2*n){const r=u[t++];for(let t=i;t<i+n;t++){const i=c(r*e[t+n]);e[t+n]=0|c(e[t]-i),e[t]=0|c(e[t]+i)}}return e},decode:e=>{for(let t=h-1,n=1+l;n<h+l;n<<=1)for(let i=0;i<r;i+=2*n){const r=u[t--];for(let t=i;t<i+n;t++){const i=e[t];e[t]=c(i+e[t+n]),e[t+n]=c(r*(e[t+n]-i))}}for(let t=0;t<e.length;t++)e[t]=c(i*e[t]);return e}};return{mod:c,smod:(e,t=n)=>{const r=0|c(e,t);return 0|(r>t>>1?r-t:r)},nttZetas:u,NTT:y,bitsCoder:(e,n)=>{const i=Yf(e),s=e*(r/8);return{bytesLen:s,encode:t=>{const r=new Uint8Array(s);for(let s=0,a=0,o=0,c=0;s<t.length;s++)for(a|=(n.encode(t[s])&i)<<o,o+=e;o>=8;o-=8,a>>=8)r[c++]=a&Yf(o);return r},decode:s=>{const a=t(r);for(let t=0,r=0,o=0,c=0;t<s.length;t++)for(r|=s[t]<<o,o+=8;o>=e;o-=e,r>>=e)a[c++]=n.decode(r&i);return a}}}}},Jf=e=>(t,r)=>{r||(r=e.blockLen);const n=new Uint8Array(t.length+2);n.set(t);const i=t.length,s=new Uint8Array(r);let a=e.create({}),o=0,c=0;return{stats:()=>({calls:o,xofs:c}),get:(t,r)=>(n[i+0]=t,n[i+1]=r,a.destroy(),a=e.create({}).update(n),o++,()=>(c++,a.xofInto(s))),clean:()=>{a.destroy(),s.fill(0),n.fill(0)}}},Xf=/* @__PURE__ */Jf(fy),$f=/* @__PURE__ */Jf(py),ep=256,tp=3329,{mod:rp,nttZetas:np,NTT:ip,bitsCoder:sp}=Wf({N:ep,Q:tp,F:3303,ROOT_OF_UNITY:17,newPoly:e=>new Uint16Array(e),brvBits:7,isKyber:!0}),ap=e=>sp(e,(e=>{if(e>=12)return{encode:e=>e,decode:e=>e};const t=2**(e-1);return{encode:t=>((t<<e)+tp/2)/tp,decode:r=>r*tp+t>>>e}})(e));function op(e,t){for(let r=0;r<ep;r++)e[r]=rp(e[r]+t[r])}function cp(e,t){for(let a=0;a<128;a++){let o=np[64+(a>>1)];1&a&&(o=-o);const{c0:c,c1:u}=(r=e[2*a+0],n=e[2*a+1],i=t[2*a+0],s=t[2*a+1],{c0:rp(n*s*o+r*i),c1:rp(r*s+n*i)});e[2*a+0]=c,e[2*a+1]=u}var r,n,i,s;return e}function up(e){const t=new Uint16Array(ep);for(let r=0;r<ep;){const n=e();if(n.length%3)throw Error("SampleNTT: unaligned block");for(let e=0;r<ep&&e+3<=n.length;e+=3){const i=4095&(n[e+0]|n[e+1]<<8),s=4095&(n[e+1]>>4|n[e+2]<<4);i<tp&&(t[r++]=i),r<ep&&s<tp&&(t[r++]=s)}}return t}function hp(e,t,r,n){const i=e(n*ep/4,t,r),s=new Uint16Array(ep),a=Fu(i);let o=0;for(let e=0,t=0,r=0,i=0;e<a.length;e++){let c=a[e];for(let e=0;e<32;e++)r+=1&c,c>>=1,o+=1,o===n?(i=r,r=0):o===2*n&&(s[t++]=rp(i-r),r=0,o=0)}if(o)throw Error("sampleCBD: leftover bits: "+o);return s}const lp=e=>{const{K:t,PRF:r,XOF:n,HASH512:i,ETA1:s,ETA2:a,du:o,dv:c}=e,u=ap(1),h=ap(c),l=ap(o),y=qf(jf(ap(12),t),32),f=jf(ap(12),t),p=qf(jf(l,t),h),g=qf(32,32);return{secretCoder:f,secretKeyLen:f.bytesLen,publicKeyLen:y.bytesLen,cipherTextLen:p.bytesLen,keygen:e=>{const a=new Uint8Array(33);a.set(e),a[32]=t;const o=i(a),[c,u]=g.decode(o),h=[],l=[];for(let e=0;e<t;e++)h.push(ip.encode(hp(r,u,e,s)));const p=n(c);for(let e=0;e<t;e++){const n=ip.encode(hp(r,u,t+e,s));for(let r=0;r<t;r++){op(n,cp(up(p.get(r,e)),h[r]))}l.push(n)}p.clean();const d={publicKey:y.encode([l,c]),secretKey:f.encode(h)};return Vf(c,u,h,l,a,o),d},encrypt:(e,i,o)=>{const[c,h]=y.decode(e),l=[];for(let e=0;e<t;e++)l.push(ip.encode(hp(r,o,e,s)));const f=n(h),g=new Uint16Array(ep),d=[];for(let e=0;e<t;e++){const n=hp(r,o,t+e,a),i=new Uint16Array(ep);for(let r=0;r<t;r++){op(i,cp(up(f.get(e,r)),l[r]))}op(n,ip.decode(i)),d.push(n),op(g,cp(c[e],l[e])),i.fill(0)}f.clean();const A=hp(r,o,2*t,a);op(A,ip.decode(g));const w=u.decode(i);return op(w,A),Vf(c,l,g,A),p.encode([d,w])},decrypt:(e,r)=>{const[n,i]=p.decode(e),s=f.decode(r),a=new Uint16Array(ep);for(let e=0;e<t;e++)op(a,cp(s[e],ip.encode(n[e])));return function(e,t){for(let r=0;r<ep;r++)e[r]=rp(e[r]-t[r])}(i,ip.decode(a)),Vf(a,s,n),u.encode(i)}}};function yp(e){const t=lp(e),{HASH256:r,HASH512:n,KDF:i}=e,{secretCoder:s,cipherTextLen:a}=t,o=t.publicKeyLen,c=qf(t.secretKeyLen,t.publicKeyLen,32,32),u=c.bytesLen;return{publicKeyLen:o,msgLen:32,keygen:(e=zf(64))=>{_f(e,64);const{publicKey:n,secretKey:i}=t.keygen(e.subarray(0,32)),s=r(n),a=c.encode([i,n,s,e.subarray(32)]);return Vf(i,s),{publicKey:n,secretKey:a}},encapsulate:(i,a=zf(32))=>{_f(i,o),_f(a,32);const c=i.subarray(0,384*e.K),u=s.encode(s.decode(c.slice()));if(!Gf(u,c))throw Vf(u),Error("ML-KEM.encapsulate: wrong publicKey modulus");Vf(u);const h=n.create().update(a).update(r(i)).digest(),l=t.encrypt(i,a,h.subarray(32,64));return h.subarray(32).fill(0),{cipherText:l,sharedSecret:h.subarray(0,32)}},decapsulate:(e,r)=>{_f(r,u),_f(e,a);const[s,o,h,l]=c.decode(r),y=t.decrypt(e,s),f=n.create().update(y).update(h).digest(),p=f.subarray(0,32),g=t.encrypt(o,y,f.subarray(32,64)),d=Gf(e,g),A=i.create({dkLen:32}).update(l).update(e).digest();return Vf(y,g,d?A:p),d?p:A}}}const fp=/* @__PURE__ */yp({...{HASH256:hy,HASH512:ly,KDF:py,XOF:Xf,PRF:function(e,t,r){return py.create({dkLen:e}).update(t).update(new Uint8Array([r])).digest()}},...{N:ep,Q:tp,K:3,ETA1:2,ETA2:2,du:10,dv:4,RBGstrength:192}}),pp=256,gp=8380417,dp=13,Ap=0|Math.floor((gp-1)/88),wp=0|Math.floor((gp-1)/32),mp={K:6,L:5,D:dp,GAMMA1:2**19,GAMMA2:wp,TAU:49,ETA:4,OMEGA:55},bp=e=>new Int32Array(e),{mod:kp,smod:Ep,NTT:vp,bitsCoder:Bp}=Wf({N:pp,Q:gp,F:8347681,ROOT_OF_UNITY:1753,newPoly:bp,isKyber:!1,brvBits:8}),Sp=e=>e,Ip=(e,t=Sp,r=Sp)=>Bp(e,{encode:e=>t(r(e)),decode:e=>r(t(e))}),Kp=(e,t)=>{for(let r=0;r<e.length;r++)e[r]=kp(e[r]+t[r]);return e},Cp=(e,t)=>{for(let r=0;r<e.length;r++)e[r]=kp(e[r]-t[r]);return e},Up=e=>{for(let t=0;t<pp;t++)e[t]<<=dp;return e},Pp=(e,t)=>{for(let r=0;r<pp;r++)if(Math.abs(Ep(e[r]))>=t)return!0;return!1},Dp=(e,t)=>{const r=bp(pp);for(let n=0;n<e.length;n++)r[n]=kp(e[n]*t[n]);return r};function xp(e){const t=bp(pp);for(let r=0;r<pp;){const n=e();if(n.length%3)throw Error("RejNTTPoly: unaligned block");for(let e=0;r<pp&&e<=n.length-3;e+=3){const i=8388607&(n[e+0]|n[e+1]<<8|n[e+2]<<16);i<gp&&(t[r++]=i)}}return t}const Qp=new Uint8Array(0);function Rp(e){const{K:t,L:r,GAMMA1:n,GAMMA2:i,TAU:s,ETA:a,OMEGA:o}=e,{CRH_BYTES:c,TR_BYTES:u,C_TILDE_BYTES:h,XOF128:l,XOF256:y}=e;if(![2,4].includes(a))throw Error("Wrong ETA");if(![1<<17,1<<19].includes(n))throw Error("Wrong GAMMA1");if(![Ap,wp].includes(i))throw Error("Wrong GAMMA2");const f=s*a,p=e=>{const t=kp(e),r=0|Ep(t,2*i);if(t-r==gp-1)return{r1:0,r0:r-1|0};return{r1:0|Math.floor((t-r)/(2*i)),r0:r}},g=e=>p(e).r1,d=e=>p(e).r0,A=(e,t)=>{const r=Math.floor((gp-1)/(2*i)),{r1:n,r0:s}=p(t);return 1===e?s>0?0|kp(n+1,r):0|kp(n-1,r):0|n},w=e=>{const t=kp(e),r=0|Ep(t,8192);return{r1:0|Math.floor((t-r)/8192),r0:r}},m={bytesLen:o+t,encode:e=>{if(!1===e)throw Error("hint.encode: hint is false");const r=new Uint8Array(o+t);for(let n=0,i=0;n<t;n++){for(let t=0;t<pp;t++)0!==e[n][t]&&(r[i++]=t);r[o+n]=i}return r},decode:e=>{const r=[];let n=0;for(let i=0;i<t;i++){const t=bp(pp);if(e[o+i]<n||e[o+i]>o)return!1;for(let r=n;r<e[o+i];r++){if(r>n&&e[r]<=e[r-1])return!1;t[e[r]]=1}n=e[o+i],r.push(t)}for(let t=n;t<o;t++)if(0!==e[t])return!1;return r}},b=Ip(2===a?3:4,(e=>a-e),(e=>{if(!(-a<=e&&e<=a))throw Error(`malformed key s1/s3 ${e} outside of ETA range [${-a}, ${a}]`);return e})),k=Ip(13,(e=>4096-e)),E=Ip(10),v=Ip(n===1<<17?18:20,(e=>Ep(n-e))),B=jf(Ip(i===Ap?6:4),t),S=qf(32,jf(E,t)),I=qf(32,32,u,jf(b,r),jf(b,t),jf(k,t)),K=qf(h,jf(v,r),m),C=2===a?e=>e<15&&2-e%5:e=>e<9&&4-e;function U(e){const t=bp(pp);for(let r=0;r<pp;){const n=e();for(let e=0;r<pp&&e<n.length;e+=1){const i=C(15&n[e]),s=C(n[e]>>4&15);!1!==i&&(t[r++]=i),r<pp&&!1!==s&&(t[r++]=s)}}return t}const P=e=>{const t=bp(pp),r=py.create({}).update(e),n=new Uint8Array(py.blockLen);r.xofInto(n);const i=n.slice(0,8);for(let e=pp-s,a=8,o=0,c=0;e<pp;e++){let s=e+1;for(;s>e;)s=n[a++],a<py.blockLen||(r.xofInto(n),a=0);t[e]=t[s],t[s]=1-((i[o]>>c++&1)<<1),c>=8&&(o++,c=0)}return t},D=e=>{const t=bp(pp),r=bp(pp);for(let n=0;n<e.length;n++){const{r0:i,r1:s}=w(e[n]);t[n]=i,r[n]=s}return{r0:t,r1:r}},x=(e,t)=>{for(let r=0;r<pp;r++)e[r]=A(t[r],e[r]);return e},Q=(e,t)=>{const r=bp(pp);let n=0;for(let o=0;o<pp;o++){const c=(s=e[o],a=t[o],s<=i||s>gp-i||s===gp-i&&0===a?0:1);r[o]=c,n+=c}var s,a;return{v:r,cnt:n}},R=qf(32,64,32),T={signRandBytes:32,keygen:(e=zf(32))=>{const n=new Uint8Array(34);n.set(e),n[32]=t,n[33]=r;const[i,s,a]=R.decode(py(n,{dkLen:R.bytesLen})),o=y(s),c=[];for(let e=0;e<r;e++)c.push(U(o.get(255&e,e>>8&255)));const h=[];for(let e=r;e<r+t;e++)h.push(U(o.get(255&e,e>>8&255)));const f=c.map((e=>vp.encode(e.slice()))),p=[],g=[],d=l(i),A=bp(pp);for(let e=0;e<t;e++){A.fill(0);for(let t=0;t<r;t++){const r=xp(d.get(t,e));Kp(A,Dp(r,f[t]))}vp.decode(A);const{r0:t,r1:n}=D(Kp(A,h[e]));p.push(t),g.push(n)}const w=S.encode([i,g]),m=py(w,{dkLen:u}),b=I.encode([i,a,m,c,h,p]);return d.clean(),o.clean(),Vf(i,s,a,c,h,f,A,p,g,m,n),{publicKey:w,secretKey:b}},sign:(e,s,a)=>{const[u,p,A,w,m,b]=I.decode(e),k=[],E=l(u);for(let e=0;e<t;e++){const t=[];for(let n=0;n<r;n++)t.push(xp(E.get(n,e)));k.push(t)}E.clean();for(let e=0;e<r;e++)vp.encode(w[e]);for(let e=0;e<t;e++)vp.encode(m[e]),vp.encode(b[e]);const S=py.create({dkLen:c}).update(A).update(s).digest(),C=a||new Uint8Array(32);_f(C);const U=py.create({dkLen:c}).update(p).update(C).update(S).digest();_f(U,c);const D=y(U,v.bytesLen);e:for(let e=0;;){const s=[];for(let t=0;t<r;t++,e++)s.push(v.decode(D.get(255&e,e>>8)()));const a=s.map((e=>vp.encode(e.slice()))),c=[];for(let e=0;e<t;e++){const t=bp(pp);for(let n=0;n<r;n++)Kp(t,Dp(k[e][n],a[n]));vp.decode(t),c.push(t)}const u=c.map((e=>e.map(g))),l=py.create({dkLen:h}).update(S).update(B.encode(u)).digest(),y=vp.encode(P(l)),p=w.map((e=>Dp(e,y)));for(let e=0;e<r;e++)if(Kp(vp.decode(p[e]),s[e]),Pp(p[e],n-f))continue e;let A=0;const E=[];for(let e=0;e<t;e++){const t=vp.decode(Dp(m[e],y)),r=Cp(c[e],t).map(d);if(Pp(r,i-f))continue e;const n=vp.decode(Dp(b[e],y));if(Pp(n,i))continue e;Kp(r,n);const s=Q(r,u[e]);E.push(s.v),A+=s.cnt}if(A>o)continue;D.clean();const I=K.encode([l,p,E]);return Vf(l,p,E,y,u,c,a,s,U,S,w,m,b,...k),I}throw Error("Unreachable code path reached, report this error")},verify:(e,i,s)=>{const[a,y]=S.decode(e),p=py(e,{dkLen:u});if(s.length!==K.bytesLen)return!1;const[g,d,A]=K.decode(s);if(!1===A)return!1;for(let e=0;e<r;e++)if(Pp(d[e],n-f))return!1;const w=py.create({dkLen:c}).update(p).update(i).digest(),m=vp.encode(P(g)),b=d.map((e=>e.slice()));for(let e=0;e<r;e++)vp.encode(b[e]);const k=[],E=l(a);for(let e=0;e<t;e++){const t=Dp(vp.encode(Up(y[e])),m),n=bp(pp);for(let t=0;t<r;t++){const r=xp(E.get(t,e));Kp(n,Dp(r,b[t]))}const i=vp.decode(Cp(n,t));k.push(x(i,A[e]))}E.clean();const v=py.create({dkLen:h}).update(w).update(B.encode(k)).digest();for(const e of A){const t=e.reduce(((e,t)=>e+t),0);if(!(t<=o))return!1}for(const e of d)if(Pp(e,n-f))return!1;return Gf(g,v)}},M=(e,t=Qp)=>{if(_f(e),_f(t),t.length>255)throw Error("context should be less than 255 bytes");return Vu(new Uint8Array([0,t.length]),t,e)};return{internal:T,keygen:T.keygen,signRandBytes:T.signRandBytes,sign:(e,t,r=Qp,n)=>{const i=M(t,r),s=T.sign(e,i,n);return i.fill(0),s},verify:(e,t,r,n=Qp)=>T.verify(e,M(t,n),r)}}const Tp=/* @__PURE__ */Rp({...mp,CRH_BYTES:64,TR_BYTES:64,C_TILDE_BYTES:48,XOF128:Xf,XOF256:$f});var Mp=/*#__PURE__*/Object.freeze({__proto__:null,ml_dsa65:Tp,ml_kem768:fp});function Lp(e,t,r,n){e[t]+=r[n],e[t+1]+=r[n+1]+(e[t]<r[n])}function Np(e,t){e[0]+=t,e[1]+=e[0]<t}function Fp(e,t,r,n,i,s,a,o){Lp(e,r,e,n),Lp(e,r,t,a);let c=e[s]^e[r],u=e[s+1]^e[r+1];e[s]=u,e[s+1]=c,Lp(e,i,e,s),c=e[n]^e[i],u=e[n+1]^e[i+1],e[n]=c>>>24^u<<8,e[n+1]=u>>>24^c<<8,Lp(e,r,e,n),Lp(e,r,t,o),c=e[s]^e[r],u=e[s+1]^e[r+1],e[s]=c>>>16^u<<16,e[s+1]=u>>>16^c<<16,Lp(e,i,e,s),c=e[n]^e[i],u=e[n+1]^e[i+1],e[n]=u>>>31^c<<1,e[n+1]=c>>>31^u<<1}const Op=new Uint32Array([4089235720,1779033703,2227873595,3144134277,4271175723,1013904242,1595750129,2773480762,2917565137,1359893119,725511199,2600822924,4215389547,528734635,327033209,1541459225]),Hp=new Uint8Array([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9,12,5,1,15,14,13,4,10,0,7,6,3,9,2,8,11,13,11,7,14,12,1,3,9,5,0,15,4,8,6,2,10,6,15,14,9,11,3,0,8,12,2,13,7,1,4,10,5,10,2,8,4,7,6,1,5,15,11,9,14,3,12,13,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3].map((e=>2*e)));function _p(e,t){const r=new Uint32Array(32),n=new Uint32Array(e.b.buffer,e.b.byteOffset,32);for(let t=0;t<16;t++)r[t]=e.h[t],r[t+16]=Op[t];r[24]^=e.t0[0],r[25]^=e.t0[1];const i=t?4294967295:0;r[28]^=i,r[29]^=i;for(let e=0;e<12;e++){const t=e<<4;Fp(r,n,0,8,16,24,Hp[t+0],Hp[t+1]),Fp(r,n,2,10,18,26,Hp[t+2],Hp[t+3]),Fp(r,n,4,12,20,28,Hp[t+4],Hp[t+5]),Fp(r,n,6,14,22,30,Hp[t+6],Hp[t+7]),Fp(r,n,0,10,20,30,Hp[t+8],Hp[t+9]),Fp(r,n,2,12,22,24,Hp[t+10],Hp[t+11]),Fp(r,n,4,14,16,26,Hp[t+12],Hp[t+13]),Fp(r,n,6,8,18,28,Hp[t+14],Hp[t+15])}for(let t=0;t<16;t++)e.h[t]^=r[t]^r[t+16]}class zp{constructor(e,t,r,n){const i=new Uint8Array(64);this.S={b:new Uint8Array(jp),h:new Uint32Array(qp/4),t0:new Uint32Array(2),c:0,outlen:e},i[0]=e,t&&(i[1]=t.length),i[2]=1,i[3]=1,r&&i.set(r,32),n&&i.set(n,48);const s=new Uint32Array(i.buffer,i.byteOffset,i.length/Uint32Array.BYTES_PER_ELEMENT);for(let e=0;e<16;e++)this.S.h[e]=Op[e]^s[e];if(t){const e=new Uint8Array(jp);e.set(t),this.update(e)}}update(e){if(!(e instanceof Uint8Array))throw Error("Input must be Uint8Array or Buffer");let t=0;for(;t<e.length;){this.S.c===jp&&(Np(this.S.t0,this.S.c),_p(this.S,!1),this.S.c=0);let r=jp-this.S.c;this.S.b.set(e.subarray(t,t+r),this.S.c);const n=Math.min(r,e.length-t);this.S.c+=n,t+=n}return this}digest(e){Np(this.S.t0,this.S.c),this.S.b.fill(0,this.S.c),this.S.c=jp,_p(this.S,!0);const t=e||new Uint8Array(this.S.outlen);for(let e=0;e<this.S.outlen;e++)t[e]=this.S.h[e>>2]>>8*(3&e);return this.S.h=null,t.buffer}}function Gp(e,t,r,n){if(e>qp)throw Error(`outlen must be at most ${qp} (given: ${e})`);return new zp(e,t,r,n)}const qp=64,jp=128,Vp=2,Yp=19,Zp=4294967295,Wp=4,Jp=4294967295,Xp=8,$p=4294967295,eg=8,tg=4294967295,rg=4294967295,ng=32,ig=1024,sg=64,ag=205===new Uint8Array(new Uint16Array([43981]).buffer)[0];function og(e,t,r){return e[r+0]=t,e[r+1]=t>>8,e[r+2]=t>>16,e[r+3]=t>>24,e}function cg(e,t,r){if(t>Number.MAX_SAFE_INTEGER)throw Error("LE64: large numbers unsupported");let n=t;for(let t=r;t<r+7;t++)e[t]=n,n=(n-e[t])/256;return e}function ug(e,t,r){const n=new Uint8Array(64),i=new Uint8Array(4+t.length);if(og(i,e,0),i.set(t,4),e<=64)return Gp(e).update(i).digest(r),r;const s=Math.ceil(e/32)-2;for(let e=0;e<s;e++)Gp(64).update(0===e?i:n).digest(n),r.set(n.subarray(0,32),32*e);const a=new Uint8Array(Gp(e-32*s).update(n).digest());return r.set(a,32*s),r}function hg(e,t,r,n){return e.fn.XOR(t.byteOffset,r.byteOffset,n.byteOffset),t}function lg(e,t,r,n){return e.fn.G(t.byteOffset,r.byteOffset,n.byteOffset,e.refs.gZ.byteOffset),n}function yg(e,t,r,n){return e.fn.G2(t.byteOffset,r.byteOffset,n.byteOffset,e.refs.gZ.byteOffset),n}function*fg(e,t,r,n,i,s,a,o){e.refs.prngTmp.fill(0);const c=e.refs.prngTmp.subarray(0,48);cg(c,t,0),cg(c,r,8),cg(c,n,16),cg(c,i,24),cg(c,s,32),cg(c,Vp,40);for(let t=1;t<=a;t++){cg(e.refs.prngTmp,t,c.length);const r=yg(e,e.refs.ZERO1024,e.refs.prngTmp,e.refs.prngR);for(let e=1===t?8*o:0;e<r.length;e+=8)yield r.subarray(e,e+8)}return[]}const pg=1024,gg=64*pg;function dg(e,{memory:t,instance:r}){if(!ag)throw Error("BigEndian system not supported");const n=function({type:e,version:t,tagLength:r,password:n,salt:i,ad:s,secret:a,parallelism:o,memorySize:c,passes:u}){const h=(e,t,r,n)=>{if(t<r||t>n)throw Error(`${e} size should be between ${r} and ${n} bytes`)};if(e!==Vp||t!==Yp)throw Error("Unsupported type or version");return h("password",n,eg,$p),h("salt",i,Xp,Jp),h("tag",r,Wp,Zp),h("memory",c,8*o,tg),s&&h("associated data",s,0,rg),a&&h("secret",a,0,ng),{type:e,version:t,tagLength:r,password:n,salt:i,ad:s,secret:a,lanes:o,memorySize:c,passes:u}}({type:Vp,version:Yp,...e}),{G:i,G2:s,xor:a,getLZ:o}=r.exports,c={},u={};u.G=i,u.G2=s,u.XOR=a;const h=4*n.lanes*Math.floor(n.memorySize/(4*n.lanes)),l=h*ig+10*pg;if(t.buffer.byteLength<l){const e=Math.ceil((l-t.buffer.byteLength)/gg);t.grow(e)}let y=0;c.gZ=new Uint8Array(t.buffer,y,ig),y+=c.gZ.length,c.prngR=new Uint8Array(t.buffer,y,ig),y+=c.prngR.length,c.prngTmp=new Uint8Array(t.buffer,y,ig),y+=c.prngTmp.length,c.ZERO1024=new Uint8Array(t.buffer,y,1024),y+=c.ZERO1024.length;const f=new Uint32Array(t.buffer,y,2);y+=f.length*Uint32Array.BYTES_PER_ELEMENT;const p={fn:u,refs:c},g=new Uint8Array(t.buffer,y,ig);y+=g.length;const d=new Uint8Array(t.buffer,y,n.memorySize*ig),A=new Uint8Array(t.buffer,0,y),w=function(e){const t=Gp(sg),r=new Uint8Array(4),n=new Uint8Array(24);og(n,e.lanes,0),og(n,e.tagLength,4),og(n,e.memorySize,8),og(n,e.passes,12),og(n,e.version,16),og(n,e.type,20);const i=[n];e.password?(i.push(og(new Uint8Array(4),e.password.length,0)),i.push(e.password)):i.push(r);e.salt?(i.push(og(new Uint8Array(4),e.salt.length,0)),i.push(e.salt)):i.push(r);e.secret?(i.push(og(new Uint8Array(4),e.secret.length,0)),i.push(e.secret)):i.push(r);e.ad?(i.push(og(new Uint8Array(4),e.ad.length,0)),i.push(e.ad)):i.push(r);t.update(function(e){if(1===e.length)return e[0];let t=0;for(let r=0;r<e.length;r++){if(!(e[r]instanceof Uint8Array))throw Error("concatArrays: Data must be in the form of a Uint8Array");t+=e[r].length}const r=new Uint8Array(t);let n=0;return e.forEach((e=>{r.set(e,n),n+=e.length})),r}(i));const s=t.digest();return new Uint8Array(s)}(n),m=h/n.lanes,b=Array(n.lanes).fill(null).map((()=>Array(m))),k=(e,t)=>(b[e][t]=d.subarray(e*m*1024+1024*t,e*m*1024+1024*t+ig),b[e][t]);for(let e=0;e<n.lanes;e++){const t=new Uint8Array(w.length+8);t.set(w),og(t,0,w.length),og(t,e,w.length+4),ug(ig,t,k(e,0)),og(t,1,w.length),ug(ig,t,k(e,1))}const E=m/4;for(let e=0;e<n.passes;e++)for(let t=0;t<4;t++){const r=0===e&&t<=1;for(let i=0;i<n.lanes;i++){let s=0===t&&0===e?2:0;const a=r?fg(p,e,i,t,h,n.passes,E,s):null;for(;s<E;s++){const c=t*E+s,u=c>0?b[i][c-1]:b[i][m-1],h=r?a.next().value:u;o(f.byteOffset,h.byteOffset,i,n.lanes,e,t,s,4,E);const l=f[0],y=f[1];0===e&&k(i,c),lg(p,u,b[l][y],e>0?g:b[i][c]),e>0&&hg(p,b[i][c],g,b[i][c])}}}const v=b[0][m-1];for(let e=1;e<n.lanes;e++)hg(p,v,v,b[e][m-1]);const B=ug(n.tagLength,v,new Uint8Array(n.tagLength));return A.fill(0),t.grow(0),B}let Ag;async function wg(e,t){const r=new WebAssembly.Memory({initial:1040,maximum:65536}),n=await async function(e,t,r){const n={env:{memory:e}};if(void 0===Ag)try{const e=await t(n);return Ag=!0,e}catch(e){Ag=!1}return(Ag?t:r)(n)}(r,e,t);return e=>dg(e,{instance:n.instance,memory:r})}function mg(t,r,n,i){var s=null,a=e.atob(n),o=a.length;s=new Uint8Array(new ArrayBuffer(o));for(var c=0;c<o;c++)s[c]=a.charCodeAt(c);return function(e,t){var r=WebAssembly.instantiate,n=WebAssembly.compile;return t?r(e,t):n(e)}(s,i)}var bg=/*#__PURE__*/Object.freeze({__proto__:null,default:async()=>wg((e=>mg(0,0,"AGFzbQEAAAABKwdgBH9/f38AYAABf2AAAGADf39/AGAJf39/f39/f39/AX9gAX8AYAF/AX8CEwEDZW52Bm1lbW9yeQIBkAiAgAQDCgkCAwAABAEFBgEEBQFwAQICBgkBfwFBkIjAAgsHfQoDeG9yAAEBRwACAkcyAAMFZ2V0TFoABBlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALX2luaXRpYWxpemUAABBfX2Vycm5vX2xvY2F0aW9uAAgJc3RhY2tTYXZlAAUMc3RhY2tSZXN0b3JlAAYKc3RhY2tBbGxvYwAHCQcBAEEBCwEACs0gCQMAAQtYAQJ/A0AgACAEQQR0IgNqIAIgA2r9AAQAIAEgA2r9AAQA/VH9CwQAIAAgA0EQciIDaiACIANq/QAEACABIANq/QAEAP1R/QsEACAEQQJqIgRBwABHDQALC7ceAgt7A38DQCADIBFBBHQiD2ogASAPav0ABAAgACAPav0ABAD9USIF/QsEACACIA9qIAX9CwQAIAMgD0EQciIPaiABIA9q/QAEACAAIA9q/QAEAP1RIgX9CwQAIAIgD2ogBf0LBAAgEUECaiIRQcAARw0ACwNAIAMgEEEHdGoiAEEQaiAA/QAEcCAA/QAEMCIFIAD9AAQQIgT9zgEgBSAF/Q0AAQIDCAkKCwABAgMICQoLIAQgBP0NAAECAwgJCgsAAQIDCAkKC/3eAUEB/csB/c4BIgT9USIJQSD9ywEgCUEg/c0B/VAiCSAA/QAEUCIG/c4BIAkgCf0NAAECAwgJCgsAAQIDCAkKCyAGIAb9DQABAgMICQoLAAECAwgJCgv93gFBAf3LAf3OASIGIAX9USIFQSj9ywEgBUEY/c0B/VAiCCAE/c4BIAggCP0NAAECAwgJCgsAAQIDCAkKCyAEIAT9DQABAgMICQoLAAECAwgJCgv93gFBAf3LAf3OASIKIAogCf1RIgVBMP3LASAFQRD9zQH9UCIFIAb9zgEgBSAF/Q0AAQIDCAkKCwABAgMICQoLIAYgBv0NAAECAwgJCgsAAQIDCAkKC/3eAUEB/csB/c4BIgkgCP1RIgRBAf3LASAEQT/9zQH9UCIMIAD9AARgIAD9AAQgIgQgAP0ABAAiBv3OASAEIAT9DQABAgMICQoLAAECAwgJCgsgBiAG/Q0AAQIDCAkKCwABAgMICQoL/d4BQQH9ywH9zgEiBv1RIghBIP3LASAIQSD9zQH9UCIIIABBQGsiAf0ABAAiB/3OASAIIAj9DQABAgMICQoLAAECAwgJCgsgByAH/Q0AAQIDCAkKCwABAgMICQoL/d4BQQH9ywH9zgEiByAE/VEiBEEo/csBIARBGP3NAf1QIgsgBv3OASALIAv9DQABAgMICQoLAAECAwgJCgsgBiAG/Q0AAQIDCAkKCwABAgMICQoL/d4BQQH9ywH9zgEiBiAI/VEiBEEw/csBIARBEP3NAf1QIgQgB/3OASAEIAT9DQABAgMICQoLAAECAwgJCgsgByAH/Q0AAQIDCAkKCwABAgMICQoL/d4BQQH9ywH9zgEiCCAL/VEiB0EB/csBIAdBP/3NAf1QIg0gDf0NAAECAwQFBgcQERITFBUWF/0NCAkKCwwNDg8YGRobHB0eHyIH/c4BIAcgB/0NAAECAwgJCgsAAQIDCAkKCyAKIAr9DQABAgMICQoLAAECAwgJCgv93gFBAf3LAf3OASIKIAQgBSAF/Q0AAQIDBAUGBxAREhMUFRYX/Q0ICQoLDA0ODxgZGhscHR4f/VEiC0Eg/csBIAtBIP3NAf1QIgsgCP3OASALIAv9DQABAgMICQoLAAECAwgJCgsgCCAI/Q0AAQIDCAkKCwABAgMICQoL/d4BQQH9ywH9zgEiCCAH/VEiB0Eo/csBIAdBGP3NAf1QIgcgCv3OASAHIAf9DQABAgMICQoLAAECAwgJCgsgCiAK/Q0AAQIDCAkKCwABAgMICQoL/d4BQQH9ywH9zgEiDv0LBAAgACAGIA0gDCAM/Q0AAQIDBAUGBxAREhMUFRYX/Q0ICQoLDA0ODxgZGhscHR4fIgr9zgEgCiAK/Q0AAQIDCAkKCwABAgMICQoLIAYgBv0NAAECAwgJCgsAAQIDCAkKC/3eAUEB/csB/c4BIgYgBSAEIAT9DQABAgMEBQYHEBESExQVFhf9DQgJCgsMDQ4PGBkaGxwdHh/9USIFQSD9ywEgBUEg/c0B/VAiBSAJ/c4BIAUgBf0NAAECAwgJCgsAAQIDCAkKCyAJIAn9DQABAgMICQoLAAECAwgJCgv93gFBAf3LAf3OASIJIAr9USIEQSj9ywEgBEEY/c0B/VAiCiAG/c4BIAogCv0NAAECAwgJCgsAAQIDCAkKCyAGIAb9DQABAgMICQoLAAECAwgJCgv93gFBAf3LAf3OASIE/QsEACAAIAQgBf1RIgVBMP3LASAFQRD9zQH9UCIFIA4gC/1RIgRBMP3LASAEQRD9zQH9UCIEIAT9DQABAgMEBQYHEBESExQVFhf9DQgJCgsMDQ4PGBkaGxwdHh/9CwRgIAAgBCAFIAX9DQABAgMEBQYHEBESExQVFhf9DQgJCgsMDQ4PGBkaGxwdHh/9CwRwIAEgBCAI/c4BIAQgBP0NAAECAwgJCgsAAQIDCAkKCyAIIAj9DQABAgMICQoLAAECAwgJCgv93gFBAf3LAf3OASIE/QsEACAAIAUgCf3OASAFIAX9DQABAgMICQoLAAECAwgJCgsgCSAJ/Q0AAQIDCAkKCwABAgMICQoL/d4BQQH9ywH9zgEiCf0LBFAgACAEIAf9USIFQQH9ywEgBUE//c0B/VAiBSAJIAr9USIEQQH9ywEgBEE//c0B/VAiBCAE/Q0AAQIDBAUGBxAREhMUFRYX/Q0ICQoLDA0ODxgZGhscHR4f/QsEICAAIAQgBSAF/Q0AAQIDBAUGBxAREhMUFRYX/Q0ICQoLDA0ODxgZGhscHR4f/QsEMCAQQQFqIhBBCEcNAAtBACEQA0AgAyAQQQR0aiIAQYABaiAA/QAEgAcgAP0ABIADIgUgAP0ABIABIgT9zgEgBSAF/Q0AAQIDCAkKCwABAgMICQoLIAQgBP0NAAECAwgJCgsAAQIDCAkKC/3eAUEB/csB/c4BIgT9USIJQSD9ywEgCUEg/c0B/VAiCSAA/QAEgAUiBv3OASAJIAn9DQABAgMICQoLAAECAwgJCgsgBiAG/Q0AAQIDCAkKCwABAgMICQoL/d4BQQH9ywH9zgEiBiAF/VEiBUEo/csBIAVBGP3NAf1QIgggBP3OASAIIAj9DQABAgMICQoLAAECAwgJCgsgBCAE/Q0AAQIDCAkKCwABAgMICQoL/d4BQQH9ywH9zgEiCiAKIAn9USIFQTD9ywEgBUEQ/c0B/VAiBSAG/c4BIAUgBf0NAAECAwgJCgsAAQIDCAkKCyAGIAb9DQABAgMICQoLAAECAwgJCgv93gFBAf3LAf3OASIJIAj9USIEQQH9ywEgBEE//c0B/VAiDCAA/QAEgAYgAP0ABIACIgQgAP0ABAAiBv3OASAEIAT9DQABAgMICQoLAAECAwgJCgsgBiAG/Q0AAQIDCAkKCwABAgMICQoL/d4BQQH9ywH9zgEiBv1RIghBIP3LASAIQSD9zQH9UCIIIAD9AASABCIH/c4BIAggCP0NAAECAwgJCgsAAQIDCAkKCyAHIAf9DQABAgMICQoLAAECAwgJCgv93gFBAf3LAf3OASIHIAT9USIEQSj9ywEgBEEY/c0B/VAiCyAG/c4BIAsgC/0NAAECAwgJCgsAAQIDCAkKCyAGIAb9DQABAgMICQoLAAECAwgJCgv93gFBAf3LAf3OASIGIAj9USIEQTD9ywEgBEEQ/c0B/VAiBCAH/c4BIAQgBP0NAAECAwgJCgsAAQIDCAkKCyAHIAf9DQABAgMICQoLAAECAwgJCgv93gFBAf3LAf3OASIIIAv9USIHQQH9ywEgB0E//c0B/VAiDSAN/Q0AAQIDBAUGBxAREhMUFRYX/Q0ICQoLDA0ODxgZGhscHR4fIgf9zgEgByAH/Q0AAQIDCAkKCwABAgMICQoLIAogCv0NAAECAwgJCgsAAQIDCAkKC/3eAUEB/csB/c4BIgogBCAFIAX9DQABAgMEBQYHEBESExQVFhf9DQgJCgsMDQ4PGBkaGxwdHh/9USILQSD9ywEgC0Eg/c0B/VAiCyAI/c4BIAsgC/0NAAECAwgJCgsAAQIDCAkKCyAIIAj9DQABAgMICQoLAAECAwgJCgv93gFBAf3LAf3OASIIIAf9USIHQSj9ywEgB0EY/c0B/VAiByAK/c4BIAcgB/0NAAECAwgJCgsAAQIDCAkKCyAKIAr9DQABAgMICQoLAAECAwgJCgv93gFBAf3LAf3OASIO/QsEACAAIAYgDSAMIAz9DQABAgMEBQYHEBESExQVFhf9DQgJCgsMDQ4PGBkaGxwdHh8iCv3OASAKIAr9DQABAgMICQoLAAECAwgJCgsgBiAG/Q0AAQIDCAkKCwABAgMICQoL/d4BQQH9ywH9zgEiBiAFIAQgBP0NAAECAwQFBgcQERITFBUWF/0NCAkKCwwNDg8YGRobHB0eH/1RIgVBIP3LASAFQSD9zQH9UCIFIAn9zgEgBSAF/Q0AAQIDCAkKCwABAgMICQoLIAkgCf0NAAECAwgJCgsAAQIDCAkKC/3eAUEB/csB/c4BIgkgCv1RIgRBKP3LASAEQRj9zQH9UCIKIAb9zgEgCiAK/Q0AAQIDCAkKCwABAgMICQoLIAYgBv0NAAECAwgJCgsAAQIDCAkKC/3eAUEB/csB/c4BIgT9CwQAIAAgBCAF/VEiBUEw/csBIAVBEP3NAf1QIgUgDiAL/VEiBEEw/csBIARBEP3NAf1QIgQgBP0NAAECAwQFBgcQERITFBUWF/0NCAkKCwwNDg8YGRobHB0eH/0LBIAGIAAgBCAFIAX9DQABAgMEBQYHEBESExQVFhf9DQgJCgsMDQ4PGBkaGxwdHh/9CwSAByAAIAQgCP3OASAEIAT9DQABAgMICQoLAAECAwgJCgsgCCAI/Q0AAQIDCAkKCwABAgMICQoL/d4BQQH9ywH9zgEiBP0LBIAEIAAgBSAJ/c4BIAUgBf0NAAECAwgJCgsAAQIDCAkKCyAJIAn9DQABAgMICQoLAAECAwgJCgv93gFBAf3LAf3OASIJ/QsEgAUgACAEIAf9USIFQQH9ywEgBUE//c0B/VAiBSAJIAr9USIEQQH9ywEgBEE//c0B/VAiBCAE/Q0AAQIDBAUGBxAREhMUFRYX/Q0ICQoLDA0ODxgZGhscHR4f/QsEgAIgACAEIAUgBf0NAAECAwQFBgcQERITFBUWF/0NCAkKCwwNDg8YGRobHB0eH/0LBIADIBBBAWoiEEEIRw0AC0EAIRADQCACIBBBBHQiAGoiASAAIANq/QAEACAB/QAEAP1R/QsEACACIABBEHIiAWoiDyABIANq/QAEACAP/QAEAP1R/QsEACACIABBIHIiAWoiDyABIANq/QAEACAP/QAEAP1R/QsEACACIABBMHIiAGoiASAAIANq/QAEACAB/QAEAP1R/QsEACAQQQRqIhBBwABHDQALCxYAIAAgASACIAMQAiAAIAIgAiADEAILewIBfwF+IAIhCSABNQIAIQogBCAFcgRAIAEoAgQgA3AhCQsgACAJNgIAIAAgB0EBayAFIAQbIAhsIAZBAWtBAEF/IAYbIAIgCUYbaiIBIAVBAWogCGxBACAEG2ogAa0gCiAKfkIgiH5CIIinQX9zaiAHIAhscDYCBCAACwQAIwALBgAgACQACxAAIwAgAGtBcHEiACQAIAALBQBBgAgL",e)),(e=>mg(0,0,"AGFzbQEAAAABPwhgBH9/f38AYAABf2AAAGADf39/AGARf39/f39/f39/f39/f39/f38AYAl/f39/f39/f38Bf2ABfwBgAX8BfwITAQNlbnYGbWVtb3J5AgGQCICABAMLCgIDBAAABQEGBwEEBQFwAQICBgkBfwFBkIjAAgsHfQoDeG9yAAEBRwADAkcyAAQFZ2V0TFoABRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALX2luaXRpYWxpemUAABBfX2Vycm5vX2xvY2F0aW9uAAkJc3RhY2tTYXZlAAYMc3RhY2tSZXN0b3JlAAcKc3RhY2tBbGxvYwAICQcBAEEBCwEACssaCgMAAQtQAQJ/A0AgACAEQQN0IgNqIAIgA2opAwAgASADaikDAIU3AwAgACADQQhyIgNqIAIgA2opAwAgASADaikDAIU3AwAgBEECaiIEQYABRw0ACwveDwICfgF/IAAgAUEDdGoiEyATKQMAIhEgACAFQQN0aiIBKQMAIhJ8IBFCAYZC/v///x+DIBJC/////w+DfnwiETcDACAAIA1BA3RqIgUgESAFKQMAhUIgiSIRNwMAIAAgCUEDdGoiCSARIAkpAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAEgESABKQMAhUIoiSIRNwMAIBMgESATKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACAFIBEgBSkDAIVCMIkiETcDACAJIBEgCSkDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgASARIAEpAwCFQgGJNwMAIAAgAkEDdGoiDSANKQMAIhEgACAGQQN0aiICKQMAIhJ8IBFCAYZC/v///x+DIBJC/////w+DfnwiETcDACAAIA5BA3RqIgYgESAGKQMAhUIgiSIRNwMAIAAgCkEDdGoiCiARIAopAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAIgESACKQMAhUIoiSIRNwMAIA0gESANKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACAGIBEgBikDAIVCMIkiETcDACAKIBEgCikDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgAiARIAIpAwCFQgGJNwMAIAAgA0EDdGoiDiAOKQMAIhEgACAHQQN0aiIDKQMAIhJ8IBFCAYZC/v///x+DIBJC/////w+DfnwiETcDACAAIA9BA3RqIgcgESAHKQMAhUIgiSIRNwMAIAAgC0EDdGoiCyARIAspAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAMgESADKQMAhUIoiSIRNwMAIA4gESAOKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACAHIBEgBykDAIVCMIkiETcDACALIBEgCykDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgAyARIAMpAwCFQgGJNwMAIAAgBEEDdGoiDyAPKQMAIhEgACAIQQN0aiIEKQMAIhJ8IBFCAYZC/v///x+DIBJC/////w+DfnwiETcDACAAIBBBA3RqIgggESAIKQMAhUIgiSIRNwMAIAAgDEEDdGoiACARIAApAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAQgESAEKQMAhUIoiSIRNwMAIA8gESAPKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACAIIBEgCCkDAIVCMIkiETcDACAAIBEgACkDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgBCARIAQpAwCFQgGJNwMAIBMgEykDACIRIAIpAwAiEnwgEUIBhkL+////H4MgEkL/////D4N+fCIRNwMAIAggESAIKQMAhUIgiSIRNwMAIAsgESALKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACACIBEgAikDAIVCKIkiETcDACATIBEgEykDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgCCARIAgpAwCFQjCJIhE3AwAgCyARIAspAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAIgESACKQMAhUIBiTcDACANIA0pAwAiESADKQMAIhJ8IBFCAYZC/v///x+DIBJC/////w+DfnwiETcDACAFIBEgBSkDAIVCIIkiETcDACAAIBEgACkDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgAyARIAMpAwCFQiiJIhE3AwAgDSARIA0pAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAUgESAFKQMAhUIwiSIRNwMAIAAgESAAKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACADIBEgAykDAIVCAYk3AwAgDiAOKQMAIhEgBCkDACISfCARQgGGQv7///8fgyASQv////8Pg358IhE3AwAgBiARIAYpAwCFQiCJIhE3AwAgCSARIAkpAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAQgESAEKQMAhUIoiSIRNwMAIA4gESAOKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACAGIBEgBikDAIVCMIkiETcDACAJIBEgCSkDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgBCARIAQpAwCFQgGJNwMAIA8gDykDACIRIAEpAwAiEnwgEUIBhkL+////H4MgEkL/////D4N+fCIRNwMAIAcgESAHKQMAhUIgiSIRNwMAIAogESAKKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACABIBEgASkDAIVCKIkiETcDACAPIBEgDykDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgByARIAcpAwCFQjCJIhE3AwAgCiARIAopAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAEgESABKQMAhUIBiTcDAAvdCAEPfwNAIAIgBUEDdCIGaiABIAZqKQMAIAAgBmopAwCFNwMAIAIgBkEIciIGaiABIAZqKQMAIAAgBmopAwCFNwMAIAVBAmoiBUGAAUcNAAsDQCADIARBA3QiAGogACACaikDADcDACADIARBAXIiAEEDdCIBaiABIAJqKQMANwMAIAMgBEECciIBQQN0IgVqIAIgBWopAwA3AwAgAyAEQQNyIgVBA3QiBmogAiAGaikDADcDACADIARBBHIiBkEDdCIHaiACIAdqKQMANwMAIAMgBEEFciIHQQN0IghqIAIgCGopAwA3AwAgAyAEQQZyIghBA3QiCWogAiAJaikDADcDACADIARBB3IiCUEDdCIKaiACIApqKQMANwMAIAMgBEEIciIKQQN0IgtqIAIgC2opAwA3AwAgAyAEQQlyIgtBA3QiDGogAiAMaikDADcDACADIARBCnIiDEEDdCINaiACIA1qKQMANwMAIAMgBEELciINQQN0Ig5qIAIgDmopAwA3AwAgAyAEQQxyIg5BA3QiD2ogAiAPaikDADcDACADIARBDXIiD0EDdCIQaiACIBBqKQMANwMAIAMgBEEOciIQQQN0IhFqIAIgEWopAwA3AwAgAyAEQQ9yIhFBA3QiEmogAiASaikDADcDACADIARB//8DcSAAQf//A3EgAUH//wNxIAVB//8DcSAGQf//A3EgB0H//wNxIAhB//8DcSAJQf//A3EgCkH//wNxIAtB//8DcSAMQf//A3EgDUH//wNxIA5B//8DcSAPQf//A3EgEEH//wNxIBFB//8DcRACIARB8ABJIQAgBEEQaiEEIAANAAtBACEBIANBAEEBQRBBEUEgQSFBMEExQcAAQcEAQdAAQdEAQeAAQeEAQfAAQfEAEAIgA0ECQQNBEkETQSJBI0EyQTNBwgBBwwBB0gBB0wBB4gBB4wBB8gBB8wAQAiADQQRBBUEUQRVBJEElQTRBNUHEAEHFAEHUAEHVAEHkAEHlAEH0AEH1ABACIANBBkEHQRZBF0EmQSdBNkE3QcYAQccAQdYAQdcAQeYAQecAQfYAQfcAEAIgA0EIQQlBGEEZQShBKUE4QTlByABByQBB2ABB2QBB6ABB6QBB+ABB+QAQAiADQQpBC0EaQRtBKkErQTpBO0HKAEHLAEHaAEHbAEHqAEHrAEH6AEH7ABACIANBDEENQRxBHUEsQS1BPEE9QcwAQc0AQdwAQd0AQewAQe0AQfwAQf0AEAIgA0EOQQ9BHkEfQS5BL0E+QT9BzgBBzwBB3gBB3wBB7gBB7wBB/gBB/wAQAgNAIAIgAUEDdCIAaiIEIAAgA2opAwAgBCkDAIU3AwAgAiAAQQhyIgRqIgUgAyAEaikDACAFKQMAhTcDACACIABBEHIiBGoiBSADIARqKQMAIAUpAwCFNwMAIAIgAEEYciIAaiIEIAAgA2opAwAgBCkDAIU3AwAgAUEEaiIBQYABRw0ACwsWACAAIAEgAiADEAMgACACIAIgAxADC3sCAX8BfiACIQkgATUCACEKIAQgBXIEQCABKAIEIANwIQkLIAAgCTYCACAAIAdBAWsgBSAEGyAIbCAGQQFrQQBBfyAGGyACIAlGG2oiASAFQQFqIAhsQQAgBBtqIAGtIAogCn5CIIh+QiCIp0F/c2ogByAIbHA2AgQgAAsEACMACwYAIAAkAAsQACMAIABrQXBxIgAkACAACwUAQYAICw==",e)))}),kg=[0,1,3,7,15,31,63,127,255],Eg=function(e){this.stream=e,this.bitOffset=0,this.curByte=0,this.hasByte=!1};Eg.prototype._ensureByte=function(){this.hasByte||(this.curByte=this.stream.readByte(),this.hasByte=!0)},Eg.prototype.read=function(e){for(var t=0;e>0;){this._ensureByte();var r=8-this.bitOffset;if(e>=r)t<<=r,t|=kg[r]&this.curByte,this.hasByte=!1,this.bitOffset=0,e-=r;else{t<<=e;var n=r-e;t|=(this.curByte&kg[e]<<n)>>n,this.bitOffset+=e,e=0}}return t},Eg.prototype.seek=function(e){var t=e%8,r=(e-t)/8;this.bitOffset=t,this.stream.seek(r),this.hasByte=!1},Eg.prototype.pi=function(){var e,t=new Uint8Array(6);for(e=0;e<t.length;e++)t[e]=this.read(8);return function(e){return Array.prototype.map.call(e,(e=>("00"+e.toString(16)).slice(-2))).join("")}(t)};var vg=Eg,Bg=function(){};Bg.prototype.readByte=function(){throw Error("abstract method readByte() not implemented")},Bg.prototype.read=function(e,t,r){for(var n=0;n<r;){var i=this.readByte();if(i<0)return 0===n?-1:n;e[t++]=i,n++}return n},Bg.prototype.seek=function(e){throw Error("abstract method seek() not implemented")},Bg.prototype.writeByte=function(e){throw Error("abstract method readByte() not implemented")},Bg.prototype.write=function(e,t,r){var n;for(n=0;n<r;n++)this.writeByte(e[t++]);return r},Bg.prototype.flush=function(){};var Sg,Ig=Bg,Kg=(Sg=new Uint32Array([0,79764919,159529838,222504665,319059676,398814059,445009330,507990021,638119352,583659535,797628118,726387553,890018660,835552979,1015980042,944750013,1276238704,1221641927,1167319070,1095957929,1595256236,1540665371,1452775106,1381403509,1780037320,1859660671,1671105958,1733955601,2031960084,2111593891,1889500026,1952343757,2552477408,2632100695,2443283854,2506133561,2334638140,2414271883,2191915858,2254759653,3190512472,3135915759,3081330742,3009969537,2905550212,2850959411,2762807018,2691435357,3560074640,3505614887,3719321342,3648080713,3342211916,3287746299,3467911202,3396681109,4063920168,4143685023,4223187782,4286162673,3779000052,3858754371,3904687514,3967668269,881225847,809987520,1023691545,969234094,662832811,591600412,771767749,717299826,311336399,374308984,453813921,533576470,25881363,88864420,134795389,214552010,2023205639,2086057648,1897238633,1976864222,1804852699,1867694188,1645340341,1724971778,1587496639,1516133128,1461550545,1406951526,1302016099,1230646740,1142491917,1087903418,2896545431,2825181984,2770861561,2716262478,3215044683,3143675388,3055782693,3001194130,2326604591,2389456536,2200899649,2280525302,2578013683,2640855108,2418763421,2498394922,3769900519,3832873040,3912640137,3992402750,4088425275,4151408268,4197601365,4277358050,3334271071,3263032808,3476998961,3422541446,3585640067,3514407732,3694837229,3640369242,1762451694,1842216281,1619975040,1682949687,2047383090,2127137669,1938468188,2001449195,1325665622,1271206113,1183200824,1111960463,1543535498,1489069629,1434599652,1363369299,622672798,568075817,748617968,677256519,907627842,853037301,1067152940,995781531,51762726,131386257,177728840,240578815,269590778,349224269,429104020,491947555,4046411278,4126034873,4172115296,4234965207,3794477266,3874110821,3953728444,4016571915,3609705398,3555108353,3735388376,3664026991,3290680682,3236090077,3449943556,3378572211,3174993278,3120533705,3032266256,2961025959,2923101090,2868635157,2813903052,2742672763,2604032198,2683796849,2461293480,2524268063,2284983834,2364738477,2175806836,2238787779,1569362073,1498123566,1409854455,1355396672,1317987909,1246755826,1192025387,1137557660,2072149281,2135122070,1912620623,1992383480,1753615357,1816598090,1627664531,1707420964,295390185,358241886,404320391,483945776,43990325,106832002,186451547,266083308,932423249,861060070,1041341759,986742920,613929101,542559546,756411363,701822548,3316196985,3244833742,3425377559,3370778784,3601682597,3530312978,3744426955,3689838204,3819031489,3881883254,3928223919,4007849240,4037393693,4100235434,4180117107,4259748804,2310601993,2373574846,2151335527,2231098320,2596047829,2659030626,2470359227,2550115596,2947551409,2876312838,2788305887,2733848168,3165939309,3094707162,3040238851,2985771188]),function(){var e=4294967295;this.getCRC=function(){return~e>>>0},this.updateCRC=function(t){e=e<<8^Sg[255&(e>>>24^t)]},this.updateCRCRun=function(t,r){for(;r-- >0;)e=e<<8^Sg[255&(e>>>24^t)]}}),Cg=vg,Ug=Ig,Pg=Kg,Dg=function(e,t){var r,n=e[t];for(r=t;r>0;r--)e[r]=e[r-1];return e[0]=n,n},xg={OK:0,LAST_BLOCK:-1,NOT_BZIP_DATA:-2,UNEXPECTED_INPUT_EOF:-3,UNEXPECTED_OUTPUT_EOF:-4,DATA_ERROR:-5,OUT_OF_MEMORY:-6,OBSOLETE_INPUT:-7,END_OF_BLOCK:-8},Qg={};Qg[xg.LAST_BLOCK]="Bad file checksum",Qg[xg.NOT_BZIP_DATA]="Not bzip data",Qg[xg.UNEXPECTED_INPUT_EOF]="Unexpected input EOF",Qg[xg.UNEXPECTED_OUTPUT_EOF]="Unexpected output EOF",Qg[xg.DATA_ERROR]="Data error",Qg[xg.OUT_OF_MEMORY]="Out of memory",Qg[xg.OBSOLETE_INPUT]="Obsolete (pre 0.9.5) bzip format not supported.";var Rg=function(e,t){var r=Qg[e]||"unknown error";t&&(r+=": "+t);var n=new TypeError(r);throw n.errorCode=e,n},Tg=function(e,t){this.writePos=this.writeCurrent=this.writeCount=0,this._start_bunzip(e,t)};Tg.prototype._init_block=function(){return this._get_next_block()?(this.blockCRC=new Pg,!0):(this.writeCount=-1,!1)},Tg.prototype._start_bunzip=function(e,t){var r=new Uint8Array(4);4===e.read(r,0,4)&&"BZh"===String.fromCharCode(r[0],r[1],r[2])||Rg(xg.NOT_BZIP_DATA,"bad magic");var n=r[3]-48;(n<1||n>9)&&Rg(xg.NOT_BZIP_DATA,"level out of range"),this.reader=new Cg(e),this.dbufSize=1e5*n,this.nextoutput=0,this.outputStream=t,this.streamCRC=0},Tg.prototype._get_next_block=function(){var e,t,r,n=this.reader,i=n.pi();if("177245385090"===i)return!1;"314159265359"!==i&&Rg(xg.NOT_BZIP_DATA),this.targetBlockCRC=n.read(32)>>>0,this.streamCRC=(this.targetBlockCRC^(this.streamCRC<<1|this.streamCRC>>>31))>>>0,n.read(1)&&Rg(xg.OBSOLETE_INPUT);var s=n.read(24);s>this.dbufSize&&Rg(xg.DATA_ERROR,"initial position out of bounds");var a=n.read(16),o=new Uint8Array(256),c=0;for(e=0;e<16;e++)if(a&1<<15-e){var u=16*e;for(r=n.read(16),t=0;t<16;t++)r&1<<15-t&&(o[c++]=u+t)}var h=n.read(3);(h<2||h>6)&&Rg(xg.DATA_ERROR);var l=n.read(15);0===l&&Rg(xg.DATA_ERROR);var y=new Uint8Array(256);for(e=0;e<h;e++)y[e]=e;var f=new Uint8Array(l);for(e=0;e<l;e++){for(t=0;n.read(1);t++)t>=h&&Rg(xg.DATA_ERROR);f[e]=Dg(y,t)}var p,g=c+2,d=[];for(t=0;t<h;t++){var A,w,m=new Uint8Array(g),b=new Uint16Array(21);for(a=n.read(5),e=0;e<g;e++){for(;(a<1||a>20)&&Rg(xg.DATA_ERROR),n.read(1);)n.read(1)?a--:a++;m[e]=a}for(A=w=m[0],e=1;e<g;e++)m[e]>w?w=m[e]:m[e]<A&&(A=m[e]);p={},d.push(p),p.permute=new Uint16Array(258),p.limit=new Uint32Array(22),p.base=new Uint32Array(21),p.minLen=A,p.maxLen=w;var k=0;for(e=A;e<=w;e++)for(b[e]=p.limit[e]=0,a=0;a<g;a++)m[a]===e&&(p.permute[k++]=a);for(e=0;e<g;e++)b[m[e]]++;for(k=a=0,e=A;e<w;e++)k+=b[e],p.limit[e]=k-1,k<<=1,a+=b[e],p.base[e+1]=k-a;p.limit[w+1]=Number.MAX_VALUE,p.limit[w]=k+b[w]-1,p.base[A]=0}var E=new Uint32Array(256);for(e=0;e<256;e++)y[e]=e;var v,B=0,S=0,I=0,K=this.dbuf=new Uint32Array(this.dbufSize);for(g=0;;){for(g--||(g=49,I>=l&&Rg(xg.DATA_ERROR),p=d[f[I++]]),e=p.minLen,t=n.read(e);e>p.maxLen&&Rg(xg.DATA_ERROR),!(t<=p.limit[e]);e++)t=t<<1|n.read(1);((t-=p.base[e])<0||t>=258)&&Rg(xg.DATA_ERROR);var C=p.permute[t];if(0!==C&&1!==C){if(B)for(B=0,S+a>this.dbufSize&&Rg(xg.DATA_ERROR),E[v=o[y[0]]]+=a;a--;)K[S++]=v;if(C>c)break;S>=this.dbufSize&&Rg(xg.DATA_ERROR),E[v=o[v=Dg(y,e=C-1)]]++,K[S++]=v}else B||(B=1,a=0),a+=0===C?B:2*B,B<<=1}for((s<0||s>=S)&&Rg(xg.DATA_ERROR),t=0,e=0;e<256;e++)r=t+E[e],E[e]=t,t=r;for(e=0;e<S;e++)K[E[v=255&K[e]]]|=e<<8,E[v]++;var U=0,P=0,D=0;return S&&(P=255&(U=K[s]),U>>=8,D=-1),this.writePos=U,this.writeCurrent=P,this.writeCount=S,this.writeRun=D,!0},Tg.prototype._read_bunzip=function(e,t){var r,n,i;if(this.writeCount<0)return 0;var s=this.dbuf,a=this.writePos,o=this.writeCurrent,c=this.writeCount;this.outputsize;for(var u=this.writeRun;c;){for(c--,n=o,o=255&(a=s[a]),a>>=8,3==u++?(r=o,i=n,o=-1):(r=1,i=o),this.blockCRC.updateCRCRun(i,r);r--;)this.outputStream.writeByte(i),this.nextoutput++;o!=n&&(u=0)}return this.writeCount=c,this.blockCRC.getCRC()!==this.targetBlockCRC&&Rg(xg.DATA_ERROR,"Bad block CRC (got "+this.blockCRC.getCRC().toString(16)+" expected "+this.targetBlockCRC.toString(16)+")"),this.nextoutput};var Mg=function(e){if("readByte"in e)return e;var t=new Ug;return t.pos=0,t.readByte=function(){return e[this.pos++]},t.seek=function(e){this.pos=e},t.eof=function(){return this.pos>=e.length},t},Lg=function(e){var t=new Ug,r=!0;if(e)if("number"==typeof e)t.buffer=new Uint8Array(e),r=!1;else{if("writeByte"in e)return e;t.buffer=e,r=!1}else t.buffer=new Uint8Array(16384);return t.pos=0,t.writeByte=function(e){if(r&&this.pos>=this.buffer.length){var t=new Uint8Array(2*this.buffer.length);t.set(this.buffer),this.buffer=t}this.buffer[this.pos++]=e},t.getBuffer=function(){if(this.pos!==this.buffer.length){if(!r)throw new TypeError("outputsize does not match decoded input");var e=new Uint8Array(this.pos);e.set(this.buffer.subarray(0,this.pos)),this.buffer=e}return this.buffer},t._coerced=!0,t};var Ng={Bunzip:Tg,Stream:Ug,Err:xg,decode:function(e,t,r){for(var n=Mg(e),i=Lg(t),s=new Tg(n,i);!("eof"in n)||!n.eof();)if(s._init_block())s._read_bunzip();else{var a=s.reader.read(32)>>>0;if(a!==s.streamCRC&&Rg(xg.DATA_ERROR,"Bad stream CRC (got "+s.streamCRC.toString(16)+" expected "+a.toString(16)+")"),!r||!("eof"in n)||n.eof())break;s._start_bunzip(n,i)}if("getBuffer"in i)return i.getBuffer()},decodeBlock:function(e,t,r){var n=Mg(e),i=Lg(r),s=new Tg(n,i);if(s.reader.seek(t),s._get_next_block()&&(s.blockCRC=new Pg,s.writeCopies=0,s._read_bunzip()),"getBuffer"in i)return i.getBuffer()},table:function(e,t,r){var n=new Ug;n.delegate=Mg(e),n.pos=0,n.readByte=function(){return this.pos++,this.delegate.readByte()},n.delegate.eof&&(n.eof=n.delegate.eof.bind(n.delegate));var i=new Ug;i.pos=0,i.writeByte=function(){this.pos++};for(var s=new Tg(n,i),a=s.dbufSize;!("eof"in n)||!n.eof();){var o=8*n.pos+s.reader.bitOffset;if(s.reader.hasByte&&(o-=8),s._init_block()){var c=i.pos;s._read_bunzip(),t(o,i.pos-c)}else{if(s.reader.read(32),!r||!("eof"in n)||n.eof())break;s._start_bunzip(n,i),console.assert(s.dbufSize===a,"shouldn't change block size within multistream file")}}}},Fg=/*#__PURE__*/t({__proto__:null},[Ng]);export{sc as AEADEncryptedDataPacket,xa as Argon2OutOfMemoryError,Ma as Argon2S2K,hu as CleartextMessage,Zo as CompressedDataPacket,zo as GrammarError,Es as KDFParams,Ro as LiteralDataPacket,fc as MarkerPacket,iu as Message,_o as OnePassSignaturePacket,Vo as PacketList,kc as PaddingPacket,Vc as PrivateKey,jc as PublicKey,oc as PublicKeyEncryptedSessionKeyPacket,hc as PublicKeyPacket,pc as PublicSubkeyPacket,dc as SecretKeyPacket,mc as SecretSubkeyPacket,vc as Signature,Fo as SignaturePacket,Hc as Subkey,rc as SymEncryptedIntegrityProtectedDataPacket,uc as SymEncryptedSessionKeyPacket,yc as SymmetricallyEncryptedDataPacket,bc as TrustPacket,Wt as UnparseablePacket,gc as UserAttributePacket,wc as UserIDPacket,X as armor,R as config,yu as createCleartextMessage,cu as createMessage,mu as decrypt,du as decryptKey,Bu as decryptSessionKeys,wu as encrypt,Au as encryptKey,vu as encryptSessionKey,Q as enums,fu as generateKey,Eu as generateSessionKey,lu as readCleartextMessage,Jc as readKey,$c as readKeys,ou as readMessage,Xc as readPrivateKey,eu as readPrivateKeys,Bc as readSignature,pu as reformatKey,gu as revokeKey,bu as sign,J as unarmor,ku as verify};
12
+ const ml=BigInt(0),bl=BigInt(1),kl=BigInt(2);function El(e){const t=(qc(r=e,{adjustScalarBytes:"function",powPminus2:"function"}),Object.freeze({...r}));var r;const{P:n,type:i,adjustScalarBytes:s,powPminus2:a,randomBytes:o}=t,c="x25519"===i;if(!c&&"x448"!==i)throw Error("invalid type");const u=o||Cc,h=c?255:448,l=c?32:56,f=c?BigInt(9):BigInt(5),y=c?BigInt(121665):BigInt(39081),p=c?kl**BigInt(254):kl**BigInt(447),d=c?BigInt(8)*kl**BigInt(251)-bl:BigInt(4)*kl**BigInt(445)-bl,g=p+d+bl,A=e=>nu(e,n),w=m(f);function m(e){return Fc(A(e),l)}function b(e,t){const r=function(e,t){Hc("u",e,ml,n),Hc("scalar",t,p,g);const r=t,i=e;let s=bl,o=ml,c=e,u=bl,l=ml;for(let e=BigInt(h-1);e>=ml;e--){const t=r>>e&bl;l^=t,({x_2:s,x_3:c}=E(l,s,c)),({x_2:o,x_3:u}=E(l,o,u)),l=t;const n=s+o,a=A(n*n),h=s-o,f=A(h*h),p=a-f,d=c+u,g=A((c-u)*n),w=A(d*h),m=g+w,b=g-w;c=A(m*m),u=A(i*A(b*b)),s=A(a*f),o=A(p*(a+A(y*p)))}({x_2:s,x_3:c}=E(l,s,c)),({x_2:o,x_3:u}=E(l,o,u));const f=a(o);return A(s*f)}(function(e){const t=Oc("u coordinate",e,l);return c&&(t[31]&=127),A(Mc(t))}(t),function(e){return Mc(s(Oc("scalar",e,l)))}(e));if(r===ml)throw Error("invalid private or public key received");return m(r)}function k(e){return b(e,w)}function E(e,t,r){const n=A(e*(t-r));return{x_2:t=A(t-n),x_3:r=A(r+n)}}const v={secretKey:l,publicKey:l,seed:l},K=(e=u(l))=>(nc(e,v.seed),e);return{keygen:function(e){const t=K(e);return{secretKey:t,publicKey:k(t)}},getSharedSecret:(e,t)=>b(e,t),getPublicKey:e=>k(e),scalarMult:b,scalarMultBase:k,utils:{randomSecretKey:K,randomPrivateKey:K},GuBytes:w.slice(),lengths:v}}
13
+ /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const vl={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),n:BigInt("0x3fffffffffffffffffffffffffffffffffffffffffffffffffffffff7cca23e9c44edb49aed63690216cc2728dc58f552378c292ab5844f3"),h:BigInt(4),a:BigInt(1),d:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffffffffffffffffffffffffffffffffffffffffffffffff6756"),Gx:BigInt("0x4f1970c66bed0ded221d15a622bf36da9e146570470f1767ea6de324a3d3a46412ae1af72ab66511433b80e18b00938e2626a82bc70cc05e"),Gy:BigInt("0x693f46716eb6bc248876203756c9c7624bea73736ca3984087789c1e05a0c2d73ad3ff1ce67c39c4fdbd132c4ed7c8ad9808795bf230fa14")},Kl=Object.assign({},vl,{d:BigInt("0xd78b4bdc7f0daf19f24f38c29373a2ccad46157242a50f37809b1da3412a12e79ccc9c81264cfe9ad080997058fb61c4243cc32dbaa156b9"),Gx:BigInt("0x79a70b2b70400553ae7c9df416c792c61128751ac92969240c25a07d728bdc93e21f7787ed6972249de732f38496cd11698713093e9c04fc"),Gy:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffff80000000000000000000000000000000000000000000000000000001")}),Sl=/* @__PURE__ */Ic((()=>fl.create({dkLen:114}))),Il=BigInt(1),Bl=BigInt(2),Cl=BigInt(3);BigInt(4);const Ul=BigInt(11),Pl=BigInt(22),Dl=BigInt(44),xl=BigInt(88),Ql=BigInt(223);function Rl(e){const t=vl.p,r=e*e*e%t,n=r*r*e%t,i=iu(n,Cl,t)*n%t,s=iu(i,Cl,t)*n%t,a=iu(s,Bl,t)*r%t,o=iu(a,Ul,t)*a%t,c=iu(o,Pl,t)*o%t,u=iu(c,Dl,t)*c%t,h=iu(u,xl,t)*u%t,l=iu(h,Dl,t)*c%t,f=iu(l,Bl,t)*r%t,y=iu(f,Il,t)*e%t;return iu(y,Ql,t)*f%t}function Tl(e){return e[0]&=252,e[55]|=128,e[56]=0,e}function Ml(e,t){const r=vl.p,n=nu(e*e*t,r),i=nu(n*e,r),s=nu(i*n*t,r),a=nu(i*Rl(s),r),o=nu(a*a,r);return{isValid:nu(o*t,r)===e,value:a}}const Ll=/* @__PURE__ */(()=>du(vl.p,{BITS:456,isLE:!0}))(),Fl=/* @__PURE__ */(()=>du(vl.n,{BITS:456,isLE:!0}))();function Ol(e,t,r){if(t.length>255)throw Error("context must be smaller than 255, got: "+t.length);return Kc((n="SigEd448",Uint8Array.from(n,((e,t)=>{const r=e.charCodeAt(0);if(1!==e.length||r>127)throw Error(`string contains non-ASCII character "${n[t]}" with code ${r} at position ${t}`);return r}))),new Uint8Array([r?1:0,t.length]),t,e);var n}const Nl=function(e){const{CURVE:t,curveOpts:r,hash:n,eddsaOpts:i}=function(e){const t={a:e.a,d:e.d,p:e.Fp.ORDER,n:e.n,h:e.h,Gx:e.Gx,Gy:e.Gy},r={Fp:e.Fp,Fn:du(t.n,e.nBitLength,!0),uvRatio:e.uvRatio},n={randomBytes:e.randomBytes,adjustScalarBytes:e.adjustScalarBytes,domain:e.domain,prehash:e.prehash,mapToCurve:e.mapToCurve};return{CURVE:t,curveOpts:r,hash:e.hash,eddsaOpts:n}}(e);return function(e,t){const r=t.Point;return Object.assign({},t,{ExtendedPoint:r,CURVE:e,nBitLength:r.Fn.BITS,nByteLength:r.Fn.BYTES})}(e,wl(Al(t,r),n,i))}(/* @__PURE__ */(()=>({...vl,Fp:Ll,Fn:Fl,nBitLength:Fl.BITS,hash:Sl,adjustScalarBytes:Tl,domain:Ol,uvRatio:Ml}))());Al(Kl);const _l=/* @__PURE__ */(()=>{const e=vl.p;return El({P:e,type:"x448",powPminus2:t=>nu(iu(Rl(t),Bl,e)*t,e),adjustScalarBytes:Tl})})(),Hl={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:BigInt(1),a:BigInt(0),b:BigInt(7),Gx:BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Gy:BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")},zl={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),basises:[[BigInt("0x3086d221a7d46bcde86c90e49284eb15"),-BigInt("0xe4437ed6010e88286f547fa90abfe4c3")],[BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),BigInt("0x3086d221a7d46bcde86c90e49284eb15")]]},Gl=/* @__PURE__ */BigInt(2);
14
+ /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const ql=du(Hl.p,{sqrt:function(e){const t=Hl.p,r=BigInt(3),n=BigInt(6),i=BigInt(11),s=BigInt(22),a=BigInt(23),o=BigInt(44),c=BigInt(88),u=e*e*e%t,h=u*u*e%t,l=iu(h,r,t)*h%t,f=iu(l,r,t)*h%t,y=iu(f,Gl,t)*u%t,p=iu(y,i,t)*y%t,d=iu(p,s,t)*p%t,g=iu(d,o,t)*d%t,A=iu(g,c,t)*g%t,w=iu(A,o,t)*d%t,m=iu(w,r,t)*h%t,b=iu(m,a,t)*p%t,k=iu(b,n,t)*u%t,E=iu(k,Gl,t);if(!ql.eql(ql.sqr(E),e))throw Error("Cannot find square root");return E}}),jl=Lh({...Hl,Fp:ql,lowS:!0,endo:zl},$u),Vl=$u,Yl=eh,Zl=du(BigInt("0xa9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377")),Jl=Lh({a:Zl.create(BigInt("0x7d5a0975fc2c3057eef67530417affe7fb8055c126dc5c6ce94a4b44f330b5d9")),b:BigInt("0x26dc5c6ce94a4b44f330b5d9bbd77cbf958416295cf7e1ce6bccdc18ff8c07b6"),Fp:Zl,n:BigInt("0xa9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7"),Gx:BigInt("0x8bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262"),Gy:BigInt("0x547ef835c3dac4fd97f8461a14611dc9c27745132ded8e545c1d54c72f046997"),h:BigInt(1),lowS:!1},Vl),Xl=th,Wl=rh,$l=du(BigInt("0x8cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53")),ef=Lh({a:$l.create(BigInt("0x7bc382c63d8c150c3c72080ace05afa0c2bea28e4fb22787139165efba91f90f8aa5814a503ad4eb04a8c7dd22ce2826")),b:BigInt("0x04a8c7dd22ce28268b39b55416f0447c2fb77de107dcd2a62e880ea53eeb62d57cb4390295dbc9943ab78696fa504c11"),Fp:$l,n:BigInt("0x8cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046565"),Gx:BigInt("0x1d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e"),Gy:BigInt("0x8abe1d7520f9c2a45cb1eb8e95cfd55262b70b29feec5864e19c054ff99129280e4646217791811142820341263c5315"),h:BigInt(1),lowS:!1},Wl),tf=du(BigInt("0xaadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f3")),rf=Lh({a:tf.create(BigInt("0x7830a3318b603b89e2327145ac234cc594cbdd8d3df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94ca")),b:BigInt("0x3df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94cadc083e67984050b75ebae5dd2809bd638016f723"),Fp:tf,n:BigInt("0xaadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90069"),Gx:BigInt("0x81aee4bdd82ed9645a21322e9c4c6a9385ed9f70b5d916c1b43b62eef4d0098eff3b1f78e2d0d48d50d1687b93b97d5f7c6d5047406a5e688b352209bcb9f822"),Gy:BigInt("0x7dde385d566332ecc0eabfa9cf7822fdf209f70024a57b1aa000c55b881f8111b2dcde494a5f485e5bca4bd88a2763aed1ca2b2fa8f0540678cd1e0f3ad80892"),h:BigInt(1),lowS:!1},Xl),nf=new Map(Object.entries({nistP256:Gh,nistP384:qh,nistP521:jh,brainpoolP256r1:Jl,brainpoolP384r1:ef,brainpoolP512r1:rf,secp256k1:jl,x448:_l,ed448:Nl}));var sf=/*#__PURE__*/Object.freeze({__proto__:null,nobleCurves:nf});const af=/* @__PURE__ */Uint32Array.from([1732584193,4023233417,2562383102,271733878,3285377520]),of=/* @__PURE__ */new Uint32Array(80);class cf extends bu{constructor(){super(64,20,8,!1),this.A=0|af[0],this.B=0|af[1],this.C=0|af[2],this.D=0|af[3],this.E=0|af[4]}get(){const{A:e,B:t,C:r,D:n,E:i}=this;return[e,t,r,n,i]}set(e,t,r,n,i){this.A=0|e,this.B=0|t,this.C=0|r,this.D=0|n,this.E=0|i}process(e,t){for(let r=0;r<16;r++,t+=4)of[r]=e.getUint32(t,!1);for(let e=16;e<80;e++)of[e]=hc(of[e-3]^of[e-8]^of[e-14]^of[e-16],1);let{A:r,B:n,C:i,D:s,E:a}=this;for(let e=0;e<80;e++){let t,o;e<20?(t=wu(n,i,s),o=1518500249):e<40?(t=n^i^s,o=1859775393):e<60?(t=mu(n,i,s),o=2400959708):(t=n^i^s,o=3395469782);const c=hc(r,5)+t+a+o+of[e]|0;a=s,s=i,i=hc(n,30),n=r,r=c}r=r+this.A|0,n=n+this.B|0,i=i+this.C|0,s=s+this.D|0,a=a+this.E|0,this.set(r,n,i,s,a)}roundClean(){oc(of)}destroy(){this.set(0,0,0,0,0),oc(this.buffer)}}const uf=/* @__PURE__ */Ic((()=>new cf)),hf=/* @__PURE__ */Uint8Array.from([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]),lf=/* @__PURE__ */(()=>Uint8Array.from(Array(16).fill(0).map(((e,t)=>t))))(),ff=/* @__PURE__ */(()=>lf.map((e=>(9*e+5)%16)))(),yf=/* @__PURE__ */(()=>{const e=[[lf],[ff]];for(let t=0;t<4;t++)for(let r of e)r.push(r[t].map((e=>hf[e])));return e})(),pf=/* @__PURE__ */(()=>yf[0])(),df=/* @__PURE__ */(()=>yf[1])(),gf=/* @__PURE__ */[[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8],[12,13,11,15,6,9,9,7,12,15,11,13,7,8,7,7],[13,15,14,11,7,7,6,8,13,14,13,12,5,5,6,9],[14,11,12,14,8,6,5,5,15,12,15,14,9,9,8,6],[15,12,13,13,9,5,8,6,14,11,12,11,8,6,5,5]].map((e=>Uint8Array.from(e))),Af=/* @__PURE__ */pf.map(((e,t)=>e.map((e=>gf[t][e])))),wf=/* @__PURE__ */df.map(((e,t)=>e.map((e=>gf[t][e])))),mf=/* @__PURE__ */Uint32Array.from([0,1518500249,1859775393,2400959708,2840853838]),bf=/* @__PURE__ */Uint32Array.from([1352829926,1548603684,1836072691,2053994217,0]);function kf(e,t,r,n){return 0===e?t^r^n:1===e?t&r|~t&n:2===e?(t|~r)^n:3===e?t&n|r&~n:t^(r|~n)}const Ef=/* @__PURE__ */new Uint32Array(16);class vf extends bu{constructor(){super(64,20,8,!0),this.h0=1732584193,this.h1=-271733879,this.h2=-1732584194,this.h3=271733878,this.h4=-1009589776}get(){const{h0:e,h1:t,h2:r,h3:n,h4:i}=this;return[e,t,r,n,i]}set(e,t,r,n,i){this.h0=0|e,this.h1=0|t,this.h2=0|r,this.h3=0|n,this.h4=0|i}process(e,t){for(let r=0;r<16;r++,t+=4)Ef[r]=e.getUint32(t,!0);let r=0|this.h0,n=r,i=0|this.h1,s=i,a=0|this.h2,o=a,c=0|this.h3,u=c,h=0|this.h4,l=h;for(let e=0;e<5;e++){const t=4-e,f=mf[e],y=bf[e],p=pf[e],d=df[e],g=Af[e],A=wf[e];for(let t=0;t<16;t++){const n=hc(r+kf(e,i,a,c)+Ef[p[t]]+f,g[t])+h|0;r=h,h=c,c=0|hc(a,10),a=i,i=n}for(let e=0;e<16;e++){const r=hc(n+kf(t,s,o,u)+Ef[d[e]]+y,A[e])+l|0;n=l,l=u,u=0|hc(o,10),o=s,s=r}}this.set(this.h1+a+u|0,this.h2+c+l|0,this.h3+h+n|0,this.h4+r+s|0,this.h0+i+o|0)}roundClean(){oc(Ef)}destroy(){this.destroyed=!0,oc(this.buffer),this.set(0,0,0,0,0)}}const Kf=uf,Sf=/* @__PURE__ */Ic((()=>new vf)),If=Array.from({length:64},((e,t)=>Math.floor(2**32*Math.abs(Math.sin(t+1))))),Bf=(e,t,r)=>e&t^~e&r,Cf=/* @__PURE__ */new Uint32Array([1732584193,4023233417,2562383102,271733878]),Uf=/* @__PURE__ */new Uint32Array(16);class Pf extends bu{constructor(){super(64,16,8,!0),this.A=0|Cf[0],this.B=0|Cf[1],this.C=0|Cf[2],this.D=0|Cf[3]}get(){const{A:e,B:t,C:r,D:n}=this;return[e,t,r,n]}set(e,t,r,n){this.A=0|e,this.B=0|t,this.C=0|r,this.D=0|n}process(e,t){for(let r=0;r<16;r++,t+=4)Uf[r]=e.getUint32(t,!0);let{A:r,B:n,C:i,D:s}=this;for(let e=0;e<64;e++){let t,a,o;e<16?(t=Bf(n,i,s),a=e,o=[7,12,17,22]):e<32?(t=Bf(s,n,i),a=(5*e+1)%16,o=[5,9,14,20]):e<48?(t=n^i^s,a=(3*e+5)%16,o=[4,11,16,23]):(t=i^(n|~s),a=7*e%16,o=[6,10,15,21]),t=t+r+If[e]+Uf[a],r=s,s=i,i=n,n+=hc(t,o[e%4])}r=r+this.A|0,n=n+this.B|0,i=i+this.C|0,s=s+this.D|0,this.set(r,n,i,s)}roundClean(){Uf.fill(0)}destroy(){this.set(0,0,0,0),this.buffer.fill(0)}}const Df=new Map(Object.entries({md5:/* @__PURE__ */Bc((()=>new Pf)),sha1:Kf,sha224:Yl,sha256:Vl,sha384:Wl,sha512:Xl,sha3_256:ul,sha3_512:hl,ripemd160:Sf}));var xf=/*#__PURE__*/Object.freeze({__proto__:null,nobleHashes:Df});const Qf="object"==typeof e&&"crypto"in e?e.crypto:void 0,Rf={};var Tf=function(e){var t,r=new Float64Array(16);if(e)for(t=0;t<e.length;t++)r[t]=e[t];return r},Mf=function(){throw Error("no PRNG")},Lf=new Uint8Array(32);Lf[0]=9;var Ff=Tf(),Of=Tf([1]),Nf=Tf([56129,1]),_f=Tf([30883,4953,19914,30187,55467,16705,2637,112,59544,30585,16505,36039,65139,11119,27886,20995]),Hf=Tf([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),zf=Tf([54554,36645,11616,51542,42930,38181,51040,26924,56412,64982,57905,49316,21502,52590,14035,8553]),Gf=Tf([26200,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214]),qf=Tf([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]);function jf(e,t,r,n){e[t]=r>>24&255,e[t+1]=r>>16&255,e[t+2]=r>>8&255,e[t+3]=255&r,e[t+4]=n>>24&255,e[t+5]=n>>16&255,e[t+6]=n>>8&255,e[t+7]=255&n}function Vf(e,t,r,n){return function(e,t,r,n,i){var s,a=0;for(s=0;s<i;s++)a|=e[t+s]^r[n+s];return(1&a-1>>>8)-1}(e,t,r,n,32)}function Yf(e,t){var r;for(r=0;r<16;r++)e[r]=0|t[r]}function Zf(e){var t,r,n=1;for(t=0;t<16;t++)r=e[t]+n+65535,n=Math.floor(r/65536),e[t]=r-65536*n;e[0]+=n-1+37*(n-1)}function Jf(e,t,r){for(var n,i=~(r-1),s=0;s<16;s++)n=i&(e[s]^t[s]),e[s]^=n,t[s]^=n}function Xf(e,t){var r,n,i,s=Tf(),a=Tf();for(r=0;r<16;r++)a[r]=t[r];for(Zf(a),Zf(a),Zf(a),n=0;n<2;n++){for(s[0]=a[0]-65517,r=1;r<15;r++)s[r]=a[r]-65535-(s[r-1]>>16&1),s[r-1]&=65535;s[15]=a[15]-32767-(s[14]>>16&1),i=s[15]>>16&1,s[14]&=65535,Jf(a,s,1-i)}for(r=0;r<16;r++)e[2*r]=255&a[r],e[2*r+1]=a[r]>>8}function Wf(e,t){var r=new Uint8Array(32),n=new Uint8Array(32);return Xf(r,e),Xf(n,t),Vf(r,0,n,0)}function $f(e){var t=new Uint8Array(32);return Xf(t,e),1&t[0]}function ey(e,t){var r;for(r=0;r<16;r++)e[r]=t[2*r]+(t[2*r+1]<<8);e[15]&=32767}function ty(e,t,r){for(var n=0;n<16;n++)e[n]=t[n]+r[n]}function ry(e,t,r){for(var n=0;n<16;n++)e[n]=t[n]-r[n]}function ny(e,t,r){var n,i,s=0,a=0,o=0,c=0,u=0,h=0,l=0,f=0,y=0,p=0,d=0,g=0,A=0,w=0,m=0,b=0,k=0,E=0,v=0,K=0,S=0,I=0,B=0,C=0,U=0,P=0,D=0,x=0,Q=0,R=0,T=0,M=r[0],L=r[1],F=r[2],O=r[3],N=r[4],_=r[5],H=r[6],z=r[7],G=r[8],q=r[9],j=r[10],V=r[11],Y=r[12],Z=r[13],J=r[14],X=r[15];s+=(n=t[0])*M,a+=n*L,o+=n*F,c+=n*O,u+=n*N,h+=n*_,l+=n*H,f+=n*z,y+=n*G,p+=n*q,d+=n*j,g+=n*V,A+=n*Y,w+=n*Z,m+=n*J,b+=n*X,a+=(n=t[1])*M,o+=n*L,c+=n*F,u+=n*O,h+=n*N,l+=n*_,f+=n*H,y+=n*z,p+=n*G,d+=n*q,g+=n*j,A+=n*V,w+=n*Y,m+=n*Z,b+=n*J,k+=n*X,o+=(n=t[2])*M,c+=n*L,u+=n*F,h+=n*O,l+=n*N,f+=n*_,y+=n*H,p+=n*z,d+=n*G,g+=n*q,A+=n*j,w+=n*V,m+=n*Y,b+=n*Z,k+=n*J,E+=n*X,c+=(n=t[3])*M,u+=n*L,h+=n*F,l+=n*O,f+=n*N,y+=n*_,p+=n*H,d+=n*z,g+=n*G,A+=n*q,w+=n*j,m+=n*V,b+=n*Y,k+=n*Z,E+=n*J,v+=n*X,u+=(n=t[4])*M,h+=n*L,l+=n*F,f+=n*O,y+=n*N,p+=n*_,d+=n*H,g+=n*z,A+=n*G,w+=n*q,m+=n*j,b+=n*V,k+=n*Y,E+=n*Z,v+=n*J,K+=n*X,h+=(n=t[5])*M,l+=n*L,f+=n*F,y+=n*O,p+=n*N,d+=n*_,g+=n*H,A+=n*z,w+=n*G,m+=n*q,b+=n*j,k+=n*V,E+=n*Y,v+=n*Z,K+=n*J,S+=n*X,l+=(n=t[6])*M,f+=n*L,y+=n*F,p+=n*O,d+=n*N,g+=n*_,A+=n*H,w+=n*z,m+=n*G,b+=n*q,k+=n*j,E+=n*V,v+=n*Y,K+=n*Z,S+=n*J,I+=n*X,f+=(n=t[7])*M,y+=n*L,p+=n*F,d+=n*O,g+=n*N,A+=n*_,w+=n*H,m+=n*z,b+=n*G,k+=n*q,E+=n*j,v+=n*V,K+=n*Y,S+=n*Z,I+=n*J,B+=n*X,y+=(n=t[8])*M,p+=n*L,d+=n*F,g+=n*O,A+=n*N,w+=n*_,m+=n*H,b+=n*z,k+=n*G,E+=n*q,v+=n*j,K+=n*V,S+=n*Y,I+=n*Z,B+=n*J,C+=n*X,p+=(n=t[9])*M,d+=n*L,g+=n*F,A+=n*O,w+=n*N,m+=n*_,b+=n*H,k+=n*z,E+=n*G,v+=n*q,K+=n*j,S+=n*V,I+=n*Y,B+=n*Z,C+=n*J,U+=n*X,d+=(n=t[10])*M,g+=n*L,A+=n*F,w+=n*O,m+=n*N,b+=n*_,k+=n*H,E+=n*z,v+=n*G,K+=n*q,S+=n*j,I+=n*V,B+=n*Y,C+=n*Z,U+=n*J,P+=n*X,g+=(n=t[11])*M,A+=n*L,w+=n*F,m+=n*O,b+=n*N,k+=n*_,E+=n*H,v+=n*z,K+=n*G,S+=n*q,I+=n*j,B+=n*V,C+=n*Y,U+=n*Z,P+=n*J,D+=n*X,A+=(n=t[12])*M,w+=n*L,m+=n*F,b+=n*O,k+=n*N,E+=n*_,v+=n*H,K+=n*z,S+=n*G,I+=n*q,B+=n*j,C+=n*V,U+=n*Y,P+=n*Z,D+=n*J,x+=n*X,w+=(n=t[13])*M,m+=n*L,b+=n*F,k+=n*O,E+=n*N,v+=n*_,K+=n*H,S+=n*z,I+=n*G,B+=n*q,C+=n*j,U+=n*V,P+=n*Y,D+=n*Z,x+=n*J,Q+=n*X,m+=(n=t[14])*M,b+=n*L,k+=n*F,E+=n*O,v+=n*N,K+=n*_,S+=n*H,I+=n*z,B+=n*G,C+=n*q,U+=n*j,P+=n*V,D+=n*Y,x+=n*Z,Q+=n*J,R+=n*X,b+=(n=t[15])*M,a+=38*(E+=n*F),o+=38*(v+=n*O),c+=38*(K+=n*N),u+=38*(S+=n*_),h+=38*(I+=n*H),l+=38*(B+=n*z),f+=38*(C+=n*G),y+=38*(U+=n*q),p+=38*(P+=n*j),d+=38*(D+=n*V),g+=38*(x+=n*Y),A+=38*(Q+=n*Z),w+=38*(R+=n*J),m+=38*(T+=n*X),s=(n=(s+=38*(k+=n*L))+(i=1)+65535)-65536*(i=Math.floor(n/65536)),a=(n=a+i+65535)-65536*(i=Math.floor(n/65536)),o=(n=o+i+65535)-65536*(i=Math.floor(n/65536)),c=(n=c+i+65535)-65536*(i=Math.floor(n/65536)),u=(n=u+i+65535)-65536*(i=Math.floor(n/65536)),h=(n=h+i+65535)-65536*(i=Math.floor(n/65536)),l=(n=l+i+65535)-65536*(i=Math.floor(n/65536)),f=(n=f+i+65535)-65536*(i=Math.floor(n/65536)),y=(n=y+i+65535)-65536*(i=Math.floor(n/65536)),p=(n=p+i+65535)-65536*(i=Math.floor(n/65536)),d=(n=d+i+65535)-65536*(i=Math.floor(n/65536)),g=(n=g+i+65535)-65536*(i=Math.floor(n/65536)),A=(n=A+i+65535)-65536*(i=Math.floor(n/65536)),w=(n=w+i+65535)-65536*(i=Math.floor(n/65536)),m=(n=m+i+65535)-65536*(i=Math.floor(n/65536)),b=(n=b+i+65535)-65536*(i=Math.floor(n/65536)),s=(n=(s+=i-1+37*(i-1))+(i=1)+65535)-65536*(i=Math.floor(n/65536)),a=(n=a+i+65535)-65536*(i=Math.floor(n/65536)),o=(n=o+i+65535)-65536*(i=Math.floor(n/65536)),c=(n=c+i+65535)-65536*(i=Math.floor(n/65536)),u=(n=u+i+65535)-65536*(i=Math.floor(n/65536)),h=(n=h+i+65535)-65536*(i=Math.floor(n/65536)),l=(n=l+i+65535)-65536*(i=Math.floor(n/65536)),f=(n=f+i+65535)-65536*(i=Math.floor(n/65536)),y=(n=y+i+65535)-65536*(i=Math.floor(n/65536)),p=(n=p+i+65535)-65536*(i=Math.floor(n/65536)),d=(n=d+i+65535)-65536*(i=Math.floor(n/65536)),g=(n=g+i+65535)-65536*(i=Math.floor(n/65536)),A=(n=A+i+65535)-65536*(i=Math.floor(n/65536)),w=(n=w+i+65535)-65536*(i=Math.floor(n/65536)),m=(n=m+i+65535)-65536*(i=Math.floor(n/65536)),b=(n=b+i+65535)-65536*(i=Math.floor(n/65536)),s+=i-1+37*(i-1),e[0]=s,e[1]=a,e[2]=o,e[3]=c,e[4]=u,e[5]=h,e[6]=l,e[7]=f,e[8]=y,e[9]=p,e[10]=d,e[11]=g,e[12]=A,e[13]=w,e[14]=m,e[15]=b}function iy(e,t){ny(e,t,t)}function sy(e,t){var r,n=Tf();for(r=0;r<16;r++)n[r]=t[r];for(r=253;r>=0;r--)iy(n,n),2!==r&&4!==r&&ny(n,n,t);for(r=0;r<16;r++)e[r]=n[r]}function ay(e,t,r){var n,i,s=new Uint8Array(32),a=new Float64Array(80),o=Tf(),c=Tf(),u=Tf(),h=Tf(),l=Tf(),f=Tf();for(i=0;i<31;i++)s[i]=t[i];for(s[31]=127&t[31]|64,s[0]&=248,ey(a,r),i=0;i<16;i++)c[i]=a[i],h[i]=o[i]=u[i]=0;for(o[0]=h[0]=1,i=254;i>=0;--i)Jf(o,c,n=s[i>>>3]>>>(7&i)&1),Jf(u,h,n),ty(l,o,u),ry(o,o,u),ty(u,c,h),ry(c,c,h),iy(h,l),iy(f,o),ny(o,u,o),ny(u,c,l),ty(l,o,u),ry(o,o,u),iy(c,o),ry(u,h,f),ny(o,u,Nf),ty(o,o,h),ny(u,u,o),ny(o,h,f),ny(h,c,a),iy(c,l),Jf(o,c,n),Jf(u,h,n);for(i=0;i<16;i++)a[i+16]=o[i],a[i+32]=u[i],a[i+48]=c[i],a[i+64]=h[i];var y=a.subarray(32),p=a.subarray(16);return sy(y,y),ny(p,p,y),Xf(e,p),0}function oy(e,t){return ay(e,t,Lf)}var cy=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function uy(e,t,r,n){for(var i,s,a,o,c,u,h,l,f,y,p,d,g,A,w,m,b,k,E,v,K,S,I,B,C,U,P=new Int32Array(16),D=new Int32Array(16),x=e[0],Q=e[1],R=e[2],T=e[3],M=e[4],L=e[5],F=e[6],O=e[7],N=t[0],_=t[1],H=t[2],z=t[3],G=t[4],q=t[5],j=t[6],V=t[7],Y=0;n>=128;){for(E=0;E<16;E++)v=8*E+Y,P[E]=r[v+0]<<24|r[v+1]<<16|r[v+2]<<8|r[v+3],D[E]=r[v+4]<<24|r[v+5]<<16|r[v+6]<<8|r[v+7];for(E=0;E<80;E++)if(i=x,s=Q,a=R,o=T,c=M,u=L,h=F,O,f=N,y=_,p=H,d=z,g=G,A=q,w=j,V,I=65535&(S=V),B=S>>>16,C=65535&(K=O),U=K>>>16,I+=65535&(S=(G>>>14|M<<18)^(G>>>18|M<<14)^(M>>>9|G<<23)),B+=S>>>16,C+=65535&(K=(M>>>14|G<<18)^(M>>>18|G<<14)^(G>>>9|M<<23)),U+=K>>>16,I+=65535&(S=G&q^~G&j),B+=S>>>16,C+=65535&(K=M&L^~M&F),U+=K>>>16,I+=65535&(S=cy[2*E+1]),B+=S>>>16,C+=65535&(K=cy[2*E]),U+=K>>>16,K=P[E%16],B+=(S=D[E%16])>>>16,C+=65535&K,U+=K>>>16,C+=(B+=(I+=65535&S)>>>16)>>>16,I=65535&(S=k=65535&I|B<<16),B=S>>>16,C=65535&(K=b=65535&C|(U+=C>>>16)<<16),U=K>>>16,I+=65535&(S=(N>>>28|x<<4)^(x>>>2|N<<30)^(x>>>7|N<<25)),B+=S>>>16,C+=65535&(K=(x>>>28|N<<4)^(N>>>2|x<<30)^(N>>>7|x<<25)),U+=K>>>16,B+=(S=N&_^N&H^_&H)>>>16,C+=65535&(K=x&Q^x&R^Q&R),U+=K>>>16,l=65535&(C+=(B+=(I+=65535&S)>>>16)>>>16)|(U+=C>>>16)<<16,m=65535&I|B<<16,I=65535&(S=d),B=S>>>16,C=65535&(K=o),U=K>>>16,B+=(S=k)>>>16,C+=65535&(K=b),U+=K>>>16,Q=i,R=s,T=a,M=o=65535&(C+=(B+=(I+=65535&S)>>>16)>>>16)|(U+=C>>>16)<<16,L=c,F=u,O=h,x=l,_=f,H=y,z=p,G=d=65535&I|B<<16,q=g,j=A,V=w,N=m,E%16==15)for(v=0;v<16;v++)K=P[v],I=65535&(S=D[v]),B=S>>>16,C=65535&K,U=K>>>16,K=P[(v+9)%16],I+=65535&(S=D[(v+9)%16]),B+=S>>>16,C+=65535&K,U+=K>>>16,b=P[(v+1)%16],I+=65535&(S=((k=D[(v+1)%16])>>>1|b<<31)^(k>>>8|b<<24)^(k>>>7|b<<25)),B+=S>>>16,C+=65535&(K=(b>>>1|k<<31)^(b>>>8|k<<24)^b>>>7),U+=K>>>16,b=P[(v+14)%16],B+=(S=((k=D[(v+14)%16])>>>19|b<<13)^(b>>>29|k<<3)^(k>>>6|b<<26))>>>16,C+=65535&(K=(b>>>19|k<<13)^(k>>>29|b<<3)^b>>>6),U+=K>>>16,U+=(C+=(B+=(I+=65535&S)>>>16)>>>16)>>>16,P[v]=65535&C|U<<16,D[v]=65535&I|B<<16;I=65535&(S=N),B=S>>>16,C=65535&(K=x),U=K>>>16,K=e[0],B+=(S=t[0])>>>16,C+=65535&K,U+=K>>>16,U+=(C+=(B+=(I+=65535&S)>>>16)>>>16)>>>16,e[0]=x=65535&C|U<<16,t[0]=N=65535&I|B<<16,I=65535&(S=_),B=S>>>16,C=65535&(K=Q),U=K>>>16,K=e[1],B+=(S=t[1])>>>16,C+=65535&K,U+=K>>>16,U+=(C+=(B+=(I+=65535&S)>>>16)>>>16)>>>16,e[1]=Q=65535&C|U<<16,t[1]=_=65535&I|B<<16,I=65535&(S=H),B=S>>>16,C=65535&(K=R),U=K>>>16,K=e[2],B+=(S=t[2])>>>16,C+=65535&K,U+=K>>>16,U+=(C+=(B+=(I+=65535&S)>>>16)>>>16)>>>16,e[2]=R=65535&C|U<<16,t[2]=H=65535&I|B<<16,I=65535&(S=z),B=S>>>16,C=65535&(K=T),U=K>>>16,K=e[3],B+=(S=t[3])>>>16,C+=65535&K,U+=K>>>16,U+=(C+=(B+=(I+=65535&S)>>>16)>>>16)>>>16,e[3]=T=65535&C|U<<16,t[3]=z=65535&I|B<<16,I=65535&(S=G),B=S>>>16,C=65535&(K=M),U=K>>>16,K=e[4],B+=(S=t[4])>>>16,C+=65535&K,U+=K>>>16,U+=(C+=(B+=(I+=65535&S)>>>16)>>>16)>>>16,e[4]=M=65535&C|U<<16,t[4]=G=65535&I|B<<16,I=65535&(S=q),B=S>>>16,C=65535&(K=L),U=K>>>16,K=e[5],B+=(S=t[5])>>>16,C+=65535&K,U+=K>>>16,U+=(C+=(B+=(I+=65535&S)>>>16)>>>16)>>>16,e[5]=L=65535&C|U<<16,t[5]=q=65535&I|B<<16,I=65535&(S=j),B=S>>>16,C=65535&(K=F),U=K>>>16,K=e[6],B+=(S=t[6])>>>16,C+=65535&K,U+=K>>>16,U+=(C+=(B+=(I+=65535&S)>>>16)>>>16)>>>16,e[6]=F=65535&C|U<<16,t[6]=j=65535&I|B<<16,I=65535&(S=V),B=S>>>16,C=65535&(K=O),U=K>>>16,K=e[7],B+=(S=t[7])>>>16,C+=65535&K,U+=K>>>16,U+=(C+=(B+=(I+=65535&S)>>>16)>>>16)>>>16,e[7]=O=65535&C|U<<16,t[7]=V=65535&I|B<<16,Y+=128,n-=128}return n}function hy(e,t,r){var n,i=new Int32Array(8),s=new Int32Array(8),a=new Uint8Array(256),o=r;for(i[0]=1779033703,i[1]=3144134277,i[2]=1013904242,i[3]=2773480762,i[4]=1359893119,i[5]=2600822924,i[6]=528734635,i[7]=1541459225,s[0]=4089235720,s[1]=2227873595,s[2]=4271175723,s[3]=1595750129,s[4]=2917565137,s[5]=725511199,s[6]=4215389547,s[7]=327033209,uy(i,s,t,r),r%=128,n=0;n<r;n++)a[n]=t[o-r+n];for(a[r]=128,a[(r=256-128*(r<112?1:0))-9]=0,jf(a,r-8,o/536870912|0,o<<3),uy(i,s,a,r),n=0;n<8;n++)jf(e,8*n,i[n],s[n]);return 0}function ly(e,t){var r=Tf(),n=Tf(),i=Tf(),s=Tf(),a=Tf(),o=Tf(),c=Tf(),u=Tf(),h=Tf();ry(r,e[1],e[0]),ry(h,t[1],t[0]),ny(r,r,h),ty(n,e[0],e[1]),ty(h,t[0],t[1]),ny(n,n,h),ny(i,e[3],t[3]),ny(i,i,Hf),ny(s,e[2],t[2]),ty(s,s,s),ry(a,n,r),ry(o,s,i),ty(c,s,i),ty(u,n,r),ny(e[0],a,o),ny(e[1],u,c),ny(e[2],c,o),ny(e[3],a,u)}function fy(e,t,r){var n;for(n=0;n<4;n++)Jf(e[n],t[n],r)}function yy(e,t){var r=Tf(),n=Tf(),i=Tf();sy(i,t[2]),ny(r,t[0],i),ny(n,t[1],i),Xf(e,n),e[31]^=$f(r)<<7}function py(e,t,r){var n,i;for(Yf(e[0],Ff),Yf(e[1],Of),Yf(e[2],Of),Yf(e[3],Ff),i=255;i>=0;--i)fy(e,t,n=r[i/8|0]>>(7&i)&1),ly(t,e),ly(e,e),fy(e,t,n)}function dy(e,t){var r=[Tf(),Tf(),Tf(),Tf()];Yf(r[0],zf),Yf(r[1],Gf),Yf(r[2],Of),ny(r[3],zf,Gf),py(e,r,t)}function gy(e,t,r){var n,i=new Uint8Array(64),s=[Tf(),Tf(),Tf(),Tf()];for(r||Mf(t,32),hy(i,t,32),i[0]&=248,i[31]&=127,i[31]|=64,dy(s,i),yy(e,s),n=0;n<32;n++)t[n+32]=e[n];return 0}var Ay=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function wy(e,t){var r,n,i,s;for(n=63;n>=32;--n){for(r=0,i=n-32,s=n-12;i<s;++i)t[i]+=r-16*t[n]*Ay[i-(n-32)],r=Math.floor((t[i]+128)/256),t[i]-=256*r;t[i]+=r,t[n]=0}for(r=0,i=0;i<32;i++)t[i]+=r-(t[31]>>4)*Ay[i],r=t[i]>>8,t[i]&=255;for(i=0;i<32;i++)t[i]-=r*Ay[i];for(n=0;n<32;n++)t[n+1]+=t[n]>>8,e[n]=255&t[n]}function my(e){var t,r=new Float64Array(64);for(t=0;t<64;t++)r[t]=e[t];for(t=0;t<64;t++)e[t]=0;wy(e,r)}function by(e,t){var r=Tf(),n=Tf(),i=Tf(),s=Tf(),a=Tf(),o=Tf(),c=Tf();return Yf(e[2],Of),ey(e[1],t),iy(i,e[1]),ny(s,i,_f),ry(i,i,e[2]),ty(s,e[2],s),iy(a,s),iy(o,a),ny(c,o,a),ny(r,c,i),ny(r,r,s),function(e,t){var r,n=Tf();for(r=0;r<16;r++)n[r]=t[r];for(r=250;r>=0;r--)iy(n,n),1!==r&&ny(n,n,t);for(r=0;r<16;r++)e[r]=n[r]}(r,r),ny(r,r,i),ny(r,r,s),ny(r,r,s),ny(e[0],r,s),iy(n,e[0]),ny(n,n,s),Wf(n,i)&&ny(e[0],e[0],qf),iy(n,e[0]),ny(n,n,s),Wf(n,i)?-1:($f(e[0])===t[31]>>7&&ry(e[0],Ff,e[0]),ny(e[3],e[0],e[1]),0)}var ky=64;function Ey(){for(var e=0;e<arguments.length;e++)if(!(arguments[e]instanceof Uint8Array))throw new TypeError("unexpected type, use Uint8Array")}Rf.scalarMult=function(e,t){if(Ey(e,t),32!==e.length)throw Error("bad n size");if(32!==t.length)throw Error("bad p size");var r=new Uint8Array(32);return ay(r,e,t),r},Rf.box={},Rf.box.keyPair=function(){var e=new Uint8Array(32),t=new Uint8Array(32);return function(e,t){Mf(t,32),oy(e,t)}(e,t),{publicKey:e,secretKey:t}},Rf.box.keyPair.fromSecretKey=function(e){if(Ey(e),32!==e.length)throw Error("bad secret key size");var t=new Uint8Array(32);return oy(t,e),{publicKey:t,secretKey:new Uint8Array(e)}},Rf.sign=function(e,t){if(Ey(e,t),64!==t.length)throw Error("bad secret key size");var r=new Uint8Array(ky+e.length);return function(e,t,r,n){var i,s,a=new Uint8Array(64),o=new Uint8Array(64),c=new Uint8Array(64),u=new Float64Array(64),h=[Tf(),Tf(),Tf(),Tf()];hy(a,n,32),a[0]&=248,a[31]&=127,a[31]|=64;var l=r+64;for(i=0;i<r;i++)e[64+i]=t[i];for(i=0;i<32;i++)e[32+i]=a[32+i];for(hy(c,e.subarray(32),r+32),my(c),dy(h,c),yy(e,h),i=32;i<64;i++)e[i]=n[i];for(hy(o,e,r+64),my(o),i=0;i<64;i++)u[i]=0;for(i=0;i<32;i++)u[i]=c[i];for(i=0;i<32;i++)for(s=0;s<32;s++)u[i+s]+=o[i]*a[s];wy(e.subarray(32),u)}(r,e,e.length,t),r},Rf.sign.detached=function(e,t){for(var r=Rf.sign(e,t),n=new Uint8Array(ky),i=0;i<n.length;i++)n[i]=r[i];return n},Rf.sign.detached.verify=function(e,t,r){if(Ey(e,t,r),t.length!==ky)throw Error("bad signature size");if(32!==r.length)throw Error("bad public key size");var n,i=new Uint8Array(ky+e.length),s=new Uint8Array(ky+e.length);for(n=0;n<ky;n++)i[n]=t[n];for(n=0;n<e.length;n++)i[n+ky]=e[n];return function(e,t,r,n){var i,s=new Uint8Array(32),a=new Uint8Array(64),o=[Tf(),Tf(),Tf(),Tf()],c=[Tf(),Tf(),Tf(),Tf()];if(r<64)return-1;if(by(c,n))return-1;for(i=0;i<r;i++)e[i]=t[i];for(i=0;i<32;i++)e[i+32]=n[i];if(hy(a,e,r),my(a),py(o,c,a),dy(c,t.subarray(32)),ly(o,c),yy(s,o),r-=64,Vf(t,0,s,0)){for(i=0;i<r;i++)e[i]=0;return-1}for(i=0;i<r;i++)e[i]=t[i+64];return r}(s,i,i.length,r)>=0},Rf.sign.keyPair=function(){var e=new Uint8Array(32),t=new Uint8Array(64);return gy(e,t),{publicKey:e,secretKey:t}},Rf.sign.keyPair.fromSecretKey=function(e){if(Ey(e),64!==e.length)throw Error("bad secret key size");for(var t=new Uint8Array(32),r=0;r<t.length;r++)t[r]=e[32+r];return{publicKey:t,secretKey:new Uint8Array(e)}},Rf.sign.keyPair.fromSeed=function(e){if(Ey(e),32!==e.length)throw Error("bad seed size");for(var t=new Uint8Array(32),r=new Uint8Array(64),n=0;n<32;n++)r[n]=e[n];return gy(t,r,!0),{publicKey:t,secretKey:r}},Rf.setPRNG=function(e){Mf=e},function(){if(Qf&&Qf.getRandomValues){Rf.setPRNG((function(e,t){var r,n=new Uint8Array(t);for(r=0;r<t;r+=65536)Qf.getRandomValues(n.subarray(r,r+Math.min(t-r,65536)));for(r=0;r<t;r++)e[r]=n[r];!function(e){for(var t=0;t<e.length;t++)e[t]=0}(n)}))}}();var vy=/*#__PURE__*/Object.freeze({__proto__:null,default:Rf});function Ky(e,t,r,n,i,s){const a=[16843776,0,65536,16843780,16842756,66564,4,65536,1024,16843776,16843780,1024,16778244,16842756,16777216,4,1028,16778240,16778240,66560,66560,16842752,16842752,16778244,65540,16777220,16777220,65540,0,1028,66564,16777216,65536,16843780,4,16842752,16843776,16777216,16777216,1024,16842756,65536,66560,16777220,1024,4,16778244,66564,16843780,65540,16842752,16778244,16777220,1028,66564,16843776,1028,16778240,16778240,0,65540,66560,0,16842756],o=[-2146402272,-2147450880,32768,1081376,1048576,32,-2146435040,-2147450848,-2147483616,-2146402272,-2146402304,-2147483648,-2147450880,1048576,32,-2146435040,1081344,1048608,-2147450848,0,-2147483648,32768,1081376,-2146435072,1048608,-2147483616,0,1081344,32800,-2146402304,-2146435072,32800,0,1081376,-2146435040,1048576,-2147450848,-2146435072,-2146402304,32768,-2146435072,-2147450880,32,-2146402272,1081376,32,32768,-2147483648,32800,-2146402304,1048576,-2147483616,1048608,-2147450848,-2147483616,1048608,1081344,0,-2147450880,32800,-2147483648,-2146435040,-2146402272,1081344],c=[520,134349312,0,134348808,134218240,0,131592,134218240,131080,134217736,134217736,131072,134349320,131080,134348800,520,134217728,8,134349312,512,131584,134348800,134348808,131592,134218248,131584,131072,134218248,8,134349320,512,134217728,134349312,134217728,131080,520,131072,134349312,134218240,0,512,131080,134349320,134218240,134217736,512,0,134348808,134218248,131072,134217728,134349320,8,131592,131584,134217736,134348800,134218248,520,134348800,131592,8,134348808,131584],u=[8396801,8321,8321,128,8396928,8388737,8388609,8193,0,8396800,8396800,8396929,129,0,8388736,8388609,1,8192,8388608,8396801,128,8388608,8193,8320,8388737,1,8320,8388736,8192,8396928,8396929,129,8388736,8388609,8396800,8396929,129,0,0,8396800,8320,8388736,8388737,1,8396801,8321,8321,128,8396929,129,1,8192,8388609,8193,8396928,8388737,8193,8320,8388608,8396801,128,8388608,8192,8396928],h=[256,34078976,34078720,1107296512,524288,256,1073741824,34078720,1074266368,524288,33554688,1074266368,1107296512,1107820544,524544,1073741824,33554432,1074266112,1074266112,0,1073742080,1107820800,1107820800,33554688,1107820544,1073742080,0,1107296256,34078976,33554432,1107296256,524544,524288,1107296512,256,33554432,1073741824,34078720,1107296512,1074266368,33554688,1073741824,1107820544,34078976,1074266368,256,33554432,1107820544,1107820800,524544,1107296256,1107820800,34078720,0,1074266112,1107296256,524544,33554688,1073742080,524288,0,1074266112,34078976,1073742080],l=[536870928,541065216,16384,541081616,541065216,16,541081616,4194304,536887296,4210704,4194304,536870928,4194320,536887296,536870912,16400,0,4194320,536887312,16384,4210688,536887312,16,541065232,541065232,0,4210704,541081600,16400,4210688,541081600,536870912,536887296,16,541065232,4210688,541081616,4194304,16400,536870928,4194304,536887296,536870912,16400,536870928,541081616,4210688,541065216,4210704,541081600,0,541065232,16,16384,541065216,4210704,16384,4194320,536887312,0,541081600,536870912,4194320,536887312],f=[2097152,69206018,67110914,0,2048,67110914,2099202,69208064,69208066,2097152,0,67108866,2,67108864,69206018,2050,67110912,2099202,2097154,67110912,67108866,69206016,69208064,2097154,69206016,2048,2050,69208066,2099200,2,67108864,2099200,67108864,2099200,2097152,67110914,67110914,69206018,69206018,2,2097154,67108864,67110912,2097152,69208064,2050,2099202,69208064,2050,67108866,69208066,69206016,2099200,0,2,69208066,0,2099202,69206016,2048,67108866,67110912,2048,2097154],y=[268439616,4096,262144,268701760,268435456,268439616,64,268435456,262208,268697600,268701760,266240,268701696,266304,4096,64,268697600,268435520,268439552,4160,266240,262208,268697664,268701696,4160,0,0,268697664,268435520,268439552,266304,262144,266304,262144,268701696,4096,64,268697664,4096,266304,268439552,64,268435520,268697600,268697664,268435456,262144,268439616,0,268701760,262208,268435520,268697600,268439552,268439616,0,268701760,266240,266240,4160,4160,262208,268435456,268701696];let p,d,g,A,w,m,b,k,E,v,K=0,S=t.length;const I=32===e.length?3:9;k=3===I?r?[0,32,2]:[30,-2,-2]:r?[0,32,2,62,30,-2,64,96,2]:[94,62,-2,32,64,2,30,-2,-2],r&&(t=function(e){const t=8-e.length%8;let r;if(!(t<8)){if(8===t)return e;throw Error("des: invalid padding")}r=0;const n=new Uint8Array(e.length+t);for(let t=0;t<e.length;t++)n[t]=e[t];for(let i=0;i<t;i++)n[e.length+i]=r;return n}(t),S=t.length);let B=new Uint8Array(S),C=0;for(;K<S;){for(m=t[K++]<<24|t[K++]<<16|t[K++]<<8|t[K++],b=t[K++]<<24|t[K++]<<16|t[K++]<<8|t[K++],g=252645135&(m>>>4^b),b^=g,m^=g<<4,g=65535&(m>>>16^b),b^=g,m^=g<<16,g=858993459&(b>>>2^m),m^=g,b^=g<<2,g=16711935&(b>>>8^m),m^=g,b^=g<<8,g=1431655765&(m>>>1^b),b^=g,m^=g<<1,m=m<<1|m>>>31,b=b<<1|b>>>31,d=0;d<I;d+=3){for(E=k[d+1],v=k[d+2],p=k[d];p!==E;p+=v)A=b^e[p],w=(b>>>4|b<<28)^e[p+1],g=m,m=b,b=g^(o[A>>>24&63]|u[A>>>16&63]|l[A>>>8&63]|y[63&A]|a[w>>>24&63]|c[w>>>16&63]|h[w>>>8&63]|f[63&w]);g=m,m=b,b=g}m=m>>>1|m<<31,b=b>>>1|b<<31,g=1431655765&(m>>>1^b),b^=g,m^=g<<1,g=16711935&(b>>>8^m),m^=g,b^=g<<8,g=858993459&(b>>>2^m),m^=g,b^=g<<2,g=65535&(m>>>16^b),b^=g,m^=g<<16,g=252645135&(m>>>4^b),b^=g,m^=g<<4,B[C++]=m>>>24,B[C++]=m>>>16&255,B[C++]=m>>>8&255,B[C++]=255&m,B[C++]=b>>>24,B[C++]=b>>>16&255,B[C++]=b>>>8&255,B[C++]=255&b}return r||(B=function(e){let t,r=null;if(t=0,!r){for(r=1;e[e.length-r]===t;)r++;r--}return e.subarray(0,e.length-r)}(B)),B}function Sy(e){const t=[0,4,536870912,536870916,65536,65540,536936448,536936452,512,516,536871424,536871428,66048,66052,536936960,536936964],r=[0,1,1048576,1048577,67108864,67108865,68157440,68157441,256,257,1048832,1048833,67109120,67109121,68157696,68157697],n=[0,8,2048,2056,16777216,16777224,16779264,16779272,0,8,2048,2056,16777216,16777224,16779264,16779272],i=[0,2097152,134217728,136314880,8192,2105344,134225920,136323072,131072,2228224,134348800,136445952,139264,2236416,134356992,136454144],s=[0,262144,16,262160,0,262144,16,262160,4096,266240,4112,266256,4096,266240,4112,266256],a=[0,1024,32,1056,0,1024,32,1056,33554432,33555456,33554464,33555488,33554432,33555456,33554464,33555488],o=[0,268435456,524288,268959744,2,268435458,524290,268959746,0,268435456,524288,268959744,2,268435458,524290,268959746],c=[0,65536,2048,67584,536870912,536936448,536872960,536938496,131072,196608,133120,198656,537001984,537067520,537004032,537069568],u=[0,262144,0,262144,2,262146,2,262146,33554432,33816576,33554432,33816576,33554434,33816578,33554434,33816578],h=[0,268435456,8,268435464,0,268435456,8,268435464,1024,268436480,1032,268436488,1024,268436480,1032,268436488],l=[0,32,0,32,1048576,1048608,1048576,1048608,8192,8224,8192,8224,1056768,1056800,1056768,1056800],f=[0,16777216,512,16777728,2097152,18874368,2097664,18874880,67108864,83886080,67109376,83886592,69206016,85983232,69206528,85983744],y=[0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128],p=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],d=e.length>8?3:1,g=Array(32*d),A=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0];let w,m,b,k=0,E=0;for(let v=0;v<d;v++){let d=e[k++]<<24|e[k++]<<16|e[k++]<<8|e[k++],v=e[k++]<<24|e[k++]<<16|e[k++]<<8|e[k++];b=252645135&(d>>>4^v),v^=b,d^=b<<4,b=65535&(v>>>-16^d),d^=b,v^=b<<-16,b=858993459&(d>>>2^v),v^=b,d^=b<<2,b=65535&(v>>>-16^d),d^=b,v^=b<<-16,b=1431655765&(d>>>1^v),v^=b,d^=b<<1,b=16711935&(v>>>8^d),d^=b,v^=b<<8,b=1431655765&(d>>>1^v),v^=b,d^=b<<1,b=d<<8|v>>>20&240,d=v<<24|v<<8&16711680|v>>>8&65280|v>>>24&240,v=b;for(let e=0;e<16;e++)A[e]?(d=d<<2|d>>>26,v=v<<2|v>>>26):(d=d<<1|d>>>27,v=v<<1|v>>>27),d&=-15,v&=-15,w=t[d>>>28]|r[d>>>24&15]|n[d>>>20&15]|i[d>>>16&15]|s[d>>>12&15]|a[d>>>8&15]|o[d>>>4&15],m=c[v>>>28]|u[v>>>24&15]|h[v>>>20&15]|l[v>>>16&15]|f[v>>>12&15]|y[v>>>8&15]|p[v>>>4&15],b=65535&(m>>>16^w),g[E++]=w^b,g[E++]=m^b<<16}return g}function Iy(e){this.key=[];for(let t=0;t<3;t++)this.key.push(new Uint8Array(e.subarray(8*t,8*t+8)));this.encrypt=function(e){return Ky(Sy(this.key[2]),Ky(Sy(this.key[1]),Ky(Sy(this.key[0]),e,!0),!1),!0)}}function By(){this.BlockSize=8,this.KeySize=16,this.setKey=function(e){if(this.masking=Array(16),this.rotate=Array(16),this.reset(),e.length!==this.KeySize)throw Error("CAST-128: keys must be 16 bytes");return this.keySchedule(e),!0},this.reset=function(){for(let e=0;e<16;e++)this.masking[e]=0,this.rotate[e]=0},this.getBlockSize=function(){return this.BlockSize},this.encrypt=function(e){const t=Array(e.length);for(let s=0;s<e.length;s+=8){let a,o=e[s]<<24|e[s+1]<<16|e[s+2]<<8|e[s+3],c=e[s+4]<<24|e[s+5]<<16|e[s+6]<<8|e[s+7];a=c,c=o^r(c,this.masking[0],this.rotate[0]),o=a,a=c,c=o^n(c,this.masking[1],this.rotate[1]),o=a,a=c,c=o^i(c,this.masking[2],this.rotate[2]),o=a,a=c,c=o^r(c,this.masking[3],this.rotate[3]),o=a,a=c,c=o^n(c,this.masking[4],this.rotate[4]),o=a,a=c,c=o^i(c,this.masking[5],this.rotate[5]),o=a,a=c,c=o^r(c,this.masking[6],this.rotate[6]),o=a,a=c,c=o^n(c,this.masking[7],this.rotate[7]),o=a,a=c,c=o^i(c,this.masking[8],this.rotate[8]),o=a,a=c,c=o^r(c,this.masking[9],this.rotate[9]),o=a,a=c,c=o^n(c,this.masking[10],this.rotate[10]),o=a,a=c,c=o^i(c,this.masking[11],this.rotate[11]),o=a,a=c,c=o^r(c,this.masking[12],this.rotate[12]),o=a,a=c,c=o^n(c,this.masking[13],this.rotate[13]),o=a,a=c,c=o^i(c,this.masking[14],this.rotate[14]),o=a,a=c,c=o^r(c,this.masking[15],this.rotate[15]),o=a,t[s]=c>>>24&255,t[s+1]=c>>>16&255,t[s+2]=c>>>8&255,t[s+3]=255&c,t[s+4]=o>>>24&255,t[s+5]=o>>>16&255,t[s+6]=o>>>8&255,t[s+7]=255&o}return t},this.decrypt=function(e){const t=Array(e.length);for(let s=0;s<e.length;s+=8){let a,o=e[s]<<24|e[s+1]<<16|e[s+2]<<8|e[s+3],c=e[s+4]<<24|e[s+5]<<16|e[s+6]<<8|e[s+7];a=c,c=o^r(c,this.masking[15],this.rotate[15]),o=a,a=c,c=o^i(c,this.masking[14],this.rotate[14]),o=a,a=c,c=o^n(c,this.masking[13],this.rotate[13]),o=a,a=c,c=o^r(c,this.masking[12],this.rotate[12]),o=a,a=c,c=o^i(c,this.masking[11],this.rotate[11]),o=a,a=c,c=o^n(c,this.masking[10],this.rotate[10]),o=a,a=c,c=o^r(c,this.masking[9],this.rotate[9]),o=a,a=c,c=o^i(c,this.masking[8],this.rotate[8]),o=a,a=c,c=o^n(c,this.masking[7],this.rotate[7]),o=a,a=c,c=o^r(c,this.masking[6],this.rotate[6]),o=a,a=c,c=o^i(c,this.masking[5],this.rotate[5]),o=a,a=c,c=o^n(c,this.masking[4],this.rotate[4]),o=a,a=c,c=o^r(c,this.masking[3],this.rotate[3]),o=a,a=c,c=o^i(c,this.masking[2],this.rotate[2]),o=a,a=c,c=o^n(c,this.masking[1],this.rotate[1]),o=a,a=c,c=o^r(c,this.masking[0],this.rotate[0]),o=a,t[s]=c>>>24&255,t[s+1]=c>>>16&255,t[s+2]=c>>>8&255,t[s+3]=255&c,t[s+4]=o>>>24&255,t[s+5]=o>>16&255,t[s+6]=o>>8&255,t[s+7]=255&o}return t};const e=[,,,,];e[0]=[,,,,],e[0][0]=[4,0,13,15,12,14,8],e[0][1]=[5,2,16,18,17,19,10],e[0][2]=[6,3,23,22,21,20,9],e[0][3]=[7,1,26,25,27,24,11],e[1]=[,,,,],e[1][0]=[0,6,21,23,20,22,16],e[1][1]=[1,4,0,2,1,3,18],e[1][2]=[2,5,7,6,5,4,17],e[1][3]=[3,7,10,9,11,8,19],e[2]=[,,,,],e[2][0]=[4,0,13,15,12,14,8],e[2][1]=[5,2,16,18,17,19,10],e[2][2]=[6,3,23,22,21,20,9],e[2][3]=[7,1,26,25,27,24,11],e[3]=[,,,,],e[3][0]=[0,6,21,23,20,22,16],e[3][1]=[1,4,0,2,1,3,18],e[3][2]=[2,5,7,6,5,4,17],e[3][3]=[3,7,10,9,11,8,19];const t=[,,,,];function r(e,t,r){const n=t+e,i=n<<r|n>>>32-r;return(s[0][i>>>24]^s[1][i>>>16&255])-s[2][i>>>8&255]+s[3][255&i]}function n(e,t,r){const n=t^e,i=n<<r|n>>>32-r;return s[0][i>>>24]-s[1][i>>>16&255]+s[2][i>>>8&255]^s[3][255&i]}function i(e,t,r){const n=t-e,i=n<<r|n>>>32-r;return(s[0][i>>>24]+s[1][i>>>16&255]^s[2][i>>>8&255])-s[3][255&i]}t[0]=[,,,,],t[0][0]=[24,25,23,22,18],t[0][1]=[26,27,21,20,22],t[0][2]=[28,29,19,18,25],t[0][3]=[30,31,17,16,28],t[1]=[,,,,],t[1][0]=[3,2,12,13,8],t[1][1]=[1,0,14,15,13],t[1][2]=[7,6,8,9,3],t[1][3]=[5,4,10,11,7],t[2]=[,,,,],t[2][0]=[19,18,28,29,25],t[2][1]=[17,16,30,31,28],t[2][2]=[23,22,24,25,18],t[2][3]=[21,20,26,27,22],t[3]=[,,,,],t[3][0]=[8,9,7,6,3],t[3][1]=[10,11,5,4,7],t[3][2]=[12,13,3,2,8],t[3][3]=[14,15,1,0,13],this.keySchedule=function(r){const n=[,,,,,,,,],i=Array(32);let a;for(let e=0;e<4;e++)a=4*e,n[e]=r[a]<<24|r[a+1]<<16|r[a+2]<<8|r[a+3];const o=[6,7,4,5];let c,u=0;for(let r=0;r<2;r++)for(let r=0;r<4;r++){for(a=0;a<4;a++){const t=e[r][a];c=n[t[1]],c^=s[4][n[t[2]>>>2]>>>24-8*(3&t[2])&255],c^=s[5][n[t[3]>>>2]>>>24-8*(3&t[3])&255],c^=s[6][n[t[4]>>>2]>>>24-8*(3&t[4])&255],c^=s[7][n[t[5]>>>2]>>>24-8*(3&t[5])&255],c^=s[o[a]][n[t[6]>>>2]>>>24-8*(3&t[6])&255],n[t[0]]=c}for(a=0;a<4;a++){const e=t[r][a];c=s[4][n[e[0]>>>2]>>>24-8*(3&e[0])&255],c^=s[5][n[e[1]>>>2]>>>24-8*(3&e[1])&255],c^=s[6][n[e[2]>>>2]>>>24-8*(3&e[2])&255],c^=s[7][n[e[3]>>>2]>>>24-8*(3&e[3])&255],c^=s[4+a][n[e[4]>>>2]>>>24-8*(3&e[4])&255],i[u]=c,u++}}for(let e=0;e<16;e++)this.masking[e]=i[e],this.rotate[e]=31&i[16+e]};const s=[,,,,,,,,];s[0]=[821772500,2678128395,1810681135,1059425402,505495343,2617265619,1610868032,3483355465,3218386727,2294005173,3791863952,2563806837,1852023008,365126098,3269944861,584384398,677919599,3229601881,4280515016,2002735330,1136869587,3744433750,2289869850,2731719981,2714362070,879511577,1639411079,575934255,717107937,2857637483,576097850,2731753936,1725645e3,2810460463,5111599,767152862,2543075244,1251459544,1383482551,3052681127,3089939183,3612463449,1878520045,1510570527,2189125840,2431448366,582008916,3163445557,1265446783,1354458274,3529918736,3202711853,3073581712,3912963487,3029263377,1275016285,4249207360,2905708351,3304509486,1442611557,3585198765,2712415662,2731849581,3248163920,2283946226,208555832,2766454743,1331405426,1447828783,3315356441,3108627284,2957404670,2981538698,3339933917,1669711173,286233437,1465092821,1782121619,3862771680,710211251,980974943,1651941557,430374111,2051154026,704238805,4128970897,3144820574,2857402727,948965521,3333752299,2227686284,718756367,2269778983,2731643755,718440111,2857816721,3616097120,1113355533,2478022182,410092745,1811985197,1944238868,2696854588,1415722873,1682284203,1060277122,1998114690,1503841958,82706478,2315155686,1068173648,845149890,2167947013,1768146376,1993038550,3566826697,3390574031,940016341,3355073782,2328040721,904371731,1205506512,4094660742,2816623006,825647681,85914773,2857843460,1249926541,1417871568,3287612,3211054559,3126306446,1975924523,1353700161,2814456437,2438597621,1800716203,722146342,2873936343,1151126914,4160483941,2877670899,458611604,2866078500,3483680063,770352098,2652916994,3367839148,3940505011,3585973912,3809620402,718646636,2504206814,2914927912,3631288169,2857486607,2860018678,575749918,2857478043,718488780,2069512688,3548183469,453416197,1106044049,3032691430,52586708,3378514636,3459808877,3211506028,1785789304,218356169,3571399134,3759170522,1194783844,1523787992,3007827094,1975193539,2555452411,1341901877,3045838698,3776907964,3217423946,2802510864,2889438986,1057244207,1636348243,3761863214,1462225785,2632663439,481089165,718503062,24497053,3332243209,3344655856,3655024856,3960371065,1195698900,2971415156,3710176158,2115785917,4027663609,3525578417,2524296189,2745972565,3564906415,1372086093,1452307862,2780501478,1476592880,3389271281,18495466,2378148571,901398090,891748256,3279637769,3157290713,2560960102,1447622437,4284372637,216884176,2086908623,1879786977,3588903153,2242455666,2938092967,3559082096,2810645491,758861177,1121993112,215018983,642190776,4169236812,1196255959,2081185372,3508738393,941322904,4124243163,2877523539,1848581667,2205260958,3180453958,2589345134,3694731276,550028657,2519456284,3789985535,2973870856,2093648313,443148163,46942275,2734146937,1117713533,1115362972,1523183689,3717140224,1551984063],s[1]=[522195092,4010518363,1776537470,960447360,4267822970,4005896314,1435016340,1929119313,2913464185,1310552629,3579470798,3724818106,2579771631,1594623892,417127293,2715217907,2696228731,1508390405,3994398868,3925858569,3695444102,4019471449,3129199795,3770928635,3520741761,990456497,4187484609,2783367035,21106139,3840405339,631373633,3783325702,532942976,396095098,3548038825,4267192484,2564721535,2011709262,2039648873,620404603,3776170075,2898526339,3612357925,4159332703,1645490516,223693667,1567101217,3362177881,1029951347,3470931136,3570957959,1550265121,119497089,972513919,907948164,3840628539,1613718692,3594177948,465323573,2659255085,654439692,2575596212,2699288441,3127702412,277098644,624404830,4100943870,2717858591,546110314,2403699828,3655377447,1321679412,4236791657,1045293279,4010672264,895050893,2319792268,494945126,1914543101,2777056443,3894764339,2219737618,311263384,4275257268,3458730721,669096869,3584475730,3835122877,3319158237,3949359204,2005142349,2713102337,2228954793,3769984788,569394103,3855636576,1425027204,108000370,2736431443,3671869269,3043122623,1750473702,2211081108,762237499,3972989403,2798899386,3061857628,2943854345,867476300,964413654,1591880597,1594774276,2179821409,552026980,3026064248,3726140315,2283577634,3110545105,2152310760,582474363,1582640421,1383256631,2043843868,3322775884,1217180674,463797851,2763038571,480777679,2718707717,2289164131,3118346187,214354409,200212307,3810608407,3025414197,2674075964,3997296425,1847405948,1342460550,510035443,4080271814,815934613,833030224,1620250387,1945732119,2703661145,3966000196,1388869545,3456054182,2687178561,2092620194,562037615,1356438536,3409922145,3261847397,1688467115,2150901366,631725691,3840332284,549916902,3455104640,394546491,837744717,2114462948,751520235,2221554606,2415360136,3999097078,2063029875,803036379,2702586305,821456707,3019566164,360699898,4018502092,3511869016,3677355358,2402471449,812317050,49299192,2570164949,3259169295,2816732080,3331213574,3101303564,2156015656,3705598920,3546263921,143268808,3200304480,1638124008,3165189453,3341807610,578956953,2193977524,3638120073,2333881532,807278310,658237817,2969561766,1641658566,11683945,3086995007,148645947,1138423386,4158756760,1981396783,2401016740,3699783584,380097457,2680394679,2803068651,3334260286,441530178,4016580796,1375954390,761952171,891809099,2183123478,157052462,3683840763,1592404427,341349109,2438483839,1417898363,644327628,2233032776,2353769706,2201510100,220455161,1815641738,182899273,2995019788,3627381533,3702638151,2890684138,1052606899,588164016,1681439879,4038439418,2405343923,4229449282,167996282,1336969661,1688053129,2739224926,1543734051,1046297529,1138201970,2121126012,115334942,1819067631,1902159161,1941945968,2206692869,1159982321],s[2]=[2381300288,637164959,3952098751,3893414151,1197506559,916448331,2350892612,2932787856,3199334847,4009478890,3905886544,1373570990,2450425862,4037870920,3778841987,2456817877,286293407,124026297,3001279700,1028597854,3115296800,4208886496,2691114635,2188540206,1430237888,1218109995,3572471700,308166588,570424558,2187009021,2455094765,307733056,1310360322,3135275007,1384269543,2388071438,863238079,2359263624,2801553128,3380786597,2831162807,1470087780,1728663345,4072488799,1090516929,532123132,2389430977,1132193179,2578464191,3051079243,1670234342,1434557849,2711078940,1241591150,3314043432,3435360113,3091448339,1812415473,2198440252,267246943,796911696,3619716990,38830015,1526438404,2806502096,374413614,2943401790,1489179520,1603809326,1920779204,168801282,260042626,2358705581,1563175598,2397674057,1356499128,2217211040,514611088,2037363785,2186468373,4022173083,2792511869,2913485016,1173701892,4200428547,3896427269,1334932762,2455136706,602925377,2835607854,1613172210,41346230,2499634548,2457437618,2188827595,41386358,4172255629,1313404830,2405527007,3801973774,2217704835,873260488,2528884354,2478092616,4012915883,2555359016,2006953883,2463913485,575479328,2218240648,2099895446,660001756,2341502190,3038761536,3888151779,3848713377,3286851934,1022894237,1620365795,3449594689,1551255054,15374395,3570825345,4249311020,4151111129,3181912732,310226346,1133119310,530038928,136043402,2476768958,3107506709,2544909567,1036173560,2367337196,1681395281,1758231547,3641649032,306774401,1575354324,3716085866,1990386196,3114533736,2455606671,1262092282,3124342505,2768229131,4210529083,1833535011,423410938,660763973,2187129978,1639812e3,3508421329,3467445492,310289298,272797111,2188552562,2456863912,310240523,677093832,1013118031,901835429,3892695601,1116285435,3036471170,1337354835,243122523,520626091,277223598,4244441197,4194248841,1766575121,594173102,316590669,742362309,3536858622,4176435350,3838792410,2501204839,1229605004,3115755532,1552908988,2312334149,979407927,3959474601,1148277331,176638793,3614686272,2083809052,40992502,1340822838,2731552767,3535757508,3560899520,1354035053,122129617,7215240,2732932949,3118912700,2718203926,2539075635,3609230695,3725561661,1928887091,2882293555,1988674909,2063640240,2491088897,1459647954,4189817080,2302804382,1113892351,2237858528,1927010603,4002880361,1856122846,1594404395,2944033133,3855189863,3474975698,1643104450,4054590833,3431086530,1730235576,2984608721,3084664418,2131803598,4178205752,267404349,1617849798,1616132681,1462223176,736725533,2327058232,551665188,2945899023,1749386277,2575514597,1611482493,674206544,2201269090,3642560800,728599968,1680547377,2620414464,1388111496,453204106,4156223445,1094905244,2754698257,2201108165,3757000246,2704524545,3922940700,3996465027],s[3]=[2645754912,532081118,2814278639,3530793624,1246723035,1689095255,2236679235,4194438865,2116582143,3859789411,157234593,2045505824,4245003587,1687664561,4083425123,605965023,672431967,1336064205,3376611392,214114848,4258466608,3232053071,489488601,605322005,3998028058,264917351,1912574028,756637694,436560991,202637054,135989450,85393697,2152923392,3896401662,2895836408,2145855233,3535335007,115294817,3147733898,1922296357,3464822751,4117858305,1037454084,2725193275,2127856640,1417604070,1148013728,1827919605,642362335,2929772533,909348033,1346338451,3547799649,297154785,1917849091,4161712827,2883604526,3968694238,1469521537,3780077382,3375584256,1763717519,136166297,4290970789,1295325189,2134727907,2798151366,1566297257,3672928234,2677174161,2672173615,965822077,2780786062,289653839,1133871874,3491843819,35685304,1068898316,418943774,672553190,642281022,2346158704,1954014401,3037126780,4079815205,2030668546,3840588673,672283427,1776201016,359975446,3750173538,555499703,2769985273,1324923,69110472,152125443,3176785106,3822147285,1340634837,798073664,1434183902,15393959,216384236,1303690150,3881221631,3711134124,3960975413,106373927,2578434224,1455997841,1801814300,1578393881,1854262133,3188178946,3258078583,2302670060,1539295533,3505142565,3078625975,2372746020,549938159,3278284284,2620926080,181285381,2865321098,3970029511,68876850,488006234,1728155692,2608167508,836007927,2435231793,919367643,3339422534,3655756360,1457871481,40520939,1380155135,797931188,234455205,2255801827,3990488299,397000196,739833055,3077865373,2871719860,4022553888,772369276,390177364,3853951029,557662966,740064294,1640166671,1699928825,3535942136,622006121,3625353122,68743880,1742502,219489963,1664179233,1577743084,1236991741,410585305,2366487942,823226535,1050371084,3426619607,3586839478,212779912,4147118561,1819446015,1911218849,530248558,3486241071,3252585495,2886188651,3410272728,2342195030,20547779,2982490058,3032363469,3631753222,312714466,1870521650,1493008054,3491686656,615382978,4103671749,2534517445,1932181,2196105170,278426614,6369430,3274544417,2913018367,697336853,2143000447,2946413531,701099306,1558357093,2805003052,3500818408,2321334417,3567135975,216290473,3591032198,23009561,1996984579,3735042806,2024298078,3739440863,569400510,2339758983,3016033873,3097871343,3639523026,3844324983,3256173865,795471839,2951117563,4101031090,4091603803,3603732598,971261452,534414648,428311343,3389027175,2844869880,694888862,1227866773,2456207019,3043454569,2614353370,3749578031,3676663836,459166190,4132644070,1794958188,51825668,2252611902,3084671440,2036672799,3436641603,1099053433,2469121526,3059204941,1323291266,2061838604,1018778475,2233344254,2553501054,334295216,3556750194,1065731521,183467730],s[4]=[2127105028,745436345,2601412319,2788391185,3093987327,500390133,1155374404,389092991,150729210,3891597772,3523549952,1935325696,716645080,946045387,2901812282,1774124410,3869435775,4039581901,3293136918,3438657920,948246080,363898952,3867875531,1286266623,1598556673,68334250,630723836,1104211938,1312863373,613332731,2377784574,1101634306,441780740,3129959883,1917973735,2510624549,3238456535,2544211978,3308894634,1299840618,4076074851,1756332096,3977027158,297047435,3790297736,2265573040,3621810518,1311375015,1667687725,47300608,3299642885,2474112369,201668394,1468347890,576830978,3594690761,3742605952,1958042578,1747032512,3558991340,1408974056,3366841779,682131401,1033214337,1545599232,4265137049,206503691,103024618,2855227313,1337551222,2428998917,2963842932,4015366655,3852247746,2796956967,3865723491,3747938335,247794022,3755824572,702416469,2434691994,397379957,851939612,2314769512,218229120,1380406772,62274761,214451378,3170103466,2276210409,3845813286,28563499,446592073,1693330814,3453727194,29968656,3093872512,220656637,2470637031,77972100,1667708854,1358280214,4064765667,2395616961,325977563,4277240721,4220025399,3605526484,3355147721,811859167,3069544926,3962126810,652502677,3075892249,4132761541,3498924215,1217549313,3250244479,3858715919,3053989961,1538642152,2279026266,2875879137,574252750,3324769229,2651358713,1758150215,141295887,2719868960,3515574750,4093007735,4194485238,1082055363,3417560400,395511885,2966884026,179534037,3646028556,3738688086,1092926436,2496269142,257381841,3772900718,1636087230,1477059743,2499234752,3811018894,2675660129,3285975680,90732309,1684827095,1150307763,1723134115,3237045386,1769919919,1240018934,815675215,750138730,2239792499,1234303040,1995484674,138143821,675421338,1145607174,1936608440,3238603024,2345230278,2105974004,323969391,779555213,3004902369,2861610098,1017501463,2098600890,2628620304,2940611490,2682542546,1171473753,3656571411,3687208071,4091869518,393037935,159126506,1662887367,1147106178,391545844,3452332695,1891500680,3016609650,1851642611,546529401,1167818917,3194020571,2848076033,3953471836,575554290,475796850,4134673196,450035699,2351251534,844027695,1080539133,86184846,1554234488,3692025454,1972511363,2018339607,1491841390,1141460869,1061690759,4244549243,2008416118,2351104703,2868147542,1598468138,722020353,1027143159,212344630,1387219594,1725294528,3745187956,2500153616,458938280,4129215917,1828119673,544571780,3503225445,2297937496,1241802790,267843827,2694610800,1397140384,1558801448,3782667683,1806446719,929573330,2234912681,400817706,616011623,4121520928,3603768725,1761550015,1968522284,4053731006,4192232858,4005120285,872482584,3140537016,3894607381,2287405443,1963876937,3663887957,1584857e3,2975024454,1833426440,4025083860],s[5]=[4143615901,749497569,1285769319,3795025788,2514159847,23610292,3974978748,844452780,3214870880,3751928557,2213566365,1676510905,448177848,3730751033,4086298418,2307502392,871450977,3222878141,4110862042,3831651966,2735270553,1310974780,2043402188,1218528103,2736035353,4274605013,2702448458,3936360550,2693061421,162023535,2827510090,687910808,23484817,3784910947,3371371616,779677500,3503626546,3473927188,4157212626,3500679282,4248902014,2466621104,3899384794,1958663117,925738300,1283408968,3669349440,1840910019,137959847,2679828185,1239142320,1315376211,1547541505,1690155329,739140458,3128809933,3933172616,3876308834,905091803,1548541325,4040461708,3095483362,144808038,451078856,676114313,2861728291,2469707347,993665471,373509091,2599041286,4025009006,4170239449,2149739950,3275793571,3749616649,2794760199,1534877388,572371878,2590613551,1753320020,3467782511,1405125690,4270405205,633333386,3026356924,3475123903,632057672,2846462855,1404951397,3882875879,3915906424,195638627,2385783745,3902872553,1233155085,3355999740,2380578713,2702246304,2144565621,3663341248,3894384975,2502479241,4248018925,3094885567,1594115437,572884632,3385116731,767645374,1331858858,1475698373,3793881790,3532746431,1321687957,619889600,1121017241,3440213920,2070816767,2833025776,1933951238,4095615791,890643334,3874130214,859025556,360630002,925594799,1764062180,3920222280,4078305929,979562269,2810700344,4087740022,1949714515,546639971,1165388173,3069891591,1495988560,922170659,1291546247,2107952832,1813327274,3406010024,3306028637,4241950635,153207855,2313154747,1608695416,1150242611,1967526857,721801357,1220138373,3691287617,3356069787,2112743302,3281662835,1111556101,1778980689,250857638,2298507990,673216130,2846488510,3207751581,3562756981,3008625920,3417367384,2198807050,529510932,3547516680,3426503187,2364944742,102533054,2294910856,1617093527,1204784762,3066581635,1019391227,1069574518,1317995090,1691889997,3661132003,510022745,3238594800,1362108837,1817929911,2184153760,805817662,1953603311,3699844737,120799444,2118332377,207536705,2282301548,4120041617,145305846,2508124933,3086745533,3261524335,1877257368,2977164480,3160454186,2503252186,4221677074,759945014,254147243,2767453419,3801518371,629083197,2471014217,907280572,3900796746,940896768,2751021123,2625262786,3161476951,3661752313,3260732218,1425318020,2977912069,1496677566,3988592072,2140652971,3126511541,3069632175,977771578,1392695845,1698528874,1411812681,1369733098,1343739227,3620887944,1142123638,67414216,3102056737,3088749194,1626167401,2546293654,3941374235,697522451,33404913,143560186,2595682037,994885535,1247667115,3859094837,2699155541,3547024625,4114935275,2968073508,3199963069,2732024527,1237921620,951448369,1898488916,1211705605,2790989240,2233243581,3598044975],s[6]=[2246066201,858518887,1714274303,3485882003,713916271,2879113490,3730835617,539548191,36158695,1298409750,419087104,1358007170,749914897,2989680476,1261868530,2995193822,2690628854,3443622377,3780124940,3796824509,2976433025,4259637129,1551479e3,512490819,1296650241,951993153,2436689437,2460458047,144139966,3136204276,310820559,3068840729,643875328,1969602020,1680088954,2185813161,3283332454,672358534,198762408,896343282,276269502,3014846926,84060815,197145886,376173866,3943890818,3813173521,3545068822,1316698879,1598252827,2633424951,1233235075,859989710,2358460855,3503838400,3409603720,1203513385,1193654839,2792018475,2060853022,207403770,1144516871,3068631394,1121114134,177607304,3785736302,326409831,1929119770,2983279095,4183308101,3474579288,3200513878,3228482096,119610148,1170376745,3378393471,3163473169,951863017,3337026068,3135789130,2907618374,1183797387,2015970143,4045674555,2182986399,2952138740,3928772205,384012900,2454997643,10178499,2879818989,2596892536,111523738,2995089006,451689641,3196290696,235406569,1441906262,3890558523,3013735005,4158569349,1644036924,376726067,1006849064,3664579700,2041234796,1021632941,1374734338,2566452058,371631263,4007144233,490221539,206551450,3140638584,1053219195,1853335209,3412429660,3562156231,735133835,1623211703,3104214392,2738312436,4096837757,3366392578,3110964274,3956598718,3196820781,2038037254,3877786376,2339753847,300912036,3766732888,2372630639,1516443558,4200396704,1574567987,4069441456,4122592016,2699739776,146372218,2748961456,2043888151,35287437,2596680554,655490400,1132482787,110692520,1031794116,2188192751,1324057718,1217253157,919197030,686247489,3261139658,1028237775,3135486431,3059715558,2460921700,986174950,2661811465,4062904701,2752986992,3709736643,367056889,1353824391,731860949,1650113154,1778481506,784341916,357075625,3608602432,1074092588,2480052770,3811426202,92751289,877911070,3600361838,1231880047,480201094,3756190983,3094495953,434011822,87971354,363687820,1717726236,1901380172,3926403882,2481662265,400339184,1490350766,2661455099,1389319756,2558787174,784598401,1983468483,30828846,3550527752,2716276238,3841122214,1765724805,1955612312,1277890269,1333098070,1564029816,2704417615,1026694237,3287671188,1260819201,3349086767,1016692350,1582273796,1073413053,1995943182,694588404,1025494639,3323872702,3551898420,4146854327,453260480,1316140391,1435673405,3038941953,3486689407,1622062951,403978347,817677117,950059133,4246079218,3278066075,1486738320,1417279718,481875527,2549965225,3933690356,760697757,1452955855,3897451437,1177426808,1702951038,4085348628,2447005172,1084371187,3516436277,3068336338,1073369276,1027665953,3284188590,1230553676,1368340146,2226246512,267243139,2274220762,4070734279,2497715176,2423353163,2504755875],s[7]=[3793104909,3151888380,2817252029,895778965,2005530807,3871412763,237245952,86829237,296341424,3851759377,3974600970,2475086196,709006108,1994621201,2972577594,937287164,3734691505,168608556,3189338153,2225080640,3139713551,3033610191,3025041904,77524477,185966941,1208824168,2344345178,1721625922,3354191921,1066374631,1927223579,1971335949,2483503697,1551748602,2881383779,2856329572,3003241482,48746954,1398218158,2050065058,313056748,4255789917,393167848,1912293076,940740642,3465845460,3091687853,2522601570,2197016661,1727764327,364383054,492521376,1291706479,3264136376,1474851438,1685747964,2575719748,1619776915,1814040067,970743798,1561002147,2925768690,2123093554,1880132620,3151188041,697884420,2550985770,2607674513,2659114323,110200136,1489731079,997519150,1378877361,3527870668,478029773,2766872923,1022481122,431258168,1112503832,897933369,2635587303,669726182,3383752315,918222264,163866573,3246985393,3776823163,114105080,1903216136,761148244,3571337562,1690750982,3166750252,1037045171,1888456500,2010454850,642736655,616092351,365016990,1185228132,4174898510,1043824992,2023083429,2241598885,3863320456,3279669087,3674716684,108438443,2132974366,830746235,606445527,4173263986,2204105912,1844756978,2532684181,4245352700,2969441100,3796921661,1335562986,4061524517,2720232303,2679424040,634407289,885462008,3294724487,3933892248,2094100220,339117932,4048830727,3202280980,1458155303,2689246273,1022871705,2464987878,3714515309,353796843,2822958815,4256850100,4052777845,551748367,618185374,3778635579,4020649912,1904685140,3069366075,2670879810,3407193292,2954511620,4058283405,2219449317,3135758300,1120655984,3447565834,1474845562,3577699062,550456716,3466908712,2043752612,881257467,869518812,2005220179,938474677,3305539448,3850417126,1315485940,3318264702,226533026,965733244,321539988,1136104718,804158748,573969341,3708209826,937399083,3290727049,2901666755,1461057207,4013193437,4066861423,3242773476,2421326174,1581322155,3028952165,786071460,3900391652,3918438532,1485433313,4023619836,3708277595,3678951060,953673138,1467089153,1930354364,1533292819,2492563023,1346121658,1685000834,1965281866,3765933717,4190206607,2052792609,3515332758,690371149,3125873887,2180283551,2903598061,3933952357,436236910,289419410,14314871,1242357089,2904507907,1616633776,2666382180,585885352,3471299210,2699507360,1432659641,277164553,3354103607,770115018,2303809295,3741942315,3177781868,2853364978,2269453327,3774259834,987383833,1290892879,225909803,1741533526,890078084,1496906255,1111072499,916028167,243534141,1252605537,2204162171,531204876,290011180,3916834213,102027703,237315147,209093447,1486785922,220223953,2758195998,4175039106,82940208,3127791296,2569425252,518464269,1353887104,3941492737,2377294467,3935040926]}function Cy(e){this.cast5=new By,this.cast5.setKey(e),this.encrypt=function(e){return this.cast5.encrypt(e)}}Iy.keySize=Iy.prototype.keySize=24,Iy.blockSize=Iy.prototype.blockSize=8,Cy.blockSize=Cy.prototype.blockSize=8,Cy.keySize=Cy.prototype.keySize=16;const Uy=4294967295;function Py(e,t){return(e<<t|e>>>32-t)&Uy}function Dy(e,t){return e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24}function xy(e,t,r){e.splice(t,4,255&r,r>>>8&255,r>>>16&255,r>>>24&255)}function Qy(e,t){return e>>>8*t&255}function Ry(e){this.tf=function(){let e=null,t=null,r=-1,n=[],i=[[],[],[],[]];function s(e){return i[0][Qy(e,0)]^i[1][Qy(e,1)]^i[2][Qy(e,2)]^i[3][Qy(e,3)]}function a(e){return i[0][Qy(e,3)]^i[1][Qy(e,0)]^i[2][Qy(e,1)]^i[3][Qy(e,2)]}function o(e,t){let r=s(t[0]),i=a(t[1]);t[2]=Py(t[2]^r+i+n[4*e+8]&Uy,31),t[3]=Py(t[3],1)^r+2*i+n[4*e+9]&Uy,r=s(t[2]),i=a(t[3]),t[0]=Py(t[0]^r+i+n[4*e+10]&Uy,31),t[1]=Py(t[1],1)^r+2*i+n[4*e+11]&Uy}function c(e,t){let r=s(t[0]),i=a(t[1]);t[2]=Py(t[2],1)^r+i+n[4*e+10]&Uy,t[3]=Py(t[3]^r+2*i+n[4*e+11]&Uy,31),r=s(t[2]),i=a(t[3]),t[0]=Py(t[0],1)^r+i+n[4*e+8]&Uy,t[1]=Py(t[1]^r+2*i+n[4*e+9]&Uy,31)}return{name:"twofish",blocksize:16,open:function(t){let r,s,a,o,c;e=t;const u=[],h=[],l=[];let f;const y=[];let p,d,g;const A=[[8,1,7,13,6,15,3,2,0,11,5,9,14,12,10,4],[2,8,11,13,15,7,6,14,3,1,9,4,0,10,12,5]],w=[[14,12,11,8,1,2,3,5,15,4,10,6,7,0,9,13],[1,14,2,11,4,12,3,7,6,13,10,5,15,9,0,8]],m=[[11,10,5,14,6,13,9,0,12,8,15,3,2,4,7,1],[4,12,7,5,1,6,9,10,0,14,13,8,2,11,3,15]],b=[[13,7,15,4,1,2,6,14,9,11,3,0,8,5,12,10],[11,9,5,1,12,3,13,14,6,4,7,15,2,0,8,10]],k=[0,8,1,9,2,10,3,11,4,12,5,13,6,14,7,15],E=[0,9,2,11,4,13,6,15,8,1,10,3,12,5,14,7],v=[[],[]],K=[[],[],[],[]];function S(e){return e^e>>2^[0,90,180,238][3&e]}function I(e){return e^e>>1^e>>2^[0,238,180,90][3&e]}function B(e,t){let r,n,i;for(r=0;r<8;r++)n=t>>>24,t=t<<8&Uy|e>>>24,e=e<<8&Uy,i=n<<1,128&n&&(i^=333),t^=n^i<<16,i^=n>>>1,1&n&&(i^=166),t^=i<<24|i<<8;return t}function C(e,t){const r=t>>4,n=15&t,i=A[e][r^n],s=w[e][k[n]^E[r]];return b[e][k[s]^E[i]]<<4|m[e][i^s]}function U(e,t){let r=Qy(e,0),n=Qy(e,1),i=Qy(e,2),s=Qy(e,3);switch(f){case 4:r=v[1][r]^Qy(t[3],0),n=v[0][n]^Qy(t[3],1),i=v[0][i]^Qy(t[3],2),s=v[1][s]^Qy(t[3],3);case 3:r=v[1][r]^Qy(t[2],0),n=v[1][n]^Qy(t[2],1),i=v[0][i]^Qy(t[2],2),s=v[0][s]^Qy(t[2],3);case 2:r=v[0][v[0][r]^Qy(t[1],0)]^Qy(t[0],0),n=v[0][v[1][n]^Qy(t[1],1)]^Qy(t[0],1),i=v[1][v[0][i]^Qy(t[1],2)]^Qy(t[0],2),s=v[1][v[1][s]^Qy(t[1],3)]^Qy(t[0],3)}return K[0][r]^K[1][n]^K[2][i]^K[3][s]}for(e=e.slice(0,32),r=e.length;16!==r&&24!==r&&32!==r;)e[r++]=0;for(r=0;r<e.length;r+=4)l[r>>2]=Dy(e,r);for(r=0;r<256;r++)v[0][r]=C(0,r),v[1][r]=C(1,r);for(r=0;r<256;r++)p=v[1][r],d=S(p),g=I(p),K[0][r]=p+(d<<8)+(g<<16)+(g<<24),K[2][r]=d+(g<<8)+(p<<16)+(g<<24),p=v[0][r],d=S(p),g=I(p),K[1][r]=g+(g<<8)+(d<<16)+(p<<24),K[3][r]=d+(p<<8)+(g<<16)+(d<<24);for(f=l.length/2,r=0;r<f;r++)s=l[r+r],u[r]=s,a=l[r+r+1],h[r]=a,y[f-r-1]=B(s,a);for(r=0;r<40;r+=2)s=16843009*r,a=s+16843009,s=U(s,u),a=Py(U(a,h),8),n[r]=s+a&Uy,n[r+1]=Py(s+2*a,9);for(r=0;r<256;r++)switch(s=a=o=c=r,f){case 4:s=v[1][s]^Qy(y[3],0),a=v[0][a]^Qy(y[3],1),o=v[0][o]^Qy(y[3],2),c=v[1][c]^Qy(y[3],3);case 3:s=v[1][s]^Qy(y[2],0),a=v[1][a]^Qy(y[2],1),o=v[0][o]^Qy(y[2],2),c=v[0][c]^Qy(y[2],3);case 2:i[0][r]=K[0][v[0][v[0][s]^Qy(y[1],0)]^Qy(y[0],0)],i[1][r]=K[1][v[0][v[1][a]^Qy(y[1],1)]^Qy(y[0],1)],i[2][r]=K[2][v[1][v[0][o]^Qy(y[1],2)]^Qy(y[0],2)],i[3][r]=K[3][v[1][v[1][c]^Qy(y[1],3)]^Qy(y[0],3)]}},close:function(){n=[],i=[[],[],[],[]]},encrypt:function(e,i){t=e,r=i;const s=[Dy(t,r)^n[0],Dy(t,r+4)^n[1],Dy(t,r+8)^n[2],Dy(t,r+12)^n[3]];for(let e=0;e<8;e++)o(e,s);return xy(t,r,s[2]^n[4]),xy(t,r+4,s[3]^n[5]),xy(t,r+8,s[0]^n[6]),xy(t,r+12,s[1]^n[7]),r+=16,t},decrypt:function(e,i){t=e,r=i;const s=[Dy(t,r)^n[4],Dy(t,r+4)^n[5],Dy(t,r+8)^n[6],Dy(t,r+12)^n[7]];for(let e=7;e>=0;e--)c(e,s);xy(t,r,s[2]^n[0]),xy(t,r+4,s[3]^n[1]),xy(t,r+8,s[0]^n[2]),xy(t,r+12,s[1]^n[3]),r+=16},finalize:function(){return t}}}(),this.tf.open(Array.from(e),0),this.encrypt=function(e){return this.tf.encrypt(Array.from(e),0)}}function Ty(){}function My(e){this.bf=new Ty,this.bf.init(e),this.encrypt=function(e){return this.bf.encryptBlock(e)}}Ry.keySize=Ry.prototype.keySize=32,Ry.blockSize=Ry.prototype.blockSize=16,Ty.prototype.BLOCKSIZE=8,Ty.prototype.SBOXES=[[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462]],Ty.prototype.PARRAY=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],Ty.prototype.NN=16,Ty.prototype._clean=function(e){if(e<0){e=(2147483647&e)+2147483648}return e},Ty.prototype._F=function(e){let t;const r=255&e,n=255&(e>>>=8),i=255&(e>>>=8),s=255&(e>>>=8);return t=this.sboxes[0][s]+this.sboxes[1][i],t^=this.sboxes[2][n],t+=this.sboxes[3][r],t},Ty.prototype._encryptBlock=function(e){let t,r=e[0],n=e[1];for(t=0;t<this.NN;++t){r^=this.parray[t],n=this._F(r)^n;const e=r;r=n,n=e}r^=this.parray[this.NN+0],n^=this.parray[this.NN+1],e[0]=this._clean(n),e[1]=this._clean(r)},Ty.prototype.encryptBlock=function(e){let t;const r=[0,0],n=this.BLOCKSIZE/2;for(t=0;t<this.BLOCKSIZE/2;++t)r[0]=r[0]<<8|255&e[t+0],r[1]=r[1]<<8|255&e[t+n];this._encryptBlock(r);const i=[];for(t=0;t<this.BLOCKSIZE/2;++t)i[t+0]=r[0]>>>24-8*t&255,i[t+n]=r[1]>>>24-8*t&255;return i},Ty.prototype._decryptBlock=function(e){let t,r=e[0],n=e[1];for(t=this.NN+1;t>1;--t){r^=this.parray[t],n=this._F(r)^n;const e=r;r=n,n=e}r^=this.parray[1],n^=this.parray[0],e[0]=this._clean(n),e[1]=this._clean(r)},Ty.prototype.init=function(e){let t,r=0;for(this.parray=[],t=0;t<this.NN+2;++t){let n=0;for(let t=0;t<4;++t)n=n<<8|255&e[r],++r>=e.length&&(r=0);this.parray[t]=this.PARRAY[t]^n}for(this.sboxes=[],t=0;t<4;++t)for(this.sboxes[t]=[],r=0;r<256;++r)this.sboxes[t][r]=this.SBOXES[t][r];const n=[0,0];for(t=0;t<this.NN+2;t+=2)this._encryptBlock(n),this.parray[t+0]=n[0],this.parray[t+1]=n[1];for(t=0;t<4;++t)for(r=0;r<256;r+=2)this._encryptBlock(n),this.sboxes[t][r+0]=n[0],this.sboxes[t][r+1]=n[1]},My.keySize=My.prototype.keySize=16,My.blockSize=My.prototype.blockSize=8;const Ly=new Map(Object.entries({tripledes:Iy,cast5:Cy,twofish:Ry,blowfish:My}));var Fy=/*#__PURE__*/Object.freeze({__proto__:null,legacyCiphers:Ly});function Oy(e){if(!Number.isSafeInteger(e)||e<0)throw Error("positive integer expected, got "+e)}function Ny(e,...t){if(!((r=e)instanceof Uint8Array||ArrayBuffer.isView(r)&&"Uint8Array"===r.constructor.name))throw Error("Uint8Array expected");var r;if(t.length>0&&!t.includes(e.length))throw Error("Uint8Array expected of length "+t+", got length="+e.length)}function _y(e,t=!0){if(e.destroyed)throw Error("Hash instance has been destroyed");if(t&&e.finished)throw Error("Hash#digest() has already been called")}const Hy=/* @__PURE__ */BigInt(2**32-1),zy=/* @__PURE__ */BigInt(32);function Gy(e,t=!1){return t?{h:Number(e&Hy),l:Number(e>>zy&Hy)}:{h:0|Number(e>>zy&Hy),l:0|Number(e&Hy)}}function qy(e,t=!1){let r=new Uint32Array(e.length),n=new Uint32Array(e.length);for(let i=0;i<e.length;i++){const{h:s,l:a}=Gy(e[i],t);[r[i],n[i]]=[s,a]}return[r,n]}const jy="object"==typeof e&&"crypto"in e?e.crypto:void 0,Vy=e=>new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4)),Yy=/* @__PURE__ */(()=>68===new Uint8Array(new Uint32Array([287454020]).buffer)[0])();function Zy(e){for(let r=0;r<e.length;r++)e[r]=(t=e[r])<<24&4278190080|t<<8&16711680|t>>>8&65280|t>>>24&255;var t}function Jy(e){return"string"==typeof e&&(e=function(e){if("string"!=typeof e)throw Error("utf8ToBytes expected string, got "+typeof e);return new Uint8Array((new TextEncoder).encode(e))}(e)),Ny(e),e}class Xy{clone(){return this._cloneInto()}}const Wy=[],$y=[],ep=[],tp=/* @__PURE__ */BigInt(0),rp=/* @__PURE__ */BigInt(1),np=/* @__PURE__ */BigInt(2),ip=/* @__PURE__ */BigInt(7),sp=/* @__PURE__ */BigInt(256),ap=/* @__PURE__ */BigInt(113);for(let e=0,t=rp,r=1,n=0;e<24;e++){[r,n]=[n,(2*r+3*n)%5],Wy.push(2*(5*n+r)),$y.push((e+1)*(e+2)/2%64);let i=tp;for(let e=0;e<7;e++)t=(t<<rp^(t>>ip)*ap)%sp,t&np&&(i^=rp<<(rp<</* @__PURE__ */BigInt(e))-rp);ep.push(i)}const[op,cp]=/* @__PURE__ */qy(ep,!0),up=(e,t,r)=>r>32?((e,t,r)=>t<<r-32|e>>>64-r)(e,t,r):((e,t,r)=>e<<r|t>>>32-r)(e,t,r),hp=(e,t,r)=>r>32?((e,t,r)=>e<<r-32|t>>>64-r)(e,t,r):((e,t,r)=>t<<r|e>>>32-r)(e,t,r);class lp extends Xy{constructor(e,t,r,n=!1,i=24){if(super(),this.blockLen=e,this.suffix=t,this.outputLen=r,this.enableXOF=n,this.rounds=i,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,Oy(r),0>=this.blockLen||this.blockLen>=200)throw Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=Vy(this.state)}keccak(){Yy||Zy(this.state32),function(e,t=24){const r=new Uint32Array(10);for(let n=24-t;n<24;n++){for(let t=0;t<10;t++)r[t]=e[t]^e[t+10]^e[t+20]^e[t+30]^e[t+40];for(let t=0;t<10;t+=2){const n=(t+8)%10,i=(t+2)%10,s=r[i],a=r[i+1],o=up(s,a,1)^r[n],c=hp(s,a,1)^r[n+1];for(let r=0;r<50;r+=10)e[t+r]^=o,e[t+r+1]^=c}let t=e[2],i=e[3];for(let r=0;r<24;r++){const n=$y[r],s=up(t,i,n),a=hp(t,i,n),o=Wy[r];t=e[o],i=e[o+1],e[o]=s,e[o+1]=a}for(let t=0;t<50;t+=10){for(let n=0;n<10;n++)r[n]=e[t+n];for(let n=0;n<10;n++)e[t+n]^=~r[(n+2)%10]&r[(n+4)%10]}e[0]^=op[n],e[1]^=cp[n]}r.fill(0)}(this.state32,this.rounds),Yy||Zy(this.state32),this.posOut=0,this.pos=0}update(e){_y(this);const{blockLen:t,state:r}=this,n=(e=Jy(e)).length;for(let i=0;i<n;){const s=Math.min(t-this.pos,n-i);for(let t=0;t<s;t++)r[this.pos++]^=e[i++];this.pos===t&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:e,suffix:t,pos:r,blockLen:n}=this;e[r]^=t,128&t&&r===n-1&&this.keccak(),e[n-1]^=128,this.keccak()}writeInto(e){_y(this,!1),Ny(e),this.finish();const t=this.state,{blockLen:r}=this;for(let n=0,i=e.length;n<i;){this.posOut>=r&&this.keccak();const s=Math.min(r-this.posOut,i-n);e.set(t.subarray(this.posOut,this.posOut+s),n),this.posOut+=s,n+=s}return e}xofInto(e){if(!this.enableXOF)throw Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return Oy(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(function(e,t){Ny(e);const r=t.outputLen;if(e.length<r)throw Error("digestInto() expects output buffer of length at least "+r)}(e,this),this.finished)throw Error("digest() was already called");return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(e){const{blockLen:t,suffix:r,outputLen:n,rounds:i,enableXOF:s}=this;return e||(e=new lp(t,r,n,s,i)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=i,e.suffix=r,e.outputLen=n,e.enableXOF=s,e.destroyed=this.destroyed,e}}const fp=(e,t,r)=>function(e){const t=t=>e().update(Jy(t)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}((()=>new lp(t,e,r))),yp=/* @__PURE__ */fp(6,136,32),pp=/* @__PURE__ */fp(6,72,64),dp=(e,t,r)=>function(e){const t=(t,r)=>e(r).update(Jy(t)).digest(),r=e({});return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=t=>e(t),t}(((n={})=>new lp(t,e,void 0===n.dkLen?r:n.dkLen,!0))),gp=/* @__PURE__ */dp(31,168,16),Ap=/* @__PURE__ */dp(31,136,32),wp=Ny,mp=function(e=32){if(jy&&"function"==typeof jy.getRandomValues)return jy.getRandomValues(new Uint8Array(e));if(jy&&"function"==typeof jy.randomBytes)return jy.randomBytes(e);throw Error("crypto.getRandomValues must be defined")};function bp(e,t){if(e.length!==t.length)return!1;let r=0;for(let n=0;n<e.length;n++)r|=e[n]^t[n];return 0===r}function kp(...e){const t=e=>"number"==typeof e?e:e.bytesLen,r=e.reduce(((e,r)=>e+t(r)),0);return{bytesLen:r,encode:n=>{const i=new Uint8Array(r);for(let r=0,s=0;r<e.length;r++){const a=e[r],o=t(a),c="number"==typeof a?n[r]:a.encode(n[r]);wp(c,o),i.set(c,s),"number"!=typeof a&&c.fill(0),s+=o}return i},decode:n=>{wp(n,r);const i=[];for(const r of e){const e=t(r),s=n.subarray(0,e);i.push("number"==typeof r?s:r.decode(s)),n=n.subarray(e)}return i}}}function Ep(e,t){const r=t*e.bytesLen;return{bytesLen:r,encode:n=>{if(n.length!==t)throw Error(`vecCoder.encode: wrong length=${n.length}. Expected: ${t}`);const i=new Uint8Array(r);for(let t=0,r=0;t<n.length;t++){const s=e.encode(n[t]);i.set(s,r),s.fill(0),r+=s.length}return i},decode:t=>{wp(t,r);const n=[];for(let r=0;r<t.length;r+=e.bytesLen)n.push(e.decode(t.subarray(r,r+e.bytesLen)));return n}}}function vp(...e){for(const t of e)if(Array.isArray(t))for(const e of t)e.fill(0);else t.fill(0)}function Kp(e){return(1<<e)-1}
15
+ /*! noble-post-quantum - MIT License (c) 2024 Paul Miller (paulmillr.com) */function Sp(e,t=8){const r=e.toString(2).padStart(8,"0").slice(-t).padStart(7,"0").split("").reverse().join("");return Number.parseInt(r,2)}const Ip=e=>{const{newPoly:t,N:r,Q:n,F:i,ROOT_OF_UNITY:s,brvBits:a,isKyber:o}=e,c=(e,t=n)=>{const r=e%t|0;return 0|(r>=0?r:t+r)};const u=function(){const e=t(r);for(let t=0;t<r;t++){const r=Sp(t,a),i=BigInt(s)**BigInt(r)%BigInt(n);e[t]=0|Number(i)}return e}(),h=o?128:r,l=o?1:0,f={encode:e=>{for(let t=1,n=128;n>l;n>>=1)for(let i=0;i<r;i+=2*n){const r=u[t++];for(let t=i;t<i+n;t++){const i=c(r*e[t+n]);e[t+n]=0|c(e[t]-i),e[t]=0|c(e[t]+i)}}return e},decode:e=>{for(let t=h-1,n=1+l;n<h+l;n<<=1)for(let i=0;i<r;i+=2*n){const r=u[t--];for(let t=i;t<i+n;t++){const i=e[t];e[t]=c(i+e[t+n]),e[t+n]=c(r*(e[t+n]-i))}}for(let t=0;t<e.length;t++)e[t]=c(i*e[t]);return e}};return{mod:c,smod:(e,t=n)=>{const r=0|c(e,t);return 0|(r>t>>1?r-t:r)},nttZetas:u,NTT:f,bitsCoder:(e,n)=>{const i=Kp(e),s=e*(r/8);return{bytesLen:s,encode:t=>{const r=new Uint8Array(s);for(let s=0,a=0,o=0,c=0;s<t.length;s++)for(a|=(n.encode(t[s])&i)<<o,o+=e;o>=8;o-=8,a>>=8)r[c++]=a&Kp(o);return r},decode:s=>{const a=t(r);for(let t=0,r=0,o=0,c=0;t<s.length;t++)for(r|=s[t]<<o,o+=8;o>=e;o-=e,r>>=e)a[c++]=n.decode(r&i);return a}}}}},Bp=e=>(t,r)=>{r||(r=e.blockLen);const n=new Uint8Array(t.length+2);n.set(t);const i=t.length,s=new Uint8Array(r);let a=e.create({}),o=0,c=0;return{stats:()=>({calls:o,xofs:c}),get:(t,r)=>(n[i+0]=t,n[i+1]=r,a.destroy(),a=e.create({}).update(n),o++,()=>(c++,a.xofInto(s))),clean:()=>{a.destroy(),s.fill(0),n.fill(0)}}},Cp=/* @__PURE__ */Bp(gp),Up=/* @__PURE__ */Bp(Ap),Pp=256,Dp=3329,{mod:xp,nttZetas:Qp,NTT:Rp,bitsCoder:Tp}=Ip({N:Pp,Q:Dp,F:3303,ROOT_OF_UNITY:17,newPoly:e=>new Uint16Array(e),brvBits:7,isKyber:!0}),Mp=e=>Tp(e,(e=>{if(e>=12)return{encode:e=>e,decode:e=>e};const t=2**(e-1);return{encode:t=>((t<<e)+Dp/2)/Dp,decode:r=>r*Dp+t>>>e}})(e));function Lp(e,t){for(let r=0;r<Pp;r++)e[r]=xp(e[r]+t[r])}function Fp(e,t){for(let a=0;a<128;a++){let o=Qp[64+(a>>1)];1&a&&(o=-o);const{c0:c,c1:u}=(r=e[2*a+0],n=e[2*a+1],i=t[2*a+0],s=t[2*a+1],{c0:xp(n*s*o+r*i),c1:xp(r*s+n*i)});e[2*a+0]=c,e[2*a+1]=u}var r,n,i,s;return e}function Op(e){const t=new Uint16Array(Pp);for(let r=0;r<Pp;){const n=e();if(n.length%3)throw Error("SampleNTT: unaligned block");for(let e=0;r<Pp&&e+3<=n.length;e+=3){const i=4095&(n[e+0]|n[e+1]<<8),s=4095&(n[e+1]>>4|n[e+2]<<4);i<Dp&&(t[r++]=i),r<Pp&&s<Dp&&(t[r++]=s)}}return t}function Np(e,t,r,n){const i=e(n*Pp/4,t,r),s=new Uint16Array(Pp),a=Vy(i);let o=0;for(let e=0,t=0,r=0,i=0;e<a.length;e++){let c=a[e];for(let e=0;e<32;e++)r+=1&c,c>>=1,o+=1,o===n?(i=r,r=0):o===2*n&&(s[t++]=xp(i-r),r=0,o=0)}if(o)throw Error("sampleCBD: leftover bits: "+o);return s}const _p=e=>{const{K:t,PRF:r,XOF:n,HASH512:i,ETA1:s,ETA2:a,du:o,dv:c}=e,u=Mp(1),h=Mp(c),l=Mp(o),f=kp(Ep(Mp(12),t),32),y=Ep(Mp(12),t),p=kp(Ep(l,t),h),d=kp(32,32);return{secretCoder:y,secretKeyLen:y.bytesLen,publicKeyLen:f.bytesLen,cipherTextLen:p.bytesLen,keygen:e=>{const a=new Uint8Array(33);a.set(e),a[32]=t;const o=i(a),[c,u]=d.decode(o),h=[],l=[];for(let e=0;e<t;e++)h.push(Rp.encode(Np(r,u,e,s)));const p=n(c);for(let e=0;e<t;e++){const n=Rp.encode(Np(r,u,t+e,s));for(let r=0;r<t;r++){Lp(n,Fp(Op(p.get(r,e)),h[r]))}l.push(n)}p.clean();const g={publicKey:f.encode([l,c]),secretKey:y.encode(h)};return vp(c,u,h,l,a,o),g},encrypt:(e,i,o)=>{const[c,h]=f.decode(e),l=[];for(let e=0;e<t;e++)l.push(Rp.encode(Np(r,o,e,s)));const y=n(h),d=new Uint16Array(Pp),g=[];for(let e=0;e<t;e++){const n=Np(r,o,t+e,a),i=new Uint16Array(Pp);for(let r=0;r<t;r++){Lp(i,Fp(Op(y.get(e,r)),l[r]))}Lp(n,Rp.decode(i)),g.push(n),Lp(d,Fp(c[e],l[e])),i.fill(0)}y.clean();const A=Np(r,o,2*t,a);Lp(A,Rp.decode(d));const w=u.decode(i);return Lp(w,A),vp(c,l,d,A),p.encode([g,w])},decrypt:(e,r)=>{const[n,i]=p.decode(e),s=y.decode(r),a=new Uint16Array(Pp);for(let e=0;e<t;e++)Lp(a,Fp(s[e],Rp.encode(n[e])));return function(e,t){for(let r=0;r<Pp;r++)e[r]=xp(e[r]-t[r])}(i,Rp.decode(a)),vp(a,s,n),u.encode(i)}}};function Hp(e){const t=_p(e),{HASH256:r,HASH512:n,KDF:i}=e,{secretCoder:s,cipherTextLen:a}=t,o=t.publicKeyLen,c=kp(t.secretKeyLen,t.publicKeyLen,32,32),u=c.bytesLen;return{publicKeyLen:o,msgLen:32,keygen:(e=mp(64))=>{wp(e,64);const{publicKey:n,secretKey:i}=t.keygen(e.subarray(0,32)),s=r(n),a=c.encode([i,n,s,e.subarray(32)]);return vp(i,s),{publicKey:n,secretKey:a}},encapsulate:(i,a=mp(32))=>{wp(i,o),wp(a,32);const c=i.subarray(0,384*e.K),u=s.encode(s.decode(c.slice()));if(!bp(u,c))throw vp(u),Error("ML-KEM.encapsulate: wrong publicKey modulus");vp(u);const h=n.create().update(a).update(r(i)).digest(),l=t.encrypt(i,a,h.subarray(32,64));return h.subarray(32).fill(0),{cipherText:l,sharedSecret:h.subarray(0,32)}},decapsulate:(e,r)=>{wp(r,u),wp(e,a);const[s,o,h,l]=c.decode(r),f=t.decrypt(e,s),y=n.create().update(f).update(h).digest(),p=y.subarray(0,32),d=t.encrypt(o,f,y.subarray(32,64)),g=bp(e,d),A=i.create({dkLen:32}).update(l).update(e).digest();return vp(f,d,g?A:p),g?p:A}}}const zp=/* @__PURE__ */Hp({...{HASH256:yp,HASH512:pp,KDF:Ap,XOF:Cp,PRF:function(e,t,r){return Ap.create({dkLen:e}).update(t).update(new Uint8Array([r])).digest()}},...{N:Pp,Q:Dp,K:3,ETA1:2,ETA2:2,du:10,dv:4,RBGstrength:192}}),Gp=256,qp=8380417,jp=95232,Vp=261888,Yp={K:6,L:5,D:13,GAMMA1:2**19,GAMMA2:Vp,TAU:49,ETA:4,OMEGA:55},Zp=e=>new Int32Array(e),{mod:Jp,smod:Xp,NTT:Wp,bitsCoder:$p}=Ip({N:Gp,Q:qp,F:8347681,ROOT_OF_UNITY:1753,newPoly:Zp,isKyber:!1,brvBits:8}),ed=e=>e,td=(e,t=ed,r=ed)=>$p(e,{encode:e=>t(r(e)),decode:e=>r(t(e))}),rd=(e,t)=>{for(let r=0;r<e.length;r++)e[r]=Jp(e[r]+t[r]);return e},nd=(e,t)=>{for(let r=0;r<e.length;r++)e[r]=Jp(e[r]-t[r]);return e},id=e=>{for(let t=0;t<Gp;t++)e[t]<<=13;return e},sd=(e,t)=>{for(let r=0;r<Gp;r++)if(Math.abs(Xp(e[r]))>=t)return!0;return!1},ad=(e,t)=>{const r=Zp(Gp);for(let n=0;n<e.length;n++)r[n]=Jp(e[n]*t[n]);return r};function od(e){const t=Zp(Gp);for(let r=0;r<Gp;){const n=e();if(n.length%3)throw Error("RejNTTPoly: unaligned block");for(let e=0;r<Gp&&e<=n.length-3;e+=3){const i=8388607&(n[e+0]|n[e+1]<<8|n[e+2]<<16);i<qp&&(t[r++]=i)}}return t}const cd=new Uint8Array(0);function ud(e){const{K:t,L:r,GAMMA1:n,GAMMA2:i,TAU:s,ETA:a,OMEGA:o}=e,{CRH_BYTES:c,TR_BYTES:u,C_TILDE_BYTES:h,XOF128:l,XOF256:f}=e;if(![2,4].includes(a))throw Error("Wrong ETA");if(![1<<17,1<<19].includes(n))throw Error("Wrong GAMMA1");if(![jp,Vp].includes(i))throw Error("Wrong GAMMA2");const y=s*a,p=e=>{const t=Jp(e),r=0|Xp(t,2*i);if(t-r==qp-1)return{r1:0,r0:r-1|0};return{r1:0|Math.floor((t-r)/(2*i)),r0:r}},d=e=>p(e).r1,g=e=>p(e).r0,A=(e,t)=>{const r=Math.floor((qp-1)/(2*i)),{r1:n,r0:s}=p(t);return 1===e?s>0?0|Jp(n+1,r):0|Jp(n-1,r):0|n},w=e=>{const t=Jp(e),r=0|Xp(t,8192);return{r1:0|Math.floor((t-r)/8192),r0:r}},m={bytesLen:o+t,encode:e=>{if(!1===e)throw Error("hint.encode: hint is false");const r=new Uint8Array(o+t);for(let n=0,i=0;n<t;n++){for(let t=0;t<Gp;t++)0!==e[n][t]&&(r[i++]=t);r[o+n]=i}return r},decode:e=>{const r=[];let n=0;for(let i=0;i<t;i++){const t=Zp(Gp);if(e[o+i]<n||e[o+i]>o)return!1;for(let r=n;r<e[o+i];r++){if(r>n&&e[r]<=e[r-1])return!1;t[e[r]]=1}n=e[o+i],r.push(t)}for(let t=n;t<o;t++)if(0!==e[t])return!1;return r}},b=td(2===a?3:4,(e=>a-e),(e=>{if(!(-a<=e&&e<=a))throw Error(`malformed key s1/s3 ${e} outside of ETA range [${-a}, ${a}]`);return e})),k=td(13,(e=>4096-e)),E=td(10),v=td(n===1<<17?18:20,(e=>Xp(n-e))),K=Ep(td(i===jp?6:4),t),S=kp(32,Ep(E,t)),I=kp(32,32,u,Ep(b,r),Ep(b,t),Ep(k,t)),B=kp(h,Ep(v,r),m),C=2===a?e=>e<15&&2-e%5:e=>e<9&&4-e;function U(e){const t=Zp(Gp);for(let r=0;r<Gp;){const n=e();for(let e=0;r<Gp&&e<n.length;e+=1){const i=C(15&n[e]),s=C(n[e]>>4&15);!1!==i&&(t[r++]=i),r<Gp&&!1!==s&&(t[r++]=s)}}return t}const P=e=>{const t=Zp(Gp),r=Ap.create({}).update(e),n=new Uint8Array(Ap.blockLen);r.xofInto(n);const i=n.slice(0,8);for(let e=Gp-s,a=8,o=0,c=0;e<Gp;e++){let s=e+1;for(;s>e;)s=n[a++],a<Ap.blockLen||(r.xofInto(n),a=0);t[e]=t[s],t[s]=1-((i[o]>>c++&1)<<1),c>=8&&(o++,c=0)}return t},D=e=>{const t=Zp(Gp),r=Zp(Gp);for(let n=0;n<e.length;n++){const{r0:i,r1:s}=w(e[n]);t[n]=i,r[n]=s}return{r0:t,r1:r}},x=(e,t)=>{for(let r=0;r<Gp;r++)e[r]=A(t[r],e[r]);return e},Q=(e,t)=>{const r=Zp(Gp);let n=0;for(let o=0;o<Gp;o++){const c=(s=e[o],a=t[o],s<=i||s>qp-i||s===qp-i&&0===a?0:1);r[o]=c,n+=c}var s,a;return{v:r,cnt:n}},R=kp(32,64,32),T={signRandBytes:32,keygen:(e=mp(32))=>{const n=new Uint8Array(34);n.set(e),n[32]=t,n[33]=r;const[i,s,a]=R.decode(Ap(n,{dkLen:R.bytesLen})),o=f(s),c=[];for(let e=0;e<r;e++)c.push(U(o.get(255&e,e>>8&255)));const h=[];for(let e=r;e<r+t;e++)h.push(U(o.get(255&e,e>>8&255)));const y=c.map((e=>Wp.encode(e.slice()))),p=[],d=[],g=l(i),A=Zp(Gp);for(let e=0;e<t;e++){A.fill(0);for(let t=0;t<r;t++){const r=od(g.get(t,e));rd(A,ad(r,y[t]))}Wp.decode(A);const{r0:t,r1:n}=D(rd(A,h[e]));p.push(t),d.push(n)}const w=S.encode([i,d]),m=Ap(w,{dkLen:u}),b=I.encode([i,a,m,c,h,p]);return g.clean(),o.clean(),vp(i,s,a,c,h,y,A,p,d,m,n),{publicKey:w,secretKey:b}},sign:(e,s,a)=>{const[u,p,A,w,m,b]=I.decode(e),k=[],E=l(u);for(let e=0;e<t;e++){const t=[];for(let n=0;n<r;n++)t.push(od(E.get(n,e)));k.push(t)}E.clean();for(let e=0;e<r;e++)Wp.encode(w[e]);for(let e=0;e<t;e++)Wp.encode(m[e]),Wp.encode(b[e]);const S=Ap.create({dkLen:c}).update(A).update(s).digest(),C=a||new Uint8Array(32);wp(C);const U=Ap.create({dkLen:c}).update(p).update(C).update(S).digest();wp(U,c);const D=f(U,v.bytesLen);e:for(let e=0;;){const s=[];for(let t=0;t<r;t++,e++)s.push(v.decode(D.get(255&e,e>>8)()));const a=s.map((e=>Wp.encode(e.slice()))),c=[];for(let e=0;e<t;e++){const t=Zp(Gp);for(let n=0;n<r;n++)rd(t,ad(k[e][n],a[n]));Wp.decode(t),c.push(t)}const u=c.map((e=>e.map(d))),l=Ap.create({dkLen:h}).update(S).update(K.encode(u)).digest(),f=Wp.encode(P(l)),p=w.map((e=>ad(e,f)));for(let e=0;e<r;e++)if(rd(Wp.decode(p[e]),s[e]),sd(p[e],n-y))continue e;let A=0;const E=[];for(let e=0;e<t;e++){const t=Wp.decode(ad(m[e],f)),r=nd(c[e],t).map(g);if(sd(r,i-y))continue e;const n=Wp.decode(ad(b[e],f));if(sd(n,i))continue e;rd(r,n);const s=Q(r,u[e]);E.push(s.v),A+=s.cnt}if(A>o)continue;D.clean();const I=B.encode([l,p,E]);return vp(l,p,E,f,u,c,a,s,U,S,w,m,b,...k),I}throw Error("Unreachable code path reached, report this error")},verify:(e,i,s)=>{const[a,f]=S.decode(e),p=Ap(e,{dkLen:u});if(s.length!==B.bytesLen)return!1;const[d,g,A]=B.decode(s);if(!1===A)return!1;for(let e=0;e<r;e++)if(sd(g[e],n-y))return!1;const w=Ap.create({dkLen:c}).update(p).update(i).digest(),m=Wp.encode(P(d)),b=g.map((e=>e.slice()));for(let e=0;e<r;e++)Wp.encode(b[e]);const k=[],E=l(a);for(let e=0;e<t;e++){const t=ad(Wp.encode(id(f[e])),m),n=Zp(Gp);for(let t=0;t<r;t++){const r=od(E.get(t,e));rd(n,ad(r,b[t]))}const i=Wp.decode(nd(n,t));k.push(x(i,A[e]))}E.clean();const v=Ap.create({dkLen:h}).update(w).update(K.encode(k)).digest();for(const e of A){const t=e.reduce(((e,t)=>e+t),0);if(!(t<=o))return!1}for(const e of g)if(sd(e,n-y))return!1;return bp(d,v)}},M=(e,t=cd)=>{if(wp(e),wp(t),t.length>255)throw Error("context should be less than 255 bytes");return function(...e){let t=0;for(let r=0;r<e.length;r++){const n=e[r];Ny(n),t+=n.length}const r=new Uint8Array(t);for(let t=0,n=0;t<e.length;t++){const i=e[t];r.set(i,n),n+=i.length}return r}(new Uint8Array([0,t.length]),t,e)};return{internal:T,keygen:T.keygen,signRandBytes:T.signRandBytes,sign:(e,t,r=cd,n)=>{const i=M(t,r),s=T.sign(e,i,n);return i.fill(0),s},verify:(e,t,r,n=cd)=>T.verify(e,M(t,n),r)}}const hd=/* @__PURE__ */ud({...Yp,CRH_BYTES:64,TR_BYTES:64,C_TILDE_BYTES:48,XOF128:Cp,XOF256:Up});var ld=/*#__PURE__*/Object.freeze({__proto__:null,ml_dsa65:hd,ml_kem768:zp});function fd(e,t,r,n){e[t]+=r[n],e[t+1]+=r[n+1]+(e[t]<r[n])}function yd(e,t){e[0]+=t,e[1]+=e[0]<t}function pd(e,t,r,n,i,s,a,o){fd(e,r,e,n),fd(e,r,t,a);let c=e[s]^e[r],u=e[s+1]^e[r+1];e[s]=u,e[s+1]=c,fd(e,i,e,s),c=e[n]^e[i],u=e[n+1]^e[i+1],e[n]=c>>>24^u<<8,e[n+1]=u>>>24^c<<8,fd(e,r,e,n),fd(e,r,t,o),c=e[s]^e[r],u=e[s+1]^e[r+1],e[s]=c>>>16^u<<16,e[s+1]=u>>>16^c<<16,fd(e,i,e,s),c=e[n]^e[i],u=e[n+1]^e[i+1],e[n]=u>>>31^c<<1,e[n+1]=c>>>31^u<<1}const dd=new Uint32Array([4089235720,1779033703,2227873595,3144134277,4271175723,1013904242,1595750129,2773480762,2917565137,1359893119,725511199,2600822924,4215389547,528734635,327033209,1541459225]),gd=new Uint8Array([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9,12,5,1,15,14,13,4,10,0,7,6,3,9,2,8,11,13,11,7,14,12,1,3,9,5,0,15,4,8,6,2,10,6,15,14,9,11,3,0,8,12,2,13,7,1,4,10,5,10,2,8,4,7,6,1,5,15,11,9,14,3,12,13,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3].map((e=>2*e)));function Ad(e,t){const r=new Uint32Array(32),n=new Uint32Array(e.b.buffer,e.b.byteOffset,32);for(let t=0;t<16;t++)r[t]=e.h[t],r[t+16]=dd[t];r[24]^=e.t0[0],r[25]^=e.t0[1];const i=t?4294967295:0;r[28]^=i,r[29]^=i;for(let e=0;e<12;e++){const t=e<<4;pd(r,n,0,8,16,24,gd[t+0],gd[t+1]),pd(r,n,2,10,18,26,gd[t+2],gd[t+3]),pd(r,n,4,12,20,28,gd[t+4],gd[t+5]),pd(r,n,6,14,22,30,gd[t+6],gd[t+7]),pd(r,n,0,10,20,30,gd[t+8],gd[t+9]),pd(r,n,2,12,22,24,gd[t+10],gd[t+11]),pd(r,n,4,14,16,26,gd[t+12],gd[t+13]),pd(r,n,6,8,18,28,gd[t+14],gd[t+15])}for(let t=0;t<16;t++)e.h[t]^=r[t]^r[t+16]}class wd{constructor(e,t,r,n){const i=new Uint8Array(64);this.S={b:new Uint8Array(kd),h:new Uint32Array(bd/4),t0:new Uint32Array(2),c:0,outlen:e},i[0]=e,t&&(i[1]=t.length),i[2]=1,i[3]=1,r&&i.set(r,32),n&&i.set(n,48);const s=new Uint32Array(i.buffer,i.byteOffset,i.length/Uint32Array.BYTES_PER_ELEMENT);for(let e=0;e<16;e++)this.S.h[e]=dd[e]^s[e];if(t){const e=new Uint8Array(kd);e.set(t),this.update(e)}}update(e){if(!(e instanceof Uint8Array))throw Error("Input must be Uint8Array or Buffer");let t=0;for(;t<e.length;){this.S.c===kd&&(yd(this.S.t0,this.S.c),Ad(this.S,!1),this.S.c=0);let r=kd-this.S.c;this.S.b.set(e.subarray(t,t+r),this.S.c);const n=Math.min(r,e.length-t);this.S.c+=n,t+=n}return this}digest(e){yd(this.S.t0,this.S.c),this.S.b.fill(0,this.S.c),this.S.c=kd,Ad(this.S,!0);const t=e||new Uint8Array(this.S.outlen);for(let e=0;e<this.S.outlen;e++)t[e]=this.S.h[e>>2]>>8*(3&e);return this.S.h=null,t.buffer}}function md(e,t,r,n){if(e>bd)throw Error(`outlen must be at most ${bd} (given: ${e})`);return new wd(e,t,r,n)}const bd=64,kd=128,Ed=1024,vd=205===new Uint8Array(new Uint16Array([43981]).buffer)[0];function Kd(e,t,r){return e[r+0]=t,e[r+1]=t>>8,e[r+2]=t>>16,e[r+3]=t>>24,e}function Sd(e,t,r){if(t>Number.MAX_SAFE_INTEGER)throw Error("LE64: large numbers unsupported");let n=t;for(let t=r;t<r+7;t++)e[t]=n,n=(n-e[t])/256;return e}function Id(e,t,r){const n=new Uint8Array(64),i=new Uint8Array(4+t.length);if(Kd(i,e,0),i.set(t,4),e<=64)return md(e).update(i).digest(r),r;const s=Math.ceil(e/32)-2;for(let e=0;e<s;e++)md(64).update(0===e?i:n).digest(n),r.set(n.subarray(0,32),32*e);const a=new Uint8Array(md(e-32*s).update(n).digest());return r.set(a,32*s),r}function Bd(e,t,r,n){return e.fn.XOR(t.byteOffset,r.byteOffset,n.byteOffset),t}function Cd(e,t,r,n){return e.fn.G(t.byteOffset,r.byteOffset,n.byteOffset,e.refs.gZ.byteOffset),n}function Ud(e,t,r,n){return e.fn.G2(t.byteOffset,r.byteOffset,n.byteOffset,e.refs.gZ.byteOffset),n}function*Pd(e,t,r,n,i,s,a,o){e.refs.prngTmp.fill(0);const c=e.refs.prngTmp.subarray(0,48);Sd(c,t,0),Sd(c,r,8),Sd(c,n,16),Sd(c,i,24),Sd(c,s,32),Sd(c,2,40);for(let t=1;t<=a;t++){Sd(e.refs.prngTmp,t,c.length);const r=Ud(e,e.refs.ZERO1024,e.refs.prngTmp,e.refs.prngR);for(let e=1===t?8*o:0;e<r.length;e+=8)yield r.subarray(e,e+8)}return[]}function Dd(e,{memory:t,instance:r}){if(!vd)throw Error("BigEndian system not supported");const n=function({type:e,version:t,tagLength:r,password:n,salt:i,ad:s,secret:a,parallelism:o,memorySize:c,passes:u}){const h=(e,t,r,n)=>{if(t<r||t>n)throw Error(`${e} size should be between ${r} and ${n} bytes`)};if(2!==e||19!==t)throw Error("Unsupported type or version");return h("password",n,8,4294967295),h("salt",i,8,4294967295),h("tag",r,4,4294967295),h("memory",c,8*o,4294967295),s&&h("associated data",s,0,4294967295),a&&h("secret",a,0,32),{type:e,version:t,tagLength:r,password:n,salt:i,ad:s,secret:a,lanes:o,memorySize:c,passes:u}}({type:2,version:19,...e}),{G:i,G2:s,xor:a,getLZ:o}=r.exports,c={},u={};u.G=i,u.G2=s,u.XOR=a;const h=4*n.lanes*Math.floor(n.memorySize/(4*n.lanes)),l=h*Ed+10240;if(t.buffer.byteLength<l){const e=Math.ceil((l-t.buffer.byteLength)/65536);t.grow(e)}let f=0;c.gZ=new Uint8Array(t.buffer,f,Ed),f+=c.gZ.length,c.prngR=new Uint8Array(t.buffer,f,Ed),f+=c.prngR.length,c.prngTmp=new Uint8Array(t.buffer,f,Ed),f+=c.prngTmp.length,c.ZERO1024=new Uint8Array(t.buffer,f,1024),f+=c.ZERO1024.length;const y=new Uint32Array(t.buffer,f,2);f+=y.length*Uint32Array.BYTES_PER_ELEMENT;const p={fn:u,refs:c},d=new Uint8Array(t.buffer,f,Ed);f+=d.length;const g=new Uint8Array(t.buffer,f,n.memorySize*Ed),A=new Uint8Array(t.buffer,0,f),w=function(e){const t=md(64),r=new Uint8Array(4),n=new Uint8Array(24);Kd(n,e.lanes,0),Kd(n,e.tagLength,4),Kd(n,e.memorySize,8),Kd(n,e.passes,12),Kd(n,e.version,16),Kd(n,e.type,20);const i=[n];e.password?(i.push(Kd(new Uint8Array(4),e.password.length,0)),i.push(e.password)):i.push(r);e.salt?(i.push(Kd(new Uint8Array(4),e.salt.length,0)),i.push(e.salt)):i.push(r);e.secret?(i.push(Kd(new Uint8Array(4),e.secret.length,0)),i.push(e.secret)):i.push(r);e.ad?(i.push(Kd(new Uint8Array(4),e.ad.length,0)),i.push(e.ad)):i.push(r);t.update(function(e){if(1===e.length)return e[0];let t=0;for(let r=0;r<e.length;r++){if(!(e[r]instanceof Uint8Array))throw Error("concatArrays: Data must be in the form of a Uint8Array");t+=e[r].length}const r=new Uint8Array(t);let n=0;return e.forEach((e=>{r.set(e,n),n+=e.length})),r}(i));const s=t.digest();return new Uint8Array(s)}(n),m=h/n.lanes,b=Array(n.lanes).fill(null).map((()=>Array(m))),k=(e,t)=>(b[e][t]=g.subarray(e*m*1024+1024*t,e*m*1024+1024*t+Ed),b[e][t]);for(let e=0;e<n.lanes;e++){const t=new Uint8Array(w.length+8);t.set(w),Kd(t,0,w.length),Kd(t,e,w.length+4),Id(Ed,t,k(e,0)),Kd(t,1,w.length),Id(Ed,t,k(e,1))}const E=m/4;for(let e=0;e<n.passes;e++)for(let t=0;t<4;t++){const r=0===e&&t<=1;for(let i=0;i<n.lanes;i++){let s=0===t&&0===e?2:0;const a=r?Pd(p,e,i,t,h,n.passes,E,s):null;for(;s<E;s++){const c=t*E+s,u=c>0?b[i][c-1]:b[i][m-1],h=r?a.next().value:u;o(y.byteOffset,h.byteOffset,i,n.lanes,e,t,s,4,E);const l=y[0],f=y[1];0===e&&k(i,c),Cd(p,u,b[l][f],e>0?d:b[i][c]),e>0&&Bd(p,b[i][c],d,b[i][c])}}}const v=b[0][m-1];for(let e=1;e<n.lanes;e++)Bd(p,v,v,b[e][m-1]);const K=Id(n.tagLength,v,new Uint8Array(n.tagLength));return A.fill(0),t.grow(0),K}let xd;async function Qd(e,t){const r=new WebAssembly.Memory({initial:1040,maximum:65536}),n=await async function(e,t,r){const n={env:{memory:e}};if(void 0===xd)try{const e=await t(n);return xd=!0,e}catch(e){xd=!1}return(xd?t:r)(n)}(r,e,t);return e=>Dd(e,{instance:n.instance,memory:r})}function Rd(t,r,n,i){var s=null,a=e.atob(n),o=a.length;s=new Uint8Array(new ArrayBuffer(o));for(var c=0;c<o;c++)s[c]=a.charCodeAt(c);return function(e,t,r){var n=r?WebAssembly.instantiateStreaming:WebAssembly.instantiate,i=r?WebAssembly.compileStreaming:WebAssembly.compile;return t?n(e,t):i(e)}(s,i,!1)}var Td,Md,Ld,Fd,Od,Nd,_d,Hd,zd=/*#__PURE__*/Object.freeze({__proto__:null,default:async()=>Qd((e=>Rd(0,0,"AGFzbQEAAAABKwdgBH9/f38AYAABf2AAAGADf39/AGAJf39/f39/f39/AX9gAX8AYAF/AX8CEwEDZW52Bm1lbW9yeQIBkAiAgAQDCgkCAwAABAEFBgEEBQFwAQICBgkBfwFBkIjAAgsHfQoDeG9yAAEBRwACAkcyAAMFZ2V0TFoABBlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALX2luaXRpYWxpemUAABBfX2Vycm5vX2xvY2F0aW9uAAgJc3RhY2tTYXZlAAUMc3RhY2tSZXN0b3JlAAYKc3RhY2tBbGxvYwAHCQcBAEEBCwEACs0gCQMAAQtYAQJ/A0AgACAEQQR0IgNqIAIgA2r9AAQAIAEgA2r9AAQA/VH9CwQAIAAgA0EQciIDaiACIANq/QAEACABIANq/QAEAP1R/QsEACAEQQJqIgRBwABHDQALC7ceAgt7A38DQCADIBFBBHQiD2ogASAPav0ABAAgACAPav0ABAD9USIF/QsEACACIA9qIAX9CwQAIAMgD0EQciIPaiABIA9q/QAEACAAIA9q/QAEAP1RIgX9CwQAIAIgD2ogBf0LBAAgEUECaiIRQcAARw0ACwNAIAMgEEEHdGoiAEEQaiAA/QAEcCAA/QAEMCIFIAD9AAQQIgT9zgEgBSAF/Q0AAQIDCAkKCwABAgMICQoLIAQgBP0NAAECAwgJCgsAAQIDCAkKC/3eAUEB/csB/c4BIgT9USIJQSD9ywEgCUEg/c0B/VAiCSAA/QAEUCIG/c4BIAkgCf0NAAECAwgJCgsAAQIDCAkKCyAGIAb9DQABAgMICQoLAAECAwgJCgv93gFBAf3LAf3OASIGIAX9USIFQSj9ywEgBUEY/c0B/VAiCCAE/c4BIAggCP0NAAECAwgJCgsAAQIDCAkKCyAEIAT9DQABAgMICQoLAAECAwgJCgv93gFBAf3LAf3OASIKIAogCf1RIgVBMP3LASAFQRD9zQH9UCIFIAb9zgEgBSAF/Q0AAQIDCAkKCwABAgMICQoLIAYgBv0NAAECAwgJCgsAAQIDCAkKC/3eAUEB/csB/c4BIgkgCP1RIgRBAf3LASAEQT/9zQH9UCIMIAD9AARgIAD9AAQgIgQgAP0ABAAiBv3OASAEIAT9DQABAgMICQoLAAECAwgJCgsgBiAG/Q0AAQIDCAkKCwABAgMICQoL/d4BQQH9ywH9zgEiBv1RIghBIP3LASAIQSD9zQH9UCIIIABBQGsiAf0ABAAiB/3OASAIIAj9DQABAgMICQoLAAECAwgJCgsgByAH/Q0AAQIDCAkKCwABAgMICQoL/d4BQQH9ywH9zgEiByAE/VEiBEEo/csBIARBGP3NAf1QIgsgBv3OASALIAv9DQABAgMICQoLAAECAwgJCgsgBiAG/Q0AAQIDCAkKCwABAgMICQoL/d4BQQH9ywH9zgEiBiAI/VEiBEEw/csBIARBEP3NAf1QIgQgB/3OASAEIAT9DQABAgMICQoLAAECAwgJCgsgByAH/Q0AAQIDCAkKCwABAgMICQoL/d4BQQH9ywH9zgEiCCAL/VEiB0EB/csBIAdBP/3NAf1QIg0gDf0NAAECAwQFBgcQERITFBUWF/0NCAkKCwwNDg8YGRobHB0eHyIH/c4BIAcgB/0NAAECAwgJCgsAAQIDCAkKCyAKIAr9DQABAgMICQoLAAECAwgJCgv93gFBAf3LAf3OASIKIAQgBSAF/Q0AAQIDBAUGBxAREhMUFRYX/Q0ICQoLDA0ODxgZGhscHR4f/VEiC0Eg/csBIAtBIP3NAf1QIgsgCP3OASALIAv9DQABAgMICQoLAAECAwgJCgsgCCAI/Q0AAQIDCAkKCwABAgMICQoL/d4BQQH9ywH9zgEiCCAH/VEiB0Eo/csBIAdBGP3NAf1QIgcgCv3OASAHIAf9DQABAgMICQoLAAECAwgJCgsgCiAK/Q0AAQIDCAkKCwABAgMICQoL/d4BQQH9ywH9zgEiDv0LBAAgACAGIA0gDCAM/Q0AAQIDBAUGBxAREhMUFRYX/Q0ICQoLDA0ODxgZGhscHR4fIgr9zgEgCiAK/Q0AAQIDCAkKCwABAgMICQoLIAYgBv0NAAECAwgJCgsAAQIDCAkKC/3eAUEB/csB/c4BIgYgBSAEIAT9DQABAgMEBQYHEBESExQVFhf9DQgJCgsMDQ4PGBkaGxwdHh/9USIFQSD9ywEgBUEg/c0B/VAiBSAJ/c4BIAUgBf0NAAECAwgJCgsAAQIDCAkKCyAJIAn9DQABAgMICQoLAAECAwgJCgv93gFBAf3LAf3OASIJIAr9USIEQSj9ywEgBEEY/c0B/VAiCiAG/c4BIAogCv0NAAECAwgJCgsAAQIDCAkKCyAGIAb9DQABAgMICQoLAAECAwgJCgv93gFBAf3LAf3OASIE/QsEACAAIAQgBf1RIgVBMP3LASAFQRD9zQH9UCIFIA4gC/1RIgRBMP3LASAEQRD9zQH9UCIEIAT9DQABAgMEBQYHEBESExQVFhf9DQgJCgsMDQ4PGBkaGxwdHh/9CwRgIAAgBCAFIAX9DQABAgMEBQYHEBESExQVFhf9DQgJCgsMDQ4PGBkaGxwdHh/9CwRwIAEgBCAI/c4BIAQgBP0NAAECAwgJCgsAAQIDCAkKCyAIIAj9DQABAgMICQoLAAECAwgJCgv93gFBAf3LAf3OASIE/QsEACAAIAUgCf3OASAFIAX9DQABAgMICQoLAAECAwgJCgsgCSAJ/Q0AAQIDCAkKCwABAgMICQoL/d4BQQH9ywH9zgEiCf0LBFAgACAEIAf9USIFQQH9ywEgBUE//c0B/VAiBSAJIAr9USIEQQH9ywEgBEE//c0B/VAiBCAE/Q0AAQIDBAUGBxAREhMUFRYX/Q0ICQoLDA0ODxgZGhscHR4f/QsEICAAIAQgBSAF/Q0AAQIDBAUGBxAREhMUFRYX/Q0ICQoLDA0ODxgZGhscHR4f/QsEMCAQQQFqIhBBCEcNAAtBACEQA0AgAyAQQQR0aiIAQYABaiAA/QAEgAcgAP0ABIADIgUgAP0ABIABIgT9zgEgBSAF/Q0AAQIDCAkKCwABAgMICQoLIAQgBP0NAAECAwgJCgsAAQIDCAkKC/3eAUEB/csB/c4BIgT9USIJQSD9ywEgCUEg/c0B/VAiCSAA/QAEgAUiBv3OASAJIAn9DQABAgMICQoLAAECAwgJCgsgBiAG/Q0AAQIDCAkKCwABAgMICQoL/d4BQQH9ywH9zgEiBiAF/VEiBUEo/csBIAVBGP3NAf1QIgggBP3OASAIIAj9DQABAgMICQoLAAECAwgJCgsgBCAE/Q0AAQIDCAkKCwABAgMICQoL/d4BQQH9ywH9zgEiCiAKIAn9USIFQTD9ywEgBUEQ/c0B/VAiBSAG/c4BIAUgBf0NAAECAwgJCgsAAQIDCAkKCyAGIAb9DQABAgMICQoLAAECAwgJCgv93gFBAf3LAf3OASIJIAj9USIEQQH9ywEgBEE//c0B/VAiDCAA/QAEgAYgAP0ABIACIgQgAP0ABAAiBv3OASAEIAT9DQABAgMICQoLAAECAwgJCgsgBiAG/Q0AAQIDCAkKCwABAgMICQoL/d4BQQH9ywH9zgEiBv1RIghBIP3LASAIQSD9zQH9UCIIIAD9AASABCIH/c4BIAggCP0NAAECAwgJCgsAAQIDCAkKCyAHIAf9DQABAgMICQoLAAECAwgJCgv93gFBAf3LAf3OASIHIAT9USIEQSj9ywEgBEEY/c0B/VAiCyAG/c4BIAsgC/0NAAECAwgJCgsAAQIDCAkKCyAGIAb9DQABAgMICQoLAAECAwgJCgv93gFBAf3LAf3OASIGIAj9USIEQTD9ywEgBEEQ/c0B/VAiBCAH/c4BIAQgBP0NAAECAwgJCgsAAQIDCAkKCyAHIAf9DQABAgMICQoLAAECAwgJCgv93gFBAf3LAf3OASIIIAv9USIHQQH9ywEgB0E//c0B/VAiDSAN/Q0AAQIDBAUGBxAREhMUFRYX/Q0ICQoLDA0ODxgZGhscHR4fIgf9zgEgByAH/Q0AAQIDCAkKCwABAgMICQoLIAogCv0NAAECAwgJCgsAAQIDCAkKC/3eAUEB/csB/c4BIgogBCAFIAX9DQABAgMEBQYHEBESExQVFhf9DQgJCgsMDQ4PGBkaGxwdHh/9USILQSD9ywEgC0Eg/c0B/VAiCyAI/c4BIAsgC/0NAAECAwgJCgsAAQIDCAkKCyAIIAj9DQABAgMICQoLAAECAwgJCgv93gFBAf3LAf3OASIIIAf9USIHQSj9ywEgB0EY/c0B/VAiByAK/c4BIAcgB/0NAAECAwgJCgsAAQIDCAkKCyAKIAr9DQABAgMICQoLAAECAwgJCgv93gFBAf3LAf3OASIO/QsEACAAIAYgDSAMIAz9DQABAgMEBQYHEBESExQVFhf9DQgJCgsMDQ4PGBkaGxwdHh8iCv3OASAKIAr9DQABAgMICQoLAAECAwgJCgsgBiAG/Q0AAQIDCAkKCwABAgMICQoL/d4BQQH9ywH9zgEiBiAFIAQgBP0NAAECAwQFBgcQERITFBUWF/0NCAkKCwwNDg8YGRobHB0eH/1RIgVBIP3LASAFQSD9zQH9UCIFIAn9zgEgBSAF/Q0AAQIDCAkKCwABAgMICQoLIAkgCf0NAAECAwgJCgsAAQIDCAkKC/3eAUEB/csB/c4BIgkgCv1RIgRBKP3LASAEQRj9zQH9UCIKIAb9zgEgCiAK/Q0AAQIDCAkKCwABAgMICQoLIAYgBv0NAAECAwgJCgsAAQIDCAkKC/3eAUEB/csB/c4BIgT9CwQAIAAgBCAF/VEiBUEw/csBIAVBEP3NAf1QIgUgDiAL/VEiBEEw/csBIARBEP3NAf1QIgQgBP0NAAECAwQFBgcQERITFBUWF/0NCAkKCwwNDg8YGRobHB0eH/0LBIAGIAAgBCAFIAX9DQABAgMEBQYHEBESExQVFhf9DQgJCgsMDQ4PGBkaGxwdHh/9CwSAByAAIAQgCP3OASAEIAT9DQABAgMICQoLAAECAwgJCgsgCCAI/Q0AAQIDCAkKCwABAgMICQoL/d4BQQH9ywH9zgEiBP0LBIAEIAAgBSAJ/c4BIAUgBf0NAAECAwgJCgsAAQIDCAkKCyAJIAn9DQABAgMICQoLAAECAwgJCgv93gFBAf3LAf3OASIJ/QsEgAUgACAEIAf9USIFQQH9ywEgBUE//c0B/VAiBSAJIAr9USIEQQH9ywEgBEE//c0B/VAiBCAE/Q0AAQIDBAUGBxAREhMUFRYX/Q0ICQoLDA0ODxgZGhscHR4f/QsEgAIgACAEIAUgBf0NAAECAwQFBgcQERITFBUWF/0NCAkKCwwNDg8YGRobHB0eH/0LBIADIBBBAWoiEEEIRw0AC0EAIRADQCACIBBBBHQiAGoiASAAIANq/QAEACAB/QAEAP1R/QsEACACIABBEHIiAWoiDyABIANq/QAEACAP/QAEAP1R/QsEACACIABBIHIiAWoiDyABIANq/QAEACAP/QAEAP1R/QsEACACIABBMHIiAGoiASAAIANq/QAEACAB/QAEAP1R/QsEACAQQQRqIhBBwABHDQALCxYAIAAgASACIAMQAiAAIAIgAiADEAILewIBfwF+IAIhCSABNQIAIQogBCAFcgRAIAEoAgQgA3AhCQsgACAJNgIAIAAgB0EBayAFIAQbIAhsIAZBAWtBAEF/IAYbIAIgCUYbaiIBIAVBAWogCGxBACAEG2ogAa0gCiAKfkIgiH5CIIinQX9zaiAHIAhscDYCBCAACwQAIwALBgAgACQACxAAIwAgAGtBcHEiACQAIAALBQBBgAgL",e)),(e=>Rd(0,0,"AGFzbQEAAAABPwhgBH9/f38AYAABf2AAAGADf39/AGARf39/f39/f39/f39/f39/f38AYAl/f39/f39/f38Bf2ABfwBgAX8BfwITAQNlbnYGbWVtb3J5AgGQCICABAMLCgIDBAAABQEGBwEEBQFwAQICBgkBfwFBkIjAAgsHfQoDeG9yAAEBRwADAkcyAAQFZ2V0TFoABRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALX2luaXRpYWxpemUAABBfX2Vycm5vX2xvY2F0aW9uAAkJc3RhY2tTYXZlAAYMc3RhY2tSZXN0b3JlAAcKc3RhY2tBbGxvYwAICQcBAEEBCwEACssaCgMAAQtQAQJ/A0AgACAEQQN0IgNqIAIgA2opAwAgASADaikDAIU3AwAgACADQQhyIgNqIAIgA2opAwAgASADaikDAIU3AwAgBEECaiIEQYABRw0ACwveDwICfgF/IAAgAUEDdGoiEyATKQMAIhEgACAFQQN0aiIBKQMAIhJ8IBFCAYZC/v///x+DIBJC/////w+DfnwiETcDACAAIA1BA3RqIgUgESAFKQMAhUIgiSIRNwMAIAAgCUEDdGoiCSARIAkpAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAEgESABKQMAhUIoiSIRNwMAIBMgESATKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACAFIBEgBSkDAIVCMIkiETcDACAJIBEgCSkDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgASARIAEpAwCFQgGJNwMAIAAgAkEDdGoiDSANKQMAIhEgACAGQQN0aiICKQMAIhJ8IBFCAYZC/v///x+DIBJC/////w+DfnwiETcDACAAIA5BA3RqIgYgESAGKQMAhUIgiSIRNwMAIAAgCkEDdGoiCiARIAopAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAIgESACKQMAhUIoiSIRNwMAIA0gESANKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACAGIBEgBikDAIVCMIkiETcDACAKIBEgCikDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgAiARIAIpAwCFQgGJNwMAIAAgA0EDdGoiDiAOKQMAIhEgACAHQQN0aiIDKQMAIhJ8IBFCAYZC/v///x+DIBJC/////w+DfnwiETcDACAAIA9BA3RqIgcgESAHKQMAhUIgiSIRNwMAIAAgC0EDdGoiCyARIAspAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAMgESADKQMAhUIoiSIRNwMAIA4gESAOKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACAHIBEgBykDAIVCMIkiETcDACALIBEgCykDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgAyARIAMpAwCFQgGJNwMAIAAgBEEDdGoiDyAPKQMAIhEgACAIQQN0aiIEKQMAIhJ8IBFCAYZC/v///x+DIBJC/////w+DfnwiETcDACAAIBBBA3RqIgggESAIKQMAhUIgiSIRNwMAIAAgDEEDdGoiACARIAApAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAQgESAEKQMAhUIoiSIRNwMAIA8gESAPKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACAIIBEgCCkDAIVCMIkiETcDACAAIBEgACkDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgBCARIAQpAwCFQgGJNwMAIBMgEykDACIRIAIpAwAiEnwgEUIBhkL+////H4MgEkL/////D4N+fCIRNwMAIAggESAIKQMAhUIgiSIRNwMAIAsgESALKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACACIBEgAikDAIVCKIkiETcDACATIBEgEykDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgCCARIAgpAwCFQjCJIhE3AwAgCyARIAspAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAIgESACKQMAhUIBiTcDACANIA0pAwAiESADKQMAIhJ8IBFCAYZC/v///x+DIBJC/////w+DfnwiETcDACAFIBEgBSkDAIVCIIkiETcDACAAIBEgACkDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgAyARIAMpAwCFQiiJIhE3AwAgDSARIA0pAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAUgESAFKQMAhUIwiSIRNwMAIAAgESAAKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACADIBEgAykDAIVCAYk3AwAgDiAOKQMAIhEgBCkDACISfCARQgGGQv7///8fgyASQv////8Pg358IhE3AwAgBiARIAYpAwCFQiCJIhE3AwAgCSARIAkpAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAQgESAEKQMAhUIoiSIRNwMAIA4gESAOKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACAGIBEgBikDAIVCMIkiETcDACAJIBEgCSkDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgBCARIAQpAwCFQgGJNwMAIA8gDykDACIRIAEpAwAiEnwgEUIBhkL+////H4MgEkL/////D4N+fCIRNwMAIAcgESAHKQMAhUIgiSIRNwMAIAogESAKKQMAIhJ8IBFC/////w+DIBJCAYZC/v///x+DfnwiETcDACABIBEgASkDAIVCKIkiETcDACAPIBEgDykDACISfCARQv////8PgyASQgGGQv7///8fg358IhE3AwAgByARIAcpAwCFQjCJIhE3AwAgCiARIAopAwAiEnwgEUL/////D4MgEkIBhkL+////H4N+fCIRNwMAIAEgESABKQMAhUIBiTcDAAvdCAEPfwNAIAIgBUEDdCIGaiABIAZqKQMAIAAgBmopAwCFNwMAIAIgBkEIciIGaiABIAZqKQMAIAAgBmopAwCFNwMAIAVBAmoiBUGAAUcNAAsDQCADIARBA3QiAGogACACaikDADcDACADIARBAXIiAEEDdCIBaiABIAJqKQMANwMAIAMgBEECciIBQQN0IgVqIAIgBWopAwA3AwAgAyAEQQNyIgVBA3QiBmogAiAGaikDADcDACADIARBBHIiBkEDdCIHaiACIAdqKQMANwMAIAMgBEEFciIHQQN0IghqIAIgCGopAwA3AwAgAyAEQQZyIghBA3QiCWogAiAJaikDADcDACADIARBB3IiCUEDdCIKaiACIApqKQMANwMAIAMgBEEIciIKQQN0IgtqIAIgC2opAwA3AwAgAyAEQQlyIgtBA3QiDGogAiAMaikDADcDACADIARBCnIiDEEDdCINaiACIA1qKQMANwMAIAMgBEELciINQQN0Ig5qIAIgDmopAwA3AwAgAyAEQQxyIg5BA3QiD2ogAiAPaikDADcDACADIARBDXIiD0EDdCIQaiACIBBqKQMANwMAIAMgBEEOciIQQQN0IhFqIAIgEWopAwA3AwAgAyAEQQ9yIhFBA3QiEmogAiASaikDADcDACADIARB//8DcSAAQf//A3EgAUH//wNxIAVB//8DcSAGQf//A3EgB0H//wNxIAhB//8DcSAJQf//A3EgCkH//wNxIAtB//8DcSAMQf//A3EgDUH//wNxIA5B//8DcSAPQf//A3EgEEH//wNxIBFB//8DcRACIARB8ABJIQAgBEEQaiEEIAANAAtBACEBIANBAEEBQRBBEUEgQSFBMEExQcAAQcEAQdAAQdEAQeAAQeEAQfAAQfEAEAIgA0ECQQNBEkETQSJBI0EyQTNBwgBBwwBB0gBB0wBB4gBB4wBB8gBB8wAQAiADQQRBBUEUQRVBJEElQTRBNUHEAEHFAEHUAEHVAEHkAEHlAEH0AEH1ABACIANBBkEHQRZBF0EmQSdBNkE3QcYAQccAQdYAQdcAQeYAQecAQfYAQfcAEAIgA0EIQQlBGEEZQShBKUE4QTlByABByQBB2ABB2QBB6ABB6QBB+ABB+QAQAiADQQpBC0EaQRtBKkErQTpBO0HKAEHLAEHaAEHbAEHqAEHrAEH6AEH7ABACIANBDEENQRxBHUEsQS1BPEE9QcwAQc0AQdwAQd0AQewAQe0AQfwAQf0AEAIgA0EOQQ9BHkEfQS5BL0E+QT9BzgBBzwBB3gBB3wBB7gBB7wBB/gBB/wAQAgNAIAIgAUEDdCIAaiIEIAAgA2opAwAgBCkDAIU3AwAgAiAAQQhyIgRqIgUgAyAEaikDACAFKQMAhTcDACACIABBEHIiBGoiBSADIARqKQMAIAUpAwCFNwMAIAIgAEEYciIAaiIEIAAgA2opAwAgBCkDAIU3AwAgAUEEaiIBQYABRw0ACwsWACAAIAEgAiADEAMgACACIAIgAxADC3sCAX8BfiACIQkgATUCACEKIAQgBXIEQCABKAIEIANwIQkLIAAgCTYCACAAIAdBAWsgBSAEGyAIbCAGQQFrQQBBfyAGGyACIAlGG2oiASAFQQFqIAhsQQAgBBtqIAGtIAogCn5CIIh+QiCIp0F/c2ogByAIbHA2AgQgAAsEACMACwYAIAAkAAsQACMAIABrQXBxIgAkACAACwUAQYAICw==",e)))});function Gd(){if(Md)return Td;Md=1;var e=[0,1,3,7,15,31,63,127,255],t=function(e){this.stream=e,this.bitOffset=0,this.curByte=0,this.hasByte=!1};return t.prototype._ensureByte=function(){this.hasByte||(this.curByte=this.stream.readByte(),this.hasByte=!0)},t.prototype.read=function(t){for(var r=0;t>0;){this._ensureByte();var n=8-this.bitOffset;if(t>=n)r<<=n,r|=e[n]&this.curByte,this.hasByte=!1,this.bitOffset=0,t-=n;else{r<<=t;var i=n-t;r|=(this.curByte&e[t]<<i)>>i,this.bitOffset+=t,t=0}}return r},t.prototype.seek=function(e){var t=e%8,r=(e-t)/8;this.bitOffset=t,this.stream.seek(r),this.hasByte=!1},t.prototype.pi=function(){var e,t=new Uint8Array(6);for(e=0;e<t.length;e++)t[e]=this.read(8);return function(e){return Array.prototype.map.call(e,(e=>("00"+e.toString(16)).slice(-2))).join("")}(t)},Td=t}var qd=function(){if(Hd)return _d;Hd=1;var e,t=Gd(),r=function(){if(Fd)return Ld;Fd=1;var e=function(){};return e.prototype.readByte=function(){throw Error("abstract method readByte() not implemented")},e.prototype.read=function(e,t,r){for(var n=0;n<r;){var i=this.readByte();if(i<0)return 0===n?-1:n;e[t++]=i,n++}return n},e.prototype.seek=function(e){throw Error("abstract method seek() not implemented")},e.prototype.writeByte=function(e){throw Error("abstract method readByte() not implemented")},e.prototype.write=function(e,t,r){var n;for(n=0;n<r;n++)this.writeByte(e[t++]);return r},e.prototype.flush=function(){},Ld=e}(),n=Nd?Od:(Nd=1,e=new Uint32Array([0,79764919,159529838,222504665,319059676,398814059,445009330,507990021,638119352,583659535,797628118,726387553,890018660,835552979,1015980042,944750013,1276238704,1221641927,1167319070,1095957929,1595256236,1540665371,1452775106,1381403509,1780037320,1859660671,1671105958,1733955601,2031960084,2111593891,1889500026,1952343757,2552477408,2632100695,2443283854,2506133561,2334638140,2414271883,2191915858,2254759653,3190512472,3135915759,3081330742,3009969537,2905550212,2850959411,2762807018,2691435357,3560074640,3505614887,3719321342,3648080713,3342211916,3287746299,3467911202,3396681109,4063920168,4143685023,4223187782,4286162673,3779000052,3858754371,3904687514,3967668269,881225847,809987520,1023691545,969234094,662832811,591600412,771767749,717299826,311336399,374308984,453813921,533576470,25881363,88864420,134795389,214552010,2023205639,2086057648,1897238633,1976864222,1804852699,1867694188,1645340341,1724971778,1587496639,1516133128,1461550545,1406951526,1302016099,1230646740,1142491917,1087903418,2896545431,2825181984,2770861561,2716262478,3215044683,3143675388,3055782693,3001194130,2326604591,2389456536,2200899649,2280525302,2578013683,2640855108,2418763421,2498394922,3769900519,3832873040,3912640137,3992402750,4088425275,4151408268,4197601365,4277358050,3334271071,3263032808,3476998961,3422541446,3585640067,3514407732,3694837229,3640369242,1762451694,1842216281,1619975040,1682949687,2047383090,2127137669,1938468188,2001449195,1325665622,1271206113,1183200824,1111960463,1543535498,1489069629,1434599652,1363369299,622672798,568075817,748617968,677256519,907627842,853037301,1067152940,995781531,51762726,131386257,177728840,240578815,269590778,349224269,429104020,491947555,4046411278,4126034873,4172115296,4234965207,3794477266,3874110821,3953728444,4016571915,3609705398,3555108353,3735388376,3664026991,3290680682,3236090077,3449943556,3378572211,3174993278,3120533705,3032266256,2961025959,2923101090,2868635157,2813903052,2742672763,2604032198,2683796849,2461293480,2524268063,2284983834,2364738477,2175806836,2238787779,1569362073,1498123566,1409854455,1355396672,1317987909,1246755826,1192025387,1137557660,2072149281,2135122070,1912620623,1992383480,1753615357,1816598090,1627664531,1707420964,295390185,358241886,404320391,483945776,43990325,106832002,186451547,266083308,932423249,861060070,1041341759,986742920,613929101,542559546,756411363,701822548,3316196985,3244833742,3425377559,3370778784,3601682597,3530312978,3744426955,3689838204,3819031489,3881883254,3928223919,4007849240,4037393693,4100235434,4180117107,4259748804,2310601993,2373574846,2151335527,2231098320,2596047829,2659030626,2470359227,2550115596,2947551409,2876312838,2788305887,2733848168,3165939309,3094707162,3040238851,2985771188]),Od=function(){var t=4294967295;this.getCRC=function(){return~t>>>0},this.updateCRC=function(r){t=t<<8^e[255&(t>>>24^r)]},this.updateCRCRun=function(r,n){for(;n-- >0;)t=t<<8^e[255&(t>>>24^r)]}}),i=function(e,t){var r,n=e[t];for(r=t;r>0;r--)e[r]=e[r-1];return e[0]=n,n},s={OK:0,LAST_BLOCK:-1,NOT_BZIP_DATA:-2,UNEXPECTED_INPUT_EOF:-3,UNEXPECTED_OUTPUT_EOF:-4,DATA_ERROR:-5,OUT_OF_MEMORY:-6,OBSOLETE_INPUT:-7,END_OF_BLOCK:-8},a={};a[s.LAST_BLOCK]="Bad file checksum",a[s.NOT_BZIP_DATA]="Not bzip data",a[s.UNEXPECTED_INPUT_EOF]="Unexpected input EOF",a[s.UNEXPECTED_OUTPUT_EOF]="Unexpected output EOF",a[s.DATA_ERROR]="Data error",a[s.OUT_OF_MEMORY]="Out of memory",a[s.OBSOLETE_INPUT]="Obsolete (pre 0.9.5) bzip format not supported.";var o=function(e,t){var r=a[e]||"unknown error";t&&(r+=": "+t);var n=new TypeError(r);throw n.errorCode=e,n},c=function(e,t){this.writePos=this.writeCurrent=this.writeCount=0,this._start_bunzip(e,t)};c.prototype._init_block=function(){return this._get_next_block()?(this.blockCRC=new n,!0):(this.writeCount=-1,!1)},c.prototype._start_bunzip=function(e,r){var n=new Uint8Array(4);4===e.read(n,0,4)&&"BZh"===String.fromCharCode(n[0],n[1],n[2])||o(s.NOT_BZIP_DATA,"bad magic");var i=n[3]-48;(i<1||i>9)&&o(s.NOT_BZIP_DATA,"level out of range"),this.reader=new t(e),this.dbufSize=1e5*i,this.nextoutput=0,this.outputStream=r,this.streamCRC=0},c.prototype._get_next_block=function(){var e,t,r,n=this.reader,a=n.pi();if("177245385090"===a)return!1;"314159265359"!==a&&o(s.NOT_BZIP_DATA),this.targetBlockCRC=n.read(32)>>>0,this.streamCRC=(this.targetBlockCRC^(this.streamCRC<<1|this.streamCRC>>>31))>>>0,n.read(1)&&o(s.OBSOLETE_INPUT);var c=n.read(24);c>this.dbufSize&&o(s.DATA_ERROR,"initial position out of bounds");var u=n.read(16),h=new Uint8Array(256),l=0;for(e=0;e<16;e++)if(u&1<<15-e){var f=16*e;for(r=n.read(16),t=0;t<16;t++)r&1<<15-t&&(h[l++]=f+t)}var y=n.read(3);(y<2||y>6)&&o(s.DATA_ERROR);var p=n.read(15);0===p&&o(s.DATA_ERROR);var d=new Uint8Array(256);for(e=0;e<y;e++)d[e]=e;var g=new Uint8Array(p);for(e=0;e<p;e++){for(t=0;n.read(1);t++)t>=y&&o(s.DATA_ERROR);g[e]=i(d,t)}var A,w=l+2,m=[];for(t=0;t<y;t++){var b,k,E=new Uint8Array(w),v=new Uint16Array(21);for(u=n.read(5),e=0;e<w;e++){for(;(u<1||u>20)&&o(s.DATA_ERROR),n.read(1);)n.read(1)?u--:u++;E[e]=u}for(b=k=E[0],e=1;e<w;e++)E[e]>k?k=E[e]:E[e]<b&&(b=E[e]);A={},m.push(A),A.permute=new Uint16Array(258),A.limit=new Uint32Array(22),A.base=new Uint32Array(21),A.minLen=b,A.maxLen=k;var K=0;for(e=b;e<=k;e++)for(v[e]=A.limit[e]=0,u=0;u<w;u++)E[u]===e&&(A.permute[K++]=u);for(e=0;e<w;e++)v[E[e]]++;for(K=u=0,e=b;e<k;e++)K+=v[e],A.limit[e]=K-1,K<<=1,u+=v[e],A.base[e+1]=K-u;A.limit[k+1]=Number.MAX_VALUE,A.limit[k]=K+v[k]-1,A.base[b]=0}var S=new Uint32Array(256);for(e=0;e<256;e++)d[e]=e;var I,B=0,C=0,U=0,P=this.dbuf=new Uint32Array(this.dbufSize);for(w=0;;){for(w--||(w=49,U>=p&&o(s.DATA_ERROR),A=m[g[U++]]),e=A.minLen,t=n.read(e);e>A.maxLen&&o(s.DATA_ERROR),!(t<=A.limit[e]);e++)t=t<<1|n.read(1);((t-=A.base[e])<0||t>=258)&&o(s.DATA_ERROR);var D=A.permute[t];if(0!==D&&1!==D){if(B)for(B=0,C+u>this.dbufSize&&o(s.DATA_ERROR),S[I=h[d[0]]]+=u;u--;)P[C++]=I;if(D>l)break;C>=this.dbufSize&&o(s.DATA_ERROR),S[I=h[I=i(d,e=D-1)]]++,P[C++]=I}else B||(B=1,u=0),u+=0===D?B:2*B,B<<=1}for((c<0||c>=C)&&o(s.DATA_ERROR),t=0,e=0;e<256;e++)r=t+S[e],S[e]=t,t=r;for(e=0;e<C;e++)P[S[I=255&P[e]]]|=e<<8,S[I]++;var x=0,Q=0,R=0;return C&&(Q=255&(x=P[c]),x>>=8,R=-1),this.writePos=x,this.writeCurrent=Q,this.writeCount=C,this.writeRun=R,!0},c.prototype._read_bunzip=function(e,t){var r,n,i;if(this.writeCount<0)return 0;var a=this.dbuf,c=this.writePos,u=this.writeCurrent,h=this.writeCount;this.outputsize;for(var l=this.writeRun;h;){for(h--,n=u,u=255&(c=a[c]),c>>=8,3==l++?(r=u,i=n,u=-1):(r=1,i=u),this.blockCRC.updateCRCRun(i,r);r--;)this.outputStream.writeByte(i),this.nextoutput++;u!=n&&(l=0)}return this.writeCount=h,this.blockCRC.getCRC()!==this.targetBlockCRC&&o(s.DATA_ERROR,"Bad block CRC (got "+this.blockCRC.getCRC().toString(16)+" expected "+this.targetBlockCRC.toString(16)+")"),this.nextoutput};var u=function(e){if("readByte"in e)return e;var t=new r;return t.pos=0,t.readByte=function(){return e[this.pos++]},t.seek=function(e){this.pos=e},t.eof=function(){return this.pos>=e.length},t},h=function(e){var t=new r,n=!0;if(e)if("number"==typeof e)t.buffer=new Uint8Array(e),n=!1;else{if("writeByte"in e)return e;t.buffer=e,n=!1}else t.buffer=new Uint8Array(16384);return t.pos=0,t.writeByte=function(e){if(n&&this.pos>=this.buffer.length){var t=new Uint8Array(2*this.buffer.length);t.set(this.buffer),this.buffer=t}this.buffer[this.pos++]=e},t.getBuffer=function(){if(this.pos!==this.buffer.length){if(!n)throw new TypeError("outputsize does not match decoded input");var e=new Uint8Array(this.pos);e.set(this.buffer.subarray(0,this.pos)),this.buffer=e}return this.buffer},t._coerced=!0,t};return _d={Bunzip:c,Stream:r,Err:s,decode:function(e,t,r){for(var n=u(e),i=h(t),a=new c(n,i);!("eof"in n)||!n.eof();)if(a._init_block())a._read_bunzip();else{var l=a.reader.read(32)>>>0;if(l!==a.streamCRC&&o(s.DATA_ERROR,"Bad stream CRC (got "+a.streamCRC.toString(16)+" expected "+l.toString(16)+")"),!r||!("eof"in n)||n.eof())break;a._start_bunzip(n,i)}if("getBuffer"in i)return i.getBuffer()},decodeBlock:function(e,t,r){var i=u(e),s=h(r),a=new c(i,s);if(a.reader.seek(t),a._get_next_block()&&(a.blockCRC=new n,a.writeCopies=0,a._read_bunzip()),"getBuffer"in s)return s.getBuffer()},table:function(e,t,n){var i=new r;i.delegate=u(e),i.pos=0,i.readByte=function(){return this.pos++,this.delegate.readByte()},i.delegate.eof&&(i.eof=i.delegate.eof.bind(i.delegate));var s=new r;s.pos=0,s.writeByte=function(){this.pos++};for(var a=new c(i,s),o=a.dbufSize;!("eof"in i)||!i.eof();){var h=8*i.pos+a.reader.bitOffset;if(a.reader.hasByte&&(h-=8),a._init_block()){var l=s.pos;a._read_bunzip(),t(h,s.pos-l)}else{if(a.reader.read(32),!n||!("eof"in i)||i.eof())break;a._start_bunzip(i,s),console.assert(a.dbufSize===o,"shouldn't change block size within multistream file")}}}}}(),jd=/*#__PURE__*/t({__proto__:null},[qd]);export{Ka as AEADEncryptedDataPacket,Ji as Argon2OutOfMemoryError,es as Argon2S2K,Po as CleartextMessage,pa as CompressedDataPacket,ha as GrammarError,Hn as KDFParams,$s as LiteralDataPacket,xa as MarkerPacket,Ko as Message,oa as OnePassSignaturePacket,ua as PacketList,Na as PaddingPacket,fo as PrivateKey,lo as PublicKey,Ia as PublicKeyEncryptedSessionKeyPacket,Ua as PublicKeyPacket,Qa as PublicSubkeyPacket,Ta as SecretKeyPacket,Fa as SecretSubkeyPacket,Ha as Signature,ia as SignaturePacket,ao as Subkey,ka as SymEncryptedIntegrityProtectedDataPacket,Ca as SymEncryptedSessionKeyPacket,Da as SymmetricallyEncryptedDataPacket,Oa as TrustPacket,ot as UnparseablePacket,Ra as UserAttributePacket,La as UserIDPacket,W as armor,R as config,xo as createCleartextMessage,Co as createMessage,Oo as decrypt,Mo as decryptKey,Go as decryptSessionKeys,Fo as encrypt,Lo as encryptKey,zo as encryptSessionKey,Q as enums,Qo as generateKey,Ho as generateSessionKey,Do as readCleartextMessage,Ao as readKey,mo as readKeys,Bo as readMessage,wo as readPrivateKey,bo as readPrivateKeys,za as readSignature,Ro as reformatKey,To as revokeKey,No as sign,X as unarmor,_o as verify};
19
16
  //# sourceMappingURL=openpgp.min.mjs.map