@vbyte/btc-dev 1.1.0 → 1.1.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.
- package/dist/lib/meta/locktime.d.ts +1 -1
- package/dist/lib/meta/locktime.js +5 -5
- package/dist/lib/meta/ref.d.ts +1 -1
- package/dist/lib/meta/ref.js +6 -6
- package/dist/lib/meta/scribe.d.ts +5 -3
- package/dist/lib/meta/scribe.js +21 -18
- package/dist/lib/meta/sequence.d.ts +1 -1
- package/dist/lib/meta/sequence.js +5 -5
- package/dist/lib/script/decode.d.ts +2 -1
- package/dist/lib/script/encode.d.ts +1 -1
- package/dist/lib/script/encode.js +3 -3
- package/dist/main.cjs +44 -41
- package/dist/main.cjs.map +1 -1
- package/dist/module.mjs +44 -41
- package/dist/module.mjs.map +1 -1
- package/dist/package.json +1 -1
- package/dist/script.js +6 -6
- package/dist/script.js.map +1 -1
- package/package.json +1 -1
- package/src/lib/meta/locktime.ts +1 -1
- package/src/lib/meta/ref.ts +1 -1
- package/src/lib/meta/scribe.ts +29 -24
- package/src/lib/meta/sequence.ts +1 -1
- package/src/lib/script/decode.ts +2 -2
- package/src/lib/script/encode.ts +4 -5
package/dist/script.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
var btc_dev=function(e){"use strict";var t,n;!function(e){function t(e){return null===e.match(/[^a-fA-F0-9]/)&&e.length%2==0}e.is_hex=t,e.is_bytes=function(e){return!("string"!=typeof e||!t(e))||(e instanceof Uint8Array||!(!Array.isArray(e)||!e.every(e=>"number"==typeof e)))}}(t||(t={})),function(e){e.within_size=function(e,t){if(e.length>t)throw new TypeError(`Data is larger than array size: ${e.length} > ${t}`)},e.is_hex=function(e){if(null!==e.match(/[^a-fA-f0-9]/))throw new TypeError("Invalid characters in hex string: "+e);if(e.length%2!=0)throw new Error(`Length of hex string is invalid: ${e.length}`)},e.is_bytes=function(e){if(!t.is_bytes(e))throw new Error("Bytes contains invalid elements: "+String(e))},e.is_json=function(e){try{JSON.parse(e)}catch{throw new TypeError("JSON string is invalid!")}},e.is_safe_int=function(e){if(e>Number.MAX_SAFE_INTEGER)throw new TypeError("Number exceeds safe bounds!")}}(n||(n={}));const r=BigInt(0),i=BigInt(255),s=BigInt(256);function o(e,t,n="be"){void 0===t&&(t=function(e){if(e<=0xffn)return 1;if(e<=0xffffn)return 2;if(e<=0xffffffffn)return 4;if(e<=0xffffffffffffffffn)return 8;if(e<=0xffffffffffffffffffffffffffffffffn)return 16;if(e<=0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffn)return 32;throw new TypeError("Must specify a fixed buffer size for bigints greater than 32 bytes.")}(e));const o="le"===n,a=new ArrayBuffer(t),u=new DataView(a);let c=o?0:t-1;for(;e>r;){const t=e&i,n=Number(t);o?u.setUint8(c++,n):u.setUint8(c--,n),e=(e-t)/s}return new Uint8Array(a)}function a(e,t){return"bigint"==typeof t?`${t}n`:t}function u(e,t){return"string"==typeof t&&/^[0-9]+n$/.test(t)?BigInt(t.slice(0,-1)):t}function c(e,t,n="be"){void 0===t&&(t=function(e){if(e<=255)return 1;if(e<=65535)return 2;if(e<=4294967295)return 4;throw new TypeError("Numbers larger than 4 bytes must specify a fixed size!")}(e));const r="le"===n,i=new ArrayBuffer(t),s=new DataView(i);let o=r?0:t-1;for(;e>0;){const t=255&e;r?s.setUint8(o++,e):s.setUint8(o--,e),e=(e-t)/256}return new Uint8Array(i)}function d(e,t,r="be"){t=function(e,t){n.is_hex(e);const r=e.length/2;void 0===t&&(t=r);if(r>t)throw new TypeError(`Hex string is larger than array size: ${r} > ${t}`);return t}(e,t);const i="be"===r,s=new ArrayBuffer(t),o=new DataView(s);let a=i?0:t-1;for(let t=0;t<e.length;t+=2){const n=e.substring(t,t+2),r=parseInt(n,16);i?o.setUint8(a++,r):o.setUint8(a--,r)}return new Uint8Array(s)}function f(e,t,r){if(e instanceof ArrayBuffer)return new Uint8Array(e);if(e instanceof Uint8Array)return function(e,t,r="le"){void 0===t&&(t=e.length);n.within_size(e,t);const i=new Uint8Array(t).fill(0),s="be"===r?0:t-e.length;return i.set(e,s),i}(e,t,r);if("string"==typeof e)return n.is_hex(e),d(e,t,r);if("bigint"==typeof e)return o(e,t,r);if("number"==typeof e)return c(e,t,r);throw new TypeError("Input type not supported:"+typeof e)}const l=new TextEncoder,h=new TextDecoder;function p(e){return l.encode(e)}function m(e){return h.decode(e)}class g extends Uint8Array{static{this.num=(e,t,n)=>new g(e,t,n)}static{this.big=(e,t,n)=>new g(e,t,n)}static{this.bin=(e,t,n)=>{const r=function(e){const t=e.split("").map(Number);if(t.length%8!=0)throw new Error(`Binary array is invalid length: ${e.length}`);const n=new Uint8Array(t.length/8);for(let e=0,r=0;e<t.length;e+=8,r++){let i=0;for(let n=0;n<8;n++)i|=t[e+n]<<7-n;n[r]=i}return n}(e);return new g(r,t,n)}}static{this.uint=(e,t,n)=>new g(e,t,n)}static{this.str=(e,t,n)=>{const r=p(e);return new g(r,t,n)}}static{this.hex=(e,t,r)=>(n.is_hex(e),new g(e,t,r))}static{this.bytes=(e,t,r)=>(n.is_bytes(e),new g(e,t,r))}static{this.json=(e,t)=>{t=t??a;const n=p(JSON.stringify(e,t));return new g(n)}}static{this.blob=(e,t,n)=>{const r=function(e,t,n){const r=e.length,i=n/t;if(n%t!==0)throw new TypeError(`Invalid parameters: ${n} % ${t} !== 0`);if(r!==n)throw new TypeError(`Invalid data stream: ${r} !== ${n}`);if(r%t!==0)throw new TypeError(`Invalid data stream: ${r} % ${t} !== 0`);const s=new Array(i);for(let n=0;n<i;n++){const r=n*t;s[n]=e.subarray(r,r+t)}return s}(f(e),t,n);return r.map(e=>new g(e))}}static{this.is_equal=(e,t)=>new g(e).hex===new g(t).hex}static{this.is_bytes=t.is_bytes}static{this.is_hex=t.is_hex}static random(e=32){const t=function(e=32){if(crypto&&"function"==typeof crypto.getRandomValues)return crypto.getRandomValues(new Uint8Array(e));const t=crypto;if(t&&void 0!==t.randomBytes&&"function"==typeof t.randomBytes)return t.randomBytes(e);throw new Error("getRandomValues from crypto library is undefined")}(e);return new g(t,e)}static now(){const e=Math.floor(Date.now()/1e3);return new g(e,4)}constructor(e,t,n){if(e instanceof g&&void 0===t)return e;super(f(e,t,n))}get arr(){return this.to_arr()}get big(){return this.to_big()}get bin(){return this.to_bin()}get hex(){return this.to_hex()}get num(){return this.to_num()}get str(){return this.to_str()}get uint(){return this.to_uint()}to_big(e="be"){return function(e){let t=BigInt(0);for(let n=e.length-1;n>=0;n--)t=t*s+BigInt(e[n]);return BigInt(t)}("be"===e?this.uint.reverse():this.uint)}to_hex(e="be"){return function(e){let t="";for(let n=0;n<e.length;n++)t+=e[n].toString(16).padStart(2,"0");return t}("be"===e?this.uint:this.uint.reverse())}to_json(e){void 0===e&&(e=u);const t=m(this);return JSON.parse(t,e)}to_num(e="be"){return function(e){let t=0;for(let r=e.length-1;r>=0;r--)t=256*t+e[r],n.is_safe_int(t);return t}("be"===e?this.uint.reverse():this.uint)}to_arr(){return[...this]}to_bin(){return function(e){const t=new Array(8*e.length);let n=0;for(const r of e){if(r>255)throw new Error(`Invalid byte value: ${r}. Byte values must be between 0 and 255.`);for(let e=7;e>=0;e--,n++)t[n]=r>>e&1}return t.join("")}(this)}to_str(){return m(this)}to_uint(){return new Uint8Array(this)}append(e){return g.join([this,new g(e)])}equals(e){return new g(e).hex===this.hex}prepend(e){return g.join([new g(e),this])}prefix_varint(e){if(0===this.length)throw new Error("buffer is empty");const t=g.varint(this.length,e);return this.prepend(t)}reverse(){return super.reverse(),this}set(e,t){this.set(e,t)}slice(e,t){const n=new Uint8Array(this).slice(e,t);return new g(n)}subarray(e,t){const n=new Uint8Array(this).subarray(e,t);return new g(n)}toJSON(){return this.hex}toString(){return this.hex}static from(e){return new g(Uint8Array.from(e))}static of(...e){return new g(Uint8Array.of(...e))}static join(e){const t=function(e){let t,n=0;const r=e.reduce((e,t)=>e+t.length,0),i=new Uint8Array(r);for(t=0;t<e.length;t++){const r=e[t];i.set(r,n),n+=r.length}return i}(e.map(e=>new g(e)));return new g(t)}static sort(e,t){const n=e.map(e=>new g(e,t).hex);return n.sort(),n.map(e=>g.hex(e,t))}static varint(e,t){if(e<253)return g.num(e,1);if(e<65536)return g.of(253,...g.num(e,2,t));if(e<4294967296)return g.of(254,...g.num(e,4,t));if(BigInt(e)<0x10000000000000000n)return g.of(255,...g.num(e,8,t));throw new Error(`Value is too large: ${e}`)}}class y{constructor(e){this.data=new g(e),this.size=this.data.length}peek(e){if(e>this.size)throw new Error(`Size greater than stream: ${e} > ${this.size}`);return new g(this.data.slice(0,e))}read(e){const t=this.peek(e);return this.data=this.data.slice(e),this.size=this.data.length,t}varint(e){const t=this.read(1).num;switch(!0){case t>=0&&t<253:return t;case 253===t:return this.read(2).to_num(e);case 254===t:return this.read(4).to_num(e);case 255===t:return this.read(8).to_num(e);default:throw new Error(`Varint is out of range: ${t}`)}}}function _(e){return e instanceof Map||Array.isArray(e)||"object"!=typeof e?e:Object.keys(e).sort().filter(([e,t])=>void 0!==t).reduce((t,n)=>(t[n]=e[n],t),{})}function v(e){return e instanceof Error?e.message:"string"==typeof e?e:String(e)}var w,b;!function(e){function t(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function n(e){return"string"==typeof e}function r(e){return Number.isInteger(e)&&!Number.isNaN(e)}function i(e){return!!n(e)&&(null===e.match(/[^a-fA-F0-9]/)&&e.length%2==0)}e.exists=function(e){return null!=e},e.is_equal=function(e,t){return e===t},e.is_object=t,e.is_deep_equal=function(e,n){return t(e)&&(e=_(e)),t(n)&&(n=_(n)),String(e)===String(n)},e.has_items=function(e){return Array.isArray(e)&&e.length>0},e.is_string=n,e.is_number=r,e.is_bigint=function(e){return"bigint"==typeof e},e.is_uchar=function(e){return r(e)&&e>=0&&e<=255},e.is_ushort=function(e){return r(e)&&e>=0&&e<=65535},e.is_uint=function(e){return r(e)&&e>=0&&e<=4294967295},e.is_u8a=function(e){return e instanceof Uint8Array},e.is_bytes=function(e){return g.is_bytes(e)},e.is_base58=function(e){return"string"==typeof e&&/^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]+$/.test(e)},e.is_base64=function(e){return"string"==typeof e&&/^[a-zA-Z0-9+/]+={0,2}$/.test(e)},e.is_b64url=function(e){return"string"==typeof e&&/^[a-zA-Z0-9\-_]+={0,2}$/.test(e)},e.is_bech32=function(e){return"string"==typeof e&&/^[a-z]+1[023456789acdefghjklmnpqrstuvwxyz]+$/.test(e)},e.is_hex=i,e.is_hash=function(e){return n(e)&&i(e)&&64===e.length}}(w||(w={})),function(e){e.ok=function(e,t){if(!1===e)throw new Error(t??"Assertion failed!")},e.exists=function(e,t){if(!w.exists(e))throw new Error(t??"Value is null or undefined!")},e.is_empty=function(e,t){if(null!=e)throw new Error(t??"value is not null or undefined!")},e.is_instance=function(e,t,n){if(!(e instanceof t))throw new Error(n??`value is not an instance of ${t.name}`)},e.is_equal=function(e,t,n){if(!w.is_equal(e,t))throw new Error(n??`values are not equal: ${String(e)} !== ${String(t)}`)},e.is_object=function(e,t){if(!w.is_object(e))throw new Error(t??`value is not an object: ${String(e)}`)},e.is_deep_equal=function(e,t,n){if(!w.is_deep_equal(e,t))throw new Error(n??`values are not deep equal: ${String(e)} !== ${String(t)}`)},e.is_number=function(e){if(!w.is_number(e))throw new TypeError(`invalid number: ${String(e)}`)},e.is_bigint=function(e){if(!w.is_bigint(e))throw new TypeError(`invalid bigint: ${String(e)}`)},e.is_hex=function(e){if(!w.is_hex(e))throw new TypeError(`invalid hex: ${String(e)}`)},e.is_uchar=function(e){if(!w.is_uchar(e))throw new TypeError(`invalid unsignedchar: ${String(e)}`)},e.is_ushort=function(e){if(!w.is_ushort(e))throw new TypeError(`invalid unsigned short: ${String(e)}`)},e.is_uint=function(e){if(!w.is_uint(e))throw new TypeError(`invalid unsigned int: ${String(e)}`)},e.is_u8a=function(e){if(!w.is_u8a(e))throw new TypeError(`invalid Uint8Array: ${String(e)}`)},e.is_hash=function(e,t){if(!w.is_hash(e))throw new TypeError(t??`invalid hash: ${String(e)}`)},e.is_bytes=function(e,t){if(!w.is_bytes(e))throw new TypeError(t??`invalid bytes: ${String(e)}`)},e.size=function(e,t,n){const r=g.bytes(e);if(r.length!==t)throw new Error(n??`invalid input size: ${r.length} !== ${t}`)},e.has_items=function(e,t){if(!w.has_items(e))throw new Error(t??"array does not contain any items")},e.is_base58=function(e){if(!w.is_base58(e))throw new Error("invalid base58 string")},e.is_base64=function(e){if(!w.is_base64(e))throw new Error("invalid base64 string")},e.is_b64url=function(e){if(!w.is_b64url(e))throw new Error("invalid base64url string")},e.is_bech32=function(e){if(!w.is_bech32(e))throw new Error("invalid bech32 string")}}(b||(b={}));const x="object"==typeof globalThis&&"crypto"in globalThis?globalThis.crypto:void 0;
|
|
2
|
-
/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */function E(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&"Uint8Array"===e.constructor.name}function k(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function O(e,...t){if(!E(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function S(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function A(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function P(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function I(e,t){return e<<32-t|e>>>t}function T(e,t){return e<<t|e>>>32-t>>>0}const N=(()=>"function"==typeof Uint8Array.from([]).toHex&&"function"==typeof Uint8Array.fromHex)(),C=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function $(e){if(O(e),N)return e.toHex();let t="";for(let n=0;n<e.length;n++)t+=C[e[n]];return t}const R=48,B=57,U=65,j=70,Z=97,z=102;function
|
|
2
|
+
/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */function E(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&"Uint8Array"===e.constructor.name}function k(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function O(e,...t){if(!E(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function S(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function A(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function P(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function I(e,t){return e<<32-t|e>>>t}function T(e,t){return e<<t|e>>>32-t>>>0}const N=(()=>"function"==typeof Uint8Array.from([]).toHex&&"function"==typeof Uint8Array.fromHex)(),C=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function $(e){if(O(e),N)return e.toHex();let t="";for(let n=0;n<e.length;n++)t+=C[e[n]];return t}const R=48,B=57,U=65,j=70,Z=97,z=102;function F(e){return e>=R&&e<=B?e-R:e>=U&&e<=j?e-(U-10):e>=Z&&e<=z?e-(Z-10):void 0}function L(e){if("string"!=typeof e)throw new Error("hex string expected, got "+typeof e);if(N)return Uint8Array.fromHex(e);const t=e.length,n=t/2;if(t%2)throw new Error("hex string expected, got unpadded hex of length "+t);const r=new Uint8Array(n);for(let t=0,i=0;t<n;t++,i+=2){const n=F(e.charCodeAt(i)),s=F(e.charCodeAt(i+1));if(void 0===n||void 0===s){const t=e[i]+e[i+1];throw new Error('hex string expected, got non-hex character "'+t+'" at index '+i)}r[t]=16*n+s}return r}function D(e){return"string"==typeof e&&(e=function(e){if("string"!=typeof e)throw new Error("string expected");return new Uint8Array((new TextEncoder).encode(e))}(e)),O(e),e}function H(...e){let t=0;for(let n=0;n<e.length;n++){const r=e[n];O(r),t+=r.length}const n=new Uint8Array(t);for(let t=0,r=0;t<e.length;t++){const i=e[t];n.set(i,r),r+=i.length}return n}class q{}function V(e){const t=t=>e().update(D(t)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function M(e=32){if(x&&"function"==typeof x.getRandomValues)return x.getRandomValues(new Uint8Array(e));if(x&&"function"==typeof x.randomBytes)return Uint8Array.from(x.randomBytes(e));throw new Error("crypto.getRandomValues must be defined")}function K(e,t,n){return e&t^~e&n}function W(e,t,n){return e&t^e&n^t&n}class G extends q{constructor(e,t,n,r){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=e,this.outputLen=t,this.padOffset=n,this.isLE=r,this.buffer=new Uint8Array(e),this.view=P(this.buffer)}update(e){S(this),O(e=D(e));const{view:t,buffer:n,blockLen:r}=this,i=e.length;for(let s=0;s<i;){const o=Math.min(r-this.pos,i-s);if(o===r){const t=P(e);for(;r<=i-s;s+=r)this.process(t,s);continue}n.set(e.subarray(s,s+o),this.pos),this.pos+=o,s+=o,this.pos===r&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){S(this),function(e,t){O(e);const n=t.outputLen;if(e.length<n)throw new Error("digestInto() expects output buffer of length at least "+n)}(e,this),this.finished=!0;const{buffer:t,view:n,blockLen:r,isLE:i}=this;let{pos:s}=this;t[s++]=128,A(this.buffer.subarray(s)),this.padOffset>r-s&&(this.process(n,0),s=0);for(let e=s;e<r;e++)t[e]=0;!function(e,t,n,r){if("function"==typeof e.setBigUint64)return e.setBigUint64(t,n,r);const i=BigInt(32),s=BigInt(4294967295),o=Number(n>>i&s),a=Number(n&s),u=r?4:0,c=r?0:4;e.setUint32(t+u,o,r),e.setUint32(t+c,a,r)}(n,r-8,BigInt(8*this.length),i),this.process(n,0);const o=P(e),a=this.outputLen;if(a%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const u=a/4,c=this.get();if(u>c.length)throw new Error("_sha2: outputLen bigger than state");for(let e=0;e<u;e++)o.setUint32(4*e,c[e],i)}digest(){const{buffer:e,outputLen:t}=this;this.digestInto(e);const n=e.slice(0,t);return this.destroy(),n}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:t,buffer:n,length:r,finished:i,destroyed:s,pos:o}=this;return e.destroyed=s,e.finished=i,e.length=r,e.pos=o,r%t&&e.buffer.set(n),e}clone(){return this._cloneInto()}}const Y=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Q=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]),X=new Uint32Array(64);class J extends G{constructor(e=32){super(64,e,8,!1),this.A=0|Y[0],this.B=0|Y[1],this.C=0|Y[2],this.D=0|Y[3],this.E=0|Y[4],this.F=0|Y[5],this.G=0|Y[6],this.H=0|Y[7]}get(){const{A:e,B:t,C:n,D:r,E:i,F:s,G:o,H:a}=this;return[e,t,n,r,i,s,o,a]}set(e,t,n,r,i,s,o,a){this.A=0|e,this.B=0|t,this.C=0|n,this.D=0|r,this.E=0|i,this.F=0|s,this.G=0|o,this.H=0|a}process(e,t){for(let n=0;n<16;n++,t+=4)X[n]=e.getUint32(t,!1);for(let e=16;e<64;e++){const t=X[e-15],n=X[e-2],r=I(t,7)^I(t,18)^t>>>3,i=I(n,17)^I(n,19)^n>>>10;X[e]=i+X[e-7]+r+X[e-16]|0}let{A:n,B:r,C:i,D:s,E:o,F:a,G:u,H:c}=this;for(let e=0;e<64;e++){const t=c+(I(o,6)^I(o,11)^I(o,25))+K(o,a,u)+Q[e]+X[e]|0,d=(I(n,2)^I(n,13)^I(n,22))+W(n,r,i)|0;c=u,u=a,a=o,o=s+t|0,s=i,i=r,r=n,n=t+d|0}n=n+this.A|0,r=r+this.B|0,i=i+this.C|0,s=s+this.D|0,o=o+this.E|0,a=a+this.F|0,u=u+this.G|0,c=c+this.H|0,this.set(n,r,i,s,o,a,u,c)}roundClean(){A(X)}destroy(){this.set(0,0,0,0,0,0,0,0),A(this.buffer)}}const ee=V(()=>new J);class te extends q{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,function(e){if("function"!=typeof e||"function"!=typeof e.create)throw new Error("Hash should be wrapped by utils.createHasher");k(e.outputLen),k(e.blockLen)}(e);const n=D(t);if(this.iHash=e.create(),"function"!=typeof this.iHash.update)throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const r=this.blockLen,i=new Uint8Array(r);i.set(n.length>r?e.create().update(n).digest():n);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),A(i)}update(e){return S(this),this.iHash.update(e),this}digestInto(e){S(this),O(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:n,finished:r,destroyed:i,blockLen:s,outputLen:o}=this;return e.finished=r,e.destroyed=i,e.blockLen=s,e.outputLen=o,e.oHash=t._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const ne=(e,t,n)=>new te(e,t).update(n).digest();ne.create=(e,t)=>new te(e,t);
|
|
3
3
|
/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
|
|
4
|
-
const re=BigInt(0),ie=BigInt(1);function se(e,t){if("boolean"!=typeof t)throw new Error(e+" boolean expected, got "+t)}function oe(e){const t=e.toString(16);return 1&t.length?"0"+t:t}function ae(e){if("string"!=typeof e)throw new Error("hex string expected, got "+typeof e);return""===e?re:BigInt("0x"+e)}function ue(e){return ae($(e))}function ce(e){return O(e),ae($(Uint8Array.from(e).reverse()))}function de(e,t){return
|
|
4
|
+
const re=BigInt(0),ie=BigInt(1);function se(e,t){if("boolean"!=typeof t)throw new Error(e+" boolean expected, got "+t)}function oe(e){const t=e.toString(16);return 1&t.length?"0"+t:t}function ae(e){if("string"!=typeof e)throw new Error("hex string expected, got "+typeof e);return""===e?re:BigInt("0x"+e)}function ue(e){return ae($(e))}function ce(e){return O(e),ae($(Uint8Array.from(e).reverse()))}function de(e,t){return L(e.toString(16).padStart(2*t,"0"))}function fe(e,t){return de(e,t).reverse()}function le(e,t,n){let r;if("string"==typeof t)try{r=L(t)}catch(t){throw new Error(e+" must be hex string or Uint8Array, cause: "+t)}else{if(!E(t))throw new Error(e+" must be hex string or Uint8Array");r=Uint8Array.from(t)}const i=r.length;if("number"==typeof n&&i!==n)throw new Error(e+" of length "+n+" expected, got "+i);return r}const he=e=>"bigint"==typeof e&&re<=e;function pe(e,t,n){return he(e)&&he(t)&&he(n)&&t<=e&&e<n}function me(e,t,n,r){if(!pe(t,n,r))throw new Error("expected valid "+e+": "+n+" <= n < "+r+", got "+t)}const ge=e=>(ie<<BigInt(e))-ie;function ye(e,t,n={}){if(!e||"object"!=typeof e)throw new Error("expected valid options object");function r(t,n,r){const i=e[t];if(r&&void 0===i)return;const s=typeof i;if(s!==n||null===i)throw new Error(`param "${t}" is invalid: expected ${n}, got ${s}`)}Object.entries(t).forEach(([e,t])=>r(e,t,!1)),Object.entries(n).forEach(([e,t])=>r(e,t,!0))}function _e(e){const t=new WeakMap;return(n,...r)=>{const i=t.get(n);if(void 0!==i)return i;const s=e(n,...r);return t.set(n,s),s}}
|
|
5
5
|
/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const ve=BigInt(0),we=BigInt(1),be=BigInt(2),xe=BigInt(3),Ee=BigInt(4),ke=BigInt(5),Oe=BigInt(8);function Se(e,t){const n=e%t;return n>=ve?n:t+n}function Ae(e,t,n){let r=e;for(;t-- >ve;)r*=r,r%=n;return r}function Pe(e,t){if(e===ve)throw new Error("invert: expected non-zero number");if(t<=ve)throw new Error("invert: expected positive modulus, got "+t);let n=Se(e,t),r=t,i=ve,s=we;for(;n!==ve;){const e=r%n,t=i-s*(r/n);r=n,n=e,i=s,s=t}if(r!==we)throw new Error("invert: does not exist");return Se(i,t)}function Ie(e,t){const n=(e.ORDER+we)/Ee,r=e.pow(t,n);if(!e.eql(e.sqr(r),t))throw new Error("Cannot find square root");return r}function Te(e,t){const n=(e.ORDER-ke)/Oe,r=e.mul(t,be),i=e.pow(r,n),s=e.mul(t,i),o=e.mul(e.mul(s,be),i),a=e.mul(s,e.sub(o,e.ONE));if(!e.eql(e.sqr(a),t))throw new Error("Cannot find square root");return a}function Ne(e){return e%Ee===xe?Ie:e%Oe===ke?Te:function(e){if(e<BigInt(3))throw new Error("sqrt is not defined for small field");let t=e-we,n=0;for(;t%be===ve;)t/=be,n++;let r=be;const i=Be(e);for(;1===Re(i,r);)if(r++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(1===n)return Ie;let s=i.pow(r,t);const o=(t+we)/be;return function(e,r){if(e.is0(r))return r;if(1!==Re(e,r))throw new Error("Cannot find square root");let i=n,a=e.mul(e.ONE,s),u=e.pow(r,t),c=e.pow(r,o);for(;!e.eql(u,e.ONE);){if(e.is0(u))return e.ZERO;let t=1,n=e.sqr(u);for(;!e.eql(n,e.ONE);)if(t++,n=e.sqr(n),t===i)throw new Error("Cannot find square root");const r=we<<BigInt(i-t-1),s=e.pow(a,r);i=t,a=e.sqr(s),u=e.mul(u,a),c=e.mul(c,s)}return c}}(e)}const Ce=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function $e(e,t,n=!1){const r=new Array(t.length).fill(n?e.ZERO:void 0),i=t.reduce((t,n,i)=>e.is0(n)?t:(r[i]=t,e.mul(t,n)),e.ONE),s=e.inv(i);return t.reduceRight((t,n,i)=>e.is0(n)?t:(r[i]=e.mul(t,r[i]),e.mul(t,n)),s),r}function Re(e,t){const n=(e.ORDER-we)/be,r=e.pow(t,n),i=e.eql(r,e.ONE),s=e.eql(r,e.ZERO),o=e.eql(r,e.neg(e.ONE));if(!i&&!s&&!o)throw new Error("invalid Legendre symbol result");return i?1:s?0:-1}function Be(e,t,n=!1,r={}){if(e<=ve)throw new Error("invalid field: expected ORDER > 0, got "+e);let i,s;if("object"==typeof t&&null!=t){if(r.sqrt||n)throw new Error("cannot specify opts in two arguments");const e=t;e.BITS&&(i=e.BITS),e.sqrt&&(s=e.sqrt),"boolean"==typeof e.isLE&&(n=e.isLE)}else"number"==typeof t&&(i=t),r.sqrt&&(s=r.sqrt);const{nBitLength:o,nByteLength:a}=function(e,t){void 0!==t&&k(t);const n=void 0!==t?t:e.toString(2).length;return{nBitLength:n,nByteLength:Math.ceil(n/8)}}(e,i);if(a>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let u;const c=Object.freeze({ORDER:e,isLE:n,BITS:o,BYTES:a,MASK:ge(o),ZERO:ve,ONE:we,create:t=>Se(t,e),isValid:t=>{if("bigint"!=typeof t)throw new Error("invalid field element: expected bigint, got "+typeof t);return ve<=t&&t<e},is0:e=>e===ve,isValidNot0:e=>!c.is0(e)&&c.isValid(e),isOdd:e=>(e&we)===we,neg:t=>Se(-t,e),eql:(e,t)=>e===t,sqr:t=>Se(t*t,e),add:(t,n)=>Se(t+n,e),sub:(t,n)=>Se(t-n,e),mul:(t,n)=>Se(t*n,e),pow:(e,t)=>function(e,t,n){if(n<ve)throw new Error("invalid exponent, negatives unsupported");if(n===ve)return e.ONE;if(n===we)return t;let r=e.ONE,i=t;for(;n>ve;)n&we&&(r=e.mul(r,i)),i=e.sqr(i),n>>=we;return r}(c,e,t),div:(t,n)=>Se(t*Pe(n,e),e),sqrN:e=>e*e,addN:(e,t)=>e+t,subN:(e,t)=>e-t,mulN:(e,t)=>e*t,inv:t=>Pe(t,e),sqrt:s||(t=>(u||(u=Ne(e)),u(c,t))),toBytes:e=>n?fe(e,a):de(e,a),fromBytes:e=>{if(e.length!==a)throw new Error("Field.fromBytes: expected "+a+" bytes, got "+e.length);return n?ce(e):ue(e)},invertBatch:e=>$e(c,e),cmov:(e,t,n)=>n?t:e});return Object.freeze(c)}function Ue(e){if("bigint"!=typeof e)throw new Error("field order must be bigint");const t=e.toString(2).length;return Math.ceil(t/8)}function je(e){const t=Ue(e);return t+Math.ceil(t/2)}
|
|
6
6
|
/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
|
|
7
|
-
const Ze=BigInt(0),ze=BigInt(1);function
|
|
7
|
+
const Ze=BigInt(0),ze=BigInt(1);function Fe(e,t){const n=t.negate();return e?n:t}function Le(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function De(e,t){Le(e,t);const n=2**e;return{windows:Math.ceil(t/e)+1,windowSize:2**(e-1),mask:ge(e),maxNumber:n,shiftBy:BigInt(e)}}function He(e,t,n){const{windowSize:r,mask:i,maxNumber:s,shiftBy:o}=n;let a=Number(e&i),u=e>>o;a>r&&(a-=s,u+=ze);const c=t*r;return{nextN:u,offset:c+Math.abs(a)-1,isZero:0===a,isNeg:a<0,isNegF:t%2!=0,offsetF:c}}const qe=new WeakMap,Ve=new WeakMap;function Me(e){return Ve.get(e)||1}function Ke(e){if(e!==Ze)throw new Error("invalid wNAF")}function We(e,t,n,r){!function(e,t){if(!Array.isArray(e))throw new Error("array expected");e.forEach((e,n)=>{if(!(e instanceof t))throw new Error("invalid point at index "+n)})}(n,e),function(e,t){if(!Array.isArray(e))throw new Error("array of scalars expected");e.forEach((e,n)=>{if(!t.isValid(e))throw new Error("invalid scalar at index "+n)})}(r,t);const i=n.length,s=r.length;if(i!==s)throw new Error("arrays of points and scalars must have equal length");const o=e.ZERO,a=function(e){let t;for(t=0;e>re;e>>=ie,t+=1);return t}(BigInt(i));let u=1;a>12?u=a-3:a>4?u=a-2:a>0&&(u=2);const c=ge(u),d=new Array(Number(c)+1).fill(o);let f=o;for(let e=Math.floor((t.BITS-1)/u)*u;e>=0;e-=u){d.fill(o);for(let t=0;t<s;t++){const i=r[t],s=Number(i>>BigInt(e)&c);d[s]=d[s].add(n[t])}let t=o;for(let e=d.length-1,n=o;e>0;e--)n=n.add(d[e]),t=t.add(n);if(f=f.add(t),0!==e)for(let e=0;e<u;e++)f=f.double()}return f}function Ge(e,t){if(t){if(t.ORDER!==e)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return function(e){ye(e,Ce.reduce((e,t)=>(e[t]="function",e),{ORDER:"bigint",MASK:"bigint",BYTES:"number",BITS:"number"}))}(t),t}return Be(e)}
|
|
8
8
|
/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
|
|
9
|
-
function Ye(e){void 0!==e.lowS&&se("lowS",e.lowS),void 0!==e.prehash&&se("prehash",e.prehash)}class Qe extends Error{constructor(e=""){super(e)}}const Xe={Err:Qe,_tlv:{encode:(e,t)=>{const{Err:n}=Xe;if(e<0||e>256)throw new n("tlv.encode: wrong tag");if(1&t.length)throw new n("tlv.encode: unpadded data");const r=t.length/2,i=oe(r);if(i.length/2&128)throw new n("tlv.encode: long form length too big");const s=r>127?oe(i.length/2|128):"";return oe(e)+s+i+t},decode(e,t){const{Err:n}=Xe;let r=0;if(e<0||e>256)throw new n("tlv.encode: wrong tag");if(t.length<2||t[r++]!==e)throw new n("tlv.decode: wrong tlv");const i=t[r++];let s=0;if(!!(128&i)){const e=127&i;if(!e)throw new n("tlv.decode(long): indefinite length not supported");if(e>4)throw new n("tlv.decode(long): byte length is too big");const o=t.subarray(r,r+e);if(o.length!==e)throw new n("tlv.decode: length bytes not complete");if(0===o[0])throw new n("tlv.decode(long): zero leftmost byte");for(const e of o)s=s<<8|e;if(r+=e,s<128)throw new n("tlv.decode(long): not minimal encoding")}else s=i;const o=t.subarray(r,r+s);if(o.length!==s)throw new n("tlv.decode: wrong value length");return{v:o,l:t.subarray(r+s)}}},_int:{encode(e){const{Err:t}=Xe;if(e<Je)throw new t("integer: negative integers are not allowed");let n=oe(e);if(8&Number.parseInt(n[0],16)&&(n="00"+n),1&n.length)throw new t("unexpected DER parsing assertion: unpadded hex");return n},decode(e){const{Err:t}=Xe;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 ue(e)}},toSig(e){const{Err:t,_int:n,_tlv:r}=Xe,i=le("signature",e),{v:s,l:o}=r.decode(48,i);if(o.length)throw new t("invalid signature: left bytes after parsing");const{v:a,l:u}=r.decode(2,s),{v:c,l:d}=r.decode(2,u);if(d.length)throw new t("invalid signature: left bytes after parsing");return{r:n.decode(a),s:n.decode(c)}},hexFromSig(e){const{_tlv:t,_int:n}=Xe,r=t.encode(2,n.encode(e.r))+t.encode(2,n.encode(e.s));return t.encode(48,r)}},Je=BigInt(0),et=BigInt(1),tt=BigInt(2),nt=BigInt(3),rt=BigInt(4);function it(e,t,n){const{BYTES:r}=e;return function(i){let s;if("bigint"==typeof i)s=i;else{let n=le("private key",i);if(t){if(!t.includes(2*n.length))throw new Error("invalid private key");const e=new Uint8Array(r);e.set(n,e.length-n.length),n=e}try{s=e.fromBytes(n)}catch(e){throw new Error(`invalid private key: expected ui8a of size ${r}, got ${typeof i}`)}}if(n&&(s=e.create(s)),!e.isValidNot0(s))throw new Error("invalid private key: out of range [1..N-1]");return s}}function st(e,t={}){const{Fp:n,Fn:r}=function(e,t,n={}){if(!t||"object"!=typeof t)throw new Error(`expected valid ${e} CURVE object`);for(const e of["p","n","h"]){const n=t[e];if(!("bigint"==typeof n&&n>Ze))throw new Error(`CURVE.${e} must be positive bigint`)}const r=Ge(t.p,n.Fp),i=Ge(t.n,n.Fn),s=["Gx","Gy","a","b"];for(const e of s)if(!r.isValid(t[e]))throw new Error(`CURVE.${e} must be valid field element of CURVE.Fp`);return{Fp:r,Fn:i}}("weierstrass",e,t),{h:i,n:s}=e;ye(t,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object",wrapPrivateKey:"boolean"});const{endo:o}=t;if(o&&(!n.is0(e.a)||"bigint"!=typeof o.beta||"function"!=typeof o.splitScalar))throw new Error('invalid endo: expected "beta": bigint and "splitScalar": function');function a(){if(!n.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}const u=t.toBytes||function(e,t,r){const{x:i,y:s}=t.toAffine(),o=n.toBytes(i);if(se("isCompressed",r),r){a();return H(ot(!n.isOdd(s)),o)}return H(Uint8Array.of(4),o,n.toBytes(s))},c=t.fromBytes||function(e){O(e);const t=n.BYTES,r=t+1,i=2*t+1,s=e.length,o=e[0],u=e.subarray(1);if(s!==r||2!==o&&3!==o){if(s===i&&4===o){const e=n.fromBytes(u.subarray(0*t,1*t)),r=n.fromBytes(u.subarray(1*t,2*t));if(!f(e,r))throw new Error("bad point: is not on curve");return{x:e,y:r}}throw new Error(`bad point: got length ${s}, expected compressed=${r} or uncompressed=${i}`)}{const e=n.fromBytes(u);if(!n.isValid(e))throw new Error("bad point: is not on curve, wrong x");const t=d(e);let r;try{r=n.sqrt(t)}catch(e){const t=e instanceof Error?": "+e.message:"";throw new Error("bad point: is not on curve, sqrt error"+t)}a();return!(1&~o)!==n.isOdd(r)&&(r=n.neg(r)),{x:e,y:r}}},d=function(e,t,n){return function(r){const i=e.sqr(r),s=e.mul(i,r);return e.add(e.add(s,e.mul(r,t)),n)}}(n,e.a,e.b);function f(e,t){const r=n.sqr(t),i=d(e);return n.eql(r,i)}if(!f(e.Gx,e.Gy))throw new Error("bad curve params: generator point");const l=n.mul(n.pow(e.a,nt),rt),h=n.mul(n.sqr(e.b),BigInt(27));if(n.is0(n.add(l,h)))throw new Error("bad curve params: a or b");function p(e,t,r=!1){if(!n.isValid(t)||r&&n.is0(t))throw new Error(`bad point coordinate ${e}`);return t}function m(e){if(!(e instanceof v))throw new Error("ProjectivePoint expected")}const g=_e((e,t)=>{const{px:r,py:i,pz:s}=e;if(n.eql(s,n.ONE))return{x:r,y:i};const o=e.is0();null==t&&(t=o?n.ONE:n.inv(s));const a=n.mul(r,t),u=n.mul(i,t),c=n.mul(s,t);if(o)return{x:n.ZERO,y:n.ZERO};if(!n.eql(c,n.ONE))throw new Error("invZ was invalid");return{x:a,y:u}}),y=_e(e=>{if(e.is0()){if(t.allowInfinityPoint&&!n.is0(e.py))return;throw new Error("bad point: ZERO")}const{x:r,y:i}=e.toAffine();if(!n.isValid(r)||!n.isValid(i))throw new Error("bad point: x or y not field elements");if(!f(r,i))throw new Error("bad point: equation left != right");if(!e.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function _(e,t,r,i,s){return r=new v(n.mul(r.px,e),r.py,r.pz),t=Le(i,t),r=Le(s,r),t.add(r)}class v{constructor(e,t,n){this.px=p("x",e),this.py=p("y",t,!0),this.pz=p("z",n),Object.freeze(this)}static fromAffine(e){const{x:t,y:r}=e||{};if(!e||!n.isValid(t)||!n.isValid(r))throw new Error("invalid affine point");if(e instanceof v)throw new Error("projective point not allowed");return n.is0(t)&&n.is0(r)?v.ZERO:new v(t,r,n.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(e){return function(e,t,n){const r=$e(e.Fp,n.map(e=>e.pz));return n.map((e,t)=>e.toAffine(r[t])).map(e.fromAffine)}(v,0,e)}static fromBytes(e){return O(e),v.fromHex(e)}static fromHex(e){const t=v.fromAffine(c(le("pointHex",e)));return t.assertValidity(),t}static fromPrivateKey(e){const n=it(r,t.allowedPrivateKeyLengths,t.wrapPrivateKey);return v.BASE.multiply(n(e))}static msm(e,t){return We(v,r,e,t)}precompute(e=8,t=!0){return b.setWindowSize(this,e),t||this.multiply(nt),this}_setWindowSize(e){this.precompute(e)}assertValidity(){y(this)}hasEvenY(){const{y:e}=this.toAffine();if(!n.isOdd)throw new Error("Field doesn't support isOdd");return!n.isOdd(e)}equals(e){m(e);const{px:t,py:r,pz:i}=this,{px:s,py:o,pz:a}=e,u=n.eql(n.mul(t,a),n.mul(s,i)),c=n.eql(n.mul(r,a),n.mul(o,i));return u&&c}negate(){return new v(this.px,n.neg(this.py),this.pz)}double(){const{a:t,b:r}=e,i=n.mul(r,nt),{px:s,py:o,pz:a}=this;let u=n.ZERO,c=n.ZERO,d=n.ZERO,f=n.mul(s,s),l=n.mul(o,o),h=n.mul(a,a),p=n.mul(s,o);return p=n.add(p,p),d=n.mul(s,a),d=n.add(d,d),u=n.mul(t,d),c=n.mul(i,h),c=n.add(u,c),u=n.sub(l,c),c=n.add(l,c),c=n.mul(u,c),u=n.mul(p,u),d=n.mul(i,d),h=n.mul(t,h),p=n.sub(f,h),p=n.mul(t,p),p=n.add(p,d),d=n.add(f,f),f=n.add(d,f),f=n.add(f,h),f=n.mul(f,p),c=n.add(c,f),h=n.mul(o,a),h=n.add(h,h),f=n.mul(h,p),u=n.sub(u,f),d=n.mul(h,l),d=n.add(d,d),d=n.add(d,d),new v(u,c,d)}add(t){m(t);const{px:r,py:i,pz:s}=this,{px:o,py:a,pz:u}=t;let c=n.ZERO,d=n.ZERO,f=n.ZERO;const l=e.a,h=n.mul(e.b,nt);let p=n.mul(r,o),g=n.mul(i,a),y=n.mul(s,u),_=n.add(r,i),w=n.add(o,a);_=n.mul(_,w),w=n.add(p,g),_=n.sub(_,w),w=n.add(r,s);let b=n.add(o,u);return w=n.mul(w,b),b=n.add(p,y),w=n.sub(w,b),b=n.add(i,s),c=n.add(a,u),b=n.mul(b,c),c=n.add(g,y),b=n.sub(b,c),f=n.mul(l,w),c=n.mul(h,y),f=n.add(c,f),c=n.sub(g,f),f=n.add(g,f),d=n.mul(c,f),g=n.add(p,p),g=n.add(g,p),y=n.mul(l,y),w=n.mul(h,w),g=n.add(g,y),y=n.sub(p,y),y=n.mul(l,y),w=n.add(w,y),p=n.mul(g,w),d=n.add(d,p),p=n.mul(b,w),c=n.mul(_,c),c=n.sub(c,p),p=n.mul(_,g),f=n.mul(b,f),f=n.add(f,p),new v(c,d,f)}subtract(e){return this.add(e.negate())}is0(){return this.equals(v.ZERO)}multiply(e){const{endo:n}=t;if(!r.isValidNot0(e))throw new Error("invalid scalar: out of range");let i,s;const o=e=>b.wNAFCached(this,e,v.normalizeZ);if(n){const{k1neg:t,k1:r,k2neg:a,k2:u}=n.splitScalar(e),{p:c,f:d}=o(r),{p:f,f:l}=o(u);s=d.add(l),i=_(n.beta,c,f,t,a)}else{const{p:t,f:n}=o(e);i=t,s=n}return v.normalizeZ([i,s])[0]}multiplyUnsafe(e){const{endo:n}=t,i=this;if(!r.isValid(e))throw new Error("invalid scalar: out of range");if(e===Je||i.is0())return v.ZERO;if(e===et)return i;if(b.hasPrecomputes(this))return this.multiply(e);if(n){const{k1neg:t,k1:r,k2neg:s,k2:o}=n.splitScalar(e),{p1:a,p2:u}=function(e,t,n,r){let i=t,s=e.ZERO,o=e.ZERO;for(;n>Ze||r>Ze;)n&ze&&(s=s.add(i)),r&ze&&(o=o.add(i)),i=i.double(),n>>=ze,r>>=ze;return{p1:s,p2:o}}(v,i,r,o);return _(n.beta,a,u,t,s)}return b.wNAFCachedUnsafe(i,e)}multiplyAndAddUnsafe(e,t,n){const r=this.multiplyUnsafe(t).add(e.multiplyUnsafe(n));return r.is0()?void 0:r}toAffine(e){return g(this,e)}isTorsionFree(){const{isTorsionFree:e}=t;return i===et||(e?e(v,this):b.wNAFCachedUnsafe(this,s).is0())}clearCofactor(){const{clearCofactor:e}=t;return i===et?this:e?e(v,this):this.multiplyUnsafe(i)}toBytes(e=!0){return se("isCompressed",e),this.assertValidity(),u(v,this,e)}toRawBytes(e=!0){return this.toBytes(e)}toHex(e=!0){return $(this.toBytes(e))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}v.BASE=new v(e.Gx,e.Gy,n.ONE),v.ZERO=new v(n.ZERO,n.ONE,n.ZERO),v.Fp=n,v.Fn=r;const w=r.BITS,b=function(e,t){return{constTimeNegate:Le,hasPrecomputes:e=>1!==Me(e),unsafeLadder(t,n,r=e.ZERO){let i=t;for(;n>Ze;)n&ze&&(r=r.add(i)),i=i.double(),n>>=ze;return r},precomputeWindow(e,n){const{windows:r,windowSize:i}=De(n,t),s=[];let o=e,a=o;for(let e=0;e<r;e++){a=o,s.push(a);for(let e=1;e<i;e++)a=a.add(o),s.push(a);o=a.double()}return s},wNAF(n,r,i){let s=e.ZERO,o=e.BASE;const a=De(n,t);for(let e=0;e<a.windows;e++){const{nextN:t,offset:n,isZero:u,isNeg:c,isNegF:d,offsetF:f}=He(i,e,a);i=t,u?o=o.add(Le(d,r[f])):s=s.add(Le(c,r[n]))}return Ke(i),{p:s,f:o}},wNAFUnsafe(n,r,i,s=e.ZERO){const o=De(n,t);for(let e=0;e<o.windows&&i!==Ze;e++){const{nextN:t,offset:n,isZero:a,isNeg:u}=He(i,e,o);if(i=t,!a){const e=r[n];s=s.add(u?e.negate():e)}}return Ke(i),s},getPrecomputes(e,t,n){let r=qe.get(t);return r||(r=this.precomputeWindow(t,e),1!==e&&("function"==typeof n&&(r=n(r)),qe.set(t,r))),r},wNAFCached(e,t,n){const r=Me(e);return this.wNAF(r,this.getPrecomputes(r,e,n),t)},wNAFCachedUnsafe(e,t,n,r){const i=Me(e);return 1===i?this.unsafeLadder(e,t,r):this.wNAFUnsafe(i,this.getPrecomputes(i,e,n),t,r)},setWindowSize(e,n){Fe(n,t),Ve.set(e,n),qe.delete(e)}}}(v,t.endo?Math.ceil(w/2):w);return v}function ot(e){return Uint8Array.of(e?2:3)}function at(e,t,n={}){ye(t,{hash:"function"},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"});const r=t.randomBytes||M,i=t.hmac||((e,...n)=>ne(t.hash,e,H(...n))),{Fp:s,Fn:o}=e,{ORDER:a,BITS:u}=o;function c(e){return e>a>>et}function d(e,t){if(!o.isValidNot0(t))throw new Error(`invalid signature ${e}: out of range 1..CURVE.n`)}class f{constructor(e,t,n){d("r",e),d("s",t),this.r=e,this.s=t,null!=n&&(this.recovery=n),Object.freeze(this)}static fromCompact(e){const t=o.BYTES,n=le("compactSignature",e,2*t);return new f(o.fromBytes(n.subarray(0,t)),o.fromBytes(n.subarray(t,2*t)))}static fromDER(e){const{r:t,s:n}=Xe.toSig(le("DER",e));return new f(t,n)}assertValidity(){}addRecoveryBit(e){return new f(this.r,this.s,e)}recoverPublicKey(t){const n=s.ORDER,{r:r,s:i,recovery:u}=this;if(null==u||![0,1,2,3].includes(u))throw new Error("recovery id invalid");if(a*tt<n&&u>1)throw new Error("recovery id is ambiguous for h>1 curve");const c=2===u||3===u?r+a:r;if(!s.isValid(c))throw new Error("recovery id 2 or 3 invalid");const d=s.toBytes(c),f=e.fromHex(H(ot(!(1&u)),d)),l=o.inv(c),h=g(le("msgHash",t)),p=o.create(-h*l),m=o.create(i*l),y=e.BASE.multiplyUnsafe(p).add(f.multiplyUnsafe(m));if(y.is0())throw new Error("point at infinify");return y.assertValidity(),y}hasHighS(){return c(this.s)}normalizeS(){return this.hasHighS()?new f(this.r,o.neg(this.s),this.recovery):this}toBytes(e){if("compact"===e)return H(o.toBytes(this.r),o.toBytes(this.s));if("der"===e)return F(Xe.hexFromSig(this));throw new Error("invalid format")}toDERRawBytes(){return this.toBytes("der")}toDERHex(){return $(this.toBytes("der"))}toCompactRawBytes(){return this.toBytes("compact")}toCompactHex(){return $(this.toBytes("compact"))}}const l=it(o,n.allowedPrivateKeyLengths,n.wrapPrivateKey),h={isValidPrivateKey(e){try{return l(e),!0}catch(e){return!1}},normPrivateKeyToScalar:l,randomPrivateKey:()=>{const e=a;return function(e,t,n=!1){const r=e.length,i=Ue(t),s=je(t);if(r<16||r<s||r>1024)throw new Error("expected "+s+"-1024 bytes of input, got "+r);const o=Se(n?ce(e):ue(e),t-we)+we;return n?fe(o,i):de(o,i)}(r(je(e)),e)},precompute:(t=8,n=e.BASE)=>n.precompute(t,!1)};function p(t){if("bigint"==typeof t)return!1;if(t instanceof e)return!0;const r=le("key",t).length,i=s.BYTES,a=i+1,u=2*i+1;return n.allowedPrivateKeyLengths||o.BYTES===a?void 0:r===a||r===u}const m=t.bits2int||function(e){if(e.length>8192)throw new Error("input is too large");const t=ue(e),n=8*e.length-u;return n>0?t>>BigInt(n):t},g=t.bits2int_modN||function(e){return o.create(m(e))},y=ge(u);function _(e){return me("num < 2^"+u,e,Je,y),o.toBytes(e)}function v(n,i,a=w){if(["recovered","canonical"].some(e=>e in a))throw new Error("sign() legacy options not supported");const{hash:u}=t;let{lowS:d,prehash:h,extraEntropy:p}=a;null==d&&(d=!0),n=le("msgHash",n),Ye(a),h&&(n=le("prehashed msgHash",u(n)));const y=g(n),v=l(i),b=[_(v),_(y)];if(null!=p&&!1!==p){const e=!0===p?r(s.BYTES):p;b.push(le("extraEntropy",e))}const x=H(...b),E=y;return{seed:x,k2sig:function(t){const n=m(t);if(!o.isValidNot0(n))return;const r=o.inv(n),i=e.BASE.multiply(n).toAffine(),s=o.create(i.x);if(s===Je)return;const a=o.create(r*o.create(E+s*v));if(a===Je)return;let u=(i.x===s?0:2)|Number(i.y&et),l=a;return d&&c(a)&&(l=function(e){return c(e)?o.neg(e):e}(a),u^=1),new f(s,l,u)}}}const w={lowS:t.lowS,prehash:!1},b={lowS:t.lowS,prehash:!1};return e.BASE.precompute(8),Object.freeze({getPublicKey:function(t,n=!0){return e.fromPrivateKey(t).toBytes(n)},getSharedSecret:function(t,n,r=!0){if(!0===p(t))throw new Error("first arg must be private key");if(!1===p(n))throw new Error("second arg must be public key");return e.fromHex(n).multiply(l(t)).toBytes(r)},sign:function(e,n,r=w){const{seed:s,k2sig:a}=v(e,n,r);return function(e,t,n){if("number"!=typeof e||e<2)throw new Error("hashLen must be a number");if("number"!=typeof t||t<2)throw new Error("qByteLen must be a number");if("function"!=typeof n)throw new Error("hmacFn must be a function");const r=e=>new Uint8Array(e),i=e=>Uint8Array.of(e);let s=r(e),o=r(e),a=0;const u=()=>{s.fill(1),o.fill(0),a=0},c=(...e)=>n(o,s,...e),d=(e=r(0))=>{o=c(i(0),e),s=c(),0!==e.length&&(o=c(i(1),e),s=c())},f=()=>{if(a++>=1e3)throw new Error("drbg: tried 1000 values");let e=0;const n=[];for(;e<t;){s=c();const t=s.slice();n.push(t),e+=s.length}return H(...n)};return(e,t)=>{let n;for(u(),d(e);!(n=t(f()));)d();return u(),n}}(t.hash.outputLen,o.BYTES,i)(s,a)},verify:function(n,r,i,s=b){const a=n;r=le("msgHash",r),i=le("publicKey",i),Ye(s);const{lowS:u,prehash:c,format:d}=s;if("strict"in s)throw new Error("options.strict was renamed to lowS");if(void 0!==d&&!["compact","der","js"].includes(d))throw new Error('format must be "compact", "der" or "js"');const l="string"==typeof a||E(a),h=!l&&!d&&"object"==typeof a&&null!==a&&"bigint"==typeof a.r&&"bigint"==typeof a.s;if(!l&&!h)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");let p,m;try{if(h){if(void 0!==d&&"js"!==d)throw new Error("invalid format");p=new f(a.r,a.s)}if(l){try{"compact"!==d&&(p=f.fromDER(a))}catch(e){if(!(e instanceof Xe.Err))throw e}p||"der"===d||(p=f.fromCompact(a))}m=e.fromHex(i)}catch(e){return!1}if(!p)return!1;if(u&&p.hasHighS())return!1;c&&(r=t.hash(r));const{r:y,s:_}=p,v=g(r),w=o.inv(_),x=o.create(v*w),k=o.create(y*w),O=e.BASE.multiplyUnsafe(x).add(m.multiplyUnsafe(k));return!O.is0()&&o.create(O.x)===y},utils:h,Point:e,Signature:f})}function ut(e){const{CURVE:t,curveOpts:n}=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};return{CURVE:t,curveOpts:{Fp:e.Fp,Fn:Be(t.n,e.nBitLength),allowedPrivateKeyLengths:e.allowedPrivateKeyLengths,allowInfinityPoint:e.allowInfinityPoint,endo:e.endo,wrapPrivateKey:e.wrapPrivateKey,isTorsionFree:e.isTorsionFree,clearCofactor:e.clearCofactor,fromBytes:e.fromBytes,toBytes:e.toBytes}}}(e);return{CURVE:t,curveOpts:n,ecdsaOpts:{hash:e.hash,hmac:e.hmac,randomBytes:e.randomBytes,lowS:e.lowS,bits2int:e.bits2int,bits2int_modN:e.bits2int_modN}}}function ct(e){const{CURVE:t,curveOpts:n,ecdsaOpts:r}=ut(e);return function(e,t){return Object.assign({},t,{ProjectivePoint:t.Point,CURVE:e})}(e,at(st(t,n),r,n))}
|
|
9
|
+
function Ye(e){void 0!==e.lowS&&se("lowS",e.lowS),void 0!==e.prehash&&se("prehash",e.prehash)}class Qe extends Error{constructor(e=""){super(e)}}const Xe={Err:Qe,_tlv:{encode:(e,t)=>{const{Err:n}=Xe;if(e<0||e>256)throw new n("tlv.encode: wrong tag");if(1&t.length)throw new n("tlv.encode: unpadded data");const r=t.length/2,i=oe(r);if(i.length/2&128)throw new n("tlv.encode: long form length too big");const s=r>127?oe(i.length/2|128):"";return oe(e)+s+i+t},decode(e,t){const{Err:n}=Xe;let r=0;if(e<0||e>256)throw new n("tlv.encode: wrong tag");if(t.length<2||t[r++]!==e)throw new n("tlv.decode: wrong tlv");const i=t[r++];let s=0;if(!!(128&i)){const e=127&i;if(!e)throw new n("tlv.decode(long): indefinite length not supported");if(e>4)throw new n("tlv.decode(long): byte length is too big");const o=t.subarray(r,r+e);if(o.length!==e)throw new n("tlv.decode: length bytes not complete");if(0===o[0])throw new n("tlv.decode(long): zero leftmost byte");for(const e of o)s=s<<8|e;if(r+=e,s<128)throw new n("tlv.decode(long): not minimal encoding")}else s=i;const o=t.subarray(r,r+s);if(o.length!==s)throw new n("tlv.decode: wrong value length");return{v:o,l:t.subarray(r+s)}}},_int:{encode(e){const{Err:t}=Xe;if(e<Je)throw new t("integer: negative integers are not allowed");let n=oe(e);if(8&Number.parseInt(n[0],16)&&(n="00"+n),1&n.length)throw new t("unexpected DER parsing assertion: unpadded hex");return n},decode(e){const{Err:t}=Xe;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 ue(e)}},toSig(e){const{Err:t,_int:n,_tlv:r}=Xe,i=le("signature",e),{v:s,l:o}=r.decode(48,i);if(o.length)throw new t("invalid signature: left bytes after parsing");const{v:a,l:u}=r.decode(2,s),{v:c,l:d}=r.decode(2,u);if(d.length)throw new t("invalid signature: left bytes after parsing");return{r:n.decode(a),s:n.decode(c)}},hexFromSig(e){const{_tlv:t,_int:n}=Xe,r=t.encode(2,n.encode(e.r))+t.encode(2,n.encode(e.s));return t.encode(48,r)}},Je=BigInt(0),et=BigInt(1),tt=BigInt(2),nt=BigInt(3),rt=BigInt(4);function it(e,t,n){const{BYTES:r}=e;return function(i){let s;if("bigint"==typeof i)s=i;else{let n=le("private key",i);if(t){if(!t.includes(2*n.length))throw new Error("invalid private key");const e=new Uint8Array(r);e.set(n,e.length-n.length),n=e}try{s=e.fromBytes(n)}catch(e){throw new Error(`invalid private key: expected ui8a of size ${r}, got ${typeof i}`)}}if(n&&(s=e.create(s)),!e.isValidNot0(s))throw new Error("invalid private key: out of range [1..N-1]");return s}}function st(e,t={}){const{Fp:n,Fn:r}=function(e,t,n={}){if(!t||"object"!=typeof t)throw new Error(`expected valid ${e} CURVE object`);for(const e of["p","n","h"]){const n=t[e];if(!("bigint"==typeof n&&n>Ze))throw new Error(`CURVE.${e} must be positive bigint`)}const r=Ge(t.p,n.Fp),i=Ge(t.n,n.Fn),s=["Gx","Gy","a","b"];for(const e of s)if(!r.isValid(t[e]))throw new Error(`CURVE.${e} must be valid field element of CURVE.Fp`);return{Fp:r,Fn:i}}("weierstrass",e,t),{h:i,n:s}=e;ye(t,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object",wrapPrivateKey:"boolean"});const{endo:o}=t;if(o&&(!n.is0(e.a)||"bigint"!=typeof o.beta||"function"!=typeof o.splitScalar))throw new Error('invalid endo: expected "beta": bigint and "splitScalar": function');function a(){if(!n.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}const u=t.toBytes||function(e,t,r){const{x:i,y:s}=t.toAffine(),o=n.toBytes(i);if(se("isCompressed",r),r){a();return H(ot(!n.isOdd(s)),o)}return H(Uint8Array.of(4),o,n.toBytes(s))},c=t.fromBytes||function(e){O(e);const t=n.BYTES,r=t+1,i=2*t+1,s=e.length,o=e[0],u=e.subarray(1);if(s!==r||2!==o&&3!==o){if(s===i&&4===o){const e=n.fromBytes(u.subarray(0*t,1*t)),r=n.fromBytes(u.subarray(1*t,2*t));if(!f(e,r))throw new Error("bad point: is not on curve");return{x:e,y:r}}throw new Error(`bad point: got length ${s}, expected compressed=${r} or uncompressed=${i}`)}{const e=n.fromBytes(u);if(!n.isValid(e))throw new Error("bad point: is not on curve, wrong x");const t=d(e);let r;try{r=n.sqrt(t)}catch(e){const t=e instanceof Error?": "+e.message:"";throw new Error("bad point: is not on curve, sqrt error"+t)}a();return!(1&~o)!==n.isOdd(r)&&(r=n.neg(r)),{x:e,y:r}}},d=function(e,t,n){return function(r){const i=e.sqr(r),s=e.mul(i,r);return e.add(e.add(s,e.mul(r,t)),n)}}(n,e.a,e.b);function f(e,t){const r=n.sqr(t),i=d(e);return n.eql(r,i)}if(!f(e.Gx,e.Gy))throw new Error("bad curve params: generator point");const l=n.mul(n.pow(e.a,nt),rt),h=n.mul(n.sqr(e.b),BigInt(27));if(n.is0(n.add(l,h)))throw new Error("bad curve params: a or b");function p(e,t,r=!1){if(!n.isValid(t)||r&&n.is0(t))throw new Error(`bad point coordinate ${e}`);return t}function m(e){if(!(e instanceof v))throw new Error("ProjectivePoint expected")}const g=_e((e,t)=>{const{px:r,py:i,pz:s}=e;if(n.eql(s,n.ONE))return{x:r,y:i};const o=e.is0();null==t&&(t=o?n.ONE:n.inv(s));const a=n.mul(r,t),u=n.mul(i,t),c=n.mul(s,t);if(o)return{x:n.ZERO,y:n.ZERO};if(!n.eql(c,n.ONE))throw new Error("invZ was invalid");return{x:a,y:u}}),y=_e(e=>{if(e.is0()){if(t.allowInfinityPoint&&!n.is0(e.py))return;throw new Error("bad point: ZERO")}const{x:r,y:i}=e.toAffine();if(!n.isValid(r)||!n.isValid(i))throw new Error("bad point: x or y not field elements");if(!f(r,i))throw new Error("bad point: equation left != right");if(!e.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function _(e,t,r,i,s){return r=new v(n.mul(r.px,e),r.py,r.pz),t=Fe(i,t),r=Fe(s,r),t.add(r)}class v{constructor(e,t,n){this.px=p("x",e),this.py=p("y",t,!0),this.pz=p("z",n),Object.freeze(this)}static fromAffine(e){const{x:t,y:r}=e||{};if(!e||!n.isValid(t)||!n.isValid(r))throw new Error("invalid affine point");if(e instanceof v)throw new Error("projective point not allowed");return n.is0(t)&&n.is0(r)?v.ZERO:new v(t,r,n.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(e){return function(e,t,n){const r=$e(e.Fp,n.map(e=>e.pz));return n.map((e,t)=>e.toAffine(r[t])).map(e.fromAffine)}(v,0,e)}static fromBytes(e){return O(e),v.fromHex(e)}static fromHex(e){const t=v.fromAffine(c(le("pointHex",e)));return t.assertValidity(),t}static fromPrivateKey(e){const n=it(r,t.allowedPrivateKeyLengths,t.wrapPrivateKey);return v.BASE.multiply(n(e))}static msm(e,t){return We(v,r,e,t)}precompute(e=8,t=!0){return b.setWindowSize(this,e),t||this.multiply(nt),this}_setWindowSize(e){this.precompute(e)}assertValidity(){y(this)}hasEvenY(){const{y:e}=this.toAffine();if(!n.isOdd)throw new Error("Field doesn't support isOdd");return!n.isOdd(e)}equals(e){m(e);const{px:t,py:r,pz:i}=this,{px:s,py:o,pz:a}=e,u=n.eql(n.mul(t,a),n.mul(s,i)),c=n.eql(n.mul(r,a),n.mul(o,i));return u&&c}negate(){return new v(this.px,n.neg(this.py),this.pz)}double(){const{a:t,b:r}=e,i=n.mul(r,nt),{px:s,py:o,pz:a}=this;let u=n.ZERO,c=n.ZERO,d=n.ZERO,f=n.mul(s,s),l=n.mul(o,o),h=n.mul(a,a),p=n.mul(s,o);return p=n.add(p,p),d=n.mul(s,a),d=n.add(d,d),u=n.mul(t,d),c=n.mul(i,h),c=n.add(u,c),u=n.sub(l,c),c=n.add(l,c),c=n.mul(u,c),u=n.mul(p,u),d=n.mul(i,d),h=n.mul(t,h),p=n.sub(f,h),p=n.mul(t,p),p=n.add(p,d),d=n.add(f,f),f=n.add(d,f),f=n.add(f,h),f=n.mul(f,p),c=n.add(c,f),h=n.mul(o,a),h=n.add(h,h),f=n.mul(h,p),u=n.sub(u,f),d=n.mul(h,l),d=n.add(d,d),d=n.add(d,d),new v(u,c,d)}add(t){m(t);const{px:r,py:i,pz:s}=this,{px:o,py:a,pz:u}=t;let c=n.ZERO,d=n.ZERO,f=n.ZERO;const l=e.a,h=n.mul(e.b,nt);let p=n.mul(r,o),g=n.mul(i,a),y=n.mul(s,u),_=n.add(r,i),w=n.add(o,a);_=n.mul(_,w),w=n.add(p,g),_=n.sub(_,w),w=n.add(r,s);let b=n.add(o,u);return w=n.mul(w,b),b=n.add(p,y),w=n.sub(w,b),b=n.add(i,s),c=n.add(a,u),b=n.mul(b,c),c=n.add(g,y),b=n.sub(b,c),f=n.mul(l,w),c=n.mul(h,y),f=n.add(c,f),c=n.sub(g,f),f=n.add(g,f),d=n.mul(c,f),g=n.add(p,p),g=n.add(g,p),y=n.mul(l,y),w=n.mul(h,w),g=n.add(g,y),y=n.sub(p,y),y=n.mul(l,y),w=n.add(w,y),p=n.mul(g,w),d=n.add(d,p),p=n.mul(b,w),c=n.mul(_,c),c=n.sub(c,p),p=n.mul(_,g),f=n.mul(b,f),f=n.add(f,p),new v(c,d,f)}subtract(e){return this.add(e.negate())}is0(){return this.equals(v.ZERO)}multiply(e){const{endo:n}=t;if(!r.isValidNot0(e))throw new Error("invalid scalar: out of range");let i,s;const o=e=>b.wNAFCached(this,e,v.normalizeZ);if(n){const{k1neg:t,k1:r,k2neg:a,k2:u}=n.splitScalar(e),{p:c,f:d}=o(r),{p:f,f:l}=o(u);s=d.add(l),i=_(n.beta,c,f,t,a)}else{const{p:t,f:n}=o(e);i=t,s=n}return v.normalizeZ([i,s])[0]}multiplyUnsafe(e){const{endo:n}=t,i=this;if(!r.isValid(e))throw new Error("invalid scalar: out of range");if(e===Je||i.is0())return v.ZERO;if(e===et)return i;if(b.hasPrecomputes(this))return this.multiply(e);if(n){const{k1neg:t,k1:r,k2neg:s,k2:o}=n.splitScalar(e),{p1:a,p2:u}=function(e,t,n,r){let i=t,s=e.ZERO,o=e.ZERO;for(;n>Ze||r>Ze;)n&ze&&(s=s.add(i)),r&ze&&(o=o.add(i)),i=i.double(),n>>=ze,r>>=ze;return{p1:s,p2:o}}(v,i,r,o);return _(n.beta,a,u,t,s)}return b.wNAFCachedUnsafe(i,e)}multiplyAndAddUnsafe(e,t,n){const r=this.multiplyUnsafe(t).add(e.multiplyUnsafe(n));return r.is0()?void 0:r}toAffine(e){return g(this,e)}isTorsionFree(){const{isTorsionFree:e}=t;return i===et||(e?e(v,this):b.wNAFCachedUnsafe(this,s).is0())}clearCofactor(){const{clearCofactor:e}=t;return i===et?this:e?e(v,this):this.multiplyUnsafe(i)}toBytes(e=!0){return se("isCompressed",e),this.assertValidity(),u(v,this,e)}toRawBytes(e=!0){return this.toBytes(e)}toHex(e=!0){return $(this.toBytes(e))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}v.BASE=new v(e.Gx,e.Gy,n.ONE),v.ZERO=new v(n.ZERO,n.ONE,n.ZERO),v.Fp=n,v.Fn=r;const w=r.BITS,b=function(e,t){return{constTimeNegate:Fe,hasPrecomputes:e=>1!==Me(e),unsafeLadder(t,n,r=e.ZERO){let i=t;for(;n>Ze;)n&ze&&(r=r.add(i)),i=i.double(),n>>=ze;return r},precomputeWindow(e,n){const{windows:r,windowSize:i}=De(n,t),s=[];let o=e,a=o;for(let e=0;e<r;e++){a=o,s.push(a);for(let e=1;e<i;e++)a=a.add(o),s.push(a);o=a.double()}return s},wNAF(n,r,i){let s=e.ZERO,o=e.BASE;const a=De(n,t);for(let e=0;e<a.windows;e++){const{nextN:t,offset:n,isZero:u,isNeg:c,isNegF:d,offsetF:f}=He(i,e,a);i=t,u?o=o.add(Fe(d,r[f])):s=s.add(Fe(c,r[n]))}return Ke(i),{p:s,f:o}},wNAFUnsafe(n,r,i,s=e.ZERO){const o=De(n,t);for(let e=0;e<o.windows&&i!==Ze;e++){const{nextN:t,offset:n,isZero:a,isNeg:u}=He(i,e,o);if(i=t,!a){const e=r[n];s=s.add(u?e.negate():e)}}return Ke(i),s},getPrecomputes(e,t,n){let r=qe.get(t);return r||(r=this.precomputeWindow(t,e),1!==e&&("function"==typeof n&&(r=n(r)),qe.set(t,r))),r},wNAFCached(e,t,n){const r=Me(e);return this.wNAF(r,this.getPrecomputes(r,e,n),t)},wNAFCachedUnsafe(e,t,n,r){const i=Me(e);return 1===i?this.unsafeLadder(e,t,r):this.wNAFUnsafe(i,this.getPrecomputes(i,e,n),t,r)},setWindowSize(e,n){Le(n,t),Ve.set(e,n),qe.delete(e)}}}(v,t.endo?Math.ceil(w/2):w);return v}function ot(e){return Uint8Array.of(e?2:3)}function at(e,t,n={}){ye(t,{hash:"function"},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"});const r=t.randomBytes||M,i=t.hmac||((e,...n)=>ne(t.hash,e,H(...n))),{Fp:s,Fn:o}=e,{ORDER:a,BITS:u}=o;function c(e){return e>a>>et}function d(e,t){if(!o.isValidNot0(t))throw new Error(`invalid signature ${e}: out of range 1..CURVE.n`)}class f{constructor(e,t,n){d("r",e),d("s",t),this.r=e,this.s=t,null!=n&&(this.recovery=n),Object.freeze(this)}static fromCompact(e){const t=o.BYTES,n=le("compactSignature",e,2*t);return new f(o.fromBytes(n.subarray(0,t)),o.fromBytes(n.subarray(t,2*t)))}static fromDER(e){const{r:t,s:n}=Xe.toSig(le("DER",e));return new f(t,n)}assertValidity(){}addRecoveryBit(e){return new f(this.r,this.s,e)}recoverPublicKey(t){const n=s.ORDER,{r:r,s:i,recovery:u}=this;if(null==u||![0,1,2,3].includes(u))throw new Error("recovery id invalid");if(a*tt<n&&u>1)throw new Error("recovery id is ambiguous for h>1 curve");const c=2===u||3===u?r+a:r;if(!s.isValid(c))throw new Error("recovery id 2 or 3 invalid");const d=s.toBytes(c),f=e.fromHex(H(ot(!(1&u)),d)),l=o.inv(c),h=g(le("msgHash",t)),p=o.create(-h*l),m=o.create(i*l),y=e.BASE.multiplyUnsafe(p).add(f.multiplyUnsafe(m));if(y.is0())throw new Error("point at infinify");return y.assertValidity(),y}hasHighS(){return c(this.s)}normalizeS(){return this.hasHighS()?new f(this.r,o.neg(this.s),this.recovery):this}toBytes(e){if("compact"===e)return H(o.toBytes(this.r),o.toBytes(this.s));if("der"===e)return L(Xe.hexFromSig(this));throw new Error("invalid format")}toDERRawBytes(){return this.toBytes("der")}toDERHex(){return $(this.toBytes("der"))}toCompactRawBytes(){return this.toBytes("compact")}toCompactHex(){return $(this.toBytes("compact"))}}const l=it(o,n.allowedPrivateKeyLengths,n.wrapPrivateKey),h={isValidPrivateKey(e){try{return l(e),!0}catch(e){return!1}},normPrivateKeyToScalar:l,randomPrivateKey:()=>{const e=a;return function(e,t,n=!1){const r=e.length,i=Ue(t),s=je(t);if(r<16||r<s||r>1024)throw new Error("expected "+s+"-1024 bytes of input, got "+r);const o=Se(n?ce(e):ue(e),t-we)+we;return n?fe(o,i):de(o,i)}(r(je(e)),e)},precompute:(t=8,n=e.BASE)=>n.precompute(t,!1)};function p(t){if("bigint"==typeof t)return!1;if(t instanceof e)return!0;const r=le("key",t).length,i=s.BYTES,a=i+1,u=2*i+1;return n.allowedPrivateKeyLengths||o.BYTES===a?void 0:r===a||r===u}const m=t.bits2int||function(e){if(e.length>8192)throw new Error("input is too large");const t=ue(e),n=8*e.length-u;return n>0?t>>BigInt(n):t},g=t.bits2int_modN||function(e){return o.create(m(e))},y=ge(u);function _(e){return me("num < 2^"+u,e,Je,y),o.toBytes(e)}function v(n,i,a=w){if(["recovered","canonical"].some(e=>e in a))throw new Error("sign() legacy options not supported");const{hash:u}=t;let{lowS:d,prehash:h,extraEntropy:p}=a;null==d&&(d=!0),n=le("msgHash",n),Ye(a),h&&(n=le("prehashed msgHash",u(n)));const y=g(n),v=l(i),b=[_(v),_(y)];if(null!=p&&!1!==p){const e=!0===p?r(s.BYTES):p;b.push(le("extraEntropy",e))}const x=H(...b),E=y;return{seed:x,k2sig:function(t){const n=m(t);if(!o.isValidNot0(n))return;const r=o.inv(n),i=e.BASE.multiply(n).toAffine(),s=o.create(i.x);if(s===Je)return;const a=o.create(r*o.create(E+s*v));if(a===Je)return;let u=(i.x===s?0:2)|Number(i.y&et),l=a;return d&&c(a)&&(l=function(e){return c(e)?o.neg(e):e}(a),u^=1),new f(s,l,u)}}}const w={lowS:t.lowS,prehash:!1},b={lowS:t.lowS,prehash:!1};return e.BASE.precompute(8),Object.freeze({getPublicKey:function(t,n=!0){return e.fromPrivateKey(t).toBytes(n)},getSharedSecret:function(t,n,r=!0){if(!0===p(t))throw new Error("first arg must be private key");if(!1===p(n))throw new Error("second arg must be public key");return e.fromHex(n).multiply(l(t)).toBytes(r)},sign:function(e,n,r=w){const{seed:s,k2sig:a}=v(e,n,r);return function(e,t,n){if("number"!=typeof e||e<2)throw new Error("hashLen must be a number");if("number"!=typeof t||t<2)throw new Error("qByteLen must be a number");if("function"!=typeof n)throw new Error("hmacFn must be a function");const r=e=>new Uint8Array(e),i=e=>Uint8Array.of(e);let s=r(e),o=r(e),a=0;const u=()=>{s.fill(1),o.fill(0),a=0},c=(...e)=>n(o,s,...e),d=(e=r(0))=>{o=c(i(0),e),s=c(),0!==e.length&&(o=c(i(1),e),s=c())},f=()=>{if(a++>=1e3)throw new Error("drbg: tried 1000 values");let e=0;const n=[];for(;e<t;){s=c();const t=s.slice();n.push(t),e+=s.length}return H(...n)};return(e,t)=>{let n;for(u(),d(e);!(n=t(f()));)d();return u(),n}}(t.hash.outputLen,o.BYTES,i)(s,a)},verify:function(n,r,i,s=b){const a=n;r=le("msgHash",r),i=le("publicKey",i),Ye(s);const{lowS:u,prehash:c,format:d}=s;if("strict"in s)throw new Error("options.strict was renamed to lowS");if(void 0!==d&&!["compact","der","js"].includes(d))throw new Error('format must be "compact", "der" or "js"');const l="string"==typeof a||E(a),h=!l&&!d&&"object"==typeof a&&null!==a&&"bigint"==typeof a.r&&"bigint"==typeof a.s;if(!l&&!h)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");let p,m;try{if(h){if(void 0!==d&&"js"!==d)throw new Error("invalid format");p=new f(a.r,a.s)}if(l){try{"compact"!==d&&(p=f.fromDER(a))}catch(e){if(!(e instanceof Xe.Err))throw e}p||"der"===d||(p=f.fromCompact(a))}m=e.fromHex(i)}catch(e){return!1}if(!p)return!1;if(u&&p.hasHighS())return!1;c&&(r=t.hash(r));const{r:y,s:_}=p,v=g(r),w=o.inv(_),x=o.create(v*w),k=o.create(y*w),O=e.BASE.multiplyUnsafe(x).add(m.multiplyUnsafe(k));return!O.is0()&&o.create(O.x)===y},utils:h,Point:e,Signature:f})}function ut(e){const{CURVE:t,curveOpts:n}=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};return{CURVE:t,curveOpts:{Fp:e.Fp,Fn:Be(t.n,e.nBitLength),allowedPrivateKeyLengths:e.allowedPrivateKeyLengths,allowInfinityPoint:e.allowInfinityPoint,endo:e.endo,wrapPrivateKey:e.wrapPrivateKey,isTorsionFree:e.isTorsionFree,clearCofactor:e.clearCofactor,fromBytes:e.fromBytes,toBytes:e.toBytes}}}(e);return{CURVE:t,curveOpts:n,ecdsaOpts:{hash:e.hash,hmac:e.hmac,randomBytes:e.randomBytes,lowS:e.lowS,bits2int:e.bits2int,bits2int_modN:e.bits2int_modN}}}function ct(e){const{CURVE:t,curveOpts:n,ecdsaOpts:r}=ut(e);return function(e,t){return Object.assign({},t,{ProjectivePoint:t.Point,CURVE:e})}(e,at(st(t,n),r,n))}
|
|
10
10
|
/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
|
|
11
11
|
/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
|
|
12
|
-
const dt={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:BigInt(1),a:BigInt(0),b:BigInt(7),Gx:BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Gy:BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")},ft=BigInt(0),lt=BigInt(1),ht=BigInt(2),pt=(e,t)=>(e+t/ht)/t;function mt(e){const t=dt.p,n=BigInt(3),r=BigInt(6),i=BigInt(11),s=BigInt(22),o=BigInt(23),a=BigInt(44),u=BigInt(88),c=e*e*e%t,d=c*c*e%t,f=Ae(d,n,t)*d%t,l=Ae(f,n,t)*d%t,h=Ae(l,ht,t)*c%t,p=Ae(h,i,t)*h%t,m=Ae(p,s,t)*p%t,g=Ae(m,a,t)*m%t,y=Ae(g,u,t)*g%t,_=Ae(y,a,t)*m%t,v=Ae(_,n,t)*d%t,w=Ae(v,o,t)*p%t,b=Ae(w,r,t)*c%t,x=Ae(b,ht,t);if(!gt.eql(gt.sqr(x),e))throw new Error("Cannot find square root");return x}const gt=Be(dt.p,void 0,void 0,{sqrt:mt}),yt=function(e,t){const n=t=>ct({...e,hash:t});return{...n(t),create:n}}({...dt,Fp:gt,lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:e=>{const t=dt.n,n=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),r=-lt*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),s=n,o=BigInt("0x100000000000000000000000000000000"),a=pt(s*e,t),u=pt(-r*e,t);let c=Se(e-a*n-u*i,t),d=Se(-a*r-u*s,t);const f=c>o,l=d>o;if(f&&(c=t-c),l&&(d=t-d),c>o||d>o)throw new Error("splitScalar: Endomorphism failed, k="+e);return{k1neg:f,k1:c,k2neg:l,k2:d}}}},ee),_t={};function vt(e,...t){let n=_t[e];if(void 0===n){const t=ee(Uint8Array.from(e,e=>e.charCodeAt(0)));n=H(t,t),_t[e]=n}return ee(H(n,...t))}const wt=e=>e.toBytes(!0).slice(1),bt=e=>de(e,32),xt=e=>Se(e,dt.p),Et=e=>Se(e,dt.n),kt=(()=>yt.Point)(),Ot=e=>e%ht===ft;function St(e){let t=yt.utils.normPrivateKeyToScalar(e),n=kt.fromPrivateKey(t);return{scalar:Ot(n.y)?t:Et(-t),bytes:wt(n)}}function At(e){me("x",e,lt,dt.p);const t=xt(e*e);let n=mt(xt(t*e+BigInt(7)));Ot(n)||(n=xt(-n));const r=kt.fromAffine({x:e,y:n});return r.assertValidity(),r}const Pt=ue;function It(...e){return Et(Pt(vt("BIP0340/challenge",...e)))}function Tt(e){return St(e).bytes}function Nt(e,t,n=M(32)){const r=le("message",e),{bytes:i,scalar:s}=St(t),o=le("auxRand",n,32),a=bt(s^Pt(vt("BIP0340/aux",o))),u=vt("BIP0340/nonce",a,i,r),c=Et(Pt(u));if(c===ft)throw new Error("sign failed: k is zero");const{bytes:d,scalar:f}=St(c),l=It(d,i,r),h=new Uint8Array(64);if(h.set(d,0),h.set(bt(Et(f+l*s)),32),!Ct(h,r,i))throw new Error("sign: Invalid signature produced");return h}function Ct(e,t,n){const r=le("signature",e,64),i=le("message",t),s=le("publicKey",n,32);try{const e=At(Pt(s)),t=Pt(r.subarray(0,32));if(!pe(t,lt,dt.p))return!1;const n=Pt(r.subarray(32,64));if(!pe(n,lt,dt.n))return!1;const o=It(bt(t),wt(e),i),a=kt.BASE.multiplyUnsafe(n).add(e.multiplyUnsafe(Et(-o))),{x:u,y:c}=a.toAffine();return!(a.is0()||!Ot(c)||u!==t)}catch(e){return!1}}const $t=(()=>({getPublicKey:Tt,sign:Nt,verify:Ct,utils:{randomPrivateKey:yt.utils.randomPrivateKey,lift_x:At,pointToBytes:wt,numberToBytesBE:de,bytesToNumberBE:ue,taggedHash:vt,mod:Se}}))();BigInt(0),BigInt(2);Be(yt.CURVE.n,32,!0);const Rt=yt.Point.BASE;function Bt(e,t,n,r=!1){const i=jt(t).big,s=function(e){try{const t=Ut(e,"ecdsa");return yt.Point.fromHex(t)}catch(t){throw new Error("invalid pubkey: "+e)}}(e),o=Rt.multiply(i);let a=s.add(o);r&&!a.hasEvenY()&&(a=a.negate());return Ut(a.toHex(!0),n)}function Ut(e,t){try{const n=jt(e);if(33===n.length&&"bip340"===t)return n.slice(1);if(32===n.length&&"ecdsa"===t){const e=g.num(2,1);return g.join([e,n])}return n}catch(t){throw new Error("invalid pubkey: "+String(e))}}function jt(e){try{return g.bytes(e)}catch(t){throw new Error("invalid bytes: "+String(e))}}const Zt=Uint8Array.from([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]),zt=(()=>Uint8Array.from(new Array(16).fill(0).map((e,t)=>t)))(),Lt=(()=>zt.map(e=>(9*e+5)%16))(),Ft=(()=>{const e=[[zt],[Lt]];for(let t=0;t<4;t++)for(let n of e)n.push(n[t].map(e=>Zt[e]));return e})(),Dt=(()=>Ft[0])(),Ht=(()=>Ft[1])(),qt=[[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)),Vt=Dt.map((e,t)=>e.map(e=>qt[t][e])),Mt=Ht.map((e,t)=>e.map(e=>qt[t][e])),Kt=Uint32Array.from([0,1518500249,1859775393,2400959708,2840853838]),Wt=Uint32Array.from([1352829926,1548603684,1836072691,2053994217,0]);function Gt(e,t,n,r){return 0===e?t^n^r:1===e?t&n|~t&r:2===e?(t|~n)^r:3===e?t&r|n&~r:t^(n|~r)}const Yt=new Uint32Array(16);class Qt extends G{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:n,h3:r,h4:i}=this;return[e,t,n,r,i]}set(e,t,n,r,i){this.h0=0|e,this.h1=0|t,this.h2=0|n,this.h3=0|r,this.h4=0|i}process(e,t){for(let n=0;n<16;n++,t+=4)Yt[n]=e.getUint32(t,!0);let n=0|this.h0,r=n,i=0|this.h1,s=i,o=0|this.h2,a=o,u=0|this.h3,c=u,d=0|this.h4,f=d;for(let e=0;e<5;e++){const t=4-e,l=Kt[e],h=Wt[e],p=Dt[e],m=Ht[e],g=Vt[e],y=Mt[e];for(let t=0;t<16;t++){const r=T(n+Gt(e,i,o,u)+Yt[p[t]]+l,g[t])+d|0;n=d,d=u,u=0|T(o,10),o=i,i=r}for(let e=0;e<16;e++){const n=T(r+Gt(t,s,a,c)+Yt[m[e]]+h,y[e])+f|0;r=f,f=c,c=0|T(a,10),a=s,s=n}}this.set(this.h1+o+c|0,this.h2+u+f|0,this.h3+d+r|0,this.h4+n+s|0,this.h0+i+a|0)}roundClean(){A(Yt)}destroy(){this.destroyed=!0,A(this.buffer),this.set(0,0,0,0,0)}}const Xt=V(()=>new Qt);function Jt(...e){const t=g.join(e),n=Xt(ee(t));return new g(n)}function en(...e){const t=g.join(e),n=ee(t);return new g(n)}function tn(...e){const t=g.join(e),n=ee(ee(t));return new g(n)}function nn(e,...t){const n=function(e){const t=en(g.str(e));return g.join([t,t])}(e),r=t.map(e=>new g(e));return en(g.join([n,...r]))}var rn,sn;!function(e){e.assertEqual=e=>{},e.assertIs=function(e){},e.assertNever=function(e){throw new Error},e.arrayToEnum=e=>{const t={};for(const n of e)t[n]=n;return t},e.getValidEnumValues=t=>{const n=e.objectKeys(t).filter(e=>"number"!=typeof t[t[e]]),r={};for(const e of n)r[e]=t[e];return e.objectValues(r)},e.objectValues=t=>e.objectKeys(t).map(function(e){return t[e]}),e.objectKeys="function"==typeof Object.keys?e=>Object.keys(e):e=>{const t=[];for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.push(n);return t},e.find=(e,t)=>{for(const n of e)if(t(n))return n},e.isInteger="function"==typeof Number.isInteger?e=>Number.isInteger(e):e=>"number"==typeof e&&Number.isFinite(e)&&Math.floor(e)===e,e.joinValues=function(e,t=" | "){return e.map(e=>"string"==typeof e?`'${e}'`:e).join(t)},e.jsonStringifyReplacer=(e,t)=>"bigint"==typeof t?t.toString():t}(rn||(rn={})),function(e){e.mergeShapes=(e,t)=>({...e,...t})}(sn||(sn={}));const on=rn.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),an=e=>{switch(typeof e){case"undefined":return on.undefined;case"string":return on.string;case"number":return Number.isNaN(e)?on.nan:on.number;case"boolean":return on.boolean;case"function":return on.function;case"bigint":return on.bigint;case"symbol":return on.symbol;case"object":return Array.isArray(e)?on.array:null===e?on.null:e.then&&"function"==typeof e.then&&e.catch&&"function"==typeof e.catch?on.promise:"undefined"!=typeof Map&&e instanceof Map?on.map:"undefined"!=typeof Set&&e instanceof Set?on.set:"undefined"!=typeof Date&&e instanceof Date?on.date:on.object;default:return on.unknown}},un=rn.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);class cn extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=e=>{this.issues=[...this.issues,e]},this.addIssues=(e=[])=>{this.issues=[...this.issues,...e]};const t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name="ZodError",this.issues=e}format(e){const t=e||function(e){return e.message},n={_errors:[]},r=e=>{for(const i of e.issues)if("invalid_union"===i.code)i.unionErrors.map(r);else if("invalid_return_type"===i.code)r(i.returnTypeError);else if("invalid_arguments"===i.code)r(i.argumentsError);else if(0===i.path.length)n._errors.push(t(i));else{let e=n,r=0;for(;r<i.path.length;){const n=i.path[r];r===i.path.length-1?(e[n]=e[n]||{_errors:[]},e[n]._errors.push(t(i))):e[n]=e[n]||{_errors:[]},e=e[n],r++}}};return r(this),n}static assert(e){if(!(e instanceof cn))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,rn.jsonStringifyReplacer,2)}get isEmpty(){return 0===this.issues.length}flatten(e=e=>e.message){const t={},n=[];for(const r of this.issues)if(r.path.length>0){const n=r.path[0];t[n]=t[n]||[],t[n].push(e(r))}else n.push(e(r));return{formErrors:n,fieldErrors:t}}get formErrors(){return this.flatten()}}cn.create=e=>new cn(e);const dn=(e,t)=>{let n;switch(e.code){case un.invalid_type:n=e.received===on.undefined?"Required":`Expected ${e.expected}, received ${e.received}`;break;case un.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,rn.jsonStringifyReplacer)}`;break;case un.unrecognized_keys:n=`Unrecognized key(s) in object: ${rn.joinValues(e.keys,", ")}`;break;case un.invalid_union:n="Invalid input";break;case un.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${rn.joinValues(e.options)}`;break;case un.invalid_enum_value:n=`Invalid enum value. Expected ${rn.joinValues(e.options)}, received '${e.received}'`;break;case un.invalid_arguments:n="Invalid function arguments";break;case un.invalid_return_type:n="Invalid function return type";break;case un.invalid_date:n="Invalid date";break;case un.invalid_string:"object"==typeof e.validation?"includes"in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,"number"==typeof e.validation.position&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:rn.assertNever(e.validation):n="regex"!==e.validation?`Invalid ${e.validation}`:"Invalid";break;case un.too_small:n="array"===e.type?`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:"string"===e.type?`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:"number"===e.type||"bigint"===e.type?`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:"date"===e.type?`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:"Invalid input";break;case un.too_big:n="array"===e.type?`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:"string"===e.type?`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:"number"===e.type?`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:"bigint"===e.type?`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:"date"===e.type?`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:"Invalid input";break;case un.custom:n="Invalid input";break;case un.invalid_intersection_types:n="Intersection results could not be merged";break;case un.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case un.not_finite:n="Number must be finite";break;default:n=t.defaultError,rn.assertNever(e)}return{message:n}};let fn=dn;function ln(e,t){const n=fn,r=(e=>{const{data:t,path:n,errorMaps:r,issueData:i}=e,s=[...n,...i.path||[]],o={...i,path:s};if(void 0!==i.message)return{...i,path:s,message:i.message};let a="";const u=r.filter(e=>!!e).slice().reverse();for(const e of u)a=e(o,{data:t,defaultError:a}).message;return{...i,path:s,message:a}})({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===dn?void 0:dn].filter(e=>!!e)});e.common.issues.push(r)}class hn{constructor(){this.value="valid"}dirty(){"valid"===this.value&&(this.value="dirty")}abort(){"aborted"!==this.value&&(this.value="aborted")}static mergeArray(e,t){const n=[];for(const r of t){if("aborted"===r.status)return pn;"dirty"===r.status&&e.dirty(),n.push(r.value)}return{status:e.value,value:n}}static async mergeObjectAsync(e,t){const n=[];for(const e of t){const t=await e.key,r=await e.value;n.push({key:t,value:r})}return hn.mergeObjectSync(e,n)}static mergeObjectSync(e,t){const n={};for(const r of t){const{key:t,value:i}=r;if("aborted"===t.status)return pn;if("aborted"===i.status)return pn;"dirty"===t.status&&e.dirty(),"dirty"===i.status&&e.dirty(),"__proto__"===t.value||void 0===i.value&&!r.alwaysSet||(n[t.value]=i.value)}return{status:e.value,value:n}}}const pn=Object.freeze({status:"aborted"}),mn=e=>({status:"dirty",value:e}),gn=e=>({status:"valid",value:e}),yn=e=>"aborted"===e.status,_n=e=>"dirty"===e.status,vn=e=>"valid"===e.status,wn=e=>"undefined"!=typeof Promise&&e instanceof Promise;var bn;!function(e){e.errToObj=e=>"string"==typeof e?{message:e}:e||{},e.toString=e=>"string"==typeof e?e:e?.message}(bn||(bn={}));class xn{constructor(e,t,n,r){this._cachedPath=[],this.parent=e,this.data=t,this._path=n,this._key=r}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const En=(e,t)=>{if(vn(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const t=new cn(e.common.issues);return this._error=t,this._error}}};function kn(e){if(!e)return{};const{errorMap:t,invalid_type_error:n,required_error:r,description:i}=e;if(t&&(n||r))throw new Error('Can\'t use "invalid_type_error" or "required_error" in conjunction with custom error map.');if(t)return{errorMap:t,description:i};return{errorMap:(t,i)=>{const{message:s}=e;return"invalid_enum_value"===t.code?{message:s??i.defaultError}:void 0===i.data?{message:s??r??i.defaultError}:"invalid_type"!==t.code?{message:i.defaultError}:{message:s??n??i.defaultError}},description:i}}class On{get description(){return this._def.description}_getType(e){return an(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:an(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new hn,ctx:{common:e.parent.common,data:e.data,parsedType:an(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){const t=this._parse(e);if(wn(t))throw new Error("Synchronous parse encountered promise.");return t}_parseAsync(e){const t=this._parse(e);return Promise.resolve(t)}parse(e,t){const n=this.safeParse(e,t);if(n.success)return n.data;throw n.error}safeParse(e,t){const n={common:{issues:[],async:t?.async??!1,contextualErrorMap:t?.errorMap},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:an(e)},r=this._parseSync({data:e,path:n.path,parent:n});return En(n,r)}"~validate"(e){const t={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:an(e)};if(!this["~standard"].async)try{const n=this._parseSync({data:e,path:[],parent:t});return vn(n)?{value:n.value}:{issues:t.common.issues}}catch(e){e?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),t.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:t}).then(e=>vn(e)?{value:e.value}:{issues:t.common.issues})}async parseAsync(e,t){const n=await this.safeParseAsync(e,t);if(n.success)return n.data;throw n.error}async safeParseAsync(e,t){const n={common:{issues:[],contextualErrorMap:t?.errorMap,async:!0},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:an(e)},r=this._parse({data:e,path:n.path,parent:n}),i=await(wn(r)?r:Promise.resolve(r));return En(n,i)}refine(e,t){const n=e=>"string"==typeof t||void 0===t?{message:t}:"function"==typeof t?t(e):t;return this._refinement((t,r)=>{const i=e(t),s=()=>r.addIssue({code:un.custom,...n(t)});return"undefined"!=typeof Promise&&i instanceof Promise?i.then(e=>!!e||(s(),!1)):!!i||(s(),!1)})}refinement(e,t){return this._refinement((n,r)=>!!e(n)||(r.addIssue("function"==typeof t?t(n,r):t),!1))}_refinement(e){return new kr({schema:this,typeName:Rr.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:e=>this["~validate"](e)}}optional(){return Or.create(this,this._def)}nullable(){return Sr.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return ur.create(this)}promise(){return Er.create(this,this._def)}or(e){return fr.create([this,e],this._def)}and(e){return hr.create(this,e,this._def)}transform(e){return new kr({...kn(this._def),schema:this,typeName:Rr.ZodEffects,effect:{type:"transform",transform:e}})}default(e){const t="function"==typeof e?e:()=>e;return new Ar({...kn(this._def),innerType:this,defaultValue:t,typeName:Rr.ZodDefault})}brand(){return new Tr({typeName:Rr.ZodBranded,type:this,...kn(this._def)})}catch(e){const t="function"==typeof e?e:()=>e;return new Pr({...kn(this._def),innerType:this,catchValue:t,typeName:Rr.ZodCatch})}describe(e){return new(0,this.constructor)({...this._def,description:e})}pipe(e){return Nr.create(this,e)}readonly(){return Cr.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const Sn=/^c[^\s-]{8,}$/i,An=/^[0-9a-z]+$/,Pn=/^[0-9A-HJKMNP-TV-Z]{26}$/i,In=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,Tn=/^[a-z0-9_-]{21}$/i,Nn=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Cn=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,$n=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i;let Rn;const Bn=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Un=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,jn=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,Zn=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,zn=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Ln=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Fn="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",Dn=new RegExp(`^${Fn}$`);function Hn(e){let t="[0-5]\\d";e.precision?t=`${t}\\.\\d{${e.precision}}`:null==e.precision&&(t=`${t}(\\.\\d+)?`);return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${e.precision?"+":"?"}`}function qn(e){return new RegExp(`^${Hn(e)}$`)}function Vn(e){let t=`${Fn}T${Hn(e)}`;const n=[];return n.push(e.local?"Z?":"Z"),e.offset&&n.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${n.join("|")})`,new RegExp(`^${t}$`)}function Mn(e,t){return!("v4"!==t&&t||!Bn.test(e))||!("v6"!==t&&t||!jn.test(e))}function Kn(e,t){if(!Nn.test(e))return!1;try{const[n]=e.split(".");if(!n)return!1;const r=n.replace(/-/g,"+").replace(/_/g,"/").padEnd(n.length+(4-n.length%4)%4,"="),i=JSON.parse(atob(r));return"object"==typeof i&&null!==i&&((!("typ"in i)||"JWT"===i?.typ)&&(!!i.alg&&(!t||i.alg===t)))}catch{return!1}}function Wn(e,t){return!("v4"!==t&&t||!Un.test(e))||!("v6"!==t&&t||!Zn.test(e))}class Gn extends On{_parse(e){this._def.coerce&&(e.data=String(e.data));if(this._getType(e)!==on.string){const t=this._getOrReturnCtx(e);return ln(t,{code:un.invalid_type,expected:on.string,received:t.parsedType}),pn}const t=new hn;let n;for(const r of this._def.checks)if("min"===r.kind)e.data.length<r.value&&(n=this._getOrReturnCtx(e,n),ln(n,{code:un.too_small,minimum:r.value,type:"string",inclusive:!0,exact:!1,message:r.message}),t.dirty());else if("max"===r.kind)e.data.length>r.value&&(n=this._getOrReturnCtx(e,n),ln(n,{code:un.too_big,maximum:r.value,type:"string",inclusive:!0,exact:!1,message:r.message}),t.dirty());else if("length"===r.kind){const i=e.data.length>r.value,s=e.data.length<r.value;(i||s)&&(n=this._getOrReturnCtx(e,n),i?ln(n,{code:un.too_big,maximum:r.value,type:"string",inclusive:!0,exact:!0,message:r.message}):s&&ln(n,{code:un.too_small,minimum:r.value,type:"string",inclusive:!0,exact:!0,message:r.message}),t.dirty())}else if("email"===r.kind)$n.test(e.data)||(n=this._getOrReturnCtx(e,n),ln(n,{validation:"email",code:un.invalid_string,message:r.message}),t.dirty());else if("emoji"===r.kind)Rn||(Rn=new RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),Rn.test(e.data)||(n=this._getOrReturnCtx(e,n),ln(n,{validation:"emoji",code:un.invalid_string,message:r.message}),t.dirty());else if("uuid"===r.kind)In.test(e.data)||(n=this._getOrReturnCtx(e,n),ln(n,{validation:"uuid",code:un.invalid_string,message:r.message}),t.dirty());else if("nanoid"===r.kind)Tn.test(e.data)||(n=this._getOrReturnCtx(e,n),ln(n,{validation:"nanoid",code:un.invalid_string,message:r.message}),t.dirty());else if("cuid"===r.kind)Sn.test(e.data)||(n=this._getOrReturnCtx(e,n),ln(n,{validation:"cuid",code:un.invalid_string,message:r.message}),t.dirty());else if("cuid2"===r.kind)An.test(e.data)||(n=this._getOrReturnCtx(e,n),ln(n,{validation:"cuid2",code:un.invalid_string,message:r.message}),t.dirty());else if("ulid"===r.kind)Pn.test(e.data)||(n=this._getOrReturnCtx(e,n),ln(n,{validation:"ulid",code:un.invalid_string,message:r.message}),t.dirty());else if("url"===r.kind)try{new URL(e.data)}catch{n=this._getOrReturnCtx(e,n),ln(n,{validation:"url",code:un.invalid_string,message:r.message}),t.dirty()}else if("regex"===r.kind){r.regex.lastIndex=0;r.regex.test(e.data)||(n=this._getOrReturnCtx(e,n),ln(n,{validation:"regex",code:un.invalid_string,message:r.message}),t.dirty())}else if("trim"===r.kind)e.data=e.data.trim();else if("includes"===r.kind)e.data.includes(r.value,r.position)||(n=this._getOrReturnCtx(e,n),ln(n,{code:un.invalid_string,validation:{includes:r.value,position:r.position},message:r.message}),t.dirty());else if("toLowerCase"===r.kind)e.data=e.data.toLowerCase();else if("toUpperCase"===r.kind)e.data=e.data.toUpperCase();else if("startsWith"===r.kind)e.data.startsWith(r.value)||(n=this._getOrReturnCtx(e,n),ln(n,{code:un.invalid_string,validation:{startsWith:r.value},message:r.message}),t.dirty());else if("endsWith"===r.kind)e.data.endsWith(r.value)||(n=this._getOrReturnCtx(e,n),ln(n,{code:un.invalid_string,validation:{endsWith:r.value},message:r.message}),t.dirty());else if("datetime"===r.kind){Vn(r).test(e.data)||(n=this._getOrReturnCtx(e,n),ln(n,{code:un.invalid_string,validation:"datetime",message:r.message}),t.dirty())}else if("date"===r.kind){Dn.test(e.data)||(n=this._getOrReturnCtx(e,n),ln(n,{code:un.invalid_string,validation:"date",message:r.message}),t.dirty())}else if("time"===r.kind){qn(r).test(e.data)||(n=this._getOrReturnCtx(e,n),ln(n,{code:un.invalid_string,validation:"time",message:r.message}),t.dirty())}else"duration"===r.kind?Cn.test(e.data)||(n=this._getOrReturnCtx(e,n),ln(n,{validation:"duration",code:un.invalid_string,message:r.message}),t.dirty()):"ip"===r.kind?Mn(e.data,r.version)||(n=this._getOrReturnCtx(e,n),ln(n,{validation:"ip",code:un.invalid_string,message:r.message}),t.dirty()):"jwt"===r.kind?Kn(e.data,r.alg)||(n=this._getOrReturnCtx(e,n),ln(n,{validation:"jwt",code:un.invalid_string,message:r.message}),t.dirty()):"cidr"===r.kind?Wn(e.data,r.version)||(n=this._getOrReturnCtx(e,n),ln(n,{validation:"cidr",code:un.invalid_string,message:r.message}),t.dirty()):"base64"===r.kind?zn.test(e.data)||(n=this._getOrReturnCtx(e,n),ln(n,{validation:"base64",code:un.invalid_string,message:r.message}),t.dirty()):"base64url"===r.kind?Ln.test(e.data)||(n=this._getOrReturnCtx(e,n),ln(n,{validation:"base64url",code:un.invalid_string,message:r.message}),t.dirty()):rn.assertNever(r);return{status:t.value,value:e.data}}_regex(e,t,n){return this.refinement(t=>e.test(t),{validation:t,code:un.invalid_string,...bn.errToObj(n)})}_addCheck(e){return new Gn({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...bn.errToObj(e)})}url(e){return this._addCheck({kind:"url",...bn.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...bn.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...bn.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...bn.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...bn.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...bn.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...bn.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...bn.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...bn.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...bn.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...bn.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...bn.errToObj(e)})}datetime(e){return"string"==typeof e?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:void 0===e?.precision?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...bn.errToObj(e?.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return"string"==typeof e?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:void 0===e?.precision?null:e?.precision,...bn.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...bn.errToObj(e)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...bn.errToObj(t)})}includes(e,t){return this._addCheck({kind:"includes",value:e,position:t?.position,...bn.errToObj(t?.message)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...bn.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...bn.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...bn.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...bn.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...bn.errToObj(t)})}nonempty(e){return this.min(1,bn.errToObj(e))}trim(){return new Gn({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new Gn({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new Gn({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>"datetime"===e.kind)}get isDate(){return!!this._def.checks.find(e=>"date"===e.kind)}get isTime(){return!!this._def.checks.find(e=>"time"===e.kind)}get isDuration(){return!!this._def.checks.find(e=>"duration"===e.kind)}get isEmail(){return!!this._def.checks.find(e=>"email"===e.kind)}get isURL(){return!!this._def.checks.find(e=>"url"===e.kind)}get isEmoji(){return!!this._def.checks.find(e=>"emoji"===e.kind)}get isUUID(){return!!this._def.checks.find(e=>"uuid"===e.kind)}get isNANOID(){return!!this._def.checks.find(e=>"nanoid"===e.kind)}get isCUID(){return!!this._def.checks.find(e=>"cuid"===e.kind)}get isCUID2(){return!!this._def.checks.find(e=>"cuid2"===e.kind)}get isULID(){return!!this._def.checks.find(e=>"ulid"===e.kind)}get isIP(){return!!this._def.checks.find(e=>"ip"===e.kind)}get isCIDR(){return!!this._def.checks.find(e=>"cidr"===e.kind)}get isBase64(){return!!this._def.checks.find(e=>"base64"===e.kind)}get isBase64url(){return!!this._def.checks.find(e=>"base64url"===e.kind)}get minLength(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.value<e)&&(e=t.value);return e}}function Yn(e,t){const n=(e.toString().split(".")[1]||"").length,r=(t.toString().split(".")[1]||"").length,i=n>r?n:r;return Number.parseInt(e.toFixed(i).replace(".",""))%Number.parseInt(t.toFixed(i).replace(".",""))/10**i}Gn.create=e=>new Gn({checks:[],typeName:Rr.ZodString,coerce:e?.coerce??!1,...kn(e)});class Qn extends On{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){this._def.coerce&&(e.data=Number(e.data));if(this._getType(e)!==on.number){const t=this._getOrReturnCtx(e);return ln(t,{code:un.invalid_type,expected:on.number,received:t.parsedType}),pn}let t;const n=new hn;for(const r of this._def.checks)if("int"===r.kind)rn.isInteger(e.data)||(t=this._getOrReturnCtx(e,t),ln(t,{code:un.invalid_type,expected:"integer",received:"float",message:r.message}),n.dirty());else if("min"===r.kind){(r.inclusive?e.data<r.value:e.data<=r.value)&&(t=this._getOrReturnCtx(e,t),ln(t,{code:un.too_small,minimum:r.value,type:"number",inclusive:r.inclusive,exact:!1,message:r.message}),n.dirty())}else if("max"===r.kind){(r.inclusive?e.data>r.value:e.data>=r.value)&&(t=this._getOrReturnCtx(e,t),ln(t,{code:un.too_big,maximum:r.value,type:"number",inclusive:r.inclusive,exact:!1,message:r.message}),n.dirty())}else"multipleOf"===r.kind?0!==Yn(e.data,r.value)&&(t=this._getOrReturnCtx(e,t),ln(t,{code:un.not_multiple_of,multipleOf:r.value,message:r.message}),n.dirty()):"finite"===r.kind?Number.isFinite(e.data)||(t=this._getOrReturnCtx(e,t),ln(t,{code:un.not_finite,message:r.message}),n.dirty()):rn.assertNever(r);return{status:n.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,bn.toString(t))}gt(e,t){return this.setLimit("min",e,!1,bn.toString(t))}lte(e,t){return this.setLimit("max",e,!0,bn.toString(t))}lt(e,t){return this.setLimit("max",e,!1,bn.toString(t))}setLimit(e,t,n,r){return new Qn({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:n,message:bn.toString(r)}]})}_addCheck(e){return new Qn({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:bn.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:bn.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:bn.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:bn.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:bn.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:bn.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:bn.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:bn.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:bn.toString(e)})}get minValue(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.value<e)&&(e=t.value);return e}get isInt(){return!!this._def.checks.find(e=>"int"===e.kind||"multipleOf"===e.kind&&rn.isInteger(e.value))}get isFinite(){let e=null,t=null;for(const n of this._def.checks){if("finite"===n.kind||"int"===n.kind||"multipleOf"===n.kind)return!0;"min"===n.kind?(null===t||n.value>t)&&(t=n.value):"max"===n.kind&&(null===e||n.value<e)&&(e=n.value)}return Number.isFinite(t)&&Number.isFinite(e)}}Qn.create=e=>new Qn({checks:[],typeName:Rr.ZodNumber,coerce:e?.coerce||!1,...kn(e)});class Xn extends On{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==on.bigint)return this._getInvalidInput(e);let t;const n=new hn;for(const r of this._def.checks)if("min"===r.kind){(r.inclusive?e.data<r.value:e.data<=r.value)&&(t=this._getOrReturnCtx(e,t),ln(t,{code:un.too_small,type:"bigint",minimum:r.value,inclusive:r.inclusive,message:r.message}),n.dirty())}else if("max"===r.kind){(r.inclusive?e.data>r.value:e.data>=r.value)&&(t=this._getOrReturnCtx(e,t),ln(t,{code:un.too_big,type:"bigint",maximum:r.value,inclusive:r.inclusive,message:r.message}),n.dirty())}else"multipleOf"===r.kind?e.data%r.value!==BigInt(0)&&(t=this._getOrReturnCtx(e,t),ln(t,{code:un.not_multiple_of,multipleOf:r.value,message:r.message}),n.dirty()):rn.assertNever(r);return{status:n.value,value:e.data}}_getInvalidInput(e){const t=this._getOrReturnCtx(e);return ln(t,{code:un.invalid_type,expected:on.bigint,received:t.parsedType}),pn}gte(e,t){return this.setLimit("min",e,!0,bn.toString(t))}gt(e,t){return this.setLimit("min",e,!1,bn.toString(t))}lte(e,t){return this.setLimit("max",e,!0,bn.toString(t))}lt(e,t){return this.setLimit("max",e,!1,bn.toString(t))}setLimit(e,t,n,r){return new Xn({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:n,message:bn.toString(r)}]})}_addCheck(e){return new Xn({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:bn.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:bn.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:bn.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:bn.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:bn.toString(t)})}get minValue(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.value<e)&&(e=t.value);return e}}Xn.create=e=>new Xn({checks:[],typeName:Rr.ZodBigInt,coerce:e?.coerce??!1,...kn(e)});class Jn extends On{_parse(e){this._def.coerce&&(e.data=Boolean(e.data));if(this._getType(e)!==on.boolean){const t=this._getOrReturnCtx(e);return ln(t,{code:un.invalid_type,expected:on.boolean,received:t.parsedType}),pn}return gn(e.data)}}Jn.create=e=>new Jn({typeName:Rr.ZodBoolean,coerce:e?.coerce||!1,...kn(e)});class er extends On{_parse(e){this._def.coerce&&(e.data=new Date(e.data));if(this._getType(e)!==on.date){const t=this._getOrReturnCtx(e);return ln(t,{code:un.invalid_type,expected:on.date,received:t.parsedType}),pn}if(Number.isNaN(e.data.getTime())){return ln(this._getOrReturnCtx(e),{code:un.invalid_date}),pn}const t=new hn;let n;for(const r of this._def.checks)"min"===r.kind?e.data.getTime()<r.value&&(n=this._getOrReturnCtx(e,n),ln(n,{code:un.too_small,message:r.message,inclusive:!0,exact:!1,minimum:r.value,type:"date"}),t.dirty()):"max"===r.kind?e.data.getTime()>r.value&&(n=this._getOrReturnCtx(e,n),ln(n,{code:un.too_big,message:r.message,inclusive:!0,exact:!1,maximum:r.value,type:"date"}),t.dirty()):rn.assertNever(r);return{status:t.value,value:new Date(e.data.getTime())}}_addCheck(e){return new er({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:bn.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:bn.toString(t)})}get minDate(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return null!=e?new Date(e):null}get maxDate(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.value<e)&&(e=t.value);return null!=e?new Date(e):null}}er.create=e=>new er({checks:[],coerce:e?.coerce||!1,typeName:Rr.ZodDate,...kn(e)});class tr extends On{_parse(e){if(this._getType(e)!==on.symbol){const t=this._getOrReturnCtx(e);return ln(t,{code:un.invalid_type,expected:on.symbol,received:t.parsedType}),pn}return gn(e.data)}}tr.create=e=>new tr({typeName:Rr.ZodSymbol,...kn(e)});class nr extends On{_parse(e){if(this._getType(e)!==on.undefined){const t=this._getOrReturnCtx(e);return ln(t,{code:un.invalid_type,expected:on.undefined,received:t.parsedType}),pn}return gn(e.data)}}nr.create=e=>new nr({typeName:Rr.ZodUndefined,...kn(e)});class rr extends On{_parse(e){if(this._getType(e)!==on.null){const t=this._getOrReturnCtx(e);return ln(t,{code:un.invalid_type,expected:on.null,received:t.parsedType}),pn}return gn(e.data)}}rr.create=e=>new rr({typeName:Rr.ZodNull,...kn(e)});class ir extends On{constructor(){super(...arguments),this._any=!0}_parse(e){return gn(e.data)}}ir.create=e=>new ir({typeName:Rr.ZodAny,...kn(e)});class sr extends On{constructor(){super(...arguments),this._unknown=!0}_parse(e){return gn(e.data)}}sr.create=e=>new sr({typeName:Rr.ZodUnknown,...kn(e)});class or extends On{_parse(e){const t=this._getOrReturnCtx(e);return ln(t,{code:un.invalid_type,expected:on.never,received:t.parsedType}),pn}}or.create=e=>new or({typeName:Rr.ZodNever,...kn(e)});class ar extends On{_parse(e){if(this._getType(e)!==on.undefined){const t=this._getOrReturnCtx(e);return ln(t,{code:un.invalid_type,expected:on.void,received:t.parsedType}),pn}return gn(e.data)}}ar.create=e=>new ar({typeName:Rr.ZodVoid,...kn(e)});class ur extends On{_parse(e){const{ctx:t,status:n}=this._processInputParams(e),r=this._def;if(t.parsedType!==on.array)return ln(t,{code:un.invalid_type,expected:on.array,received:t.parsedType}),pn;if(null!==r.exactLength){const e=t.data.length>r.exactLength.value,i=t.data.length<r.exactLength.value;(e||i)&&(ln(t,{code:e?un.too_big:un.too_small,minimum:i?r.exactLength.value:void 0,maximum:e?r.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:r.exactLength.message}),n.dirty())}if(null!==r.minLength&&t.data.length<r.minLength.value&&(ln(t,{code:un.too_small,minimum:r.minLength.value,type:"array",inclusive:!0,exact:!1,message:r.minLength.message}),n.dirty()),null!==r.maxLength&&t.data.length>r.maxLength.value&&(ln(t,{code:un.too_big,maximum:r.maxLength.value,type:"array",inclusive:!0,exact:!1,message:r.maxLength.message}),n.dirty()),t.common.async)return Promise.all([...t.data].map((e,n)=>r.type._parseAsync(new xn(t,e,t.path,n)))).then(e=>hn.mergeArray(n,e));const i=[...t.data].map((e,n)=>r.type._parseSync(new xn(t,e,t.path,n)));return hn.mergeArray(n,i)}get element(){return this._def.type}min(e,t){return new ur({...this._def,minLength:{value:e,message:bn.toString(t)}})}max(e,t){return new ur({...this._def,maxLength:{value:e,message:bn.toString(t)}})}length(e,t){return new ur({...this._def,exactLength:{value:e,message:bn.toString(t)}})}nonempty(e){return this.min(1,e)}}function cr(e){if(e instanceof dr){const t={};for(const n in e.shape){const r=e.shape[n];t[n]=Or.create(cr(r))}return new dr({...e._def,shape:()=>t})}return e instanceof ur?new ur({...e._def,type:cr(e.element)}):e instanceof Or?Or.create(cr(e.unwrap())):e instanceof Sr?Sr.create(cr(e.unwrap())):e instanceof pr?pr.create(e.items.map(e=>cr(e))):e}ur.create=(e,t)=>new ur({type:e,minLength:null,maxLength:null,exactLength:null,typeName:Rr.ZodArray,...kn(t)});class dr extends On{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(null!==this._cached)return this._cached;const e=this._def.shape(),t=rn.objectKeys(e);return this._cached={shape:e,keys:t},this._cached}_parse(e){if(this._getType(e)!==on.object){const t=this._getOrReturnCtx(e);return ln(t,{code:un.invalid_type,expected:on.object,received:t.parsedType}),pn}const{status:t,ctx:n}=this._processInputParams(e),{shape:r,keys:i}=this._getCached(),s=[];if(!(this._def.catchall instanceof or&&"strip"===this._def.unknownKeys))for(const e in n.data)i.includes(e)||s.push(e);const o=[];for(const e of i){const t=r[e],i=n.data[e];o.push({key:{status:"valid",value:e},value:t._parse(new xn(n,i,n.path,e)),alwaysSet:e in n.data})}if(this._def.catchall instanceof or){const e=this._def.unknownKeys;if("passthrough"===e)for(const e of s)o.push({key:{status:"valid",value:e},value:{status:"valid",value:n.data[e]}});else if("strict"===e)s.length>0&&(ln(n,{code:un.unrecognized_keys,keys:s}),t.dirty());else if("strip"!==e)throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const e=this._def.catchall;for(const t of s){const r=n.data[t];o.push({key:{status:"valid",value:t},value:e._parse(new xn(n,r,n.path,t)),alwaysSet:t in n.data})}}return n.common.async?Promise.resolve().then(async()=>{const e=[];for(const t of o){const n=await t.key,r=await t.value;e.push({key:n,value:r,alwaysSet:t.alwaysSet})}return e}).then(e=>hn.mergeObjectSync(t,e)):hn.mergeObjectSync(t,o)}get shape(){return this._def.shape()}strict(e){return new dr({...this._def,unknownKeys:"strict",...void 0!==e?{errorMap:(t,n)=>{const r=this._def.errorMap?.(t,n).message??n.defaultError;return"unrecognized_keys"===t.code?{message:bn.errToObj(e).message??r}:{message:r}}}:{}})}strip(){return new dr({...this._def,unknownKeys:"strip"})}passthrough(){return new dr({...this._def,unknownKeys:"passthrough"})}extend(e){return new dr({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new dr({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:Rr.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new dr({...this._def,catchall:e})}pick(e){const t={};for(const n of rn.objectKeys(e))e[n]&&this.shape[n]&&(t[n]=this.shape[n]);return new dr({...this._def,shape:()=>t})}omit(e){const t={};for(const n of rn.objectKeys(this.shape))e[n]||(t[n]=this.shape[n]);return new dr({...this._def,shape:()=>t})}deepPartial(){return cr(this)}partial(e){const t={};for(const n of rn.objectKeys(this.shape)){const r=this.shape[n];e&&!e[n]?t[n]=r:t[n]=r.optional()}return new dr({...this._def,shape:()=>t})}required(e){const t={};for(const n of rn.objectKeys(this.shape))if(e&&!e[n])t[n]=this.shape[n];else{let e=this.shape[n];for(;e instanceof Or;)e=e._def.innerType;t[n]=e}return new dr({...this._def,shape:()=>t})}keyof(){return wr(rn.objectKeys(this.shape))}}dr.create=(e,t)=>new dr({shape:()=>e,unknownKeys:"strip",catchall:or.create(),typeName:Rr.ZodObject,...kn(t)}),dr.strictCreate=(e,t)=>new dr({shape:()=>e,unknownKeys:"strict",catchall:or.create(),typeName:Rr.ZodObject,...kn(t)}),dr.lazycreate=(e,t)=>new dr({shape:e,unknownKeys:"strip",catchall:or.create(),typeName:Rr.ZodObject,...kn(t)});class fr extends On{_parse(e){const{ctx:t}=this._processInputParams(e),n=this._def.options;if(t.common.async)return Promise.all(n.map(async e=>{const n={...t,common:{...t.common,issues:[]},parent:null};return{result:await e._parseAsync({data:t.data,path:t.path,parent:n}),ctx:n}})).then(function(e){for(const t of e)if("valid"===t.result.status)return t.result;for(const n of e)if("dirty"===n.result.status)return t.common.issues.push(...n.ctx.common.issues),n.result;const n=e.map(e=>new cn(e.ctx.common.issues));return ln(t,{code:un.invalid_union,unionErrors:n}),pn});{let e;const r=[];for(const i of n){const n={...t,common:{...t.common,issues:[]},parent:null},s=i._parseSync({data:t.data,path:t.path,parent:n});if("valid"===s.status)return s;"dirty"!==s.status||e||(e={result:s,ctx:n}),n.common.issues.length&&r.push(n.common.issues)}if(e)return t.common.issues.push(...e.ctx.common.issues),e.result;const i=r.map(e=>new cn(e));return ln(t,{code:un.invalid_union,unionErrors:i}),pn}}get options(){return this._def.options}}function lr(e,t){const n=an(e),r=an(t);if(e===t)return{valid:!0,data:e};if(n===on.object&&r===on.object){const n=rn.objectKeys(t),r=rn.objectKeys(e).filter(e=>-1!==n.indexOf(e)),i={...e,...t};for(const n of r){const r=lr(e[n],t[n]);if(!r.valid)return{valid:!1};i[n]=r.data}return{valid:!0,data:i}}if(n===on.array&&r===on.array){if(e.length!==t.length)return{valid:!1};const n=[];for(let r=0;r<e.length;r++){const i=lr(e[r],t[r]);if(!i.valid)return{valid:!1};n.push(i.data)}return{valid:!0,data:n}}return n===on.date&&r===on.date&&+e===+t?{valid:!0,data:e}:{valid:!1}}fr.create=(e,t)=>new fr({options:e,typeName:Rr.ZodUnion,...kn(t)});class hr extends On{_parse(e){const{status:t,ctx:n}=this._processInputParams(e),r=(e,r)=>{if(yn(e)||yn(r))return pn;const i=lr(e.value,r.value);return i.valid?((_n(e)||_n(r))&&t.dirty(),{status:t.value,value:i.data}):(ln(n,{code:un.invalid_intersection_types}),pn)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([e,t])=>r(e,t)):r(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}}hr.create=(e,t,n)=>new hr({left:e,right:t,typeName:Rr.ZodIntersection,...kn(n)});class pr extends On{_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==on.array)return ln(n,{code:un.invalid_type,expected:on.array,received:n.parsedType}),pn;if(n.data.length<this._def.items.length)return ln(n,{code:un.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),pn;!this._def.rest&&n.data.length>this._def.items.length&&(ln(n,{code:un.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),t.dirty());const r=[...n.data].map((e,t)=>{const r=this._def.items[t]||this._def.rest;return r?r._parse(new xn(n,e,n.path,t)):null}).filter(e=>!!e);return n.common.async?Promise.all(r).then(e=>hn.mergeArray(t,e)):hn.mergeArray(t,r)}get items(){return this._def.items}rest(e){return new pr({...this._def,rest:e})}}pr.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new pr({items:e,typeName:Rr.ZodTuple,rest:null,...kn(t)})};class mr extends On{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==on.object)return ln(n,{code:un.invalid_type,expected:on.object,received:n.parsedType}),pn;const r=[],i=this._def.keyType,s=this._def.valueType;for(const e in n.data)r.push({key:i._parse(new xn(n,e,n.path,e)),value:s._parse(new xn(n,n.data[e],n.path,e)),alwaysSet:e in n.data});return n.common.async?hn.mergeObjectAsync(t,r):hn.mergeObjectSync(t,r)}get element(){return this._def.valueType}static create(e,t,n){return new mr(t instanceof On?{keyType:e,valueType:t,typeName:Rr.ZodRecord,...kn(n)}:{keyType:Gn.create(),valueType:e,typeName:Rr.ZodRecord,...kn(t)})}}class gr extends On{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==on.map)return ln(n,{code:un.invalid_type,expected:on.map,received:n.parsedType}),pn;const r=this._def.keyType,i=this._def.valueType,s=[...n.data.entries()].map(([e,t],s)=>({key:r._parse(new xn(n,e,n.path,[s,"key"])),value:i._parse(new xn(n,t,n.path,[s,"value"]))}));if(n.common.async){const e=new Map;return Promise.resolve().then(async()=>{for(const n of s){const r=await n.key,i=await n.value;if("aborted"===r.status||"aborted"===i.status)return pn;"dirty"!==r.status&&"dirty"!==i.status||t.dirty(),e.set(r.value,i.value)}return{status:t.value,value:e}})}{const e=new Map;for(const n of s){const r=n.key,i=n.value;if("aborted"===r.status||"aborted"===i.status)return pn;"dirty"!==r.status&&"dirty"!==i.status||t.dirty(),e.set(r.value,i.value)}return{status:t.value,value:e}}}}gr.create=(e,t,n)=>new gr({valueType:t,keyType:e,typeName:Rr.ZodMap,...kn(n)});class yr extends On{_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==on.set)return ln(n,{code:un.invalid_type,expected:on.set,received:n.parsedType}),pn;const r=this._def;null!==r.minSize&&n.data.size<r.minSize.value&&(ln(n,{code:un.too_small,minimum:r.minSize.value,type:"set",inclusive:!0,exact:!1,message:r.minSize.message}),t.dirty()),null!==r.maxSize&&n.data.size>r.maxSize.value&&(ln(n,{code:un.too_big,maximum:r.maxSize.value,type:"set",inclusive:!0,exact:!1,message:r.maxSize.message}),t.dirty());const i=this._def.valueType;function s(e){const n=new Set;for(const r of e){if("aborted"===r.status)return pn;"dirty"===r.status&&t.dirty(),n.add(r.value)}return{status:t.value,value:n}}const o=[...n.data.values()].map((e,t)=>i._parse(new xn(n,e,n.path,t)));return n.common.async?Promise.all(o).then(e=>s(e)):s(o)}min(e,t){return new yr({...this._def,minSize:{value:e,message:bn.toString(t)}})}max(e,t){return new yr({...this._def,maxSize:{value:e,message:bn.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}}yr.create=(e,t)=>new yr({valueType:e,minSize:null,maxSize:null,typeName:Rr.ZodSet,...kn(t)});class _r extends On{get schema(){return this._def.getter()}_parse(e){const{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}}_r.create=(e,t)=>new _r({getter:e,typeName:Rr.ZodLazy,...kn(t)});class vr extends On{_parse(e){if(e.data!==this._def.value){const t=this._getOrReturnCtx(e);return ln(t,{received:t.data,code:un.invalid_literal,expected:this._def.value}),pn}return{status:"valid",value:e.data}}get value(){return this._def.value}}function wr(e,t){return new br({values:e,typeName:Rr.ZodEnum,...kn(t)})}vr.create=(e,t)=>new vr({value:e,typeName:Rr.ZodLiteral,...kn(t)});class br extends On{_parse(e){if("string"!=typeof e.data){const t=this._getOrReturnCtx(e),n=this._def.values;return ln(t,{expected:rn.joinValues(n),received:t.parsedType,code:un.invalid_type}),pn}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){const t=this._getOrReturnCtx(e),n=this._def.values;return ln(t,{received:t.data,code:un.invalid_enum_value,options:n}),pn}return gn(e.data)}get options(){return this._def.values}get enum(){const e={};for(const t of this._def.values)e[t]=t;return e}get Values(){const e={};for(const t of this._def.values)e[t]=t;return e}get Enum(){const e={};for(const t of this._def.values)e[t]=t;return e}extract(e,t=this._def){return br.create(e,{...this._def,...t})}exclude(e,t=this._def){return br.create(this.options.filter(t=>!e.includes(t)),{...this._def,...t})}}br.create=wr;class xr extends On{_parse(e){const t=rn.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==on.string&&n.parsedType!==on.number){const e=rn.objectValues(t);return ln(n,{expected:rn.joinValues(e),received:n.parsedType,code:un.invalid_type}),pn}if(this._cache||(this._cache=new Set(rn.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){const e=rn.objectValues(t);return ln(n,{received:n.data,code:un.invalid_enum_value,options:e}),pn}return gn(e.data)}get enum(){return this._def.values}}xr.create=(e,t)=>new xr({values:e,typeName:Rr.ZodNativeEnum,...kn(t)});class Er extends On{unwrap(){return this._def.type}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==on.promise&&!1===t.common.async)return ln(t,{code:un.invalid_type,expected:on.promise,received:t.parsedType}),pn;const n=t.parsedType===on.promise?t.data:Promise.resolve(t.data);return gn(n.then(e=>this._def.type.parseAsync(e,{path:t.path,errorMap:t.common.contextualErrorMap})))}}Er.create=(e,t)=>new Er({type:e,typeName:Rr.ZodPromise,...kn(t)});class kr extends On{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Rr.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){const{status:t,ctx:n}=this._processInputParams(e),r=this._def.effect||null,i={addIssue:e=>{ln(n,e),e.fatal?t.abort():t.dirty()},get path(){return n.path}};if(i.addIssue=i.addIssue.bind(i),"preprocess"===r.type){const e=r.transform(n.data,i);if(n.common.async)return Promise.resolve(e).then(async e=>{if("aborted"===t.value)return pn;const r=await this._def.schema._parseAsync({data:e,path:n.path,parent:n});return"aborted"===r.status?pn:"dirty"===r.status||"dirty"===t.value?mn(r.value):r});{if("aborted"===t.value)return pn;const r=this._def.schema._parseSync({data:e,path:n.path,parent:n});return"aborted"===r.status?pn:"dirty"===r.status||"dirty"===t.value?mn(r.value):r}}if("refinement"===r.type){const e=e=>{const t=r.refinement(e,i);if(n.common.async)return Promise.resolve(t);if(t instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return e};if(!1===n.common.async){const r=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return"aborted"===r.status?pn:("dirty"===r.status&&t.dirty(),e(r.value),{status:t.value,value:r.value})}return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(n=>"aborted"===n.status?pn:("dirty"===n.status&&t.dirty(),e(n.value).then(()=>({status:t.value,value:n.value}))))}if("transform"===r.type){if(!1===n.common.async){const e=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!vn(e))return pn;const s=r.transform(e.value,i);if(s instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:t.value,value:s}}return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(e=>vn(e)?Promise.resolve(r.transform(e.value,i)).then(e=>({status:t.value,value:e})):pn)}rn.assertNever(r)}}kr.create=(e,t,n)=>new kr({schema:e,typeName:Rr.ZodEffects,effect:t,...kn(n)}),kr.createWithPreprocess=(e,t,n)=>new kr({schema:t,effect:{type:"preprocess",transform:e},typeName:Rr.ZodEffects,...kn(n)});class Or extends On{_parse(e){return this._getType(e)===on.undefined?gn(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}Or.create=(e,t)=>new Or({innerType:e,typeName:Rr.ZodOptional,...kn(t)});class Sr extends On{_parse(e){return this._getType(e)===on.null?gn(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}Sr.create=(e,t)=>new Sr({innerType:e,typeName:Rr.ZodNullable,...kn(t)});class Ar extends On{_parse(e){const{ctx:t}=this._processInputParams(e);let n=t.data;return t.parsedType===on.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:t.path,parent:t})}removeDefault(){return this._def.innerType}}Ar.create=(e,t)=>new Ar({innerType:e,typeName:Rr.ZodDefault,defaultValue:"function"==typeof t.default?t.default:()=>t.default,...kn(t)});class Pr extends On{_parse(e){const{ctx:t}=this._processInputParams(e),n={...t,common:{...t.common,issues:[]}},r=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return wn(r)?r.then(e=>({status:"valid",value:"valid"===e.status?e.value:this._def.catchValue({get error(){return new cn(n.common.issues)},input:n.data})})):{status:"valid",value:"valid"===r.status?r.value:this._def.catchValue({get error(){return new cn(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}}Pr.create=(e,t)=>new Pr({innerType:e,typeName:Rr.ZodCatch,catchValue:"function"==typeof t.catch?t.catch:()=>t.catch,...kn(t)});class Ir extends On{_parse(e){if(this._getType(e)!==on.nan){const t=this._getOrReturnCtx(e);return ln(t,{code:un.invalid_type,expected:on.nan,received:t.parsedType}),pn}return{status:"valid",value:e.data}}}Ir.create=e=>new Ir({typeName:Rr.ZodNaN,...kn(e)});class Tr extends On{_parse(e){const{ctx:t}=this._processInputParams(e),n=t.data;return this._def.type._parse({data:n,path:t.path,parent:t})}unwrap(){return this._def.type}}class Nr extends On{_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.common.async){return(async()=>{const e=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return"aborted"===e.status?pn:"dirty"===e.status?(t.dirty(),mn(e.value)):this._def.out._parseAsync({data:e.value,path:n.path,parent:n})})()}{const e=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return"aborted"===e.status?pn:"dirty"===e.status?(t.dirty(),{status:"dirty",value:e.value}):this._def.out._parseSync({data:e.value,path:n.path,parent:n})}}static create(e,t){return new Nr({in:e,out:t,typeName:Rr.ZodPipeline})}}class Cr extends On{_parse(e){const t=this._def.innerType._parse(e),n=e=>(vn(e)&&(e.value=Object.freeze(e.value)),e);return wn(t)?t.then(e=>n(e)):n(t)}unwrap(){return this._def.innerType}}function $r(e,t){const n="function"==typeof e?e(t):"string"==typeof e?{message:e}:e;return"string"==typeof n?{message:n}:n}var Rr;Cr.create=(e,t)=>new Cr({innerType:e,typeName:Rr.ZodReadonly,...kn(t)}),function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"}(Rr||(Rr={}));const Br=Gn.create,Ur=Qn.create,jr=Xn.create,Zr=Jn.create,zr=er.create,Lr=rr.create,Fr=ir.create,Dr=ur.create,Hr=dr.create,qr=fr.create,Vr=mr.create,Mr=_r.create;jr(),Zr(),zr();const Kr=Ur().min(Number.MIN_SAFE_INTEGER).max(Number.MAX_SAFE_INTEGER).int(),Wr=((e,t={message:`Input not instance of ${e.name}`})=>function(e,t={},n){return e?ir.create().superRefine((r,i)=>{const s=e(r);if(s instanceof Promise)return s.then(e=>{if(!e){const e=$r(t,r),s=e.fatal??n??!0;i.addIssue({code:"custom",...e,fatal:s})}});if(!s){const e=$r(t,r),s=e.fatal??n??!0;i.addIssue({code:"custom",...e,fatal:s})}}):ir.create()}(t=>t instanceof e,t))(Uint8Array);Br(),Kr.min(5e8),Fr(),Kr.min(0).max(255),Kr.min(0).max(65535);const Gr=Kr.min(0).max(4294967295);Ur().refine(e=>String(e).includes(".")).refine(e=>{const t=String(e).split(".").at(1);return void 0!==t&&t.length<=2});const Yr=Br().regex(/^[0-9a-fA-F]*$/).refine(e=>e.length%2==0),Qr=qr([Br(),Ur(),Zr(),Lr()]),Xr=Mr(()=>qr([Qr,Dr(Xr),Vr(Xr)]));Wr.refine(e=>20===e.length);const Jr=Wr.refine(e=>32===e.length),ei=Wr.refine(e=>33===e.length),ti=Wr.refine(e=>64===e.length);Yr.refine(e=>40===e.length);const ni=Yr.refine(e=>64===e.length),ri=Yr.refine(e=>66===e.length),ii=Yr.refine(e=>128===e.length);qr([Yr,Wr]);const si=qr([ni,Jr]);
|
|
12
|
+
const dt={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:BigInt(1),a:BigInt(0),b:BigInt(7),Gx:BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Gy:BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")},ft=BigInt(0),lt=BigInt(1),ht=BigInt(2),pt=(e,t)=>(e+t/ht)/t;function mt(e){const t=dt.p,n=BigInt(3),r=BigInt(6),i=BigInt(11),s=BigInt(22),o=BigInt(23),a=BigInt(44),u=BigInt(88),c=e*e*e%t,d=c*c*e%t,f=Ae(d,n,t)*d%t,l=Ae(f,n,t)*d%t,h=Ae(l,ht,t)*c%t,p=Ae(h,i,t)*h%t,m=Ae(p,s,t)*p%t,g=Ae(m,a,t)*m%t,y=Ae(g,u,t)*g%t,_=Ae(y,a,t)*m%t,v=Ae(_,n,t)*d%t,w=Ae(v,o,t)*p%t,b=Ae(w,r,t)*c%t,x=Ae(b,ht,t);if(!gt.eql(gt.sqr(x),e))throw new Error("Cannot find square root");return x}const gt=Be(dt.p,void 0,void 0,{sqrt:mt}),yt=function(e,t){const n=t=>ct({...e,hash:t});return{...n(t),create:n}}({...dt,Fp:gt,lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:e=>{const t=dt.n,n=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),r=-lt*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),s=n,o=BigInt("0x100000000000000000000000000000000"),a=pt(s*e,t),u=pt(-r*e,t);let c=Se(e-a*n-u*i,t),d=Se(-a*r-u*s,t);const f=c>o,l=d>o;if(f&&(c=t-c),l&&(d=t-d),c>o||d>o)throw new Error("splitScalar: Endomorphism failed, k="+e);return{k1neg:f,k1:c,k2neg:l,k2:d}}}},ee),_t={};function vt(e,...t){let n=_t[e];if(void 0===n){const t=ee(Uint8Array.from(e,e=>e.charCodeAt(0)));n=H(t,t),_t[e]=n}return ee(H(n,...t))}const wt=e=>e.toBytes(!0).slice(1),bt=e=>de(e,32),xt=e=>Se(e,dt.p),Et=e=>Se(e,dt.n),kt=(()=>yt.Point)(),Ot=e=>e%ht===ft;function St(e){let t=yt.utils.normPrivateKeyToScalar(e),n=kt.fromPrivateKey(t);return{scalar:Ot(n.y)?t:Et(-t),bytes:wt(n)}}function At(e){me("x",e,lt,dt.p);const t=xt(e*e);let n=mt(xt(t*e+BigInt(7)));Ot(n)||(n=xt(-n));const r=kt.fromAffine({x:e,y:n});return r.assertValidity(),r}const Pt=ue;function It(...e){return Et(Pt(vt("BIP0340/challenge",...e)))}function Tt(e){return St(e).bytes}function Nt(e,t,n=M(32)){const r=le("message",e),{bytes:i,scalar:s}=St(t),o=le("auxRand",n,32),a=bt(s^Pt(vt("BIP0340/aux",o))),u=vt("BIP0340/nonce",a,i,r),c=Et(Pt(u));if(c===ft)throw new Error("sign failed: k is zero");const{bytes:d,scalar:f}=St(c),l=It(d,i,r),h=new Uint8Array(64);if(h.set(d,0),h.set(bt(Et(f+l*s)),32),!Ct(h,r,i))throw new Error("sign: Invalid signature produced");return h}function Ct(e,t,n){const r=le("signature",e,64),i=le("message",t),s=le("publicKey",n,32);try{const e=At(Pt(s)),t=Pt(r.subarray(0,32));if(!pe(t,lt,dt.p))return!1;const n=Pt(r.subarray(32,64));if(!pe(n,lt,dt.n))return!1;const o=It(bt(t),wt(e),i),a=kt.BASE.multiplyUnsafe(n).add(e.multiplyUnsafe(Et(-o))),{x:u,y:c}=a.toAffine();return!(a.is0()||!Ot(c)||u!==t)}catch(e){return!1}}const $t=(()=>({getPublicKey:Tt,sign:Nt,verify:Ct,utils:{randomPrivateKey:yt.utils.randomPrivateKey,lift_x:At,pointToBytes:wt,numberToBytesBE:de,bytesToNumberBE:ue,taggedHash:vt,mod:Se}}))();BigInt(0),BigInt(2);Be(yt.CURVE.n,32,!0);const Rt=yt.Point.BASE;function Bt(e,t,n,r=!1){const i=jt(t).big,s=function(e){try{const t=Ut(e,"ecdsa");return yt.Point.fromHex(t)}catch(t){throw new Error("invalid pubkey: "+e)}}(e),o=Rt.multiply(i);let a=s.add(o);r&&!a.hasEvenY()&&(a=a.negate());return Ut(a.toHex(!0),n)}function Ut(e,t){try{const n=jt(e);if(33===n.length&&"bip340"===t)return n.slice(1);if(32===n.length&&"ecdsa"===t){const e=g.num(2,1);return g.join([e,n])}return n}catch(t){throw new Error("invalid pubkey: "+String(e))}}function jt(e){try{return g.bytes(e)}catch(t){throw new Error("invalid bytes: "+String(e))}}const Zt=Uint8Array.from([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]),zt=(()=>Uint8Array.from(new Array(16).fill(0).map((e,t)=>t)))(),Ft=(()=>zt.map(e=>(9*e+5)%16))(),Lt=(()=>{const e=[[zt],[Ft]];for(let t=0;t<4;t++)for(let n of e)n.push(n[t].map(e=>Zt[e]));return e})(),Dt=(()=>Lt[0])(),Ht=(()=>Lt[1])(),qt=[[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)),Vt=Dt.map((e,t)=>e.map(e=>qt[t][e])),Mt=Ht.map((e,t)=>e.map(e=>qt[t][e])),Kt=Uint32Array.from([0,1518500249,1859775393,2400959708,2840853838]),Wt=Uint32Array.from([1352829926,1548603684,1836072691,2053994217,0]);function Gt(e,t,n,r){return 0===e?t^n^r:1===e?t&n|~t&r:2===e?(t|~n)^r:3===e?t&r|n&~r:t^(n|~r)}const Yt=new Uint32Array(16);class Qt extends G{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:n,h3:r,h4:i}=this;return[e,t,n,r,i]}set(e,t,n,r,i){this.h0=0|e,this.h1=0|t,this.h2=0|n,this.h3=0|r,this.h4=0|i}process(e,t){for(let n=0;n<16;n++,t+=4)Yt[n]=e.getUint32(t,!0);let n=0|this.h0,r=n,i=0|this.h1,s=i,o=0|this.h2,a=o,u=0|this.h3,c=u,d=0|this.h4,f=d;for(let e=0;e<5;e++){const t=4-e,l=Kt[e],h=Wt[e],p=Dt[e],m=Ht[e],g=Vt[e],y=Mt[e];for(let t=0;t<16;t++){const r=T(n+Gt(e,i,o,u)+Yt[p[t]]+l,g[t])+d|0;n=d,d=u,u=0|T(o,10),o=i,i=r}for(let e=0;e<16;e++){const n=T(r+Gt(t,s,a,c)+Yt[m[e]]+h,y[e])+f|0;r=f,f=c,c=0|T(a,10),a=s,s=n}}this.set(this.h1+o+c|0,this.h2+u+f|0,this.h3+d+r|0,this.h4+n+s|0,this.h0+i+a|0)}roundClean(){A(Yt)}destroy(){this.destroyed=!0,A(this.buffer),this.set(0,0,0,0,0)}}const Xt=V(()=>new Qt);function Jt(...e){const t=g.join(e),n=Xt(ee(t));return new g(n)}function en(...e){const t=g.join(e),n=ee(t);return new g(n)}function tn(...e){const t=g.join(e),n=ee(ee(t));return new g(n)}function nn(e,...t){const n=function(e){const t=en(g.str(e));return g.join([t,t])}(e),r=t.map(e=>new g(e));return en(g.join([n,...r]))}var rn,sn;!function(e){e.assertEqual=e=>{},e.assertIs=function(e){},e.assertNever=function(e){throw new Error},e.arrayToEnum=e=>{const t={};for(const n of e)t[n]=n;return t},e.getValidEnumValues=t=>{const n=e.objectKeys(t).filter(e=>"number"!=typeof t[t[e]]),r={};for(const e of n)r[e]=t[e];return e.objectValues(r)},e.objectValues=t=>e.objectKeys(t).map(function(e){return t[e]}),e.objectKeys="function"==typeof Object.keys?e=>Object.keys(e):e=>{const t=[];for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.push(n);return t},e.find=(e,t)=>{for(const n of e)if(t(n))return n},e.isInteger="function"==typeof Number.isInteger?e=>Number.isInteger(e):e=>"number"==typeof e&&Number.isFinite(e)&&Math.floor(e)===e,e.joinValues=function(e,t=" | "){return e.map(e=>"string"==typeof e?`'${e}'`:e).join(t)},e.jsonStringifyReplacer=(e,t)=>"bigint"==typeof t?t.toString():t}(rn||(rn={})),function(e){e.mergeShapes=(e,t)=>({...e,...t})}(sn||(sn={}));const on=rn.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),an=e=>{switch(typeof e){case"undefined":return on.undefined;case"string":return on.string;case"number":return Number.isNaN(e)?on.nan:on.number;case"boolean":return on.boolean;case"function":return on.function;case"bigint":return on.bigint;case"symbol":return on.symbol;case"object":return Array.isArray(e)?on.array:null===e?on.null:e.then&&"function"==typeof e.then&&e.catch&&"function"==typeof e.catch?on.promise:"undefined"!=typeof Map&&e instanceof Map?on.map:"undefined"!=typeof Set&&e instanceof Set?on.set:"undefined"!=typeof Date&&e instanceof Date?on.date:on.object;default:return on.unknown}},un=rn.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);class cn extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=e=>{this.issues=[...this.issues,e]},this.addIssues=(e=[])=>{this.issues=[...this.issues,...e]};const t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name="ZodError",this.issues=e}format(e){const t=e||function(e){return e.message},n={_errors:[]},r=e=>{for(const i of e.issues)if("invalid_union"===i.code)i.unionErrors.map(r);else if("invalid_return_type"===i.code)r(i.returnTypeError);else if("invalid_arguments"===i.code)r(i.argumentsError);else if(0===i.path.length)n._errors.push(t(i));else{let e=n,r=0;for(;r<i.path.length;){const n=i.path[r];r===i.path.length-1?(e[n]=e[n]||{_errors:[]},e[n]._errors.push(t(i))):e[n]=e[n]||{_errors:[]},e=e[n],r++}}};return r(this),n}static assert(e){if(!(e instanceof cn))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,rn.jsonStringifyReplacer,2)}get isEmpty(){return 0===this.issues.length}flatten(e=e=>e.message){const t={},n=[];for(const r of this.issues)if(r.path.length>0){const n=r.path[0];t[n]=t[n]||[],t[n].push(e(r))}else n.push(e(r));return{formErrors:n,fieldErrors:t}}get formErrors(){return this.flatten()}}cn.create=e=>new cn(e);const dn=(e,t)=>{let n;switch(e.code){case un.invalid_type:n=e.received===on.undefined?"Required":`Expected ${e.expected}, received ${e.received}`;break;case un.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,rn.jsonStringifyReplacer)}`;break;case un.unrecognized_keys:n=`Unrecognized key(s) in object: ${rn.joinValues(e.keys,", ")}`;break;case un.invalid_union:n="Invalid input";break;case un.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${rn.joinValues(e.options)}`;break;case un.invalid_enum_value:n=`Invalid enum value. Expected ${rn.joinValues(e.options)}, received '${e.received}'`;break;case un.invalid_arguments:n="Invalid function arguments";break;case un.invalid_return_type:n="Invalid function return type";break;case un.invalid_date:n="Invalid date";break;case un.invalid_string:"object"==typeof e.validation?"includes"in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,"number"==typeof e.validation.position&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:rn.assertNever(e.validation):n="regex"!==e.validation?`Invalid ${e.validation}`:"Invalid";break;case un.too_small:n="array"===e.type?`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:"string"===e.type?`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:"number"===e.type||"bigint"===e.type?`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:"date"===e.type?`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:"Invalid input";break;case un.too_big:n="array"===e.type?`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:"string"===e.type?`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:"number"===e.type?`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:"bigint"===e.type?`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:"date"===e.type?`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:"Invalid input";break;case un.custom:n="Invalid input";break;case un.invalid_intersection_types:n="Intersection results could not be merged";break;case un.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case un.not_finite:n="Number must be finite";break;default:n=t.defaultError,rn.assertNever(e)}return{message:n}};let fn=dn;function ln(e,t){const n=fn,r=(e=>{const{data:t,path:n,errorMaps:r,issueData:i}=e,s=[...n,...i.path||[]],o={...i,path:s};if(void 0!==i.message)return{...i,path:s,message:i.message};let a="";const u=r.filter(e=>!!e).slice().reverse();for(const e of u)a=e(o,{data:t,defaultError:a}).message;return{...i,path:s,message:a}})({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===dn?void 0:dn].filter(e=>!!e)});e.common.issues.push(r)}class hn{constructor(){this.value="valid"}dirty(){"valid"===this.value&&(this.value="dirty")}abort(){"aborted"!==this.value&&(this.value="aborted")}static mergeArray(e,t){const n=[];for(const r of t){if("aborted"===r.status)return pn;"dirty"===r.status&&e.dirty(),n.push(r.value)}return{status:e.value,value:n}}static async mergeObjectAsync(e,t){const n=[];for(const e of t){const t=await e.key,r=await e.value;n.push({key:t,value:r})}return hn.mergeObjectSync(e,n)}static mergeObjectSync(e,t){const n={};for(const r of t){const{key:t,value:i}=r;if("aborted"===t.status)return pn;if("aborted"===i.status)return pn;"dirty"===t.status&&e.dirty(),"dirty"===i.status&&e.dirty(),"__proto__"===t.value||void 0===i.value&&!r.alwaysSet||(n[t.value]=i.value)}return{status:e.value,value:n}}}const pn=Object.freeze({status:"aborted"}),mn=e=>({status:"dirty",value:e}),gn=e=>({status:"valid",value:e}),yn=e=>"aborted"===e.status,_n=e=>"dirty"===e.status,vn=e=>"valid"===e.status,wn=e=>"undefined"!=typeof Promise&&e instanceof Promise;var bn;!function(e){e.errToObj=e=>"string"==typeof e?{message:e}:e||{},e.toString=e=>"string"==typeof e?e:e?.message}(bn||(bn={}));class xn{constructor(e,t,n,r){this._cachedPath=[],this.parent=e,this.data=t,this._path=n,this._key=r}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const En=(e,t)=>{if(vn(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const t=new cn(e.common.issues);return this._error=t,this._error}}};function kn(e){if(!e)return{};const{errorMap:t,invalid_type_error:n,required_error:r,description:i}=e;if(t&&(n||r))throw new Error('Can\'t use "invalid_type_error" or "required_error" in conjunction with custom error map.');if(t)return{errorMap:t,description:i};return{errorMap:(t,i)=>{const{message:s}=e;return"invalid_enum_value"===t.code?{message:s??i.defaultError}:void 0===i.data?{message:s??r??i.defaultError}:"invalid_type"!==t.code?{message:i.defaultError}:{message:s??n??i.defaultError}},description:i}}class On{get description(){return this._def.description}_getType(e){return an(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:an(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new hn,ctx:{common:e.parent.common,data:e.data,parsedType:an(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){const t=this._parse(e);if(wn(t))throw new Error("Synchronous parse encountered promise.");return t}_parseAsync(e){const t=this._parse(e);return Promise.resolve(t)}parse(e,t){const n=this.safeParse(e,t);if(n.success)return n.data;throw n.error}safeParse(e,t){const n={common:{issues:[],async:t?.async??!1,contextualErrorMap:t?.errorMap},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:an(e)},r=this._parseSync({data:e,path:n.path,parent:n});return En(n,r)}"~validate"(e){const t={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:an(e)};if(!this["~standard"].async)try{const n=this._parseSync({data:e,path:[],parent:t});return vn(n)?{value:n.value}:{issues:t.common.issues}}catch(e){e?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),t.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:t}).then(e=>vn(e)?{value:e.value}:{issues:t.common.issues})}async parseAsync(e,t){const n=await this.safeParseAsync(e,t);if(n.success)return n.data;throw n.error}async safeParseAsync(e,t){const n={common:{issues:[],contextualErrorMap:t?.errorMap,async:!0},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:an(e)},r=this._parse({data:e,path:n.path,parent:n}),i=await(wn(r)?r:Promise.resolve(r));return En(n,i)}refine(e,t){const n=e=>"string"==typeof t||void 0===t?{message:t}:"function"==typeof t?t(e):t;return this._refinement((t,r)=>{const i=e(t),s=()=>r.addIssue({code:un.custom,...n(t)});return"undefined"!=typeof Promise&&i instanceof Promise?i.then(e=>!!e||(s(),!1)):!!i||(s(),!1)})}refinement(e,t){return this._refinement((n,r)=>!!e(n)||(r.addIssue("function"==typeof t?t(n,r):t),!1))}_refinement(e){return new kr({schema:this,typeName:Rr.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:e=>this["~validate"](e)}}optional(){return Or.create(this,this._def)}nullable(){return Sr.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return ur.create(this)}promise(){return Er.create(this,this._def)}or(e){return fr.create([this,e],this._def)}and(e){return hr.create(this,e,this._def)}transform(e){return new kr({...kn(this._def),schema:this,typeName:Rr.ZodEffects,effect:{type:"transform",transform:e}})}default(e){const t="function"==typeof e?e:()=>e;return new Ar({...kn(this._def),innerType:this,defaultValue:t,typeName:Rr.ZodDefault})}brand(){return new Tr({typeName:Rr.ZodBranded,type:this,...kn(this._def)})}catch(e){const t="function"==typeof e?e:()=>e;return new Pr({...kn(this._def),innerType:this,catchValue:t,typeName:Rr.ZodCatch})}describe(e){return new(0,this.constructor)({...this._def,description:e})}pipe(e){return Nr.create(this,e)}readonly(){return Cr.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const Sn=/^c[^\s-]{8,}$/i,An=/^[0-9a-z]+$/,Pn=/^[0-9A-HJKMNP-TV-Z]{26}$/i,In=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,Tn=/^[a-z0-9_-]{21}$/i,Nn=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Cn=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,$n=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i;let Rn;const Bn=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Un=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,jn=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,Zn=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,zn=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Fn=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Ln="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",Dn=new RegExp(`^${Ln}$`);function Hn(e){let t="[0-5]\\d";e.precision?t=`${t}\\.\\d{${e.precision}}`:null==e.precision&&(t=`${t}(\\.\\d+)?`);return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${e.precision?"+":"?"}`}function qn(e){return new RegExp(`^${Hn(e)}$`)}function Vn(e){let t=`${Ln}T${Hn(e)}`;const n=[];return n.push(e.local?"Z?":"Z"),e.offset&&n.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${n.join("|")})`,new RegExp(`^${t}$`)}function Mn(e,t){return!("v4"!==t&&t||!Bn.test(e))||!("v6"!==t&&t||!jn.test(e))}function Kn(e,t){if(!Nn.test(e))return!1;try{const[n]=e.split(".");if(!n)return!1;const r=n.replace(/-/g,"+").replace(/_/g,"/").padEnd(n.length+(4-n.length%4)%4,"="),i=JSON.parse(atob(r));return"object"==typeof i&&null!==i&&((!("typ"in i)||"JWT"===i?.typ)&&(!!i.alg&&(!t||i.alg===t)))}catch{return!1}}function Wn(e,t){return!("v4"!==t&&t||!Un.test(e))||!("v6"!==t&&t||!Zn.test(e))}class Gn extends On{_parse(e){this._def.coerce&&(e.data=String(e.data));if(this._getType(e)!==on.string){const t=this._getOrReturnCtx(e);return ln(t,{code:un.invalid_type,expected:on.string,received:t.parsedType}),pn}const t=new hn;let n;for(const r of this._def.checks)if("min"===r.kind)e.data.length<r.value&&(n=this._getOrReturnCtx(e,n),ln(n,{code:un.too_small,minimum:r.value,type:"string",inclusive:!0,exact:!1,message:r.message}),t.dirty());else if("max"===r.kind)e.data.length>r.value&&(n=this._getOrReturnCtx(e,n),ln(n,{code:un.too_big,maximum:r.value,type:"string",inclusive:!0,exact:!1,message:r.message}),t.dirty());else if("length"===r.kind){const i=e.data.length>r.value,s=e.data.length<r.value;(i||s)&&(n=this._getOrReturnCtx(e,n),i?ln(n,{code:un.too_big,maximum:r.value,type:"string",inclusive:!0,exact:!0,message:r.message}):s&&ln(n,{code:un.too_small,minimum:r.value,type:"string",inclusive:!0,exact:!0,message:r.message}),t.dirty())}else if("email"===r.kind)$n.test(e.data)||(n=this._getOrReturnCtx(e,n),ln(n,{validation:"email",code:un.invalid_string,message:r.message}),t.dirty());else if("emoji"===r.kind)Rn||(Rn=new RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),Rn.test(e.data)||(n=this._getOrReturnCtx(e,n),ln(n,{validation:"emoji",code:un.invalid_string,message:r.message}),t.dirty());else if("uuid"===r.kind)In.test(e.data)||(n=this._getOrReturnCtx(e,n),ln(n,{validation:"uuid",code:un.invalid_string,message:r.message}),t.dirty());else if("nanoid"===r.kind)Tn.test(e.data)||(n=this._getOrReturnCtx(e,n),ln(n,{validation:"nanoid",code:un.invalid_string,message:r.message}),t.dirty());else if("cuid"===r.kind)Sn.test(e.data)||(n=this._getOrReturnCtx(e,n),ln(n,{validation:"cuid",code:un.invalid_string,message:r.message}),t.dirty());else if("cuid2"===r.kind)An.test(e.data)||(n=this._getOrReturnCtx(e,n),ln(n,{validation:"cuid2",code:un.invalid_string,message:r.message}),t.dirty());else if("ulid"===r.kind)Pn.test(e.data)||(n=this._getOrReturnCtx(e,n),ln(n,{validation:"ulid",code:un.invalid_string,message:r.message}),t.dirty());else if("url"===r.kind)try{new URL(e.data)}catch{n=this._getOrReturnCtx(e,n),ln(n,{validation:"url",code:un.invalid_string,message:r.message}),t.dirty()}else if("regex"===r.kind){r.regex.lastIndex=0;r.regex.test(e.data)||(n=this._getOrReturnCtx(e,n),ln(n,{validation:"regex",code:un.invalid_string,message:r.message}),t.dirty())}else if("trim"===r.kind)e.data=e.data.trim();else if("includes"===r.kind)e.data.includes(r.value,r.position)||(n=this._getOrReturnCtx(e,n),ln(n,{code:un.invalid_string,validation:{includes:r.value,position:r.position},message:r.message}),t.dirty());else if("toLowerCase"===r.kind)e.data=e.data.toLowerCase();else if("toUpperCase"===r.kind)e.data=e.data.toUpperCase();else if("startsWith"===r.kind)e.data.startsWith(r.value)||(n=this._getOrReturnCtx(e,n),ln(n,{code:un.invalid_string,validation:{startsWith:r.value},message:r.message}),t.dirty());else if("endsWith"===r.kind)e.data.endsWith(r.value)||(n=this._getOrReturnCtx(e,n),ln(n,{code:un.invalid_string,validation:{endsWith:r.value},message:r.message}),t.dirty());else if("datetime"===r.kind){Vn(r).test(e.data)||(n=this._getOrReturnCtx(e,n),ln(n,{code:un.invalid_string,validation:"datetime",message:r.message}),t.dirty())}else if("date"===r.kind){Dn.test(e.data)||(n=this._getOrReturnCtx(e,n),ln(n,{code:un.invalid_string,validation:"date",message:r.message}),t.dirty())}else if("time"===r.kind){qn(r).test(e.data)||(n=this._getOrReturnCtx(e,n),ln(n,{code:un.invalid_string,validation:"time",message:r.message}),t.dirty())}else"duration"===r.kind?Cn.test(e.data)||(n=this._getOrReturnCtx(e,n),ln(n,{validation:"duration",code:un.invalid_string,message:r.message}),t.dirty()):"ip"===r.kind?Mn(e.data,r.version)||(n=this._getOrReturnCtx(e,n),ln(n,{validation:"ip",code:un.invalid_string,message:r.message}),t.dirty()):"jwt"===r.kind?Kn(e.data,r.alg)||(n=this._getOrReturnCtx(e,n),ln(n,{validation:"jwt",code:un.invalid_string,message:r.message}),t.dirty()):"cidr"===r.kind?Wn(e.data,r.version)||(n=this._getOrReturnCtx(e,n),ln(n,{validation:"cidr",code:un.invalid_string,message:r.message}),t.dirty()):"base64"===r.kind?zn.test(e.data)||(n=this._getOrReturnCtx(e,n),ln(n,{validation:"base64",code:un.invalid_string,message:r.message}),t.dirty()):"base64url"===r.kind?Fn.test(e.data)||(n=this._getOrReturnCtx(e,n),ln(n,{validation:"base64url",code:un.invalid_string,message:r.message}),t.dirty()):rn.assertNever(r);return{status:t.value,value:e.data}}_regex(e,t,n){return this.refinement(t=>e.test(t),{validation:t,code:un.invalid_string,...bn.errToObj(n)})}_addCheck(e){return new Gn({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...bn.errToObj(e)})}url(e){return this._addCheck({kind:"url",...bn.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...bn.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...bn.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...bn.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...bn.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...bn.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...bn.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...bn.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...bn.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...bn.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...bn.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...bn.errToObj(e)})}datetime(e){return"string"==typeof e?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:void 0===e?.precision?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...bn.errToObj(e?.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return"string"==typeof e?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:void 0===e?.precision?null:e?.precision,...bn.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...bn.errToObj(e)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...bn.errToObj(t)})}includes(e,t){return this._addCheck({kind:"includes",value:e,position:t?.position,...bn.errToObj(t?.message)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...bn.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...bn.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...bn.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...bn.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...bn.errToObj(t)})}nonempty(e){return this.min(1,bn.errToObj(e))}trim(){return new Gn({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new Gn({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new Gn({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>"datetime"===e.kind)}get isDate(){return!!this._def.checks.find(e=>"date"===e.kind)}get isTime(){return!!this._def.checks.find(e=>"time"===e.kind)}get isDuration(){return!!this._def.checks.find(e=>"duration"===e.kind)}get isEmail(){return!!this._def.checks.find(e=>"email"===e.kind)}get isURL(){return!!this._def.checks.find(e=>"url"===e.kind)}get isEmoji(){return!!this._def.checks.find(e=>"emoji"===e.kind)}get isUUID(){return!!this._def.checks.find(e=>"uuid"===e.kind)}get isNANOID(){return!!this._def.checks.find(e=>"nanoid"===e.kind)}get isCUID(){return!!this._def.checks.find(e=>"cuid"===e.kind)}get isCUID2(){return!!this._def.checks.find(e=>"cuid2"===e.kind)}get isULID(){return!!this._def.checks.find(e=>"ulid"===e.kind)}get isIP(){return!!this._def.checks.find(e=>"ip"===e.kind)}get isCIDR(){return!!this._def.checks.find(e=>"cidr"===e.kind)}get isBase64(){return!!this._def.checks.find(e=>"base64"===e.kind)}get isBase64url(){return!!this._def.checks.find(e=>"base64url"===e.kind)}get minLength(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.value<e)&&(e=t.value);return e}}function Yn(e,t){const n=(e.toString().split(".")[1]||"").length,r=(t.toString().split(".")[1]||"").length,i=n>r?n:r;return Number.parseInt(e.toFixed(i).replace(".",""))%Number.parseInt(t.toFixed(i).replace(".",""))/10**i}Gn.create=e=>new Gn({checks:[],typeName:Rr.ZodString,coerce:e?.coerce??!1,...kn(e)});class Qn extends On{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){this._def.coerce&&(e.data=Number(e.data));if(this._getType(e)!==on.number){const t=this._getOrReturnCtx(e);return ln(t,{code:un.invalid_type,expected:on.number,received:t.parsedType}),pn}let t;const n=new hn;for(const r of this._def.checks)if("int"===r.kind)rn.isInteger(e.data)||(t=this._getOrReturnCtx(e,t),ln(t,{code:un.invalid_type,expected:"integer",received:"float",message:r.message}),n.dirty());else if("min"===r.kind){(r.inclusive?e.data<r.value:e.data<=r.value)&&(t=this._getOrReturnCtx(e,t),ln(t,{code:un.too_small,minimum:r.value,type:"number",inclusive:r.inclusive,exact:!1,message:r.message}),n.dirty())}else if("max"===r.kind){(r.inclusive?e.data>r.value:e.data>=r.value)&&(t=this._getOrReturnCtx(e,t),ln(t,{code:un.too_big,maximum:r.value,type:"number",inclusive:r.inclusive,exact:!1,message:r.message}),n.dirty())}else"multipleOf"===r.kind?0!==Yn(e.data,r.value)&&(t=this._getOrReturnCtx(e,t),ln(t,{code:un.not_multiple_of,multipleOf:r.value,message:r.message}),n.dirty()):"finite"===r.kind?Number.isFinite(e.data)||(t=this._getOrReturnCtx(e,t),ln(t,{code:un.not_finite,message:r.message}),n.dirty()):rn.assertNever(r);return{status:n.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,bn.toString(t))}gt(e,t){return this.setLimit("min",e,!1,bn.toString(t))}lte(e,t){return this.setLimit("max",e,!0,bn.toString(t))}lt(e,t){return this.setLimit("max",e,!1,bn.toString(t))}setLimit(e,t,n,r){return new Qn({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:n,message:bn.toString(r)}]})}_addCheck(e){return new Qn({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:bn.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:bn.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:bn.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:bn.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:bn.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:bn.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:bn.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:bn.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:bn.toString(e)})}get minValue(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.value<e)&&(e=t.value);return e}get isInt(){return!!this._def.checks.find(e=>"int"===e.kind||"multipleOf"===e.kind&&rn.isInteger(e.value))}get isFinite(){let e=null,t=null;for(const n of this._def.checks){if("finite"===n.kind||"int"===n.kind||"multipleOf"===n.kind)return!0;"min"===n.kind?(null===t||n.value>t)&&(t=n.value):"max"===n.kind&&(null===e||n.value<e)&&(e=n.value)}return Number.isFinite(t)&&Number.isFinite(e)}}Qn.create=e=>new Qn({checks:[],typeName:Rr.ZodNumber,coerce:e?.coerce||!1,...kn(e)});class Xn extends On{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==on.bigint)return this._getInvalidInput(e);let t;const n=new hn;for(const r of this._def.checks)if("min"===r.kind){(r.inclusive?e.data<r.value:e.data<=r.value)&&(t=this._getOrReturnCtx(e,t),ln(t,{code:un.too_small,type:"bigint",minimum:r.value,inclusive:r.inclusive,message:r.message}),n.dirty())}else if("max"===r.kind){(r.inclusive?e.data>r.value:e.data>=r.value)&&(t=this._getOrReturnCtx(e,t),ln(t,{code:un.too_big,type:"bigint",maximum:r.value,inclusive:r.inclusive,message:r.message}),n.dirty())}else"multipleOf"===r.kind?e.data%r.value!==BigInt(0)&&(t=this._getOrReturnCtx(e,t),ln(t,{code:un.not_multiple_of,multipleOf:r.value,message:r.message}),n.dirty()):rn.assertNever(r);return{status:n.value,value:e.data}}_getInvalidInput(e){const t=this._getOrReturnCtx(e);return ln(t,{code:un.invalid_type,expected:on.bigint,received:t.parsedType}),pn}gte(e,t){return this.setLimit("min",e,!0,bn.toString(t))}gt(e,t){return this.setLimit("min",e,!1,bn.toString(t))}lte(e,t){return this.setLimit("max",e,!0,bn.toString(t))}lt(e,t){return this.setLimit("max",e,!1,bn.toString(t))}setLimit(e,t,n,r){return new Xn({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:n,message:bn.toString(r)}]})}_addCheck(e){return new Xn({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:bn.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:bn.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:bn.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:bn.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:bn.toString(t)})}get minValue(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.value<e)&&(e=t.value);return e}}Xn.create=e=>new Xn({checks:[],typeName:Rr.ZodBigInt,coerce:e?.coerce??!1,...kn(e)});class Jn extends On{_parse(e){this._def.coerce&&(e.data=Boolean(e.data));if(this._getType(e)!==on.boolean){const t=this._getOrReturnCtx(e);return ln(t,{code:un.invalid_type,expected:on.boolean,received:t.parsedType}),pn}return gn(e.data)}}Jn.create=e=>new Jn({typeName:Rr.ZodBoolean,coerce:e?.coerce||!1,...kn(e)});class er extends On{_parse(e){this._def.coerce&&(e.data=new Date(e.data));if(this._getType(e)!==on.date){const t=this._getOrReturnCtx(e);return ln(t,{code:un.invalid_type,expected:on.date,received:t.parsedType}),pn}if(Number.isNaN(e.data.getTime())){return ln(this._getOrReturnCtx(e),{code:un.invalid_date}),pn}const t=new hn;let n;for(const r of this._def.checks)"min"===r.kind?e.data.getTime()<r.value&&(n=this._getOrReturnCtx(e,n),ln(n,{code:un.too_small,message:r.message,inclusive:!0,exact:!1,minimum:r.value,type:"date"}),t.dirty()):"max"===r.kind?e.data.getTime()>r.value&&(n=this._getOrReturnCtx(e,n),ln(n,{code:un.too_big,message:r.message,inclusive:!0,exact:!1,maximum:r.value,type:"date"}),t.dirty()):rn.assertNever(r);return{status:t.value,value:new Date(e.data.getTime())}}_addCheck(e){return new er({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:bn.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:bn.toString(t)})}get minDate(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return null!=e?new Date(e):null}get maxDate(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.value<e)&&(e=t.value);return null!=e?new Date(e):null}}er.create=e=>new er({checks:[],coerce:e?.coerce||!1,typeName:Rr.ZodDate,...kn(e)});class tr extends On{_parse(e){if(this._getType(e)!==on.symbol){const t=this._getOrReturnCtx(e);return ln(t,{code:un.invalid_type,expected:on.symbol,received:t.parsedType}),pn}return gn(e.data)}}tr.create=e=>new tr({typeName:Rr.ZodSymbol,...kn(e)});class nr extends On{_parse(e){if(this._getType(e)!==on.undefined){const t=this._getOrReturnCtx(e);return ln(t,{code:un.invalid_type,expected:on.undefined,received:t.parsedType}),pn}return gn(e.data)}}nr.create=e=>new nr({typeName:Rr.ZodUndefined,...kn(e)});class rr extends On{_parse(e){if(this._getType(e)!==on.null){const t=this._getOrReturnCtx(e);return ln(t,{code:un.invalid_type,expected:on.null,received:t.parsedType}),pn}return gn(e.data)}}rr.create=e=>new rr({typeName:Rr.ZodNull,...kn(e)});class ir extends On{constructor(){super(...arguments),this._any=!0}_parse(e){return gn(e.data)}}ir.create=e=>new ir({typeName:Rr.ZodAny,...kn(e)});class sr extends On{constructor(){super(...arguments),this._unknown=!0}_parse(e){return gn(e.data)}}sr.create=e=>new sr({typeName:Rr.ZodUnknown,...kn(e)});class or extends On{_parse(e){const t=this._getOrReturnCtx(e);return ln(t,{code:un.invalid_type,expected:on.never,received:t.parsedType}),pn}}or.create=e=>new or({typeName:Rr.ZodNever,...kn(e)});class ar extends On{_parse(e){if(this._getType(e)!==on.undefined){const t=this._getOrReturnCtx(e);return ln(t,{code:un.invalid_type,expected:on.void,received:t.parsedType}),pn}return gn(e.data)}}ar.create=e=>new ar({typeName:Rr.ZodVoid,...kn(e)});class ur extends On{_parse(e){const{ctx:t,status:n}=this._processInputParams(e),r=this._def;if(t.parsedType!==on.array)return ln(t,{code:un.invalid_type,expected:on.array,received:t.parsedType}),pn;if(null!==r.exactLength){const e=t.data.length>r.exactLength.value,i=t.data.length<r.exactLength.value;(e||i)&&(ln(t,{code:e?un.too_big:un.too_small,minimum:i?r.exactLength.value:void 0,maximum:e?r.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:r.exactLength.message}),n.dirty())}if(null!==r.minLength&&t.data.length<r.minLength.value&&(ln(t,{code:un.too_small,minimum:r.minLength.value,type:"array",inclusive:!0,exact:!1,message:r.minLength.message}),n.dirty()),null!==r.maxLength&&t.data.length>r.maxLength.value&&(ln(t,{code:un.too_big,maximum:r.maxLength.value,type:"array",inclusive:!0,exact:!1,message:r.maxLength.message}),n.dirty()),t.common.async)return Promise.all([...t.data].map((e,n)=>r.type._parseAsync(new xn(t,e,t.path,n)))).then(e=>hn.mergeArray(n,e));const i=[...t.data].map((e,n)=>r.type._parseSync(new xn(t,e,t.path,n)));return hn.mergeArray(n,i)}get element(){return this._def.type}min(e,t){return new ur({...this._def,minLength:{value:e,message:bn.toString(t)}})}max(e,t){return new ur({...this._def,maxLength:{value:e,message:bn.toString(t)}})}length(e,t){return new ur({...this._def,exactLength:{value:e,message:bn.toString(t)}})}nonempty(e){return this.min(1,e)}}function cr(e){if(e instanceof dr){const t={};for(const n in e.shape){const r=e.shape[n];t[n]=Or.create(cr(r))}return new dr({...e._def,shape:()=>t})}return e instanceof ur?new ur({...e._def,type:cr(e.element)}):e instanceof Or?Or.create(cr(e.unwrap())):e instanceof Sr?Sr.create(cr(e.unwrap())):e instanceof pr?pr.create(e.items.map(e=>cr(e))):e}ur.create=(e,t)=>new ur({type:e,minLength:null,maxLength:null,exactLength:null,typeName:Rr.ZodArray,...kn(t)});class dr extends On{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(null!==this._cached)return this._cached;const e=this._def.shape(),t=rn.objectKeys(e);return this._cached={shape:e,keys:t},this._cached}_parse(e){if(this._getType(e)!==on.object){const t=this._getOrReturnCtx(e);return ln(t,{code:un.invalid_type,expected:on.object,received:t.parsedType}),pn}const{status:t,ctx:n}=this._processInputParams(e),{shape:r,keys:i}=this._getCached(),s=[];if(!(this._def.catchall instanceof or&&"strip"===this._def.unknownKeys))for(const e in n.data)i.includes(e)||s.push(e);const o=[];for(const e of i){const t=r[e],i=n.data[e];o.push({key:{status:"valid",value:e},value:t._parse(new xn(n,i,n.path,e)),alwaysSet:e in n.data})}if(this._def.catchall instanceof or){const e=this._def.unknownKeys;if("passthrough"===e)for(const e of s)o.push({key:{status:"valid",value:e},value:{status:"valid",value:n.data[e]}});else if("strict"===e)s.length>0&&(ln(n,{code:un.unrecognized_keys,keys:s}),t.dirty());else if("strip"!==e)throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const e=this._def.catchall;for(const t of s){const r=n.data[t];o.push({key:{status:"valid",value:t},value:e._parse(new xn(n,r,n.path,t)),alwaysSet:t in n.data})}}return n.common.async?Promise.resolve().then(async()=>{const e=[];for(const t of o){const n=await t.key,r=await t.value;e.push({key:n,value:r,alwaysSet:t.alwaysSet})}return e}).then(e=>hn.mergeObjectSync(t,e)):hn.mergeObjectSync(t,o)}get shape(){return this._def.shape()}strict(e){return new dr({...this._def,unknownKeys:"strict",...void 0!==e?{errorMap:(t,n)=>{const r=this._def.errorMap?.(t,n).message??n.defaultError;return"unrecognized_keys"===t.code?{message:bn.errToObj(e).message??r}:{message:r}}}:{}})}strip(){return new dr({...this._def,unknownKeys:"strip"})}passthrough(){return new dr({...this._def,unknownKeys:"passthrough"})}extend(e){return new dr({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new dr({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:Rr.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new dr({...this._def,catchall:e})}pick(e){const t={};for(const n of rn.objectKeys(e))e[n]&&this.shape[n]&&(t[n]=this.shape[n]);return new dr({...this._def,shape:()=>t})}omit(e){const t={};for(const n of rn.objectKeys(this.shape))e[n]||(t[n]=this.shape[n]);return new dr({...this._def,shape:()=>t})}deepPartial(){return cr(this)}partial(e){const t={};for(const n of rn.objectKeys(this.shape)){const r=this.shape[n];e&&!e[n]?t[n]=r:t[n]=r.optional()}return new dr({...this._def,shape:()=>t})}required(e){const t={};for(const n of rn.objectKeys(this.shape))if(e&&!e[n])t[n]=this.shape[n];else{let e=this.shape[n];for(;e instanceof Or;)e=e._def.innerType;t[n]=e}return new dr({...this._def,shape:()=>t})}keyof(){return wr(rn.objectKeys(this.shape))}}dr.create=(e,t)=>new dr({shape:()=>e,unknownKeys:"strip",catchall:or.create(),typeName:Rr.ZodObject,...kn(t)}),dr.strictCreate=(e,t)=>new dr({shape:()=>e,unknownKeys:"strict",catchall:or.create(),typeName:Rr.ZodObject,...kn(t)}),dr.lazycreate=(e,t)=>new dr({shape:e,unknownKeys:"strip",catchall:or.create(),typeName:Rr.ZodObject,...kn(t)});class fr extends On{_parse(e){const{ctx:t}=this._processInputParams(e),n=this._def.options;if(t.common.async)return Promise.all(n.map(async e=>{const n={...t,common:{...t.common,issues:[]},parent:null};return{result:await e._parseAsync({data:t.data,path:t.path,parent:n}),ctx:n}})).then(function(e){for(const t of e)if("valid"===t.result.status)return t.result;for(const n of e)if("dirty"===n.result.status)return t.common.issues.push(...n.ctx.common.issues),n.result;const n=e.map(e=>new cn(e.ctx.common.issues));return ln(t,{code:un.invalid_union,unionErrors:n}),pn});{let e;const r=[];for(const i of n){const n={...t,common:{...t.common,issues:[]},parent:null},s=i._parseSync({data:t.data,path:t.path,parent:n});if("valid"===s.status)return s;"dirty"!==s.status||e||(e={result:s,ctx:n}),n.common.issues.length&&r.push(n.common.issues)}if(e)return t.common.issues.push(...e.ctx.common.issues),e.result;const i=r.map(e=>new cn(e));return ln(t,{code:un.invalid_union,unionErrors:i}),pn}}get options(){return this._def.options}}function lr(e,t){const n=an(e),r=an(t);if(e===t)return{valid:!0,data:e};if(n===on.object&&r===on.object){const n=rn.objectKeys(t),r=rn.objectKeys(e).filter(e=>-1!==n.indexOf(e)),i={...e,...t};for(const n of r){const r=lr(e[n],t[n]);if(!r.valid)return{valid:!1};i[n]=r.data}return{valid:!0,data:i}}if(n===on.array&&r===on.array){if(e.length!==t.length)return{valid:!1};const n=[];for(let r=0;r<e.length;r++){const i=lr(e[r],t[r]);if(!i.valid)return{valid:!1};n.push(i.data)}return{valid:!0,data:n}}return n===on.date&&r===on.date&&+e===+t?{valid:!0,data:e}:{valid:!1}}fr.create=(e,t)=>new fr({options:e,typeName:Rr.ZodUnion,...kn(t)});class hr extends On{_parse(e){const{status:t,ctx:n}=this._processInputParams(e),r=(e,r)=>{if(yn(e)||yn(r))return pn;const i=lr(e.value,r.value);return i.valid?((_n(e)||_n(r))&&t.dirty(),{status:t.value,value:i.data}):(ln(n,{code:un.invalid_intersection_types}),pn)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([e,t])=>r(e,t)):r(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}}hr.create=(e,t,n)=>new hr({left:e,right:t,typeName:Rr.ZodIntersection,...kn(n)});class pr extends On{_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==on.array)return ln(n,{code:un.invalid_type,expected:on.array,received:n.parsedType}),pn;if(n.data.length<this._def.items.length)return ln(n,{code:un.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),pn;!this._def.rest&&n.data.length>this._def.items.length&&(ln(n,{code:un.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),t.dirty());const r=[...n.data].map((e,t)=>{const r=this._def.items[t]||this._def.rest;return r?r._parse(new xn(n,e,n.path,t)):null}).filter(e=>!!e);return n.common.async?Promise.all(r).then(e=>hn.mergeArray(t,e)):hn.mergeArray(t,r)}get items(){return this._def.items}rest(e){return new pr({...this._def,rest:e})}}pr.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new pr({items:e,typeName:Rr.ZodTuple,rest:null,...kn(t)})};class mr extends On{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==on.object)return ln(n,{code:un.invalid_type,expected:on.object,received:n.parsedType}),pn;const r=[],i=this._def.keyType,s=this._def.valueType;for(const e in n.data)r.push({key:i._parse(new xn(n,e,n.path,e)),value:s._parse(new xn(n,n.data[e],n.path,e)),alwaysSet:e in n.data});return n.common.async?hn.mergeObjectAsync(t,r):hn.mergeObjectSync(t,r)}get element(){return this._def.valueType}static create(e,t,n){return new mr(t instanceof On?{keyType:e,valueType:t,typeName:Rr.ZodRecord,...kn(n)}:{keyType:Gn.create(),valueType:e,typeName:Rr.ZodRecord,...kn(t)})}}class gr extends On{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==on.map)return ln(n,{code:un.invalid_type,expected:on.map,received:n.parsedType}),pn;const r=this._def.keyType,i=this._def.valueType,s=[...n.data.entries()].map(([e,t],s)=>({key:r._parse(new xn(n,e,n.path,[s,"key"])),value:i._parse(new xn(n,t,n.path,[s,"value"]))}));if(n.common.async){const e=new Map;return Promise.resolve().then(async()=>{for(const n of s){const r=await n.key,i=await n.value;if("aborted"===r.status||"aborted"===i.status)return pn;"dirty"!==r.status&&"dirty"!==i.status||t.dirty(),e.set(r.value,i.value)}return{status:t.value,value:e}})}{const e=new Map;for(const n of s){const r=n.key,i=n.value;if("aborted"===r.status||"aborted"===i.status)return pn;"dirty"!==r.status&&"dirty"!==i.status||t.dirty(),e.set(r.value,i.value)}return{status:t.value,value:e}}}}gr.create=(e,t,n)=>new gr({valueType:t,keyType:e,typeName:Rr.ZodMap,...kn(n)});class yr extends On{_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==on.set)return ln(n,{code:un.invalid_type,expected:on.set,received:n.parsedType}),pn;const r=this._def;null!==r.minSize&&n.data.size<r.minSize.value&&(ln(n,{code:un.too_small,minimum:r.minSize.value,type:"set",inclusive:!0,exact:!1,message:r.minSize.message}),t.dirty()),null!==r.maxSize&&n.data.size>r.maxSize.value&&(ln(n,{code:un.too_big,maximum:r.maxSize.value,type:"set",inclusive:!0,exact:!1,message:r.maxSize.message}),t.dirty());const i=this._def.valueType;function s(e){const n=new Set;for(const r of e){if("aborted"===r.status)return pn;"dirty"===r.status&&t.dirty(),n.add(r.value)}return{status:t.value,value:n}}const o=[...n.data.values()].map((e,t)=>i._parse(new xn(n,e,n.path,t)));return n.common.async?Promise.all(o).then(e=>s(e)):s(o)}min(e,t){return new yr({...this._def,minSize:{value:e,message:bn.toString(t)}})}max(e,t){return new yr({...this._def,maxSize:{value:e,message:bn.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}}yr.create=(e,t)=>new yr({valueType:e,minSize:null,maxSize:null,typeName:Rr.ZodSet,...kn(t)});class _r extends On{get schema(){return this._def.getter()}_parse(e){const{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}}_r.create=(e,t)=>new _r({getter:e,typeName:Rr.ZodLazy,...kn(t)});class vr extends On{_parse(e){if(e.data!==this._def.value){const t=this._getOrReturnCtx(e);return ln(t,{received:t.data,code:un.invalid_literal,expected:this._def.value}),pn}return{status:"valid",value:e.data}}get value(){return this._def.value}}function wr(e,t){return new br({values:e,typeName:Rr.ZodEnum,...kn(t)})}vr.create=(e,t)=>new vr({value:e,typeName:Rr.ZodLiteral,...kn(t)});class br extends On{_parse(e){if("string"!=typeof e.data){const t=this._getOrReturnCtx(e),n=this._def.values;return ln(t,{expected:rn.joinValues(n),received:t.parsedType,code:un.invalid_type}),pn}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){const t=this._getOrReturnCtx(e),n=this._def.values;return ln(t,{received:t.data,code:un.invalid_enum_value,options:n}),pn}return gn(e.data)}get options(){return this._def.values}get enum(){const e={};for(const t of this._def.values)e[t]=t;return e}get Values(){const e={};for(const t of this._def.values)e[t]=t;return e}get Enum(){const e={};for(const t of this._def.values)e[t]=t;return e}extract(e,t=this._def){return br.create(e,{...this._def,...t})}exclude(e,t=this._def){return br.create(this.options.filter(t=>!e.includes(t)),{...this._def,...t})}}br.create=wr;class xr extends On{_parse(e){const t=rn.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==on.string&&n.parsedType!==on.number){const e=rn.objectValues(t);return ln(n,{expected:rn.joinValues(e),received:n.parsedType,code:un.invalid_type}),pn}if(this._cache||(this._cache=new Set(rn.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){const e=rn.objectValues(t);return ln(n,{received:n.data,code:un.invalid_enum_value,options:e}),pn}return gn(e.data)}get enum(){return this._def.values}}xr.create=(e,t)=>new xr({values:e,typeName:Rr.ZodNativeEnum,...kn(t)});class Er extends On{unwrap(){return this._def.type}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==on.promise&&!1===t.common.async)return ln(t,{code:un.invalid_type,expected:on.promise,received:t.parsedType}),pn;const n=t.parsedType===on.promise?t.data:Promise.resolve(t.data);return gn(n.then(e=>this._def.type.parseAsync(e,{path:t.path,errorMap:t.common.contextualErrorMap})))}}Er.create=(e,t)=>new Er({type:e,typeName:Rr.ZodPromise,...kn(t)});class kr extends On{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Rr.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){const{status:t,ctx:n}=this._processInputParams(e),r=this._def.effect||null,i={addIssue:e=>{ln(n,e),e.fatal?t.abort():t.dirty()},get path(){return n.path}};if(i.addIssue=i.addIssue.bind(i),"preprocess"===r.type){const e=r.transform(n.data,i);if(n.common.async)return Promise.resolve(e).then(async e=>{if("aborted"===t.value)return pn;const r=await this._def.schema._parseAsync({data:e,path:n.path,parent:n});return"aborted"===r.status?pn:"dirty"===r.status||"dirty"===t.value?mn(r.value):r});{if("aborted"===t.value)return pn;const r=this._def.schema._parseSync({data:e,path:n.path,parent:n});return"aborted"===r.status?pn:"dirty"===r.status||"dirty"===t.value?mn(r.value):r}}if("refinement"===r.type){const e=e=>{const t=r.refinement(e,i);if(n.common.async)return Promise.resolve(t);if(t instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return e};if(!1===n.common.async){const r=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return"aborted"===r.status?pn:("dirty"===r.status&&t.dirty(),e(r.value),{status:t.value,value:r.value})}return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(n=>"aborted"===n.status?pn:("dirty"===n.status&&t.dirty(),e(n.value).then(()=>({status:t.value,value:n.value}))))}if("transform"===r.type){if(!1===n.common.async){const e=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!vn(e))return pn;const s=r.transform(e.value,i);if(s instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:t.value,value:s}}return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(e=>vn(e)?Promise.resolve(r.transform(e.value,i)).then(e=>({status:t.value,value:e})):pn)}rn.assertNever(r)}}kr.create=(e,t,n)=>new kr({schema:e,typeName:Rr.ZodEffects,effect:t,...kn(n)}),kr.createWithPreprocess=(e,t,n)=>new kr({schema:t,effect:{type:"preprocess",transform:e},typeName:Rr.ZodEffects,...kn(n)});class Or extends On{_parse(e){return this._getType(e)===on.undefined?gn(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}Or.create=(e,t)=>new Or({innerType:e,typeName:Rr.ZodOptional,...kn(t)});class Sr extends On{_parse(e){return this._getType(e)===on.null?gn(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}Sr.create=(e,t)=>new Sr({innerType:e,typeName:Rr.ZodNullable,...kn(t)});class Ar extends On{_parse(e){const{ctx:t}=this._processInputParams(e);let n=t.data;return t.parsedType===on.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:t.path,parent:t})}removeDefault(){return this._def.innerType}}Ar.create=(e,t)=>new Ar({innerType:e,typeName:Rr.ZodDefault,defaultValue:"function"==typeof t.default?t.default:()=>t.default,...kn(t)});class Pr extends On{_parse(e){const{ctx:t}=this._processInputParams(e),n={...t,common:{...t.common,issues:[]}},r=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return wn(r)?r.then(e=>({status:"valid",value:"valid"===e.status?e.value:this._def.catchValue({get error(){return new cn(n.common.issues)},input:n.data})})):{status:"valid",value:"valid"===r.status?r.value:this._def.catchValue({get error(){return new cn(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}}Pr.create=(e,t)=>new Pr({innerType:e,typeName:Rr.ZodCatch,catchValue:"function"==typeof t.catch?t.catch:()=>t.catch,...kn(t)});class Ir extends On{_parse(e){if(this._getType(e)!==on.nan){const t=this._getOrReturnCtx(e);return ln(t,{code:un.invalid_type,expected:on.nan,received:t.parsedType}),pn}return{status:"valid",value:e.data}}}Ir.create=e=>new Ir({typeName:Rr.ZodNaN,...kn(e)});class Tr extends On{_parse(e){const{ctx:t}=this._processInputParams(e),n=t.data;return this._def.type._parse({data:n,path:t.path,parent:t})}unwrap(){return this._def.type}}class Nr extends On{_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.common.async){return(async()=>{const e=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return"aborted"===e.status?pn:"dirty"===e.status?(t.dirty(),mn(e.value)):this._def.out._parseAsync({data:e.value,path:n.path,parent:n})})()}{const e=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return"aborted"===e.status?pn:"dirty"===e.status?(t.dirty(),{status:"dirty",value:e.value}):this._def.out._parseSync({data:e.value,path:n.path,parent:n})}}static create(e,t){return new Nr({in:e,out:t,typeName:Rr.ZodPipeline})}}class Cr extends On{_parse(e){const t=this._def.innerType._parse(e),n=e=>(vn(e)&&(e.value=Object.freeze(e.value)),e);return wn(t)?t.then(e=>n(e)):n(t)}unwrap(){return this._def.innerType}}function $r(e,t){const n="function"==typeof e?e(t):"string"==typeof e?{message:e}:e;return"string"==typeof n?{message:n}:n}var Rr;Cr.create=(e,t)=>new Cr({innerType:e,typeName:Rr.ZodReadonly,...kn(t)}),function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"}(Rr||(Rr={}));const Br=Gn.create,Ur=Qn.create,jr=Xn.create,Zr=Jn.create,zr=er.create,Fr=rr.create,Lr=ir.create,Dr=ur.create,Hr=dr.create,qr=fr.create,Vr=mr.create,Mr=_r.create;jr(),Zr(),zr();const Kr=Ur().min(Number.MIN_SAFE_INTEGER).max(Number.MAX_SAFE_INTEGER).int(),Wr=((e,t={message:`Input not instance of ${e.name}`})=>function(e,t={},n){return e?ir.create().superRefine((r,i)=>{const s=e(r);if(s instanceof Promise)return s.then(e=>{if(!e){const e=$r(t,r),s=e.fatal??n??!0;i.addIssue({code:"custom",...e,fatal:s})}});if(!s){const e=$r(t,r),s=e.fatal??n??!0;i.addIssue({code:"custom",...e,fatal:s})}}):ir.create()}(t=>t instanceof e,t))(Uint8Array);Br(),Kr.min(5e8),Lr(),Kr.min(0).max(255),Kr.min(0).max(65535);const Gr=Kr.min(0).max(4294967295);Ur().refine(e=>String(e).includes(".")).refine(e=>{const t=String(e).split(".").at(1);return void 0!==t&&t.length<=2});const Yr=Br().regex(/^[0-9a-fA-F]*$/).refine(e=>e.length%2==0),Qr=qr([Br(),Ur(),Zr(),Fr()]),Xr=Mr(()=>qr([Qr,Dr(Xr),Vr(Xr)]));Wr.refine(e=>20===e.length);const Jr=Wr.refine(e=>32===e.length),ei=Wr.refine(e=>33===e.length),ti=Wr.refine(e=>64===e.length);Yr.refine(e=>40===e.length);const ni=Yr.refine(e=>64===e.length),ri=Yr.refine(e=>66===e.length),ii=Yr.refine(e=>128===e.length);qr([Yr,Wr]);const si=qr([ni,Jr]);
|
|
13
13
|
/*! scure-base - MIT License (c) 2022 Paul Miller (paulmillr.com) */
|
|
14
|
-
function oi(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&"Uint8Array"===e.constructor.name}function ai(e,t){return!!Array.isArray(t)&&(0===t.length||(e?t.every(e=>"string"==typeof e):t.every(e=>Number.isSafeInteger(e))))}function ui(e){if("function"!=typeof e)throw new Error("function expected");return!0}function ci(e,t){if("string"!=typeof t)throw new Error(`${e}: string expected`);return!0}function di(e){if(!Number.isSafeInteger(e))throw new Error(`invalid integer: ${e}`)}function fi(e){if(!Array.isArray(e))throw new Error("array expected")}function li(e,t){if(!ai(!0,t))throw new Error(`${e}: array of strings expected`)}function hi(e,t){if(!ai(!1,t))throw new Error(`${e}: array of numbers expected`)}function pi(...e){const t=e=>e,n=(e,t)=>n=>e(t(n));return{encode:e.map(e=>e.encode).reduceRight(n,t),decode:e.map(e=>e.decode).reduce(n,t)}}function mi(e){const t="string"==typeof e?e.split(""):e,n=t.length;li("alphabet",t);const r=new Map(t.map((e,t)=>[e,t]));return{encode:r=>(fi(r),r.map(r=>{if(!Number.isSafeInteger(r)||r<0||r>=n)throw new Error(`alphabet.encode: digit index outside alphabet "${r}". Allowed: ${e}`);return t[r]})),decode:t=>(fi(t),t.map(t=>{ci("alphabet.decode",t);const n=r.get(t);if(void 0===n)throw new Error(`Unknown letter: "${t}". Allowed: ${e}`);return n}))}}function gi(e=""){return ci("join",e),{encode:t=>(li("join.decode",t),t.join(e)),decode:t=>(ci("join.decode",t),t.split(e))}}function yi(e,t,n){if(t<2)throw new Error(`convertRadix: invalid from=${t}, base cannot be less than 2`);if(n<2)throw new Error(`convertRadix: invalid to=${n}, base cannot be less than 2`);if(fi(e),!e.length)return[];let r=0;const i=[],s=Array.from(e,e=>{if(di(e),e<0||e>=t)throw new Error(`invalid integer: ${e}`);return e}),o=s.length;for(;;){let e=0,a=!0;for(let i=r;i<o;i++){const o=s[i],u=t*e,c=u+o;if(!Number.isSafeInteger(c)||u/t!==e||c-o!==u)throw new Error("convertRadix: carry overflow");const d=c/n;e=c%n;const f=Math.floor(d);if(s[i]=f,!Number.isSafeInteger(f)||f*n+e!==c)throw new Error("convertRadix: carry overflow");a&&(f?a=!1:r=i)}if(i.push(e),a)break}for(let t=0;t<e.length-1&&0===e[t];t++)i.push(0);return i.reverse()}qr([ri,ei]),qr([ii,ti]),Br().regex(/^[1-9A-HJ-NP-Za-km-z]+$/),Br().regex(/^[a-zA-Z0-9+/]+={0,2}$/),Br().regex(/^[a-zA-Z0-9\-_]+={0,2}$/),Br().regex(/^[a-z]+1[023456789acdefghjklmnpqrstuvwxyz]+$/);const _i=(e,t)=>0===t?e:_i(t,e%t),vi=(e,t)=>e+(t-_i(e,t)),wi=(()=>{let e=[];for(let t=0;t<40;t++)e.push(2**t);return e})();function bi(e,t,n,r){if(fi(e),t<=0||t>32)throw new Error(`convertRadix2: wrong from=${t}`);if(n<=0||n>32)throw new Error(`convertRadix2: wrong to=${n}`);if(vi(t,n)>32)throw new Error(`convertRadix2: carry overflow from=${t} to=${n} carryBits=${vi(t,n)}`);let i=0,s=0;const o=wi[t],a=wi[n]-1,u=[];for(const r of e){if(di(r),r>=o)throw new Error(`convertRadix2: invalid data word=${r} from=${t}`);if(i=i<<t|r,s+t>32)throw new Error(`convertRadix2: carry overflow pos=${s} from=${t}`);for(s+=t;s>=n;s-=n)u.push((i>>s-n&a)>>>0);const e=wi[s];if(void 0===e)throw new Error("invalid carry");i&=e-1}if(i=i<<n-s&a,!r&&s>=t)throw new Error("Excess padding");if(!r&&i>0)throw new Error(`Non-zero padding: ${i}`);return r&&s>0&&u.push(i>>>0),u}function xi(e,t=!1){if(di(e),e<=0||e>32)throw new Error("radix2: bits should be in (0..32]");if(vi(8,e)>32||vi(e,8)>32)throw new Error("radix2: carry overflow");return{encode:n=>{if(!oi(n))throw new Error("radix2.encode input should be Uint8Array");return bi(Array.from(n),8,e,!t)},decode:n=>(hi("radix2.decode",n),Uint8Array.from(bi(n,e,8,t)))}}function Ei(e){return ui(e),function(...t){try{return e.apply(null,t)}catch(e){}}}const ki=(()=>"function"==typeof Uint8Array.from([]).toBase64&&"function"==typeof Uint8Array.fromBase64)()?{encode:e=>(function(e,...t){if(!oi(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}(e),e.toBase64()),decode:e=>(e=>{if(ci("base64",e),e.length>0&&!/^[A-Za-z0-9=+/]+$/.test(e))throw new Error("invalid base64");return Uint8Array.fromBase64(e,{alphabet:"base64",lastChunkHandling:"strict"})})(e)}:pi(xi(6),mi("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),function(e,t="="){return di(e),ci("padding",t),{encode(n){for(li("padding.encode",n);n.length*e%8;)n.push(t);return n},decode(n){li("padding.decode",n);let r=n.length;if(r*e%8)throw new Error("padding: invalid, string should have whole number of bytes");for(;r>0&&n[r-1]===t;r--){if((r-1)*e%8==0)throw new Error("padding: invalid, string has too much padding")}return n.slice(0,r)}}}(6),gi("")),Oi=pi(xi(6),mi("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),gi("")),Si=(Ai="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",pi(function(e){return di(e),{encode:t=>{if(!oi(t))throw new Error("radix.encode input should be Uint8Array");return yi(Array.from(t),256,e)},decode:t=>(hi("radix.decode",t),Uint8Array.from(yi(t,e,256)))}}(58),mi(Ai),gi("")));var Ai;const Pi=e=>{return pi((n=t=>e(e(t)),di(t=4),ui(n),{encode(e){if(!oi(e))throw new Error("checksum.encode: input should be Uint8Array");const r=n(e).slice(0,t),i=new Uint8Array(e.length+t);return i.set(e),i.set(r,e.length),i},decode(e){if(!oi(e))throw new Error("checksum.decode: input should be Uint8Array");const r=e.slice(0,-t),i=e.slice(-t),s=n(r).slice(0,t);for(let e=0;e<t;e++)if(s[e]!==i[e])throw new Error("Invalid checksum");return r}}),Si);var t,n},Ii=pi(mi("qpzry9x8gf2tvdw0s3jn54khce6mua7l"),gi("")),Ti=[996825010,642813549,513874426,1027748829,705979059];function Ni(e){const t=e>>25;let n=(33554431&e)<<5;for(let e=0;e<Ti.length;e++)1==(t>>e&1)&&(n^=Ti[e]);return n}function Ci(e,t,n=1){const r=e.length;let i=1;for(let t=0;t<r;t++){const n=e.charCodeAt(t);if(n<33||n>126)throw new Error(`Invalid prefix (${e})`);i=Ni(i)^n>>5}i=Ni(i);for(let t=0;t<r;t++)i=Ni(i)^31&e.charCodeAt(t);for(let e of t)i=Ni(i)^e;for(let e=0;e<6;e++)i=Ni(i);return i^=n,Ii.encode(bi([i%wi[30]],30,5,!1))}function $i(e){const t="bech32"===e?1:734539939,n=xi(5),r=n.decode,i=n.encode,s=Ei(r);function o(e,n,r=90){ci("bech32.encode prefix",e),oi(n)&&(n=Array.from(n)),hi("bech32.encode",n);const i=e.length;if(0===i)throw new TypeError(`Invalid prefix length ${i}`);const s=i+7+n.length;if(!1!==r&&s>r)throw new TypeError(`Length ${s} exceeds limit ${r}`);const o=e.toLowerCase(),a=Ci(o,n,t);return`${o}1${Ii.encode(n)}${a}`}function a(e,n=90){ci("bech32.decode input",e);const r=e.length;if(r<8||!1!==n&&r>n)throw new TypeError(`invalid string length: ${r} (${e}). Expected (8..${n})`);const i=e.toLowerCase();if(e!==i&&e!==e.toUpperCase())throw new Error("String must be lowercase or uppercase");const s=i.lastIndexOf("1");if(0===s||-1===s)throw new Error('Letter "1" must be present between prefix and data only');const o=i.slice(0,s),a=i.slice(s+1);if(a.length<6)throw new Error("Data must be at least 6 characters long");const u=Ii.decode(a).slice(0,-6),c=Ci(o,u,t);if(!a.endsWith(c))throw new Error(`Invalid checksum in ${e}: expected "${c}"`);return{prefix:o,words:u}}return{encode:o,decode:a,encodeFromBytes:function(e,t){return o(e,i(t))},decodeToBytes:function(e){const{prefix:t,words:n}=a(e,!1);return{prefix:t,words:n,bytes:r(n)}},decodeUnsafe:Ei(a),fromWords:r,fromWordsUnsafe:s,toWords:i}}const Ri=$i("bech32"),Bi=$i("bech32m");var Ui,ji,Zi,zi,Li;function Fi(e){if("string"!=typeof e||0===e.length)throw new Error(`invalid prefix: ${String(e)}`)}function Di(e){if(!Array.isArray(e)||!e.every(e=>"number"==typeof e))throw new Error(`invalid words: ${String(e)}`)}!function(e){e.encode=e=>(b.is_u8a(e),Pi(ee).encode(e)),e.decode=e=>(b.is_base58(e),Pi(ee).decode(e))}(Ui||(Ui={})),function(e){e.encode=e=>(b.is_u8a(e),ki.encode(e)),e.decode=e=>(b.is_base64(e),ki.decode(e))}(ji||(ji={})),function(e){e.encode=e=>(b.is_u8a(e),Oi.encode(e)),e.decode=e=>(b.is_b64url(e),Oi.decode(e))}(Zi||(Zi={})),function(e){e.to_words=Ri.toWords,e.to_bytes=Ri.fromWords,e.encode=(e,t,n=!1)=>(Fi(e),Di(t),Ri.encode(e,t,n)),e.decode=(e,t=!1)=>(b.is_bech32(e),Ri.decode(e,t))}(zi||(zi={})),function(e){e.to_words=Bi.toWords,e.to_bytes=Bi.fromWords,e.encode=(e,t,n=!1)=>(Fi(e),Di(t),Bi.encode(e,t,n)),e.decode=(e,t=!1)=>(b.is_bech32(e),Bi.decode(e,t))}(Li||(Li={}));const Hi={base58:/^[13mn2][a-km-zA-HJ-NP-Z1-9]{25,34}$/,bech32:/^(bc|tb|bcrt)1q[ac-hj-np-z02-9]{6,87}$/,bech32m:/^(bc|tb|bcrt)1p[ac-hj-np-z02-9]{6,87}$/},qi=0,Vi=1;function Mi(e){const t=function(e){for(const[t,n]of Object.entries(Hi))if(n.test(e))return t;return null}(e);if(null===t)throw new Error("unrecognized address format: "+t);if("base58"===t)return function(e){const t=Ui.decode(e),n=t.slice(1),r=t[0];return{data:n,format:"base58",version:r}}(e);if("bech32"===t)return function(e){const{prefix:t,words:n}=zi.decode(e),[r,...i]=n;b.ok(r===qi,"bech32 version mismatch");return{data:zi.to_bytes(i),format:"bech32",prefix:t,version:r}}(e);if("bech32m"===t)return function(e){const{prefix:t,words:n}=Li.decode(e),[r,...i]=n;b.ok(r===Vi,"bech32m version mismatch");return{data:Li.to_bytes(i),format:"bech32m",prefix:t,version:r}}(e);throw new Error("unable to find a matching address configuration")}function Ki(e){if("base58"===e.format)return function(e){b.ok("base58"===e.format,"encoding mismatch"),b.exists(e.version,"must specify a version");const t=g.join([e.version,e.data]);return Ui.encode(t)}(e);if("bech32"===e.format)return function(e){b.ok("bech32"===e.format,"encoding mismatch"),b.exists(e.prefix,"prefix is required");const t=g.bytes(e.data),n=zi.to_words(t);return zi.encode(e.prefix,[qi,...n])}(e);if("bech32m"===e.format)return function(e){b.ok("bech32m"===e.format,"encoding mismatch"),b.exists(e.prefix,"prefix is required");const t=g.bytes(e.data),n=Li.to_words(t);return Li.encode(e.prefix,[Vi,...n])}(e);throw new Error("unrecognized encoding format: "+e.format)}const Wi=[["1","p2pkh","main",20,"base58",0],["3","p2sh","main",20,"base58",5],["m","p2pkh","testnet",20,"base58",111],["n","p2pkh","testnet",20,"base58",111],["2","p2sh","testnet",20,"base58",196],["m","p2pkh","regtest",20,"base58",111],["n","p2pkh","regtest",20,"base58",111],["2","p2sh","regtest",20,"base58",196],["bc","p2w-pkh","main",20,"bech32",0],["tb","p2w-pkh","testnet",20,"bech32",0],["bcrt","p2w-pkh","regtest",20,"bech32",0],["bc","p2w-sh","main",32,"bech32",0],["tb","p2w-sh","testnet",32,"bech32",0],["bcrt","p2w-sh","regtest",32,"bech32",0],["bc","p2tr","main",32,"bech32m",1],["tb","p2tr","testnet",32,"bech32m",1],["bcrt","p2tr","regtest",32,"bech32m",1]];function Gi(e,t){for(const[n,r,i,s,o,a]of Wi)if(r===t&&i===e)return{type:r,prefix:n,network:i,size:s,format:o,version:a};return null}function Yi(e){const t=function(e){const t=Mi(e);for(const[n,r,i,s,o,a]of Wi){if(o!==t.format)continue;if(s!==t.data.length)continue;if(a!==t.version)continue;if(t.prefix){if(n!==t.prefix)continue}else if(!e.startsWith(n))continue;const u=g.uint(t.data).hex;return{data:t.data,hex:u,type:r,prefix:n,network:i,size:s,format:o,version:a}}throw new Error("address configuration is invalid")}(e),n=function(e,t){switch(t){case"p2pkh":return function(e){return{script_hex:"76a914"+e+"88ac",script_asm:["OP_DUP","OP_HASH160",e,"OP_EQUALVERIFY","OP_CHECKSIG"]}}(e);case"p2sh":return function(e){return{script_hex:"a914"+e+"87",script_asm:["OP_HASH160",e,"OP_EQUAL"]}}(e);case"p2w-pkh":return function(e){return{script_hex:"0014"+e,script_asm:["OP_0",e]}}(e);case"p2w-sh":return function(e){return{script_hex:"0020"+e,script_asm:["OP_0",e]}}(e);case"p2tr":return function(e){return{script_hex:"5120"+e,script_asm:["OP_1",e]}}(e);default:throw new Error("unrecognized script type: "+t)}}(t.hex,t.type);return{...t,...n}}const Qi="p2pkh";var Xi;function Ji(e,t="main"){return es(Jt(g.bytes(e)),t)}function es(e,t="main"){const n=g.bytes(e),r=Gi(t,Qi);return b.exists(r,`unrecognized address config: ${Qi} on ${t}`),b.size(n,r.size,`invalid payload size: ${n.length} !== ${r.size}`),Ki({data:n,format:"base58",version:r.version})}function ts(e){const t=Yi(e);return b.ok("p2pkh"===t.type,`address type mismatch: ${t.type} !== ${Qi}`),t}!function(e){e.create=Ji,e.encode=es,e.decode=ts}(Xi||(Xi={}));const ns="p2sh";var rs;function is(e,t="main"){return ss(Jt(g.bytes(e)),t)}function ss(e,t="main"){const n=g.bytes(e),r=Gi(t,ns);return b.exists(r,`unrecognized address config: ${ns} on ${t}`),b.size(n,r.size,`invalid payload size: ${n.length} !== ${r.size}`),Ki({data:n,format:"base58",version:r.version})}function os(e){const t=Yi(e);return b.ok("p2sh"===t.type,`address type mismatch: ${t.type} !== ${ns}`),t}!function(e){e.create=is,e.encode=ss,e.decode=os}(rs||(rs={}));const as="p2w-pkh";var us;function cs(e,t="main"){const n=g.bytes(e);b.size(n,33,`invalid payload size: ${n.length} !== 33`);return ds(Jt(n),t)}function ds(e,t="main"){const n=g.bytes(e),r=Gi(t,as);return b.exists(r,`unrecognized address config: ${as} on ${t}`),b.size(n,r.size,`invalid payload size: ${n.length} !== ${r.size}`),Ki({data:n,format:"bech32",prefix:r.prefix})}function fs(e){const t=Yi(e);return b.ok("p2w-pkh"===t.type,`address type mismatch: ${t.type} !== ${as}`),t}!function(e){e.create=cs,e.encode=ds,e.decode=fs}(us||(us={}));const ls="p2w-sh";var hs;function ps(e,t="main"){return ms(en(g.bytes(e)),t)}function ms(e,t="main"){const n=g.bytes(e),r=Gi(t,ls);return b.exists(r,`unrecognized address config: ${ls} on ${t}`),b.size(n,r.size,`invalid payload size: ${n.length} !== ${r.size}`),Ki({data:n,format:"bech32",prefix:r.prefix})}function gs(e){const t=Yi(e);return b.ok("p2w-sh"===t.type,`address type mismatch: ${t.type} !== ${ls}`),t}!function(e){e.create=ps,e.encode=ms,e.decode=gs}(hs||(hs={}));const ys="p2tr";var _s,vs;function ws(e,t="main"){const n=g.bytes(e),r=Gi(t,ys);return b.exists(r,`unrecognized address config: ${ys} on ${t}`),b.size(n,r.size,`invalid payload size: ${n.length} !== ${r.size}`),Ki({data:n,format:"bech32m",prefix:r.prefix})}function bs(e){const t=Yi(e);return b.ok("p2tr"===t.type,`address type mismatch: ${t.type} !== ${ys}`),t}!function(e){e.encode=ws,e.decode=bs}(_s||(_s={})),function(e){e.P2PKH=Xi,e.P2SH=rs,e.P2WPKH=us,e.P2WSH=hs,e.P2TR=_s,e.parse=Yi}(vs||(vs={}));var xs=Object.freeze({__proto__:null,get AddressTool(){return vs},get P2PKH(){return Xi},get P2SH(){return rs},get P2TR(){return _s},get P2WPKH(){return us},get P2WSH(){return hs},parse_address:Yi});const Es=5e8;var ks,Os;function Ss(e){switch(e.type){case"timelock":return b.ok(e.stamp>=Es,"Invalid timestamp"),e.stamp;case"heightlock":return b.ok(e.height>0,"height must be greater than 0"),b.ok(e.height<Es,"invalid block height"),e.height;default:throw new Error("Invalid locktime type")}}function As(e){return isNaN(e)||e<=0?null:e<Es?{type:"heightlock",height:e}:{type:"timelock",stamp:e}}function Ps(e,t=0){return`${e}i${t}`}function Is(e){Ns(e);const[t,n]=e.split("i");return{txid:t,order:parseInt(n)}}function Ts(e){return null!==e.match(/^[a-f0-9]{64}i\d+$/)}function Ns(e){if(!Ts(e))throw new Error(`invalid inscription id: ${e}`)}function Cs(e,t){return`${e}:${t}`}function $s(e){Bs(e);const[t,n]=e.split(":");return{block_height:parseInt(t),block_index:parseInt(n)}}function Rs(e){return null!==e.match(/^\d+:\d+$/)}function Bs(e){if(!Rs(e))throw new Error(`invalid rune id: ${e}`)}function Us(e,t){return`${e}:${t}`}function js(e){zs(e);const[t,n]=e.split(":");return{txid:t,vout:parseInt(n)}}function Zs(e){return null!==e.match(/^[a-f0-9]{64}:[0-9]+$/)}function zs(e){if(!Zs(e))throw new Error(`invalid outpoint: ${e}`)}!function(e){e.encode=Ss,e.decode=As}(ks||(ks={})),function(e){e.outpoint={encode:Us,decode:js,verify:Zs,assert:zs},e.record_id={encode:Ps,decode:Is,verify:Ts,assert:Ns},e.rune_id={encode:Cs,decode:$s,verify:Rs,assert:Bs}}(Os||(Os={}));const Ls={OP_0:0,OP_PUSHDATA1:76,OP_PUSHDATA2:77,OP_PUSHDATA4:78,OP_1NEGATE:79,OP_SUCCESS80:80,OP_1:81,OP_2:82,OP_3:83,OP_4:84,OP_5:85,OP_6:86,OP_7:87,OP_8:88,OP_9:89,OP_10:90,OP_11:91,OP_12:92,OP_13:93,OP_14:94,OP_15:95,OP_16:96,OP_NOP:97,OP_SUCCESS98:98,OP_IF:99,OP_NOTIF:100,OP_ELSE:103,OP_ENDIF:104,OP_VERIFY:105,OP_RETURN:106,OP_TOALTSTACK:107,OP_FROMALTSTACK:108,OP_2DROP:109,OP_2DUP:110,OP_3DUP:111,OP_2OVER:112,OP_2ROT:113,OP_2SWAP:114,OP_IFDUP:115,OP_DEPTH:116,OP_DROP:117,OP_DUP:118,OP_NIP:119,OP_OVER:120,OP_PICK:121,OP_ROLL:122,OP_ROT:123,OP_SWAP:124,OP_TUCK:125,OP_SUCCESS126:126,OP_SUCCESS127:127,OP_SUCCESS128:128,OP_SUCCESS129:129,OP_SIZE:130,OP_SUCCESS131:131,OP_SUCCESS132:132,OP_SUCCESS133:133,OP_SUCCESS134:134,OP_EQUAL:135,OP_EQUALVERIFY:136,OP_SUCCESS137:137,OP_SUCCESS138:138,OP_1ADD:139,OP_1SUB:140,OP_SUCCESS141:141,OP_SUCCESS142:142,OP_NEGATE:143,OP_ABS:144,OP_NOT:145,OP_0NOTEQUAL:146,OP_ADD:147,OP_SUB:148,OP_SUCCESS149:149,OP_SUCCESS150:150,OP_SUCCESS151:151,OP_SUCCESS152:152,OP_SUCCESS153:153,OP_BOOLAND:154,OP_BOOLOR:155,OP_NUMEQUAL:156,OP_NUMEQUALVERIFY:157,OP_NUMNOTEQUAL:158,OP_LESSTHAN:159,OP_GREATERTHAN:160,OP_LESSTHANOREQUAL:161,OP_GREATERTHANOREQUAL:162,OP_MIN:163,OP_MAX:164,OP_WITHIN:165,OP_RIPEMD160:166,OP_SHA1:167,OP_SHA256:168,OP_HASH160:169,OP_HASH256:170,OP_CODESEPARATOR:171,OP_CHECKSIG:172,OP_CHECKSIGVERIFY:173,OP_CHECKMULTISIG:174,OP_CHECKMULTISIGVERIFY:175,OP_NOP1:176,OP_CHECKLOCKTIMEVERIFY:177,OP_CHECKSEQUENCEVERIFY:178,OP_NOP4:179,OP_NOP5:180,OP_NOP6:181,OP_NOP7:182,OP_NOP8:183,OP_NOP9:184,OP_NOP10:185,OP_CHECKSIGADD:186};function Fs(e){if(e>186&&e<255)return"OP_SUCCESS"+String(e);for(const[t,n]of Object.entries(Ls))if(n===e)return t;throw new Error("OPCODE not found:"+String(e))}function Ds(e){for(const[t,n]of Object.entries(Ls))if(t===e)return Number(n);throw new Error("OPCODE not found:"+e)}function Hs(e){switch(!0){case 0===e:return"opcode";case e>=1&&e<=75:return"varint";case 76===e:return"pushdata1";case 77===e:return"pushdata2";case 78===e:return"pushdata4";case e<=254:return"opcode";default:throw new Error(`Invalid word range: ${e}`)}}function qs(e){switch(!0){case"number"!=typeof e:return!1;case 0===e:return!0;case[].includes(e):return!1;case 75<e&&e<254:return!0;default:return!1}}const Vs=520;function Ms(e,t=!1){if(0===e.length)return"00";const n=[];for(const t of e)n.push(Ks(t));const r=g.join(n);return t?r.prepend(g.varint(r.length,"le")).hex:r.hex}function Ks(e){let t;if("string"==typeof e){if(e.startsWith("OP_")){const t=Ds(e);return g.num(t,1)}t=g.is_hex(e)?g.hex(e):g.str(e)}else if("number"==typeof e)t=g.num(e);else{if(!(e instanceof Uint8Array))throw new Error("invalid word type:"+typeof e);t=new g(e)}if(1===t.length&&t[0]<=16)0!==t[0]&&(t[0]+=80);else if(t.length>Vs){let e;e=Ws(t),e=e.map(e=>Gs(e)),t=g.join(e)}else t=Gs(t);return t}function Ws(e){const t=[],n=new y(e);for(;n.size>Vs;)t.push(n.read(Vs));return t.push(n.read(n.size)),t}function Gs(e){const t=Ys(e.length);return g.join([t,e])}function Ys(e){const t=g.num(76,1),n=g.num(77,1);switch(!0){case e<=75:return g.num(e);case e>75&&e<256:return g.join([t,g.num(e,1,"le")]);case e>=256&&e<=Vs:return g.join([n,g.num(e,2,"le")]);default:throw new Error("Invalid word size:"+e.toString())}}function Qs(e){const t=new y(e),n=[],r=t.size;let i,s,o,a=0;for(;a<r;)switch(i=t.read(1).num,s=Hs(i),a++,s){case"varint":n.push(t.read(i).hex),a+=i;break;case"pushdata1":o=t.read(1).reverse().num,n.push(t.read(o).hex),a+=o+1;break;case"pushdata2":o=t.read(2).reverse().num,n.push(t.read(o).hex),a+=o+2;break;case"pushdata4":o=t.read(4).reverse().num,n.push(t.read(o).hex),a+=o+4;break;case"opcode":if(!qs(i))throw new Error(`Invalid OPCODE: ${i}`);n.push(Fs(i));break;default:throw new Error(`Word type undefined: ${i}`)}return n}function Xs(e){try{return Qs(e).length>0}catch{return!1}}const Js=BigInt(0),eo=BigInt(1),to=BigInt(26);var no;function ro(e){const t=function(e){const t=Qs(e),n=t.findIndex(e=>"OP_0"===e);b.ok(-1!==n,"inscription envelope not found");const r=[];for(let e=n;e<t.length;e++){b.ok("OP_IF"===t[e+1],"OP_IF missing from envelope"),b.ok("6f7264"===t[e+2],"magic bytes missing from envelope");const n=t.findIndex(e=>"OP_ENDIF"===e);b.ok(-1!==n,"inscription envelope missing END_IF statement");const i=t.slice(e+3,n);r.push(i),e+=n}return r}(e);return t.map(oo)}function io(e){return e.map(so).join("")}function so(e){let t=["OP_0","OP_IF","6f7264"];if("string"==typeof e.delegate){const n=ao(e.delegate);t.push("OP_11",n)}if("string"==typeof e.ref&&t.push("OP_WITHIN",e.ref),"string"==typeof e.parent){const n=ao(e.parent);t.push("OP_3",n)}if("number"==typeof e.opcode){const n=co(e.opcode);t.push("OP_NOP",n)}if("number"==typeof e.pointer){const n=co(e.pointer);t.push("OP_2",n)}if("string"==typeof e.rune){const n=function(e){const t=e.toUpperCase();let n=Js;for(const e of t)e>="A"&&e<="Z"&&(n=n*to+BigInt(e.charCodeAt(0)-("A".charCodeAt(0)-1)));return n-=eo,g.big(n).reverse().hex}(e.rune);t.push("OP_13",n)}if("string"==typeof e.mimetype){const n=function(e){return g.str(e).hex}(e.mimetype);t.push("OP_1",n)}if("string"==typeof e.content){const n=function(e){const t=g.is_hex(e)?g.hex(e):g.str(e),n=new y(t),r=[];for(;n.size>0;)if(n.size>520){const e=n.read(520);r.push(e.hex)}else{const e=n.read(n.size);r.push(e.hex)}return r}(e.content);t.push("OP_0",...n)}return t.push("OP_ENDIF"),Ms(t)}function oo(e){const t={};for(let n=0;n<e.length;n++)switch(e[n]){case"OP_1":t.mimetype=lo(e[n+1]),n+=1;break;case"OP_2":t.pointer=fo(e[n+1]),n+=1;break;case"OP_3":t.parent=uo(e[n+1]),n+=1;break;case"OP_11":t.delegate=uo(e[n+1]),n+=1;break;case"OP_13":t.rune=po(e[n+1]),n+=1;break;case"OP_WITHIN":t.ref=e[n+1],n+=1;break;case"OP_NOP":t.opcode=fo(e[n+1]),n+=1;break;case"OP_0":return t.content=ho(e.slice(n+1)),t}return t}function ao(e){b.ok(e.includes("i"),"identifier must include an index");const t=e.split("i"),n=g.hex(t[0]),r=Number(t[1]),i=n.reverse().hex;return 0!==r?i+g.num(r).hex:i}function uo(e){const t=g.hex(e),n=t.at(-1)??0;return t.slice(0,-1).reverse().hex+"i"+String(n)}function co(e){return g.num(e).reverse().hex}function fo(e){return g.hex(e).reverse().num}function lo(e){return g.hex(e).str}function ho(e,t="hex"){const n=g.join(e);return"hex"===t?n.hex:n.str}function po(e){let t=g.hex(e).reverse().big;t+=eo;let n="";for(;t>Js;){const e=t%to;if(e===Js)n="Z"+n,t=t/to-eo;else{const r=Number(e)+"A".charCodeAt(0)-1;n=String.fromCharCode(r)+n,t/=to}}return n}!function(e){e.encode=io,e.decode=ro}(no||(no={}));const mo=4194304,go=65535,yo=65535;var _o;function vo(e){if("height"===e.mode){return(function(e){if(void 0===e||!Number.isInteger(e)||e<0||e>yo)throw new Error("Heightlock value must be an integer between 0 and 65535");return e}(e.height)&go)>>>0}if("stamp"===e.mode){const t=function(e){if(void 0===e||!Number.isInteger(e))throw new Error("timestamp must be a number");const t=Math.floor(e/512);if(!Number.isInteger(t)||t<0||t>yo)throw new Error("timelock value must be an integer between 0 and 65535 (in 512-second increments)");return t}(e.stamp);return(mo|t&go)>>>0}throw new Error("invalid timelock mode: "+e.mode)}function wo(e){const t=function(e){const t="string"==typeof e?parseInt(e,16):e;if(!Number.isInteger(t)||t<0||t>4294967295)throw new Error(`invalid sequence value: ${t}`);return t}(e);if(2147483648&t)return null;const n=t&go;if(t&mo){const e=512*n;if(e>4294967295)throw new Error("Decoded timestamp exceeds 32-bit limit");return{mode:"stamp",stamp:e}}if(n>yo)throw new Error("Decoded height exceeds maximum");return{mode:"height",height:n}}!function(e){e.encode=vo,e.decode=wo}(_o||(_o={}));var bo,xo=Object.freeze({__proto__:null,get LocktimeUtil(){return ks},get RefEncoder(){return Os},get ScribeEncoder(){return no},get SequenceUtil(){return _o},decode_inscription:ro,decode_locktime:As,decode_sequence:wo,encode_inscription:io,encode_locktime:Ss,encode_sequence:vo});function Eo(e){return g.bytes(e).prefix_varint("le").hex}function ko(e){return[...("string"==typeof e?e:g.bytes(e).hex).matchAll(/20([0-9a-f]{64})(ac|ad|ba)/gi)].map(e=>e[1])}!function(e){e.prefix_size=Eo,e.decode=Qs,e.encode=Ms,e.is_valid=Xs,e.get_pubkeys=ko,e.OPCODES=Ls}(bo||(bo={}));var Oo=Object.freeze({__proto__:null,OPCODE_MAP:Ls,get ScriptUtil(){return bo},decode_script:Qs,encode_script:Ms,encode_script_word:Ks,get_asm_code:Ds,get_op_code:Fs,get_op_type:Hs,get_size_varint:Ys,is_valid_op:qs,is_valid_script:Xs,parse_script_pubkeys:ko,prefix_script_size:Eo,prefix_word_size:Gs,split_script_word:Ws});function So(e){return b.exists(e.prevout,"Prevout data missing for input: "+String(e.txid)),e.prevout}function Ao(e,t){let{txindex:n,txinput:r}=t??{};if(void 0!==n){if(n>=e.vin.length)throw new Error("Input index out of bounds: "+String(n));r=e.vin.at(n)}return b.ok(void 0!==r),r}function Po(e){if(void 0===e)return;if(e.length<2)return;const t=e.at(-1);if("string"==typeof t&&t.startsWith("50")){return en(g.hex(t).prefix_varint("be"))}}const Io={TXID:"00".repeat(32),VOUT:4294967295},To={LOCKTIME:0,SEQUENCE:4294967295,VERSION:2},No=[192,194,196,198,200,202,204,206,208,210,212,214,216,218,220,222,224,226,228,230,232,234,236,238,240,242,244,246,248,250,252,254,102,126,128,132,150,152,186,188,190],Co={p2pkh:/^76a914[0-9a-f]{40}88ac$/i,p2sh:/^a914[0-9a-f]{40}87$/i,p2wpkh:/^0014[0-9a-f]{40}$/i,p2wsh:/^0020[0-9a-f]{64}$/i,p2tr:/^5120[0-9a-f]{64}$/i,opreturn:/^6a[0-9a-f]{2,}$/i},$o=[1,2,3,129,130,131],Ro=[0,...$o];var Bo=Object.freeze({__proto__:null,COINBASE:Io,DEFAULT:To,LOCK_SCRIPT_REGEX:Co,SCRIPT_INT_KEY:"",SIGHASH_DEFAULT:1,SIGHASH_SEGWIT:$o,SIGHASH_TAPROOT:Ro,TAPLEAF_DEFAULT_VERSION:192,TAPLEAF_VERSIONS:No,TX_SIZE:{GLOBAL_BASE:8,GLOBAL_WIT:10,TXIN_BASE:40,TXOUT_BASE:8}});const Uo=qr([Dr(si),si]),jo=Hr({pubkey:si,leaves:Uo.array().optional(),target:si.optional(),version:Gr.optional()});var Zo=Object.freeze({__proto__:null,config:jo,taptree:Uo});const zo=jr().min(0n).max(2100000000000000n),Lo=Hr({value:zo,script_pk:Yr}),Fo=Hr({coinbase:Yr.nullable(),txid:ni,vout:Gr,prevout:Lo.nullable(),script_sig:Yr.nullable(),sequence:Gr,witness:Dr(Yr)}),Do=Hr({version:Gr,vin:Dr(Fo),vout:Dr(Lo),locktime:Gr}),Ho=Lo.extend({value:qr([Gr,zo])}),qo=Fo.extend({coinbase:Yr.nullable().optional(),prevout:Ho.nullable().optional(),script_sig:Yr.nullable().optional(),sequence:qr([Yr,Gr]).optional(),witness:Dr(Yr).optional()}),Vo=Hr({version:Gr.optional(),vin:Dr(qo),vout:Dr(Ho),locktime:Gr.optional()});var Mo=Object.freeze({__proto__:null,tx_data:Do,tx_input:Fo,tx_output:Lo,tx_template:Vo,vin_template:qo,vout_template:Ho}),Ko=Object.freeze({__proto__:null,taproot:Zo,tx:Mo});function Wo(e){Vo.parse(e)}function Go(e){if(e.some(e=>null===e.prevout))throw new Error("transaction missing prevouts")}function Yo(e){Do.parse(e)}function Qo(e){qo.parse(e)}function Xo(e){Ho.parse(e)}function Jo(e,t=!0){Yo(e);const{version:n,vin:r,vout:i,locktime:s}=e,o=[ea(n)];if(t&&o.push(g.hex("0001")),o.push(ia(r)),o.push(aa(i)),t)for(const e of r)o.push(ca(e.witness));return o.push(da(s)),g.join(o)}function ea(e){return g.num(e,4).reverse()}function ta(e){return g.hex(e,32).reverse()}function na(e){return g.num(e,4).reverse()}function ra(e){return g.num(e,4).reverse()}function ia(e){const t=[g.varint(e.length,"le")];for(const n of e)t.push(sa(n));return g.join(t)}function sa(e){return null!==e.coinbase?g.join([ta(Io.TXID),na(Io.VOUT),fa(e.coinbase),ra(e.sequence)]):g.join([ta(e.txid),na(e.vout),fa(e.script_sig),ra(e.sequence)])}function oa(e){return g.big(e,8).reverse()}function aa(e){const t=[g.varint(e.length,"le")];for(const n of e)t.push(ua(n));return g.join(t)}function ua(e){const{value:t,script_pk:n}=e;return g.join([oa(t),fa(n)])}function ca(e){const t=[g.varint(e.length)];for(const n of e)t.push(fa(n));return g.join(t)}function da(e){return g.num(e,4).reverse()}function fa(e){return null!==e?(b.is_hex(e),g.hex(e).prefix_varint("le")):g.hex("00")}function la(e){for(const[t,n]of Object.entries(Co))if(n.test(e))return t;return"unknown"}function ha(e){switch(e.slice(0,4)){case"0014":return 0;case"5120":return 1;default:return null}}function pa(e){if(!w.exists(e))return To.SEQUENCE;if(w.is_hex(e))return g.hex(e,4).reverse().num;if(w.is_uint(e))return e;throw new Error("invalid sequence value: "+String(e))}function ma(e){if(w.is_uint(e))return BigInt(e);if("bigint"==typeof e)return e;throw new TypeError("invalid output value: "+String(e))}function ga(e){return{script_pk:e.script_pk,value:ma(e.value)}}function ya(e){Qo(e),b.exists(e.coinbase,"coinbase is required");const t=Io.TXID,n=Io.VOUT,r=e.coinbase,i=e.witness??[];return{coinbase:r,prevout:null,script_sig:null,sequence:pa(e.sequence),witness:i,txid:t,vout:n}}function _a(e){Qo(e),b.is_empty(e.coinbase,"coinbase is not allowed"),b.is_empty(e.prevout,"prevout is not allowed");const{txid:t,vout:n,script_sig:r=null,witness:i=[]}=e;return{txid:t,vout:n,coinbase:null,prevout:null,script_sig:r,sequence:pa(e.sequence),witness:i}}function va(e){Qo(e),b.exists(e.prevout,"prevout is required");const{txid:t,vout:n,script_sig:r=null,witness:i=[]}=e;return{txid:t,vout:n,coinbase:null,prevout:ga(e.prevout),script_sig:r,sequence:pa(e.sequence),witness:i}}function wa(e){return e.coinbase?ya(e):e.prevout?va(e):_a(e)}function ba(e){Xo(e);return{script_pk:e.script_pk,value:ma(e.value)}}function xa(e){Wo(e);const{vin:t=[],vout:n=[]}=e??{vin:[],vout:[]},r=e.locktime??To.LOCKTIME,i=e.version??To.VERSION;return{locktime:r,vin:t.map(e=>wa(e)),vout:n.map(e=>ba(e)),version:i}}function Ea(e,t=!0){b.is_bytes(e,"txdata must be hex or bytes");const n=new y(e),r=function(e){return e.read(4).reverse().to_num()}(n),i=!!t&&function(e){const[t,n]=[...e.peek(2)];if(0===t){if(e.read(2),1===n)return!0;throw new Error(`Invalid witness flag: ${n}`)}return!1}(n),s=function(e){const t=[],n=e.varint();for(let r=0;r<n;r++){const n=ka(e);t.push(n)}return t}(n),o=function(e){const t=[],n=e.varint();for(let r=0;r<n;r++)try{t.push(Oa(e))}catch(e){throw new Error(`failed to decode output: ${r}: ${v(e)}`)}return t}(n);if(i)for(const e of s)e.witness=Sa(n);const a=function(e){return e.read(4).reverse().to_num()}(n);return{version:r,vin:s,vout:o,locktime:a}}function ka(e){const t=e.read(32).reverse().hex,n=e.read(4).reverse().num,r=Aa(e),i=e.read(4).reverse().num,s=[];return t===Io.TXID&&n===Io.VOUT?{coinbase:r,prevout:null,script_sig:null,sequence:i,txid:t,vout:n,witness:s}:{coinbase:null,prevout:null,script_sig:r,sequence:i,txid:t,vout:n,witness:s}}function Oa(e){const t=e.read(8).reverse().big,n=Aa(e);return b.exists(n,"failed to decode script_pk"),{value:t,script_pk:n}}function Sa(e){const t=[],n=e.varint();for(let r=0;r<n;r++){const n=Aa(e);if(null===n)throw new Error("failed to decode witness element: "+r);t.push(n)}return t}function Aa(e){const t=e.varint("le");return t>0?e.read(t).hex:null}function Pa(e,t){let n;if("string"==typeof e||e instanceof Uint8Array?n=Ea(e):(Wo(e),n=xa(e)),t){b.has_items(t,"prevouts must be a non-empty array");for(const[e,r]of n.vin.entries()){const n=t.at(e);b.exists(n,"prevout not found for input index: "+e),r.prevout=ba(n)}}return n}var Ia=Object.freeze({__proto__:null,assert_has_prevouts:Go,assert_tx_data:Yo,assert_tx_input:function(e){Fo.parse(e)},assert_tx_output:function(e){Lo.parse(e)},assert_tx_spend_data:function(e){Yo(e),Go(e.vin)},assert_tx_template:Wo,assert_vin_template:Qo,assert_vout_template:Xo,create_coinbase_input:ya,create_spend_input:va,create_tx:xa,create_tx_input:wa,create_tx_output:ba,create_virtual_input:_a,decode_tx:Ea,encode_script_data:fa,encode_tx:Jo,encode_tx_inputs:ia,encode_tx_locktime:da,encode_tx_outputs:aa,encode_tx_version:ea,encode_tx_vout:ua,encode_txin_sequence:ra,encode_txin_txid:ta,encode_txin_vout:na,encode_vin:sa,encode_vin_witness:ca,encode_vout_value:oa,get_prevouts:function(e){Wo(e);const t=e.vin.map(e=>e.prevout);return b.ok(t.every(e=>null!==e),"prevouts missing from tx"),t},get_segwit_size:function(e){return 2+e.filter(e=>e.witness.length>0).map(e=>e.witness).reduce((e,t)=>e+ca(t).length,0)},get_tx_value:function(e){const t=e.vin.reduce((e,t)=>e+(t.prevout?.value??0n),0n),n=e.vout.reduce((e,t)=>e+t.value,0n);return{fees:t>n?t-n:0n,vin:t,vout:n}},get_txhash:function(e){return Wo(e),tn(Jo(e,!0)).reverse().hex},get_txid:function(e){return Wo(e),tn(Jo(e,!1)).reverse().hex},get_txin_size:function(e){return sa(e).length},get_txout_size:function(e){return ua(e).length},get_txsize:function(e){const t=Pa(e),n=Jo(t,!1).length,r=Jo(t,!0).length,i=3*n+r,s=i%4>0?1:0;return{base:n,total:r,vsize:Math.ceil(i/4)+s,weight:i}},get_vin_size:function(e){return ia(e).length},get_vout_info:function(e){return{type:la(e.script_pk),version:ha(e.script_pk)}},get_vout_size:function(e){return aa(e).length},get_vout_type:la,get_vout_version:ha,get_vsize:function(e){const t=g.bytes(e).length,n=t%4>0?1:0;return Math.ceil(t/4)+n},is_return_script:function(e){return e.startsWith("6a")},normalize_prevout:ga,normalize_sequence:pa,normalize_value:ma,parse_tx:Pa,read_payload:Aa,serialize_tx:function(e){const t=Pa(e),n=t.version,r=t.locktime,i=[],s=[];for(const e of t.vin)null!==e.prevout&&i.push({script_pk:e.prevout.script_pk,value:Number(e.prevout.value)});for(const e of t.vout)s.push({script_pk:e.script_pk,value:Number(e.value)});return{version:n,locktime:r,vin:i,vout:s}}});function Ta(e,t={}){const{sigflag:n=1,txindex:r}=t,i=Pa(e),s=!(128&~n),o=n%128;if(!$o.includes(o))throw new Error("Invalid hash type: "+String(n));const{version:a,vin:u,vout:c,locktime:d}=i,f=Ao(i,t),{txid:l,vout:h,prevout:p,sequence:m}=f,{value:y}=p??{};if(void 0===y)throw new Error("Prevout value is empty!");let{pubkey:_,script:v}=t;if(void 0===v&&void 0!==_){const e=Jt(_).hex;v=`76a914${String(e)}88ac`}if(void 0===v)throw new Error("No pubkey / script has been set!");if(Qs(v).includes("OP_CODESEPARATOR"))throw new Error("This library does not currently support the use of OP_CODESEPARATOR in segwit scripts.");const w=[ea(a),Na(u,s),Ca(u,o,s),ta(l),na(h),Eo(v),oa(y),ra(m),$a(c,o,r),da(d),g.num(n,4).reverse()];return tn(g.join(w))}function Na(e,t){if(!0===t)return g.num(0,32);const n=[];for(const{txid:t,vout:r}of e)n.push(ta(t)),n.push(na(r));return tn(g.join(n))}function Ca(e,t,n){if(n||1!==t)return g.num(0,32);const r=[];for(const{sequence:t}of e)r.push(ra(t));return tn(g.join(r))}function $a(e,t,n){const r=[];if(1===t){for(const{value:t,script_pk:n}of e)r.push(oa(t)),r.push(Eo(n));return tn(g.join(r))}if(3===t&&(b.ok(void 0!==n),n<e.length)){const{value:t,script_pk:i}=e[n];return r.push(oa(t)),r.push(Eo(i)),tn(g.join(r))}return g.num(0,32)}function Ra(e,t=192){return Ba(Eo(e),t)}function Ba(e,t=192){return nn("TapLeaf",ja(t),e)}function Ua(e,t){return t<e&&([e,t]=[t,e]),nn("TapBranch",e,t)}function ja(e=192){return 254&e}function Za(e,t=new Uint8Array){return b.size(e,32),nn("TapTweak",e,t)}function za(e,t={}){return nn("TapSighash",La(e,t))}function La(e,t={}){const{script:n,txindex:r,sigflag:i=0,extflag:s=0,key_version:o=0,separator_pos:a=4294967295}=t,u=Pa(e),{version:c,vin:d,vout:f,locktime:l}=u,h=Ao(u,t),{txid:p,vout:m,sequence:y,witness:_=[]}=h;if(!Ro.includes(i))throw new Error("Invalid hash type: "+String(i));if(s<0||s>127)throw new Error("Extention flag out of range: "+String(s));let{extension:v}=t;void 0!==n&&(v=Ra(n).hex);const w=!(128&~i),x=Po(_),E=2*(s+(void 0!==v?1:0))+(void 0!==x?1:0),k=[g.num(0,1),g.num(i,1),ea(c),da(l)];if(!w){const e=d.map(e=>So(e));k.push(Fa(d),Ha(e),qa(e),Da(d))}if(((3&i)<2||(3&i)>3)&&k.push(Va(f)),k.push(g.num(E,1)),w){const{value:e,script_pk:t}=So(h);k.push(ta(p),na(m),oa(e),fa(t),ra(y))}else b.ok("number"==typeof r),k.push(g.num(r,4).reverse());return void 0!==x&&k.push(x),3&~i||(b.ok("number"==typeof r),k.push(Ma(f[r]))),void 0!==v&&k.push(g.bytes(v),g.num(o),g.num(a,4,"le")),g.join(k)}function Fa(e){const t=[];for(const{txid:n,vout:r}of e)t.push(ta(n)),t.push(na(r));return en(g.join(t))}function Da(e){return en(...e.map(e=>ra(e.sequence)))}function Ha(e){return en(...e.map(e=>oa(e.value)))}function qa(e){return en(...e.map(e=>fa(e.script_pk)))}function Va(e){const t=[];for(const{value:n,script_pk:r}of e)t.push(oa(n)),t.push(fa(r));return en(...t)}function Ma(e){return en(oa(e.value),fa(e.script_pk))}var Ka=Object.freeze({__proto__:null,bip143_hash_outputs:$a,bip143_hash_prevouts:Na,bip143_hash_sequence:Ca,bip341_hash_amounts:Ha,bip341_hash_outpoints:Fa,bip341_hash_output:Ma,bip341_hash_outputs:Va,bip341_hash_scripts:qa,bip341_hash_sequence:Da,get_annex_data:Po,get_prevout:So,get_taproot_tx_preimage:La,hash_segwit_tx:Ta,hash_taproot_tx:za,parse_txinput:Ao});function Wa(e){return 0!==e?g.num(e,1).hex:""}var Ga=Object.freeze({__proto__:null,sign_segwit_tx:function(e,t,n){return function(e,t){const n=jt(t),r=yt.sign(n,e).toDERRawBytes();return g.bytes(r)}(e,Ta(Pa(t),n)).hex+Wa(n.sigflag??1)},sign_taproot_tx:function(e,t,n){return function(e,t){const n=jt(t);return jt($t.sign(n,e))}(e,za(Pa(t),n)).hex+Wa(n.sigflag??0)},verify_tx:function(e,t={}){return console.warn("verify_segwit_tx is not implemented"),!0}});function Ya(e,t,n=[]){const r=[],i=[];if(e.length<1)throw new Error("Tree is empty!");for(let i=0;i<e.length;i++){const s=e[i];if(Array.isArray(s)){let[e,i,o]=Ya(s,t);t=i,r.push(e);for(const e of o)n.push(e)}else{const e=g.bytes(s).hex;r.push(e)}}if(1===r.length)return[r[0],t,n];r.sort(),r.length%2!=0&&r.push(r[r.length-1]);for(let e=0;e<r.length-1;e+=2){const s=Ua(r[e],r[e+1]).hex;i.push(s),"string"==typeof t&&(t===r[e]?(n.push(r[e+1]),t=s):t===r[e+1]&&(n.push(r[e]),t=s))}return Ya(i,t,n)}function Qa(e){const t=e.map(e=>g.bytes(e)),n=e.map(e=>g.bytes(e).hex),r=function(e){let t=e.at(-1);return e.length>1&&t instanceof Uint8Array&&80===t[0]?new g(t).hex:null}(t);null!==r&&t.pop();const i=function(e){let t=e.at(-1);return e.length>1&&t instanceof Uint8Array&&t.length>32&&No.includes(254&t[0])?new g(t).hex:null}(t);null!==i&&t.pop();const s=function(e,t){let n=e.at(0),r=e.at(1),i=e.at(-1);return null!==t&&void 0!==i?"p2tr-ts":2===e.length&&void 0!==n&&void 0!==r&&n.length>=64&&33===r.length?"p2w-pkh":1===e.length&&void 0!==n&&64===n.length?"p2tr-pk":e.length>1&&void 0!==i&&Xs(i)?"p2w-sh":"unknown"}(t,i),o=function(e){return e.startsWith("p2tr")?1:e.startsWith("p2w")?0:null}(s),a=function(e,t){let n;switch(t){case"p2tr-ts":n=e.at(-1);case"p2w-sh":n=e.at(-1)}return void 0!==n?new g(n).hex:null}(t,s);null!==a&&t.pop();return{annex:r,cblock:i,params:t.map(e=>e.hex),script:a,stack:n,type:s,version:o}}function Xa(e){const t=new y(e),n=t.read(1).num,r=t.read(32).hex,[i,s]=Ja(n),o=[];for(;t.size>=32;)o.push(t.read(32).hex);if(0!==t.size)throw new Error("Non-empty buffer on control block: "+String(t));return{int_key:r,path:o,parity:s,version:i}}function Ja(e){return e%2==0?[e-0,2]:[e-1,3]}function eu(e){b.size(e,33,"invalid pubkey size");const[t]=g.bytes(e);if(2===t)return 0;if(3===t)return 1;throw new Error("Invalid parity bit: "+String(t))}const tu=192;var nu=Object.freeze({__proto__:null,create_taproot:function(e){jo.parse(e);const{pubkey:t,version:n=tu}=e,r=e.leaves??[],i=void 0!==e.target?g.bytes(e.target).hex:void 0;let s,o=[];if(r.length>0){const[e,t,n]=Ya(r,i);o=n,s=e}else s=i;const a=Za(t,s),u=Bt(t,a,"ecdsa"),c=eu(u),d=Ut(u,"bip340"),f=[g.num(n+c),g.bytes(t)];o.length>0&&o.forEach(e=>f.push(e));const l=g.join(f);return{int_key:g.bytes(t).hex,path:o,parity:c,taproot:s??null,cblock:l.hex,tapkey:d.hex,taptweak:a.hex}},encode_leaf_version:ja,encode_tapbranch:Ua,encode_tapleaf:Ba,encode_tapscript:Ra,encode_taptweak:Za,get_merkle_root:function(e){return Ya(e)[0]},merkleize:Ya,parse_cblock:Xa,parse_cblock_parity:Ja,parse_pubkey_parity:eu,parse_taproot_witness:function(e){const{cblock:t,params:n,script:r}=Qa(e);b.exists(t,"cblock is null"),b.exists(r,"script is null");const i=Xa(t);let s=Ra(r,i.version).hex;for(const e of i.path)s=Ua(s,e).hex;const o=Za(i.int_key,s),a=Bt(i.int_key,o,"bip340");return n.map(e=>g.bytes(e).hex),{cblock:i,params:n,script:r,tapkey:a.hex,tweak:o.hex}},verify_taproot:function(e,t,n){b.size(e,32);const{parity:r,path:i,int_key:s}=Xa(n),o=g.join([r,e]);let a=g.bytes(t).hex;for(const e of i)a=Ua(a,e).hex;const u=Bt(s,Za(s,a),"ecdsa");return o.hex===u.hex}});var ru=Object.freeze({__proto__:null,assert_witness:function(e){b.ok(Array.isArray(e),"witness must be an array"),b.ok(e.every(e=>g.is_bytes(e)),"witness must be an array of strings or bytes")},get_witness_size:function(e){const t=e.map(e=>g.bytes(e)).reduce((e,t)=>e+t.length,0);return{total:t,vsize:Math.ceil(1+t/4)}},parse_witness:Qa});return e.ADDRESS=xs,e.CONST=Bo,e.META=xo,e.SCHEMA=Ko,e.SCRIPT=Oo,e.SIGHASH=Ka,e.SIGNER=Ga,e.TAPROOT=nu,e.TX=Ia,e.WITNESS=ru,e}({});
|
|
14
|
+
function oi(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&"Uint8Array"===e.constructor.name}function ai(e,t){return!!Array.isArray(t)&&(0===t.length||(e?t.every(e=>"string"==typeof e):t.every(e=>Number.isSafeInteger(e))))}function ui(e){if("function"!=typeof e)throw new Error("function expected");return!0}function ci(e,t){if("string"!=typeof t)throw new Error(`${e}: string expected`);return!0}function di(e){if(!Number.isSafeInteger(e))throw new Error(`invalid integer: ${e}`)}function fi(e){if(!Array.isArray(e))throw new Error("array expected")}function li(e,t){if(!ai(!0,t))throw new Error(`${e}: array of strings expected`)}function hi(e,t){if(!ai(!1,t))throw new Error(`${e}: array of numbers expected`)}function pi(...e){const t=e=>e,n=(e,t)=>n=>e(t(n));return{encode:e.map(e=>e.encode).reduceRight(n,t),decode:e.map(e=>e.decode).reduce(n,t)}}function mi(e){const t="string"==typeof e?e.split(""):e,n=t.length;li("alphabet",t);const r=new Map(t.map((e,t)=>[e,t]));return{encode:r=>(fi(r),r.map(r=>{if(!Number.isSafeInteger(r)||r<0||r>=n)throw new Error(`alphabet.encode: digit index outside alphabet "${r}". Allowed: ${e}`);return t[r]})),decode:t=>(fi(t),t.map(t=>{ci("alphabet.decode",t);const n=r.get(t);if(void 0===n)throw new Error(`Unknown letter: "${t}". Allowed: ${e}`);return n}))}}function gi(e=""){return ci("join",e),{encode:t=>(li("join.decode",t),t.join(e)),decode:t=>(ci("join.decode",t),t.split(e))}}function yi(e,t,n){if(t<2)throw new Error(`convertRadix: invalid from=${t}, base cannot be less than 2`);if(n<2)throw new Error(`convertRadix: invalid to=${n}, base cannot be less than 2`);if(fi(e),!e.length)return[];let r=0;const i=[],s=Array.from(e,e=>{if(di(e),e<0||e>=t)throw new Error(`invalid integer: ${e}`);return e}),o=s.length;for(;;){let e=0,a=!0;for(let i=r;i<o;i++){const o=s[i],u=t*e,c=u+o;if(!Number.isSafeInteger(c)||u/t!==e||c-o!==u)throw new Error("convertRadix: carry overflow");const d=c/n;e=c%n;const f=Math.floor(d);if(s[i]=f,!Number.isSafeInteger(f)||f*n+e!==c)throw new Error("convertRadix: carry overflow");a&&(f?a=!1:r=i)}if(i.push(e),a)break}for(let t=0;t<e.length-1&&0===e[t];t++)i.push(0);return i.reverse()}qr([ri,ei]),qr([ii,ti]),Br().regex(/^[1-9A-HJ-NP-Za-km-z]+$/),Br().regex(/^[a-zA-Z0-9+/]+={0,2}$/),Br().regex(/^[a-zA-Z0-9\-_]+={0,2}$/),Br().regex(/^[a-z]+1[023456789acdefghjklmnpqrstuvwxyz]+$/);const _i=(e,t)=>0===t?e:_i(t,e%t),vi=(e,t)=>e+(t-_i(e,t)),wi=(()=>{let e=[];for(let t=0;t<40;t++)e.push(2**t);return e})();function bi(e,t,n,r){if(fi(e),t<=0||t>32)throw new Error(`convertRadix2: wrong from=${t}`);if(n<=0||n>32)throw new Error(`convertRadix2: wrong to=${n}`);if(vi(t,n)>32)throw new Error(`convertRadix2: carry overflow from=${t} to=${n} carryBits=${vi(t,n)}`);let i=0,s=0;const o=wi[t],a=wi[n]-1,u=[];for(const r of e){if(di(r),r>=o)throw new Error(`convertRadix2: invalid data word=${r} from=${t}`);if(i=i<<t|r,s+t>32)throw new Error(`convertRadix2: carry overflow pos=${s} from=${t}`);for(s+=t;s>=n;s-=n)u.push((i>>s-n&a)>>>0);const e=wi[s];if(void 0===e)throw new Error("invalid carry");i&=e-1}if(i=i<<n-s&a,!r&&s>=t)throw new Error("Excess padding");if(!r&&i>0)throw new Error(`Non-zero padding: ${i}`);return r&&s>0&&u.push(i>>>0),u}function xi(e,t=!1){if(di(e),e<=0||e>32)throw new Error("radix2: bits should be in (0..32]");if(vi(8,e)>32||vi(e,8)>32)throw new Error("radix2: carry overflow");return{encode:n=>{if(!oi(n))throw new Error("radix2.encode input should be Uint8Array");return bi(Array.from(n),8,e,!t)},decode:n=>(hi("radix2.decode",n),Uint8Array.from(bi(n,e,8,t)))}}function Ei(e){return ui(e),function(...t){try{return e.apply(null,t)}catch(e){}}}const ki=(()=>"function"==typeof Uint8Array.from([]).toBase64&&"function"==typeof Uint8Array.fromBase64)()?{encode:e=>(function(e,...t){if(!oi(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}(e),e.toBase64()),decode:e=>(e=>{if(ci("base64",e),e.length>0&&!/^[A-Za-z0-9=+/]+$/.test(e))throw new Error("invalid base64");return Uint8Array.fromBase64(e,{alphabet:"base64",lastChunkHandling:"strict"})})(e)}:pi(xi(6),mi("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),function(e,t="="){return di(e),ci("padding",t),{encode(n){for(li("padding.encode",n);n.length*e%8;)n.push(t);return n},decode(n){li("padding.decode",n);let r=n.length;if(r*e%8)throw new Error("padding: invalid, string should have whole number of bytes");for(;r>0&&n[r-1]===t;r--){if((r-1)*e%8==0)throw new Error("padding: invalid, string has too much padding")}return n.slice(0,r)}}}(6),gi("")),Oi=pi(xi(6),mi("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),gi("")),Si=(Ai="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",pi(function(e){return di(e),{encode:t=>{if(!oi(t))throw new Error("radix.encode input should be Uint8Array");return yi(Array.from(t),256,e)},decode:t=>(hi("radix.decode",t),Uint8Array.from(yi(t,e,256)))}}(58),mi(Ai),gi("")));var Ai;const Pi=e=>{return pi((n=t=>e(e(t)),di(t=4),ui(n),{encode(e){if(!oi(e))throw new Error("checksum.encode: input should be Uint8Array");const r=n(e).slice(0,t),i=new Uint8Array(e.length+t);return i.set(e),i.set(r,e.length),i},decode(e){if(!oi(e))throw new Error("checksum.decode: input should be Uint8Array");const r=e.slice(0,-t),i=e.slice(-t),s=n(r).slice(0,t);for(let e=0;e<t;e++)if(s[e]!==i[e])throw new Error("Invalid checksum");return r}}),Si);var t,n},Ii=pi(mi("qpzry9x8gf2tvdw0s3jn54khce6mua7l"),gi("")),Ti=[996825010,642813549,513874426,1027748829,705979059];function Ni(e){const t=e>>25;let n=(33554431&e)<<5;for(let e=0;e<Ti.length;e++)1==(t>>e&1)&&(n^=Ti[e]);return n}function Ci(e,t,n=1){const r=e.length;let i=1;for(let t=0;t<r;t++){const n=e.charCodeAt(t);if(n<33||n>126)throw new Error(`Invalid prefix (${e})`);i=Ni(i)^n>>5}i=Ni(i);for(let t=0;t<r;t++)i=Ni(i)^31&e.charCodeAt(t);for(let e of t)i=Ni(i)^e;for(let e=0;e<6;e++)i=Ni(i);return i^=n,Ii.encode(bi([i%wi[30]],30,5,!1))}function $i(e){const t="bech32"===e?1:734539939,n=xi(5),r=n.decode,i=n.encode,s=Ei(r);function o(e,n,r=90){ci("bech32.encode prefix",e),oi(n)&&(n=Array.from(n)),hi("bech32.encode",n);const i=e.length;if(0===i)throw new TypeError(`Invalid prefix length ${i}`);const s=i+7+n.length;if(!1!==r&&s>r)throw new TypeError(`Length ${s} exceeds limit ${r}`);const o=e.toLowerCase(),a=Ci(o,n,t);return`${o}1${Ii.encode(n)}${a}`}function a(e,n=90){ci("bech32.decode input",e);const r=e.length;if(r<8||!1!==n&&r>n)throw new TypeError(`invalid string length: ${r} (${e}). Expected (8..${n})`);const i=e.toLowerCase();if(e!==i&&e!==e.toUpperCase())throw new Error("String must be lowercase or uppercase");const s=i.lastIndexOf("1");if(0===s||-1===s)throw new Error('Letter "1" must be present between prefix and data only');const o=i.slice(0,s),a=i.slice(s+1);if(a.length<6)throw new Error("Data must be at least 6 characters long");const u=Ii.decode(a).slice(0,-6),c=Ci(o,u,t);if(!a.endsWith(c))throw new Error(`Invalid checksum in ${e}: expected "${c}"`);return{prefix:o,words:u}}return{encode:o,decode:a,encodeFromBytes:function(e,t){return o(e,i(t))},decodeToBytes:function(e){const{prefix:t,words:n}=a(e,!1);return{prefix:t,words:n,bytes:r(n)}},decodeUnsafe:Ei(a),fromWords:r,fromWordsUnsafe:s,toWords:i}}const Ri=$i("bech32"),Bi=$i("bech32m");var Ui,ji,Zi,zi,Fi;function Li(e){if("string"!=typeof e||0===e.length)throw new Error(`invalid prefix: ${String(e)}`)}function Di(e){if(!Array.isArray(e)||!e.every(e=>"number"==typeof e))throw new Error(`invalid words: ${String(e)}`)}!function(e){e.encode=e=>(b.is_u8a(e),Pi(ee).encode(e)),e.decode=e=>(b.is_base58(e),Pi(ee).decode(e))}(Ui||(Ui={})),function(e){e.encode=e=>(b.is_u8a(e),ki.encode(e)),e.decode=e=>(b.is_base64(e),ki.decode(e))}(ji||(ji={})),function(e){e.encode=e=>(b.is_u8a(e),Oi.encode(e)),e.decode=e=>(b.is_b64url(e),Oi.decode(e))}(Zi||(Zi={})),function(e){e.to_words=Ri.toWords,e.to_bytes=Ri.fromWords,e.encode=(e,t,n=!1)=>(Li(e),Di(t),Ri.encode(e,t,n)),e.decode=(e,t=!1)=>(b.is_bech32(e),Ri.decode(e,t))}(zi||(zi={})),function(e){e.to_words=Bi.toWords,e.to_bytes=Bi.fromWords,e.encode=(e,t,n=!1)=>(Li(e),Di(t),Bi.encode(e,t,n)),e.decode=(e,t=!1)=>(b.is_bech32(e),Bi.decode(e,t))}(Fi||(Fi={}));const Hi={base58:/^[13mn2][a-km-zA-HJ-NP-Z1-9]{25,34}$/,bech32:/^(bc|tb|bcrt)1q[ac-hj-np-z02-9]{6,87}$/,bech32m:/^(bc|tb|bcrt)1p[ac-hj-np-z02-9]{6,87}$/},qi=0,Vi=1;function Mi(e){const t=function(e){for(const[t,n]of Object.entries(Hi))if(n.test(e))return t;return null}(e);if(null===t)throw new Error("unrecognized address format: "+t);if("base58"===t)return function(e){const t=Ui.decode(e),n=t.slice(1),r=t[0];return{data:n,format:"base58",version:r}}(e);if("bech32"===t)return function(e){const{prefix:t,words:n}=zi.decode(e),[r,...i]=n;b.ok(r===qi,"bech32 version mismatch");return{data:zi.to_bytes(i),format:"bech32",prefix:t,version:r}}(e);if("bech32m"===t)return function(e){const{prefix:t,words:n}=Fi.decode(e),[r,...i]=n;b.ok(r===Vi,"bech32m version mismatch");return{data:Fi.to_bytes(i),format:"bech32m",prefix:t,version:r}}(e);throw new Error("unable to find a matching address configuration")}function Ki(e){if("base58"===e.format)return function(e){b.ok("base58"===e.format,"encoding mismatch"),b.exists(e.version,"must specify a version");const t=g.join([e.version,e.data]);return Ui.encode(t)}(e);if("bech32"===e.format)return function(e){b.ok("bech32"===e.format,"encoding mismatch"),b.exists(e.prefix,"prefix is required");const t=g.bytes(e.data),n=zi.to_words(t);return zi.encode(e.prefix,[qi,...n])}(e);if("bech32m"===e.format)return function(e){b.ok("bech32m"===e.format,"encoding mismatch"),b.exists(e.prefix,"prefix is required");const t=g.bytes(e.data),n=Fi.to_words(t);return Fi.encode(e.prefix,[Vi,...n])}(e);throw new Error("unrecognized encoding format: "+e.format)}const Wi=[["1","p2pkh","main",20,"base58",0],["3","p2sh","main",20,"base58",5],["m","p2pkh","testnet",20,"base58",111],["n","p2pkh","testnet",20,"base58",111],["2","p2sh","testnet",20,"base58",196],["m","p2pkh","regtest",20,"base58",111],["n","p2pkh","regtest",20,"base58",111],["2","p2sh","regtest",20,"base58",196],["bc","p2w-pkh","main",20,"bech32",0],["tb","p2w-pkh","testnet",20,"bech32",0],["bcrt","p2w-pkh","regtest",20,"bech32",0],["bc","p2w-sh","main",32,"bech32",0],["tb","p2w-sh","testnet",32,"bech32",0],["bcrt","p2w-sh","regtest",32,"bech32",0],["bc","p2tr","main",32,"bech32m",1],["tb","p2tr","testnet",32,"bech32m",1],["bcrt","p2tr","regtest",32,"bech32m",1]];function Gi(e,t){for(const[n,r,i,s,o,a]of Wi)if(r===t&&i===e)return{type:r,prefix:n,network:i,size:s,format:o,version:a};return null}function Yi(e){const t=function(e){const t=Mi(e);for(const[n,r,i,s,o,a]of Wi){if(o!==t.format)continue;if(s!==t.data.length)continue;if(a!==t.version)continue;if(t.prefix){if(n!==t.prefix)continue}else if(!e.startsWith(n))continue;const u=g.uint(t.data).hex;return{data:t.data,hex:u,type:r,prefix:n,network:i,size:s,format:o,version:a}}throw new Error("address configuration is invalid")}(e),n=function(e,t){switch(t){case"p2pkh":return function(e){return{script_hex:"76a914"+e+"88ac",script_asm:["OP_DUP","OP_HASH160",e,"OP_EQUALVERIFY","OP_CHECKSIG"]}}(e);case"p2sh":return function(e){return{script_hex:"a914"+e+"87",script_asm:["OP_HASH160",e,"OP_EQUAL"]}}(e);case"p2w-pkh":return function(e){return{script_hex:"0014"+e,script_asm:["OP_0",e]}}(e);case"p2w-sh":return function(e){return{script_hex:"0020"+e,script_asm:["OP_0",e]}}(e);case"p2tr":return function(e){return{script_hex:"5120"+e,script_asm:["OP_1",e]}}(e);default:throw new Error("unrecognized script type: "+t)}}(t.hex,t.type);return{...t,...n}}const Qi="p2pkh";var Xi;function Ji(e,t="main"){return es(Jt(g.bytes(e)),t)}function es(e,t="main"){const n=g.bytes(e),r=Gi(t,Qi);return b.exists(r,`unrecognized address config: ${Qi} on ${t}`),b.size(n,r.size,`invalid payload size: ${n.length} !== ${r.size}`),Ki({data:n,format:"base58",version:r.version})}function ts(e){const t=Yi(e);return b.ok("p2pkh"===t.type,`address type mismatch: ${t.type} !== ${Qi}`),t}!function(e){e.create=Ji,e.encode=es,e.decode=ts}(Xi||(Xi={}));const ns="p2sh";var rs;function is(e,t="main"){return ss(Jt(g.bytes(e)),t)}function ss(e,t="main"){const n=g.bytes(e),r=Gi(t,ns);return b.exists(r,`unrecognized address config: ${ns} on ${t}`),b.size(n,r.size,`invalid payload size: ${n.length} !== ${r.size}`),Ki({data:n,format:"base58",version:r.version})}function os(e){const t=Yi(e);return b.ok("p2sh"===t.type,`address type mismatch: ${t.type} !== ${ns}`),t}!function(e){e.create=is,e.encode=ss,e.decode=os}(rs||(rs={}));const as="p2w-pkh";var us;function cs(e,t="main"){const n=g.bytes(e);b.size(n,33,`invalid payload size: ${n.length} !== 33`);return ds(Jt(n),t)}function ds(e,t="main"){const n=g.bytes(e),r=Gi(t,as);return b.exists(r,`unrecognized address config: ${as} on ${t}`),b.size(n,r.size,`invalid payload size: ${n.length} !== ${r.size}`),Ki({data:n,format:"bech32",prefix:r.prefix})}function fs(e){const t=Yi(e);return b.ok("p2w-pkh"===t.type,`address type mismatch: ${t.type} !== ${as}`),t}!function(e){e.create=cs,e.encode=ds,e.decode=fs}(us||(us={}));const ls="p2w-sh";var hs;function ps(e,t="main"){return ms(en(g.bytes(e)),t)}function ms(e,t="main"){const n=g.bytes(e),r=Gi(t,ls);return b.exists(r,`unrecognized address config: ${ls} on ${t}`),b.size(n,r.size,`invalid payload size: ${n.length} !== ${r.size}`),Ki({data:n,format:"bech32",prefix:r.prefix})}function gs(e){const t=Yi(e);return b.ok("p2w-sh"===t.type,`address type mismatch: ${t.type} !== ${ls}`),t}!function(e){e.create=ps,e.encode=ms,e.decode=gs}(hs||(hs={}));const ys="p2tr";var _s,vs;function ws(e,t="main"){const n=g.bytes(e),r=Gi(t,ys);return b.exists(r,`unrecognized address config: ${ys} on ${t}`),b.size(n,r.size,`invalid payload size: ${n.length} !== ${r.size}`),Ki({data:n,format:"bech32m",prefix:r.prefix})}function bs(e){const t=Yi(e);return b.ok("p2tr"===t.type,`address type mismatch: ${t.type} !== ${ys}`),t}!function(e){e.encode=ws,e.decode=bs}(_s||(_s={})),function(e){e.P2PKH=Xi,e.P2SH=rs,e.P2WPKH=us,e.P2WSH=hs,e.P2TR=_s,e.parse=Yi}(vs||(vs={}));var xs=Object.freeze({__proto__:null,get AddressTool(){return vs},get P2PKH(){return Xi},get P2SH(){return rs},get P2TR(){return _s},get P2WPKH(){return us},get P2WSH(){return hs},parse_address:Yi});const Es=5e8;var ks,Os;function Ss(e){switch(e.type){case"timelock":return b.ok(e.stamp>=Es,"Invalid timestamp"),e.stamp;case"heightlock":return b.ok(e.height>0,"height must be greater than 0"),b.ok(e.height<Es,"invalid block height"),e.height;default:throw new Error("Invalid locktime type")}}function As(e){return isNaN(e)||e<=0?null:e<Es?{type:"heightlock",height:e}:{type:"timelock",stamp:e}}function Ps(e,t=0){return`${e}i${t}`}function Is(e){Ns(e);const[t,n]=e.split("i");return{txid:t,order:parseInt(n)}}function Ts(e){return null!==e.match(/^[a-f0-9]{64}i\d+$/)}function Ns(e){if(!Ts(e))throw new Error(`invalid inscription id: ${e}`)}function Cs(e,t){return`${e}:${t}`}function $s(e){Bs(e);const[t,n]=e.split(":");return{block_height:parseInt(t),block_index:parseInt(n)}}function Rs(e){return null!==e.match(/^\d+:\d+$/)}function Bs(e){if(!Rs(e))throw new Error(`invalid rune id: ${e}`)}function Us(e,t){return`${e}:${t}`}function js(e){zs(e);const[t,n]=e.split(":");return{txid:t,vout:parseInt(n)}}function Zs(e){return null!==e.match(/^[a-f0-9]{64}:[0-9]+$/)}function zs(e){if(!Zs(e))throw new Error(`invalid outpoint: ${e}`)}!function(e){e.encode=Ss,e.decode=As}(ks||(ks={})),function(e){e.outpoint={encode:Us,decode:js,verify:Zs,assert:zs},e.record_id={encode:Ps,decode:Is,verify:Ts,assert:Ns},e.rune_id={encode:Cs,decode:$s,verify:Rs,assert:Bs}}(Os||(Os={}));const Fs={OP_0:0,OP_PUSHDATA1:76,OP_PUSHDATA2:77,OP_PUSHDATA4:78,OP_1NEGATE:79,OP_SUCCESS80:80,OP_1:81,OP_2:82,OP_3:83,OP_4:84,OP_5:85,OP_6:86,OP_7:87,OP_8:88,OP_9:89,OP_10:90,OP_11:91,OP_12:92,OP_13:93,OP_14:94,OP_15:95,OP_16:96,OP_NOP:97,OP_SUCCESS98:98,OP_IF:99,OP_NOTIF:100,OP_ELSE:103,OP_ENDIF:104,OP_VERIFY:105,OP_RETURN:106,OP_TOALTSTACK:107,OP_FROMALTSTACK:108,OP_2DROP:109,OP_2DUP:110,OP_3DUP:111,OP_2OVER:112,OP_2ROT:113,OP_2SWAP:114,OP_IFDUP:115,OP_DEPTH:116,OP_DROP:117,OP_DUP:118,OP_NIP:119,OP_OVER:120,OP_PICK:121,OP_ROLL:122,OP_ROT:123,OP_SWAP:124,OP_TUCK:125,OP_SUCCESS126:126,OP_SUCCESS127:127,OP_SUCCESS128:128,OP_SUCCESS129:129,OP_SIZE:130,OP_SUCCESS131:131,OP_SUCCESS132:132,OP_SUCCESS133:133,OP_SUCCESS134:134,OP_EQUAL:135,OP_EQUALVERIFY:136,OP_SUCCESS137:137,OP_SUCCESS138:138,OP_1ADD:139,OP_1SUB:140,OP_SUCCESS141:141,OP_SUCCESS142:142,OP_NEGATE:143,OP_ABS:144,OP_NOT:145,OP_0NOTEQUAL:146,OP_ADD:147,OP_SUB:148,OP_SUCCESS149:149,OP_SUCCESS150:150,OP_SUCCESS151:151,OP_SUCCESS152:152,OP_SUCCESS153:153,OP_BOOLAND:154,OP_BOOLOR:155,OP_NUMEQUAL:156,OP_NUMEQUALVERIFY:157,OP_NUMNOTEQUAL:158,OP_LESSTHAN:159,OP_GREATERTHAN:160,OP_LESSTHANOREQUAL:161,OP_GREATERTHANOREQUAL:162,OP_MIN:163,OP_MAX:164,OP_WITHIN:165,OP_RIPEMD160:166,OP_SHA1:167,OP_SHA256:168,OP_HASH160:169,OP_HASH256:170,OP_CODESEPARATOR:171,OP_CHECKSIG:172,OP_CHECKSIGVERIFY:173,OP_CHECKMULTISIG:174,OP_CHECKMULTISIGVERIFY:175,OP_NOP1:176,OP_CHECKLOCKTIMEVERIFY:177,OP_CHECKSEQUENCEVERIFY:178,OP_NOP4:179,OP_NOP5:180,OP_NOP6:181,OP_NOP7:182,OP_NOP8:183,OP_NOP9:184,OP_NOP10:185,OP_CHECKSIGADD:186};function Ls(e){if(e>186&&e<255)return"OP_SUCCESS"+String(e);for(const[t,n]of Object.entries(Fs))if(n===e)return t;throw new Error("OPCODE not found:"+String(e))}function Ds(e){for(const[t,n]of Object.entries(Fs))if(t===e)return Number(n);throw new Error("OPCODE not found:"+e)}function Hs(e){switch(!0){case 0===e:return"opcode";case e>=1&&e<=75:return"varint";case 76===e:return"pushdata1";case 77===e:return"pushdata2";case 78===e:return"pushdata4";case e<=254:return"opcode";default:throw new Error(`Invalid word range: ${e}`)}}function qs(e){switch(!0){case"number"!=typeof e:return!1;case 0===e:return!0;case[].includes(e):return!1;case 75<e&&e<254:return!0;default:return!1}}const Vs=520;function Ms(e,t=!1){if(0===e.length)return g.num(0,1);const n=[];for(const t of e)n.push(Ks(t));const r=g.join(n);return t?r.prepend(g.varint(r.length,"le")):r}function Ks(e){let t;if("string"==typeof e){if(e.startsWith("OP_")){const t=Ds(e);return g.num(t,1)}t=g.is_hex(e)?g.hex(e):g.str(e)}else if("number"==typeof e)t=g.num(e);else{if(!(e instanceof Uint8Array))throw new Error("invalid word type:"+typeof e);t=new g(e)}if(1===t.length&&t[0]<=16)0!==t[0]&&(t[0]+=80);else if(t.length>Vs){let e;e=Ws(t),e=e.map(e=>Gs(e)),t=g.join(e)}else t=Gs(t);return t}function Ws(e){const t=[],n=new y(e);for(;n.size>Vs;)t.push(n.read(Vs));return t.push(n.read(n.size)),t}function Gs(e){const t=Ys(e.length);return g.join([t,e])}function Ys(e){const t=g.num(76,1),n=g.num(77,1);switch(!0){case e<=75:return g.num(e);case e>75&&e<256:return g.join([t,g.num(e,1,"le")]);case e>=256&&e<=Vs:return g.join([n,g.num(e,2,"le")]);default:throw new Error("Invalid word size:"+e.toString())}}function Qs(e){const t=new y(e),n=[],r=t.size;let i,s,o,a=0;for(;a<r;)switch(i=t.read(1).num,s=Hs(i),a++,s){case"varint":n.push(t.read(i).hex),a+=i;break;case"pushdata1":o=t.read(1).reverse().num,n.push(t.read(o).hex),a+=o+1;break;case"pushdata2":o=t.read(2).reverse().num,n.push(t.read(o).hex),a+=o+2;break;case"pushdata4":o=t.read(4).reverse().num,n.push(t.read(o).hex),a+=o+4;break;case"opcode":if(!qs(i))throw new Error(`Invalid OPCODE: ${i}`);n.push(Ls(i));break;default:throw new Error(`Word type undefined: ${i}`)}return n}function Xs(e){try{return Qs(e).length>0}catch{return!1}}const Js=BigInt(0),eo=BigInt(1),to=BigInt(26);var no;function ro(e){const t=function(e){const t=Qs(e),n=t.findIndex(e=>"OP_0"===e);b.ok(-1!==n,"inscription envelope not found");const r=[];for(let e=n;e<t.length;e++){b.ok("OP_IF"===t[e+1],"OP_IF missing from envelope"),b.ok("6f7264"===t[e+2],"magic bytes missing from envelope");const n=t.findIndex(e=>"OP_ENDIF"===e);b.ok(-1!==n,"inscription envelope missing END_IF statement");const i=t.slice(e+3,n);r.push(i),e+=n}return r}(e);return t.map(oo)}function io(e){return g.join(e.map(so))}function so(e){let t=["OP_0","OP_IF","6f7264"];if("string"==typeof e.delegate){const n=uo(e.delegate);t.push("OP_11",n)}if("string"==typeof e.ref&&t.push("OP_WITHIN",e.ref),"string"==typeof e.parent){const n=uo(e.parent);t.push("OP_3",n)}if("number"==typeof e.opcode){const n=fo(e.opcode);t.push("OP_NOP",n)}if("number"==typeof e.pointer){const n=fo(e.pointer);t.push("OP_2",n)}if("string"==typeof e.rune){const n=function(e){const t=e.toUpperCase();let n=Js;for(const e of t)e>="A"&&e<="Z"&&(n=n*to+BigInt(e.charCodeAt(0)-("A".charCodeAt(0)-1)));return n-=eo,g.big(n).reverse().hex}(e.rune);t.push("OP_13",n)}if("string"==typeof e.mimetype){const n=function(e){return g.str(e).hex}(e.mimetype);t.push("OP_1",n)}if("string"==typeof e.content){const n=function(e){const t=g.is_hex(e)?g.hex(e):g.str(e),n=new y(t),r=[];for(;n.size>0;)if(n.size>520){const e=n.read(520);r.push(e.hex)}else{const e=n.read(n.size);r.push(e.hex)}return r}(e.content);t.push("OP_0",...n)}return t.push("OP_ENDIF"),Ms(t)}function oo(e){const t={};for(let n=0;n<e.length;n++)switch(e[n]){case"OP_1":t.mimetype=ho(e[n+1]),n+=1;break;case"OP_2":t.pointer=lo(e[n+1]),n+=1;break;case"OP_3":t.parent=co(e[n+1]),n+=1;break;case"OP_11":t.delegate=co(e[n+1]),n+=1;break;case"OP_13":t.rune=mo(e[n+1]),n+=1;break;case"OP_WITHIN":t.ref=ao(e[n+1]),n+=1;break;case"OP_NOP":t.opcode=lo(e[n+1]),n+=1;break;case"OP_0":return t.content=po(e.slice(n+1)),t}return t}function ao(e){return g.bytes(e).hex}function uo(e){b.ok(e.includes("i"),"identifier must include an index");const t=e.split("i"),n=g.hex(t[0]),r=Number(t[1]),i=n.reverse().hex;return 0!==r?i+g.num(r).hex:i}function co(e){const t=g.bytes(e),n=t.at(-1)??0;return t.slice(0,-1).reverse().hex+"i"+String(n)}function fo(e){return g.num(e).reverse().hex}function lo(e){return g.bytes(e).reverse().num}function ho(e){return g.bytes(e).str}function po(e,t="hex"){const n=g.join(e);return"hex"===t?n.hex:n.str}function mo(e){let t=g.bytes(e).reverse().big;t+=eo;let n="";for(;t>Js;){const e=t%to;if(e===Js)n="Z"+n,t=t/to-eo;else{const r=Number(e)+"A".charCodeAt(0)-1;n=String.fromCharCode(r)+n,t/=to}}return n}!function(e){e.encode=io,e.decode=ro}(no||(no={}));const go=4194304,yo=65535,_o=65535;var vo;function wo(e){if("height"===e.mode){return(function(e){if(void 0===e||!Number.isInteger(e)||e<0||e>_o)throw new Error("Heightlock value must be an integer between 0 and 65535");return e}(e.height)&yo)>>>0}if("stamp"===e.mode){const t=function(e){if(void 0===e||!Number.isInteger(e))throw new Error("timestamp must be a number");const t=Math.floor(e/512);if(!Number.isInteger(t)||t<0||t>_o)throw new Error("timelock value must be an integer between 0 and 65535 (in 512-second increments)");return t}(e.stamp);return(go|t&yo)>>>0}throw new Error("invalid timelock mode: "+e.mode)}function bo(e){const t=function(e){const t="string"==typeof e?parseInt(e,16):e;if(!Number.isInteger(t)||t<0||t>4294967295)throw new Error(`invalid sequence value: ${t}`);return t}(e);if(2147483648&t)return null;const n=t&yo;if(t&go){const e=512*n;if(e>4294967295)throw new Error("Decoded timestamp exceeds 32-bit limit");return{mode:"stamp",stamp:e}}if(n>_o)throw new Error("Decoded height exceeds maximum");return{mode:"height",height:n}}!function(e){e.encode=wo,e.decode=bo}(vo||(vo={}));var xo,Eo=Object.freeze({__proto__:null,get InscriptionUtil(){return no},get LocktimeField(){return ks},get RefPointer(){return Os},get SequenceField(){return vo},decode_inscription:ro,decode_locktime:As,decode_sequence:bo,encode_inscription:io,encode_locktime:Ss,encode_sequence:wo});function ko(e){return g.bytes(e).prefix_varint("le").hex}function Oo(e){return[...("string"==typeof e?e:g.bytes(e).hex).matchAll(/20([0-9a-f]{64})(ac|ad|ba)/gi)].map(e=>e[1])}!function(e){e.prefix_size=ko,e.decode=Qs,e.encode=Ms,e.is_valid=Xs,e.get_pubkeys=Oo,e.OPCODES=Fs}(xo||(xo={}));var So=Object.freeze({__proto__:null,OPCODE_MAP:Fs,get ScriptUtil(){return xo},decode_script:Qs,encode_script:Ms,encode_script_word:Ks,get_asm_code:Ds,get_op_code:Ls,get_op_type:Hs,get_size_varint:Ys,is_valid_op:qs,is_valid_script:Xs,parse_script_pubkeys:Oo,prefix_script_size:ko,prefix_word_size:Gs,split_script_word:Ws});function Ao(e){return b.exists(e.prevout,"Prevout data missing for input: "+String(e.txid)),e.prevout}function Po(e,t){let{txindex:n,txinput:r}=t??{};if(void 0!==n){if(n>=e.vin.length)throw new Error("Input index out of bounds: "+String(n));r=e.vin.at(n)}return b.ok(void 0!==r),r}function Io(e){if(void 0===e)return;if(e.length<2)return;const t=e.at(-1);if("string"==typeof t&&t.startsWith("50")){return en(g.hex(t).prefix_varint("be"))}}const To={TXID:"00".repeat(32),VOUT:4294967295},No={LOCKTIME:0,SEQUENCE:4294967295,VERSION:2},Co=[192,194,196,198,200,202,204,206,208,210,212,214,216,218,220,222,224,226,228,230,232,234,236,238,240,242,244,246,248,250,252,254,102,126,128,132,150,152,186,188,190],$o={p2pkh:/^76a914[0-9a-f]{40}88ac$/i,p2sh:/^a914[0-9a-f]{40}87$/i,p2wpkh:/^0014[0-9a-f]{40}$/i,p2wsh:/^0020[0-9a-f]{64}$/i,p2tr:/^5120[0-9a-f]{64}$/i,opreturn:/^6a[0-9a-f]{2,}$/i},Ro=[1,2,3,129,130,131],Bo=[0,...Ro];var Uo=Object.freeze({__proto__:null,COINBASE:To,DEFAULT:No,LOCK_SCRIPT_REGEX:$o,SCRIPT_INT_KEY:"",SIGHASH_DEFAULT:1,SIGHASH_SEGWIT:Ro,SIGHASH_TAPROOT:Bo,TAPLEAF_DEFAULT_VERSION:192,TAPLEAF_VERSIONS:Co,TX_SIZE:{GLOBAL_BASE:8,GLOBAL_WIT:10,TXIN_BASE:40,TXOUT_BASE:8}});const jo=qr([Dr(si),si]),Zo=Hr({pubkey:si,leaves:jo.array().optional(),target:si.optional(),version:Gr.optional()});var zo=Object.freeze({__proto__:null,config:Zo,taptree:jo});const Fo=jr().min(0n).max(2100000000000000n),Lo=Hr({value:Fo,script_pk:Yr}),Do=Hr({coinbase:Yr.nullable(),txid:ni,vout:Gr,prevout:Lo.nullable(),script_sig:Yr.nullable(),sequence:Gr,witness:Dr(Yr)}),Ho=Hr({version:Gr,vin:Dr(Do),vout:Dr(Lo),locktime:Gr}),qo=Lo.extend({value:qr([Gr,Fo])}),Vo=Do.extend({coinbase:Yr.nullable().optional(),prevout:qo.nullable().optional(),script_sig:Yr.nullable().optional(),sequence:qr([Yr,Gr]).optional(),witness:Dr(Yr).optional()}),Mo=Hr({version:Gr.optional(),vin:Dr(Vo),vout:Dr(qo),locktime:Gr.optional()});var Ko=Object.freeze({__proto__:null,tx_data:Ho,tx_input:Do,tx_output:Lo,tx_template:Mo,vin_template:Vo,vout_template:qo}),Wo=Object.freeze({__proto__:null,taproot:zo,tx:Ko});function Go(e){Mo.parse(e)}function Yo(e){if(e.some(e=>null===e.prevout))throw new Error("transaction missing prevouts")}function Qo(e){Ho.parse(e)}function Xo(e){Vo.parse(e)}function Jo(e){qo.parse(e)}function ea(e,t=!0){Qo(e);const{version:n,vin:r,vout:i,locktime:s}=e,o=[ta(n)];if(t&&o.push(g.hex("0001")),o.push(sa(r)),o.push(ua(i)),t)for(const e of r)o.push(da(e.witness));return o.push(fa(s)),g.join(o)}function ta(e){return g.num(e,4).reverse()}function na(e){return g.hex(e,32).reverse()}function ra(e){return g.num(e,4).reverse()}function ia(e){return g.num(e,4).reverse()}function sa(e){const t=[g.varint(e.length,"le")];for(const n of e)t.push(oa(n));return g.join(t)}function oa(e){return null!==e.coinbase?g.join([na(To.TXID),ra(To.VOUT),la(e.coinbase),ia(e.sequence)]):g.join([na(e.txid),ra(e.vout),la(e.script_sig),ia(e.sequence)])}function aa(e){return g.big(e,8).reverse()}function ua(e){const t=[g.varint(e.length,"le")];for(const n of e)t.push(ca(n));return g.join(t)}function ca(e){const{value:t,script_pk:n}=e;return g.join([aa(t),la(n)])}function da(e){const t=[g.varint(e.length)];for(const n of e)t.push(la(n));return g.join(t)}function fa(e){return g.num(e,4).reverse()}function la(e){return null!==e?(b.is_hex(e),g.hex(e).prefix_varint("le")):g.hex("00")}function ha(e){for(const[t,n]of Object.entries($o))if(n.test(e))return t;return"unknown"}function pa(e){switch(e.slice(0,4)){case"0014":return 0;case"5120":return 1;default:return null}}function ma(e){if(!w.exists(e))return No.SEQUENCE;if(w.is_hex(e))return g.hex(e,4).reverse().num;if(w.is_uint(e))return e;throw new Error("invalid sequence value: "+String(e))}function ga(e){if(w.is_uint(e))return BigInt(e);if("bigint"==typeof e)return e;throw new TypeError("invalid output value: "+String(e))}function ya(e){return{script_pk:e.script_pk,value:ga(e.value)}}function _a(e){Xo(e),b.exists(e.coinbase,"coinbase is required");const t=To.TXID,n=To.VOUT,r=e.coinbase,i=e.witness??[];return{coinbase:r,prevout:null,script_sig:null,sequence:ma(e.sequence),witness:i,txid:t,vout:n}}function va(e){Xo(e),b.is_empty(e.coinbase,"coinbase is not allowed"),b.is_empty(e.prevout,"prevout is not allowed");const{txid:t,vout:n,script_sig:r=null,witness:i=[]}=e;return{txid:t,vout:n,coinbase:null,prevout:null,script_sig:r,sequence:ma(e.sequence),witness:i}}function wa(e){Xo(e),b.exists(e.prevout,"prevout is required");const{txid:t,vout:n,script_sig:r=null,witness:i=[]}=e;return{txid:t,vout:n,coinbase:null,prevout:ya(e.prevout),script_sig:r,sequence:ma(e.sequence),witness:i}}function ba(e){return e.coinbase?_a(e):e.prevout?wa(e):va(e)}function xa(e){Jo(e);return{script_pk:e.script_pk,value:ga(e.value)}}function Ea(e){Go(e);const{vin:t=[],vout:n=[]}=e??{vin:[],vout:[]},r=e.locktime??No.LOCKTIME,i=e.version??No.VERSION;return{locktime:r,vin:t.map(e=>ba(e)),vout:n.map(e=>xa(e)),version:i}}function ka(e,t=!0){b.is_bytes(e,"txdata must be hex or bytes");const n=new y(e),r=function(e){return e.read(4).reverse().to_num()}(n),i=!!t&&function(e){const[t,n]=[...e.peek(2)];if(0===t){if(e.read(2),1===n)return!0;throw new Error(`Invalid witness flag: ${n}`)}return!1}(n),s=function(e){const t=[],n=e.varint();for(let r=0;r<n;r++){const n=Oa(e);t.push(n)}return t}(n),o=function(e){const t=[],n=e.varint();for(let r=0;r<n;r++)try{t.push(Sa(e))}catch(e){throw new Error(`failed to decode output: ${r}: ${v(e)}`)}return t}(n);if(i)for(const e of s)e.witness=Aa(n);const a=function(e){return e.read(4).reverse().to_num()}(n);return{version:r,vin:s,vout:o,locktime:a}}function Oa(e){const t=e.read(32).reverse().hex,n=e.read(4).reverse().num,r=Pa(e),i=e.read(4).reverse().num,s=[];return t===To.TXID&&n===To.VOUT?{coinbase:r,prevout:null,script_sig:null,sequence:i,txid:t,vout:n,witness:s}:{coinbase:null,prevout:null,script_sig:r,sequence:i,txid:t,vout:n,witness:s}}function Sa(e){const t=e.read(8).reverse().big,n=Pa(e);return b.exists(n,"failed to decode script_pk"),{value:t,script_pk:n}}function Aa(e){const t=[],n=e.varint();for(let r=0;r<n;r++){const n=Pa(e);if(null===n)throw new Error("failed to decode witness element: "+r);t.push(n)}return t}function Pa(e){const t=e.varint("le");return t>0?e.read(t).hex:null}function Ia(e,t){let n;if("string"==typeof e||e instanceof Uint8Array?n=ka(e):(Go(e),n=Ea(e)),t){b.has_items(t,"prevouts must be a non-empty array");for(const[e,r]of n.vin.entries()){const n=t.at(e);b.exists(n,"prevout not found for input index: "+e),r.prevout=xa(n)}}return n}var Ta=Object.freeze({__proto__:null,assert_has_prevouts:Yo,assert_tx_data:Qo,assert_tx_input:function(e){Do.parse(e)},assert_tx_output:function(e){Lo.parse(e)},assert_tx_spend_data:function(e){Qo(e),Yo(e.vin)},assert_tx_template:Go,assert_vin_template:Xo,assert_vout_template:Jo,create_coinbase_input:_a,create_spend_input:wa,create_tx:Ea,create_tx_input:ba,create_tx_output:xa,create_virtual_input:va,decode_tx:ka,encode_script_data:la,encode_tx:ea,encode_tx_inputs:sa,encode_tx_locktime:fa,encode_tx_outputs:ua,encode_tx_version:ta,encode_tx_vout:ca,encode_txin_sequence:ia,encode_txin_txid:na,encode_txin_vout:ra,encode_vin:oa,encode_vin_witness:da,encode_vout_value:aa,get_prevouts:function(e){Go(e);const t=e.vin.map(e=>e.prevout);return b.ok(t.every(e=>null!==e),"prevouts missing from tx"),t},get_segwit_size:function(e){return 2+e.filter(e=>e.witness.length>0).map(e=>e.witness).reduce((e,t)=>e+da(t).length,0)},get_tx_value:function(e){const t=e.vin.reduce((e,t)=>e+(t.prevout?.value??0n),0n),n=e.vout.reduce((e,t)=>e+t.value,0n);return{fees:t>n?t-n:0n,vin:t,vout:n}},get_txhash:function(e){return Go(e),tn(ea(e,!0)).reverse().hex},get_txid:function(e){return Go(e),tn(ea(e,!1)).reverse().hex},get_txin_size:function(e){return oa(e).length},get_txout_size:function(e){return ca(e).length},get_txsize:function(e){const t=Ia(e),n=ea(t,!1).length,r=ea(t,!0).length,i=3*n+r,s=i%4>0?1:0;return{base:n,total:r,vsize:Math.ceil(i/4)+s,weight:i}},get_vin_size:function(e){return sa(e).length},get_vout_info:function(e){return{type:ha(e.script_pk),version:pa(e.script_pk)}},get_vout_size:function(e){return ua(e).length},get_vout_type:ha,get_vout_version:pa,get_vsize:function(e){const t=g.bytes(e).length,n=t%4>0?1:0;return Math.ceil(t/4)+n},is_return_script:function(e){return e.startsWith("6a")},normalize_prevout:ya,normalize_sequence:ma,normalize_value:ga,parse_tx:Ia,read_payload:Pa,serialize_tx:function(e){const t=Ia(e),n=t.version,r=t.locktime,i=[],s=[];for(const e of t.vin)null!==e.prevout&&i.push({script_pk:e.prevout.script_pk,value:Number(e.prevout.value)});for(const e of t.vout)s.push({script_pk:e.script_pk,value:Number(e.value)});return{version:n,locktime:r,vin:i,vout:s}}});function Na(e,t={}){const{sigflag:n=1,txindex:r}=t,i=Ia(e),s=!(128&~n),o=n%128;if(!Ro.includes(o))throw new Error("Invalid hash type: "+String(n));const{version:a,vin:u,vout:c,locktime:d}=i,f=Po(i,t),{txid:l,vout:h,prevout:p,sequence:m}=f,{value:y}=p??{};if(void 0===y)throw new Error("Prevout value is empty!");let{pubkey:_,script:v}=t;if(void 0===v&&void 0!==_){const e=Jt(_).hex;v=`76a914${String(e)}88ac`}if(void 0===v)throw new Error("No pubkey / script has been set!");if(Qs(v).includes("OP_CODESEPARATOR"))throw new Error("This library does not currently support the use of OP_CODESEPARATOR in segwit scripts.");const w=[ta(a),Ca(u,s),$a(u,o,s),na(l),ra(h),ko(v),aa(y),ia(m),Ra(c,o,r),fa(d),g.num(n,4).reverse()];return tn(g.join(w))}function Ca(e,t){if(!0===t)return g.num(0,32);const n=[];for(const{txid:t,vout:r}of e)n.push(na(t)),n.push(ra(r));return tn(g.join(n))}function $a(e,t,n){if(n||1!==t)return g.num(0,32);const r=[];for(const{sequence:t}of e)r.push(ia(t));return tn(g.join(r))}function Ra(e,t,n){const r=[];if(1===t){for(const{value:t,script_pk:n}of e)r.push(aa(t)),r.push(ko(n));return tn(g.join(r))}if(3===t&&(b.ok(void 0!==n),n<e.length)){const{value:t,script_pk:i}=e[n];return r.push(aa(t)),r.push(ko(i)),tn(g.join(r))}return g.num(0,32)}function Ba(e,t=192){return Ua(ko(e),t)}function Ua(e,t=192){return nn("TapLeaf",Za(t),e)}function ja(e,t){return t<e&&([e,t]=[t,e]),nn("TapBranch",e,t)}function Za(e=192){return 254&e}function za(e,t=new Uint8Array){return b.size(e,32),nn("TapTweak",e,t)}function Fa(e,t={}){return nn("TapSighash",La(e,t))}function La(e,t={}){const{script:n,txindex:r,sigflag:i=0,extflag:s=0,key_version:o=0,separator_pos:a=4294967295}=t,u=Ia(e),{version:c,vin:d,vout:f,locktime:l}=u,h=Po(u,t),{txid:p,vout:m,sequence:y,witness:_=[]}=h;if(!Bo.includes(i))throw new Error("Invalid hash type: "+String(i));if(s<0||s>127)throw new Error("Extention flag out of range: "+String(s));let{extension:v}=t;void 0!==n&&(v=Ba(n).hex);const w=!(128&~i),x=Io(_),E=2*(s+(void 0!==v?1:0))+(void 0!==x?1:0),k=[g.num(0,1),g.num(i,1),ta(c),fa(l)];if(!w){const e=d.map(e=>Ao(e));k.push(Da(d),qa(e),Va(e),Ha(d))}if(((3&i)<2||(3&i)>3)&&k.push(Ma(f)),k.push(g.num(E,1)),w){const{value:e,script_pk:t}=Ao(h);k.push(na(p),ra(m),aa(e),la(t),ia(y))}else b.ok("number"==typeof r),k.push(g.num(r,4).reverse());return void 0!==x&&k.push(x),3&~i||(b.ok("number"==typeof r),k.push(Ka(f[r]))),void 0!==v&&k.push(g.bytes(v),g.num(o),g.num(a,4,"le")),g.join(k)}function Da(e){const t=[];for(const{txid:n,vout:r}of e)t.push(na(n)),t.push(ra(r));return en(g.join(t))}function Ha(e){return en(...e.map(e=>ia(e.sequence)))}function qa(e){return en(...e.map(e=>aa(e.value)))}function Va(e){return en(...e.map(e=>la(e.script_pk)))}function Ma(e){const t=[];for(const{value:n,script_pk:r}of e)t.push(aa(n)),t.push(la(r));return en(...t)}function Ka(e){return en(aa(e.value),la(e.script_pk))}var Wa=Object.freeze({__proto__:null,bip143_hash_outputs:Ra,bip143_hash_prevouts:Ca,bip143_hash_sequence:$a,bip341_hash_amounts:qa,bip341_hash_outpoints:Da,bip341_hash_output:Ka,bip341_hash_outputs:Ma,bip341_hash_scripts:Va,bip341_hash_sequence:Ha,get_annex_data:Io,get_prevout:Ao,get_taproot_tx_preimage:La,hash_segwit_tx:Na,hash_taproot_tx:Fa,parse_txinput:Po});function Ga(e){return 0!==e?g.num(e,1).hex:""}var Ya=Object.freeze({__proto__:null,sign_segwit_tx:function(e,t,n){return function(e,t){const n=jt(t),r=yt.sign(n,e).toDERRawBytes();return g.bytes(r)}(e,Na(Ia(t),n)).hex+Ga(n.sigflag??1)},sign_taproot_tx:function(e,t,n){return function(e,t){const n=jt(t);return jt($t.sign(n,e))}(e,Fa(Ia(t),n)).hex+Ga(n.sigflag??0)},verify_tx:function(e,t={}){return console.warn("verify_segwit_tx is not implemented"),!0}});function Qa(e,t,n=[]){const r=[],i=[];if(e.length<1)throw new Error("Tree is empty!");for(let i=0;i<e.length;i++){const s=e[i];if(Array.isArray(s)){let[e,i,o]=Qa(s,t);t=i,r.push(e);for(const e of o)n.push(e)}else{const e=g.bytes(s).hex;r.push(e)}}if(1===r.length)return[r[0],t,n];r.sort(),r.length%2!=0&&r.push(r[r.length-1]);for(let e=0;e<r.length-1;e+=2){const s=ja(r[e],r[e+1]).hex;i.push(s),"string"==typeof t&&(t===r[e]?(n.push(r[e+1]),t=s):t===r[e+1]&&(n.push(r[e]),t=s))}return Qa(i,t,n)}function Xa(e){const t=e.map(e=>g.bytes(e)),n=e.map(e=>g.bytes(e).hex),r=function(e){let t=e.at(-1);return e.length>1&&t instanceof Uint8Array&&80===t[0]?new g(t).hex:null}(t);null!==r&&t.pop();const i=function(e){let t=e.at(-1);return e.length>1&&t instanceof Uint8Array&&t.length>32&&Co.includes(254&t[0])?new g(t).hex:null}(t);null!==i&&t.pop();const s=function(e,t){let n=e.at(0),r=e.at(1),i=e.at(-1);return null!==t&&void 0!==i?"p2tr-ts":2===e.length&&void 0!==n&&void 0!==r&&n.length>=64&&33===r.length?"p2w-pkh":1===e.length&&void 0!==n&&64===n.length?"p2tr-pk":e.length>1&&void 0!==i&&Xs(i)?"p2w-sh":"unknown"}(t,i),o=function(e){return e.startsWith("p2tr")?1:e.startsWith("p2w")?0:null}(s),a=function(e,t){let n;switch(t){case"p2tr-ts":n=e.at(-1);case"p2w-sh":n=e.at(-1)}return void 0!==n?new g(n).hex:null}(t,s);null!==a&&t.pop();return{annex:r,cblock:i,params:t.map(e=>e.hex),script:a,stack:n,type:s,version:o}}function Ja(e){const t=new y(e),n=t.read(1).num,r=t.read(32).hex,[i,s]=eu(n),o=[];for(;t.size>=32;)o.push(t.read(32).hex);if(0!==t.size)throw new Error("Non-empty buffer on control block: "+String(t));return{int_key:r,path:o,parity:s,version:i}}function eu(e){return e%2==0?[e-0,2]:[e-1,3]}function tu(e){b.size(e,33,"invalid pubkey size");const[t]=g.bytes(e);if(2===t)return 0;if(3===t)return 1;throw new Error("Invalid parity bit: "+String(t))}const nu=192;var ru=Object.freeze({__proto__:null,create_taproot:function(e){Zo.parse(e);const{pubkey:t,version:n=nu}=e,r=e.leaves??[],i=void 0!==e.target?g.bytes(e.target).hex:void 0;let s,o=[];if(r.length>0){const[e,t,n]=Qa(r,i);o=n,s=e}else s=i;const a=za(t,s),u=Bt(t,a,"ecdsa"),c=tu(u),d=Ut(u,"bip340"),f=[g.num(n+c),g.bytes(t)];o.length>0&&o.forEach(e=>f.push(e));const l=g.join(f);return{int_key:g.bytes(t).hex,path:o,parity:c,taproot:s??null,cblock:l.hex,tapkey:d.hex,taptweak:a.hex}},encode_leaf_version:Za,encode_tapbranch:ja,encode_tapleaf:Ua,encode_tapscript:Ba,encode_taptweak:za,get_merkle_root:function(e){return Qa(e)[0]},merkleize:Qa,parse_cblock:Ja,parse_cblock_parity:eu,parse_pubkey_parity:tu,parse_taproot_witness:function(e){const{cblock:t,params:n,script:r}=Xa(e);b.exists(t,"cblock is null"),b.exists(r,"script is null");const i=Ja(t);let s=Ba(r,i.version).hex;for(const e of i.path)s=ja(s,e).hex;const o=za(i.int_key,s),a=Bt(i.int_key,o,"bip340");return n.map(e=>g.bytes(e).hex),{cblock:i,params:n,script:r,tapkey:a.hex,tweak:o.hex}},verify_taproot:function(e,t,n){b.size(e,32);const{parity:r,path:i,int_key:s}=Ja(n),o=g.join([r,e]);let a=g.bytes(t).hex;for(const e of i)a=ja(a,e).hex;const u=Bt(s,za(s,a),"ecdsa");return o.hex===u.hex}});var iu=Object.freeze({__proto__:null,assert_witness:function(e){b.ok(Array.isArray(e),"witness must be an array"),b.ok(e.every(e=>g.is_bytes(e)),"witness must be an array of strings or bytes")},get_witness_size:function(e){const t=e.map(e=>g.bytes(e)).reduce((e,t)=>e+t.length,0);return{total:t,vsize:Math.ceil(1+t/4)}},parse_witness:Xa});return e.ADDRESS=xs,e.CONST=Uo,e.META=Eo,e.SCHEMA=Wo,e.SCRIPT=So,e.SIGHASH=Wa,e.SIGNER=Ya,e.TAPROOT=ru,e.TX=Ta,e.WITNESS=iu,e}({});
|
|
15
15
|
//# sourceMappingURL=script.js.map
|